==> Synchronizing chroot copy [/home/alhp/workspace/chroot/root] -> [build_847b286b-6574-49db-af41-9a5802c645c9]...done ==> Making package: curl 8.17.0-2.1 (Thu Nov 13 19:57:56 2025) ==> Retrieving sources... -> Cloning curl git repo... Cloning into bare repository '/home/alhp/workspace/build/x86-64-v4/curl-8.17.0-2/curl'... ==> Validating source files with sha512sums... curl ... Passed ==> Verifying source file signatures with gpg... curl git repo ... Passed ==> Making package: curl 8.17.0-2.1 (Thu Nov 13 18:58:37 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.194-1 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.2-2 29.25 MiB extra/patchelf 0.18.0-3 0.24 MiB extra/valgrind 3.25.1-3 74.45 MiB Total Installed Size: 105.45 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-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.194: 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 970. Creating user 'git' (git daemon user) with UID 970 and GID 970. (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()... f12a81de4f curl: fix progress meter in parallel mode Auto-merging src/tool_operate.c f55974c139 vtls: fix CURLOPT_CAPATH use Auto-merging lib/vtls/vtls.c Auto-merging tests/http/test_17_ssl_use.py 79d3e1d7d4 wcurl: import v2025.11.09 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:455: installing './config.guess' configure.ac:455: installing './config.sub' configure.ac:128: installing './install-sh' configure.ac:131: 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 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.17.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 for code coverage support... 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 for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found configure: GSS-API MIT Kerberos version detected: 1.21.3 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 DES support in OpenSSL... yes checking for SRP support in OpenSSL... yes checking for QUIC support and OpenSSL >= 3.3... yes checking whether to enable Apple OS native certificate validation... no 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 pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_agent_get_identity_path 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.17.0 SSL: enabled (OpenSSL v3+) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) 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 native: no 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-altsvc.lo CC libcurl_la-amigaos.lo CC libcurl_la-asyn-base.lo CC libcurl_la-asyn-ares.lo CC libcurl_la-asyn-thrdd.lo CC libcurl_la-cf-h1-proxy.lo CC libcurl_la-bufq.lo CC libcurl_la-bufref.lo CC libcurl_la-cf-haproxy.lo CC libcurl_la-cf-h2-proxy.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_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_fopen.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-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-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-multi_ntfy.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_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_fopen.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-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-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-multi_ntfy.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-cram.lo CC vauth/libcurlu_la-cleartext.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-apple.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 curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-fopen.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-strerr.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-apple.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 curlx/libcurl_la-base64.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-fopen.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-strerr.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 runtests.1 RENDER testcurl.1 RENDER curl-config.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_APPCONNECT_TIME.3 RENDER CURLINFO_ACTIVESOCKET.3 RENDER CURLINFO_CAINFO.3 RENDER CURLINFO_APPCONNECT_TIME_T.3 RENDER CURLINFO_CAPATH.3 RENDER CURLINFO_CONDITION_UNMET.3 RENDER CURLINFO_CERTINFO.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_NUM_CONNECTS.3 RENDER CURLINFO_NAMELOOKUP_TIME_T.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_IP.3 RENDER CURLINFO_PRIMARY_PORT.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_T.3 RENDER CURLINFO_SPEED_UPLOAD.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_XFER_ID.3 RENDER CURLINFO_USED_PROXY.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_NOTIFYDATA.3 RENDER CURLMOPT_NOTIFYFUNCTION.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_HEADERDATA.3 RENDER CURLOPT_HEADER.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_REQUEST_TARGET.3 RENDER CURLOPT_RESOLVE.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_KEYDATA.3 RENDER CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256.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_KEEPCNT.3 RENDER CURLOPT_TCP_NODELAY.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_TLS13_CIPHERS.3 RENDER CURLOPT_TLSAUTH_PASSWORD.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_header.3 RENDER curl_easy_init.3 RENDER curl_easy_getinfo.3 RENDER curl_easy_nextheader.3 RENDER curl_easy_option_by_id.3 RENDER curl_easy_option_next.3 RENDER curl_easy_option_by_name.3 RENDER curl_easy_pause.3 RENDER curl_easy_perform.3 RENDER curl_easy_recv.3 RENDER curl_easy_send.3 RENDER curl_easy_reset.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_escape.3 RENDER curl_formadd.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_name.3 RENDER curl_mime_subparts.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_notify_disable.3 RENDER curl_multi_notify_enable.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_setopt.3 RENDER curl_share_init.3 RENDER curl_share_strerror.3 RENDER curl_slist_append.3 RENDER curl_slist_free_all.3 RENDER curl_strequal.3 RENDER curl_unescape.3 RENDER curl_strnequal.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_start_frame.3 RENDER curl_ws_send.3 RENDER libcurl-easy.3 RENDER libcurl-env-dbg.3 RENDER libcurl-env.3 RENDER libcurl-errors.3 RENDER libcurl-multi.3 RENDER libcurl-share.3 RENDER libcurl-security.3 RENDER libcurl-symbols.md RENDER libcurl-thread.3 RENDER libcurl-tutorial.3 RENDER libcurl-url.3 RENDER libcurl.3 RENDER libcurl-ws.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_see.o CC curl-tool_cb_rea.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-dynbuf.o CC ../lib/curlx/curl-fopen.o CC ../lib/curlx/curl-multibyte.o CC ../lib/curlx/curl-nonblock.o CC ../lib/curlx/curl-strerr.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 ../lib/curlx/curl-winapi.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-dynbuf.lo CC ../lib/curlx/libcurltool_la-fopen.lo CC ../lib/curlx/libcurltool_la-multibyte.lo CC ../lib/curlx/libcurltool_la-nonblock.lo CC ../lib/curlx/libcurltool_la-strerr.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 ../lib/curlx/libcurltool_la-winapi.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 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.17.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 for code coverage support... 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 for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found configure: GSS-API MIT Kerberos version detected: 1.21.3 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 DES support in OpenSSL... yes checking for SRP support in OpenSSL... yes checking for QUIC support and OpenSSL >= 3.3... yes checking whether to enable Apple OS native certificate validation... no 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 pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_agent_get_identity_path 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.17.0 SSL: enabled (OpenSSL v3+) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) 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 native: no 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-conncache.lo CC libcurl_la-connect.lo CC libcurl_la-cfilters.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_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_fopen.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-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-ldap.lo CC libcurl_la-llist.lo CC libcurl_la-md4.lo CC libcurl_la-macos.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-multi_ntfy.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_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_fopen.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-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-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-multi_ntfy.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-apple.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 curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-fopen.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-strerr.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-apple.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 curlx/libcurl_la-base64.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-fopen.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-strerr.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-apple.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: 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 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.17.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 for code coverage support... 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 for pkg-config... (cached) /usr/bin/pkg-config checking for mit-krb5-gssapi options with pkg-config... found configure: GSS-API MIT Kerberos version detected: 1.21.3 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 checking whether to enable Apple OS native certificate validation... no 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 pkg-config... (cached) /usr/bin/pkg-config checking for libssh2 options with pkg-config... found checking for libssh2_agent_get_identity_path 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.17.0 SSL: enabled (GnuTLS) SSH: enabled (libssh2) zlib: enabled brotli: enabled (libbrotlidec) zstd: enabled (libzstd) GSS-API: enabled (MIT Kerberos) GSASL: no (--with-gsasl) 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 native: no 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-asyn-ares.lo CC libcurl_la-amigaos.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_endian.lo CC libcurl_la-curl_fnmatch.lo CC libcurl_la-curl_fopen.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-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-hostip6.lo CC libcurl_la-hostip4.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-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-multi_ntfy.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_endian.lo CC libcurlu_la-curl_fnmatch.lo CC libcurlu_la-curl_fopen.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-formdata.lo CC libcurlu_la-ftp.lo CC libcurlu_la-ftplistparser.lo CC libcurlu_la-getenv.lo CC libcurlu_la-gopher.lo CC libcurlu_la-getinfo.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-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-multi_ntfy.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-apple.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 curlx/libcurlu_la-dynbuf.lo CC curlx/libcurlu_la-fopen.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-strerr.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-apple.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 curlx/libcurl_la-base64.lo CC curlx/libcurl_la-dynbuf.lo CC curlx/libcurl_la-fopen.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-strerr.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-apple.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: 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.6.0 1 Oct 2025 (Library: OpenSSL 3.6.0 1 Oct 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 getpart.c util.c ../../lib/curlx/base64.c ../../lib/curlx/fopen.c ../../lib/curlx/inet_ntop.c ../../lib/curlx/inet_pton.c ../../lib/curlx/multibyte.c ../../lib/curlx/nonblock.c ../../lib/curlx/strerr.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/curl_threads.c ../../lib/curlx/fopen.c ../../lib/curlx/multibyte.c ../../lib/curlx/strerr.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 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 lib766.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 lib1582.c lib1591.c lib1592.c lib1593.c lib1594.c lib1597.c lib1598.c lib1599.c lib1662.c lib1900.c lib1901.c lib1902.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.17.0 (x86_64-pc-linux-gnu) * libcurl/8.17.0 OpenSSL/3.6.0 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.68.0 nghttp3/1.12.0 mit-krb5/1.21.3 * 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-915506 6.12.49-1-lts #1 SMP PREEMPT_DYNAMIC Thu, 25 Sep 2025 09:57:28 +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: 238128 * 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 Warning: test776 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 74416 starting Runner 74415 starting Runner 74414 starting Runner 74413 starting Runner 74412 starting Runner 74411 starting Runner 74410 starting Runner 74409 starting Runner 74408 starting Runner 74407 starting Runner 74406 starting Runner 74405 starting Runner 74404 starting Runner 74403 starting Runner 74402 starting Runner 74401 starting Runner 74400 starting Runner 74399 starting Runner 74398 starting Runner 74396 starting Runner 74397 starting Runner 74395 starting Runner 74394 starting Runner 74393 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/12/valgrind13 ../src/curl -q --output log/12/curl13.out --include --trace-ascii log/12/trace13 --trace-time http://127.0.0.1:35077/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/12/valgrind25 ../src/curl -q --output log/12/curl25.out --include --trace-ascii log/12/trace25 --trace-time http://127.0.0.1:35077/want/25 -L --max-redirs 5 > log/12/stdout25 2> log/12/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/12/valgrind26 ../src/curl -q --output log/12/curl26.out --include --trace-ascii log/12/trace26 --trace-time http://127.0.0.1:35077/want/26 -o - -o - > log/12/stdout26 2> log/12/stderr26 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 74393) running test 24 in state 4 Runner 2 (id 74394) running test 23 in state 4 Runner 3 (id 74395) running test 22 in state 4 Runner 4 (id 74396) running test 21 in state 4 Runner 5 (id 74397) running test 20 in state 4 Runner 6 (id 74398) running test 19 in state 4 Runner 7 (id 74399) running test 18 in state 4 Runner 8 (id 74400) running test 17 in state 4 Runner 9 (id 74401) running test 16 in state 4 Runner 10 (id 74402) running test 15 in state 4 Runner 11 (id 74403) running test 14 in state 4 Runner 12 (id 74404) running test 13 in state 4 Runner 13 (id 74405) running test 12 in state 4 Runner 14 (id 74406) running test 11 in state 4 Runner 15 (id 74407) running test 10 in state 4 Runner 16 (id 74408) running test 9 in state 4 Runner 17 (id 74409) running test 8 in state 4 Runner 18 (id 74410) running test 7 in state 4 Runner 19 (id 74411) running test 6 in state 4 Runner 20 (id 74412) running test 5 in state 4 Runner 21 (id 74413) running test 4 in state 4 Runner 22 (id 74414) running test 3 in state 4 Runner 23 (id 74415) running test 2 in state 4 Runner 24 (id 74416) running test 1 in state 4 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 74393) running test 24 in state 4 Runner 2 (id 74394) running test 23 in state 4 Runner 3 (id 74395) running test 22 in state 4 Runner 4 (id 74396) running test 21 in state 4 Runner 5 (id 74397) running test 20 in state 4 Runner 6 (id 74398) running test 19 in state 4 Runner 7 (id 74399) running test 18 in state 4 Runner 8 (id 74400) running test 17 in state 4 Runner 9 (id 74401) running test 16 in state 4 Runner 10 (id 74402) running test 15 in state 4 Runner 11 (id 74403) running test 14 in state 4 Runner 12 (id 74404) running test 13 in state 4 Runner 13 (id 74405) running test 12 in state 4 Runner 14 (id 74406) running test 11 in state 4 Runner 15 (id 74407) running test 10 in state 4 Runner 16 (id 74408) running test 9 in state 4 Runner 17 (id 74409) running test 8 in state 4 Runner 18 (id 74410) running test 7 in state 4 Runner 19 (id 74411) running test 6 in state 4 Runner 20 (id 74412) running test 5 in state 4 Runner 21 (id 74413) running test 4 in state 4 Runner 22 (id 74414) running test 3 in state 4 Runner 23 (id 74415) running test 2 in state 4 Runner 24 (id 74416) 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/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 74527 port 35077 * pid http => 74527 74527 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:35077/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:35077/want/13 -X DELETE > log/12/stdout13 2> log/12/stderr13 === End of file commands.log === Start of file http_server.log 18:59:53.363298 Running HTTP IPv4 version on port 35077 18:59:53.363385 Wrote pid 74527 to log/12/server/http_server.pid 18:59:53.363412 Wrote port 35077 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 ==75160== ==75160== Process terminating with default action of signal 4 (SIGILL) ==75160== Illegal opcode at address 0x4013E00 ==75160== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75160== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75160== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75160== by 0x40037A4: main (tool_main.c:199) === End of file valgrind13 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/12/valgrind25 ../src/curl -q --output log/12/curl25.out --include --trace-ascii log/12/trace25 --trace-time http://127.0.0.1:35077/want/25 -L --max-redirs 5 > log/12/stdout25 2> log/12/stderr25 25: 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 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/12/valgrind25 ../src/curl -q --output log/12/curl25.out --include --trace-ascii log/12/trace25 --trace-time http://127.0.0.1:35077/want/25 -L --max-redirs 5 > log/12/stdout25 2> log/12/stderr25 === End of file commands.log === Start of file http_server.log 19:00:16.669107 ====> Client connect 19:00:16.669131 accept_connection 3 returned 4 19:00:16.669143 accept_connection 3 returned 0 19:00:16.669153 Read 93 bytes 19:00:16.669163 Process 93 bytes request 19:00:16.669175 Got request: GET /verifiedserver HTTP/1.1 19:00:16.669182 Are-we-friendly question received 19:00:16.669201 Wrote request (93 bytes) input to log/12/server.input 19:00:16.669215 Identifying ourselves as friends 19:00:16.669258 Response sent (56 bytes) and written to log/12/server.response 19:00:16.669268 special request received, no persistency 19:00:16.669274 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35077... * Established connection to 127.0.0.1 (127.0.0.1 port 35077) from 127.0.0.1 port 46478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35077 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74527 === 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: 74527 === End of file server.response === Start of file valgrind25 ==75746== ==75746== Process terminating with default action of signal 4 (SIGILL) ==75746== Illegal opcode at address 0x4013E00 ==75746== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75746== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75746== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75746== by 0x40037A4: main (tool_main.c:199) === End of file valgrind25 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/12/valgrind26 ../src/curl -q --output log/12/curl26.out --include --trace-ascii log/12/trace26 --trace-time http://127.0.0.1:35077/want/26 -o - -o - > log/12/stdout26 2> log/12/stderr26 26: 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 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/valgrind11 ../src/curl -q --output log/14/curl11.out --include --trace-ascii log/14/trace11 --trace-time http://127.0.0.1:36759/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/12/valgrind27 ../src/curl -q --output log/12/curl27.out --include --trace-ascii log/12/trace27 --trace-time "http://127.0.0.1:35077/want/{27,27,27}" -b none > log/12/stdout27 2> log/12/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/2/valgrind23 ../src/curl -q --output log/2/curl23.out --include --trace-ascii log/2/trace23 --trace-time htfp://127.0.0.1:44325/none.htfml > log/2/stdout23 2> log/2/stderr23 he log/12/ 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/12/valgrind26 ../src/curl -q --output log/12/curl26.out --include --trace-ascii log/12/trace26 --trace-time http://127.0.0.1:35077/want/26 -o - -o - > log/12/stdout26 2> log/12/stderr26 === End of file commands.log === Start of file http_server.log 19:00:17.325667 ====> Client connect 19:00:17.325691 accept_connection 3 returned 4 19:00:17.325703 accept_connection 3 returned 0 19:00:17.325712 Read 93 bytes 19:00:17.325720 Process 93 bytes request 19:00:17.325729 Got request: GET /verifiedserver HTTP/1.1 19:00:17.325736 Are-we-friendly question received 19:00:17.325754 Wrote request (93 bytes) input to log/12/server.input 19:00:17.325765 Identifying ourselves as friends 19:00:17.325801 Response sent (56 bytes) and written to log/12/server.response 19:00:17.325809 special request received, no persistency 19:00:17.325815 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35077... * Established connection to 127.0.0.1 (127.0.0.1 port 35077) from 127.0.0.1 port 46482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35077 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74527 === 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: 74527 === End of file server.response === Start of file valgrind26 ==75813== ==75813== Process terminating with default action of signal 4 (SIGILL) ==75813== Illegal opcode at address 0x4013E00 ==75813== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75813== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75813== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75813== by 0x40037A4: 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/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 74428 port 36759 * pid http => 74428 74428 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:36759/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:36759/want/11 -L > log/14/stdout11 2> log/14/stderr11 === End of file commands.log === Start of file http_server.log 18:59:53.161924 Running HTTP IPv4 version on port 36759 18:59:53.161992 Wrote pid 74428 to log/14/server/http_server.pid 18:59:53.162015 Wrote port 36759 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 ==75059== ==75059== Process terminating with default action of signal 4 (SIGILL) ==75059== Illegal opcode at address 0x4013E00 ==75059== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75059== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75059== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75059== by 0x40037A4: main (tool_main.c:199) === End of file valgrind11 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/12/valgrind27 ../src/curl -q --output log/12/curl27.out --include --trace-ascii log/12/trace27 --trace-time "http://127.0.0.1:35077/want/{27,27,27}" -b none > log/12/stdout27 2> log/12/stderr27 27: 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 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/12/valgrind27 ../src/curl -q --output log/12/curl27.out --include --trace-ascii log/12/trace27 --trace-time "http://127.0.0.1:35077/want/{27,27,27}" -b none > log/12/stdout27 2> log/12/stderr27 === End of file commands.log === Start of file http_server.log 19:00:17.955430 ====> Client connect 19:00:17.955455 accept_connection 3 returned 4 19:00:17.955467 accept_connection 3 returned 0 19:00:17.955477 Read 93 bytes 19:00:17.955485 Process 93 bytes request 19:00:17.955494 Got request: GET /verifiedserver HTTP/1.1 19:00:17.955501 Are-we-friendly question received 19:00:17.955518 Wrote request (93 bytes) input to log/12/server.input 19:00:17.955529 Identifying ourselves as friends 19:00:17.955566 Response sent (56 bytes) and written to log/12/server.response 19:00:17.955573 special request received, no persistency 19:00:17.955579 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35077... * Established connection to 127.0.0.1 (127.0.0.1 port 35077) from 127.0.0.1 port 46498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35077 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74527 === 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: 74527 === End of file server.response === Start of file valgrind27 ==75882== ==75882== Process terminating with default action of signal 4 (SIGILL) ==75882== Illegal opcode at address 0x4013E00 ==75882== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75882== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75882== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75882== by 0x40037A4: 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/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 74946 port 44325 * pid http => 74946 74946 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:44325/none.htfml > log/2/stdout23 2> log/2/stderr23 curl returned 132, when expecting 1 23: exit FAILED == Contents 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/14/valgrind28 ../src/curl -q --output log/14/curl28.out --include --trace-ascii log/14/trace28 --trace-time http://127.0.0.1:36759/want/28 -L > log/14/stdout28 2> log/14/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/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:35243/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/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/12/valgrind29 ../src/curl -q --output log/12/curl29.out --include --trace-ascii log/12/trace29 --trace-time http://127.0.0.1:35077/want/29 -m 2 > log/12/stdout29 2> log/12/stderr29 RUN: Process with pid 74527 signalled to die RUN: Process with pid 74527 gracefully died s 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:44325/none.htfml > log/2/stdout23 2> log/2/stderr23 === End of file commands.log === Start of file http_server.log 18:59:54.970111 Running HTTP IPv4 version on port 44325 18:59:54.970171 Wrote pid 74946 to log/2/server/http_server.pid 18:59:54.970194 Wrote port 44325 to log/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 ==75556== ==75556== Process terminating with default action of signal 4 (SIGILL) ==75556== Illegal opcode at address 0x4013E00 ==75556== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75556== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75556== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75556== by 0x40037A4: main (tool_main.c:199) === End of file valgrind23 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/14/valgrind28 ../src/curl -q --output log/14/curl28.out --include --trace-ascii log/14/trace28 --trace-time http://127.0.0.1:36759/want/28 -L > log/14/stdout28 2> log/14/stderr28 28: 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 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/14/valgrind28 ../src/curl -q --output log/14/curl28.out --include --trace-ascii log/14/trace28 --trace-time http://127.0.0.1:36759/want/28 -L > log/14/stdout28 2> log/14/stderr28 === End of file commands.log === Start of file http_server.log 19:00:18.135494 ====> Client connect 19:00:18.135520 accept_connection 3 returned 4 19:00:18.135545 accept_connection 3 returned 0 19:00:18.135561 Read 93 bytes 19:00:18.135573 Process 93 bytes request 19:00:18.135585 Got request: GET /verifiedserver HTTP/1.1 19:00:18.135592 Are-we-friendly question received 19:00:18.135617 Wrote request (93 bytes) input to log/14/server.input 19:00:18.135631 Identifying ourselves as friends 19:00:18.135678 Response sent (56 bytes) and written to log/14/server.response 19:00:18.135688 special request received, no persistency 19:00:18.135694 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 43974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind28 ==75946== ==75946== Process terminating with default action of signal 4 (SIGILL) ==75946== Illegal opcode at address 0x4013E00 ==75946== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75946== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75946== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75946== by 0x40037A4: 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/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 74418 port 35243 * pid http => 74418 74418 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:35243/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:35243/2 > log/23/stdout2 2> log/23/stderr2 === End of file commands.log === Start of file http_server.log 18:59:52.255836 Running HTTP IPv4 version on port 35243 18:59:52.255890 Wrote pid 74418 to log/23/server/http_server.pid 18:59:52.255912 Wrote port 35243 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 ==74478== ==74478== Process terminating with default action of signal 4 (SIGILL) ==74478== Illegal opcode at address 0x4013E00 ==74478== at 0x4013E00: getparameter (tool_getparam.c:2846) ==74478== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74478== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==74478== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2 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 ==74796== ==74796== Process terminating with default action of signal 4 (SIGILL) ==74796== Illegal opcode at address 0x4013E00 ==74796== at 0x4013E00: getparameter (tool_getparam.c:2846) ==74796== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74796== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==74796== by 0x40037A4: main (tool_main.c:199) === End of file valgrind19 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/12/valgrind29 ../src/curl -q --output log/12/curl29.out --include --trace-ascii log/12/trace29 --trace-time http://127.0.0.1:35077/want/29 -m 2 > log/12/stdout29 2> log/12/stderr29 29: protocol FAILED! There was no content at all in the file log/12/server.input. Server glitch? Total curl failure? Returned: 132 == Contents 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/2/valgrind30 ../src/curl -q --output log/2/curl30.out --include --trace-ascii log/2/trace30 --trace-time http://127.0.0.1:44325/want/30 > log/2/stdout30 2> log/2/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/14/valgrind31 ../src/curl -q --output log/14/curl31.out --include --trace-ascii log/14/trace31 --trace-time http://test31.curl:36759/we/want/31 -b none -c log/14/jar31.txt --resolve test31.curl:36759:127.0.0.1 > log/14/stdout31 2> log/14/stderr31 s in the log/12/ 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/12/valgrind29 ../src/curl -q --output log/12/curl29.out --include --trace-ascii log/12/trace29 --trace-time http://127.0.0.1:35077/want/29 -m 2 > log/12/stdout29 2> log/12/stderr29 === End of file commands.log === Start of file http_server.log 19:00:18.601496 ====> Client connect 19:00:18.601521 accept_connection 3 returned 4 19:00:18.601533 accept_connection 3 returned 0 19:00:18.601543 Read 93 bytes 19:00:18.601551 Process 93 bytes request 19:00:18.601560 Got request: GET /verifiedserver HTTP/1.1 19:00:18.601567 Are-we-friendly question received 19:00:18.601584 Wrote request (93 bytes) input to log/12/server.input 19:00:18.601596 Identifying ourselves as friends 19:00:18.601633 Response sent (56 bytes) and written to log/12/server.response 19:00:18.601641 special request received, no persistency 19:00:18.601647 ====> Client disconnect 0 exit_signal_handler: called 19:00:19.206996 signalled to die 19:00:19.207093 ========> IPv4 sws (port 35077 pid: 74527) exits with signal (15) 19:00:19.207109 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35077... * Established connection to 127.0.0.1 (127.0.0.1 port 35077) from 127.0.0.1 port 46506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35077 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35077 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74527 === 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: 74527 === End of file server.response === Start of file valgrind29 ==76017== ==76017== Process terminating with default action of signal 4 (SIGILL) ==76017== Illegal opcode at address 0x4013E00 ==76017== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76017== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76017== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76017== by 0x40037A4: 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/2/valgrind30 ../src/curl -q --output log/2/curl30.out --include --trace-ascii log/2/trace30 --trace-time http://127.0.0.1:44325/want/30 > log/2/stdout30 2> log/2/stderr30 30: 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 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/2/valgrind30 ../src/curl -q --output log/2/curl30.out --include --trace-ascii log/2/trace30 --trace-time http://127.0.0.1:44325/want/30 > log/2/stdout30 2> log/2/stderr30 === End of file commands.log === Start of file http_server.log 19:00:19.705553 ====> Client connect 19:00:19.705576 accept_connection 3 returned 4 19:00:19.705587 accept_connection 3 returned 0 19:00:19.705597 Read 93 bytes 19:00:19.705605 Process 93 bytes request 19:00:19.705617 Got request: GET /verifiedserver HTTP/1.1 19:00:19.705624 Are-we-friendly question received 19:00:19.705641 Wrote request (93 bytes) input to log/2/server.input 19:00:19.705655 Identifying ourselves as friends 19:00:19.705703 Response sent (56 bytes) and written to log/2/server.response 19:00:19.705713 special request received, no persistency 19:00:19.705720 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 52804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind30 ==76082== ==76082== Process terminating with default action of signal 4 (SIGILL) ==76082== Illegal opcode at address 0x4013E00 ==76082== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76082== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76082== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76082== by 0x40037A4: main (tool_main.c:199) === End of file valgrind30 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/14/valgrind31 ../src/curl -q --output log/14/curl31.out --include --trace-ascii log/14/trace31 --trace-time http://test31.curl:36759/we/want/31 -b none -c log/14/jar31.txt --resolve test31.curl:36759:127.0.0.1 > log/14/stdout31 2> log/14/stderr31 31: 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 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/14/valgrind31 ../src/curl -q --output log/14/curl31.out --include --trace-ascii log/14/trace31 --trace-time http://test31.curl:36759/we/want/31 -b none -c log/14/jar31.txt --resolve test31.curl:36759:127.0.0.1 > log/14/stdout31 2> log/14/stderr31 === End of file commands.log === Start of file http_server.log 19:00:18.732844 ====> Client connect 19:00:18.732883 accept_connection 3 returned 4 19:00:18.732904 accept_connection 3 returned 0 19:00:18.732921 Read 93 bytes 19:00:18.732933 Process 93 bytes request 19:00:18.732948 Got request: GET /verifiedserver HTTP/1.1 19:00:18.732960 Are-we-friendly question received 19:00:18.732989 Wrote request (93 bytes) input to log/14/server.input 19:00:18.733008 Identifying ourselves as friends 19:00:18.733074 Response sent (56 bytes) and written to log/14/server.response 19:00:18.733087 special request received, no persistency 19:00:18.733098 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 43986 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind31 ==76143== ==76143== Process terminating with default action of signal 4 (SIGILL) ==76143== Illegal opcode at address 0x4013E00 ==76143== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76143== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:302CMD (33792): ../libtool --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/valgrind32 ../src/curl -q --output log/23/curl32.out --include --trace-ascii log/23/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:35243/32 -G > log/23/stdout32 2> log/23/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/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/2/valgrind35 ../src/curl -q --output log/2/curl35.out --include --trace-ascii log/2/trace35 --trace-time http://127.0.0.1:44325/we/want/35 --data-binary @log/2/test35.txt > log/2/stdout35 2> log/2/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/14/valgrind36 ../src/curl -q --output log/14/curl36.out --include --trace-ascii log/14/trace36 --trace-time http://127.0.0.1:36759/36 > log/14/stdout36 2> log/14/stderr36 9) ==76143== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76143== by 0x40037A4: main (tool_main.c:199) === End of file valgrind31 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/23/valgrind32 ../src/curl -q --output log/23/curl32.out --include --trace-ascii log/23/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:35243/32 -G > log/23/stdout32 2> log/23/stderr32 32: 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 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/23/valgrind32 ../src/curl -q --output log/23/curl32.out --include --trace-ascii log/23/trace32 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:35243/32 -G > log/23/stdout32 2> log/23/stderr32 === End of file commands.log === Start of file http_server.log 19:00:18.878739 ====> Client connect 19:00:18.878784 accept_connection 3 returned 4 19:00:18.878800 accept_connection 3 returned 0 19:00:18.878811 Read 93 bytes 19:00:18.878822 Process 93 bytes request 19:00:18.878835 Got request: GET /verifiedserver HTTP/1.1 19:00:18.878842 Are-we-friendly question received 19:00:18.878863 Wrote request (93 bytes) input to log/23/server.input 19:00:18.878878 Identifying ourselves as friends 19:00:18.878923 Response sent (56 bytes) and written to log/23/server.response 19:00:18.878933 special request received, no persistency 19:00:18.878940 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 59568 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind32 ==76211== ==76211== Process terminating with default action of signal 4 (SIGILL) ==76211== Illegal opcode at address 0x4013E00 ==76211== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76211== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76211== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76211== by 0x40037A4: main (tool_main.c:199) === End of file valgrind32 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 ==74804== ==74804== Process terminating with default action of signal 4 (SIGILL) ==74804== Illegal opcode at address 0x4013E00 ==74804== at 0x4013E00: getparameter (tool_getparam.c:2846) ==74804== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74804== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==74804== by 0x40037A4: main (tool_main.c:199) === End of file valgrind20 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/2/valgrind35 ../src/curl -q --output log/2/curl35.out --include --trace-ascii log/2/trace35 --trace-time http://127.0.0.1:44325/we/want/35 --data-binary @log/2/test35.txt > log/2/stdout35 2> log/2/stderr35 35: 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 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/2/valgrind35 ../src/curl -q --output log/2/curl35.out --include --trace-ascii log/2/trace35 --trace-time http://127.0.0.1:44325/we/want/35 --data-binary @log/2/test35.txt > log/2/stdout35 2> log/2/stderr35 === End of file commands.log === Start of file http_server.log 19:00:20.355750 ====> Client connect 19:00:20.355772 accept_connection 3 returned 4 19:00:20.355783 accept_connection 3 returned 0 19:00:20.355794 Read 93 bytes 19:00:20.355801 Process 93 bytes request 19:00:20.355811 Got request: GET /verifiedserver HTTP/1.1 19:00:20.355818 Are-we-friendly question received 19:00:20.355835 Wrote request (93 bytes) input to log/2/server.input 19:00:20.355846 Identifying ourselves as friends 19:00:20.355883 Response sent (56 bytes) and written to log/2/server.response 19:00:20.355890 special request received, no persistency 19:00:20.355897 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 52812 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === 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 ==76304== ==76304== Process terminating with default action of signal 4 (SIGILL) ==76304== Illegal opcode at address 0x4013E00 ==76304== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76304== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76304== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76304== by 0x40037A4: main (tool_main.c:199) === End of file valgrind35 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/14/valgrind36 ../src/curl -q --output log/14/curl36.out --include --trace-ascii log/14/trace36 --trace-time http://127.0.0.1:36759/36 > log/14/stdout36 2> log/14/stderr36 36: 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 36 === 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/23/valgrind37 ../src/curl -q --output log/23/curl37.out --include --trace-ascii log/23/trace37 --trace-time http://127.0.0.1:35243/37 > log/23/stdout37 2> log/23/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/13/valgrind12 ../src/curl -q --output log/13/curl12.out --include --trace-ascii log/13/trace12 --trace-time http://127.0.0.1:35301/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 CMD (33792): ../libtool --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:40515/we/want/8 -b log/17/heads8.txt > log/17/stdout8 2> log/17/stderr8 l/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind36 ../src/curl -q --output log/14/curl36.out --include --trace-ascii log/14/trace36 --trace-time http://127.0.0.1:36759/36 > log/14/stdout36 2> log/14/stderr36 === End of file commands.log === Start of file http_server.log 19:00:19.359461 ====> Client connect 19:00:19.359484 accept_connection 3 returned 4 19:00:19.359495 accept_connection 3 returned 0 19:00:19.359505 Read 93 bytes 19:00:19.359512 Process 93 bytes request 19:00:19.359520 Got request: GET /verifiedserver HTTP/1.1 19:00:19.359527 Are-we-friendly question received 19:00:19.359544 Wrote request (93 bytes) input to log/14/server.input 19:00:19.359556 Identifying ourselves as friends 19:00:19.359593 Response sent (56 bytes) and written to log/14/server.response 19:00:19.359600 special request received, no persistency 19:00:19.359608 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 43994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === End of file http_verify.out === Start of file server.cmd Testnum 36 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74428 === End of file server.response === Start of file valgrind36 ==76314== ==76314== Process terminating with default action of signal 4 (SIGILL) ==76314== Illegal opcode at address 0x4013E00 ==76314== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76314== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76314== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76314== by 0x40037A4: main (tool_main.c:199) === End of file valgrind36 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/23/valgrind37 ../src/curl -q --output log/23/curl37.out --include --trace-ascii log/23/trace37 --trace-time http://127.0.0.1:35243/37 > log/23/stdout37 2> log/23/stderr37 37: 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 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/23/valgrind37 ../src/curl -q --output log/23/curl37.out --include --trace-ascii log/23/trace37 --trace-time http://127.0.0.1:35243/37 > log/23/stdout37 2> log/23/stderr37 === End of file commands.log === Start of file http_server.log 19:00:19.541933 ====> Client connect 19:00:19.541955 accept_connection 3 returned 4 19:00:19.541966 accept_connection 3 returned 0 19:00:19.541976 Read 93 bytes 19:00:19.541984 Process 93 bytes request 19:00:19.541993 Got request: GET /verifiedserver HTTP/1.1 19:00:19.542000 Are-we-friendly question received 19:00:19.542018 Wrote request (93 bytes) input to log/23/server.input 19:00:19.542030 Identifying ourselves as friends 19:00:19.542065 Response sent (56 bytes) and written to log/23/server.response 19:00:19.542073 special request received, no persistency 19:00:19.542080 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 59580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind37 ==76417== ==76417== Process terminating with default action of signal 4 (SIGILL) ==76417== Illegal opcode at address 0x4013E00 ==76417== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76417== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76417== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76417== by 0x40037A4: main (tool_main.c:199) === End of file valgrind37 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 74477 port 35301 * pid http => 74477 74477 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:35301/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:35301/want/12 -r 100-200 > log/13/stdout12 2> log/13/stderr12 === End of file commands.log === Start of file http_server.log 18:59:53.264841 Running HTTP IPv4 version on port 35301 18:59:53.264926 Wrote pid 74477 to log/13/server/http_server.pid 18:59:53.264964 Wrote port 35301 to log/13/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 12 === End of file server.cmd === Start of file valgrind12 ==75110== ==75110== Process terminating with default action of signal 4 (SIGILL) ==75110== Illegal opcode at address 0x4013E00 ==75110== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75110== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75110== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75110== by 0x40037A4: main (tool_main.c:199) === End of file valgrind12 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 74424 port 40515 * pid http => 74424 74424 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:40515/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 CMD (33792): ../libtool --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:37879/want/15 --write-out "%{url_effective} %{http_code} %{size_download}\n" > log/10/stdout15 2> log/10/stderr15 == 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:40515/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 18:59:53.862047 Running HTTP IPv4 version on port 40515 18:59:53.862119 Wrote pid 74424 to log/17/server/http_server.pid 18:59:53.862141 Wrote port 40515 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 ==74806== ==74806== Process terminating with default action of signal 4 (SIGILL) ==74806== Illegal opcode at address 0x4013E00 ==74806== at 0x4013E00: getparameter (tool_getparam.c:2846) ==74806== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74806== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==74806== by 0x40037A4: main (tool_main.c:199) === End of file valgrind8 CMD (33792): ../libtool --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/valgrind40 ../src/curl -q --output log/14/curl40.out --include --trace-ascii log/14/trace40 --trace-time http://127.0.0.1:36759/we/are/all/twits/40 -L > log/14/stdout40 2> log/14/stderr40 CMD (33792): ../libtool --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/valgrind39 ../src/curl -q --output log/2/curl39.out --include --trace-ascii log/2/trace39 --trace-time http://127.0.0.1:44325/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/2/stdout39 2> log/2/stderr39 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 74578 port 37879 * pid http => 74578 74578 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:37879/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-11-13 19:00:20.666057508 +0000 +++ log/10/check-generated 2025-11-13 19:00:20.666057508 +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:37879/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:37879/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:37879/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 18:59:53.464830 Running HTTP IPv4 version on port 37879 18:59:53.464888 Wrote pid 74578 to log/10/server/http_server.pid 18:59:53.464910 Wrote port 37879 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 ==75214== ==75214== Process terminating with default action of signal 4 (SIGILL) ==75214== Illegal opcode at address 0x4013E00 ==75214== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75214== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75214== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75214== by 0x40037A4: main (tool_main.c:199) === End of file valgrind15 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/14/valgrind40 ../src/curl -q --output log/14/curl40.out --include --trace-ascii log/14/trace40 --trace-time http://127.0.0.1:36759/we/are/all/twits/40 -L > log/14/stdout40 2> log/14/stderr40 40: 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 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/14/valgrind40 ../src/curl -q --output log/14/curl40.out --include --trace-ascii log/14/trace40 --trace-time http://127.0.0.1:36759/we/are/all/twits/40 -L > log/14/stdout40 2> log/14/stderr40 === End of file commands.log === Start of file http_server.log 19:00:20.010394 ====> Client connect 19:00:20.010419 accept_connection 3 returned 4 19:00:20.010431 accept_connection 3 returned 0 19:00:20.010441 Read 93 bytes 19:00:20.010449 Process 93 bytes request 19:00:20.010458 Got request: GET /verifiedserver HTTP/1.1 19:00:20.010466 Are-we-friendly question received 19:00:20.010485 Wrote request (93 bytes) input to log/14/server.input 19:00:20.010497 Identifying ourselves as friends 19:00:20.010540 Response sent (56 bytes) and written to log/14/server.response 19:00:20.010547 special request received, no persistency 19:00:20.010554 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 43320 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind40 ==76505== ==76505== Process terminating with default action of signal 4 (SIGILL) ==76505== Illegal opcode at address 0x4013E00 ==76505== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76505== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76505== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76505== by 0x40037A4: main (tool_main.c:199) === End of file valgrind40 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/2/valgrind39 ../src/curl -q --output log/2/curl39.out --include --trace-ascii log/2/trace39 --trace-time http://127.0.0.1:44325/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/2/stdout39 2> log/2/stderr39 39: 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 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/2/valgrind39 ../src/curl -q --output log/2/curl39.out --include --trace-ascii log/2/trace39 --trace-time http://127.0.0.1:44325/we/want/39 -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/2/stdout39 2> log/2/stderr39 === End of file commands.log === Start of file http_server.log 19:00:21.008439 ====> Client connect 19:00:21.008462 accept_connection 3 returned 4 19:00:21.008473 accept_connection 3 returned 0 19:00:21.008484 Read 93 bytes 19:00:21.008491 Process 93 bytes request 19:00:21.008500 Got request: GET /verifiedserver HTTP/1.1 19:00:21.008507 Are-we-friendly question received 19:00:21.008523 Wrote request (93 bytes) input to log/2/server.input 19:00:21.008535 Identifying ourselves as friends 19:00:21.008571 Response sent (56 bytes) and written to log/2/server.response 19:00:21.008578 special request received, no persistency 19:00:21.008585 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 53750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 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/23/valgrind41 ../src/curl -q --output log/23/curl41.out --include --trace-ascii log/23/trace41 --trace-time http://127.0.0.1:35243/want/41 -F moo=@boo > log/23/stdout41 2> log/23/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/11/valgrind14 ../src/curl -q --output log/11/curl14.out --include --trace-ascii log/11/trace14 --trace-time http://127.0.0.1:46317/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/6/valgrind33 ../src/curl -q --output log/6/curl33.out --include --trace-ascii log/6/trace33 --trace-time http://127.0.0.1:41595/33 -Tlog/6/test33.txt -C 50 > log/6/stdout33 2> log/6/stderr33 0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === 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 ==76506== ==76506== Process terminating with default action of signal 4 (SIGILL) ==76506== Illegal opcode at address 0x4013E00 ==76506== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76506== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76506== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76506== by 0x40037A4: main (tool_main.c:199) === End of file valgrind39 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/23/valgrind41 ../src/curl -q --output log/23/curl41.out --include --trace-ascii log/23/trace41 --trace-time http://127.0.0.1:35243/want/41 -F moo=@boo > log/23/stdout41 2> log/23/stderr41 curl returned 132, when expecting 26 41: exit FAILED == Contents of files in the log/23/ 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/23/valgrind41 ../src/curl -q --output log/23/curl41.out --include --trace-ascii log/23/trace41 --trace-time http://127.0.0.1:35243/want/41 -F moo=@boo > log/23/stdout41 2> log/23/stderr41 === End of file commands.log === Start of file http_server.log 19:00:20.136504 ====> Client connect 19:00:20.136527 accept_connection 3 returned 4 19:00:20.136539 accept_connection 3 returned 0 19:00:20.136549 Read 93 bytes 19:00:20.136556 Process 93 bytes request 19:00:20.136566 Got request: GET /verifiedserver HTTP/1.1 19:00:20.136573 Are-we-friendly question received 19:00:20.136592 Wrote request (93 bytes) input to log/23/server.input 19:00:20.136604 Identifying ourselves as friends 19:00:20.136638 Response sent (56 bytes) and written to log/23/server.response 19:00:20.136646 special request received, no persistency 19:00:20.136652 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 55160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind41 ==76624== ==76624== Process terminating with default action of signal 4 (SIGILL) ==76624== Illegal opcode at address 0x4013E00 ==76624== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76624== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76624== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76624== by 0x40037A4: 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/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 74579 port 46317 * pid http => 74579 74579 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:46317/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:46317/want/14 -i --head > log/11/stdout14 2> log/11/stderr14 === End of file commands.log === Start of file http_server.log 18:59:53.464722 Running HTTP IPv4 version on port 46317 18:59:53.464791 Wrote pid 74579 to log/11/server/http_server.pid 18:59:53.464814 Wrote port 46317 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 ==75213== ==75213== Process terminating with default action of signal 4 (SIGILL) ==75213== Illegal opcode at address 0x4013E00 ==75213== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75213== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75213== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75213== by 0x40037A4: 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/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 76270 port 41595 * pid http => 76270 76270 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/6/valgrind33 ../src/curl -q --output log/6/curl33.out --include --trace-ascii log/6/trace33 --trace-time http://127.0.0.1:41595/33 -Tlog/6/test33.txt -C 50 > log/6/stdout33 2> log/6/stderr33 33: 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 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/6/valgrind33 ../src/curl -q --output log/6/curl33.out --include --trace-ascii log/6/trace33 --trace-time http://127.0.0.1:41595/33 -Tlog/6/test33.txt -C 50 > log/6/stdout33 2> log/6/stderr33 === End of file commands.log === Start of file http_server.log 19:00:19.216788 Running HTTP IPv4 version on port 41595 19:00:19.216865 Wrote pid 76270 to log/6/server/http_server.pid 19:00:19.216888 Wrote port 41595 to log/6/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 33 === End of file server.cmd === Start of file test33.txt 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 012345678 === End of file test33.txt === Start of file valgrind33 ==76672== ==76672== Process terminating with default action of signal 4 (SIGILL) ==76672== Illegal opcode at address 0x4013E00 ==76672== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76672== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==7667CMD (33792): ../libtool --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:36745 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/13/valgrind42 ../src/curl -q --output log/13/curl42.out --include --trace-ascii log/13/trace42 --trace-time http://127.0.0.1:35301/we/are/all/twits/42 -L > log/13/stdout42 2> log/13/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/valgrind43 ../src/curl -q --output log/17/curl43.out --include --trace-ascii log/17/trace43 --trace-time http://127.0.0.1:40515/want/43 -L -x 127.0.0.1:40515 > log/17/stdout43 2> log/17/stderr43 2== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76672== by 0x40037A4: main (tool_main.c:199) === End of file valgrind33 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/9/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 74638 port 36745 * pid http => 74638 74638 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:36745 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:36745 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 18:59:53.565322 Running HTTP IPv4 version on port 36745 18:59:53.565387 Wrote pid 74638 to log/9/server/http_server.pid 18:59:53.565410 Wrote port 36745 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 ==75310== ==75310== Process terminating with default action of signal 4 (SIGILL) ==75310== Illegal opcode at address 0x4013E00 ==75310== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75310== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75310== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75310== by 0x40037A4: main (tool_main.c:199) === End of file valgrind16 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/13/valgrind42 ../src/curl -q --output log/13/curl42.out --include --trace-ascii log/13/trace42 --trace-time http://127.0.0.1:35301/we/are/all/twits/42 -L > log/13/stdout42 2> log/13/stderr42 42: 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 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/13/valgrind42 ../src/curl -q --output log/13/curl42.out --include --trace-ascii log/13/trace42 --trace-time http://127.0.0.1:35301/we/are/all/twits/42 -L > log/13/stdout42 2> log/13/stderr42 === End of file commands.log === Start of file http_server.log 19:00:20.280226 ====> Client connect 19:00:20.280261 accept_connection 3 returned 4 19:00:20.280280 accept_connection 3 returned 0 19:00:20.280305 Read 93 bytes 19:00:20.280318 Process 93 bytes request 19:00:20.280337 Got request: GET /verifiedserver HTTP/1.1 19:00:20.280344 Are-we-friendly question received 19:00:20.280367 Wrote request (93 bytes) input to log/13/server.input 19:00:20.280383 Identifying ourselves as friends 19:00:20.280432 Response sent (56 bytes) and written to log/13/server.response 19:00:20.280442 special request received, no persistency 19:00:20.280449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 55908 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind42 ==76752== ==76752== Process terminating with default action of signal 4 (SIGILL) ==76752== Illegal opcode at address 0x4013E00 ==76752== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76752== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76752== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76752== by 0x40037A4: main (tool_main.c:199) === End of file valgrind42 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/17/valgrind43 ../src/curl -q --output log/17/curl43.out --include --trace-ascii log/17/trace43 --trace-time http://127.0.0.1:40515/want/43 -L -x 127.0.0.1:40515 > log/17/stdout43 2> log/17/stderr43 43: 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 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/17/valgrind43 ../src/curl -q --output log/17/curl43.out --include --trace-ascii log/17/trace43 --trace-time http://127.0.0.1:40515/want/43 -L -x 127.0.0.1:40515 > log/17/stdout43 2> log/17/stderr43 === End of file commands.log === Start of file http_server.log 19:00:21.282115 ====> Client connect 19:00:21.282137 accept_connection 3 returned 4 19:00:21.282149 accept_connection 3 returned 0 19:00:21.282159 Read 93 bytes 19:00:21.282167 Process 93 bytes request 19:00:21.282179 Got request: GET /verifiedserver HTTP/1.1 19:00:21.282186 Are-we-friendly question received 19:00:21.282203 Wrote request (93 bytes) input to log/17/server.input 19:00:21.282217 Identifying ourselves as friends 19:00:21.282259 Response sent (56 bytes) and written to log/17/server.response 19:00:21.282268 special request received, no persistency 19:00:21.282275 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 36146 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind43 ==76755== ==76755== Process terminating with default action of signal 4 (SIGILL) ==76755== Illegal opcode at address 0x4013CMD (33792): ../libtool --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/valgrind34 ../src/curl -q --output log/12/curl34.out --include --trace-ascii log/12/trace34 --trace-time http://127.0.0.1:46819/34 > log/12/stdout34 2> log/12/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/10/valgrind44 ../src/curl -q --output log/10/curl44.out --include --trace-ascii log/10/trace44 --trace-time http://127.0.0.1:37879/we/want/44 -F name=daniel -F tool=curl -F file=@log/10/test44.txt -H "Expect:" > log/10/stdout44 2> log/10/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/5/valgrind38 ../src/curl -q --include --trace-ascii log/5/trace38 --trace-time http://127.0.0.1:46771/want/38 -C - --no-include -o log/5/fewl38.txt > log/5/stdout38 2> log/5/stderr38 CMD (33792): ../libtool --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/valgrind46 ../src/curl -q --output log/2/curl46.out --include --trace-ascii log/2/trace46 --trace-time domain..tld:44325/want/46 --resolve domain..tld:44325:127.0.0.1 -c log/2/jar46 -b log/2/injar46 > log/2/stdout46 2> log/2/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/14/valgrind45 ../src/curl -q --output log/14/curl45.out --include --trace-ascii log/14/trace45 --trace-time 127.0.0.1:36759/want/45 -L > log/14/stdout45 2> log/14/stderr45 E00 ==76755== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76755== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76755== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76755== by 0x40037A4: main (tool_main.c:199) === End of file valgrind43 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 76272 port 46819 * pid http => 76272 76272 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/12/valgrind34 ../src/curl -q --output log/12/curl34.out --include --trace-ascii log/12/trace34 --trace-time http://127.0.0.1:46819/34 > log/12/stdout34 2> log/12/stderr34 34: 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 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/12/valgrind34 ../src/curl -q --output log/12/curl34.out --include --trace-ascii log/12/trace34 --trace-time http://127.0.0.1:46819/34 > log/12/stdout34 2> log/12/stderr34 === End of file commands.log === Start of file http_server.log 19:00:19.322742 Running HTTP IPv4 version on port 46819 19:00:19.322811 Wrote pid 76272 to log/12/server/http_server.pid 19:00:19.322834 Wrote port 46819 to log/12/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 34 === End of file server.cmd === Start of file valgrind34 ==76846== ==76846== Process terminating with default action of signal 4 (SIGILL) ==76846== Illegal opcode at address 0x4013E00 ==76846== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76846== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76846== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76846== by 0x40037A4: main (tool_main.c:199) === End of file valgrind34 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/10/valgrind44 ../src/curl -q --output log/10/curl44.out --include --trace-ascii log/10/trace44 --trace-time http://127.0.0.1:37879/we/want/44 -F name=daniel -F tool=curl -F file=@log/10/test44.txt -H "Expect:" > log/10/stdout44 2> log/10/stderr44 44: 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 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/10/valgrind44 ../src/curl -q --output log/10/curl44.out --include --trace-ascii log/10/trace44 --trace-time http://127.0.0.1:37879/we/want/44 -F name=daniel -F tool=curl -F file=@log/10/test44.txt -H "Expect:" > log/10/stdout44 2> log/10/stderr44 === End of file commands.log === Start of file http_server.log 19:00:20.456030 ====> Client connect 19:00:20.456057 accept_connection 3 returned 4 19:00:20.456070 accept_connection 3 returned 0 19:00:20.456080 Read 93 bytes 19:00:20.456088 Process 93 bytes request 19:00:20.456100 Got request: GET /verifiedserver HTTP/1.1 19:00:20.456108 Are-we-friendly question received 19:00:20.456125 Wrote request (93 bytes) input to log/10/server.input 19:00:20.456141 Identifying ourselves as friends 19:00:20.456184 Response sent (56 bytes) and written to log/10/server.response 19:00:20.456195 special request received, no persistency 19:00:20.456202 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 44498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === 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 ==76923== ==76923== Process terminating with default action of signal 4 (SIGILL) ==76923== Illegal opcode at address 0x4013E00 ==76923== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76923== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76923== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76923== by 0x40037A4: main (tool_main.c:199) === End of file valgrind44 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 76406 port 46771 * pid http => 76406 76406 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/5/valgrind38 ../src/curl -q --include --trace-ascii log/5/trace38 --trace-time http://127.0.0.1:46771/want/38 -C - --no-include -o log/5/fewl38.txt > log/5/stdout38 2> log/5/stderr38 38: 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 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/5/valgrind38 ../src/curl -q --include --trace-ascii log/5/trace38 --trace-time http://127.0.0.1:46771/want/38 -C - --no-include -o log/5/fewl38.txt > log/5/stdout38 2> log/5/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 19:00:19.547189 Running HTTP IPv4 version on port 46771 19:00:19.547250 Wrote pid 76406 to log/5/server/http_server.pid 19:00:19.547273 Wrote port 46771 to log/5/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 38 === End of file server.cmd === Start of file valgrind38 ==76978== ==76978== Process terminating with default action of signal 4 (SIGILL) ==76978== Illegal opcode at address 0x4013E00 ==76978== at 0x4013E00: getparameter (tool_getparam.c:2846) ==76978== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==76978== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==76978== by 0x40037A4: main (tool_main.c:199) === End of file valgrind38 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/2/valgrind46 ../src/curl -q --output log/2/curl46.out --include --trace-ascii log/2/trace46 --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/23/valgrind47 ../src/curl -q --output log/23/curl47.out --include --trace-ascii log/23/trace47 --trace-time http://127.0.0.1:35243/47 -0 > log/23/stdout47 2> log/23/stderr47 race-time domain..tld:44325/want/46 --resolve domain..tld:44325:127.0.0.1 -c log/2/jar46 -b log/2/injar46 > log/2/stdout46 2> log/2/stderr46 46: 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 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/2/valgrind46 ../src/curl -q --output log/2/curl46.out --include --trace-ascii log/2/trace46 --trace-time domain..tld:44325/want/46 --resolve domain..tld:44325:127.0.0.1 -c log/2/jar46 -b log/2/injar46 > log/2/stdout46 2> log/2/stderr46 === End of file commands.log === Start of file http_server.log 19:00:21.665929 ====> Client connect 19:00:21.665951 accept_connection 3 returned 4 19:00:21.665964 accept_connection 3 returned 0 19:00:21.665974 Read 93 bytes 19:00:21.665982 Process 93 bytes request 19:00:21.665991 Got request: GET /verifiedserver HTTP/1.1 19:00:21.665998 Are-we-friendly question received 19:00:21.666016 Wrote request (93 bytes) input to log/2/server.input 19:00:21.666029 Identifying ourselves as friends 19:00:21.666066 Response sent (56 bytes) and written to log/2/server.response 19:00:21.666074 special request received, no persistency 19:00:21.666081 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 53764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind46 ==77074== ==77074== Process terminating with default action of signal 4 (SIGILL) ==77074== Illegal opcode at address 0x4013E00 ==77074== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77074== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77074== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77074== by 0x40037A4: main (tool_main.c:199) === End of file valgrind46 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/14/valgrind45 ../src/curl -q --output log/14/curl45.out --include --trace-ascii log/14/trace45 --trace-time 127.0.0.1:36759/want/45 -L > log/14/stdout45 2> log/14/stderr45 45: 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 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/14/valgrind45 ../src/curl -q --output log/14/curl45.out --include --trace-ascii log/14/trace45 --trace-time 127.0.0.1:36759/want/45 -L > log/14/stdout45 2> log/14/stderr45 === End of file commands.log === Start of file http_server.log 19:00:20.664035 ====> Client connect 19:00:20.664077 accept_connection 3 returned 4 19:00:20.664097 accept_connection 3 returned 0 19:00:20.664123 Read 93 bytes 19:00:20.664135 Process 93 bytes request 19:00:20.664149 Got request: GET /verifiedserver HTTP/1.1 19:00:20.664160 Are-we-friendly question received 19:00:20.664186 Wrote request (93 bytes) input to log/14/server.input 19:00:20.664206 Identifying ourselves as friends 19:00:20.664269 Response sent (56 bytes) and written to log/14/server.response 19:00:20.664281 special request received, no persistency 19:00:20.664292 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 43334 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind45 ==77070== ==77070== Process terminating with default action of signal 4 (SIGILL) ==77070== Illegal opcode at address 0x4013E00 ==77070== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77070== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77070== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77070== by 0x40037A4: main (tool_main.c:199) === End of file valgrind45 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/23/valgrind47 ../src/curl -q --output log/23/curl47.out --include --trace-ascii log/23/trace47 --trace-time http://127.0.0.1:35243/47 -0 > log/23/stdout47 2> log/23/stderr47 47: 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 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/23/valgrind47 ../src/curl -q --output log/23/curl47.out --include --trace-ascii log/23/trace47 --trace-time http://127.0.0.1:35243/47 -0 > log/23/stdout47 2> log/23/stderr47 === End of file commands.log === Start of file http_server.log 19:00:20.830138 ====> Client connect 19:00:20.830163 accept_connection 3 returned 4 19:00:20.830177 accept_connection 3 returned 0 19:00:20.830188 Read 93 bytes 19:00:20.830196 Process 93 bytes request 19:00:20.830207 Got request: GET /verifiedserver HTTP/1.1 19:00:20.830215 Are-we-friendly question received 19:00:20.830242 Wrote request (93 bytes) input to log/23/server.input 19:00:20.830256 Identifying ourselves as friends 19:00:20.830297 Response sent (56 bytes) and written to log/23/server.response 19:00:20.830306 special request received, no persistency 19:00:20.830313 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 55172 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === End of file http_verify.out === Start of file server.cmd Testnum 47 === End of file 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/11/valgrind48 ../src/curl -q --output log/11/curl48.out --include --trace-ascii log/11/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:46317/48 -G -I http://127.0.0.1:46317/48 > log/11/stdout48 2> log/11/stderr48 CMD (33792): ../libtool --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/valgrind49 ../src/curl -q --output log/6/curl49.out --include --trace-ascii log/6/trace49 --trace-time http://127.0.0.1:41595/we/are/all/twits/49 -L > log/6/stdout49 2> log/6/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/9/valgrind50 ../src/curl -q --output log/9/curl50.out --include --trace-ascii log/9/trace50 --trace-time http://127.0.0.1:36745/we/are/all/twits/50 -L > log/9/stdout50 2> log/9/stderr50 erver.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74418 === End of file server.response === Start of file valgrind47 ==77210== ==77210== Process terminating with default action of signal 4 (SIGILL) ==77210== Illegal opcode at address 0x4013E00 ==77210== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77210== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77210== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77210== by 0x40037A4: main (tool_main.c:199) === End of file valgrind47 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/11/valgrind48 ../src/curl -q --output log/11/curl48.out --include --trace-ascii log/11/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:46317/48 -G -I http://127.0.0.1:46317/48 > log/11/stdout48 2> log/11/stderr48 48: 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 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-file=log/11/valgrind48 ../src/curl -q --output log/11/curl48.out --include --trace-ascii log/11/trace48 --trace-time -d "foo=moo&moo=poo" http://127.0.0.1:46317/48 -G -I http://127.0.0.1:46317/48 > log/11/stdout48 2> log/11/stderr48 === End of file commands.log === Start of file http_server.log 19:00:20.831361 ====> Client connect 19:00:20.831386 accept_connection 3 returned 4 19:00:20.831399 accept_connection 3 returned 0 19:00:20.831410 Read 93 bytes 19:00:20.831433 Process 93 bytes request 19:00:20.831446 Got request: GET /verifiedserver HTTP/1.1 19:00:20.831454 Are-we-friendly question received 19:00:20.831473 Wrote request (93 bytes) input to log/11/server.input 19:00:20.831489 Identifying ourselves as friends 19:00:20.831535 Response sent (56 bytes) and written to log/11/server.response 19:00:20.831546 special request received, no persistency 19:00:20.831554 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 33720 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind48 ==77211== ==77211== Process terminating with default action of signal 4 (SIGILL) ==77211== Illegal opcode at address 0x4013E00 ==77211== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77211== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77211== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77211== by 0x40037A4: main (tool_main.c:199) === End of file valgrind48 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/6/valgrind49 ../src/curl -q --output log/6/curl49.out --include --trace-ascii log/6/trace49 --trace-time http://127.0.0.1:41595/we/are/all/twits/49 -L > log/6/stdout49 2> log/6/stderr49 49: 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 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/6/valgrind49 ../src/curl -q --output log/6/curl49.out --include --trace-ascii log/6/trace49 --trace-time http://127.0.0.1:41595/we/are/all/twits/49 -L > log/6/stdout49 2> log/6/stderr49 === End of file commands.log === Start of file http_server.log 19:00:20.848170 ====> Client connect 19:00:20.848195 accept_connection 3 returned 4 19:00:20.848208 accept_connection 3 returned 0 19:00:20.848219 Read 93 bytes 19:00:20.848227 Process 93 bytes request 19:00:20.848240 Got request: GET /verifiedserver HTTP/1.1 19:00:20.848247 Are-we-friendly question received 19:00:20.848267 Wrote request (93 bytes) input to log/6/server.input 19:00:20.848282 Identifying ourselves as friends 19:00:20.848351 Response sent (56 bytes) and written to log/6/server.response 19:00:20.848363 special request received, no persistency 19:00:20.848371 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 57000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind49 ==77284== ==77284== Process terminating with default action of signal 4 (SIGILL) ==77284== Illegal opcode at address 0x4013E00 ==77284== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77284== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77284== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77284== by 0x40037A4: main (tool_main.c:199) === End of file valgrind49 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/9/valgrind50 ../src/curl -q --output log/9/curl50.out --include --trace-ascii log/9/trace50 --trace-time http://127.0.0.1:36745/we/are/all/twits/50 -L > log/9/stdout50 2> log/9/stderr50 50: 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 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/9/valgrind50 ../src/curl -q --output log/9/curl50.out --include --trace-ascii log/9/trace50 --trace-time http://127.0.0.1:36745/we/are/all/twits/50 -L > log/9/stdout50 2> log/9/stderr50 === End of file commands.log === Start of file http_server.log 19:00:20.877292 ====> Client connect 19:00:20.877318 accept_connection 3 returned 4 19:00:20.877331 accept_connection 3 returned 0 19:00:20.877342 Read 93 bytes 19:00:20.877350 Process 93 bytes request 19:00:20.877362 Got request: GET /verifiedserver HTTP/1.1 19:00:20.877370 Are-we-friendly question received 19:00:20.877388 Wrote request (93 bytes) input to log/9/server.input 19:00:20.877406 Identifying ourselves as friends 19:00:20.877471 Response sent (56 bytes) and written to log/9/server.response 19:00:20.877483 special request received, no persistency 19:00:20.877490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 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/12/valgrind53 ../src/curl -q --output log/12/curl53.out --include --trace-ascii log/12/trace53 --trace-time 127.0.0.1:46819/want/53 -b log/12/injar53 -j > log/12/stdout53 2> log/12/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/13/valgrind51 ../src/curl -q --output log/13/curl51.out --include --trace-ascii log/13/trace51 --trace-time http://127.0.0.1:35301/we/are/all/twits/51 -L > log/13/stdout51 2> log/13/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/17/valgrind52 ../src/curl -q --output log/17/curl52.out --include --trace-ascii log/17/trace52 --trace-time http://127.0.0.1:40515/we/are/all/twits/52 -L > log/17/stdout52 2> log/17/stderr52 rt 36745) from 127.0.0.1 port 45478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind50 ==77380== ==77380== Process terminating with default action of signal 4 (SIGILL) ==77380== Illegal opcode at address 0x4013E00 ==77380== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77380== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77380== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77380== by 0x40037A4: main (tool_main.c:199) === End of file valgrind50 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/12/valgrind53 ../src/curl -q --output log/12/curl53.out --include --trace-ascii log/12/trace53 --trace-time 127.0.0.1:46819/want/53 -b log/12/injar53 -j > log/12/stdout53 2> log/12/stderr53 53: 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 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/12/valgrind53 ../src/curl -q --output log/12/curl53.out --include --trace-ascii log/12/trace53 --trace-time 127.0.0.1:46819/want/53 -b log/12/injar53 -j > log/12/stdout53 2> log/12/stderr53 === End of file commands.log === Start of file http_server.log 19:00:20.969938 ====> Client connect 19:00:20.969963 accept_connection 3 returned 4 19:00:20.969976 accept_connection 3 returned 0 19:00:20.969987 Read 93 bytes 19:00:20.969995 Process 93 bytes request 19:00:20.970008 Got request: GET /verifiedserver HTTP/1.1 19:00:20.970015 Are-we-friendly question received 19:00:20.970034 Wrote request (93 bytes) input to log/12/server.input 19:00:20.970051 Identifying ourselves as friends 19:00:20.970093 Response sent (56 bytes) and written to log/12/server.response 19:00:20.970101 special request received, no persistency 19:00:20.970108 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 48362 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind53 ==77571== ==77571== Process terminating with default action of signal 4 (SIGILL) ==77571== Illegal opcode at address 0x4013E00 ==77571== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77571== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77571== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77571== by 0x40037A4: main (tool_main.c:199) === End of file valgrind53 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/13/valgrind51 ../src/curl -q --output log/13/curl51.out --include --trace-ascii log/13/trace51 --trace-time http://127.0.0.1:35301/we/are/all/twits/51 -L > log/13/stdout51 2> log/13/stderr51 51: 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 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/13/valgrind51 ../src/curl -q --output log/13/curl51.out --include --trace-ascii log/13/trace51 --trace-time http://127.0.0.1:35301/we/are/all/twits/51 -L > log/13/stdout51 2> log/13/stderr51 === End of file commands.log === Start of file http_server.log 19:00:20.926642 ====> Client connect 19:00:20.926674 accept_connection 3 returned 4 19:00:20.926691 accept_connection 3 returned 0 19:00:20.926706 Read 93 bytes 19:00:20.926717 Process 93 bytes request 19:00:20.926729 Got request: GET /verifiedserver HTTP/1.1 19:00:20.926738 Are-we-friendly question received 19:00:20.926765 Wrote request (93 bytes) input to log/13/server.input 19:00:20.926783 Identifying ourselves as friends 19:00:20.926838 Response sent (56 bytes) and written to log/13/server.response 19:00:20.926849 special request received, no persistency 19:00:20.926858 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 55918 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind51 ==77460== ==77460== Process terminating with default action of signal 4 (SIGILL) ==77460== Illegal opcode at address 0x4013E00 ==77460== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77460== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77460== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77460== by 0x40037A4: main (tool_main.c:199) === End of file valgrind51 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:40515/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:40515/we/are/all/twits/52 -L > log/17/stdout52 2> log/17/stderr52 === End of file commands.log === Start of file http_server.log 19:00:21.938715 ====> Client connect 19:00:21.938740 accept_connection 3 returned 4 19:00:21.938753 accept_connection 3 returned 0 19:00:21.938764 Read 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/15/valgrind10 ../src/curl -q --output log/15/curl10.out --include --trace-ascii log/15/trace10 --trace-time http://127.0.0.1:44531/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/10/valgrind54 ../src/curl -q --output log/10/curl54.out --include --trace-ascii log/10/trace54 --trace-time http://127.0.0.1:37879/want/54 -L > log/10/stdout54 2> log/10/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/5/valgrind55 ../src/curl -q --output log/5/curl55.out --include --trace-ascii log/5/trace55 --trace-time http://127.0.0.1:46771/55 -L > log/5/stdout55 2> log/5/stderr55 3 bytes 19:00:21.938773 Process 93 bytes request 19:00:21.938782 Got request: GET /verifiedserver HTTP/1.1 19:00:21.938790 Are-we-friendly question received 19:00:21.938809 Wrote request (93 bytes) input to log/17/server.input 19:00:21.938823 Identifying ourselves as friends 19:00:21.938865 Response sent (56 bytes) and written to log/17/server.response 19:00:21.938874 special request received, no persistency 19:00:21.938881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 36158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind52 ==77481== ==77481== Process terminating with default action of signal 4 (SIGILL) ==77481== Illegal opcode at address 0x4013E00 ==77481== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77481== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77481== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77481== by 0x40037A4: main (tool_main.c:199) === End of file valgrind52 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 74426 port 44531 * pid http => 74426 74426 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:44531/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:44531/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 18:59:53.062780 Running HTTP IPv4 version on port 44531 18:59:53.062832 Wrote pid 74426 to log/15/server/http_server.pid 18:59:53.062853 Wrote port 44531 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 ==75005== ==75005== Process terminating with default action of signal 4 (SIGILL) ==75005== Illegal opcode at address 0x4013E00 ==75005== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75005== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75005== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75005== by 0x40037A4: main (tool_main.c:199) === End of file valgrind10 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/10/valgrind54 ../src/curl -q --output log/10/curl54.out --include --trace-ascii log/10/trace54 --trace-time http://127.0.0.1:37879/want/54 -L > log/10/stdout54 2> log/10/stderr54 54: 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 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/10/valgrind54 ../src/curl -q --output log/10/curl54.out --include --trace-ascii log/10/trace54 --trace-time http://127.0.0.1:37879/want/54 -L > log/10/stdout54 2> log/10/stderr54 === End of file commands.log === Start of file http_server.log 19:00:21.172851 ====> Client connect 19:00:21.172885 accept_connection 3 returned 4 19:00:21.172899 accept_connection 3 returned 0 19:00:21.172910 Read 93 bytes 19:00:21.172918 Process 93 bytes request 19:00:21.172928 Got request: GET /verifiedserver HTTP/1.1 19:00:21.172936 Are-we-friendly question received 19:00:21.172956 Wrote request (93 bytes) input to log/10/server.input 19:00:21.172968 Identifying ourselves as friends 19:00:21.173010 Response sent (56 bytes) and written to log/10/server.response 19:00:21.173018 special request received, no persistency 19:00:21.173026 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 44500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind54 ==77653== ==77653== Process terminating with default action of signal 4 (SIGILL) ==77653== Illegal opcode at address 0x4013E00 ==77653== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77653== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77653== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77653== by 0x40037A4: 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/5/valgrind55 ../src/curl -q --output log/5/curl55.out --include --trace-ascii log/5/trace55 --trace-time http://127.0.0.1:46771/55 -L > log/5/stdout55 2> log/5/stderr55 55: 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 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/5/valgrind55 ../src/curl -q --output log/5/curl55.out --include --trace-ascii log/5/trace55 --trace-time http://127.0.0.1:46771/55 -L > log/5/stdout55 2> log/5/stderr55 === End of file commands.log === Start of file http_server.log 19:00:21.200432 ====> Client connect 19:00:21.200456 accept_connection 3 returned 4 19:00:21.200470 accept_connection 3 returned 0 19:00:21.200480 Read 93 bytes 19:00:21.200489 Process 93 bytes request 19:00:21.200501 Got request: GET /verifiedserver HTTP/1.1 19:00:21.200509 Are-we-friendly question received 19:00:21CMD (33792): ../libtool --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:42747/we/want/9 -F name=daniel -F tool=curl -F file=@log/16/test9.txt > log/16/stdout9 2> log/16/stderr9 CMD (33792): ../libtool --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:46261/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 .200528 Wrote request (93 bytes) input to log/5/server.input 19:00:21.200544 Identifying ourselves as friends 19:00:21.200588 Response sent (56 bytes) and written to log/5/server.response 19:00:21.200599 special request received, no persistency 19:00:21.200607 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 43918 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind55 ==77716== ==77716== Process terminating with default action of signal 4 (SIGILL) ==77716== Illegal opcode at address 0x4013E00 ==77716== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77716== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77716== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77716== by 0x40037A4: 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/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 74425 port 42747 * pid http => 74425 74425 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:42747/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:42747/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 18:59:53.962622 Running HTTP IPv4 version on port 42747 18:59:53.962676 Wrote pid 74425 to log/16/server/http_server.pid 18:59:53.962697 Wrote port 42747 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 ==74947== ==74947== Process terminating with default action of signal 4 (SIGILL) ==74947== Illegal opcode at address 0x4013E00 ==74947== at 0x4013E00: getparameter (tool_getparam.c:2846) ==74947== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74947== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==74947== by 0x40037A4: 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/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 74802 port 46261 * pid http => 74802 74802 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:46261/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/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:46261/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind56 ../src/curl -q --output log/2/curl56.out --include --trace-ascii log/2/trace56 --trace-time -K - 127.0.0.1:44325/that.site.com/56 log/2/stdout56 2> log/2/stderr56 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/22 > log/3/stdout22 2> log/3/stderr22 === End of file commands.log === Start of file http_server.log 18:59:54.874631 Running HTTP IPv4 version on port 46261 18:59:54.874701 Wrote pid 74802 to log/3/server/http_server.pid 18:59:54.874723 Wrote port 46261 to log/3/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 22 === End of file server.cmd === Start of file valgrind22 ==75462== ==75462== Process terminating with default action of signal 4 (SIGILL) ==75462== Illegal opcode at address 0x4013E00 ==75462== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75462== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75462== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75462== by 0x40037A4: main (tool_main.c:199) === End of file valgrind22 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/2/valgrind56 ../src/curl -q --output log/2/curl56.out --include --trace-ascii log/2/trace56 --trace-time -K - 127.0.0.1:44325/that.site.com/56 log/2/stdout56 2> log/2/stderr56 56: 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 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/2/valgrind56 ../src/curl -q --output log/2/curl56.out --include --trace-ascii log/2/trace56 --trace-time -K - 127.0.0.1:44325/that.site.com/56 log/2/stdout56 2> log/2/stderr56 === End of file commands.log === Start of file http_server.log 19:00:22.385348 ====> Client connect 19:00:22.385373 accept_connection 3 returned 4 19:00:22.385386 accept_connection 3 returned 0 19:00:22.385397 Read 93 bytes 19:00:22.385405 Process 93 bytes request 19:00:22.385417 Got request: GET /verifiedserver HTTP/1.1 19:00:22.385425 Are-we-friendly question received 19:00:22.385442 Wrote request (93 bytes) input to log/2/server.input 19:00:22.385454 Identifying ourselves as friends 19:00:22.385493 Response sent (56 bytes) and written to log/2/server.response 19:00:22.385500 special request received, no persistency 19:00:22.385508 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 53772 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === 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 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind57 ../src/curl -q --include --trace-ascii log/14/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:36759/57 -o log/14/out57 > log/14/stdout57 2> log/14/stderr57 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" # === End of file stdin-for-56 === Start of file valgrind56 ==77811== ==77811== Process terminating with default action of signal 4 (SIGILL) ==77811== Illegal opcode at address 0x4013E00 ==77811== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77811== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77811== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77811== by 0x40037A4: main (tool_main.c:199) === End of file valgrind56 CMD (33792): ../libtool --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/valgrind58 ../src/curl -q --output log/23/curl58.out --include --trace-ascii log/23/trace58 --trace-time http://127.0.0.1:35243/we/want/ -T log/23/58te[]st.txt -g > log/23/stdout58 2> log/23/stderr58 CMD (33792): ../libtool --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/valgrind60 ../src/curl -q --output log/6/curl60.out --include --trace-ascii log/6/trace60 --trace-time http://127.0.0.1:41595/bzz/60 -T - -H "Content-Length: 1" log/6/stdout60 2> log/6/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/11/valgrind59 ../src/curl -q --output log/11/curl59.out --include --trace-ascii log/11/trace59 --trace-time "http://127.0.0.1:46317?mooo/59" > log/11/stdout59 2> log/11/stderr59 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/14/valgrind57 ../src/curl -q --include --trace-ascii log/14/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:36759/57 -o log/14/out57 > log/14/stdout57 2> log/14/stderr57 57: stdout FAILED: --- log/14/check-expected 2025-11-13 19:00:22.352724191 +0000 +++ log/14/check-generated 2025-11-13 19:00:22.352724191 +0000 @@ -1 +0,0 @@ -text/html; charset=ISO-8859-4[CR][LF] == Contents of files in the log/14/ 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/14/valgrind57 ../src/curl -q --include --trace-ascii log/14/trace57 --trace-time -w "%{content_type}\n" http://127.0.0.1:36759/57 -o log/14/out57 > log/14/stdout57 2> log/14/stderr57 === End of file commands.log === Start of file http_server.log 19:00:21.386159 ====> Client connect 19:00:21.386188 accept_connection 3 returned 4 19:00:21.386201 accept_connection 3 returned 0 19:00:21.386213 Read 93 bytes 19:00:21.386221 Process 93 bytes request 19:00:21.386231 Got request: GET /verifiedserver HTTP/1.1 19:00:21.386238 Are-we-friendly question received 19:00:21.386256 Wrote request (93 bytes) input to log/14/server.input 19:00:21.386268 Identifying ourselves as friends 19:00:21.386313 Response sent (56 bytes) and written to log/14/server.response 19:00:21.386321 special request received, no persistency 19:00:21.386328 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 43338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind57 ==77812== ==77812== Process terminating with default action of signal 4 (SIGILL) ==77812== Illegal opcode at address 0x4013E00 ==77812== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77812== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77812== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77812== by 0x40037A4: main (tool_main.c:199) === End of file valgrind57 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/23/valgrind58 ../src/curl -q --output log/23/curl58.out --include --trace-ascii log/23/trace58 --trace-time http://127.0.0.1:35243/we/want/ -T log/23/58te[]st.txt -g > log/23/stdout58 2> log/23/stderr58 58: 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 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/23/valgrind58 ../src/curl -q --output log/23/curl58.out --include --trace-ascii log/23/trace58 --trace-time http://127.0.0.1:35243/we/want/ -T log/23/58te[]st.txt -g > log/23/stdout58 2> log/23/stderr58 === End of file commands.log === Start of file http_server.log 19:00:21.530870 ====> Client connect 19:00:21.530914 accept_connection 3 returned 4 19:00:21.530934 accept_connection 3 returned 0 19:00:21.530949 Read 93 bytes 19:00:21.530960 Process 93 bytes request 19:00:21.530973 Got request: GET /verifiedserver HTTP/1.1 19:00:21.530984 Are-we-friendly question received 19:00:21.531011 Wrote request (93 bytes) input to log/23/server.input 19:00:21.531030 Identifying ourselves as friends 19:00:21.531095 Response sent (56 bytes) and written to log/23/server.response 19:00:21.531107 special request received, no persistency 19:00:21.531117 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 55178 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind58 ==77961== ==77961== Process terminating with default action of signal 4 (SIGILL) ==77961== Illegal opcode at address 0x4013E00 ==77961== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77961== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77961== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77961== by 0x40037A4: main (tool_main.c:199) === End of file valgrind58 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/6/valgrind60 ../src/curl -q --output log/6/curl60.out --include --trace-ascii log/6/trace60 --trace-time http://127.0.0.1:41595/bzz/60 -T - -H "Content-Length: 1" log/6/stdout60 2> log/6/stderr60 60: 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 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/6/valgrind60 ../src/curl -q --output log/6/curl60.out --include --trace-ascii log/6/trace60 --trace-time http://127.0.0.1:41595/bzz/60 -T - -H "Content-Length: 1" log/6/stdout60 2> log/6/stderr60 === End of file commands.log === Start of file http_server.log 19:00:21.537316 ====> Client connect 19:00:21.537340 accept_connection 3 returned 4 19:00:21.537353 accept_connection 3 returned 0 19:00:21.537364 Read 93 bytes 19:00:21.537373 Process 93 bytes request 19:00:21.537383 Got request: GET /verifiedserver HTTP/1.1 19:00:21.537391 Are-we-friendly question received 19:00:21.537411 Wrote request (93 bytes) input to log/6/server.input 19:00:21.537425 Identifying ourselves as friends 19:00:21.537484 Response sent (56 bytes) and written to log/6/server.response 19:00:21.537493 special request received, no persistency 19:00:21.537500 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 57012 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intactCMD (33792): ../libtool --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/valgrind61 ../src/curl -q --output log/9/curl61.out --include --trace-ascii log/9/trace61 --trace-time http://127.0.0.1:36745/we/want/61 -c log/9/jar61.txt -H "Host: www.host.foo.com" > log/9/stdout61 2> log/9/stderr61 CMD (33792): ../libtool --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 http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === 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 ==77992== ==77992== Process terminating with default action of signal 4 (SIGILL) ==77992== Illegal opcode at address 0x4013E00 ==77992== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77992== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77992== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77992== by 0x40037A4: main (tool_main.c:199) === End of file valgrind60 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/11/valgrind59 ../src/curl -q --output log/11/curl59.out --include --trace-ascii log/11/trace59 --trace-time "http://127.0.0.1:46317?mooo/59" > log/11/stdout59 2> log/11/stderr59 59: 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 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/11/valgrind59 ../src/curl -q --output log/11/curl59.out --include --trace-ascii log/11/trace59 --trace-time "http://127.0.0.1:46317?mooo/59" > log/11/stdout59 2> log/11/stderr59 === End of file commands.log === Start of file http_server.log 19:00:21.533121 ====> Client connect 19:00:21.533150 accept_connection 3 returned 4 19:00:21.533164 accept_connection 3 returned 0 19:00:21.533174 Read 93 bytes 19:00:21.533183 Process 93 bytes request 19:00:21.533192 Got request: GET /verifiedserver HTTP/1.1 19:00:21.533200 Are-we-friendly question received 19:00:21.533219 Wrote request (93 bytes) input to log/11/server.input 19:00:21.533231 Identifying ourselves as friends 19:00:21.533276 Response sent (56 bytes) and written to log/11/server.response 19:00:21.533284 special request received, no persistency 19:00:21.533291 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 33724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind59 ==77964== ==77964== Process terminating with default action of signal 4 (SIGILL) ==77964== Illegal opcode at address 0x4013E00 ==77964== at 0x4013E00: getparameter (tool_getparam.c:2846) ==77964== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==77964== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==77964== by 0x40037A4: main (tool_main.c:199) === End of file valgrind59 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/9/valgrind61 ../src/curl -q --output log/9/curl61.out --include --trace-ascii log/9/trace61 --trace-time http://127.0.0.1:36745/we/want/61 -c log/9/jar61.txt -H "Host: www.host.foo.com" > log/9/stdout61 2> log/9/stderr61 61: 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 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/9/valgrind61 ../src/curl -q --output log/9/curl61.out --include --trace-ascii log/9/trace61 --trace-time http://127.0.0.1:36745/we/want/61 -c log/9/jar61.txt -H "Host: www.host.foo.com" > log/9/stdout61 2> log/9/stderr61 === End of file commands.log === Start of file http_server.log 19:00:21.550316 ====> Client connect 19:00:21.550347 accept_connection 3 returned 4 19:00:21.550361 accept_connection 3 returned 0 19:00:21.550373 Read 93 bytes 19:00:21.550381 Process 93 bytes request 19:00:21.550391 Got request: GET /verifiedserver HTTP/1.1 19:00:21.550398 Are-we-friendly question received 19:00:21.550418 Wrote request (93 bytes) input to log/9/server.input 19:00:21.550430 Identifying ourselves as friends 19:00:21.550483 Response sent (56 bytes) and written to log/9/server.response 19:00:21.550491 special request received, no persistency 19:00:21.550498 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 45490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind61 ==78060== ==78060== Process terminating with default action of signal 4 (SIGILL) ==78060== Illegal opcode at address 0x4013E00 ==78060== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78060== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78060== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78060== by 0x40037A4: main (tool_main.c:199) === End of file valgrind61 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 74797 port 37985 * pid http => 74797 74797 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 18:59:54.873652 Running HTTP IPv4 version on port 37985 18:59:54.873711 Wrote pid 74797 to log/4/server/http_server.pid 18:59:54.873733 Wrote port 37985 to log/4/server/http_server.port === End of file http_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/13/valgrind63 ../src/curl -q --output log/13/curl63.out --include --trace-ascii log/13/trace63 --trace-time http://we.want.that.site.com/63 > log/13/stdout63 2> log/13/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/12/valgrind62 ../src/curl -q --output log/12/curl62.out --include --trace-ascii log/12/trace62 --trace-time http://127.0.0.1:46819/we/want/62 http://127.0.0.1:46819/we/want/62?hoge=fuga -b log/12/jar62.txt -H "Host: www.host.foo.com" > log/12/stdout62 2> log/12/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/17/valgrind64 ../src/curl -q --output log/17/curl64.out --include --trace-ascii log/17/trace64 --trace-time http://127.0.0.1:40515/64 -u testuser:testpass --digest > log/17/stdout64 2> log/17/stderr64 CMD (33792): ../libtool --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/valgrind65 ../src/curl -q --output log/15/curl65.out --include --trace-ascii log/15/trace65 --trace-time http://127.0.0.1:44531/65 -u testuser:test2pass --digest > log/15/stdout65 2> log/15/stderr65 == Start of file server.cmd Testnum 21 === End of file server.cmd === Start of file valgrind21 ==75461== ==75461== Process terminating with default action of signal 4 (SIGILL) ==75461== Illegal opcode at address 0x4013E00 ==75461== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75461== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75461== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75461== by 0x40037A4: main (tool_main.c:199) === End of file valgrind21 setenv http_proxy = http://fake:user@127.0.0.1:35301/ 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/13/valgrind63 ../src/curl -q --output log/13/curl63.out --include --trace-ascii log/13/trace63 --trace-time http://we.want.that.site.com/63 > log/13/stdout63 2> log/13/stderr63 63: 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 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/13/valgrind63 ../src/curl -q --output log/13/curl63.out --include --trace-ascii log/13/trace63 --trace-time http://we.want.that.site.com/63 > log/13/stdout63 2> log/13/stderr63 === End of file commands.log === Start of file http_server.log 19:00:21.648913 ====> Client connect 19:00:21.648940 accept_connection 3 returned 4 19:00:21.648954 accept_connection 3 returned 0 19:00:21.648965 Read 93 bytes 19:00:21.648973 Process 93 bytes request 19:00:21.648983 Got request: GET /verifiedserver HTTP/1.1 19:00:21.648991 Are-we-friendly question received 19:00:21.649010 Wrote request (93 bytes) input to log/13/server.input 19:00:21.649023 Identifying ourselves as friends 19:00:21.649065 Response sent (56 bytes) and written to log/13/server.response 19:00:21.649073 special request received, no persistency 19:00:21.649081 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 55932 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind63 ==78233== ==78233== Process terminating with default action of signal 4 (SIGILL) ==78233== Illegal opcode at address 0x4013E00 ==78233== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78233== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78233== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78233== by 0x40037A4: main (tool_main.c:199) === End of file valgrind63 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/12/valgrind62 ../src/curl -q --output log/12/curl62.out --include --trace-ascii log/12/trace62 --trace-time http://127.0.0.1:46819/we/want/62 http://127.0.0.1:46819/we/want/62?hoge=fuga -b log/12/jar62.txt -H "Host: www.host.foo.com" > log/12/stdout62 2> log/12/stderr62 62: 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 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/12/valgrind62 ../src/curl -q --output log/12/curl62.out --include --trace-ascii log/12/trace62 --trace-time http://127.0.0.1:46819/we/want/62 http://127.0.0.1:46819/we/want/62?hoge=fuga -b log/12/jar62.txt -H "Host: www.host.foo.com" > log/12/stdout62 2> log/12/stderr62 === End of file commands.log === Start of file http_server.log 19:00:21.648428 ====> Client connect 19:00:21.648452 accept_connection 3 returned 4 19:00:21.648465 accept_connection 3 returned 0 19:00:21.648477 Read 93 bytes 19:00:21.648485 Process 93 bytes request 19:00:21.648495 Got request: GET /verifiedserver HTTP/1.1 19:00:21.648503 Are-we-friendly question received 19:00:21.648522 Wrote request (93 bytes) input to log/12/server.input 19:00:21.648535 Identifying ourselves as friends 19:00:21.648575 Response sent (56 bytes) and written to log/12/server.response 19:00:21.648583 special request received, no persistency 19:00:21.648591 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 48372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind62 ==78234== ==78234== Process terminating with default action of signal 4 (SIGILL) ==78234== Illegal opcode at address 0x4013E00 ==78234== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78234== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78234== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78234== by 0x40037A4: main (tool_main.c:199) === End of file valgrind62 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/17/valgrind64 ../src/curl -q --output log/17/curl64.out --include --trace-ascii log/17/trace64 --trace-time http://127.0.0.1:40515/64 -u testuser:testpass --digest > log/17/stdout64 2> log/17/stderr64 64: 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 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/17/valgrind64 ../src/curl -q --output log/17/curl64.out --include --trace-ascii log/17/trace64 --trace-time http://127.0.0.1:40515/64 -u testuser:testpass --digest > log/17/stdout64 2> log/17/stderr64 === End of file commands.log === Start of file http_server.log 19:00:22.648427 ====> Client connect 19:00:22.648456 accept_connection 3 returned 4 19:00:22.648469 accept_connection 3 returned 0 19:00:22.648479 Read 93 bytes 19:00:22.648488 Process 93 bytes request 19:00:22.648497 Got request: 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/10/valgrind66 ../src/curl -q --output log/10/curl66.out --include --trace-ascii log/10/trace66 --trace-time http://127.0.0.1:37879/66 --http0.9 > log/10/stdout66 2> log/10/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/5/valgrind67 ../src/curl -q --output log/5/curl67.out --include --trace-ascii log/5/trace67 --trace-time http://127.0.0.1:46771/67 -u testuser:testpass --ntlm > log/5/stdout67 2> log/5/stderr67 /verifiedserver HTTP/1.1 19:00:22.648505 Are-we-friendly question received 19:00:22.648524 Wrote request (93 bytes) input to log/17/server.input 19:00:22.648537 Identifying ourselves as friends 19:00:22.648584 Response sent (56 bytes) and written to log/17/server.response 19:00:22.648592 special request received, no persistency 19:00:22.648600 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 36172 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind64 ==78235== ==78235== Process terminating with default action of signal 4 (SIGILL) ==78235== Illegal opcode at address 0x4013E00 ==78235== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78235== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78235== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78235== by 0x40037A4: 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/15/valgrind65 ../src/curl -q --output log/15/curl65.out --include --trace-ascii log/15/trace65 --trace-time http://127.0.0.1:44531/65 -u testuser:test2pass --digest > log/15/stdout65 2> log/15/stderr65 65: 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 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/15/valgrind65 ../src/curl -q --output log/15/curl65.out --include --trace-ascii log/15/trace65 --trace-time http://127.0.0.1:44531/65 -u testuser:test2pass --digest > log/15/stdout65 2> log/15/stderr65 === End of file commands.log === Start of file http_server.log 19:00:21.660550 ====> Client connect 19:00:21.660579 accept_connection 3 returned 4 19:00:21.660593 accept_connection 3 returned 0 19:00:21.660608 Read 93 bytes 19:00:21.660617 Process 93 bytes request 19:00:21.660630 Got request: GET /verifiedserver HTTP/1.1 19:00:21.660638 Are-we-friendly question received 19:00:21.660659 Wrote request (93 bytes) input to log/15/server.input 19:00:21.660679 Identifying ourselves as friends 19:00:21.660728 Response sent (56 bytes) and written to log/15/server.response 19:00:21.660743 special request received, no persistency 19:00:21.660751 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 41860 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind65 ==78282== ==78282== Process terminating with default action of signal 4 (SIGILL) ==78282== Illegal opcode at address 0x4013E00 ==78282== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78282== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78282== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78282== by 0x40037A4: main (tool_main.c:199) === End of file valgrind65 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/10/valgrind66 ../src/curl -q --output log/10/curl66.out --include --trace-ascii log/10/trace66 --trace-time http://127.0.0.1:37879/66 --http0.9 > log/10/stdout66 2> log/10/stderr66 66: 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 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/10/valgrind66 ../src/curl -q --output log/10/curl66.out --include --trace-ascii log/10/trace66 --trace-time http://127.0.0.1:37879/66 --http0.9 > log/10/stdout66 2> log/10/stderr66 === End of file commands.log === Start of file http_server.log 19:00:21.881979 ====> Client connect 19:00:21.882014 accept_connection 3 returned 4 19:00:21.882032 accept_connection 3 returned 0 19:00:21.882048 Read 93 bytes 19:00:21.882059 Process 93 bytes request 19:00:21.882072 Got request: GET /verifiedserver HTTP/1.1 19:00:21.882082 Are-we-friendly question received 19:00:21.882111 Wrote request (93 bytes) input to log/10/server.input 19:00:21.882129 Identifying ourselves as friends 19:00:21.882188 Response sent (56 bytes) and written to log/10/server.response 19:00:21.882201 special request received, no persistency 19:00:21.882211 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 44510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind66 ==78474== ==78474== Process terminating with default action of signal 4 (SIGILL) ==78474== Illegal opcode at address 0x4013E00 ==78474== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78474== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78474== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78474== by 0x40037A4: main (tool_main.c:199) === End of file valgrind66 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/5/valgrind67 ../src/curl -q --output log/5/curl67.out --include --trace-ascii log/5/trace67 --trace-time http://127.0.0.1:46771/67 -u testuser:testpass --ntlm > log/5/stdout67 2> log/5/stderr67 67: 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 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/5/valgrind67 ../src/curl -q --output 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/8/valgrind17 ../src/curl -q --output log/8/curl17.out --include --trace-ascii log/8/trace17 --trace-time -K - 127.0.0.1:43853/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/16/valgrind68 ../src/curl -q --output log/16/curl68.out --include --trace-ascii log/16/trace68 --trace-time http://127.0.0.1:42747/68 -u testuser:testpass --ntlm > log/16/stdout68 2> log/16/stderr68 CMD (33792): ../libtool --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/valgrind69 ../src/curl -q --output log/3/curl69.out --include --trace-ascii log/3/trace69 --trace-time http://127.0.0.1:46261/69 -u testuser:testpass --anyauth > log/3/stdout69 2> log/3/stderr69 curl67.out --include --trace-ascii log/5/trace67 --trace-time http://127.0.0.1:46771/67 -u testuser:testpass --ntlm > log/5/stdout67 2> log/5/stderr67 === End of file commands.log === Start of file http_server.log 19:00:21.886927 ====> Client connect 19:00:21.886962 accept_connection 3 returned 4 19:00:21.886979 accept_connection 3 returned 0 19:00:21.886994 Read 93 bytes 19:00:21.887005 Process 93 bytes request 19:00:21.887017 Got request: GET /verifiedserver HTTP/1.1 19:00:21.887027 Are-we-friendly question received 19:00:21.887053 Wrote request (93 bytes) input to log/5/server.input 19:00:21.887070 Identifying ourselves as friends 19:00:21.887132 Response sent (56 bytes) and written to log/5/server.response 19:00:21.887144 special request received, no persistency 19:00:21.887153 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 43930 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind67 ==78499== ==78499== Process terminating with default action of signal 4 (SIGILL) ==78499== Illegal opcode at address 0x4013E00 ==78499== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78499== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78499== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78499== by 0x40037A4: main (tool_main.c:199) === End of file valgrind67 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 74688 port 43853 * pid http => 74688 74688 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:43853/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:43853/that.site.com/17 log/8/stdout17 2> log/8/stderr17 === End of file commands.log === Start of file http_server.log 18:59:53.665488 Running HTTP IPv4 version on port 43853 18:59:53.665546 Wrote pid 74688 to log/8/server/http_server.pid 18:59:53.665567 Wrote port 43853 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 ==75361== ==75361== Process terminating with default action of signal 4 (SIGILL) ==75361== Illegal opcode at address 0x4013E00 ==75361== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75361== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75361== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75361== by 0x40037A4: main (tool_main.c:199) === End of file valgrind17 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/16/valgrind68 ../src/curl -q --output log/16/curl68.out --include --trace-ascii log/16/trace68 --trace-time http://127.0.0.1:42747/68 -u testuser:testpass --ntlm > log/16/stdout68 2> log/16/stderr68 68: 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 68 === Start of file commands.log ../libtool --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/valgrind68 ../src/curl -q --output log/16/curl68.out --include --trace-ascii log/16/trace68 --trace-time http://127.0.0.1:42747/68 -u testuser:testpass --ntlm > log/16/stdout68 2> log/16/stderr68 === End of file commands.log === Start of file http_server.log 19:00:23.022068 ====> Client connect 19:00:23.022103 accept_connection 3 returned 4 19:00:23.022119 accept_connection 3 returned 0 19:00:23.022132 Read 93 bytes 19:00:23.022143 Process 93 bytes request 19:00:23.022159 Got request: GET /verifiedserver HTTP/1.1 19:00:23.022168 Are-we-friendly question received 19:00:23.022192 Wrote request (93 bytes) input to log/16/server.input 19:00:23.022212 Identifying ourselves as friends 19:00:23.022267 Response sent (56 bytes) and written to log/16/server.response 19:00:23.022281 special request received, no persistency 19:00:23.022290 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 60606 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind68 ==78612== ==78612== Process terminating with default action of signal 4 (SIGILL) ==78612== Illegal opcode at address 0x4013E00 ==78612== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78612== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78612== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78612== by 0x40037A4: main (tool_main.c:199) === End of file valgrind68 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/3/valgrind69 ../src/curl -q --output log/3/curl69.out --include --trace-ascii log/3/trace69 --trace-time http://127.0.0.1:46261/69 -u testuser:testpass --anyauth > log/3/stdout69 2> log/3/stderr69 69: 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 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/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/valgrind70 ../src/curl -q --output log/2/curl70.out --include --trace-ascii log/2/trace70 --trace-time http://127.0.0.1:44325/70 -u testuser:testpass --anyauth > log/2/stdout70 2> log/2/stderr70 CMD (33792): ../libtool --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/valgrind71 ../src/curl -q --output log/14/curl71.out --include --trace-ascii log/14/trace71 --trace-time http://127.0.0.1:36759/we/want/71 -K - log/14/stdout71 2> log/14/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/23/valgrind72 ../src/curl -q --output log/23/curl72.out --include --trace-ascii log/23/trace72 --trace-time http://127.0.0.1:35243/72 -u testuser:testpass --anyauth > log/23/stdout72 2> log/23/stderr72 /valgrind69 ../src/curl -q --output log/3/curl69.out --include --trace-ascii log/3/trace69 --trace-time http://127.0.0.1:46261/69 -u testuser:testpass --anyauth > log/3/stdout69 2> log/3/stderr69 === End of file commands.log === Start of file http_server.log 19:00:23.025597 ====> Client connect 19:00:23.025631 accept_connection 3 returned 4 19:00:23.025648 accept_connection 3 returned 0 19:00:23.025664 Read 93 bytes 19:00:23.025674 Process 93 bytes request 19:00:23.025691 Got request: GET /verifiedserver HTTP/1.1 19:00:23.025701 Are-we-friendly question received 19:00:23.025730 Wrote request (93 bytes) input to log/3/server.input 19:00:23.025751 Identifying ourselves as friends 19:00:23.025818 Response sent (56 bytes) and written to log/3/server.response 19:00:23.025834 special request received, no persistency 19:00:23.025844 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 59924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === End of file http_verify.out === Start of file server.cmd Testnum 69 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74802 === End of file server.response === Start of file valgrind69 ==78628== ==78628== Process terminating with default action of signal 4 (SIGILL) ==78628== Illegal opcode at address 0x4013E00 ==78628== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78628== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78628== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78628== by 0x40037A4: main (tool_main.c:199) === End of file valgrind69 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/2/valgrind70 ../src/curl -q --output log/2/curl70.out --include --trace-ascii log/2/trace70 --trace-time http://127.0.0.1:44325/70 -u testuser:testpass --anyauth > log/2/stdout70 2> log/2/stderr70 70: 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 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/2/valgrind70 ../src/curl -q --output log/2/curl70.out --include --trace-ascii log/2/trace70 --trace-time http://127.0.0.1:44325/70 -u testuser:testpass --anyauth > log/2/stdout70 2> log/2/stderr70 === End of file commands.log === Start of file http_server.log 19:00:23.142448 ====> Client connect 19:00:23.142473 accept_connection 3 returned 4 19:00:23.142487 accept_connection 3 returned 0 19:00:23.142499 Read 93 bytes 19:00:23.142508 Process 93 bytes request 19:00:23.142518 Got request: GET /verifiedserver HTTP/1.1 19:00:23.142526 Are-we-friendly question received 19:00:23.142544 Wrote request (93 bytes) input to log/2/server.input 19:00:23.142558 Identifying ourselves as friends 19:00:23.142602 Response sent (56 bytes) and written to log/2/server.response 19:00:23.142610 special request received, no persistency 19:00:23.142618 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 53782 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind70 ==78749== ==78749== Process terminating with default action of signal 4 (SIGILL) ==78749== Illegal opcode at address 0x4013E00 ==78749== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78749== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78749== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78749== by 0x40037A4: main (tool_main.c:199) === End of file valgrind70 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/14/valgrind71 ../src/curl -q --output log/14/curl71.out --include --trace-ascii log/14/trace71 --trace-time http://127.0.0.1:36759/we/want/71 -K - log/14/stdout71 2> log/14/stderr71 71: 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 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/14/valgrind71 ../src/curl -q --output log/14/curl71.out --include --trace-ascii log/14/trace71 --trace-time http://127.0.0.1:36759/we/want/71 -K - log/14/stdout71 2> log/14/stderr71 === End of file commands.log === Start of file http_server.log 19:00:22.147676 ====> Client connect 19:00:22.147704 accept_connection 3 returned 4 19:00:22.147718 accept_connection 3 returned 0 19:00:22.147729 Read 93 bytes 19:00:22.147737 Process 93 bytes request 19:00:22.147747 Got request: GET /verifiedserver HTTP/1.1 19:00:22.147755 Are-we-friendly question received 19:00:22.147772 Wrote request (93 bytes) input to log/14/server.input 19:00:22.147785 Identifying ourselves as friends 19:00:22.147824 Response sent (56 bytes) and written to log/14/server.response 19:00:22.147832 special request received, no persistency 19:00:22.147840 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 43342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file stdin-for-71 -F name=daniel -F tool=curl -F file=@log/14/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 ==78762== ==78762== Process terminating with default action of signal 4 (SIGILL) ==78762== Illegal opcode at address 0x4013E00 ==78762== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78762== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78762== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78762== by 0x40037A4: main (tool_main.c:199) === End of file valgrind71 test 0072...[HTTP with Digest *OR* Basic authorization] ../libtool --mode=execute /usr/bin/valgrind --toolCMD (33792): ../libtool --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/valgrind75 ../src/curl -q --include --trace-ascii log/9/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/9/weee#1.dump" --stderr - > log/9/stdout75 2> log/9/stderr75 =memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/23/valgrind72 ../src/curl -q --output log/23/curl72.out --include --trace-ascii log/23/trace72 --trace-time http://127.0.0.1:35243/72 -u testuser:testpass --anyauth > log/23/stdout72 2> log/23/stderr72 72: 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 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/23/valgrind72 ../src/curl -q --output log/23/curl72.out --include --trace-ascii log/23/trace72 --trace-time http://127.0.0.1:35243/72 -u testuser:testpass --anyauth > log/23/stdout72 2> log/23/stderr72 === End of file commands.log === Start of file http_server.log 19:00:22.296089 ====> Client connect 19:00:22.296122 accept_connection 3 returned 4 19:00:22.296139 accept_connection 3 returned 0 19:00:22.296324 Read 93 bytes 19:00:22.296339 Process 93 bytes request 19:00:22.296352 Got request: GET /verifiedserver HTTP/1.1 19:00:22.296362 Are-we-friendly question received 19:00:22.296391 Wrote request (93 bytes) input to log/23/server.input 19:00:22.296409 Identifying ourselves as friends 19:00:22.296464 Response sent (56 bytes) and written to log/23/server.response 19:00:22.296476 special request received, no persistency 19:00:22.296485 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 55180 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind72 ==78905== ==78905== Process terminating with default action of signal 4 (SIGILL) ==78905== Illegal opcode at address 0x4013E00 ==78905== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78905== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78905== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78905== by 0x40037A4: 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/6/valgrind73 ../src/curl -q --output log/6/curl73.out --include --trace-ascii log/6/trace73 --trace-time http://127.0.0.1:41595/we/want/73 -c log/6/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/6/stdout73 2> log/6/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/4/valgrind76 ../src/curl -q --output log/4/curl76.out --include --trace-ascii log/4/trace76 --trace-time http://127.0.0.1:37985/76 -u testuser:testpass --anyauth > log/4/stdout76 2> log/4/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/11/valgrind74 ../src/curl -q --include --trace-ascii log/11/trace74 --trace-time "http://127.0.0.1:46317/{74,740001}" -o "log/11/dumpit#1.dump" > log/11/stdout74 2> log/11/stderr74 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/9/valgrind75 ../src/curl -q --include --trace-ascii log/9/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/9/weee#1.dump" --stderr - > log/9/stdout75 2> log/9/stderr75 75: stdout FAILED: --- log/9/check-expected 2025-11-13 19:00:23.516057534 +0000 +++ log/9/check-generated 2025-11-13 19:00:23.516057534 +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/9/ 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/9/valgrind75 ../src/curl -q --include --trace-ascii log/9/trace75 --trace-time "http://a-site-never-accessed.example.org/[2-1]" -o "log/9/weee#1.dump" --stderr - > log/9/stdout75 2> log/9/stderr75 === End of file commands.log === Start of file server.cmd Testnum 75 === End of file server.cmd === Start of file valgrind75 ==78900== ==78900== Process terminating with default action of signal 4 (SIGILL) ==78900== Illegal opcode at address 0x4013E00 ==78900== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78900== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78900== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78900== by 0x40037A4: 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/6/valgrind73 ../src/curl -q --output log/6/curl73.out --include --trace-ascii log/6/trace73 --trace-time http://127.0.0.1:41595/we/want/73 -c log/6/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/6/stdout73 2> log/6/stderr73 73: 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 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/6/valgrind73 ../src/curl -q --output log/6/curl73.out --include --trace-ascii log/6/trace73 --trace-time http://127.0.0.1:41595/we/want/73 -c log/6/jar73.txt -H "Host: host.NOT_DISCLOSED.se" > log/6/stdout73 2> log/6/stderr73 === End of file commands.log === Start of file http_server.log 19:00:22.305379 ====> Client connect 19:00:22.305403 accept_connection 3 returned 4 19:00:22.305416 accept_connection 3 returned 0 19:00:22.305426 Read 93 bytes 19:00:22.305434 Process 93 bytes request 19:00:22.305443 Got request: GET /verifiedserver HTTP/1.1 19:00:22.305450 Are-we-friendly question received 19:00:22.305469 Wrote request (93 bytes) input to log/6/server.input 19:00:22.305481 Identifying ourselves as friends 19:00:22.305520 Response sent (56 bytes) and written to log/6/server.response 19:00:22.305527 special request received, no persistency 19:00:22.305534 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 57028 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind73 ==78940== ==78940== Process terminating with default action of signal 4 (SIGILL) ==78940== Illegal opcode at address 0x4013E00 ==78940== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78940== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78940== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78940== by 0x40037A4: 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/4/valgrind76 ../src/curl -q --output log/4/curl76.out --include --trace-ascii log/4/trace76 --trace-time http://127.0.0.1:37985/76 -u testuser:testpass --anyauth > log/4/stdout76 2> log/4/stderr76 76: 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 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/4/valgrind76 ../src/curl -q --output log/4/curl76.out --include --trace-ascii log/4/trace76 --trace-time http://127.0.0.1:37985/76 -u testuser:testpass --anyauth > log/4/stdout76 2> log/4/stderr76 === End of file commands.log === Start of file http_server.log 19:00:23.324014 ====> Client connect 19:00:23.324049 accept_connection 3 returned 4 19:00:23.324066 accept_connection 3 returned 0 19:00:23.324081 Read 93 bytes 19:00:23.324092 Process 93 bytes request 19:00:23.324116 Got request: GET /verifiedserver HTTP/1.1 19:00:23.324127 Are-we-friendly question received 19:00:23.324154 Wrote request (93 bytes) input to log/4/server.input 19:00:23.324175 Identifying ourselves as friends 19:00:23.324241 Response sent (56 bytes) and written to log/4/server.response 19:00:23.324256 special request received, no persistency 19:00:23.324266 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 51412 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind76 ==79071== ==79071== Process terminating with default action of signal 4 (SIGILL) ==79071== Illegal opcode at address 0x4013E00 ==79071== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79071== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79071== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79071== by 0x40037A4: main (tool_main.c:199) === End of file valgrind76 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/11/valgrind74 ../src/curl -q --include --trace-ascii log/11/trace74 --trace-time "http://127.0.0.1:46317/{74,740001}" -o CMD (33792): ../libtool --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/valgrind77 ../src/curl -q --output log/13/curl77.out --include --trace-ascii log/13/trace77 --trace-time http://127.0.0.1:35301/77 -z "dec 12 12:00:00 1999 GMT" > log/13/stdout77 2> log/13/stderr77 CMD (33792): ../libtool --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/valgrind78 ../src/curl -q --output log/17/curl78.out --include --trace-ascii log/17/trace78 --trace-time http://127.0.0.1:40515/78 -z "dec 12 11:00:00 1999 GMT" > log/17/stdout78 2> log/17/stderr78 "log/11/dumpit#1.dump" > log/11/stdout74 2> log/11/stderr74 74: 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 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/11/valgrind74 ../src/curl -q --include --trace-ascii log/11/trace74 --trace-time "http://127.0.0.1:46317/{74,740001}" -o "log/11/dumpit#1.dump" > log/11/stdout74 2> log/11/stderr74 === End of file commands.log === Start of file http_server.log 19:00:22.303462 ====> Client connect 19:00:22.303488 accept_connection 3 returned 4 19:00:22.303502 accept_connection 3 returned 0 19:00:22.303513 Read 93 bytes 19:00:22.303522 Process 93 bytes request 19:00:22.303532 Got request: GET /verifiedserver HTTP/1.1 19:00:22.303540 Are-we-friendly question received 19:00:22.303560 Wrote request (93 bytes) input to log/11/server.input 19:00:22.303578 Identifying ourselves as friends 19:00:22.303619 Response sent (56 bytes) and written to log/11/server.response 19:00:22.303627 special request received, no persistency 19:00:22.303634 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 33730 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind74 ==78936== ==78936== Process terminating with default action of signal 4 (SIGILL) ==78936== Illegal opcode at address 0x4013E00 ==78936== at 0x4013E00: getparameter (tool_getparam.c:2846) ==78936== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==78936== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==78936== by 0x40037A4: 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/13/valgrind77 ../src/curl -q --output log/13/curl77.out --include --trace-ascii log/13/trace77 --trace-time http://127.0.0.1:35301/77 -z "dec 12 12:00:00 1999 GMT" > log/13/stdout77 2> log/13/stderr77 77: 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 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/13/valgrind77 ../src/curl -q --output log/13/curl77.out --include --trace-ascii log/13/trace77 --trace-time http://127.0.0.1:35301/77 -z "dec 12 12:00:00 1999 GMT" > log/13/stdout77 2> log/13/stderr77 === End of file commands.log === Start of file http_server.log 19:00:22.455123 ====> Client connect 19:00:22.455148 accept_connection 3 returned 4 19:00:22.455161 accept_connection 3 returned 0 19:00:22.455172 Read 93 bytes 19:00:22.455180 Process 93 bytes request 19:00:22.455189 Got request: GET /verifiedserver HTTP/1.1 19:00:22.455197 Are-we-friendly question received 19:00:22.455215 Wrote request (93 bytes) input to log/13/server.input 19:00:22.455228 Identifying ourselves as friends 19:00:22.455266 Response sent (56 bytes) and written to log/13/server.response 19:00:22.455274 special request received, no persistency 19:00:22.455281 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 55948 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind77 ==79211== ==79211== Process terminating with default action of signal 4 (SIGILL) ==79211== Illegal opcode at address 0x4013E00 ==79211== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79211== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79211== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79211== by 0x40037A4: main (tool_main.c:199) === End of file valgrind77 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/17/valgrind78 ../src/curl -q --output log/17/curl78.out --include --trace-ascii log/17/trace78 --trace-time http://127.0.0.1:40515/78 -z "dec 12 11:00:00 1999 GMT" > log/17/stdout78 2> log/17/stderr78 78: 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 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/17/valgrind78 ../src/curl -q --output log/17/curl78.out --include --trace-ascii log/17/trace78 --trace-time http://127.0.0.1:40515/78 -z "dec 12 11:00:00 1999 GMT" > log/17/stdout78 2> log/17/stderr78 === End of file commands.log === Start of file http_server.log 19:00:23.467456 ====> Client connect 19:00:23.467488 accept_connection 3 returned 4 19:00:23.467504 accept_connection 3 returned 0 19:00:23.467517 Read 93 bytes 19:00:23.467528 Process 93 bytes request 19:00:23.467539 Got request: GET /verifiedserver HTTP/1.1 19:00:23.467549 Are-we-friendly question received 19:00:23.467574 Wrote request (93 bytes) input to log/17/server.input 19:00:23.467591 Identifying ourselves as friends 19:00:23.467644 Response sent (56 bytes) and written to log/17/server.response 19:00:23.467654 special request received, no persistency 19:00:23.467664 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 36184 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind78 ==79242== ==79242== Process terminating with default action of signal 4 (SIGILL) ==79242== Illegal opcode at address 0x4013E00 ==79242== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79242== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79242== by 0x40037A4: UnknownInlinedFun (toolCMD (33792): ../libtool --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/valgrind79 ../src/curl -q --output log/15/curl79.out --include --trace-ascii log/15/trace79 --trace-time ftp://127.0.0.1:44531/we/want/that/page/79 -x 127.0.0.1:44531 > log/15/stdout79 2> log/15/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/19/valgrind6 ../src/curl -q --output log/19/curl6.out --include --trace-ascii log/19/trace6 --trace-time http://127.0.0.1:41761/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/10/valgrind81 ../src/curl -q --output log/10/curl81.out --include --trace-ascii log/10/trace81 --trace-time http://127.0.0.1:37879/81 --proxy-user testuser:testpass -x http://127.0.0.1:37879 --proxy-ntlm > log/10/stdout81 2> log/10/stderr81 _operate.c:2237) ==79242== by 0x40037A4: main (tool_main.c:199) === End of file valgrind78 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/15/valgrind79 ../src/curl -q --output log/15/curl79.out --include --trace-ascii log/15/trace79 --trace-time ftp://127.0.0.1:44531/we/want/that/page/79 -x 127.0.0.1:44531 > log/15/stdout79 2> log/15/stderr79 79: 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 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/15/valgrind79 ../src/curl -q --output log/15/curl79.out --include --trace-ascii log/15/trace79 --trace-time ftp://127.0.0.1:44531/we/want/that/page/79 -x 127.0.0.1:44531 > log/15/stdout79 2> log/15/stderr79 === End of file commands.log === Start of file http_server.log 19:00:22.467379 ====> Client connect 19:00:22.467412 accept_connection 3 returned 4 19:00:22.467428 accept_connection 3 returned 0 19:00:22.467454 Read 93 bytes 19:00:22.467465 Process 93 bytes request 19:00:22.467478 Got request: GET /verifiedserver HTTP/1.1 19:00:22.467488 Are-we-friendly question received 19:00:22.467516 Wrote request (93 bytes) input to log/15/server.input 19:00:22.467535 Identifying ourselves as friends 19:00:22.467595 Response sent (56 bytes) and written to log/15/server.response 19:00:22.467607 special request received, no persistency 19:00:22.467617 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 41876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind79 ==79244== ==79244== Process terminating with default action of signal 4 (SIGILL) ==79244== Illegal opcode at address 0x4013E00 ==79244== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79244== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79244== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79244== by 0x40037A4: 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/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 74422 port 41761 * pid http => 74422 74422 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:41761/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:41761/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 18:59:52.659226 Running HTTP IPv4 version on port 41761 18:59:52.659281 Wrote pid 74422 to log/19/server/http_server.pid 18:59:52.659303 Wrote port 41761 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 ==74689== ==74689== Process terminating with default action of signal 4 (SIGILL) ==74689== Illegal opcode at address 0x4013E00 ==74689== at 0x4013E00: getparameter (tool_getparam.c:2846) ==74689== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74689== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==74689== by 0x40037A4: main (tool_main.c:199) === End of file valgrind6 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/10/valgrind81 ../src/curl -q --output log/10/curl81.out --include --trace-ascii log/10/trace81 --trace-time http://127.0.0.1:37879/81 --proxy-user testuser:testpass -x http://127.0.0.1:37879 --proxy-ntlm > log/10/stdout81 2> log/10/stderr81 81: 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 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/10/valgrind81 ../src/curl -q --output log/10/curl81.out --include --trace-ascii log/10/trace81 --trace-time http://127.0.0.1:37879/81 --proxy-user testuser:testpass -x http://127.0.0.1:37879 --proxy-ntlm > log/10/stdout81 2> log/10/stderr81 === End of file commands.log === Start of file http_server.log 19:00:22.775571 ====> Client connect 19:00:22.775605 accept_connection 3 returned 4 19:00:22.775623 accept_connection 3 returned 0 19:00:22.775638 Read 93 bytes 19:00:22.775649 Process 93 bytes request 19:00:22.775664 Got request: GET /verifiedserver HTTP/1.1 19:00:22.775674 Are-we-friendly question received 19:00:22.775700 Wrote request (93 bytes) input to log/10/server.input 19:00:22.775718 Identifying ourselves as friends 19:00:22.775774 Response sent (56 bytes) and written to log/10/server.response 19:00:22.775784 special request received, no persistency 19:00:22.775794 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 44516 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind81 ==79448== ==79448== Process terminating with default action of signal 4 (SIGILL) ==79448== Illegal opcode at address 0x4013E00 ==79448== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79448== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79448== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79448== by 0x40037A4: 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/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:41061/3 > log/22/stdout3 2> log/22/stderr3 CMD (33792): ../libtool --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/valgrind82 ../src/curl -q --output log/5/curl82.out --include --trace-ascii log/5/trace82 --trace-time http://127.0.0.1:46771/82 --proxy-user testuser:testpass -x http://127.0.0.1:46771 > log/5/stdout82 2> log/5/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/16/valgrind84 ../src/curl -q --output log/16/curl84.out --include --trace-ascii log/16/trace84 --trace-time http://127.0.0.1:42747/we/want/that/page/84 -x 127.0.0.1:42747 --user iam:myself > log/16/stdout84 2> log/16/stderr84 l_main.c:199) === End of file valgrind81 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 74419 port 41061 * pid http => 74419 74419 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:41061/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-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:41061/3 > log/22/stdout3 2> log/22/stderr3 === End of file commands.log === Start of file http_server.log 18:59:52.357486 Running HTTP IPv4 version on port 41061 18:59:52.357628 Wrote pid 74419 to log/22/server/http_server.pid 18:59:52.357665 Wrote port 41061 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 ==74528== ==74528== Process terminating with default action of signal 4 (SIGILL) ==74528== Illegal opcode at address 0x4013E00 ==74528== at 0x4013E00: getparameter (tool_getparam.c:2846) ==74528== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74528== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==74528== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3 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/5/valgrind82 ../src/curl -q --output log/5/curl82.out --include --trace-ascii log/5/trace82 --trace-time http://127.0.0.1:46771/82 --proxy-user testuser:testpass -x http://127.0.0.1:46771 > log/5/stdout82 2> log/5/stderr82 82: 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 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/5/valgrind82 ../src/curl -q --output log/5/curl82.out --include --trace-ascii log/5/trace82 --trace-time http://127.0.0.1:46771/82 --proxy-user testuser:testpass -x http://127.0.0.1:46771 > log/5/stdout82 2> log/5/stderr82 === End of file commands.log === Start of file http_server.log 19:00:22.771384 ====> Client connect 19:00:22.771421 accept_connection 3 returned 4 19:00:22.771438 accept_connection 3 returned 0 19:00:22.771454 Read 93 bytes 19:00:22.771464 Process 93 bytes request 19:00:22.771477 Got request: GET /verifiedserver HTTP/1.1 19:00:22.771487 Are-we-friendly question received 19:00:22.771514 Wrote request (93 bytes) input to log/5/server.input 19:00:22.771531 Identifying ourselves as friends 19:00:22.771591 Response sent (56 bytes) and written to log/5/server.response 19:00:22.771603 special request received, no persistency 19:00:22.771613 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 43940 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind82 ==79436== ==79436== Process terminating with default action of signal 4 (SIGILL) ==79436== Illegal opcode at address 0x4013E00 ==79436== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79436== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79436== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79436== by 0x40037A4: main (tool_main.c:199) === End of file valgrind82 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:42747/we/want/that/page/84 -x 127.0.0.1:42747 --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:42747/we/want/that/page/84 -x 127.0.0.1:42747 --user iam:myself > log/16/stdout84 2> log/16/stderr84 === End of file commands.log === Start of file http_server.log 19:00:23.929593 ====> Client connect 19:00:23.929632 accept_connection 3 returned 4 19:00:23.929652 accept_connection 3 returned 0 19:00:23.929668 Read 93 bytes 19:00:23.929679 Process 93 bytes request 19:00:23.929694 Got request: GET /verifiedserver HTTP/1.1 19:00:23.929705 Are-we-friendly question received 19:00:23.929732 Wrote request (93 bytes) input to log/16/server.input 19:00:23.929749 Identifying ourselves as friends 19:00:23.929810 Response sent (56 bytes) and written to log/16/server.response 19:00:23.929821 special request received, no persistency 19:00:23.929831 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 60618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind84 ==79544== ==79544== Process terminating with default action of signal 4 (SIGILL) ==79544== Illegal opcode at address 0x4013E00 ==79544== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79544== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79544== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79544== by 0x40037A4: main (tool_main.c:CMD (33792): ../libtool --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/valgrind85 ../src/curl -q --output log/3/curl85.out --include --trace-ascii log/3/trace85 --trace-time http://127.0.0.1:46261/we/want/that/page/85 -x 127.0.0.1:46261 --user iam:myself --proxy-user testing:this > log/3/stdout85 2> log/3/stderr85 CMD (33792): ../libtool --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/valgrind87 ../src/curl -q --include --trace-ascii log/14/trace87 --trace-time "http://127.0.0.1:36759/[870001-870002]" -o "log/14/dumpit87-#2.dump" > log/14/stdout87 2> log/14/stderr87 CMD (33792): ../libtool --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/valgrind86 ../src/curl -q --include --trace-ascii log/2/trace86 --trace-time "http://127.0.0.1:44325/[860001-860003]" -o "log/2/dumpit#1.dump" > log/2/stdout86 2> log/2/stderr86 199) === End of file valgrind84 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/3/valgrind85 ../src/curl -q --output log/3/curl85.out --include --trace-ascii log/3/trace85 --trace-time http://127.0.0.1:46261/we/want/that/page/85 -x 127.0.0.1:46261 --user iam:myself --proxy-user testing:this > log/3/stdout85 2> log/3/stderr85 85: 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 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/3/valgrind85 ../src/curl -q --output log/3/curl85.out --include --trace-ascii log/3/trace85 --trace-time http://127.0.0.1:46261/we/want/that/page/85 -x 127.0.0.1:46261 --user iam:myself --proxy-user testing:this > log/3/stdout85 2> log/3/stderr85 === End of file commands.log === Start of file http_server.log 19:00:23.946210 ====> Client connect 19:00:23.946266 accept_connection 3 returned 4 19:00:23.946286 accept_connection 3 returned 0 19:00:23.946302 Read 93 bytes 19:00:23.946314 Process 93 bytes request 19:00:23.946329 Got request: GET /verifiedserver HTTP/1.1 19:00:23.946340 Are-we-friendly question received 19:00:23.946372 Wrote request (93 bytes) input to log/3/server.input 19:00:23.946392 Identifying ourselves as friends 19:00:23.946469 Response sent (56 bytes) and written to log/3/server.response 19:00:23.946482 special request received, no persistency 19:00:23.946493 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 59926 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind85 ==79555== ==79555== Process terminating with default action of signal 4 (SIGILL) ==79555== Illegal opcode at address 0x4013E00 ==79555== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79555== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79555== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79555== by 0x40037A4: main (tool_main.c:199) === End of file valgrind85 CMD (33792): ../libtool --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/valgrind90 ../src/curl -q --output log/6/curl90.out --include --trace-ascii log/6/trace90 --trace-time http://127.0.0.1:41595/90 -u testuser:testpass --anyauth -L > log/6/stdout90 2> log/6/stderr90 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/14/valgrind87 ../src/curl -q --include --trace-ascii log/14/trace87 --trace-time "http://127.0.0.1:36759/[870001-870002]" -o "log/14/dumpit87-#2.dump" > log/14/stdout87 2> log/14/stderr87 87: output (log/14/dumpit87-#2.dump) FAILED: --- log/14/check-expected 2025-11-13 19:00:25.062724215 +0000 +++ log/14/check-generated 2025-11-13 19:00:25.062724215 +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/14/ 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/14/valgrind87 ../src/curl -q --include --trace-ascii log/14/trace87 --trace-time "http://127.0.0.1:36759/[870001-870002]" -o "log/14/dumpit87-#2.dump" > log/14/stdout87 2> log/14/stderr87 === End of file commands.log === Start of file http_server.log 19:00:23.224511 ====> Client connect 19:00:23.224549 accept_connection 3 returned 4 19:00:23.224568 accept_connection 3 returned 0 19:00:23.224717 Read 93 bytes 19:00:23.224735 Process 93 bytes request 19:00:23.224750 Got request: GET /verifiedserver HTTP/1.1 19:00:23.224761 Are-we-friendly question received 19:00:23.224791 Wrote request (93 bytes) input to log/14/server.input 19:00:23.224810 Identifying ourselves as friends 19:00:23.224867 Response sent (56 bytes) and written to log/14/server.response 19:00:23.224879 special request received, no persistency 19:00:23.224889 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 43348 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind87 ==79747== ==79747== Process terminating with default action of signal 4 (SIGILL) ==79747== Illegal opcode at address 0x4013E00 ==79747== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79747== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79747== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79747== by 0x40037A4: 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/2/valgrind86 ../src/curl -q --include --trace-ascii log/2/trace86 --trace-time "http://127.0.0.1:44325/[860001-860003]" -o "log/2/dumpit#1.dump" > log/2/stdout86 2> log/2/stderr86 86: 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 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/2/valgrind86 ../src/curl -q --include --trace-ascii log/2/trace86 --trace-time "http://127.0.0.1:44325/[860001-860003]" -o "log/2/dumpit#1.dump" > log/2/stdout86 2> log/2/stderr86 === End of file commands.log === Start of file http_server.log 19:00:24.103346 ====> Client connect 19:00:24.103383 accept_connection 3 returned 4 19:00:24.103403 accept_connection 3 returned 0 19:00:24.103420 Read 93 bytes 19:00:24.103431 Process 93 bytes request 19:00:24.103445 Got request: GET /verifiedserver HTTP/1.1 19:00:24.103456 Are-we-friendly question received 19:00:24.103485 Wrote request (93 bytes) input to log/2/server.input 19:00:24.103505 Identifying ourselves as friends 19:00:24.103570 Response sent (56 bytes) and written to log/2/server.response 19:00:24.103585 special request received, no persistency 19:00:24.103596 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 53792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind86 ==79677== ==79677== Process terminating with default action of signal 4 (SIGILL) ==79677== Illegal opcode at address 0x4013E00 ==79677== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79677== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79677== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79677== by 0x40037A4: main (tool_main.c:199) === End of file valgrind86 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/6/valgrind90 ../src/curl -q --output log/6/curl90.out --include --trace-ascii log/6/trace90 --trace-time http://127.0.0.1:41595/90 -u testuser:testpass --anyauth -L > log/6/stdout90 2> log/6/stderr90 90: 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 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/6/valgrind90 ../src/curl -q --output log/6/curl90.out --include --trace-ascii log/6/trace90 --trace-time http://127.0.0.1:41595/90 -u testuser:testpass --anyauth -L > log/6/stdout90 2> log/6/stderr90 === End of file commands.log === Start of file http_server.log 19:00:23.362208 ====> Client connect 19:00:23.362252 accept_connection 3 returned 4 19:00:23.362271 accept_connection 3 returned 0 19:00:23.362287 Read 93 bytes 19:00:23.362298 Process 93 bytes request 19:00:23.362312 Got request: GET /verifiedserver HTTP/1.1 19:00:23.362322 Are-we-friendly question received 19:00:23.362352 Wrote request (93 bytes) input to log/6/server.input 19:00:23.362369 Identifying ourselves as friends 19:00:23.362426 Response sent (56 bytes) and written to log/6/server.response 19:00:23.362437 special request received, no persistency 19:00:23.362447 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 57030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [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/valgrind91 ../src/curl -q --output log/4/curl91.out --include --trace-ascii log/4/trace91 --trace-time http://127.0.0.1:37985/91 --anyauth -u mydomain\\myself:secret > log/4/stdout91 2> log/4/stderr91 CMD (33792): ../libtool --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/valgrind89 ../src/curl -q --output log/9/curl89.out --include --trace-ascii log/9/trace89 --trace-time http://127.0.0.1:36745/89 -u testuser:testpass --ntlm -L > log/9/stdout89 2> log/9/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/11/valgrind92 ../src/curl -q --output log/11/curl92.out --include --trace-ascii log/11/trace92 --trace-time http://127.0.0.1:46317/want/92 -C 87 > log/11/stdout92 2> log/11/stderr92 7 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === End of file http_verify.out === Start of file server.cmd Testnum 90 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76270 === End of file server.response === Start of file valgrind90 ==79853== ==79853== Process terminating with default action of signal 4 (SIGILL) ==79853== Illegal opcode at address 0x4013E00 ==79853== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79853== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79853== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79853== by 0x40037A4: main (tool_main.c:199) === End of file valgrind90 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/4/valgrind91 ../src/curl -q --output log/4/curl91.out --include --trace-ascii log/4/trace91 --trace-time http://127.0.0.1:37985/91 --anyauth -u mydomain\\myself:secret > log/4/stdout91 2> log/4/stderr91 91: 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 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/4/valgrind91 ../src/curl -q --output log/4/curl91.out --include --trace-ascii log/4/trace91 --trace-time http://127.0.0.1:37985/91 --anyauth -u mydomain\\myself:secret > log/4/stdout91 2> log/4/stderr91 === End of file commands.log === Start of file http_server.log 19:00:24.475240 ====> Client connect 19:00:24.475286 accept_connection 3 returned 4 19:00:24.475303 accept_connection 3 returned 0 19:00:24.475318 Read 93 bytes 19:00:24.475328 Process 93 bytes request 19:00:24.475342 Got request: GET /verifiedserver HTTP/1.1 19:00:24.475352 Are-we-friendly question received 19:00:24.475377 Wrote request (93 bytes) input to log/4/server.input 19:00:24.475395 Identifying ourselves as friends 19:00:24.475447 Response sent (56 bytes) and written to log/4/server.response 19:00:24.475457 special request received, no persistency 19:00:24.475467 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 51428 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind91 ==79971== ==79971== Process terminating with default action of signal 4 (SIGILL) ==79971== Illegal opcode at address 0x4013E00 ==79971== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79971== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79971== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79971== by 0x40037A4: main (tool_main.c:199) === End of file valgrind91 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/9/valgrind89 ../src/curl -q --output log/9/curl89.out --include --trace-ascii log/9/trace89 --trace-time http://127.0.0.1:36745/89 -u testuser:testpass --ntlm -L > log/9/stdout89 2> log/9/stderr89 89: 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 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/9/valgrind89 ../src/curl -q --output log/9/curl89.out --include --trace-ascii log/9/trace89 --trace-time http://127.0.0.1:36745/89 -u testuser:testpass --ntlm -L > log/9/stdout89 2> log/9/stderr89 === End of file commands.log === Start of file http_server.log 19:00:23.374525 ====> Client connect 19:00:23.374565 accept_connection 3 returned 4 19:00:23.374582 accept_connection 3 returned 0 19:00:23.374598 Read 93 bytes 19:00:23.374610 Process 93 bytes request 19:00:23.374628 Got request: GET /verifiedserver HTTP/1.1 19:00:23.374638 Are-we-friendly question received 19:00:23.374667 Wrote request (93 bytes) input to log/9/server.input 19:00:23.374685 Identifying ourselves as friends 19:00:23.374745 Response sent (56 bytes) and written to log/9/server.response 19:00:23.374756 special request received, no persistency 19:00:23.374767 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 45492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind89 ==79843== ==79843== Process terminating with default action of signal 4 (SIGILL) ==79843== Illegal opcode at address 0x4013E00 ==79843== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79843== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79843== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79843== by 0x40037A4: main (tool_main.c:199) === End of file valgrind89 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/11/valgrind92 ../src/curl -q --output log/11/curl92.out --include --trace-ascii log/11/trace92 --trace-time http://127.0.0.1:46317/want/92 -C 87 > log/11/stdout92 2> log/11/stderr92 92: 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 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/11/valgrind92 ../src/curl -q --output log/11/curl92.out --include --trace-ascii log/11/trace92 --trace-time http://127.0.0.1:46317/want/92 -C 87 > log/11/stdout92 2> log/11/stderr92 === End of file commands.log === Start of file http_server.log 19:00:23.500881 ====> Client connect 19:00:23.500928 accept_connection 3 returned 4 19:00:23.500951 accept_connection 3 returned 0 19:00:23.500968 Read 93 bytes 19:00:23.500980 Process 93 bytes request 19:00:23.500997 Got request: GET /verifiedserver HTTP/1.1 19:00:23.501008 Are-we-friendly question received 19:00:23.501040 Wrote request (93 bytes) input to log/11/server.input 19:00:23.501061 Identifying ourselves as friends 19:00:23.501141 Response sent (56 bytes) and written 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/23/valgrind88 ../src/curl -q --output log/23/curl88.out --include --trace-ascii log/23/trace88 --trace-time http://127.0.0.1:35243/88 -T log/23/put88 -u testuser:testpass --digest > log/23/stdout88 2> log/23/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/20/valgrind5 ../src/curl -q --output log/20/curl5.out --include --trace-ascii log/20/trace5 --trace-time http://127.0.0.1:38583/we/want/that/page/5#5 -x 127.0.0.1:38583 > 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/12/valgrind80 ../src/curl -q --output log/12/curl80.out --include --trace-ascii log/12/trace80 --trace-time http://test.80:46819/we/want/that/page/80 -p --proxy1.0 127.0.0.1:45439 --user iam:myself --proxy-user youare:yourself -A "" > log/12/stdout80 2> log/12/stderr80 g/11/server.response 19:00:23.501157 special request received, no persistency 19:00:23.501169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 33732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind92 ==79996== ==79996== Process terminating with default action of signal 4 (SIGILL) ==79996== Illegal opcode at address 0x4013E00 ==79996== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79996== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79996== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79996== by 0x40037A4: main (tool_main.c:199) === End of file valgrind92 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/23/valgrind88 ../src/curl -q --output log/23/curl88.out --include --trace-ascii log/23/trace88 --trace-time http://127.0.0.1:35243/88 -T log/23/put88 -u testuser:testpass --digest > log/23/stdout88 2> log/23/stderr88 88: 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 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/23/valgrind88 ../src/curl -q --output log/23/curl88.out --include --trace-ascii log/23/trace88 --trace-time http://127.0.0.1:35243/88 -T log/23/put88 -u testuser:testpass --digest > log/23/stdout88 2> log/23/stderr88 === End of file commands.log === Start of file http_server.log 19:00:23.345395 ====> Client connect 19:00:23.345433 accept_connection 3 returned 4 19:00:23.345452 accept_connection 3 returned 0 19:00:23.345467 Read 93 bytes 19:00:23.345477 Process 93 bytes request 19:00:23.345490 Got request: GET /verifiedserver HTTP/1.1 19:00:23.345499 Are-we-friendly question received 19:00:23.345524 Wrote request (93 bytes) input to log/23/server.input 19:00:23.345541 Identifying ourselves as friends 19:00:23.345610 Response sent (56 bytes) and written to log/23/server.response 19:00:23.345621 special request received, no persistency 19:00:23.345630 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 55186 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind88 ==79836== ==79836== Process terminating with default action of signal 4 (SIGILL) ==79836== Illegal opcode at address 0x4013E00 ==79836== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79836== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79836== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79836== by 0x40037A4: 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/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 74421 port 38583 * pid http => 74421 74421 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:38583/we/want/that/page/5#5 -x 127.0.0.1:38583 > 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:38583/we/want/that/page/5#5 -x 127.0.0.1:38583 > log/20/stdout5 2> log/20/stderr5 === End of file commands.log === Start of file http_server.log 18:59:52.558725 Running HTTP IPv4 version on port 38583 18:59:52.558779 Wrote pid 74421 to log/20/server/http_server.pid 18:59:52.558802 Wrote port 38583 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 ==74639== ==74639== Process terminating with default action of signal 4 (SIGILL) ==74639== Illegal opcode at address 0x4013E00 ==74639== at 0x4013E00: getparameter (tool_getparam.c:2846) ==74639== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74639== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==74639== by 0x40037A4: main (tool_main.c:199) === End of file valgrind5 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/12/server/http2_server.pid" --logfile "log/12/http2_server.log" --logdir "log/12" --portfile log/12/server/http2_server.port --config log/12/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 79267 port 45439 * pid http-proxy => 79267 79267 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/12/valgrind80 ../src/curl -q --output log/12/curl80.out --include --trace-ascii log/12/trace80 --trace-time http://test.80:46819/we/want/that/page/80 -p --proxy1.0 127.0.0.1:45439 --user iam:myself --proxy-user youare:yourself -A "" > log/12/stdout80 2> log/12/stderr80 80: 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 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/12/valgrind80 ../src/curl -q --output log/12/curl80.out --include --trace-ascii log/12/trace80 --trace-time http://test.80:46819/we/want/that/page/80 -p --proxy1.0 127.0.0.1:45439 --user iam:myself --proxy-user youare:yourself -A "" > log/12/stdout80 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/13/valgrind93 ../src/curl -q --output log/13/curl93.out --include --trace-ascii log/13/trace93 --trace-time http://127.0.0.1:35301/93 -x 127.0.0.1:35301 > log/13/stdout93 2> log/13/stderr93 CMD (33792): ../libtool --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/valgrind94 ../src/curl -q --output log/17/curl94.out --include --trace-ascii log/17/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:40515 > log/17/stdout94 2> log/17/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/7/valgrind18 ../src/curl -q --include --trace-ascii log/7/trace18 --trace-time "127.0.0.1:41017/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 log/12/stderr80 === End of file commands.log === Start of file http2_server.log 19:00:22.503286 Run as proxy, CONNECT to host 127.0.0.1 19:00:22.503409 Running HTTP IPv4 version on port 45439 19:00:22.503446 Wrote pid 79267 to log/12/server/http2_server.pid 19:00:22.503469 Wrote port 45439 to log/12/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:00:22.480603 ====> Client connect 19:00:22.480636 accept_connection 3 returned 4 19:00:22.480653 accept_connection 3 returned 0 19:00:22.480667 Read 93 bytes 19:00:22.480678 Process 93 bytes request 19:00:22.480691 Got request: GET /verifiedserver HTTP/1.1 19:00:22.480701 Are-we-friendly question received 19:00:22.480725 Wrote request (93 bytes) input to log/12/server.input 19:00:22.480742 Identifying ourselves as friends 19:00:22.480861 Response sent (56 bytes) and written to log/12/server.response 19:00:22.480873 special request received, no persistency 19:00:22.480883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 48380 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind80 ==79981== ==79981== Process terminating with default action of signal 4 (SIGILL) ==79981== Illegal opcode at address 0x4013E00 ==79981== at 0x4013E00: getparameter (tool_getparam.c:2846) ==79981== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==79981== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==79981== by 0x40037A4: main (tool_main.c:199) === End of file valgrind80 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/13/valgrind93 ../src/curl -q --output log/13/curl93.out --include --trace-ascii log/13/trace93 --trace-time http://127.0.0.1:35301/93 -x 127.0.0.1:35301 > log/13/stdout93 2> log/13/stderr93 93: 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 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/13/valgrind93 ../src/curl -q --output log/13/curl93.out --include --trace-ascii log/13/trace93 --trace-time http://127.0.0.1:35301/93 -x 127.0.0.1:35301 > log/13/stdout93 2> log/13/stderr93 === End of file commands.log === Start of file http_server.log 19:00:23.697972 ====> Client connect 19:00:23.698017 accept_connection 3 returned 4 19:00:23.698033 accept_connection 3 returned 0 19:00:23.698048 Read 93 bytes 19:00:23.698057 Process 93 bytes request 19:00:23.698070 Got request: GET /verifiedserver HTTP/1.1 19:00:23.698080 Are-we-friendly question received 19:00:23.698134 Wrote request (93 bytes) input to log/13/server.input 19:00:23.698150 Identifying ourselves as friends 19:00:23.698199 Response sent (56 bytes) and written to log/13/server.response 19:00:23.698209 special request received, no persistency 19:00:23.698218 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 55954 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind93 ==80224== ==80224== Process terminating with default action of signal 4 (SIGILL) ==80224== Illegal opcode at address 0x4013E00 ==80224== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80224== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80224== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80224== by 0x40037A4: main (tool_main.c:199) === End of file valgrind93 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/17/valgrind94 ../src/curl -q --output log/17/curl94.out --include --trace-ascii log/17/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:40515 > log/17/stdout94 2> log/17/stderr94 94: 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 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/17/valgrind94 ../src/curl -q --output log/17/curl94.out --include --trace-ascii log/17/trace94 --trace-time https://test.anything.really.com:94 --proxy1.0 127.0.0.1:40515 > log/17/stdout94 2> log/17/stderr94 === End of file commands.log === Start of file http_server.log 19:00:24.716142 ====> Client connect 19:00:24.716179 accept_connection 3 returned 4 19:00:24.716199 accept_connection 3 returned 0 19:00:24.716215 Read 93 bytes 19:00:24.716225 Process 93 bytes request 19:00:24.716241 Got request: GET /verifiedserver HTTP/1.1 19:00:24.716255 Are-we-friendly question received 19:00:24.716282 Wrote request (93 bytes) input to log/17/server.input 19:00:24.716299 Identifying ourselves as friends 19:00:24.716357 Response sent (56 bytes) and written to log/17/server.response 19:00:24.716368 special request received, no persistency 19:00:24.716378 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 36200 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind94 ==80239== ==80239== Process terminating with default action of signal 4 (SIGILL) ==80239== Illegal opcode at address 0x4013E00 ==80239== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80239== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80239== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80239== by 0x40037A4: main (tool_main.c:199) === End of file valgrind94 CMD (33792): ../libtool --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/valgrind83 ../src/curl -q --output log/8/curl83.out --include --trace-ascii log/8/trace83 --trace-time http://test.83:43853/we/want/that/page/83 -p -x 127.0.0.1:35633 --user 'iam:my:;self' > log/8/stdout83 2> log/8/stderr83 CMD (33792): ../libtool --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/valgrind98 ../src/curl -q --output log/10/curl98.out --include --trace-ascii log/10/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:37879/98 log/10/stdout98 2> log/10/stderr98 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 74741 port 41017 * pid http => 74741 74741 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:41017/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 18: stdout FAILED: --- log/7/check-expected 2025-11-13 19:00:25.639390888 +0000 +++ log/7/check-generated 2025-11-13 19:00:25.639390888 +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:41017/{18,180002,180003}" > log/7/stdout18 2> log/7/stderr18 === End of file commands.log === Start of file http_server.log 18:59:53.767456 Running HTTP IPv4 version on port 41017 18:59:53.767516 Wrote pid 74741 to log/7/server/http_server.pid 18:59:53.767538 Wrote port 41017 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 ==75412== ==75412== Process terminating with default action of signal 4 (SIGILL) ==75412== Illegal opcode at address 0x4013E00 ==75412== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75412== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75412== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75412== by 0x40037A4: 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 --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 79440 port 35633 * pid http-proxy => 79440 79440 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/8/valgrind83 ../src/curl -q --output log/8/curl83.out --include --trace-ascii log/8/trace83 --trace-time http://test.83:43853/we/want/that/page/83 -p -x 127.0.0.1:35633 --user 'iam:my:;self' > log/8/stdout83 2> log/8/stderr83 83: 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 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/8/valgrind83 ../src/curl -q --output log/8/curl83.out --include --trace-ascii log/8/trace83 --trace-time http://test.83:43853/we/want/that/page/83 -p -x 127.0.0.1:35633 --user 'iam:my:;self' > log/8/stdout83 2> log/8/stderr83 === End of file commands.log === Start of file http2_server.log 19:00:23.848453 Run as proxy, CONNECT to host 127.0.0.1 19:00:23.848567 Running HTTP IPv4 version on port 35633 19:00:23.848611 Wrote pid 79440 to log/8/server/http2_server.pid 19:00:23.848641 Wrote port 35633 to log/8/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:00:22.800740 ====> Client connect 19:00:22.800790 accept_connection 3 returned 4 19:00:22.800806 accept_connection 3 returned 0 19:00:22.800945 Read 93 bytes 19:00:22.800960 Process 93 bytes request 19:00:22.800980 Got request: GET /verifiedserver HTTP/1.1 19:00:22.800991 Are-we-friendly question received 19:00:22.801019 Wrote request (93 bytes) input to log/8/server.input 19:00:22.801042 Identifying ourselves as friends 19:00:22.801110 Response sent (56 bytes) and written to log/8/server.response 19:00:22.801126 special request received, no persistency 19:00:22.801137 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 33236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind83 ==80280== ==80280== Process terminating with default action of signal 4 (SIGILL) ==80280== Illegal opcode at address 0x4013E00 ==80280== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80280== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80280== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80280== by 0x40037A4: main (tool_main.c:199) === End of file valgrind83 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/10/valgrind98 ../src/curl -q --output log/10/curl98.out --include --trace-ascii log/10/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:37879/98 log/10/stdout98 2> log/10/stderr98 98: 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 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/10/valgrind98 ../src/curl -q --output log/10/curl98.out --include --trace-ascii log/10/trace98 --trace-time -T - -H "Transfer-Encoding:" -H "Content-Length: 14" http://127.0.0.1:37879/98 log/10/stdout98 2> log/10/stderr98 === End of file commands.log === Start of file http_server.log 19:00:24.314719 ====> Client connect 19:00:24.314756 accept_connection 3 returned 4 19:00:24.314775 accept_connection 3 returned 0 19:00:24.314790 Read 93 bytes 19:00:24.314800 Process 93 bytes request 19:00:24.314814 Got request: GET /verifiedserver HTTP/1.1 19:00:24.314824 Are-we-friendly question received 19:00:24.314850 Wrote request (93 bytes) input to log/10/server.input 19:00:24.314867 Identifying ourselves as friends 19:00:24.314923 Response sent (56 bytes) and written to log/10/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/22/valgrind99 ../src/curl -q --output log/22/curl99.out --include --trace-ascii log/22/trace99 --trace-time http://127.0.0.1:41061/99 -C 9999999999 > log/22/stdout99 2> log/22/stderr99 CMD (33792): ../libtool --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/valgrind97 ../src/curl -q --output log/19/curl97.out --include --trace-ascii log/19/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:41761/97 > log/19/stdout97 2> log/19/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/1/valgrind24 ../src/curl -q --output log/1/curl24.out --include --trace-ascii log/1/trace24 --trace-time http://127.0.0.1:40353/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 response 19:00:24.314934 special request received, no persistency 19:00:24.314943 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 44526 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file stdin-for-98 data on stdin === End of file stdin-for-98 === Start of file valgrind98 ==80484== ==80484== Process terminating with default action of signal 4 (SIGILL) ==80484== Illegal opcode at address 0x4013E00 ==80484== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80484== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80484== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80484== by 0x40037A4: main (tool_main.c:199) === End of file valgrind98 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/22/valgrind99 ../src/curl -q --output log/22/curl99.out --include --trace-ascii log/22/trace99 --trace-time http://127.0.0.1:41061/99 -C 9999999999 > log/22/stdout99 2> log/22/stderr99 99: 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 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/22/valgrind99 ../src/curl -q --output log/22/curl99.out --include --trace-ascii log/22/trace99 --trace-time http://127.0.0.1:41061/99 -C 9999999999 > log/22/stdout99 2> log/22/stderr99 === End of file commands.log === Start of file http_server.log 19:00:24.314190 ====> Client connect 19:00:24.314233 accept_connection 3 returned 4 19:00:24.314253 accept_connection 3 returned 0 19:00:24.314269 Read 93 bytes 19:00:24.314280 Process 93 bytes request 19:00:24.314302 Got request: GET /verifiedserver HTTP/1.1 19:00:24.314312 Are-we-friendly question received 19:00:24.314348 Wrote request (93 bytes) input to log/22/server.input 19:00:24.314371 Identifying ourselves as friends 19:00:24.314454 Response sent (56 bytes) and written to log/22/server.response 19:00:24.314470 special request received, no persistency 19:00:24.314482 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 41118 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind99 ==80487== ==80487== Process terminating with default action of signal 4 (SIGILL) ==80487== Illegal opcode at address 0x4013E00 ==80487== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80487== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80487== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80487== by 0x40037A4: main (tool_main.c:199) === End of file valgrind99 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/19/valgrind97 ../src/curl -q --output log/19/curl97.out --include --trace-ascii log/19/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:41761/97 > log/19/stdout97 2> log/19/stderr97 97: 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 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/19/valgrind97 ../src/curl -q --output log/19/curl97.out --include --trace-ascii log/19/trace97 --trace-time -d "hejsanallabarn" -H "Content-Type: silly/type" http://127.0.0.1:41761/97 > log/19/stdout97 2> log/19/stderr97 === End of file commands.log === Start of file http_server.log 19:00:24.212783 ====> Client connect 19:00:24.212819 accept_connection 3 returned 4 19:00:24.212835 accept_connection 3 returned 0 19:00:24.212850 Read 93 bytes 19:00:24.212860 Process 93 bytes request 19:00:24.212878 Got request: GET /verifiedserver HTTP/1.1 19:00:24.212888 Are-we-friendly question received 19:00:24.212919 Wrote request (93 bytes) input to log/19/server.input 19:00:24.212939 Identifying ourselves as friends 19:00:24.212996 Response sent (56 bytes) and written to log/19/server.response 19:00:24.213010 special request received, no persistency 19:00:24.213019 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 42890 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind97 ==80418== ==80418== Process terminating with default action of signal 4 (SIGILL) ==80418== Illegal opcode at address 0x4013E00 ==80418== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80418== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80418== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80418== by 0x40037A4: main (tool_main.c:199) === End of file valgrind97 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 75002 port 40353 * pid http => 75002 75002 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:40353/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/ 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/18/valgrind7 ../src/curl -q --output log/18/curl7.out --include --trace-ascii log/18/trace7 --trace-time http://127.0.0.1:39771/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/15/valgrind95 ../src/curl -q --output log/15/curl95.out --include --trace-ascii log/15/trace95 --trace-time http://test.95:44531/we/want/that/page/95 -p -x 127.0.0.1:43349 -d "datatopost=ohthatsfunyesyes" > log/15/stdout95 2> log/15/stderr95 CMD (33792): ../libtool --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:39383/1 > log/24/stdout1 2> log/24/stderr1 ir 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:40353/24 --fail --silent --show-error > log/1/stdout24 2> log/1/stderr24 === End of file commands.log === Start of file http_server.log 18:59:54.069244 Running HTTP IPv4 version on port 40353 18:59:54.069326 Wrote pid 75002 to log/1/server/http_server.pid 18:59:54.069348 Wrote port 40353 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 ==75609== ==75609== Process terminating with default action of signal 4 (SIGILL) ==75609== Illegal opcode at address 0x4013E00 ==75609== at 0x4013E00: getparameter (tool_getparam.c:2846) ==75609== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==75609== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==75609== by 0x40037A4: main (tool_main.c:199) === End of file valgrind24 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 74423 port 39771 * pid http => 74423 74423 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:39771/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:39771/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 18:59:52.760884 Running HTTP IPv4 version on port 39771 18:59:52.760957 Wrote pid 74423 to log/18/server/http_server.pid 18:59:52.760980 Wrote port 39771 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 ==74743== ==74743== Process terminating with default action of signal 4 (SIGILL) ==74743== Illegal opcode at address 0x4013E00 ==74743== at 0x4013E00: getparameter (tool_getparam.c:2846) ==74743== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74743== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==74743== by 0x40037A4: main (tool_main.c:199) === End of file valgrind7 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 80249 port 43349 * pid http-proxy => 80249 80249 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/15/valgrind95 ../src/curl -q --output log/15/curl95.out --include --trace-ascii log/15/trace95 --trace-time http://test.95:44531/we/want/that/page/95 -p -x 127.0.0.1:43349 -d "datatopost=ohthatsfunyesyes" > log/15/stdout95 2> log/15/stderr95 95: 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 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/15/valgrind95 ../src/curl -q --output log/15/curl95.out --include --trace-ascii log/15/trace95 --trace-time http://test.95:44531/we/want/that/page/95 -p -x 127.0.0.1:43349 -d "datatopost=ohthatsfunyesyes" > log/15/stdout95 2> log/15/stderr95 === End of file commands.log === Start of file http2_server.log 19:00:24.803461 Run as proxy, CONNECT to host 127.0.0.1 19:00:24.803610 Running HTTP IPv4 version on port 43349 19:00:24.803661 Wrote pid 80249 to log/15/server/http2_server.pid 19:00:24.803693 Wrote port 43349 to log/15/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:00:23.755922 ====> Client connect 19:00:23.755961 accept_connection 3 returned 4 19:00:23.755978 accept_connection 3 returned 0 19:00:23.755993 Read 93 bytes 19:00:23.756003 Process 93 bytes request 19:00:23.756018 Got request: GET /verifiedserver HTTP/1.1 19:00:23.756027 Are-we-friendly question received 19:00:23.756053 Wrote request (93 bytes) input to log/15/server.input 19:00:23.756070 Identifying ourselves as friends 19:00:23.756124 Response sent (56 bytes) and written to log/15/server.response 19:00:23.756135 special request received, no persistency 19:00:23.756144 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 41884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind95 ==80623== ==80623== Process terminating with default action of signal 4 (SIGILL) ==80623== Illegal opcode at address 0x4013E00 ==80623== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80623== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80623== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80623== by 0x40037A4: main (tool_main.c:199) === End of file valgrind95 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 74417 port 39383 * pid http => 74417 74417 test 0001...[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/24/valgrind1 ../src/curl -q --output log/24/curl1.out --include --trace-ascii log/24/trace1 --trace-time http://127.0.0.1:39383/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 -CMD (33792): ../libtool --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:35043/4 http://127.0.0.1:35043/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/5/valgrind100 ../src/curl -q --output log/5/curl100.out --include --trace-ascii log/5/trace100 --trace-time ftp://127.0.0.1:41821/test-100/ > log/5/stdout100 2> log/5/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/16/valgrind101 ../src/curl -q --output log/16/curl101.out --include --trace-ascii log/16/trace101 --trace-time ftp://127.0.0.1:35319/ -P 127.0.0.1 > log/16/stdout101 2> log/16/stderr101 -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:39383/1 > log/24/stdout1 2> log/24/stderr1 === End of file commands.log === Start of file http_server.log 18:59:52.156832 Running HTTP IPv4 version on port 39383 18:59:52.156885 Wrote pid 74417 to log/24/server/http_server.pid 18:59:52.156912 Wrote port 39383 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 ==74429== ==74429== Process terminating with default action of signal 4 (SIGILL) ==74429== Illegal opcode at address 0x4013E00 ==74429== at 0x4013E00: getparameter (tool_getparam.c:2846) ==74429== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74429== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==74429== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1 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 74420 port 35043 * pid http => 74420 74420 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:35043/4 http://127.0.0.1:35043/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:35043/4 http://127.0.0.1:35043/4 > log/21/stdout4 2> log/21/stderr4 === End of file commands.log === Start of file http_server.log 18:59:52.459614 Running HTTP IPv4 version on port 35043 18:59:52.459668 Wrote pid 74420 to log/21/server/http_server.pid 18:59:52.459689 Wrote port 35043 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 ==74580== ==74580== Process terminating with default action of signal 4 (SIGILL) ==74580== Illegal opcode at address 0x4013E00 ==74580== at 0x4013E00: getparameter (tool_getparam.c:2846) ==74580== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==74580== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==74580== by 0x40037A4: main (tool_main.c:199) === End of file valgrind4 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 41821 (log/5/server/ftp_server.port) RUN: FTP server is PID 80429 port 41821 * pid ftp => 80429 80429 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/5/valgrind100 ../src/curl -q --output log/5/curl100.out --include --trace-ascii log/5/trace100 --trace-time ftp://127.0.0.1:41821/test-100/ > log/5/stdout100 2> log/5/stderr100 100: 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 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/5/valgrind100 ../src/curl -q --output log/5/curl100.out --include --trace-ascii log/5/trace100 --trace-time ftp://127.0.0.1:41821/test-100/ > log/5/stdout100 2> log/5/stderr100 === End of file commands.log === Start of file ftp_server.log 19:00:24.552397 FTP server listens on port IPv4/41821 19:00:24.552523 logged pid 80429 in log/5/server/ftp_server.pid 19:00:24.552562 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:24.321789 Running IPv4 version 19:00:24.321903 Listening on port 41821 19:00:24.321946 Wrote pid 80475 to log/5/server/ftp_sockctrl.pid 19:00:24.321979 Wrote port 41821 to log/5/server/ftp_server.port 19:00:24.324320 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 ==80706== ==80706== Process terminating with default action of signal 4 (SIGILL) ==80706== Illegal opcode at address 0x4013E00 ==80706== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80706== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80706== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80706== by 0x40037A4: 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/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 35319 (log/16/server/ftp_server.port) RUN: FTP server is PID 80535 port 35319 * pid ftp => 80535 80535 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:35319/ -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:35319/ -P 127.0.0.1 > log/16/stdout101 2> log/16/stderr101 === End of file commands.log === Start of file ftp_server.log 19:00:24.676791 FTP server listens on port IPv4/35319 19:00:24.676925 logged pid 80535 in log/16/server/ftp_server.pid 19:00:24.676959 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:24.444990 Running IPv4 version 19:00:24.445084 Listening on port 35319 19:00:24.445128 Wrote pid 80558 to log/16/server/ftp_sockctrl.pid 19:00:24.445162 Wrote port 35319 to log/16/server/ftp_server.port 19:00:24.448147 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 ==80763== ==80763== Process terminatiCMD (33792): ../libtool --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/valgrind102 ../src/curl -q --output log/3/curl102.out --include --trace-ascii log/3/trace102 --trace-time ftp://127.0.0.1:36301/102 > log/3/stdout102 2> log/3/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/14/valgrind103 ../src/curl -q --output log/14/curl103.out --include --trace-ascii log/14/trace103 --trace-time ftp://127.0.0.1:35357/a/path/103 -P - > log/14/stdout103 2> log/14/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/6/valgrind104 ../src/curl -q --output log/6/curl104.out --include --trace-ascii log/6/trace104 --trace-time ftp://127.0.0.1:36475/a/path/104 --head > log/6/stdout104 2> log/6/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/4/valgrind106 ../src/curl -q --output log/4/curl106.out --include --trace-ascii log/4/trace106 --trace-time "ftp://127.0.0.1:35791//path%20with%20%20spaces//and%20things2/106;type=A" > log/4/stdout106 2> log/4/stderr106 ng with default action of signal 4 (SIGILL) ==80763== Illegal opcode at address 0x4013E00 ==80763== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80763== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80763== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80763== by 0x40037A4: 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/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 36301 (log/3/server/ftp_server.port) RUN: FTP server is PID 80615 port 36301 * pid ftp => 80615 80615 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/3/valgrind102 ../src/curl -q --output log/3/curl102.out --include --trace-ascii log/3/trace102 --trace-time ftp://127.0.0.1:36301/102 > log/3/stdout102 2> log/3/stderr102 102: 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 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/3/valgrind102 ../src/curl -q --output log/3/curl102.out --include --trace-ascii log/3/trace102 --trace-time ftp://127.0.0.1:36301/102 > log/3/stdout102 2> log/3/stderr102 === End of file commands.log === Start of file ftp_server.log 19:00:24.934276 FTP server listens on port IPv4/36301 19:00:24.934376 logged pid 80615 in log/3/server/ftp_server.pid 19:00:24.934410 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:24.705890 Running IPv4 version 19:00:24.705989 Listening on port 36301 19:00:24.706029 Wrote pid 80617 to log/3/server/ftp_sockctrl.pid 19:00:24.706061 Wrote port 36301 to log/3/server/ftp_server.port 19:00:24.706239 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 ==80818== ==80818== Process terminating with default action of signal 4 (SIGILL) ==80818== Illegal opcode at address 0x4013E00 ==80818== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80818== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80818== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80818== by 0x40037A4: 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/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 35357 (log/14/server/ftp_server.port) RUN: FTP server is PID 80651 port 35357 * pid ftp => 80651 80651 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/14/valgrind103 ../src/curl -q --output log/14/curl103.out --include --trace-ascii log/14/trace103 --trace-time ftp://127.0.0.1:35357/a/path/103 -P - > log/14/stdout103 2> log/14/stderr103 103: 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 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/14/valgrind103 ../src/curl -q --output log/14/curl103.out --include --trace-ascii log/14/trace103 --trace-time ftp://127.0.0.1:35357/a/path/103 -P - > log/14/stdout103 2> log/14/stderr103 === End of file commands.log === Start of file ftp_server.log 19:00:25.153416 FTP server listens on port IPv4/35357 19:00:25.153511 logged pid 80651 in log/14/server/ftp_server.pid 19:00:25.153544 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.925059 Running IPv4 version 19:00:25.925119 Listening on port 35357 19:00:25.925160 Wrote pid 80670 to log/14/server/ftp_sockctrl.pid 19:00:25.925193 Wrote port 35357 to log/14/server/ftp_server.port 19:00:25.925377 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 ==80873== ==80873== Process terminating with default action of signal 4 (SIGILL) ==80873== Illegal opcode at address 0x4013E00 ==80873== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80873== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80873== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80873== by 0x40037A4: 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/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 36475 (log/6/server/ftp_server.port) RUN: FTP server is PID 80654 port 36475 * pid ftp => 80654 80654 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/6/valgrind104 ../src/curl -q --output log/6/curl104.out --include --trace-ascii log/6/trace104 --trace-time ftp://127.0.0.1:36475/a/path/104 --head > log/6/stdout104 2> log/6/stderr104 104: 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 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/6/valgrind104 ../src/curl -q --output log/6/curl104.out --include --trace-ascii log/6/trace104 --trace-time ftp://127.0.0.1:36475/a/path/104 --head > log/6/stdout104 2> log/6/stderr104 === End of file commands.log === Start of file ftp_server.log 19:00:25.152371 FTP server listens on port IPv4/36475 19:00:25.152484 logged pid 80654 in log/6/server/ftp_server.pid 19:00:25.152521 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.921290 Running IPv4 version 19:00:25.921379 Listening on port 36475 19:00:25.921420 Wrote pid 80669 to log/6/server/ftp_sockctrl.pid 19:00:25.921451 Wrote port 36475 to log/6/server/ftp_server.port 19:00:25.924294 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 ==80877== ==80877== Process terminating with default action of signal 4 (SIGILL) ==80877== Illegal opcode at address 0x4013E00 ==80877== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80877== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80877== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80877== by 0x40037A4: 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/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 35791 (log/4/server/ftp_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/2/valgrind105 ../src/curl -q --output log/2/curl105.out --include --trace-ascii log/2/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:37089/105 --use-ascii > log/2/stdout105 2> log/2/stderr105 CMD (33792): ../libtool --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/valgrind107 ../src/curl -q --output log/9/curl107.out --include --trace-ascii log/9/trace107 --trace-time ftp://127.0.0.1:41525/107 -T log/9/test107.txt > log/9/stdout107 2> log/9/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/23/valgrind109 ../src/curl -q --output log/23/curl109.out --include --trace-ascii log/23/trace109 --trace-time ftp://127.0.0.1:45397/109 -T log/23/upload109 --append > log/23/stdout109 2> log/23/stderr109 rver.port) RUN: FTP server is PID 80681 port 35791 * pid ftp => 80681 80681 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/4/valgrind106 ../src/curl -q --output log/4/curl106.out --include --trace-ascii log/4/trace106 --trace-time "ftp://127.0.0.1:35791//path%20with%20%20spaces//and%20things2/106;type=A" > log/4/stdout106 2> log/4/stderr106 106: 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 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/4/valgrind106 ../src/curl -q --output log/4/curl106.out --include --trace-ascii log/4/trace106 --trace-time "ftp://127.0.0.1:35791//path%20with%20%20spaces//and%20things2/106;type=A" > log/4/stdout106 2> log/4/stderr106 === End of file commands.log === Start of file ftp_server.log 19:00:25.271518 FTP server listens on port IPv4/35791 19:00:25.271626 logged pid 80681 in log/4/server/ftp_server.pid 19:00:25.271660 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.038689 Running IPv4 version 19:00:25.038801 Listening on port 35791 19:00:25.038859 Wrote pid 80688 to log/4/server/ftp_sockctrl.pid 19:00:25.038895 Wrote port 35791 to log/4/server/ftp_server.port 19:00:25.043448 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 ==80973== ==80973== Process terminating with default action of signal 4 (SIGILL) ==80973== Illegal opcode at address 0x4013E00 ==80973== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80973== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80973== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80973== by 0x40037A4: 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/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 37089 (log/2/server/ftp_server.port) RUN: FTP server is PID 80680 port 37089 * pid ftp => 80680 80680 test 0105...[FTP user+password in URL 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/2/valgrind105 ../src/curl -q --output log/2/curl105.out --include --trace-ascii log/2/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:37089/105 --use-ascii > log/2/stdout105 2> log/2/stderr105 105: 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 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/2/valgrind105 ../src/curl -q --output log/2/curl105.out --include --trace-ascii log/2/trace105 --trace-time ftp://userdude:passfellow@127.0.0.1:37089/105 --use-ascii > log/2/stdout105 2> log/2/stderr105 === End of file commands.log === Start of file ftp_server.log 19:00:25.247143 FTP server listens on port IPv4/37089 19:00:25.247226 logged pid 80680 in log/2/server/ftp_server.pid 19:00:25.247257 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.018759 Running IPv4 version 19:00:25.018857 Listening on port 37089 19:00:25.018899 Wrote pid 80687 to log/2/server/ftp_sockctrl.pid 19:00:25.018930 Wrote port 37089 to log/2/server/ftp_server.port 19:00:25.019109 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 ==80960== ==80960== Process terminating with default action of signal 4 (SIGILL) ==80960== Illegal opcode at address 0x4013E00 ==80960== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80960== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80960== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80960== by 0x40037A4: 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/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 41525 (log/9/server/ftp_server.port) RUN: FTP server is PID 80682 port 41525 * pid ftp => 80682 80682 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/9/valgrind107 ../src/curl -q --output log/9/curl107.out --include --trace-ascii log/9/trace107 --trace-time ftp://127.0.0.1:41525/107 -T log/9/test107.txt > log/9/stdout107 2> log/9/stderr107 107: 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 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/9/valgrind107 ../src/curl -q --output log/9/curl107.out --include --trace-ascii log/9/trace107 --trace-time ftp://127.0.0.1:41525/107 -T log/9/test107.txt > log/9/stdout107 2> log/9/stderr107 === End of file commands.log === Start of file ftp_server.log 19:00:25.276733 FTP server listens on port IPv4/41525 19:00:25.276833 logged pid 80682 in log/9/server/ftp_server.pid 19:00:25.276868 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.048339 Running IPv4 version 19:00:25.048426 Listening on port 41525 19:00:25.048466 Wrote pid 80689 to log/9/server/ftp_sockctrl.pid 19:00:25.048497 Wrote port 41525 to log/9/server/ftp_server.port 19:00:25.048694 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 ==80974== ==80974== Process terminating with default action of signal 4 (SIGILL) ==80974== Illegal opcode at address 0x4013E00 ==80974== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80974== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80974== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80974== by 0x40037A4: 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/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 45397 (log/23/server/ftp_server.port) RUN: FTP server is PID 80691 port 45397 * pid ftp => 80691 80691 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/23/valgrind109 ../src/curl -q --output log/23/curl109.out --include --trace-ascii log/23/trace109 --trace-time ftp://127.0.0.1:45397/109 -T 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/valgrind108 ../src/curl -q --output log/11/curl108.out --include --trace-ascii log/11/trace108 --trace-time ftp://127.0.0.1:35787/CWD/STOR/RETR/108 -T log/11/upload108 -P - > log/11/stdout108 2> log/11/stderr108 CMD (33792): ../libtool --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/valgrind110 ../src/curl -q --output log/20/curl110.out --include --trace-ascii log/20/trace110 --trace-time ftp://127.0.0.1:39091/110 -C 20 > log/20/stdout110 2> log/20/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/12/valgrind111 ../src/curl -q --output log/12/curl111.out --include --trace-ascii log/12/trace111 --trace-time ftp://127.0.0.1:35151/111 -C 2000 > log/12/stdout111 2> log/12/stderr111 23/upload109 --append > log/23/stdout109 2> log/23/stderr109 109: 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 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/23/valgrind109 ../src/curl -q --output log/23/curl109.out --include --trace-ascii log/23/trace109 --trace-time ftp://127.0.0.1:45397/109 -T log/23/upload109 --append > log/23/stdout109 2> log/23/stderr109 === End of file commands.log === Start of file ftp_server.log 19:00:25.347280 FTP server listens on port IPv4/45397 19:00:25.347396 logged pid 80691 in log/23/server/ftp_server.pid 19:00:25.347433 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.118593 Running IPv4 version 19:00:25.118858 Listening on port 45397 19:00:25.118904 Wrote pid 80696 to log/23/server/ftp_sockctrl.pid 19:00:25.118939 Wrote port 45397 to log/23/server/ftp_server.port 19:00:25.118964 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 ==81072== ==81072== Process terminating with default action of signal 4 (SIGILL) ==81072== Illegal opcode at address 0x4013E00 ==81072== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81072== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81072== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81072== by 0x40037A4: 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/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 35787 (log/11/server/ftp_server.port) RUN: FTP server is PID 80684 port 35787 * pid ftp => 80684 80684 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/11/valgrind108 ../src/curl -q --output log/11/curl108.out --include --trace-ascii log/11/trace108 --trace-time ftp://127.0.0.1:35787/CWD/STOR/RETR/108 -T log/11/upload108 -P - > log/11/stdout108 2> log/11/stderr108 108: 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 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/11/valgrind108 ../src/curl -q --output log/11/curl108.out --include --trace-ascii log/11/trace108 --trace-time ftp://127.0.0.1:35787/CWD/STOR/RETR/108 -T log/11/upload108 -P - > log/11/stdout108 2> log/11/stderr108 === End of file commands.log === Start of file ftp_server.log 19:00:25.280091 FTP server listens on port IPv4/35787 19:00:25.280203 logged pid 80684 in log/11/server/ftp_server.pid 19:00:25.280243 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.051664 Running IPv4 version 19:00:25.051746 Listening on port 35787 19:00:25.051791 Wrote pid 80690 to log/11/server/ftp_sockctrl.pid 19:00:25.051825 Wrote port 35787 to log/11/server/ftp_server.port 19:00:25.052040 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 ==80993== ==80993== Process terminating with default action of signal 4 (SIGILL) ==80993== Illegal opcode at address 0x4013E00 ==80993== at 0x4013E00: getparameter (tool_getparam.c:2846) ==80993== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==80993== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==80993== by 0x40037A4: 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/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 39091 (log/20/server/ftp_server.port) RUN: FTP server is PID 80693 port 39091 * pid ftp => 80693 80693 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/20/valgrind110 ../src/curl -q --output log/20/curl110.out --include --trace-ascii log/20/trace110 --trace-time ftp://127.0.0.1:39091/110 -C 20 > log/20/stdout110 2> log/20/stderr110 110: 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 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/20/valgrind110 ../src/curl -q --output log/20/curl110.out --include --trace-ascii log/20/trace110 --trace-time ftp://127.0.0.1:39091/110 -C 20 > log/20/stdout110 2> log/20/stderr110 === End of file commands.log === Start of file ftp_server.log 19:00:25.340349 FTP server listens on port IPv4/39091 19:00:25.340447 logged pid 80693 in log/20/server/ftp_server.pid 19:00:25.340477 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.111897 Running IPv4 version 19:00:25.112040 Listening on port 39091 19:00:25.112102 Wrote pid 80695 to log/20/server/ftp_sockctrl.pid 19:00:25.112138 Wrote port 39091 to log/20/server/ftp_server.port 19:00:25.112310 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 ==81083== ==81083== Process terminating with default action of signal 4 (SIGILL) ==81083== Illegal opcode at address 0x4013E00 ==81083== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81083== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81083== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81083== by 0x40037A4: 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/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 35151 (log/12/server/ftp_server.port) RUN: FTP server is PID 80702 port 35151 * pid ftp => 80702 80702 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/12/valgrind111 ../src/curl -q --output log/12/curl111.out --include --trace-ascii log/12/trace111 --trace-time ftp://127.0.0.1:35151/111 -C 2000 > log/12/stdout111 2> log/12/stderr111 111: 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 111 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.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/13/valgrind112 ../src/curl -q --output log/13/curl112.out --include --trace-ascii log/13/trace112 --trace-time ftp://127.0.0.1:40887/112 -T log/13/upload112 -C 40 > log/13/stdout112 2> log/13/stderr112 CMD (33792): ../libtool --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/valgrind115 ../src/curl -q --output log/8/curl115.out --include --trace-ascii log/8/trace115 --trace-time ftp://127.0.0.1:40963/115 > log/8/stdout115 2> log/8/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/17/valgrind113 ../src/curl -q --output log/17/curl113.out --include --trace-ascii log/17/trace113 --trace-time ftp://127.0.0.1:32811/113 > log/17/stdout113 2> log/17/stderr113 pp --num-callers=16 --log-file=log/12/valgrind111 ../src/curl -q --output log/12/curl111.out --include --trace-ascii log/12/trace111 --trace-time ftp://127.0.0.1:35151/111 -C 2000 > log/12/stdout111 2> log/12/stderr111 === End of file commands.log === Start of file ftp_server.log 19:00:25.535540 FTP server listens on port IPv4/35151 19:00:25.535670 logged pid 80702 in log/12/server/ftp_server.pid 19:00:25.535707 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.298354 Running IPv4 version 19:00:25.298445 Listening on port 35151 19:00:25.298482 Wrote pid 80717 to log/12/server/ftp_sockctrl.pid 19:00:25.298512 Wrote port 35151 to log/12/server/ftp_server.port 19:00:25.304128 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 ==81266== ==81266== Process terminating with default action of signal 4 (SIGILL) ==81266== Illegal opcode at address 0x4013E00 ==81266== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81266== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81266== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81266== by 0x40037A4: 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/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 40887 (log/13/server/ftp_server.port) RUN: FTP server is PID 80703 port 40887 * pid ftp => 80703 80703 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/13/valgrind112 ../src/curl -q --output log/13/curl112.out --include --trace-ascii log/13/trace112 --trace-time ftp://127.0.0.1:40887/112 -T log/13/upload112 -C 40 > log/13/stdout112 2> log/13/stderr112 112: 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 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/13/valgrind112 ../src/curl -q --output log/13/curl112.out --include --trace-ascii log/13/trace112 --trace-time ftp://127.0.0.1:40887/112 -T log/13/upload112 -C 40 > log/13/stdout112 2> log/13/stderr112 === End of file commands.log === Start of file ftp_server.log 19:00:25.542214 FTP server listens on port IPv4/40887 19:00:25.542363 logged pid 80703 in log/13/server/ftp_server.pid 19:00:25.542406 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.305232 Running IPv4 version 19:00:25.305350 Listening on port 40887 19:00:25.305402 Wrote pid 80721 to log/13/server/ftp_sockctrl.pid 19:00:25.305452 Wrote port 40887 to log/13/server/ftp_server.port 19:00:25.310811 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 112 === End of file server.cmd === Start of file upload112 this is the *****crap******** that we're gonna upload worx? === End of file upload112 === Start of file valgrind112 ==81275== ==81275== Process terminating with default action of signal 4 (SIGILL) ==81275== Illegal opcode at address 0x4013E00 ==81275== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81275== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81275== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81275== by 0x40037A4: 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/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 40963 (log/8/server/ftp_server.port) RUN: FTP server is PID 80760 port 40963 * pid ftp => 80760 80760 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/8/valgrind115 ../src/curl -q --output log/8/curl115.out --include --trace-ascii log/8/trace115 --trace-time ftp://127.0.0.1:40963/115 > log/8/stdout115 2> log/8/stderr115 115: 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 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/8/valgrind115 ../src/curl -q --output log/8/curl115.out --include --trace-ascii log/8/trace115 --trace-time ftp://127.0.0.1:40963/115 > log/8/stdout115 2> log/8/stderr115 === End of file commands.log === Start of file ftp_server.log 19:00:25.719994 FTP server listens on port IPv4/40963 19:00:25.720102 logged pid 80760 in log/8/server/ftp_server.pid 19:00:25.720142 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.491599 Running IPv4 version 19:00:25.491675 Listening on port 40963 19:00:25.491718 Wrote pid 80776 to log/8/server/ftp_sockctrl.pid 19:00:25.491749 Wrote port 40963 to log/8/server/ftp_server.port 19:00:25.491942 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 ==81386== ==81386== Process terminating with default action of signal 4 (SIGILL) ==81386== Illegal opcode at address 0x4013E00 ==81386== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81386== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81386== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81386== by 0x40037A4: 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/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 32811 (log/17/server/ftp_server.port) RUN: FTP server is PID 80755 port 32811 * pid ftp => 80755 80755 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/17/valgrind113 ../src/curl -q --output log/17/curl113.out --include --trace-ascii log/17/trace113 --trace-time ftp://127.0.0.1:32811/113 > log/17/stdout113 2> log/17/stderr113 113: 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 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/17/valgrind113 ../src/curl -q --output log/17/curl113.out --include --trace-ascii log/17/trace113 --trace-time ftp://127.0.0.1:32811/113 > log/17/stdout113 2> log/17/stderr113 === End of file commands.log === Start of file ftp_server.log 19:00:25.702411 FTP server listens on port IPv4/32811 19:00:25.702518 logged pid 80755 in log/17/server/ftp_server.pid 19:00:25.702554 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.471699 Running IPv4 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/7/valgrind114 ../src/curl -q --output log/7/curl114.out --include --trace-ascii log/7/trace114 --trace-time ftp://127.0.0.1:37113/114 > log/7/stdout114 2> log/7/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/valgrind117 ../src/curl -q --output log/22/curl117.out --include --trace-ascii log/22/trace117 --trace-time ftp://127.0.0.1:36953/117 > log/22/stdout117 2> log/22/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/16/valgrind125 ../src/curl -q --output log/16/curl125.out --include --trace-ascii log/16/trace125 --trace-time ftp://127.0.0.1:35319/path/to/file/125 > log/16/stdout125 2> log/16/stderr125 19:00:25.471811 Listening on port 32811 19:00:25.471857 Wrote pid 80768 to log/17/server/ftp_sockctrl.pid 19:00:25.471891 Wrote port 32811 to log/17/server/ftp_server.port 19:00:25.474235 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 ==81372== ==81372== Process terminating with default action of signal 4 (SIGILL) ==81372== Illegal opcode at address 0x4013E00 ==81372== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81372== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81372== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81372== by 0x40037A4: 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/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 37113 (log/7/server/ftp_server.port) RUN: FTP server is PID 80759 port 37113 * pid ftp => 80759 80759 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/7/valgrind114 ../src/curl -q --output log/7/curl114.out --include --trace-ascii log/7/trace114 --trace-time ftp://127.0.0.1:37113/114 > log/7/stdout114 2> log/7/stderr114 114: 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 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/7/valgrind114 ../src/curl -q --output log/7/curl114.out --include --trace-ascii log/7/trace114 --trace-time ftp://127.0.0.1:37113/114 > log/7/stdout114 2> log/7/stderr114 === End of file commands.log === Start of file ftp_server.log 19:00:25.733720 FTP server listens on port IPv4/37113 19:00:25.733838 logged pid 80759 in log/7/server/ftp_server.pid 19:00:25.733875 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:25.505056 Running IPv4 version 19:00:25.505164 Listening on port 37113 19:00:25.505208 Wrote pid 80778 to log/7/server/ftp_sockctrl.pid 19:00:25.505240 Wrote port 37113 to log/7/server/ftp_server.port 19:00:25.505266 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 ==81383== ==81383== Process terminating with default action of signal 4 (SIGILL) ==81383== Illegal opcode at address 0x4013E00 ==81383== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81383== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81383== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81383== by 0x40037A4: 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 36953 (log/22/server/ftp_server.port) RUN: FTP server is PID 80850 port 36953 * pid ftp => 80850 80850 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/22/valgrind117 ../src/curl -q --output log/22/curl117.out --include --trace-ascii log/22/trace117 --trace-time ftp://127.0.0.1:36953/117 > log/22/stdout117 2> log/22/stderr117 117: 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 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/22/valgrind117 ../src/curl -q --output log/22/curl117.out --include --trace-ascii log/22/trace117 --trace-time ftp://127.0.0.1:36953/117 > log/22/stdout117 2> log/22/stderr117 === End of file commands.log === Start of file ftp_server.log 19:00:26.076313 FTP server listens on port IPv4/36953 19:00:26.076427 logged pid 80850 in log/22/server/ftp_server.pid 19:00:26.076461 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:26.847950 Running IPv4 version 19:00:26.848019 Listening on port 36953 19:00:26.848063 Wrote pid 80864 to log/22/server/ftp_sockctrl.pid 19:00:26.848099 Wrote port 36953 to log/22/server/ftp_server.port 19:00:26.848267 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 ==81575== ==81575== Process terminating with default action of signal 4 (SIGILL) ==81575== Illegal opcode at address 0x4013E00 ==81575== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81575== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81575== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81575== by 0x40037A4: main (tool_main.c:199) === End of file valgrind117 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/16/valgrind125 ../src/curl -q --output log/16/curl125.out --include --trace-ascii log/16/trace125 --trace-time ftp://127.0.0.1:35319/path/to/file/125 > log/16/stdout125 2> log/16/stderr125 125: 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 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/16/valgrind125 ../src/curl -q --output log/16/curl125.out --include --trace-ascii log/16/trace125 --trace-time ftp://127.0.0.1:35319/path/to/file/125 > log/16/stdout125 2> log/16/stderr125 === End of file commands.log === Start of file ftp_server.log 19:00:27.145458 ====> Client connect 19:00:27.145725 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:27.155645 < "USER anonymous" 19:00:27.155711 > "331 We are happy you popped in![CR][LF]" 19:00:27.156544 < "PASS ftp@example.com" 19:00:27.156591 > "230 Welcome you silly person[CR][LF]" 19:00:27.158950 < "PWD" 19:00:27.158998 > "257 "/" is current directory[CR][LF]" 19:00:27.159195 < "EPSV" 19:00:27.159227 ====> Passive DATA channel requested by client 19:00:27.159243 DATA sockfilt for passive data channel starting... 19:00:27.169875 DATA sockfilt for passive data channel started (pid 81702) 19:00:27.170047 DATA sockfilt for passive data channel listens on port 35245 19:00:27.170107 > "229 Entering Passive Mode (|||35245|)[CR][LF]" 19:00:27.170129 Client has been notified that DATA conn will be accepted on port 35245 19:00:27.176976 Client connects to port 35245 19:00:27.177047 ====> Client established passive DATA connection on port 35245 19:00:27.178214 < "TYPE I" 19:00:27.178268 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:27.178449 < "SIZE verifiedserver" 19:00:27.178490 > "213 17[CR][LF]" 19:00:27.178652 < "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/1/valgrind119 ../src/curl -q --output log/1/curl119.out --include --trace-ascii log/1/trace119 --trace-time ftp://127.0.0.1:41393/119 -P - > log/1/stdout119 2> log/1/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/19/valgrind118 ../src/curl -q --output log/19/curl118.out --include --trace-ascii log/19/trace118 --trace-time ftp://127.0.0.1:33175/118 > log/19/stdout118 2> log/19/stderr118 R verifiedserver" 19:00:27.178692 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:27.178803 =====> Closing passive DATA connection... 19:00:27.178821 Server disconnects passive DATA connection 19:00:27.179293 Server disconnected passive DATA connection 19:00:27.179323 DATA sockfilt for passive data channel quits (pid 81702) 19:00:27.179591 DATA sockfilt for passive data channel quit (pid 81702) 19:00:27.179615 =====> Closed passive DATA connection 19:00:27.179645 > "226 File transfer complete[CR][LF]" 19:00:27.226873 < "QUIT" 19:00:27.226934 > "221 bye bye baby[CR][LF]" 19:00:27.228094 MAIN sockfilt said DISC 19:00:27.228128 ====> Client disconnected 19:00:27.228198 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:26.914141 ====> Client connect 19:00:26.920791 Received DATA (on stdin) 19:00:26.920839 > 160 bytes data, server => client 19:00:26.920855 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:26.920868 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:26.920879 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:26.921014 < 16 bytes data, client => server 19:00:26.921031 'USER anonymous\r\n' 19:00:26.928312 Received DATA (on stdin) 19:00:26.928344 > 33 bytes data, server => client 19:00:26.928359 '331 We are happy you popped in!\r\n' 19:00:26.928465 < 22 bytes data, client => server 19:00:26.928482 'PASS ftp@example.com\r\n' 19:00:26.930788 Received DATA (on stdin) 19:00:26.930813 > 30 bytes data, server => client 19:00:26.930826 '230 Welcome you silly person\r\n' 19:00:26.930899 < 5 bytes data, client => server 19:00:26.930913 'PWD\r\n' 19:00:26.931069 Received DATA (on stdin) 19:00:26.931084 > 30 bytes data, server => client 19:00:26.931096 '257 "/" is current directory\r\n' 19:00:26.931163 < 6 bytes data, client => server 19:00:26.931178 'EPSV\r\n' 19:00:26.942207 Received DATA (on stdin) 19:00:26.942227 > 39 bytes data, server => client 19:00:26.942240 '229 Entering Passive Mode (|||35245|)\r\n' 19:00:26.950108 < 8 bytes data, client => server 19:00:26.950132 'TYPE I\r\n' 19:00:26.950337 Received DATA (on stdin) 19:00:26.950350 > 33 bytes data, server => client 19:00:26.950363 '200 I modify TYPE as you wanted\r\n' 19:00:26.950426 < 21 bytes data, client => server 19:00:26.950439 'SIZE verifiedserver\r\n' 19:00:26.950556 Received DATA (on stdin) 19:00:26.950569 > 8 bytes data, server => client 19:00:26.950580 '213 17\r\n' 19:00:26.950629 < 21 bytes data, client => server 19:00:26.950641 'RETR verifiedserver\r\n' 19:00:26.952214 Received DATA (on stdin) 19:00:26.952236 > 29 bytes data, server => client 19:00:26.952249 '150 Binary junk (17 bytes).\r\n' 19:00:26.952278 Received DATA (on stdin) 19:00:26.952289 > 28 bytes data, server => client 19:00:26.952301 '226 File transfer complete\r\n' 19:00:26.998709 < 6 bytes data, client => server 19:00:26.998745 'QUIT\r\n' 19:00:26.999164 Received DATA (on stdin) 19:00:26.999181 > 18 bytes data, server => client 19:00:26.999193 '221 bye bye baby\r\n' 19:00:27.000096 ====> Client disconnect 19:00:27.000523 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:27.938167 Running IPv4 version 19:00:27.938260 Listening on port 35245 19:00:27.938303 Wrote pid 81702 to log/16/server/ftp_sockdata.pid 19:00:27.941844 Received PING (on stdin) 19:00:27.941999 Received PORT (on stdin) 19:00:27.948953 ====> Client connect 19:00:27.951221 Received DATA (on stdin) 19:00:27.951243 > 17 bytes data, server => client 19:00:27.951255 'WE ROOLZ: 80535\r\n' 19:00:27.951286 Received DISC (on stdin) 19:00:27.951301 ====> Client forcibly disconnected 19:00:27.951396 Received QUIT (on stdin) 19:00:27.951408 quits 19:00:27.951496 ============> 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 ==81819== ==81819== Process terminating with default action of signal 4 (SIGILL) ==81819== Illegal opcode at address 0x4013E00 ==81819== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81819== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81819== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81819== by 0x40037A4: main (tool_main.c:199) === End of file valgrind125 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 41393 (log/1/server/ftp_server.port) RUN: FTP server is PID 80887 port 41393 * pid ftp => 80887 80887 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/1/valgrind119 ../src/curl -q --output log/1/curl119.out --include --trace-ascii log/1/trace119 --trace-time ftp://127.0.0.1:41393/119 -P - > log/1/stdout119 2> log/1/stderr119 119: 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 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/1/valgrind119 ../src/curl -q --output log/1/curl119.out --include --trace-ascii log/1/trace119 --trace-time ftp://127.0.0.1:41393/119 -P - > log/1/stdout119 2> log/1/stderr119 === End of file commands.log === Start of file ftp_server.log 19:00:26.163270 FTP server listens on port IPv4/41393 19:00:26.163378 logged pid 80887 in log/1/server/ftp_server.pid 19:00:26.163414 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:26.935030 Running IPv4 version 19:00:26.935117 Listening on port 41393 19:00:26.935163 Wrote pid 80920 to log/1/server/ftp_sockctrl.pid 19:00:26.935197 Wrote port 41393 to log/1/server/ftp_server.port 19:00:26.935223 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 ==81673== ==81673== Process terminating with default action of signal 4 (SIGILL) ==81673== Illegal opcode at address 0x4013E00 ==81673== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81673== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81673== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81673== by 0x40037A4: 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/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 33175 (log/19/server/ftp_server.port) RUN: FTP server is PID 80854 port 33175 * pid ftp => 80854 80854 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/19/valgrind118 ../src/curl -q --output log/19/curl118.out --include --trace-ascii log/19/trace118 --trace-time ftp://127.0.0.1:33175/118 > log/19/stdout118 2> log/19/stderr118 118: 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 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/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/10/valgrind116 ../src/curl -q --output log/10/curl116.out --include --trace-ascii log/10/trace116 --trace-time ftp://127.0.0.1:42709/116 -P 1.2.3.4 > log/10/stdout116 2> log/10/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/15/valgrind121 ../src/curl -q --output log/15/curl121.out --include --trace-ascii log/15/trace121 --trace-time ftp://127.0.0.1:36561/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/15/stdout121 2> log/15/stderr121 CMD (33792): ../libtool --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:38611/120 -Q "-DELE file" > log/18/stdout120 2> log/18/stderr120 9/valgrind118 ../src/curl -q --output log/19/curl118.out --include --trace-ascii log/19/trace118 --trace-time ftp://127.0.0.1:33175/118 > log/19/stdout118 2> log/19/stderr118 === End of file commands.log === Start of file ftp_server.log 19:00:26.094252 FTP server listens on port IPv4/33175 19:00:26.094400 logged pid 80854 in log/19/server/ftp_server.pid 19:00:26.094435 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:26.862091 Running IPv4 version 19:00:26.862187 Listening on port 33175 19:00:26.862231 Wrote pid 80867 to log/19/server/ftp_sockctrl.pid 19:00:26.862264 Wrote port 33175 to log/19/server/ftp_server.port 19:00:26.864443 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 ==81585== ==81585== Process terminating with default action of signal 4 (SIGILL) ==81585== Illegal opcode at address 0x4013E00 ==81585== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81585== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81585== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81585== by 0x40037A4: main (tool_main.c:199) === End of file valgrind118 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 42709 (log/10/server/ftp_server.port) RUN: FTP server is PID 80847 port 42709 * pid ftp => 80847 80847 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/10/valgrind116 ../src/curl -q --output log/10/curl116.out --include --trace-ascii log/10/trace116 --trace-time ftp://127.0.0.1:42709/116 -P 1.2.3.4 > log/10/stdout116 2> log/10/stderr116 116: 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 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/10/valgrind116 ../src/curl -q --output log/10/curl116.out --include --trace-ascii log/10/trace116 --trace-time ftp://127.0.0.1:42709/116 -P 1.2.3.4 > log/10/stdout116 2> log/10/stderr116 === End of file commands.log === Start of file ftp_server.log 19:00:26.075718 FTP server listens on port IPv4/42709 19:00:26.075841 logged pid 80847 in log/10/server/ftp_server.pid 19:00:26.075880 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:26.845017 Running IPv4 version 19:00:26.845111 Listening on port 42709 19:00:26.845153 Wrote pid 80860 to log/10/server/ftp_sockctrl.pid 19:00:26.845186 Wrote port 42709 to log/10/server/ftp_server.port 19:00:26.847649 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 ==81574== ==81574== Process terminating with default action of signal 4 (SIGILL) ==81574== Illegal opcode at address 0x4013E00 ==81574== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81574== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81574== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81574== by 0x40037A4: 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/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 36561 (log/15/server/ftp_server.port) RUN: FTP server is PID 81045 port 36561 * pid ftp => 81045 81045 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/15/valgrind121 ../src/curl -q --output log/15/curl121.out --include --trace-ascii log/15/trace121 --trace-time ftp://127.0.0.1:36561/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/15/stdout121 2> log/15/stderr121 121: 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 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/15/valgrind121 ../src/curl -q --output log/15/curl121.out --include --trace-ascii log/15/trace121 --trace-time ftp://127.0.0.1:36561/121 -Q "-DELE after_transfer" -Q "DELE before_transfer" > log/15/stdout121 2> log/15/stderr121 === End of file commands.log === Start of file ftp_server.log 19:00:26.324717 FTP server listens on port IPv4/36561 19:00:26.324851 logged pid 81045 in log/15/server/ftp_server.pid 19:00:26.324876 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:26.096410 Running IPv4 version 19:00:26.096485 Listening on port 36561 19:00:26.096520 Wrote pid 81096 to log/15/server/ftp_sockctrl.pid 19:00:26.096546 Wrote port 36561 to log/15/server/ftp_server.port 19:00:26.096694 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 ==81891== ==81891== Process terminating with default action of signal 4 (SIGILL) ==81891== Illegal opcode at address 0x4013E00 ==81891== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81891== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81891== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81891== by 0x40037A4: main (tool_main.c:199) === End of file valgrind121 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 38611 (log/18/server/ftp_server.port) RUN: FTP server is PID 80927 port 38611 * pid ftp => 80927 80927 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:38611/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:38611/120 -Q "-DELE file" > log/18/stdout120 2> log/18/stderr120 === End of file commands.log === Start of file ftp_server.log 19:00:26.211348 FTP server listens on port IPv4/38611 19:00:26.211473 logged pid 80927 in log/18/server/ftp_server.pid 19:00:26.211508 AwaitiCMD (33792): ../libtool --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/valgrind123 ../src/curl -q --output log/21/curl123.out --include --trace-ascii log/21/trace123 --trace-time ftp://127.0.0.1:35487/123 -T log/21/upload123 -C 51 > log/21/stdout123 2> log/21/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/5/valgrind124 ../src/curl -q --output log/5/curl124.out --include --trace-ascii log/5/trace124 --trace-time ftp://127.0.0.1:41821/124 > log/5/stdout124 2> log/5/stderr124 ng input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:26.982419 Running IPv4 version 19:00:26.982491 Listening on port 38611 19:00:26.982529 Wrote pid 80962 to log/18/server/ftp_sockctrl.pid 19:00:26.982557 Wrote port 38611 to log/18/server/ftp_server.port 19:00:26.983269 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 ==81752== ==81752== Process terminating with default action of signal 4 (SIGILL) ==81752== Illegal opcode at address 0x4013E00 ==81752== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81752== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81752== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81752== by 0x40037A4: 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/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 35487 (log/21/server/ftp_server.port) RUN: FTP server is PID 81255 port 35487 * pid ftp => 81255 81255 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/21/valgrind123 ../src/curl -q --output log/21/curl123.out --include --trace-ascii log/21/trace123 --trace-time ftp://127.0.0.1:35487/123 -T log/21/upload123 -C 51 > log/21/stdout123 2> log/21/stderr123 123: 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 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/21/valgrind123 ../src/curl -q --output log/21/curl123.out --include --trace-ascii log/21/trace123 --trace-time ftp://127.0.0.1:35487/123 -T log/21/upload123 -C 51 > log/21/stdout123 2> log/21/stderr123 === End of file commands.log === Start of file ftp_server.log 19:00:26.522471 FTP server listens on port IPv4/35487 19:00:26.522633 logged pid 81255 in log/21/server/ftp_server.pid 19:00:26.522666 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:26.291607 Running IPv4 version 19:00:26.291701 Listening on port 35487 19:00:26.291739 Wrote pid 81286 to log/21/server/ftp_sockctrl.pid 19:00:26.291766 Wrote port 35487 to log/21/server/ftp_server.port 19:00:26.294398 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 ==81966== ==81966== Process terminating with default action of signal 4 (SIGILL) ==81966== Illegal opcode at address 0x4013E00 ==81966== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81966== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81966== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81966== by 0x40037A4: main (tool_main.c:199) === End of file valgrind123 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/5/valgrind124 ../src/curl -q --output log/5/curl124.out --include --trace-ascii log/5/trace124 --trace-time ftp://127.0.0.1:41821/124 > log/5/stdout124 2> log/5/stderr124 124: 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 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/5/valgrind124 ../src/curl -q --output log/5/curl124.out --include --trace-ascii log/5/trace124 --trace-time ftp://127.0.0.1:41821/124 > log/5/stdout124 2> log/5/stderr124 === End of file commands.log === Start of file ftp_server.log 19:00:26.925446 ====> Client connect 19:00:26.925703 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:26.926147 < "USER anonymous" 19:00:26.926195 > "331 We are happy you popped in![CR][LF]" 19:00:26.926406 < "PASS ftp@example.com" 19:00:26.926442 > "230 Welcome you silly person[CR][LF]" 19:00:26.926627 < "PWD" 19:00:26.926665 > "257 "/" is current directory[CR][LF]" 19:00:26.926867 < "EPSV" 19:00:26.926902 ====> Passive DATA channel requested by client 19:00:26.926922 DATA sockfilt for passive data channel starting... 19:00:26.935706 DATA sockfilt for passive data channel started (pid 81553) 19:00:26.935860 DATA sockfilt for passive data channel listens on port 34791 19:00:26.935912 > "229 Entering Passive Mode (|||34791|)[CR][LF]" 19:00:26.935936 Client has been notified that DATA conn will be accepted on port 34791 19:00:26.936274 Client connects to port 34791 19:00:26.936308 ====> Client established passive DATA connection on port 34791 19:00:26.936415 < "TYPE I" 19:00:26.936449 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:26.936636 < "SIZE verifiedserver" 19:00:26.936675 > "213 17[CR][LF]" 19:00:26.936846 < "RETR verifiedserver" 19:00:26.936879 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:26.936979 =====> Closing passive DATA connection... 19:00:26.936997 Server disconnects passive DATA connection 19:00:26.937171 Server disconnected passive DATA connection 19:00:26.937195 DATA sockfilt for passive data channel quits (pid 81553) 19:00:26.937503 DATA sockfilt for passive data channel quit (pid 81553) 19:00:26.937537 =====> Closed passive DATA connection 19:00:26.937563 > "226 File transfer complete[CR][LF]" 19:00:26.982436 < "QUIT" 19:00:26.982493 > "221 bye bye baby[CR][LF]" 19:00:26.983663 MAIN sockfilt said DISC 19:00:26.983695 ====> Client disconnected 19:00:26.983778 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:26.694174 ====> Client connect 19:00:26.697795 Received DATA (on stdin) 19:00:26.697822 > 160 bytes data, server => client 19:00:26.697838 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:26.697851 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:26.697863 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:26.698004 < 16 bytes data, client => server 19:00:26.698023 'USER anonymous\r\n' 19:00:26.698269 Received DATA (on stdin) 19:00:26.698285 > 33 bytes data, server => client 19:00:26.698299 '331 We are happy you popped in!\r\n' 19:00:26.698358 < 22 bytes data, client => server 19:00:26.698375 'PASS ftp@example.com\r\n' 19:00:26.698511 Received DATA (on stdin) 19:00:26.698528 > 30 bytes data, server => client 19:00:26.698540 '230 Welcome you silly person\r\n' 19:00:26.698596 < 5 bytes data, client => server 19:00:26.698610 'PWD\r\n' 19:00:26.698734 Received DATA (on stdin) 19:00:26.698749 > 30 bytes data, server => client 19:00:26.698762 '257 "/" is current directory\r\n' 19:00:26.698830 < 6 bytes data, client => server 19:00:26.698848 'EPSV\r\n' 19:00:26.708012 Received DATA (on stdin) 19:00:26.708032 > 39 bytes data, server => client 19:00:26.708045 '229 Entering Passive Mode (|||34791|)\r\n' 19:00:26.708254 < 8 bytes data, client => server 19:00:26.708270 'TYPE I\r\n' 19:00:26.708519 Received DATA (on stdin) 19:00:26.708534 > 33 bytes data, server => client 19:00:26.708546 '200 I modify TYPE as you wanted\r\n' 19:00:26.708602 CMD (33792): ../libtool --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/valgrind122 ../src/curl -q --output log/24/curl122.out --include --trace-ascii log/24/trace122 --trace-time ftp://127.0.0.1:41217/122 -C 5 > log/24/stdout122 2> log/24/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/14/valgrind127 ../src/curl -q --output log/14/curl127.out --include --trace-ascii log/14/trace127 --trace-time ftp://127.0.0.1:35357/path/to/file/127 --disable-epsv > log/14/stdout127 2> log/14/stderr127 CMD (33792): ../libtool --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/valgrind126 ../src/curl -q --output log/3/curl126.out --include --trace-ascii log/3/trace126 --trace-time ftp://127.0.0.1:36301/blalbla/lululul/126 > log/3/stdout126 2> log/3/stderr126 < 21 bytes data, client => server 19:00:26.708617 'SIZE verifiedserver\r\n' 19:00:26.708740 Received DATA (on stdin) 19:00:26.708754 > 8 bytes data, server => client 19:00:26.708766 '213 17\r\n' 19:00:26.708819 < 21 bytes data, client => server 19:00:26.708833 'RETR verifiedserver\r\n' 19:00:26.709065 Received DATA (on stdin) 19:00:26.709079 > 29 bytes data, server => client 19:00:26.709092 '150 Binary junk (17 bytes).\r\n' 19:00:26.709629 Received DATA (on stdin) 19:00:26.709643 > 28 bytes data, server => client 19:00:26.709655 '226 File transfer complete\r\n' 19:00:26.754252 < 6 bytes data, client => server 19:00:26.754296 'QUIT\r\n' 19:00:26.754562 Received DATA (on stdin) 19:00:26.754576 > 18 bytes data, server => client 19:00:26.754589 '221 bye bye baby\r\n' 19:00:26.755665 ====> Client disconnect 19:00:26.755840 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:26.705462 Running IPv4 version 19:00:26.705579 Listening on port 34791 19:00:26.705633 Wrote pid 81553 to log/5/server/ftp_sockdata.pid 19:00:26.707684 Received PING (on stdin) 19:00:26.707817 Received PORT (on stdin) 19:00:26.708293 ====> Client connect 19:00:26.709119 Received DATA (on stdin) 19:00:26.709133 > 17 bytes data, server => client 19:00:26.709145 'WE ROOLZ: 80429\r\n' 19:00:26.709170 Received DISC (on stdin) 19:00:26.709183 ====> Client forcibly disconnected 19:00:26.709268 Received QUIT (on stdin) 19:00:26.709280 quits 19:00:26.709359 ============> 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 ==81557== ==81557== Process terminating with default action of signal 4 (SIGILL) ==81557== Illegal opcode at address 0x4013E00 ==81557== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81557== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81557== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81557== by 0x40037A4: 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/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 41217 (log/24/server/ftp_server.port) RUN: FTP server is PID 81247 port 41217 * pid ftp => 81247 81247 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/24/valgrind122 ../src/curl -q --output log/24/curl122.out --include --trace-ascii log/24/trace122 --trace-time ftp://127.0.0.1:41217/122 -C 5 > log/24/stdout122 2> log/24/stderr122 122: 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 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/24/valgrind122 ../src/curl -q --output log/24/curl122.out --include --trace-ascii log/24/trace122 --trace-time ftp://127.0.0.1:41217/122 -C 5 > log/24/stdout122 2> log/24/stderr122 === End of file commands.log === Start of file ftp_server.log 19:00:26.504134 FTP server listens on port IPv4/41217 19:00:26.504218 logged pid 81247 in log/24/server/ftp_server.pid 19:00:26.504244 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:26.275806 Running IPv4 version 19:00:26.275873 Listening on port 41217 19:00:26.275912 Wrote pid 81276 to log/24/server/ftp_sockctrl.pid 19:00:26.275942 Wrote port 41217 to log/24/server/ftp_server.port 19:00:26.276103 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 ==81969== ==81969== Process terminating with default action of signal 4 (SIGILL) ==81969== Illegal opcode at address 0x4013E00 ==81969== at 0x4013E00: getparameter (tool_getparam.c:2846) ==81969== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==81969== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==81969== by 0x40037A4: main (tool_main.c:199) === End of file valgrind122 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/14/valgrind127 ../src/curl -q --output log/14/curl127.out --include --trace-ascii log/14/trace127 --trace-time ftp://127.0.0.1:35357/path/to/file/127 --disable-epsv > log/14/stdout127 2> log/14/stderr127 127: 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 127 === Start of file commands.log ../libtool --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/valgrind127 ../src/curl -q --output log/14/curl127.out --include --trace-ascii log/14/trace127 --trace-time ftp://127.0.0.1:35357/path/to/file/127 --disable-epsv > log/14/stdout127 2> log/14/stderr127 === End of file commands.log === Start of file ftp_server.log 19:00:27.575558 ====> Client connect 19:00:27.575749 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:27.576111 < "USER anonymous" 19:00:27.576148 > "331 We are happy you popped in![CR][LF]" 19:00:27.576329 < "PASS ftp@example.com" 19:00:27.576356 > "230 Welcome you silly person[CR][LF]" 19:00:27.576515 < "PWD" 19:00:27.576546 > "257 "/" is current directory[CR][LF]" 19:00:27.576715 < "EPSV" 19:00:27.576746 ====> Passive DATA channel requested by client 19:00:27.576760 DATA sockfilt for passive data channel starting... 19:00:27.587019 DATA sockfilt for passive data channel started (pid 82060) 19:00:27.587161 DATA sockfilt for passive data channel listens on port 36059 19:00:27.587219 > "229 Entering Passive Mode (|||36059|)[CR][LF]" 19:00:27.587238 Client has been notified that DATA conn will be accepted on port 36059 19:00:27.587527 Client connects to port 36059 19:00:27.587559 ====> Client established passive DATA connection on port 36059 19:00:27.587695 < "TYPE I" 19:00:27.587731 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:27.587889 < "SIZE verifiedserver" 19:00:27.587925 > "213 17[CR][LF]" 19:00:27.588071 < "RETR verifiedserver" 19:00:27.588102 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:27.588194 =====> Closing passive DATA connection... 19:00:27.588213 Server disconnects passive DATA connection 19:00:27.588464 Server disconnected passive DATA connection 19:00:27.588489 DATA sockfilt for passive data channel quits (pid 82060) 19:00:27.588701 DATA sockfilt for passive data channel quit (pid 82060) 19:00:27.588758 =====> Closed passive DATA connection 19:00:27.588787 > "226 File transfer complete[CR][LF]" 19:00:27.633762 < "QUIT" 19:00:27.633816 > "221 bye bye baby[CR][LF]" 19:00:27.639068 MAIN sockfilt said DISC 19:00:27.639121 ====> Client disconnected 19:00:27.639208 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:28.347472 ====> Client connect 19:00:28.347827 Received DATA (on stdin) 19:00:28.347843 > 160 bytes data, server => client 19:00:28.347857 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:28.347869 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:28.347880 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:28.348005 < 16 bytes data, client => server 19:00:28.348019 'USER anonymous\r\n' 19:00:28.348216 Received DATA (on stdin) 19:00:28.348230 > 33 bytes data, server => client 19:00:28.348242 '331 We are happy you popped in!\r\n' 19:00:28.348296 < 22 bytes data, client => server 19:00:28.348310 'PASS ftp@example.com\r\n' 19:00:28.348419 Received DATA (on stdin) 19:00:28.348432 > 30 bytes data, server => client 19:00:28.348444 '230 Welcome you silly person\r\n' 19:00:28.348494 < 5 bytes data, client => server 19:00:28.348506 'PWD\r\n' 19:00:28.348609 Received DATA (on stdin) 19:00:28.348622 > 30 bytes data, server => client 19:00:28.348634 '257 "/" is current directory\r\n' 19:00:28.348695 < 6 bytes data, client => server 19:00:28.348707 'EPSV\r\n' 19:00:28.359315 Received DATA (on stdin) 19:00:28.359335 > 39 bytes data, server => client 19:00:28.359348 '229 Entering Passive Mode (|||36059|)\r\n' 19:00:28.359641 < 8 bytes data, client => server 19:00:28.359654 'TYPE I\r\n' 19:00:28.359794 Received DATA (on stdin) 19:00:28.359806 > 33 bytes data, server => client 19:00:28.359818 '200 I modify TYPE as you wanted\r\n' 19:00:28.359867 < 21 bytes data, client => server 19:00:28.359879 'SIZE verifiedserver\r\n' 19:00:28.359987 Received DATA (on stdin) 19:00:28.359999 > 8 bytes data, server => client 19:00:28.360010 '213 17\r\n' 19:00:28.360056 < 21 bytes data, client => server 19:00:28.360067 'RETR verifiedserver\r\n' 19:00:28.360278 Received DATA (on stdin) 19:00:28.360291 > 29 bytes data, server => client 19:00:28.360302 '150 Binary junk (17 bytes).\r\n' 19:00:28.360849 Received DATA (on stdin) 19:00:28.360862 > 28 bytes data, server => client 19:00:28.360873 '226 File transfer complete\r\n' 19:00:28.404150 < 6 bytes data, client => server 19:00:28.404186 'QUIT\r\n' 19:00:28.405888 Received DATA (on stdin) 19:00:28.405908 > 18 bytes data, server => client 19:00:28.405920 '221 bye bye baby\r\n' 19:00:28.411044 ====> Client disconnect 19:00:28.411273 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:27.358254 Running IPv4 version 19:00:27.358355 Listening on port 36059 19:00:27.358395 Wrote pid 82060 to log/14/server/ftp_sockdata.pid 19:00:27.359016 Received PING (on stdin) 19:00:27.359125 Received PORT (on stdin) 19:00:27.359542 ====> Client connect 19:00:27.360326 Received DATA (on stdin) 19:00:27.360339 > 17 bytes data, server => client 19:00:27.360351 'WE ROOLZ: 80651\r\n' 19:00:27.360390 Received DISC (on stdin) 19:00:27.360402 ====> Client forcibly disconnected 19:00:27.360557 Received QUIT (on stdin) 19:00:27.360568 quits 19:00:27.360631 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 127 === End of file server.cmd === Start of file valgrind127 ==82114== ==82114== Process terminating with default action of signal 4 (SIGILL) ==82114== Illegal opcode at address 0x4013E00 ==82114== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82114== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82114== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82114== by 0x40037A4: 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/3/valgrind126 ../src/curl -q --output log/3/curl126.out --include --trace-ascii log/3/trace126 --trace-time ftp://127.0.0.1:36301/blalbla/lululul/126 > log/3/stdout126 2> log/3/stderr126 126: 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 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/3/valgrind126 ../src/curl -q --output log/3/curl126.out --include --trace-ascii log/3/trace126 --trace-time ftp://127.0.0.1:36301/blalbla/lululul/126 > log/3/stdout126 2> log/3/stderr126 === End of file commands.log === Start of file ftp_server.log 19:00:27.562256 ====> Client connect 19:00:27.562485 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:27.562948 < "USER anonymous" 19:00:27.563007 > "331 We are happy you popped in![CR][LF]" 19:00:27.563249 < "PASS ftp@example.com" 19:00:27.563289 > "230 Welcome you silly person[CR][LF]" 19:00:27.563481 < "PWD" 19:00:27.563524 > "257 "/" is current directory[CR][LF]" 19:00:27.563718 < "EPSV" 19:00:27.563753 ====> Passive DATA channel requested by client 19:00:27.563769 DATA sockfilt for passive data channel starting... 19:00:27.569032 DATA sockfilt for passive data channel started (pid 82053) 19:00:27.569204 DATA sockfilt for passive data channel listens on port 44599 19:00:27.569269 > "229 Entering Passive Mode (|||44599|)[CR][LF]" 19:00:27.569290 Client has been notified that DATA conn will be accepted on port 44599 19:00:27.569652 Client connects to port 44599 19:00:27.569689 ====> Client established passive DATA connection on port 44599 19:00:27.569788 < "TYPE I" 19:00:27.569826 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:27.575565 < "SIZE verifiedserver" 19:00:27.575636 > "213 17[CR][LF]" 19:00:27.582239 < "RETR verifiedserver" 19:00:27.582311 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:27.582418 =====> Closing passive DATA connection... 19:00:27.582434 Server disconnects passive DATA connection 19:00:27.582755 Server disconnected passive DATA connection 19:00:27.582781 DATA sockfilt for passive data channel quits (pid 82053) 19:00:27.583080 DATA sockfilt for passive data channel quit (pid 82053) 19:00:27.583107 =====> Closed passive DATA connection 19:00:27.583137 > "226 File transfer complete[CR][LF]" 19:00:27.629103 < "QUIT" 19:00:27.629170 > "221 bye bye baby[CR][LF]" 19:00:27.630190 MAIN sockfilt said DISC 19:00:27.630225 ====> Client disconnected 19:00:27.630317 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:27.334148 ====> Client connect 19:00:27.334572 Received DATA (on stdin) 19:00:27.334591 > 160 bytes data, server => client 19:00:27.334606 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:27.334618 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:27.334629 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:27.334781 < 16 bytes data, client => server 19:00:27.334799 'USER anonymous\r\n' 19:00:27.335082 Received DATA (on stdin) 19:00:27.335098 > 33 bytes data, server => client 19:00:27.335112 '331 We are happy you popped in!\r\n' 19:00:27.335187 < 22 bytes data, client => server 19:00:27.335202 'PASS ftp@example.com\r\n' 19:00:27.335357 Received DATA (on stdin) 19:00:27.335370 > 30 bytes data, server => client 19:00:27.335382 '230 Welcome you silly person\r\n' 19:00:27.335442 < 5 bytes data, client => server 19:00:27.335456 'PWD\r\n' 19:00:27.335591 Received DATA (on stdin) 19:00:27.335605 > 30 bytes data, server => client 19:00:27.335617 '257 "/" is current directory\r\n' 19:00:27.335686 < 6 bytes data, client => server 19:00:27.335701 'EPSV\r\n' 19:00:27.341367 Received DATA (on stdin) 19:00:27.341387 > 39 bytes data, server => client 19:00:27.341400 '229 Entering Passive Mode (|||44599|)\r\n' 19:00:27.341619 < 8 bytes data, client => server 19:00:27.341641 'TYPE I\r\n' 19:00:27.341894 Received DATA (on stdin) 19:00:27.341908 > 33 bytes data, server => client 19:00:27.341921 '200 I modify TYPE as you wanted\r\n' 19:00:27.341986 < 21 bytes data, client => server 19:00:27.342004 'SIZE verifiedserver\r\n' 19:00:27.350791 Received DATA (on stdin) 19:00:27.350834 > 8 bytes data, server => client 19:00:27.350848 '213 17\r\n' 19:00:27.350970 < 21 byCMD (33792): ../libtool --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/valgrind129 ../src/curl -q --output log/4/curl129.out --include --trace-ascii log/4/trace129 --trace-time http://127.0.0.1:37985/129 > log/4/stdout129 2> log/4/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/11/valgrind133 ../src/curl -q --output log/11/curl133.out --include --trace-ascii log/11/trace133 --trace-time -n --netrc-file log/11/netrc133 ftp://mary:mark@127.0.0.1:35787/ > log/11/stdout133 2> log/11/stderr133 tes data, client => server 19:00:27.350987 'RETR verifiedserver\r\n' 19:00:27.354506 Received DATA (on stdin) 19:00:27.354525 > 29 bytes data, server => client 19:00:27.354537 '150 Binary junk (17 bytes).\r\n' 19:00:27.355202 Received DATA (on stdin) 19:00:27.355217 > 28 bytes data, server => client 19:00:27.355230 '226 File transfer complete\r\n' 19:00:27.400908 < 6 bytes data, client => server 19:00:27.400950 'QUIT\r\n' 19:00:27.401246 Received DATA (on stdin) 19:00:27.401261 > 18 bytes data, server => client 19:00:27.401274 '221 bye bye baby\r\n' 19:00:27.402187 ====> Client disconnect 19:00:27.402387 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:27.338094 Running IPv4 version 19:00:27.338189 Listening on port 44599 19:00:27.338229 Wrote pid 82053 to log/3/server/ftp_sockdata.pid 19:00:27.340994 Received PING (on stdin) 19:00:27.341148 Received PORT (on stdin) 19:00:27.341666 ====> Client connect 19:00:27.354585 Received DATA (on stdin) 19:00:27.354604 > 17 bytes data, server => client 19:00:27.354614 'WE ROOLZ: 80615\r\n' 19:00:27.354643 Received DISC (on stdin) 19:00:27.354655 ====> Client forcibly disconnected 19:00:27.354851 Received QUIT (on stdin) 19:00:27.354862 quits 19:00:27.354943 ============> 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 ==82111== ==82111== Process terminating with default action of signal 4 (SIGILL) ==82111== Illegal opcode at address 0x4013E00 ==82111== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82111== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82111== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82111== by 0x40037A4: main (tool_main.c:199) === End of file valgrind126 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/4/valgrind129 ../src/curl -q --output log/4/curl129.out --include --trace-ascii log/4/trace129 --trace-time http://127.0.0.1:37985/129 > log/4/stdout129 2> log/4/stderr129 129: 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 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/4/valgrind129 ../src/curl -q --output log/4/curl129.out --include --trace-ascii log/4/trace129 --trace-time http://127.0.0.1:37985/129 > log/4/stdout129 2> log/4/stderr129 === End of file commands.log === Start of file http_server.log 19:00:28.606761 ====> Client connect 19:00:28.606804 accept_connection 3 returned 4 19:00:28.606908 accept_connection 3 returned 0 19:00:28.606927 Read 93 bytes 19:00:28.606938 Process 93 bytes request 19:00:28.606959 Got request: GET /verifiedserver HTTP/1.1 19:00:28.606970 Are-we-friendly question received 19:00:28.607034 Wrote request (93 bytes) input to log/4/server.input 19:00:28.607051 Identifying ourselves as friends 19:00:28.607113 Response sent (56 bytes) and written to log/4/server.response 19:00:28.607124 special request received, no persistency 19:00:28.607133 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 51444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === End of file http_verify.out === Start of file server.cmd Testnum 129 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74797 === End of file server.response === Start of file valgrind129 ==82259== ==82259== Process terminating with default action of signal 4 (SIGILL) ==82259== Illegal opcode at address 0x4013E00 ==82259== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82259== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82259== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82259== by 0x40037A4: main (tool_main.c:199) === End of file valgrind129 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/11/valgrind133 ../src/curl -q --output log/11/curl133.out --include --trace-ascii log/11/trace133 --trace-time -n --netrc-file log/11/netrc133 ftp://mary:mark@127.0.0.1:35787/ > log/11/stdout133 2> log/11/stderr133 133: 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 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/11/valgrind133 ../src/curl -q --output log/11/curl133.out --include --trace-ascii log/11/trace133 --trace-time -n --netrc-file log/11/netrc133 ftp://mary:mark@127.0.0.1:35787/ > log/11/stdout133 2> log/11/stderr133 === End of file commands.log === Start of file ftp_server.log 19:00:28.112118 ====> Client connect 19:00:28.112418 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:28.112860 < "USER anonymous" 19:00:28.112899 > "331 We are happy you popped in![CR][LF]" 19:00:28.113075 < "PASS ftp@example.com" 19:00:28.113103 > "230 Welcome you silly person[CR][LF]" 19:00:28.113260 < "PWD" 19:00:28.113291 > "257 "/" is current directory[CR][LF]" 19:00:28.113462 < "EPSV" 19:00:28.113491 ====> Passive DATA channel requested by client 19:00:28.113505 DATA sockfilt for passive data channel starting... 19:00:28.125450 DATA sockfilt for passive data channel started (pid 82423) 19:00:28.125699 DATA sockfilt for passive data channel listens on port 38851 19:00:28.125767 > "229 Entering Passive Mode (|||38851|)[CR][LF]" 19:00:28.125789 Client has been notified that DATA conn will be accepted on port 38851 19:00:28.135495 Client connects to port 38851 19:00:28.135581 ====> Client established passive DATA connection on port 38851 19:00:28.135736 < "TYPE I" 19:00:28.135795 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.136048 < "SIZE verifiedserver" 19:00:28.136096 > "213 17[CR][LF]" 19:00:28.136308 < "RETR verifiedserver" 19:00:28.136348 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.136458 =====> Closing passive DATA connection... 19:00:28.136482 Server disconnects passive DATA connection 19:00:28.136781 Server disconnected passive DATA connection 19:00:28.136815 DATA sockfilt for passive data channel quits (pid 82423) 19:00:28.137325 DATA sockfilt for passive data channel quit (pid 82423) 19:00:28.137356 =====> Closed passive DATA connection 19:00:28.137396 > "226 File transfer complete[CR][LF]" 19:00:28.180446 < "QUIT" 19:00:28.180501 > "221 bye bye baby[CR][LF]" 19:00:28.181931 MAIN sockfilt said DISC 19:00:28.181980 ====> Client disconnected 19:00:28.182076 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:27.880823 ====> Client connect 19:00:27.884509 Received DATA (on stdin) 19:00:27.884537 > 160 bytes data, server => client 19:00:27.884551 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:27.884563 ' \r\n220- / __| | | | |_) | | \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/6/valgrind128 ../src/curl -q --output log/6/curl128.out --include --trace-ascii log/6/trace128 --trace-time ftp://127.0.0.1:36475/128 -T log/6/upload128 --crlf > log/6/stdout128 2> log/6/stderr128 ' 19:00:27.884574 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:27.884728 < 16 bytes data, client => server 19:00:27.884742 'USER anonymous\r\n' 19:00:27.884968 Received DATA (on stdin) 19:00:27.884982 > 33 bytes data, server => client 19:00:27.884993 '331 We are happy you popped in!\r\n' 19:00:27.885046 < 22 bytes data, client => server 19:00:27.885058 'PASS ftp@example.com\r\n' 19:00:27.885165 Received DATA (on stdin) 19:00:27.885178 > 30 bytes data, server => client 19:00:27.885189 '230 Welcome you silly person\r\n' 19:00:27.885240 < 5 bytes data, client => server 19:00:27.885252 'PWD\r\n' 19:00:27.885354 Received DATA (on stdin) 19:00:27.885368 > 30 bytes data, server => client 19:00:27.885379 '257 "/" is current directory\r\n' 19:00:27.885441 < 6 bytes data, client => server 19:00:27.885454 'EPSV\r\n' 19:00:27.897876 Received DATA (on stdin) 19:00:27.897901 > 39 bytes data, server => client 19:00:27.897915 '229 Entering Passive Mode (|||38851|)\r\n' 19:00:27.904323 < 8 bytes data, client => server 19:00:27.904355 'TYPE I\r\n' 19:00:27.907878 Received DATA (on stdin) 19:00:27.907900 > 33 bytes data, server => client 19:00:27.907915 '200 I modify TYPE as you wanted\r\n' 19:00:27.908001 < 21 bytes data, client => server 19:00:27.908020 'SIZE verifiedserver\r\n' 19:00:27.908171 Received DATA (on stdin) 19:00:27.908187 > 8 bytes data, server => client 19:00:27.908200 '213 17\r\n' 19:00:27.908261 < 21 bytes data, client => server 19:00:27.908279 'RETR verifiedserver\r\n' 19:00:27.908664 Received DATA (on stdin) 19:00:27.908681 > 29 bytes data, server => client 19:00:27.908695 '150 Binary junk (17 bytes).\r\n' 19:00:27.909469 Received DATA (on stdin) 19:00:27.909486 > 28 bytes data, server => client 19:00:27.909499 '226 File transfer complete\r\n' 19:00:27.952329 < 6 bytes data, client => server 19:00:27.952358 'QUIT\r\n' 19:00:27.952573 Received DATA (on stdin) 19:00:27.952591 > 18 bytes data, server => client 19:00:27.952603 '221 bye bye baby\r\n' 19:00:27.953562 ====> Client disconnect 19:00:27.954143 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:28.891717 Running IPv4 version 19:00:28.891813 Listening on port 38851 19:00:28.891855 Wrote pid 82423 to log/11/server/ftp_sockdata.pid 19:00:28.895574 Received PING (on stdin) 19:00:28.897623 Received PORT (on stdin) 19:00:28.907471 ====> Client connect 19:00:28.908554 Received DATA (on stdin) 19:00:28.908571 > 17 bytes data, server => client 19:00:28.908584 'WE ROOLZ: 80684\r\n' 19:00:28.908616 Received DISC (on stdin) 19:00:28.908633 ====> Client forcibly disconnected 19:00:28.908895 Received QUIT (on stdin) 19:00:28.908911 quits 19:00:28.908986 ============> 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 ==82490== ==82490== Process terminating with default action of signal 4 (SIGILL) ==82490== Illegal opcode at address 0x4013E00 ==82490== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82490== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82490== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82490== by 0x40037A4: main (tool_main.c:199) === End of file valgrind133 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/6/valgrind128 ../src/curl -q --output log/6/curl128.out --include --trace-ascii log/6/trace128 --trace-time ftp://127.0.0.1:36475/128 -T log/6/upload128 --crlf > log/6/stdout128 2> log/6/stderr128 128: 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 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/6/valgrind128 ../src/curl -q --output log/6/curl128.out --include --trace-ascii log/6/trace128 --trace-time ftp://127.0.0.1:36475/128 -T log/6/upload128 --crlf > log/6/stdout128 2> log/6/stderr128 === End of file commands.log === Start of file ftp_server.log 19:00:27.696761 ====> Client connect 19:00:27.696982 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:27.697353 < "USER anonymous" 19:00:27.697403 > "331 We are happy you popped in![CR][LF]" 19:00:27.697612 < "PASS ftp@example.com" 19:00:27.697644 > "230 Welcome you silly person[CR][LF]" 19:00:27.697835 < "PWD" 19:00:27.697875 > "257 "/" is current directory[CR][LF]" 19:00:27.698077 < "EPSV" 19:00:27.698115 ====> Passive DATA channel requested by client 19:00:27.698132 DATA sockfilt for passive data channel starting... 19:00:27.700610 DATA sockfilt for passive data channel started (pid 82148) 19:00:27.700754 DATA sockfilt for passive data channel listens on port 46687 19:00:27.700815 > "229 Entering Passive Mode (|||46687|)[CR][LF]" 19:00:27.700840 Client has been notified that DATA conn will be accepted on port 46687 19:00:27.701156 Client connects to port 46687 19:00:27.701193 ====> Client established passive DATA connection on port 46687 19:00:27.701302 < "TYPE I" 19:00:27.701346 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:27.701553 < "SIZE verifiedserver" 19:00:27.701599 > "213 17[CR][LF]" 19:00:27.701796 < "RETR verifiedserver" 19:00:27.701837 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:27.701949 =====> Closing passive DATA connection... 19:00:27.701976 Server disconnects passive DATA connection 19:00:27.702366 Server disconnected passive DATA connection 19:00:27.702403 DATA sockfilt for passive data channel quits (pid 82148) 19:00:27.702778 DATA sockfilt for passive data channel quit (pid 82148) 19:00:27.702810 =====> Closed passive DATA connection 19:00:27.702852 > "226 File transfer complete[CR][LF]" 19:00:27.749646 < "QUIT" 19:00:27.749708 > "221 bye bye baby[CR][LF]" 19:00:27.750739 MAIN sockfilt said DISC 19:00:27.750775 ====> Client disconnected 19:00:27.750868 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:28.468676 ====> Client connect 19:00:28.469070 Received DATA (on stdin) 19:00:28.469091 > 160 bytes data, server => client 19:00:28.469105 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:28.469118 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:28.469130 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:28.469219 < 16 bytes data, client => server 19:00:28.469237 'USER anonymous\r\n' 19:00:28.469477 Received DATA (on stdin) 19:00:28.469492 > 33 bytes data, server => client 19:00:28.469505 '331 We are happy you popped in!\r\n' 19:00:28.469566 < 22 bytes data, client => server 19:00:28.469583 'PASS ftp@example.com\r\n' 19:00:28.469713 Received DATA (on stdin) 19:00:28.469728 > 30 bytes data, server => client 19:00:28.469741 '230 Welcome you silly person\r\n' 19:00:28.469797 < 5 bytes data, client => server 19:00:28.469813 'PWD\r\n' 19:00:28.469945 Received DATA (on stdin) 19:00:28.469961 > 30 bytes data, server => client 19:00:28.469973 '257 "/" is current directory\r\n' 19:00:28.470041 < 6 bytes data, client => server 19:00:28.470058 'EPSV\r\n' 19:00:28.472917 Received DATA (on stdin) 19:00:28.472935 > 39 bytes data, server => client 19:00:28.472948 '229 Entering Passive Mode (|||46687|)\r\n' 19:00:28.473128 < 8 bytes data, client => server 19:00:28.473148 'TYPE I\r\n' 19:00:28.473419 Received DATA (on stdin) 19:00:28.473435 > 33 bytes data, server => client 19:00:28.473452 '200 I modify TYPE as you 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/23/valgrind132 ../src/curl -q --output log/23/curl132.out --include --trace-ascii log/23/trace132 --trace-time --netrc-optional --netrc-file log/23/netrc132 ftp://mary:mark@127.0.0.1:45397/ > log/23/stdout132 2> log/23/stderr132 anted\r\n' 19:00:28.473514 < 21 bytes data, client => server 19:00:28.473531 'SIZE verifiedserver\r\n' 19:00:28.473672 Received DATA (on stdin) 19:00:28.473688 > 8 bytes data, server => client 19:00:28.473700 '213 17\r\n' 19:00:28.473755 < 21 bytes data, client => server 19:00:28.473773 'RETR verifiedserver\r\n' 19:00:28.474050 Received DATA (on stdin) 19:00:28.474066 > 29 bytes data, server => client 19:00:28.474079 '150 Binary junk (17 bytes).\r\n' 19:00:28.474925 Received DATA (on stdin) 19:00:28.474941 > 28 bytes data, server => client 19:00:28.474954 '226 File transfer complete\r\n' 19:00:28.521482 < 6 bytes data, client => server 19:00:28.521527 'QUIT\r\n' 19:00:28.521778 Received DATA (on stdin) 19:00:28.521794 > 18 bytes data, server => client 19:00:28.521806 '221 bye bye baby\r\n' 19:00:28.522731 ====> Client disconnect 19:00:28.532144 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:27.472207 Running IPv4 version 19:00:27.472279 Listening on port 46687 19:00:27.472583 Wrote pid 82148 to log/6/server/ftp_sockdata.pid 19:00:27.472612 Received PING (on stdin) 19:00:27.472710 Received PORT (on stdin) 19:00:27.473172 ====> Client connect 19:00:27.474188 Received DATA (on stdin) 19:00:27.474211 > 17 bytes data, server => client 19:00:27.474225 'WE ROOLZ: 80654\r\n' 19:00:27.474267 Received DISC (on stdin) 19:00:27.474284 ====> Client forcibly disconnected 19:00:27.474487 Received QUIT (on stdin) 19:00:27.474502 quits 19:00:27.474588 ============> 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 ==82190== ==82190== Process terminating with default action of signal 4 (SIGILL) ==82190== Illegal opcode at address 0x4013E00 ==82190== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82190== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82190== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82190== by 0x40037A4: main (tool_main.c:199) === End of file valgrind128 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/23/valgrind132 ../src/curl -q --output log/23/curl132.out --include --trace-ascii log/23/trace132 --trace-time --netrc-optional --netrc-file log/23/netrc132 ftp://mary:mark@127.0.0.1:45397/ > log/23/stdout132 2> log/23/stderr132 132: 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 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/23/valgrind132 ../src/curl -q --output log/23/curl132.out --include --trace-ascii log/23/trace132 --trace-time --netrc-optional --netrc-file log/23/netrc132 ftp://mary:mark@127.0.0.1:45397/ > log/23/stdout132 2> log/23/stderr132 === End of file commands.log === Start of file ftp_server.log 19:00:28.092535 ====> Client connect 19:00:28.092707 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:28.093038 < "USER anonymous" 19:00:28.093081 > "331 We are happy you popped in![CR][LF]" 19:00:28.093276 < "PASS ftp@example.com" 19:00:28.093304 > "230 Welcome you silly person[CR][LF]" 19:00:28.093472 < "PWD" 19:00:28.093504 > "257 "/" is current directory[CR][LF]" 19:00:28.093677 < "EPSV" 19:00:28.093710 ====> Passive DATA channel requested by client 19:00:28.093726 DATA sockfilt for passive data channel starting... 19:00:28.105450 DATA sockfilt for passive data channel started (pid 82418) 19:00:28.105691 DATA sockfilt for passive data channel listens on port 46223 19:00:28.105761 > "229 Entering Passive Mode (|||46223|)[CR][LF]" 19:00:28.105783 Client has been notified that DATA conn will be accepted on port 46223 19:00:28.106090 Client connects to port 46223 19:00:28.106121 ====> Client established passive DATA connection on port 46223 19:00:28.106227 < "TYPE I" 19:00:28.106263 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.106441 < "SIZE verifiedserver" 19:00:28.106485 > "213 17[CR][LF]" 19:00:28.106671 < "RETR verifiedserver" 19:00:28.106713 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.106849 =====> Closing passive DATA connection... 19:00:28.106871 Server disconnects passive DATA connection 19:00:28.107135 Server disconnected passive DATA connection 19:00:28.107163 DATA sockfilt for passive data channel quits (pid 82418) 19:00:28.107462 DATA sockfilt for passive data channel quit (pid 82418) 19:00:28.107491 =====> Closed passive DATA connection 19:00:28.107530 > "226 File transfer complete[CR][LF]" 19:00:28.155724 < "QUIT" 19:00:28.155786 > "221 bye bye baby[CR][LF]" 19:00:28.156824 MAIN sockfilt said DISC 19:00:28.156858 ====> Client disconnected 19:00:28.156937 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:27.864491 ====> Client connect 19:00:27.864785 Received DATA (on stdin) 19:00:27.864803 > 160 bytes data, server => client 19:00:27.864817 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:27.864830 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:27.864841 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:27.864919 < 16 bytes data, client => server 19:00:27.864937 'USER anonymous\r\n' 19:00:27.865155 Received DATA (on stdin) 19:00:27.865171 > 33 bytes data, server => client 19:00:27.865184 '331 We are happy you popped in!\r\n' 19:00:27.865240 < 22 bytes data, client => server 19:00:27.865256 'PASS ftp@example.com\r\n' 19:00:27.865368 Received DATA (on stdin) 19:00:27.865381 > 30 bytes data, server => client 19:00:27.865393 '230 Welcome you silly person\r\n' 19:00:27.865443 < 5 bytes data, client => server 19:00:27.865459 'PWD\r\n' 19:00:27.865567 Received DATA (on stdin) 19:00:27.865580 > 30 bytes data, server => client 19:00:27.865591 '257 "/" is current directory\r\n' 19:00:27.865650 < 6 bytes data, client => server 19:00:27.865664 'EPSV\r\n' 19:00:27.877874 Received DATA (on stdin) 19:00:27.877897 > 39 bytes data, server => client 19:00:27.877910 '229 Entering Passive Mode (|||46223|)\r\n' 19:00:27.878069 < 8 bytes data, client => server 19:00:27.878085 'TYPE I\r\n' 19:00:27.878330 Received DATA (on stdin) 19:00:27.878343 > 33 bytes data, server => client 19:00:27.878355 '200 I modify TYPE as you wanted\r\n' 19:00:27.878409 < 21 bytes data, client => server 19:00:27.878424 'SIZE verifiedserver\r\n' 19:00:27.878557 Received DATA (on stdin) 19:00:27.878573 > 8 bytes data, server => client 19:00:27.878584 '213 17\r\n' 19:00:27.878637 < 21 bytes data, client => server 19:00:27.878651 'RETR verifiedserver\r\n' 19:00:27.878981 Received DATA (on stdin) 19:00:27.878998 > 29 bytes data, server => client 19:00:27.879009 '150 Binary junk (17 bytes).\r\n' 19:00:27.879599 Received DATA (on stdin) 19:00:27.879615 > 28 bytes data, server => client 19:00:27.879627 '226 File transfer complete\r\n' 19:00:27.927596 < 6 bytes data, client => server 19:00:27.927631 'QUIT\r\n' 19:00:27.927857 Received DATA (on stdin) 19:00:27.927872 > 18 bytes data, server => client 19:00:27.927884 '221 bye bye baby\r\n' 19:00:27.928826 ====> Client disconnect 19:00:27.929012 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:28.867152 Running IPv4 version 19:00:28.867211 Listening on port 46223 19:00:28.867249 Wrote pid 82418 to log/23/server/ftp_sockdata.pid 19:00:28.874876 Received PING (on stdin) 19:00:28.877609 Received PORT (on 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/valgrind131 ../src/curl -q --output log/9/curl131.out --include --trace-ascii log/9/trace131 --trace-time --netrc-optional --netrc-file log/9/netrc131 ftp://user2@127.0.0.1:41525/ > log/9/stdout131 2> log/9/stderr131 CMD (33792): ../libtool --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/valgrind130 ../src/curl -q --output log/2/curl130.out --include --trace-ascii log/2/trace130 --trace-time --netrc-optional --netrc-file log/2/netrc130 ftp://127.0.0.1:37089/ > log/2/stdout130 2> log/2/stderr130 din) 19:00:28.878107 ====> Client connect 19:00:28.879036 Received DATA (on stdin) 19:00:28.879050 > 17 bytes data, server => client 19:00:28.879060 'WE ROOLZ: 80691\r\n' 19:00:28.879130 Received DISC (on stdin) 19:00:28.879145 ====> Client forcibly disconnected 19:00:28.879239 Received QUIT (on stdin) 19:00:28.879251 quits 19:00:28.879347 ============> 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 ==82459== ==82459== Process terminating with default action of signal 4 (SIGILL) ==82459== Illegal opcode at address 0x4013E00 ==82459== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82459== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82459== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82459== by 0x40037A4: main (tool_main.c:199) === End of file valgrind132 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/2/valgrind130 ../src/curl -q --output log/2/curl130.out --include --trace-ascii log/2/trace130 --trace-time --netrc-optional --netrc-file log/2/netrc130 ftp://127.0.0.1:37089/ > log/2/stdout130 2> log/2/stderr130 130: 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 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/2/valgrind130 ../src/curl -q --output log/2/curl130.out --include --trace-ascii log/2/trace130 --trace-time --netrc-optional --netrc-file log/2/netrc130 ftp://127.0.0.1:37089/ > log/2/stdout130 2> log/2/stderr130 === End of file commands.log === Start of file ftp_server.log 19:00:27.969776 ====> Client connect 19:00:27.969978 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:27.970302 < "USER anonymous" 19:00:27.970342 > "331 We are happy you popped in![CR][LF]" 19:00:27.970521 < "PASS ftp@example.com" 19:00:27.970547 > "230 Welcome you silly person[CR][LF]" 19:00:27.970700 < "PWD" 19:00:27.970734 > "257 "/" is current directory[CR][LF]" 19:00:27.970915 < "EPSV" 19:00:27.970949 ====> Passive DATA channel requested by client 19:00:27.970966 DATA sockfilt for passive data channel starting... 19:00:27.986696 DATA sockfilt for passive data channel started (pid 82338) 19:00:27.994993 DATA sockfilt for passive data channel listens on port 37037 19:00:27.995092 > "229 Entering Passive Mode (|||37037|)[CR][LF]" 19:00:27.995115 Client has been notified that DATA conn will be accepted on port 37037 19:00:27.995712 Client connects to port 37037 19:00:27.995749 ====> Client established passive DATA connection on port 37037 19:00:27.995863 < "TYPE I" 19:00:27.995906 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.002174 < "SIZE verifiedserver" 19:00:28.002239 > "213 17[CR][LF]" 19:00:28.005490 < "RETR verifiedserver" 19:00:28.005541 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.005641 =====> Closing passive DATA connection... 19:00:28.005663 Server disconnects passive DATA connection 19:00:28.005819 Server disconnected passive DATA connection 19:00:28.005848 DATA sockfilt for passive data channel quits (pid 82338) 19:00:28.006149 DATA sockfilt for passive data channel quit (pid 82338) 19:00:28.006187 =====> Closed passive DATA connection 19:00:28.006218 > "226 File transfer complete[CR][LF]" 19:00:28.055719 < "QUIT" 19:00:28.055774 > "221 bye bye baby[CR][LF]" 19:00:28.056756 MAIN sockfilt said DISC 19:00:28.056797 ====> Client disconnected 19:00:28.056871 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:27.741721 ====> Client connect 19:00:27.742058 Received DATA (on stdin) 19:00:27.742077 > 160 bytes data, server => client 19:00:27.742091 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:27.742103 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:27.742114 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:27.742194 < 16 bytes data, client => server 19:00:27.742211 'USER anonymous\r\n' 19:00:27.742409 Received DATA (on stdin) 19:00:27.742424 > 33 bytes data, server => client 19:00:27.742436 '331 We are happy you popped in!\r\n' 19:00:27.742490 < 22 bytes data, client => server 19:00:27.742503 'PASS ftp@example.com\r\n' 19:00:27.742610 Received DATA (on stdin) 19:00:27.742622 > 30 bytes data, server => client 19:00:27.742634 '230 Welcome you silly person\r\n' 19:00:27.742679 < 5 bytes data, client => server 19:00:27.742690 'PWD\r\n' 19:00:27.742796 Received DATA (on stdin) 19:00:27.742809 > 30 bytes data, server => client 19:00:27.742821 '257 "/" is current directory\r\n' 19:00:27.742882 < 6 bytes data, client => server 19:00:27.742898 'EPSV\r\n' 19:00:27.767354 Received DATA (on stdin) 19:00:27.767384 > 39 bytes data, server => client 19:00:27.767398 '229 Entering Passive Mode (|||37037|)\r\n' 19:00:27.767617 < 8 bytes data, client => server 19:00:27.767637 'TYPE I\r\n' 19:00:27.770785 Received DATA (on stdin) 19:00:27.770806 > 33 bytes data, server => client 19:00:27.770819 '200 I modify TYPE as you wanted\r\n' 19:00:27.770885 < 21 bytes data, client => server 19:00:27.770898 'SIZE verifiedserver\r\n' 19:00:27.776659 Received DATA (on stdin) 19:00:27.776699 > 8 bytes data, server => client 19:00:27.776712 '213 17\r\n' 19:00:27.776796 < 21 bytes data, client => server 19:00:27.776812 'RETR verifiedserver\r\n' 19:00:27.780783 Received DATA (on stdin) 19:00:27.780810 > 29 bytes data, server => client 19:00:27.780824 '150 Binary junk (17 bytes).\r\n' 19:00:27.780859 Received DATA (on stdin) 19:00:27.780872 > 28 bytes data, server => client 19:00:27.780884 '226 File transfer complete\r\n' 19:00:27.827593 < 6 bytes data, client => server 19:00:27.827619 'QUIT\r\n' 19:00:27.827842 Received DATA (on stdin) 19:00:27.827856 > 18 bytes data, server => client 19:00:27.827867 '221 bye bye baby\r\n' 19:00:27.828752 ====> Client disconnect 19:00:27.828936 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:27.757615 Running IPv4 version 19:00:27.757706 Listening on port 37037 19:00:27.757749 Wrote pid 82338 to log/2/server/ftp_sockdata.pid 19:00:27.757775 Received PING (on stdin) 19:00:27.764118 Received PORT (on stdin) 19:00:27.767710 ====> Client connect 19:00:27.777738 Received DATA (on stdin) 19:00:27.777758 > 17 bytes data, server => client 19:00:27.777771 'WE ROOLZ: 80680\r\n' 19:00:27.777809 Received DISC (on stdin) 19:00:27.777826 ====> Client forcibly disconnected 19:00:27.777924 Received QUIT (on stdin) 19:00:27.777939 quits 19:00:27.778011 ============> 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 ==82417== ==82417== Process terminating with default action of signal 4 (SIGILL) ==82417== Illegal opcode at address 0x4013E00 ==82417== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82417== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82417== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82417== CMD (33792): ../libtool --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/valgrind134 ../src/curl -q --output log/20/curl134.out --include --trace-ascii log/20/trace134 --trace-time --netrc-optional --netrc-file log/20/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:39091/ > log/20/stdout134 2> log/20/stderr134 by 0x40037A4: main (tool_main.c:199) === End of file valgrind130 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/9/valgrind131 ../src/curl -q --output log/9/curl131.out --include --trace-ascii log/9/trace131 --trace-time --netrc-optional --netrc-file log/9/netrc131 ftp://user2@127.0.0.1:41525/ > log/9/stdout131 2> log/9/stderr131 131: 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 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/9/valgrind131 ../src/curl -q --output log/9/curl131.out --include --trace-ascii log/9/trace131 --trace-time --netrc-optional --netrc-file log/9/netrc131 ftp://user2@127.0.0.1:41525/ > log/9/stdout131 2> log/9/stderr131 === End of file commands.log === Start of file ftp_server.log 19:00:28.050944 ====> Client connect 19:00:28.051142 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:28.058903 < "USER anonymous" 19:00:28.058966 > "331 We are happy you popped in![CR][LF]" 19:00:28.059204 < "PASS ftp@example.com" 19:00:28.059236 > "230 Welcome you silly person[CR][LF]" 19:00:28.059410 < "PWD" 19:00:28.059443 > "257 "/" is current directory[CR][LF]" 19:00:28.059623 < "EPSV" 19:00:28.059657 ====> Passive DATA channel requested by client 19:00:28.059673 DATA sockfilt for passive data channel starting... 19:00:28.067309 DATA sockfilt for passive data channel started (pid 82397) 19:00:28.067463 DATA sockfilt for passive data channel listens on port 40215 19:00:28.067522 > "229 Entering Passive Mode (|||40215|)[CR][LF]" 19:00:28.067542 Client has been notified that DATA conn will be accepted on port 40215 19:00:28.085495 Client connects to port 40215 19:00:28.085568 ====> Client established passive DATA connection on port 40215 19:00:28.085689 < "TYPE I" 19:00:28.085737 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.085972 < "SIZE verifiedserver" 19:00:28.086014 > "213 17[CR][LF]" 19:00:28.086166 < "RETR verifiedserver" 19:00:28.086199 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.086290 =====> Closing passive DATA connection... 19:00:28.086306 Server disconnects passive DATA connection 19:00:28.086561 Server disconnected passive DATA connection 19:00:28.086587 DATA sockfilt for passive data channel quits (pid 82397) 19:00:28.086817 DATA sockfilt for passive data channel quit (pid 82397) 19:00:28.086841 =====> Closed passive DATA connection 19:00:28.086873 > "226 File transfer complete[CR][LF]" 19:00:28.137884 < "QUIT" 19:00:28.137941 > "221 bye bye baby[CR][LF]" 19:00:28.138951 MAIN sockfilt said DISC 19:00:28.138992 ====> Client disconnected 19:00:28.139080 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:27.822864 ====> Client connect 19:00:27.823219 Received DATA (on stdin) 19:00:27.823236 > 160 bytes data, server => client 19:00:27.823249 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:27.823261 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:27.823273 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:27.824412 < 16 bytes data, client => server 19:00:27.824431 'USER anonymous\r\n' 19:00:27.831043 Received DATA (on stdin) 19:00:27.831063 > 33 bytes data, server => client 19:00:27.831076 '331 We are happy you popped in!\r\n' 19:00:27.831162 < 22 bytes data, client => server 19:00:27.831178 'PASS ftp@example.com\r\n' 19:00:27.831301 Received DATA (on stdin) 19:00:27.831315 > 30 bytes data, server => client 19:00:27.831328 '230 Welcome you silly person\r\n' 19:00:27.831381 < 5 bytes data, client => server 19:00:27.831396 'PWD\r\n' 19:00:27.831506 Received DATA (on stdin) 19:00:27.831519 > 30 bytes data, server => client 19:00:27.831531 '257 "/" is current directory\r\n' 19:00:27.831594 < 6 bytes data, client => server 19:00:27.831609 'EPSV\r\n' 19:00:27.847464 Received DATA (on stdin) 19:00:27.847518 > 39 bytes data, server => client 19:00:27.847533 '229 Entering Passive Mode (|||40215|)\r\n' 19:00:27.847798 < 8 bytes data, client => server 19:00:27.847818 'TYPE I\r\n' 19:00:27.857810 Received DATA (on stdin) 19:00:27.857829 > 33 bytes data, server => client 19:00:27.857842 '200 I modify TYPE as you wanted\r\n' 19:00:27.857949 < 21 bytes data, client => server 19:00:27.857962 'SIZE verifiedserver\r\n' 19:00:27.858077 Received DATA (on stdin) 19:00:27.858089 > 8 bytes data, server => client 19:00:27.858101 '213 17\r\n' 19:00:27.858149 < 21 bytes data, client => server 19:00:27.858161 'RETR verifiedserver\r\n' 19:00:27.858371 Received DATA (on stdin) 19:00:27.858383 > 29 bytes data, server => client 19:00:27.858395 '150 Binary junk (17 bytes).\r\n' 19:00:27.858936 Received DATA (on stdin) 19:00:27.858950 > 28 bytes data, server => client 19:00:27.858962 '226 File transfer complete\r\n' 19:00:27.909743 < 6 bytes data, client => server 19:00:27.909778 'QUIT\r\n' 19:00:27.910013 Received DATA (on stdin) 19:00:27.910028 > 18 bytes data, server => client 19:00:27.910041 '221 bye bye baby\r\n' 19:00:27.910825 ====> Client disconnect 19:00:27.911156 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:28.833806 Running IPv4 version 19:00:28.833870 Listening on port 40215 19:00:28.833910 Wrote pid 82397 to log/9/server/ftp_sockdata.pid 19:00:28.839289 Received PING (on stdin) 19:00:28.839417 Received PORT (on stdin) 19:00:28.857466 ====> Client connect 19:00:28.858420 Received DATA (on stdin) 19:00:28.858435 > 17 bytes data, server => client 19:00:28.858446 'WE ROOLZ: 80682\r\n' 19:00:28.858475 Received DISC (on stdin) 19:00:28.858487 ====> Client forcibly disconnected 19:00:28.858656 Received QUIT (on stdin) 19:00:28.858668 quits 19:00:28.858729 ============> 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 ==82438== ==82438== Process terminating with default action of signal 4 (SIGILL) ==82438== Illegal opcode at address 0x4013E00 ==82438== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82438== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82438== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82438== by 0x40037A4: 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/20/valgrind134 ../src/curl -q --output log/20/curl134.out --include --trace-ascii log/20/trace134 --trace-time --netrc-optional --netrc-file log/20/netrc134 -u romulus:rhemus ftp://mary:mark@127.0.0.1:39091/ > log/20/stdout134 2> log/20/stderr134 134: 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 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/20/valgrind134 ../src/curl -q --output log/20/curl134.out --include --trace-ascii log/20/trace134 --trace-time --netrc-optional --netrc-file log/20/netrc134 -u romulus:rhemus ftp://mary:mark@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/valgrind136 ../src/curl -q --output log/13/curl136.out --include --trace-ascii log/13/trace136 --trace-time -u user: ftp://127.0.0.1:40887/136 > log/13/stdout136 2> log/13/stderr136 7.0.0.1:39091/ > log/20/stdout134 2> log/20/stderr134 === End of file commands.log === Start of file ftp_server.log 19:00:28.275532 ====> Client connect 19:00:28.275739 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:28.276106 < "USER anonymous" 19:00:28.276146 > "331 We are happy you popped in![CR][LF]" 19:00:28.276338 < "PASS ftp@example.com" 19:00:28.276370 > "230 Welcome you silly person[CR][LF]" 19:00:28.276554 < "PWD" 19:00:28.276589 > "257 "/" is current directory[CR][LF]" 19:00:28.276780 < "EPSV" 19:00:28.276811 ====> Passive DATA channel requested by client 19:00:28.276826 DATA sockfilt for passive data channel starting... 19:00:28.287504 DATA sockfilt for passive data channel started (pid 82573) 19:00:28.287728 DATA sockfilt for passive data channel listens on port 43311 19:00:28.287803 > "229 Entering Passive Mode (|||43311|)[CR][LF]" 19:00:28.287835 Client has been notified that DATA conn will be accepted on port 43311 19:00:28.292468 Client connects to port 43311 19:00:28.292546 ====> Client established passive DATA connection on port 43311 19:00:28.292678 < "TYPE I" 19:00:28.292730 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.295538 < "SIZE verifiedserver" 19:00:28.295604 > "213 17[CR][LF]" 19:00:28.295831 < "RETR verifiedserver" 19:00:28.295879 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.295982 =====> Closing passive DATA connection... 19:00:28.296001 Server disconnects passive DATA connection 19:00:28.296199 Server disconnected passive DATA connection 19:00:28.296228 DATA sockfilt for passive data channel quits (pid 82573) 19:00:28.296523 DATA sockfilt for passive data channel quit (pid 82573) 19:00:28.296558 =====> Closed passive DATA connection 19:00:28.296594 > "226 File transfer complete[CR][LF]" 19:00:28.345768 < "QUIT" 19:00:28.345826 > "221 bye bye baby[CR][LF]" 19:00:28.347357 MAIN sockfilt said DISC 19:00:28.347406 ====> Client disconnected 19:00:28.347487 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:28.047470 ====> Client connect 19:00:28.047816 Received DATA (on stdin) 19:00:28.047832 > 160 bytes data, server => client 19:00:28.047845 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:28.047857 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:28.047869 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:28.047990 < 16 bytes data, client => server 19:00:28.048008 'USER anonymous\r\n' 19:00:28.048215 Received DATA (on stdin) 19:00:28.048230 > 33 bytes data, server => client 19:00:28.048243 '331 We are happy you popped in!\r\n' 19:00:28.048299 < 22 bytes data, client => server 19:00:28.048313 'PASS ftp@example.com\r\n' 19:00:28.048436 Received DATA (on stdin) 19:00:28.048449 > 30 bytes data, server => client 19:00:28.048461 '230 Welcome you silly person\r\n' 19:00:28.048516 < 5 bytes data, client => server 19:00:28.048537 'PWD\r\n' 19:00:28.048657 Received DATA (on stdin) 19:00:28.048671 > 30 bytes data, server => client 19:00:28.048683 '257 "/" is current directory\r\n' 19:00:28.048747 < 6 bytes data, client => server 19:00:28.048763 'EPSV\r\n' 19:00:28.064129 Received DATA (on stdin) 19:00:28.064165 > 39 bytes data, server => client 19:00:28.064179 '229 Entering Passive Mode (|||43311|)\r\n' 19:00:28.064405 < 8 bytes data, client => server 19:00:28.064427 'TYPE I\r\n' 19:00:28.064801 Received DATA (on stdin) 19:00:28.064818 > 33 bytes data, server => client 19:00:28.064831 '200 I modify TYPE as you wanted\r\n' 19:00:28.064896 < 21 bytes data, client => server 19:00:28.064912 'SIZE verifiedserver\r\n' 19:00:28.067676 Received DATA (on stdin) 19:00:28.067693 > 8 bytes data, server => client 19:00:28.067704 '213 17\r\n' 19:00:28.067774 < 21 bytes data, client => server 19:00:28.067791 'RETR verifiedserver\r\n' 19:00:28.068071 Received DATA (on stdin) 19:00:28.068085 > 29 bytes data, server => client 19:00:28.068098 '150 Binary junk (17 bytes).\r\n' 19:00:28.068666 Received DATA (on stdin) 19:00:28.068681 > 28 bytes data, server => client 19:00:28.068693 '226 File transfer complete\r\n' 19:00:28.117594 < 6 bytes data, client => server 19:00:28.117631 'QUIT\r\n' 19:00:28.117897 Received DATA (on stdin) 19:00:28.117912 > 18 bytes data, server => client 19:00:28.117923 '221 bye bye baby\r\n' 19:00:28.118865 ====> Client disconnect 19:00:28.119556 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:28.051291 Running IPv4 version 19:00:28.051381 Listening on port 43311 19:00:28.051424 Wrote pid 82573 to log/20/server/ftp_sockdata.pid 19:00:28.059448 Received PING (on stdin) 19:00:28.059654 Received PORT (on stdin) 19:00:28.064458 ====> Client connect 19:00:28.068131 Received DATA (on stdin) 19:00:28.068151 > 17 bytes data, server => client 19:00:28.068164 'WE ROOLZ: 80693\r\n' 19:00:28.068194 Received DISC (on stdin) 19:00:28.068209 ====> Client forcibly disconnected 19:00:28.068301 Received QUIT (on stdin) 19:00:28.068315 quits 19:00:28.068390 ============> 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 ==82671== ==82671== Process terminating with default action of signal 4 (SIGILL) ==82671== Illegal opcode at address 0x4013E00 ==82671== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82671== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82671== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82671== by 0x40037A4: main (tool_main.c:199) === End of file valgrind134 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/13/valgrind136 ../src/curl -q --output log/13/curl136.out --include --trace-ascii log/13/trace136 --trace-time -u user: ftp://127.0.0.1:40887/136 > log/13/stdout136 2> log/13/stderr136 136: 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 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/13/valgrind136 ../src/curl -q --output log/13/curl136.out --include --trace-ascii log/13/trace136 --trace-time -u user: ftp://127.0.0.1:40887/136 > log/13/stdout136 2> log/13/stderr136 === End of file commands.log === Start of file ftp_server.log 19:00:28.512104 ====> Client connect 19:00:28.512372 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:28.515873 < "USER anonymous" 19:00:28.515934 > "331 We are happy you popped in![CR][LF]" 19:00:28.516136 < "PASS ftp@example.com" 19:00:28.516167 > "230 Welcome you silly person[CR][LF]" 19:00:28.516342 < "PWD" 19:00:28.516378 > "257 "/" is current directory[CR][LF]" 19:00:28.516566 < "EPSV" 19:00:28.516599 ====> Passive DATA channel requested by client 19:00:28.516615 DATA sockfilt for passive data channel starting... 19:00:28.525438 DATA sockfilt for passive data channel started (pid 82748) 19:00:28.525671 DATA sockfilt for passive data channel listens on port 42953 19:00:28.525737 > "229 Entering Passive Mode (|||42953|)[CR][LF]" 19:00:28.525759 Client has been notified that DATA conn will be accepted on port 42953 19:00:28.526117 Client connects to port 42953 19:00:28.526153 ====> Client established passive DATA connection 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/valgrind135 ../src/curl -q --output log/12/curl135.out --include --trace-ascii log/12/trace135 --trace-time -r 4-16 ftp://127.0.0.1:35151/135 > log/12/stdout135 2> log/12/stderr135 42953 19:00:28.526254 < "TYPE I" 19:00:28.526290 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.526476 < "SIZE verifiedserver" 19:00:28.526519 > "213 17[CR][LF]" 19:00:28.526695 < "RETR verifiedserver" 19:00:28.526729 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.526823 =====> Closing passive DATA connection... 19:00:28.526842 Server disconnects passive DATA connection 19:00:28.527110 Server disconnected passive DATA connection 19:00:28.527142 DATA sockfilt for passive data channel quits (pid 82748) 19:00:28.527442 DATA sockfilt for passive data channel quit (pid 82748) 19:00:28.527475 =====> Closed passive DATA connection 19:00:28.527505 > "226 File transfer complete[CR][LF]" 19:00:28.572902 < "QUIT" 19:00:28.572957 > "221 bye bye baby[CR][LF]" 19:00:28.578799 MAIN sockfilt said DISC 19:00:28.578847 ====> Client disconnected 19:00:28.578928 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:28.280802 ====> Client connect 19:00:28.287457 Received DATA (on stdin) 19:00:28.287507 > 160 bytes data, server => client 19:00:28.287523 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:28.287536 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:28.287548 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:28.287689 < 16 bytes data, client => server 19:00:28.287707 'USER anonymous\r\n' 19:00:28.288010 Received DATA (on stdin) 19:00:28.288025 > 33 bytes data, server => client 19:00:28.288038 '331 We are happy you popped in!\r\n' 19:00:28.288095 < 22 bytes data, client => server 19:00:28.288111 'PASS ftp@example.com\r\n' 19:00:28.288232 Received DATA (on stdin) 19:00:28.288246 > 30 bytes data, server => client 19:00:28.288259 '230 Welcome you silly person\r\n' 19:00:28.288313 < 5 bytes data, client => server 19:00:28.288327 'PWD\r\n' 19:00:28.288444 Received DATA (on stdin) 19:00:28.288458 > 30 bytes data, server => client 19:00:28.288471 '257 "/" is current directory\r\n' 19:00:28.288536 < 6 bytes data, client => server 19:00:28.288551 'EPSV\r\n' 19:00:28.297841 Received DATA (on stdin) 19:00:28.297862 > 39 bytes data, server => client 19:00:28.297876 '229 Entering Passive Mode (|||42953|)\r\n' 19:00:28.298088 < 8 bytes data, client => server 19:00:28.298108 'TYPE I\r\n' 19:00:28.298357 Received DATA (on stdin) 19:00:28.298371 > 33 bytes data, server => client 19:00:28.298384 '200 I modify TYPE as you wanted\r\n' 19:00:28.298441 < 21 bytes data, client => server 19:00:28.298455 'SIZE verifiedserver\r\n' 19:00:28.298585 Received DATA (on stdin) 19:00:28.298600 > 8 bytes data, server => client 19:00:28.298612 '213 17\r\n' 19:00:28.298665 < 21 bytes data, client => server 19:00:28.298679 'RETR verifiedserver\r\n' 19:00:28.299008 Received DATA (on stdin) 19:00:28.299023 > 29 bytes data, server => client 19:00:28.299035 '150 Binary junk (17 bytes).\r\n' 19:00:28.299571 Received DATA (on stdin) 19:00:28.299586 > 28 bytes data, server => client 19:00:28.299598 '226 File transfer complete\r\n' 19:00:28.344790 < 6 bytes data, client => server 19:00:28.344817 'QUIT\r\n' 19:00:28.345026 Received DATA (on stdin) 19:00:28.345040 > 18 bytes data, server => client 19:00:28.345052 '221 bye bye baby\r\n' 19:00:28.350781 ====> Client disconnect 19:00:28.350993 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:28.295241 Running IPv4 version 19:00:28.295335 Listening on port 42953 19:00:28.295377 Wrote pid 82748 to log/13/server/ftp_sockdata.pid 19:00:28.295401 Received PING (on stdin) 19:00:28.297601 Received PORT (on stdin) 19:00:28.298132 ====> Client connect 19:00:28.298909 Received DATA (on stdin) 19:00:28.298924 > 17 bytes data, server => client 19:00:28.298937 'WE ROOLZ: 80703\r\n' 19:00:28.298966 Received DISC (on stdin) 19:00:28.298980 ====> Client forcibly disconnected 19:00:28.299214 Received QUIT (on stdin) 19:00:28.299227 quits 19:00:28.299295 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 136 === End of file server.cmd === Start of file valgrind136 ==82796== ==82796== Process terminating with default action of signal 4 (SIGILL) ==82796== Illegal opcode at address 0x4013E00 ==82796== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82796== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82796== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82796== by 0x40037A4: main (tool_main.c:199) === End of file valgrind136 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/12/valgrind135 ../src/curl -q --output log/12/curl135.out --include --trace-ascii log/12/trace135 --trace-time -r 4-16 ftp://127.0.0.1:35151/135 > log/12/stdout135 2> log/12/stderr135 135: 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 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/12/valgrind135 ../src/curl -q --output log/12/curl135.out --include --trace-ascii log/12/trace135 --trace-time -r 4-16 ftp://127.0.0.1:35151/135 > log/12/stdout135 2> log/12/stderr135 === End of file commands.log === Start of file ftp_server.log 19:00:28.287687 ====> Client connect 19:00:28.288837 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:28.292394 < "USER anonymous" 19:00:28.292446 > "331 We are happy you popped in![CR][LF]" 19:00:28.292631 < "PASS ftp@example.com" 19:00:28.292661 > "230 Welcome you silly person[CR][LF]" 19:00:28.292815 < "PWD" 19:00:28.292847 > "257 "/" is current directory[CR][LF]" 19:00:28.293013 < "EPSV" 19:00:28.293042 ====> Passive DATA channel requested by client 19:00:28.293057 DATA sockfilt for passive data channel starting... 19:00:28.298979 DATA sockfilt for passive data channel started (pid 82596) 19:00:28.299133 DATA sockfilt for passive data channel listens on port 34897 19:00:28.299194 > "229 Entering Passive Mode (|||34897|)[CR][LF]" 19:00:28.299218 Client has been notified that DATA conn will be accepted on port 34897 19:00:28.299570 Client connects to port 34897 19:00:28.299605 ====> Client established passive DATA connection on port 34897 19:00:28.299703 < "TYPE I" 19:00:28.299741 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.299929 < "SIZE verifiedserver" 19:00:28.299975 > "213 17[CR][LF]" 19:00:28.300154 < "RETR verifiedserver" 19:00:28.300193 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.300289 =====> Closing passive DATA connection... 19:00:28.300310 Server disconnects passive DATA connection 19:00:28.300600 Server disconnected passive DATA connection 19:00:28.300632 DATA sockfilt for passive data channel quits (pid 82596) 19:00:28.300926 DATA sockfilt for passive data channel quit (pid 82596) 19:00:28.300962 =====> Closed passive DATA connection 19:00:28.300992 > "226 File transfer complete[CR][LF]" 19:00:28.349434 < "QUIT" 19:00:28.349496 > "221 bye bye baby[CR][LF]" 19:00:28.358866 MAIN sockfilt said DISC 19:00:28.358947 ====> Client disconnected 19:00:28.359034 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:28.054433 ====> Client connect 19:00:28.060801 Received DATA (on stdin) 19:00:28.060836 > 160 bytes data, server => client 19:00:28.060920 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:28.060932 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:28.060943 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:28.064217 < 16 bytes data, client => server 19:00:28.064245 'USER anonymous\r\n' 19:00:28.064516 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/8/valgrind137 ../src/curl -q --output log/8/curl137.out --include --trace-ascii log/8/trace137 --trace-time ftp://127.0.0.1:40963/blalbla/lululul/137 > log/8/stdout137 2> log/8/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/17/valgrind138 ../src/curl -q --output log/17/curl138.out --include --trace-ascii log/17/trace138 --trace-time ftp://127.0.0.1:32811/blalbla/lululul/138 > log/17/stdout138 2> log/17/stderr138 on stdin) 19:00:28.064531 > 33 bytes data, server => client 19:00:28.064544 '331 We are happy you popped in!\r\n' 19:00:28.064598 < 22 bytes data, client => server 19:00:28.064612 'PASS ftp@example.com\r\n' 19:00:28.064724 Received DATA (on stdin) 19:00:28.064737 > 30 bytes data, server => client 19:00:28.064749 '230 Welcome you silly person\r\n' 19:00:28.064797 < 5 bytes data, client => server 19:00:28.064809 'PWD\r\n' 19:00:28.064911 Received DATA (on stdin) 19:00:28.064924 > 30 bytes data, server => client 19:00:28.064936 '257 "/" is current directory\r\n' 19:00:28.064995 < 6 bytes data, client => server 19:00:28.065007 'EPSV\r\n' 19:00:28.071302 Received DATA (on stdin) 19:00:28.071323 > 39 bytes data, server => client 19:00:28.071336 '229 Entering Passive Mode (|||34897|)\r\n' 19:00:28.071537 < 8 bytes data, client => server 19:00:28.071556 'TYPE I\r\n' 19:00:28.071809 Received DATA (on stdin) 19:00:28.071825 > 33 bytes data, server => client 19:00:28.071838 '200 I modify TYPE as you wanted\r\n' 19:00:28.071895 < 21 bytes data, client => server 19:00:28.071911 'SIZE verifiedserver\r\n' 19:00:28.072042 Received DATA (on stdin) 19:00:28.072056 > 8 bytes data, server => client 19:00:28.072068 '213 17\r\n' 19:00:28.072122 < 21 bytes data, client => server 19:00:28.072137 'RETR verifiedserver\r\n' 19:00:28.072380 Received DATA (on stdin) 19:00:28.072395 > 29 bytes data, server => client 19:00:28.072408 '150 Binary junk (17 bytes).\r\n' 19:00:28.073060 Received DATA (on stdin) 19:00:28.073075 > 28 bytes data, server => client 19:00:28.073088 '226 File transfer complete\r\n' 19:00:28.121277 < 6 bytes data, client => server 19:00:28.121313 'QUIT\r\n' 19:00:28.121569 Received DATA (on stdin) 19:00:28.121584 > 18 bytes data, server => client 19:00:28.121596 '221 bye bye baby\r\n' 19:00:28.130811 ====> Client disconnect 19:00:28.131108 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:28.066673 Running IPv4 version 19:00:28.066746 Listening on port 34897 19:00:28.066784 Wrote pid 82596 to log/12/server/ftp_sockdata.pid 19:00:28.070958 Received PING (on stdin) 19:00:28.071092 Received PORT (on stdin) 19:00:28.071580 ====> Client connect 19:00:28.072467 Received DATA (on stdin) 19:00:28.072484 > 17 bytes data, server => client 19:00:28.072497 'WE ROOLZ: 80702\r\n' 19:00:28.072528 Received DISC (on stdin) 19:00:28.072543 ====> Client forcibly disconnected 19:00:28.072705 Received QUIT (on stdin) 19:00:28.072719 quits 19:00:28.072796 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 135 === End of file server.cmd === Start of file valgrind135 ==82666== ==82666== Process terminating with default action of signal 4 (SIGILL) ==82666== Illegal opcode at address 0x4013E00 ==82666== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82666== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82666== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82666== by 0x40037A4: main (tool_main.c:199) === End of file valgrind135 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/8/valgrind137 ../src/curl -q --output log/8/curl137.out --include --trace-ascii log/8/trace137 --trace-time ftp://127.0.0.1:40963/blalbla/lululul/137 > log/8/stdout137 2> log/8/stderr137 137: 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 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/8/valgrind137 ../src/curl -q --output log/8/curl137.out --include --trace-ascii log/8/trace137 --trace-time ftp://127.0.0.1:40963/blalbla/lululul/137 > log/8/stdout137 2> log/8/stderr137 === End of file commands.log === Start of file ftp_server.log 19:00:28.570758 ====> Client connect 19:00:28.570960 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:28.571311 < "USER anonymous" 19:00:28.571350 > "331 We are happy you popped in![CR][LF]" 19:00:28.571523 < "PASS ftp@example.com" 19:00:28.571550 > "230 Welcome you silly person[CR][LF]" 19:00:28.571697 < "PWD" 19:00:28.571726 > "257 "/" is current directory[CR][LF]" 19:00:28.571883 < "EPSV" 19:00:28.571913 ====> Passive DATA channel requested by client 19:00:28.571927 DATA sockfilt for passive data channel starting... 19:00:28.577953 DATA sockfilt for passive data channel started (pid 82777) 19:00:28.578097 DATA sockfilt for passive data channel listens on port 34757 19:00:28.578151 > "229 Entering Passive Mode (|||34757|)[CR][LF]" 19:00:28.578169 Client has been notified that DATA conn will be accepted on port 34757 19:00:28.578423 Client connects to port 34757 19:00:28.578453 ====> Client established passive DATA connection on port 34757 19:00:28.578590 < "TYPE I" 19:00:28.578622 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.578790 < "SIZE verifiedserver" 19:00:28.578832 > "213 17[CR][LF]" 19:00:28.578991 < "RETR verifiedserver" 19:00:28.579023 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.579118 =====> Closing passive DATA connection... 19:00:28.579134 Server disconnects passive DATA connection 19:00:28.579254 Server disconnected passive DATA connection 19:00:28.579275 DATA sockfilt for passive data channel quits (pid 82777) 19:00:28.579495 DATA sockfilt for passive data channel quit (pid 82777) 19:00:28.579525 =====> Closed passive DATA connection 19:00:28.579551 > "226 File transfer complete[CR][LF]" 19:00:28.628943 < "QUIT" 19:00:28.629001 > "221 bye bye baby[CR][LF]" 19:00:28.630338 MAIN sockfilt said DISC 19:00:28.630384 ====> Client disconnected 19:00:28.630479 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:28.342681 ====> Client connect 19:00:28.343034 Received DATA (on stdin) 19:00:28.343050 > 160 bytes data, server => client 19:00:28.343063 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:28.343079 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:28.343091 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:28.343199 < 16 bytes data, client => server 19:00:28.343213 'USER anonymous\r\n' 19:00:28.343418 Received DATA (on stdin) 19:00:28.343431 > 33 bytes data, server => client 19:00:28.343443 '331 We are happy you popped in!\r\n' 19:00:28.343495 < 22 bytes data, client => server 19:00:28.343507 'PASS ftp@example.com\r\n' 19:00:28.343611 Received DATA (on stdin) 19:00:28.343624 > 30 bytes data, server => client 19:00:28.343636 '230 Welcome you silly person\r\n' 19:00:28.343681 < 5 bytes data, client => server 19:00:28.343692 'PWD\r\n' 19:00:28.343787 Received DATA (on stdin) 19:00:28.343799 > 30 bytes data, server => client 19:00:28.343811 '257 "/" is current directory\r\n' 19:00:28.343867 < 6 bytes data, client => server 19:00:28.343879 'EPSV\r\n' 19:00:28.350241 Received DATA (on stdin) 19:00:28.350260 > 39 bytes data, server => client 19:00:28.350273 '229 Entering Passive Mode (|||34757|)\r\n' 19:00:28.350541 < 8 bytes data, client => server 19:00:28.350555 'TYPE I\r\n' 19:00:28.350686 Received DATA (on stdin) 19:00:28.350698 > 33 bytes data, server => client 19:00:28.350711 '200 I modify TYPE as you wanted\r\n' 19:00:28.350760 < 21 bytes data, client => server 19:00:28.350780 'SIZE verifiedserver\r\n' 19:00:28.350895 Received DATA (on stdin) 19:00:28.350909 > 8 bytes data, server => client 19:00:28.350920 '213 17\r\n' 19:00:28.350969 < 21 bytes data, client => server 19:00:28.350982 'RETR verifiedserver\r\n' 19:00:28.351616 Received DATA (on stdin) 19:00:28.351631 > 29 bytes data, server => client 19:00:28.351643 '150 Binary junk (17 bytes).\r\n' 19:00:28.351666 Received DATA (on stdin) 19:00:28.351677 > 28 bytes data, server => client 19:00:28.351689 '226 File transfer complete\r\n' 19:00:28.400797 < 6 bytes data, client => server 19:00:28.400836 'QUIT\r\n' 19:00:28.401070 Received DATA (on stdin) 19:00:28.401085 > 18 bytes data, server => client 19:00:28.401096 '221 bye bye baby\r\n' 19:00:28.402324 ====> Client disconnect 19:00:28.402548 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:28.348795 Running IPv4 version 19:00:28.348888 Listening on port 34757 19:00:28.348924 Wrote pid 82777 to log/8/server/ftp_sockdata.pid 19:00:28.349949 Received PING (on stdin) 19:00:28.350057 Received PORT (on stdin) 19:00:28.350436 ====> Client connect 19:00:28.351201 Received DATA (on stdin) 19:00:28.351216 > 17 bytes data, server => client 19:00:28.351228 'WE ROOLZ: 80760\r\n' 19:00:28.351254 Received DISC (on stdin) 19:00:28.351267 ====> Client forcibly disconnected 19:00:28.351343 Received QUIT (on stdin) 19:00:28.351354 quits 19:00:28.351418 ============> 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 ==82852== ==82852== Process terminating with default action of signal 4 (SIGILL) ==82852== Illegal opcode at address 0x4013E00 ==82852== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82852== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82852== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82852== by 0x40037A4: main (tool_main.c:199) === End of file valgrind137 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/17/valgrind138 ../src/curl -q --output log/17/curl138.out --include --trace-ascii log/17/trace138 --trace-time ftp://127.0.0.1:32811/blalbla/lululul/138 > log/17/stdout138 2> log/17/stderr138 138: 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 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/17/valgrind138 ../src/curl -q --output log/17/curl138.out --include --trace-ascii log/17/trace138 --trace-time ftp://127.0.0.1:32811/blalbla/lululul/138 > log/17/stdout138 2> log/17/stderr138 === End of file commands.log === Start of file ftp_server.log 19:00:28.681173 ====> Client connect 19:00:28.681393 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:28.681774 < "USER anonymous" 19:00:28.681821 > "331 We are happy you popped in![CR][LF]" 19:00:28.682020 < "PASS ftp@example.com" 19:00:28.682053 > "230 Welcome you silly person[CR][LF]" 19:00:28.682245 < "PWD" 19:00:28.682287 > "257 "/" is current directory[CR][LF]" 19:00:28.682481 < "EPSV" 19:00:28.682517 ====> Passive DATA channel requested by client 19:00:28.682533 DATA sockfilt for passive data channel starting... 19:00:28.687080 DATA sockfilt for passive data channel started (pid 82873) 19:00:28.687220 DATA sockfilt for passive data channel listens on port 44595 19:00:28.687288 > "229 Entering Passive Mode (|||44595|)[CR][LF]" 19:00:28.687316 Client has been notified that DATA conn will be accepted on port 44595 19:00:28.687656 Client connects to port 44595 19:00:28.687693 ====> Client established passive DATA connection on port 44595 19:00:28.687797 < "TYPE I" 19:00:28.687839 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.688044 < "SIZE verifiedserver" 19:00:28.688102 > "213 17[CR][LF]" 19:00:28.688310 < "RETR verifiedserver" 19:00:28.688395 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.688504 =====> Closing passive DATA connection... 19:00:28.688527 Server disconnects passive DATA connection 19:00:28.688799 Server disconnected passive DATA connection 19:00:28.688832 DATA sockfilt for passive data channel quits (pid 82873) 19:00:28.689178 DATA sockfilt for passive data channel quit (pid 82873) 19:00:28.689214 =====> Closed passive DATA connection 19:00:28.689252 > "226 File transfer complete[CR][LF]" 19:00:28.732479 < "QUIT" 19:00:28.732539 > "221 bye bye baby[CR][LF]" 19:00:28.733620 MAIN sockfilt said DISC 19:00:28.733666 ====> Client disconnected 19:00:28.733765 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:28.453112 ====> Client connect 19:00:28.453479 Received DATA (on stdin) 19:00:28.453496 > 160 bytes data, server => client 19:00:28.453511 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:28.453524 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:28.453536 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:28.453629 < 16 bytes data, client => server 19:00:28.453646 'USER anonymous\r\n' 19:00:28.453893 Received DATA (on stdin) 19:00:28.453908 > 33 bytes data, server => client 19:00:28.453921 '331 We are happy you popped in!\r\n' 19:00:28.453978 < 22 bytes data, client => server 19:00:28.453993 'PASS ftp@example.com\r\n' 19:00:28.454131 Received DATA (on stdin) 19:00:28.454145 > 30 bytes data, server => client 19:00:28.454158 '230 Welcome you silly person\r\n' 19:00:28.454214 < 5 bytes data, client => server 19:00:28.454228 'PWD\r\n' 19:00:28.454354 Received DATA (on stdin) 19:00:28.454369 > 30 bytes data, server => client 19:00:28.454382 '257 "/" is current directory\r\n' 19:00:28.454446 < 6 bytes data, client => server 19:00:28.454463 'EPSV\r\n' 19:00:28.459396 Received DATA (on stdin) 19:00:28.459414 > 39 bytes data, server => client 19:00:28.459428 '229 Entering Passive Mode (|||44595|)\r\n' 19:00:28.459620 < 8 bytes data, client => server 19:00:28.459642 'TYPE I\r\n' 19:00:28.459910 Received DATA (on stdin) 19:00:28.459926 > 33 bytes data, server => client 19:00:28.459939 '200 I modify TYPE as you wanted\r\n' 19:00:28.460000 < 21 bytes data, client => server 19:00:28.460018 'SIZE verifiedserver\r\n' 19:00:28.460175 Received DATA (on stdin) 19:00:28.460191 > 8 bytes data, server => client 19:00:28.460203 '213 17\r\n' 19:00:28.460264 < 21 bytes data, client => server 19:00:28.460280 'RETR verifiedserver\r\n' 19:00:28.460397 Received DATA (on stdin) 19:00:28.460413 > 29 bytes data, server => client 19:00:28.460597 '150 Binary junk (17 bytes).\r\n' 19:00:28.461323 Received DATA (on stdin) 19:00:28.461343 > 28 bytes data, server => client 19:00:28.461355 '226 File transfer complete\r\n' 19:00:28.504303 < 6 bytes data, client => server 19:00:28.504342 'QUIT\r\n' 19:00:28.504611 Received DATA (on stdin) 19:00:28.504628 > 18 bytes data, server => client 19:00:28.504641 '221 bye bye baby\r\n' 19:00:28.505602 ====> Client disconnect 19:00:28.505839 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:28.458745 Running IPv4 version 19:00:28.458849 Listening on port 44595 19:00:28.458897 Wrote pid 82873 to log/17/server/ftp_sockdata.pid 19:00:28.459074 Received PING (on stdin) 19:00:28.459181 Received PORT (on stdin) 19:00:28.459670 ====> Client connect 19:00:28.460631 Received DATA (on stdin) 19:00:28.460648 > 17 bytes data, server => client 19:00:28.460660 'WE ROOLZ: 80755\r\n' 19:00:28.460690 Received DISC (on stdin) 19:00:28.460707 ====> Client forcibly disconnected 19:00:28.460913 Received QUIT (on stdin) 19:00:28.460929 quits 19:00:28.461008 ============> 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 ==82922== ==82922== ProCMD (33792): ../libtool --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/valgrind140 ../src/curl -q --output log/22/curl140.out --include --trace-ascii log/22/trace140 --trace-time ftp://127.0.0.1:36953/blalbla/140 -z "1 jan 2004" > log/22/stdout140 2> log/22/stderr140 CMD (33792): ../libtool --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/valgrind141 ../src/curl -q --include --trace-ascii log/16/trace141 --trace-time ftp://127.0.0.1:35319/blalbla/141 -I > log/16/stdout141 2> log/16/stderr141 cess terminating with default action of signal 4 (SIGILL) ==82922== Illegal opcode at address 0x4013E00 ==82922== at 0x4013E00: getparameter (tool_getparam.c:2846) ==82922== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==82922== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==82922== by 0x40037A4: main (tool_main.c:199) === End of file valgrind138 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/22/valgrind140 ../src/curl -q --output log/22/curl140.out --include --trace-ascii log/22/trace140 --trace-time ftp://127.0.0.1:36953/blalbla/140 -z "1 jan 2004" > log/22/stdout140 2> log/22/stderr140 140: 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 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/22/valgrind140 ../src/curl -q --output log/22/curl140.out --include --trace-ascii log/22/trace140 --trace-time ftp://127.0.0.1:36953/blalbla/140 -z "1 jan 2004" > log/22/stdout140 2> log/22/stderr140 === End of file commands.log === Start of file ftp_server.log 19:00:28.939870 ====> Client connect 19:00:28.940065 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:28.940420 < "USER anonymous" 19:00:28.940455 > "331 We are happy you popped in![CR][LF]" 19:00:28.940621 < "PASS ftp@example.com" 19:00:28.940647 > "230 Welcome you silly person[CR][LF]" 19:00:28.940794 < "PWD" 19:00:28.940823 > "257 "/" is current directory[CR][LF]" 19:00:28.940982 < "EPSV" 19:00:28.941009 ====> Passive DATA channel requested by client 19:00:28.941023 DATA sockfilt for passive data channel starting... 19:00:28.955678 DATA sockfilt for passive data channel started (pid 83036) 19:00:28.955887 DATA sockfilt for passive data channel listens on port 38643 19:00:28.955952 > "229 Entering Passive Mode (|||38643|)[CR][LF]" 19:00:28.955974 Client has been notified that DATA conn will be accepted on port 38643 19:00:28.959132 Client connects to port 38643 19:00:28.959199 ====> Client established passive DATA connection on port 38643 19:00:28.959369 < "TYPE I" 19:00:28.959415 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.959592 < "SIZE verifiedserver" 19:00:28.959631 > "213 17[CR][LF]" 19:00:28.969242 < "RETR verifiedserver" 19:00:28.969309 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.969404 =====> Closing passive DATA connection... 19:00:28.969422 Server disconnects passive DATA connection 19:00:28.969567 Server disconnected passive DATA connection 19:00:28.969589 DATA sockfilt for passive data channel quits (pid 83036) 19:00:28.969846 DATA sockfilt for passive data channel quit (pid 83036) 19:00:28.969870 =====> Closed passive DATA connection 19:00:28.969906 > "226 File transfer complete[CR][LF]" 19:00:29.029094 < "QUIT" 19:00:29.029157 > "221 bye bye baby[CR][LF]" 19:00:29.030109 MAIN sockfilt said DISC 19:00:29.030144 ====> Client disconnected 19:00:29.030224 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:29.711810 ====> Client connect 19:00:29.712141 Received DATA (on stdin) 19:00:29.712158 > 160 bytes data, server => client 19:00:29.712171 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:29.712183 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:29.712194 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:29.712305 < 16 bytes data, client => server 19:00:29.712317 'USER anonymous\r\n' 19:00:29.712520 Received DATA (on stdin) 19:00:29.712533 > 33 bytes data, server => client 19:00:29.712544 '331 We are happy you popped in!\r\n' 19:00:29.712596 < 22 bytes data, client => server 19:00:29.712608 'PASS ftp@example.com\r\n' 19:00:29.712708 Received DATA (on stdin) 19:00:29.712720 > 30 bytes data, server => client 19:00:29.712731 '230 Welcome you silly person\r\n' 19:00:29.712776 < 5 bytes data, client => server 19:00:29.712788 'PWD\r\n' 19:00:29.712884 Received DATA (on stdin) 19:00:29.712896 > 30 bytes data, server => client 19:00:29.712907 '257 "/" is current directory\r\n' 19:00:29.712963 < 6 bytes data, client => server 19:00:29.712976 'EPSV\r\n' 19:00:29.730799 Received DATA (on stdin) 19:00:29.730853 > 39 bytes data, server => client 19:00:29.730868 '229 Entering Passive Mode (|||38643|)\r\n' 19:00:29.731291 < 8 bytes data, client => server 19:00:29.731307 'TYPE I\r\n' 19:00:29.731481 Received DATA (on stdin) 19:00:29.731494 > 33 bytes data, server => client 19:00:29.731507 '200 I modify TYPE as you wanted\r\n' 19:00:29.731563 < 21 bytes data, client => server 19:00:29.731577 'SIZE verifiedserver\r\n' 19:00:29.740986 Received DATA (on stdin) 19:00:29.741021 > 8 bytes data, server => client 19:00:29.741035 '213 17\r\n' 19:00:29.741147 < 21 bytes data, client => server 19:00:29.741161 'RETR verifiedserver\r\n' 19:00:29.741974 Received DATA (on stdin) 19:00:29.741990 > 29 bytes data, server => client 19:00:29.742003 '150 Binary junk (17 bytes).\r\n' 19:00:29.742027 Received DATA (on stdin) 19:00:29.742039 > 28 bytes data, server => client 19:00:29.742051 '226 File transfer complete\r\n' 19:00:29.800932 < 6 bytes data, client => server 19:00:29.800969 'QUIT\r\n' 19:00:29.801230 Received DATA (on stdin) 19:00:29.801244 > 18 bytes data, server => client 19:00:29.801260 '221 bye bye baby\r\n' 19:00:29.802109 ====> Client disconnect 19:00:29.802292 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:28.715293 Running IPv4 version 19:00:28.715376 Listening on port 38643 19:00:28.715416 Wrote pid 83036 to log/22/server/ftp_sockdata.pid 19:00:28.727614 Received PING (on stdin) 19:00:28.727816 Received PORT (on stdin) 19:00:28.731114 ====> Client connect 19:00:28.741496 Received DATA (on stdin) 19:00:28.741515 > 17 bytes data, server => client 19:00:28.741528 'WE ROOLZ: 80850\r\n' 19:00:28.741560 Received DISC (on stdin) 19:00:28.741575 ====> Client forcibly disconnected 19:00:28.741661 Received QUIT (on stdin) 19:00:28.741673 quits 19:00:28.741735 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 140 === End of file server.cmd === Start of file valgrind140 ==83101== ==83101== Process terminating with default action of signal 4 (SIGILL) ==83101== Illegal opcode at address 0x4013E00 ==83101== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83101== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83101== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83101== by 0x40037A4: main (tool_main.c:199) === End of file valgrind140 CMD (33792): ../libtool --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/valgrind139 ../src/curl -q --output log/7/curl139.out --include --trace-ascii log/7/trace139 --trace-time ftp://127.0.0.1:37113/blalbla/139 -z "1 jan 1989" > log/7/stdout139 2> log/7/stderr139 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/16/valgrind141 ../src/curl -q --include --trace-ascii log/16/trace141 --trace-time ftp://127.0.0.1:35319/blalbla/141 -I > log/16/stdout141 2> log/16/stderr141 141: stdout FAILED: --- log/16/check-expected 2025-11-13 19:00:30.692724269 +0000 +++ log/16/check-generated 2025-11-13 19:00:30.692724269 +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/16/ 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/16/valgrind141 ../src/curl -q --include --trace-ascii log/16/trace141 --trace-time ftp://127.0.0.1:35319/blalbla/141 -I > log/16/stdout141 2> log/16/stderr141 === End of file commands.log === Start of file ftp_server.log 19:00:28.986289 ====> Client connect 19:00:28.986508 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:28.986873 < "USER anonymous" 19:00:28.986914 > "331 We are happy you popped in![CR][LF]" 19:00:28.987120 < "PASS ftp@example.com" 19:00:28.987149 > "230 Welcome you silly person[CR][LF]" 19:00:28.987338 < "PWD" 19:00:28.987377 > "257 "/" is current directory[CR][LF]" 19:00:28.987582 < "EPSV" 19:00:28.987608 ====> Passive DATA channel requested by client 19:00:28.987623 DATA sockfilt for passive data channel starting... 19:00:28.991596 DATA sockfilt for passive data channel started (pid 83061) 19:00:28.991791 DATA sockfilt for passive data channel listens on port 35167 19:00:28.991871 > "229 Entering Passive Mode (|||35167|)[CR][LF]" 19:00:28.991898 Client has been notified that DATA conn will be accepted on port 35167 19:00:28.992263 Client connects to port 35167 19:00:28.992300 ====> Client established passive DATA connection on port 35167 19:00:28.992469 < "TYPE I" 19:00:28.992514 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.993134 < "SIZE verifiedserver" 19:00:28.993189 > "213 17[CR][LF]" 19:00:28.993383 < "RETR verifiedserver" 19:00:28.993429 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.993537 =====> Closing passive DATA connection... 19:00:28.993558 Server disconnects passive DATA connection 19:00:28.993839 Server disconnected passive DATA connection 19:00:28.993875 DATA sockfilt for passive data channel quits (pid 83061) 19:00:28.994142 DATA sockfilt for passive data channel quit (pid 83061) 19:00:28.994173 =====> Closed passive DATA connection 19:00:28.994204 > "226 File transfer complete[CR][LF]" 19:00:29.039134 < "QUIT" 19:00:29.039189 > "221 bye bye baby[CR][LF]" 19:00:29.040136 MAIN sockfilt said DISC 19:00:29.040182 ====> Client disconnected 19:00:29.040255 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:28.758168 ====> Client connect 19:00:28.758597 Received DATA (on stdin) 19:00:28.758618 > 160 bytes data, server => client 19:00:28.758634 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:28.758647 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:28.758659 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:28.758750 < 16 bytes data, client => server 19:00:28.758769 'USER anonymous\r\n' 19:00:28.758987 Received DATA (on stdin) 19:00:28.759002 > 33 bytes data, server => client 19:00:28.759015 '331 We are happy you popped in!\r\n' 19:00:28.759074 < 22 bytes data, client => server 19:00:28.759093 'PASS ftp@example.com\r\n' 19:00:28.759216 Received DATA (on stdin) 19:00:28.759232 > 30 bytes data, server => client 19:00:28.759244 '230 Welcome you silly person\r\n' 19:00:28.759302 < 5 bytes data, client => server 19:00:28.759318 'PWD\r\n' 19:00:28.759447 Received DATA (on stdin) 19:00:28.759463 > 30 bytes data, server => client 19:00:28.759476 '257 "/" is current directory\r\n' 19:00:28.759544 < 6 bytes data, client => server 19:00:28.759560 'EPSV\r\n' 19:00:28.763978 Received DATA (on stdin) 19:00:28.763999 > 39 bytes data, server => client 19:00:28.764041 '229 Entering Passive Mode (|||35167|)\r\n' 19:00:28.764394 < 8 bytes data, client => server 19:00:28.764413 'TYPE I\r\n' 19:00:28.764964 Received DATA (on stdin) 19:00:28.764988 > 33 bytes data, server => client 19:00:28.765001 '200 I modify TYPE as you wanted\r\n' 19:00:28.765074 < 21 bytes data, client => server 19:00:28.765092 'SIZE verifiedserver\r\n' 19:00:28.765257 Received DATA (on stdin) 19:00:28.765272 > 8 bytes data, server => client 19:00:28.765285 '213 17\r\n' 19:00:28.765346 < 21 bytes data, client => server 19:00:28.765361 'RETR verifiedserver\r\n' 19:00:28.765627 Received DATA (on stdin) 19:00:28.765642 > 29 bytes data, server => client 19:00:28.765655 '150 Binary junk (17 bytes).\r\n' 19:00:28.766274 Received DATA (on stdin) 19:00:28.766289 > 28 bytes data, server => client 19:00:28.766302 '226 File transfer complete\r\n' 19:00:28.811023 < 6 bytes data, client => server 19:00:28.811053 'QUIT\r\n' 19:00:28.811256 Received DATA (on stdin) 19:00:28.811270 > 18 bytes data, server => client 19:00:28.811281 '221 bye bye baby\r\n' 19:00:28.812138 ====> Client disconnect 19:00:28.812318 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:28.763388 Running IPv4 version 19:00:28.763514 Listening on port 35167 19:00:28.763562 Wrote pid 83061 to log/16/server/ftp_sockdata.pid 19:00:28.763586 Received PING (on stdin) 19:00:28.763711 Received PORT (on stdin) 19:00:28.764268 ====> Client connect 19:00:28.765686 Received DATA (on stdin) 19:00:28.765703 > 17 bytes data, server => client 19:00:28.765716 'WE ROOLZ: 80535\r\n' 19:00:28.765745 Received DISC (on stdin) 19:00:28.765759 ====> Client forcibly disconnected 19:00:28.765951 Received QUIT (on stdin) 19:00:28.765966 quits 19:00:28.766038 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 141 === End of file server.cmd === Start of file valgrind141 ==83122== ==83122== Process terminating with default action of signal 4 (SIGILL) ==83122== Illegal opcode at address 0x4013E00 ==83122== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83122== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83122== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83122== by 0x40037A4: main (tool_main.c:199) === End of file valgrind141 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/7/valgrind139 ../src/curl -q --output log/7/curl139.out --include --trace-ascii log/7/trace139 --trace-time ftp://127.0.0.1:37113/blalbla/139 -z "1 jan 1989" > log/7/stdout139 2> log/7/stderr139 139: 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 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/7/valgrind139 ../src/curl -q --output log/7/curl139.out --include --trace-ascii log/7/trace139 --trace-time ftp://127.0.0.1:37113/blalbla/139 -z "1 jan 1989" > log/7/stdout139 2> log/7/stderr139 === End of file commands.log === Start of file ftp_server.log 19:00:28.745430 ====> Client connect 19:00:28.745668 > "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/valgrind144 ../src/curl -q --output log/10/curl144.out --include --trace-ascii log/10/trace144 --trace-time ftp://127.0.0.1:42709/ -P - -l > log/10/stdout144 2> log/10/stderr144 \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:28.752318 < "USER anonymous" 19:00:28.752400 > "331 We are happy you popped in![CR][LF]" 19:00:28.759399 < "PASS ftp@example.com" 19:00:28.759473 > "230 Welcome you silly person[CR][LF]" 19:00:28.762317 < "PWD" 19:00:28.762371 > "257 "/" is current directory[CR][LF]" 19:00:28.762596 < "EPSV" 19:00:28.762631 ====> Passive DATA channel requested by client 19:00:28.762647 DATA sockfilt for passive data channel starting... 19:00:28.778801 DATA sockfilt for passive data channel started (pid 82932) 19:00:28.782638 DATA sockfilt for passive data channel listens on port 35875 19:00:28.782729 > "229 Entering Passive Mode (|||35875|)[CR][LF]" 19:00:28.782749 Client has been notified that DATA conn will be accepted on port 35875 19:00:28.788301 Client connects to port 35875 19:00:28.788383 ====> Client established passive DATA connection on port 35875 19:00:28.788520 < "TYPE I" 19:00:28.788570 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:28.822358 < "SIZE verifiedserver" 19:00:28.822432 > "213 17[CR][LF]" 19:00:28.822636 < "RETR verifiedserver" 19:00:28.822684 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:28.822790 =====> Closing passive DATA connection... 19:00:28.822807 Server disconnects passive DATA connection 19:00:28.822964 Server disconnected passive DATA connection 19:00:28.822996 DATA sockfilt for passive data channel quits (pid 82932) 19:00:28.823342 DATA sockfilt for passive data channel quit (pid 82932) 19:00:28.823370 =====> Closed passive DATA connection 19:00:28.823406 > "226 File transfer complete[CR][LF]" 19:00:28.872343 < "QUIT" 19:00:28.872410 > "221 bye bye baby[CR][LF]" 19:00:28.873800 MAIN sockfilt said DISC 19:00:28.873842 ====> Client disconnected 19:00:28.873930 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:28.515345 ====> Client connect 19:00:28.521001 Received DATA (on stdin) 19:00:28.521042 > 160 bytes data, server => client 19:00:28.521059 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:28.521072 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:28.521084 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:28.521214 < 16 bytes data, client => server 19:00:28.521232 'USER anonymous\r\n' 19:00:28.527461 Received DATA (on stdin) 19:00:28.527495 > 33 bytes data, server => client 19:00:28.527510 '331 We are happy you popped in!\r\n' 19:00:28.527631 < 22 bytes data, client => server 19:00:28.527648 'PASS ftp@example.com\r\n' 19:00:28.531550 Received DATA (on stdin) 19:00:28.531569 > 30 bytes data, server => client 19:00:28.531583 '230 Welcome you silly person\r\n' 19:00:28.534217 < 5 bytes data, client => server 19:00:28.534245 'PWD\r\n' 19:00:28.534441 Received DATA (on stdin) 19:00:28.534456 > 30 bytes data, server => client 19:00:28.534471 '257 "/" is current directory\r\n' 19:00:28.534551 < 6 bytes data, client => server 19:00:28.534566 'EPSV\r\n' 19:00:28.557460 Received DATA (on stdin) 19:00:28.557501 > 39 bytes data, server => client 19:00:28.557516 '229 Entering Passive Mode (|||35875|)\r\n' 19:00:28.557780 < 8 bytes data, client => server 19:00:28.557801 'TYPE I\r\n' 19:00:28.590800 Received DATA (on stdin) 19:00:28.590849 > 33 bytes data, server => client 19:00:28.590863 '200 I modify TYPE as you wanted\r\n' 19:00:28.594210 < 21 bytes data, client => server 19:00:28.594242 'SIZE verifiedserver\r\n' 19:00:28.594505 Received DATA (on stdin) 19:00:28.594520 > 8 bytes data, server => client 19:00:28.594533 '213 17\r\n' 19:00:28.594598 < 21 bytes data, client => server 19:00:28.594612 'RETR verifiedserver\r\n' 19:00:28.595478 Received DATA (on stdin) 19:00:28.595495 > 29 bytes data, server => client 19:00:28.595507 '150 Binary junk (17 bytes).\r\n' 19:00:28.595532 Received DATA (on stdin) 19:00:28.595544 > 28 bytes data, server => client 19:00:28.595556 '226 File transfer complete\r\n' 19:00:28.644173 < 6 bytes data, client => server 19:00:28.644212 'QUIT\r\n' 19:00:28.644503 Received DATA (on stdin) 19:00:28.644523 > 18 bytes data, server => client 19:00:28.644535 '221 bye bye baby\r\n' 19:00:28.645791 ====> Client disconnect 19:00:28.646003 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:28.544554 Running IPv4 version 19:00:28.544683 Listening on port 35875 19:00:28.544731 Wrote pid 82932 to log/7/server/ftp_sockdata.pid 19:00:28.544760 Received PING (on stdin) 19:00:28.554305 Received PORT (on stdin) 19:00:28.560277 ====> Client connect 19:00:28.594883 Received DATA (on stdin) 19:00:28.594905 > 17 bytes data, server => client 19:00:28.594917 'WE ROOLZ: 80759\r\n' 19:00:28.594952 Received DISC (on stdin) 19:00:28.594966 ====> Client forcibly disconnected 19:00:28.595072 Received QUIT (on stdin) 19:00:28.595086 quits 19:00:28.595175 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 139 === End of file server.cmd === Start of file valgrind139 ==83012== ==83012== Process terminating with default action of signal 4 (SIGILL) ==83012== Illegal opcode at address 0x4013E00 ==83012== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83012== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83012== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83012== by 0x40037A4: main (tool_main.c:199) === End of file valgrind139 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/10/valgrind144 ../src/curl -q --output log/10/curl144.out --include --trace-ascii log/10/trace144 --trace-time ftp://127.0.0.1:42709/ -P - -l > log/10/stdout144 2> log/10/stderr144 144: 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 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/10/valgrind144 ../src/curl -q --output log/10/curl144.out --include --trace-ascii log/10/trace144 --trace-time ftp://127.0.0.1:42709/ -P - -l > log/10/stdout144 2> log/10/stderr144 === End of file commands.log === Start of file ftp_server.log 19:00:29.168778 ====> Client connect 19:00:29.169010 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:29.178907 < "USER anonymous" 19:00:29.178962 > "331 We are happy you popped in![CR][LF]" 19:00:29.182315 < "PASS ftp@example.com" 19:00:29.182374 > "230 Welcome you silly person[CR][LF]" 19:00:29.182555 < "PWD" 19:00:29.182594 > "257 "/" is current directory[CR][LF]" 19:00:29.182770 < "EPSV" 19:00:29.182800 ====> Passive DATA channel requested by client 19:00:29.182814 DATA sockfilt for passive data channel starting... 19:00:29.192303 DATA sockfilt for passive data channel started (pid 83188) 19:00:29.192442 DATA sockfilt for passive data channel listens on port 39261 19:00:29.192495 > "229 Entering Passive Mode (|||39261|)[CR][LF]" 19:00:29.192513 Client has been notified that DATA conn will be accepted on port 39261 19:00:29.192786 Client connects to port 39261 19:00:29.192817 ====> Client established passive DATA connection on port 39261 19:00:29.192912 < "TYPE I" 19:00:29.192947 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:29.193111 < "SIZE verifiedserver" 19:00:29.193150 > "213 17[CR][LF]" 19:00:29.193308 < "RETR verifiedserver" 19:00:29.193349 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:29.193478 =====> Closing passive DATA connection... 19:00:29.193495 Server disconnects passive DATA connection 19:00:29.193754 Server disconnected passivCMD (33792): ../libtool --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/valgrind145 ../src/curl -q --output log/15/curl145.out --include --trace-ascii log/15/trace145 --trace-time ftp://127.0.0.1:36561/ -P - -l > log/15/stdout145 2> log/15/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/24/valgrind149 ../src/curl -q --output log/24/curl149.out --include --trace-ascii log/24/trace149 --trace-time -T log/24/upload149 ftp://127.0.0.1:41217/dir1/149 -T log/24/upload149 ftp://127.0.0.1:41217/dir2/149 > log/24/stdout149 2> log/24/stderr149 e DATA connection 19:00:29.193780 DATA sockfilt for passive data channel quits (pid 83188) 19:00:29.194013 DATA sockfilt for passive data channel quit (pid 83188) 19:00:29.194035 =====> Closed passive DATA connection 19:00:29.194068 > "226 File transfer complete[CR][LF]" 19:00:29.242410 < "QUIT" 19:00:29.242473 > "221 bye bye baby[CR][LF]" 19:00:29.243602 MAIN sockfilt said DISC 19:00:29.243636 ====> Client disconnected 19:00:29.243725 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:29.937461 ====> Client connect 19:00:29.941101 Received DATA (on stdin) 19:00:29.941125 > 160 bytes data, server => client 19:00:29.941140 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:29.941153 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:29.941165 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:29.943171 < 16 bytes data, client => server 19:00:29.943199 'USER anonymous\r\n' 19:00:29.951038 Received DATA (on stdin) 19:00:29.951057 > 33 bytes data, server => client 19:00:29.951070 '331 We are happy you popped in!\r\n' 19:00:29.954201 < 22 bytes data, client => server 19:00:29.954223 'PASS ftp@example.com\r\n' 19:00:29.954444 Received DATA (on stdin) 19:00:29.954458 > 30 bytes data, server => client 19:00:29.954470 '230 Welcome you silly person\r\n' 19:00:29.954524 < 5 bytes data, client => server 19:00:29.954538 'PWD\r\n' 19:00:29.954662 Received DATA (on stdin) 19:00:29.954676 > 30 bytes data, server => client 19:00:29.954688 '257 "/" is current directory\r\n' 19:00:29.954749 < 6 bytes data, client => server 19:00:29.954762 'EPSV\r\n' 19:00:29.964589 Received DATA (on stdin) 19:00:29.964609 > 39 bytes data, server => client 19:00:29.964622 '229 Entering Passive Mode (|||39261|)\r\n' 19:00:29.964762 < 8 bytes data, client => server 19:00:29.964779 'TYPE I\r\n' 19:00:29.965013 Received DATA (on stdin) 19:00:29.965027 > 33 bytes data, server => client 19:00:29.965040 '200 I modify TYPE as you wanted\r\n' 19:00:29.965090 < 21 bytes data, client => server 19:00:29.965103 'SIZE verifiedserver\r\n' 19:00:29.965213 Received DATA (on stdin) 19:00:29.965227 > 8 bytes data, server => client 19:00:29.965240 '213 17\r\n' 19:00:29.965288 < 21 bytes data, client => server 19:00:29.965300 'RETR verifiedserver\r\n' 19:00:29.965562 Received DATA (on stdin) 19:00:29.965575 > 29 bytes data, server => client 19:00:29.965587 '150 Binary junk (17 bytes).\r\n' 19:00:29.966133 Received DATA (on stdin) 19:00:29.966147 > 28 bytes data, server => client 19:00:29.966159 '226 File transfer complete\r\n' 19:00:30.014250 < 6 bytes data, client => server 19:00:30.014293 'QUIT\r\n' 19:00:30.014545 Received DATA (on stdin) 19:00:30.014561 > 18 bytes data, server => client 19:00:30.014573 '221 bye bye baby\r\n' 19:00:30.015601 ====> Client disconnect 19:00:30.015799 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:29.960149 Running IPv4 version 19:00:29.960246 Listening on port 39261 19:00:29.960289 Wrote pid 83188 to log/10/server/ftp_sockdata.pid 19:00:29.964292 Received PING (on stdin) 19:00:29.964404 Received PORT (on stdin) 19:00:29.964801 ====> Client connect 19:00:29.965640 Received DATA (on stdin) 19:00:29.965655 > 17 bytes data, server => client 19:00:29.965667 'WE ROOLZ: 80847\r\n' 19:00:29.965694 Received DISC (on stdin) 19:00:29.965707 ====> Client forcibly disconnected 19:00:29.965849 Received QUIT (on stdin) 19:00:29.965862 quits 19:00:29.965931 ============> 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 ==83292== ==83292== Process terminating with default action of signal 4 (SIGILL) ==83292== Illegal opcode at address 0x4013E00 ==83292== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83292== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83292== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83292== by 0x40037A4: main (tool_main.c:199) === End of file valgrind144 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/15/valgrind145 ../src/curl -q --output log/15/curl145.out --include --trace-ascii log/15/trace145 --trace-time ftp://127.0.0.1:36561/ -P - -l > log/15/stdout145 2> log/15/stderr145 145: 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 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/15/valgrind145 ../src/curl -q --output log/15/curl145.out --include --trace-ascii log/15/trace145 --trace-time ftp://127.0.0.1:36561/ -P - -l > log/15/stdout145 2> log/15/stderr145 === End of file commands.log === Start of file ftp_server.log 19:00:29.192208 ====> Client connect 19:00:29.192390 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:29.192721 < "USER anonymous" 19:00:29.192761 > "331 We are happy you popped in![CR][LF]" 19:00:29.192940 < "PASS ftp@example.com" 19:00:29.192968 > "230 Welcome you silly person[CR][LF]" 19:00:29.193118 < "PWD" 19:00:29.193149 > "257 "/" is current directory[CR][LF]" 19:00:29.193313 < "EPSV" 19:00:29.193347 ====> Passive DATA channel requested by client 19:00:29.193360 DATA sockfilt for passive data channel starting... 19:00:29.199014 DATA sockfilt for passive data channel started (pid 83198) 19:00:29.199151 DATA sockfilt for passive data channel listens on port 38767 19:00:29.199203 > "229 Entering Passive Mode (|||38767|)[CR][LF]" 19:00:29.199222 Client has been notified that DATA conn will be accepted on port 38767 19:00:29.199546 Client connects to port 38767 19:00:29.199577 ====> Client established passive DATA connection on port 38767 19:00:29.199671 < "TYPE I" 19:00:29.199703 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:29.199865 < "SIZE verifiedserver" 19:00:29.199904 > "213 17[CR][LF]" 19:00:29.200060 < "RETR verifiedserver" 19:00:29.200091 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:29.200180 =====> Closing passive DATA connection... 19:00:29.200196 Server disconnects passive DATA connection 19:00:29.200433 Server disconnected passive DATA connection 19:00:29.200459 DATA sockfilt for passive data channel quits (pid 83198) 19:00:29.200741 DATA sockfilt for passive data channel quit (pid 83198) 19:00:29.200770 =====> Closed passive DATA connection 19:00:29.200798 > "226 File transfer complete[CR][LF]" 19:00:29.245652 < "QUIT" 19:00:29.245703 > "221 bye bye baby[CR][LF]" 19:00:29.246496 MAIN sockfilt said DISC 19:00:29.246529 ====> Client disconnected 19:00:29.246634 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:28.964144 ====> Client connect 19:00:28.964464 Received DATA (on stdin) 19:00:28.964479 > 160 bytes data, server => client 19:00:28.964491 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:28.964502 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:28.964512 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:28.964624 < 16 bytes data, client => server 19:00:28.964637 'USER anonymous\r\n' 19:00:28.964829 Received DATA (on stdin) 19:00:28.964842 > 33 bytes data, server => client 19:00:28.964855 '331 We are happy you popped in!\r\n' 19:00:28.964907 < 22 bytes data, client => server 19:00:28.964920 'PASS ftp@example.com\r\n' 19:00:28.965030 Received DATA (on stdin) 19:00:28.965042 > 30 bytes data, server => client 19:00:28.965054 '230 Welcome you silly person\r\n' 19:00:28.965099 < 5 bytes data, client => server 19:00:28.965111 'PWD\r\n' 19:00:28.965210 Received DATA (on stdin) 19:00:28.965223 > 30 bytes data, server => client 19:00:28.965234 '257 "/" is current directory\r\n' 19:00:28.965293 < 6 bytes data, client => server 19:00:28.965305 'EPSV\r\n' 19:00:28.971297 Received DATA (on stdin) 19:00:28.971317 > 39 bytes data, server => client 19:00:28.971329 '229 Entering Passive Mode (|||38767|)\r\n' 19:00:28.971558 < 8 bytes data, client => server 19:00:28.971569 'TYPE I\r\n' 19:00:28.971768 Received DATA (on stdin) 19:00:28.971780 > 33 bytes data, server => client 19:00:28.971791 '200 I modify TYPE as you wanted\r\n' 19:00:28.971841 < 21 bytes data, client => server 19:00:28.971854 'SIZE verifiedserver\r\n' 19:00:28.971970 Received DATA (on stdin) 19:00:28.971982 > 8 bytes data, server => client 19:00:28.971993 '213 17\r\n' 19:00:28.972039 < 21 bytes data, client => server 19:00:28.972051 'RETR verifiedserver\r\n' 19:00:28.972260 Received DATA (on stdin) 19:00:28.972272 > 29 bytes data, server => client 19:00:28.972284 '150 Binary junk (17 bytes).\r\n' 19:00:28.972862 Received DATA (on stdin) 19:00:28.972875 > 28 bytes data, server => client 19:00:28.972886 '226 File transfer complete\r\n' 19:00:29.017547 < 6 bytes data, client => server 19:00:29.017574 'QUIT\r\n' 19:00:29.017772 Received DATA (on stdin) 19:00:29.017787 > 18 bytes data, server => client 19:00:29.017799 '221 bye bye baby\r\n' 19:00:29.018501 ====> Client disconnect 19:00:29.018703 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:29.969322 Running IPv4 version 19:00:29.969401 Listening on port 38767 19:00:29.969446 Wrote pid 83198 to log/15/server/ftp_sockdata.pid 19:00:29.970983 Received PING (on stdin) 19:00:29.971114 Received PORT (on stdin) 19:00:29.971529 ====> Client connect 19:00:29.972309 Received DATA (on stdin) 19:00:29.972323 > 17 bytes data, server => client 19:00:29.972334 'WE ROOLZ: 81045\r\n' 19:00:29.972358 Received DISC (on stdin) 19:00:29.972369 ====> Client forcibly disconnected 19:00:29.972531 Received QUIT (on stdin) 19:00:29.972544 quits 19:00:29.972620 ============> 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 ==83302== ==83302== Process terminating with default action of signal 4 (SIGILL) ==83302== Illegal opcode at address 0x4013E00 ==83302== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83302== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83302== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83302== by 0x40037A4: main (tool_main.c:199) === End of file valgrind145 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/24/valgrind149 ../src/curl -q --output log/24/curl149.out --include --trace-ascii log/24/trace149 --trace-time -T log/24/upload149 ftp://127.0.0.1:41217/dir1/149 -T log/24/upload149 ftp://127.0.0.1:41217/dir2/149 > log/24/stdout149 2> log/24/stderr149 149: 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 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/24/valgrind149 ../src/curl -q --output log/24/curl149.out --include --trace-ascii log/24/trace149 --trace-time -T log/24/upload149 ftp://127.0.0.1:41217/dir1/149 -T log/24/upload149 ftp://127.0.0.1:41217/dir2/149 > log/24/stdout149 2> log/24/stderr149 === End of file commands.log === Start of file ftp_server.log 19:00:29.594341 ====> Client connect 19:00:29.594537 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:29.594891 < "USER anonymous" 19:00:29.594934 > "331 We are happy you popped in![CR][LF]" 19:00:29.595153 < "PASS ftp@example.com" 19:00:29.595185 > "230 Welcome you silly person[CR][LF]" 19:00:29.595359 < "PWD" 19:00:29.595409 > "257 "/" is current directory[CR][LF]" 19:00:29.595595 < "EPSV" 19:00:29.595628 ====> Passive DATA channel requested by client 19:00:29.595643 DATA sockfilt for passive data channel starting... 19:00:29.600438 DATA sockfilt for passive data channel started (pid 83590) 19:00:29.600564 DATA sockfilt for passive data channel listens on port 34851 19:00:29.600622 > "229 Entering Passive Mode (|||34851|)[CR][LF]" 19:00:29.600642 Client has been notified that DATA conn will be accepted on port 34851 19:00:29.600917 Client connects to port 34851 19:00:29.600950 ====> Client established passive DATA connection on port 34851 19:00:29.601102 < "TYPE I" 19:00:29.601141 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:29.601324 < "SIZE verifiedserver" 19:00:29.601365 > "213 17[CR][LF]" 19:00:29.601529 < "RETR verifiedserver" 19:00:29.601564 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:29.601654 =====> Closing passive DATA connection... 19:00:29.601673 Server disconnects passive DATA connection 19:00:29.601929 Server disconnected passive DATA connection 19:00:29.601962 DATA sockfilt for passive data channel quits (pid 83590) 19:00:29.602243 DATA sockfilt for passive data channel quit (pid 83590) 19:00:29.602270 =====> Closed passive DATA connection 19:00:29.602308 > "226 File transfer complete[CR][LF]" 19:00:29.645811 < "QUIT" 19:00:29.645874 > "221 bye bye baby[CR][LF]" 19:00:29.646997 MAIN sockfilt said DISC 19:00:29.647037 ====> Client disconnected 19:00:29.647120 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:29.366265 ====> Client connect 19:00:29.366625 Received DATA (on stdin) 19:00:29.366644 > 160 bytes data, server => client 19:00:29.366658 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:29.366670 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:29.366682 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:29.366769 < 16 bytes data, client => server 19:00:29.366785 'USER anonymous\r\n' 19:00:29.367007 Received DATA (on stdin) 19:00:29.367023 > 33 bytes data, server => client 19:00:29.367035 '331 We are happy you popped in!\r\n' 19:00:29.367097 < 22 bytes data, client => server 19:00:29.367111 'PASS ftp@example.com\r\n' 19:00:29.367251 Received DATA (on stdin) 19:00:29.367265 > 30 bytes data, server => client 19:00:29.367276 '230 Welcome you silly person\r\n' 19:00:29.367329 < 5 bytes data, client => server 19:00:29.367342 'PWD\r\n' 19:00:29.367475 Received DATA (on stdin) 19:00:29.367488 > 30 bytes data, server => client 19:00:29.367501 '257 "/" is current directory\r\n' 19:00:29.367564 < 6 bytes data, client => server 19:00:29.367579 'EPSV\r\n' 19:00:29.372720 Received DATA (on stdin) 19:00:29.372740 > 39 bytes data, server => client 19:00:29.372754 '229 Entering Passive Mode (|||34851|)\r\n' 19:00:29.373040 < 8 bytes data, client => server 19:00:29.373056 'TYPE I\r\n' 19:00:29.373208 Received DATA (on stdin) 19:00:29.373222 > 33 bytes data, server => client 19:00:29.373235 '200 I modify TYPE as you wanted\r\n' 19:00:29.373292 < 21 bytes data, client => server 19:00:29.373306 'SIZE verifiedserver\r\n' 19:00:29.373430 Received DATA (on stdin) 19:00:29.373443 > 8 bytes data, server => client 19:00:29.373455 '213 17\r\n' 19:00:29.373504 < 21 bytes data, client => server 19:00:29.373517 'RETR verifiedserver\r\n' 19:00:29.373739 Received DATA (on stdin) 19:00:29.373753 > 29 bytes data, server => client 19:00:29.373765 '150 Binary junk (17 bytes).\r\n' 19:00:29.374377 Received DATA (on stdin) 19:00:29.374392 > 28 bytes data, server => client 19:00:29.374404 '226 File transfer complete\r\n' 19:00:29.417632 < 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/1/valgrind142 ../src/curl -q --output log/1/curl142.out --include --trace-ascii log/1/trace142 --trace-time ftp://127.0.0.1:41393/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/1/stdout142 2> log/1/stderr142 bytes data, client => server 19:00:29.417683 'QUIT\r\n' 19:00:29.417945 Received DATA (on stdin) 19:00:29.417960 > 18 bytes data, server => client 19:00:29.417973 '221 bye bye baby\r\n' 19:00:29.418991 ====> Client disconnect 19:00:29.419188 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:29.372121 Running IPv4 version 19:00:29.372218 Listening on port 34851 19:00:29.372259 Wrote pid 83590 to log/24/server/ftp_sockdata.pid 19:00:29.372439 Received PING (on stdin) 19:00:29.372533 Received PORT (on stdin) 19:00:29.372926 ====> Client connect 19:00:29.373794 Received DATA (on stdin) 19:00:29.373808 > 17 bytes data, server => client 19:00:29.373820 'WE ROOLZ: 81247\r\n' 19:00:29.373845 Received DISC (on stdin) 19:00:29.373857 ====> Client forcibly disconnected 19:00:29.374036 Received QUIT (on stdin) 19:00:29.374050 quits 19:00:29.374147 ============> 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 ==83672== ==83672== Process terminating with default action of signal 4 (SIGILL) ==83672== Illegal opcode at address 0x4013E00 ==83672== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83672== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83672== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83672== by 0x40037A4: main (tool_main.c:199) === End of file valgrind149 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/1/valgrind142 ../src/curl -q --output log/1/curl142.out --include --trace-ascii log/1/trace142 --trace-time ftp://127.0.0.1:41393/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/1/stdout142 2> log/1/stderr142 142: 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 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/1/valgrind142 ../src/curl -q --output log/1/curl142.out --include --trace-ascii log/1/trace142 --trace-time ftp://127.0.0.1:41393/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/1/stdout142 2> log/1/stderr142 === End of file commands.log === Start of file ftp_server.log 19:00:29.063134 ====> Client connect 19:00:29.063324 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:29.063756 < "USER anonymous" 19:00:29.063794 > "331 We are happy you popped in![CR][LF]" 19:00:29.063974 < "PASS ftp@example.com" 19:00:29.064002 > "230 Welcome you silly person[CR][LF]" 19:00:29.064165 < "PWD" 19:00:29.064198 > "257 "/" is current directory[CR][LF]" 19:00:29.064367 < "EPSV" 19:00:29.064399 ====> Passive DATA channel requested by client 19:00:29.064416 DATA sockfilt for passive data channel starting... 19:00:29.066225 DATA sockfilt for passive data channel started (pid 83108) 19:00:29.066324 DATA sockfilt for passive data channel listens on port 36287 19:00:29.066363 > "229 Entering Passive Mode (|||36287|)[CR][LF]" 19:00:29.066381 Client has been notified that DATA conn will be accepted on port 36287 19:00:29.066609 Client connects to port 36287 19:00:29.066636 ====> Client established passive DATA connection on port 36287 19:00:29.066707 < "TYPE I" 19:00:29.066735 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:29.066886 < "SIZE verifiedserver" 19:00:29.066922 > "213 17[CR][LF]" 19:00:29.067068 < "RETR verifiedserver" 19:00:29.067096 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:29.067172 =====> Closing passive DATA connection... 19:00:29.067187 Server disconnects passive DATA connection 19:00:29.067458 Server disconnected passive DATA connection 19:00:29.067508 DATA sockfilt for passive data channel quits (pid 83108) 19:00:29.067765 DATA sockfilt for passive data channel quit (pid 83108) 19:00:29.067795 =====> Closed passive DATA connection 19:00:29.067824 > "226 File transfer complete[CR][LF]" 19:00:29.115785 < "QUIT" 19:00:29.115846 > "221 bye bye baby[CR][LF]" 19:00:29.116959 MAIN sockfilt said DISC 19:00:29.116993 ====> Client disconnected 19:00:29.117147 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:29.835069 ====> Client connect 19:00:29.835401 Received DATA (on stdin) 19:00:29.835417 > 160 bytes data, server => client 19:00:29.835432 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:29.835444 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:29.835456 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:29.835536 < 16 bytes data, client => server 19:00:29.835550 'USER anonymous\r\n' 19:00:29.835861 Received DATA (on stdin) 19:00:29.835875 > 33 bytes data, server => client 19:00:29.835888 '331 We are happy you popped in!\r\n' 19:00:29.835941 < 22 bytes data, client => server 19:00:29.835955 'PASS ftp@example.com\r\n' 19:00:29.836065 Received DATA (on stdin) 19:00:29.836078 > 30 bytes data, server => client 19:00:29.836091 '230 Welcome you silly person\r\n' 19:00:29.836141 < 5 bytes data, client => server 19:00:29.836154 'PWD\r\n' 19:00:29.836260 Received DATA (on stdin) 19:00:29.836273 > 30 bytes data, server => client 19:00:29.836285 '257 "/" is current directory\r\n' 19:00:29.836344 < 6 bytes data, client => server 19:00:29.836356 'EPSV\r\n' 19:00:29.838451 Received DATA (on stdin) 19:00:29.838466 > 39 bytes data, server => client 19:00:29.838478 '229 Entering Passive Mode (|||36287|)\r\n' 19:00:29.838593 < 8 bytes data, client => server 19:CMD (33792): ../libtool --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/valgrind143 ../src/curl -q --output log/19/curl143.out --include --trace-ascii log/19/trace143 --trace-time "ftp://127.0.0.1:33175/%2ftmp/moo/143;type=a" > log/19/stdout143 2> log/19/stderr143 00:29.838609 'TYPE I\r\n' 19:00:29.838797 Received DATA (on stdin) 19:00:29.838809 > 33 bytes data, server => client 19:00:29.838821 '200 I modify TYPE as you wanted\r\n' 19:00:29.838869 < 21 bytes data, client => server 19:00:29.838881 'SIZE verifiedserver\r\n' 19:00:29.838983 Received DATA (on stdin) 19:00:29.838996 > 8 bytes data, server => client 19:00:29.839006 '213 17\r\n' 19:00:29.839051 < 21 bytes data, client => server 19:00:29.839062 'RETR verifiedserver\r\n' 19:00:29.839251 Received DATA (on stdin) 19:00:29.839263 > 29 bytes data, server => client 19:00:29.839275 '150 Binary junk (17 bytes).\r\n' 19:00:29.839888 Received DATA (on stdin) 19:00:29.839902 > 28 bytes data, server => client 19:00:29.839915 '226 File transfer complete\r\n' 19:00:29.887606 < 6 bytes data, client => server 19:00:29.887660 'QUIT\r\n' 19:00:29.887916 Received DATA (on stdin) 19:00:29.887931 > 18 bytes data, server => client 19:00:29.887944 '221 bye bye baby\r\n' 19:00:29.888959 ====> Client disconnect 19:00:29.889220 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:29.837995 Running IPv4 version 19:00:29.838056 Listening on port 36287 19:00:29.838096 Wrote pid 83108 to log/1/server/ftp_sockdata.pid 19:00:29.838234 Received PING (on stdin) 19:00:29.838308 Received PORT (on stdin) 19:00:29.838629 ====> Client connect 19:00:29.839298 Received DATA (on stdin) 19:00:29.839311 > 17 bytes data, server => client 19:00:29.839323 'WE ROOLZ: 80887\r\n' 19:00:29.839345 Received DISC (on stdin) 19:00:29.839357 ====> Client forcibly disconnected 19:00:29.839614 Received QUIT (on stdin) 19:00:29.839628 quits 19:00:29.839694 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 142 === End of file server.cmd === Start of file valgrind142 ==83223== ==83223== Process terminating with default action of signal 4 (SIGILL) ==83223== Illegal opcode at address 0x4013E00 ==83223== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83223== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83223== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83223== by 0x40037A4: 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/19/valgrind143 ../src/curl -q --output log/19/curl143.out --include --trace-ascii log/19/trace143 --trace-time "ftp://127.0.0.1:33175/%2ftmp/moo/143;type=a" > log/19/stdout143 2> log/19/stderr143 143: 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 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/19/valgrind143 ../src/curl -q --output log/19/curl143.out --include --trace-ascii log/19/trace143 --trace-time "ftp://127.0.0.1:33175/%2ftmp/moo/143;type=a" > log/19/stdout143 2> log/19/stderr143 === End of file commands.log === Start of file ftp_server.log 19:00:29.149200 ====> Client connect 19:00:29.153431 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:29.153792 < "USER anonymous" 19:00:29.153834 > "331 We are happy you popped in![CR][LF]" 19:00:29.154014 < "PASS ftp@example.com" 19:00:29.154042 > "230 Welcome you silly person[CR][LF]" 19:00:29.154202 < "PWD" 19:00:29.154237 > "257 "/" is current directory[CR][LF]" 19:00:29.154405 < "EPSV" 19:00:29.154436 ====> Passive DATA channel requested by client 19:00:29.154451 DATA sockfilt for passive data channel starting... 19:00:29.175542 DATA sockfilt for passive data channel started (pid 83166) 19:00:29.175808 DATA sockfilt for passive data channel listens on port 40249 19:00:29.175879 > "229 Entering Passive Mode (|||40249|)[CR][LF]" 19:00:29.175901 Client has been notified that DATA conn will be accepted on port 40249 19:00:29.182093 Client connects to port 40249 19:00:29.182175 ====> Client established passive DATA connection on port 40249 19:00:29.182302 < "TYPE I" 19:00:29.182352 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:29.182605 < "SIZE verifiedserver" 19:00:29.182649 > "213 17[CR][LF]" 19:00:29.182817 < "RETR verifiedserver" 19:00:29.182852 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:29.182952 =====> Closing passive DATA connection... 19:00:29.182971 Server disconnects passive DATA connection 19:00:29.183249 Server disconnected passive DATA connection 19:00:29.183278 DATA sockfilt for passive data channel quits (pid 83166) 19:00:29.183527 DATA sockfilt for passive data channel quit (pid 83166) 19:00:29.183560 =====> Closed passive DATA connection 19:00:29.183589 > "226 File transfer complete[CR][LF]" 19:00:29.229053 < "QUIT" 19:00:29.229106 > "221 bye bye baby[CR][LF]" 19:00:29.235508 MAIN sockfilt said DISC 19:00:29.235567 ====> Client disconnected 19:00:29.235670 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:29.917478 ====> Client connect 19:00:29.925388 Received DATA (on stdin) 19:00:29.925423 > 160 bytes data, server => client 19:00:29.925524 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:29.925538 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:29.925550 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:29.925676 < 16 bytes data, client => server 19:00:29.925692 'USER anonymous\r\n' 19:00:29.925901 Received DATA (on stdin) 19:00:29.925915 > 33 bytes data, server => client 19:00:29.925927 '331 We are happy you popped in!\r\n' 19:00:29.925982 < 22 bytes data, client => server 19:00:29.925995 'PASS ftp@example.com\r\n' 19:00:29.926105 Received DATA (on stdin) 19:00:29.926118 > 30 bytes data, server => client 19:00:29.926130 '230 Welcome you silly person\r\n' 19:00:29.926178 < 5 bytes data, client => server 19:00:29.926192 'PWD\r\n' 19:00:29.926300 Received DATA (on stdin) 19:00:29.926313 > 30 bytes data, server => client 19:00:29.926324 '257 "/" is current directory\r\n' 19:00:29.926384 < 6 bytes data, client => server 19:00:29.926397 'EPSV\r\n' 19:00:29.947979 Received DATA (on stdin) 19:00:29.947999 > 39 bytes data, server => client 19:00:29.948013 '229 Entering Passive Mode (|||40249|)\r\n' 19:00:29.948208 < 8 bytes data, client => server 19:00:29.948226 'TYPE I\r\n' 19:00:29.954429 Received DATA (on stdin) 19:00:29.954453 > 33 bytes data, server => client 19:00:29.954467 '200 I modify TYPE as you wanted\r\n' 19:00:29.954570 < 21 bytes data, client => server 19:00:29.954584 'SIZE verifiedserver\r\n' 19:00:29.954713 Received DATA (on stdin) 19:00:29.954725 > 8 bytes data, server => client 19:00:29.954736 '213 17\r\n' 19:00:29.954789 < 21 bytes data, client => server 19:00:29.954803 'RETR verifiedserver\r\n' 19:00:29.955147 Received DATA (on stdin) 19:00:29.955161 > 29 bytes data, server => client 19:00:29.955173 '150 Binary junk (17 bytes).\r\n' 19:00:29.955655 Received DATA (on stdin) 19:00:29.955670 > 28 bytes data, server => client 19:00:29.955682 '226 File transfer complete\r\n' 19:00:30.000911 < 6 bytes data, client => server 19:00:30.000943 'QUIT\r\n' 19:00:30.001173 Received DATA (on stdin) 19:00:30.001185 > 18 bytes data, server => client 19:00:30.001197 '221 bye bye baby\r\n' 19:00:30.007461 ====> Client disconnect 19:00:30.007740 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:29.935256 Running IPv4 version 19:00:29.935343 Listening on port 40249 19:00:29.935384 Wrote pid 83166 to log/19/server/ftp_sockdata.pid 19:00:29.947484 Received PING (on stdin) 19:00:29.947696 Received PORT (on stdin) 19:00:29.950796 ====> Client connect 19:00:29.955042 Received 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/18/valgrind146 ../src/curl -q --output log/18/curl146.out --include --trace-ascii log/18/trace146 --trace-time ftp://127.0.0.1:38611/first/dir/here/146 ftp://127.0.0.1:38611/146 > log/18/stdout146 2> log/18/stderr146 CMD (33792): ../libtool --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/valgrind148 ../src/curl -q --output log/5/curl148.out --include --trace-ascii log/5/trace148 --trace-time ftp://127.0.0.1:41821/attempt/to/get/this/148 --ftp-create-dirs > log/5/stdout148 2> log/5/stderr148 TA (on stdin) 19:00:29.955060 > 17 bytes data, server => client 19:00:29.955072 'WE ROOLZ: 80854\r\n' 19:00:29.955103 Received DISC (on stdin) 19:00:29.955116 ====> Client forcibly disconnected 19:00:29.955351 Received QUIT (on stdin) 19:00:29.955364 quits 19:00:29.955434 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 143 === End of file server.cmd === Start of file valgrind143 ==83329== ==83329== Process terminating with default action of signal 4 (SIGILL) ==83329== Illegal opcode at address 0x4013E00 ==83329== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83329== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83329== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83329== by 0x40037A4: main (tool_main.c:199) === End of file valgrind143 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/18/valgrind146 ../src/curl -q --output log/18/curl146.out --include --trace-ascii log/18/trace146 --trace-time ftp://127.0.0.1:38611/first/dir/here/146 ftp://127.0.0.1:38611/146 > log/18/stdout146 2> log/18/stderr146 146: 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 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/18/valgrind146 ../src/curl -q --output log/18/curl146.out --include --trace-ascii log/18/trace146 --trace-time ftp://127.0.0.1:38611/first/dir/here/146 ftp://127.0.0.1:38611/146 > log/18/stdout146 2> log/18/stderr146 === End of file commands.log === Start of file ftp_server.log 19:00:29.242687 ====> Client connect 19:00:29.242873 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:29.244349 < "USER anonymous" 19:00:29.244386 > "331 We are happy you popped in![CR][LF]" 19:00:29.244562 < "PASS ftp@example.com" 19:00:29.244590 > "230 Welcome you silly person[CR][LF]" 19:00:29.244747 < "PWD" 19:00:29.244777 > "257 "/" is current directory[CR][LF]" 19:00:29.244943 < "EPSV" 19:00:29.244972 ====> Passive DATA channel requested by client 19:00:29.244986 DATA sockfilt for passive data channel starting... 19:00:29.248904 DATA sockfilt for passive data channel started (pid 83273) 19:00:29.249050 DATA sockfilt for passive data channel listens on port 46543 19:00:29.249103 > "229 Entering Passive Mode (|||46543|)[CR][LF]" 19:00:29.249122 Client has been notified that DATA conn will be accepted on port 46543 19:00:29.249421 Client connects to port 46543 19:00:29.249453 ====> Client established passive DATA connection on port 46543 19:00:29.249543 < "TYPE I" 19:00:29.249575 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:29.252223 < "SIZE verifiedserver" 19:00:29.252275 > "213 17[CR][LF]" 19:00:29.252452 < "RETR verifiedserver" 19:00:29.252490 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:29.252583 =====> Closing passive DATA connection... 19:00:29.252601 Server disconnects passive DATA connection 19:00:29.252882 Server disconnected passive DATA connection 19:00:29.252914 DATA sockfilt for passive data channel quits (pid 83273) 19:00:29.253150 DATA sockfilt for passive data channel quit (pid 83273) 19:00:29.253177 =====> Closed passive DATA connection 19:00:29.253212 > "226 File transfer complete[CR][LF]" 19:00:29.299186 < "QUIT" 19:00:29.299260 > "221 bye bye baby[CR][LF]" 19:00:29.301059 MAIN sockfilt said DISC 19:00:29.301112 ====> Client disconnected 19:00:29.301191 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:30.013440 ====> Client connect 19:00:30.014950 Received DATA (on stdin) 19:00:30.014968 > 160 bytes data, server => client 19:00:30.014981 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:30.014993 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:30.015005 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:30.016236 < 16 bytes data, client => server 19:00:30.016256 'USER anonymous\r\n' 19:00:30.016453 Received DATA (on stdin) 19:00:30.016466 > 33 bytes data, server => client 19:00:30.016478 '331 We are happy you popped in!\r\n' 19:00:30.016530 < 22 bytes data, client => server 19:00:30.016544 'PASS ftp@example.com\r\n' 19:00:30.016652 Received DATA (on stdin) 19:00:30.016666 > 30 bytes data, server => client 19:00:30.016678 '230 Welcome you silly person\r\n' 19:00:30.016727 < 5 bytes data, client => server 19:00:30.016739 'PWD\r\n' 19:00:30.016841 Received DATA (on stdin) 19:00:30.016853 > 30 bytes data, server => client 19:00:30.016865 '257 "/" is current directory\r\n' 19:00:30.016922 < 6 bytes data, client => server 19:00:30.016935 'EPSV\r\n' 19:00:30.021198 Received DATA (on stdin) 19:00:30.021218 > 39 bytes data, server => client 19:00:30.021231 '229 Entering Passive Mode (|||46543|)\r\n' 19:00:30.021396 < 8 bytes data, client => server 19:00:30.021417 'TYPE I\r\n' 19:00:30.021641 Received DATA (on stdin) 19:00:30.021654 > 33 bytes data, server => client 19:00:30.021667 '200 I modify TYPE as you wanted\r\n' 19:00:30.024165 < 21 bytes data, client => server 19:00:30.024188 'SIZE verifiedserver\r\n' 19:00:30.024341 Received DATA (on stdin) 19:00:30.024355 > 8 bytes data, server => client 19:00:30.024366 '213 17\r\n' 19:00:30.024420 < 21 bytes data, client => server 19:00:30.024434 'RETR verifiedserver\r\n' 19:00:30.024668 Received DATA (on stdin) 19:00:30.024682 > 29 bytes data, server => client 19:00:30.024694 '150 Binary junk (17 bytes).\r\n' 19:00:30.025278 Received DATA (on stdin) 19:00:30.025293 > 28 bytes data, server => client 19:00:30.025306 '226 File transfer complete\r\n' 19:00:30.070988 < 6 bytes data, client => server 19:00:30.071021 'QUIT\r\n' 19:00:30.071333 Received DATA (on stdin) 19:00:30.071349 > 18 bytes data, server => client 19:00:30.071360 '221 bye bye baby\r\n' 19:00:30.073037 ====> Client disconnect 19:00:30.073256 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:29.018572 Running IPv4 version 19:00:29.018667 Listening on port 46543 19:00:29.018703 Wrote pid 83273 to log/18/server/ftp_sockdata.pid 19:00:29.020889 Received PING (on stdin) 19:00:29.021004 Received PORT (on stdin) 19:00:29.021439 ====> Client connect 19:00:29.024753 Received DATA (on stdin) 19:00:29.024771 > 17 bytes data, server => client 19:00:29.024783 'WE ROOLZ: 80927\r\n' 19:00:29.024811 Received DISC (on stdin) 19:00:29.024824 ====> Client forcibly disconnected 19:00:29.024987 Received QUIT (on stdin) 19:00:29.025001 quits 19:00:29.025064 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 146 === End of file server.cmd === Start of file valgrind146 ==83413== ==83413== Process terminating with default action of signal 4 (SIGILL) ==83413== Illegal opcode at address 0x4013E00 ==83413== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83413== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83413== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83413== by 0x40037A4: main (tool_main.c:199) === End of file valgrind146 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/5/valgrind148 ../src/curl -q --output log/5/curl148.out --include --trace-ascii log/5/trace148 --trace-time ftp://127.0.0.1:41821/attempt/to/get/this/148 --ftp-create-dirs > log/5/stdout148 2> log/5/stderr148 148: protocol FAILED! There was no content at all in the file log/5/server.inpCMD (33792): ../libtool --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/valgrind147 ../src/curl -q --output log/21/curl147.out --include --trace-ascii log/21/trace147 --trace-time ftp://127.0.0.1:35487/first/dir/here/147 --ftp-create-dirs > log/21/stdout147 2> log/21/stderr147 ut. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/5/ 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/5/valgrind148 ../src/curl -q --output log/5/curl148.out --include --trace-ascii log/5/trace148 --trace-time ftp://127.0.0.1:41821/attempt/to/get/this/148 --ftp-create-dirs > log/5/stdout148 2> log/5/stderr148 === End of file commands.log === Start of file ftp_server.log 19:00:29.428870 ====> Client connect 19:00:29.429044 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:29.435680 < "USER anonymous" 19:00:29.435746 > "331 We are happy you popped in![CR][LF]" 19:00:29.442598 < "PASS ftp@example.com" 19:00:29.442653 > "230 Welcome you silly person[CR][LF]" 19:00:29.448878 < "PWD" 19:00:29.448945 > "257 "/" is current directory[CR][LF]" 19:00:29.455569 < "EPSV" 19:00:29.455625 ====> Passive DATA channel requested by client 19:00:29.455644 DATA sockfilt for passive data channel starting... 19:00:29.471722 DATA sockfilt for passive data channel started (pid 83498) 19:00:29.471884 DATA sockfilt for passive data channel listens on port 46559 19:00:29.471944 > "229 Entering Passive Mode (|||46559|)[CR][LF]" 19:00:29.471970 Client has been notified that DATA conn will be accepted on port 46559 19:00:29.472320 Client connects to port 46559 19:00:29.472359 ====> Client established passive DATA connection on port 46559 19:00:29.472478 < "TYPE I" 19:00:29.472517 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:29.472728 < "SIZE verifiedserver" 19:00:29.472775 > "213 17[CR][LF]" 19:00:29.472963 < "RETR verifiedserver" 19:00:29.473001 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:29.473097 =====> Closing passive DATA connection... 19:00:29.473117 Server disconnects passive DATA connection 19:00:29.474343 Server disconnected passive DATA connection 19:00:29.474379 DATA sockfilt for passive data channel quits (pid 83498) 19:00:29.474738 DATA sockfilt for passive data channel quit (pid 83498) 19:00:29.474768 =====> Closed passive DATA connection 19:00:29.474804 > "226 File transfer complete[CR][LF]" 19:00:29.515794 < "QUIT" 19:00:29.515853 > "221 bye bye baby[CR][LF]" 19:00:29.519988 MAIN sockfilt said DISC 19:00:29.520058 ====> Client disconnected 19:00:29.520150 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:29.200808 ====> Client connect 19:00:29.201121 Received DATA (on stdin) 19:00:29.201138 > 160 bytes data, server => client 19:00:29.201152 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:29.201164 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:29.201176 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:29.207478 < 16 bytes data, client => server 19:00:29.207517 'USER anonymous\r\n' 19:00:29.207818 Received DATA (on stdin) 19:00:29.207832 > 33 bytes data, server => client 19:00:29.207845 '331 We are happy you popped in!\r\n' 19:00:29.214141 < 22 bytes data, client => server 19:00:29.214185 'PASS ftp@example.com\r\n' 19:00:29.214726 Received DATA (on stdin) 19:00:29.214744 > 30 bytes data, server => client 19:00:29.214757 '230 Welcome you silly person\r\n' 19:00:29.217524 < 5 bytes data, client => server 19:00:29.217555 'PWD\r\n' 19:00:29.224240 Received DATA (on stdin) 19:00:29.224281 > 30 bytes data, server => client 19:00:29.224296 '257 "/" is current directory\r\n' 19:00:29.224429 < 6 bytes data, client => server 19:00:29.224451 'EPSV\r\n' 19:00:29.244048 Received DATA (on stdin) 19:00:29.244069 > 39 bytes data, server => client 19:00:29.244083 '229 Entering Passive Mode (|||46559|)\r\n' 19:00:29.244320 < 8 bytes data, client => server 19:00:29.244335 'TYPE I\r\n' 19:00:29.244589 Received DATA (on stdin) 19:00:29.244605 > 33 bytes data, server => client 19:00:29.244618 '200 I modify TYPE as you wanted\r\n' 19:00:29.244684 < 21 bytes data, client => server 19:00:29.244700 'SIZE verifiedserver\r\n' 19:00:29.244844 Received DATA (on stdin) 19:00:29.244859 > 8 bytes data, server => client 19:00:29.244871 '213 17\r\n' 19:00:29.244929 < 21 bytes data, client => server 19:00:29.244944 'RETR verifiedserver\r\n' 19:00:29.245186 Received DATA (on stdin) 19:00:29.245201 > 29 bytes data, server => client 19:00:29.245214 '150 Binary junk (17 bytes).\r\n' 19:00:29.246873 Received DATA (on stdin) 19:00:29.246889 > 28 bytes data, server => client 19:00:29.246902 '226 File transfer complete\r\n' 19:00:29.287637 < 6 bytes data, client => server 19:00:29.287679 'QUIT\r\n' 19:00:29.287930 Received DATA (on stdin) 19:00:29.287946 > 18 bytes data, server => client 19:00:29.287959 '221 bye bye baby\r\n' 19:00:29.291968 ====> Client disconnect 19:00:29.292224 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:29.240450 Running IPv4 version 19:00:29.240557 Listening on port 46559 19:00:29.240600 Wrote pid 83498 to log/5/server/ftp_sockdata.pid 19:00:29.243695 Received PING (on stdin) 19:00:29.243838 Received PORT (on stdin) 19:00:29.244287 ====> Client connect 19:00:29.245243 Received DATA (on stdin) 19:00:29.245258 > 17 bytes data, server => client 19:00:29.245270 'WE ROOLZ: 80429\r\n' 19:00:29.245300 Received DISC (on stdin) 19:00:29.245314 ====> Client forcibly disconnected 19:00:29.246469 Received QUIT (on stdin) 19:00:29.246484 quits 19:00:29.246556 ============> 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 ==83549== ==83549== Process terminating with default action of signal 4 (SIGILL) ==83549== Illegal opcode at address 0x4013E00 ==83549== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83549== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83549== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83549== by 0x40037A4: main (tool_main.c:199) === End of file valgrind148 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/21/valgrind147 ../src/curl -q --output log/21/curl147.out --include --trace-ascii log/21/trace147 --trace-time ftp://127.0.0.1:35487/first/dir/here/147 --ftp-create-dirs > log/21/stdout147 2> log/21/stderr147 147: 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 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/21/valgrind147 ../src/curl -q --output log/21/curl147.out --include --trace-ascii log/21/trace147 --trace-time ftp://127.0.0.1:35487/first/dir/here/147 --ftp-create-dirs > log/21/stdout147 2> log/21/stderr147 === End of file commands.log === Start of file ftp_server.log 19:00:29.401233 ====> Client connect 19:00:29.401441 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:29.401822 < "USER anonymous" 19:00:29.401860 > "331 We are happy you popped in![CR][LF]" 19:00:29.402022 < "PASS ftp@example.com" 19:00:29.402047 > "230 Welcome you silly person[CR][LF]" 19:00:29.405585 < "PWD" 19:00:29.405637 > "257 "/" is current directory[CR][LF]" 19:00:29.405827 < "EPSV" 19:00:29.405859 ====> Passive DATA channel requested by client 19:00:29.405874 DATA sockfilt for passive data channel starting... 19:00:29.410203 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/3/valgrind151 ../src/curl -q --output log/3/curl151.out --include --trace-ascii log/3/trace151 --trace-time http://127.0.0.1:46261/151 > log/3/stdout151 2> log/3/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/4/valgrind152 ../src/curl -q --output log/4/curl152.out --include --trace-ascii log/4/trace152 --trace-time http://127.0.0.1:37985/152 --fail > log/4/stdout152 2> log/4/stderr152 sockfilt for passive data channel started (pid 83454) 19:00:29.410321 DATA sockfilt for passive data channel listens on port 38687 19:00:29.410376 > "229 Entering Passive Mode (|||38687|)[CR][LF]" 19:00:29.410396 Client has been notified that DATA conn will be accepted on port 38687 19:00:29.410697 Client connects to port 38687 19:00:29.410729 ====> Client established passive DATA connection on port 38687 19:00:29.410814 < "TYPE I" 19:00:29.410847 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:29.411014 < "SIZE verifiedserver" 19:00:29.411054 > "213 17[CR][LF]" 19:00:29.411213 < "RETR verifiedserver" 19:00:29.411244 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:29.411337 =====> Closing passive DATA connection... 19:00:29.411355 Server disconnects passive DATA connection 19:00:29.411620 Server disconnected passive DATA connection 19:00:29.411649 DATA sockfilt for passive data channel quits (pid 83454) 19:00:29.411875 DATA sockfilt for passive data channel quit (pid 83454) 19:00:29.411898 =====> Closed passive DATA connection 19:00:29.411933 > "226 File transfer complete[CR][LF]" 19:00:29.465179 < "QUIT" 19:00:29.465244 > "221 bye bye baby[CR][LF]" 19:00:29.475972 MAIN sockfilt said DISC 19:00:29.476030 ====> Client disconnected 19:00:29.476110 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:29.173151 ====> Client connect 19:00:29.173516 Received DATA (on stdin) 19:00:29.173531 > 160 bytes data, server => client 19:00:29.173543 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:29.173555 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:29.173566 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:29.173674 < 16 bytes data, client => server 19:00:29.173687 'USER anonymous\r\n' 19:00:29.173927 Received DATA (on stdin) 19:00:29.173939 > 33 bytes data, server => client 19:00:29.173950 '331 We are happy you popped in!\r\n' 19:00:29.173998 < 22 bytes data, client => server 19:00:29.174010 'PASS ftp@example.com\r\n' 19:00:29.174130 Received DATA (on stdin) 19:00:29.174143 > 30 bytes data, server => client 19:00:29.174154 '230 Welcome you silly person\r\n' 19:00:29.177505 < 5 bytes data, client => server 19:00:29.177531 'PWD\r\n' 19:00:29.177707 Received DATA (on stdin) 19:00:29.177722 > 30 bytes data, server => client 19:00:29.177735 '257 "/" is current directory\r\n' 19:00:29.177799 < 6 bytes data, client => server 19:00:29.177813 'EPSV\r\n' 19:00:29.182472 Received DATA (on stdin) 19:00:29.182491 > 39 bytes data, server => client 19:00:29.182504 '229 Entering Passive Mode (|||38687|)\r\n' 19:00:29.182675 < 8 bytes data, client => server 19:00:29.182691 'TYPE I\r\n' 19:00:29.182911 Received DATA (on stdin) 19:00:29.182925 > 33 bytes data, server => client 19:00:29.182937 '200 I modify TYPE as you wanted\r\n' 19:00:29.182990 < 21 bytes data, client => server 19:00:29.183003 'SIZE verifiedserver\r\n' 19:00:29.183117 Received DATA (on stdin) 19:00:29.183130 > 8 bytes data, server => client 19:00:29.183142 '213 17\r\n' 19:00:29.183191 < 21 bytes data, client => server 19:00:29.183203 'RETR verifiedserver\r\n' 19:00:29.183420 Received DATA (on stdin) 19:00:29.183433 > 29 bytes data, server => client 19:00:29.183446 '150 Binary junk (17 bytes).\r\n' 19:00:29.183998 Received DATA (on stdin) 19:00:29.184012 > 28 bytes data, server => client 19:00:29.184025 '226 File transfer complete\r\n' 19:00:29.234167 < 6 bytes data, client => server 19:00:29.234209 'QUIT\r\n' 19:00:29.237323 Received DATA (on stdin) 19:00:29.237344 > 18 bytes data, server => client 19:00:29.237357 '221 bye bye baby\r\n' 19:00:29.247463 ====> Client disconnect 19:00:29.248185 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:29.181904 Running IPv4 version 19:00:29.182000 Listening on port 38687 19:00:29.182042 Wrote pid 83454 to log/21/server/ftp_sockdata.pid 19:00:29.182207 Received PING (on stdin) 19:00:29.182295 Received PORT (on stdin) 19:00:29.182714 ====> Client connect 19:00:29.183501 Received DATA (on stdin) 19:00:29.183516 > 17 bytes data, server => client 19:00:29.183528 'WE ROOLZ: 81255\r\n' 19:00:29.183556 Received DISC (on stdin) 19:00:29.183569 ====> Client forcibly disconnected 19:00:29.183724 Received QUIT (on stdin) 19:00:29.183737 quits 19:00:29.183802 ============> 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 ==83569== ==83569== Process terminating with default action of signal 4 (SIGILL) ==83569== Illegal opcode at address 0x4013E00 ==83569== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83569== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83569== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83569== by 0x40037A4: main (tool_main.c:199) === End of file valgrind147 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/3/valgrind151 ../src/curl -q --output log/3/curl151.out --include --trace-ascii log/3/trace151 --trace-time http://127.0.0.1:46261/151 > log/3/stdout151 2> log/3/stderr151 151: 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 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/3/valgrind151 ../src/curl -q --output log/3/curl151.out --include --trace-ascii log/3/trace151 --trace-time http://127.0.0.1:46261/151 > log/3/stdout151 2> log/3/stderr151 === End of file commands.log === Start of file http_server.log 19:00:30.457541 ====> Client connect 19:00:30.457591 accept_connection 3 returned 4 19:00:30.457614 accept_connection 3 returned 0 19:00:30.457634 Read 93 bytes 19:00:30.457646 Process 93 bytes request 19:00:30.457663 Got request: GET /verifiedserver HTTP/1.1 19:00:30.457674 Are-we-friendly question received 19:00:30.457703 Wrote request (93 bytes) input to log/3/server.input 19:00:30.457723 Identifying ourselves as friends 19:00:30.457808 Response sent (56 bytes) and written to log/3/server.response 19:00:30.457822 special request received, no persistency 19:00:30.457833 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 59936 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind151 ==83722== ==83722== Process terminating with default action of signal 4 (SIGILL) ==83722== Illegal opcode at address 0x4013E00 ==83722== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83722== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83722== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83722== by 0x40037A4: 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/4/valgrind152CMD (33792): ../libtool --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/valgrind153 ../src/curl -q --include --trace-ascii log/11/trace153 --trace-time http://127.0.0.1:46317/1530001 -u testuser:testpass --digest http://127.0.0.1:46317/1530002 > log/11/stdout153 2> log/11/stderr153 ../src/curl -q --output log/4/curl152.out --include --trace-ascii log/4/trace152 --trace-time http://127.0.0.1:37985/152 --fail > log/4/stdout152 2> log/4/stderr152 152: 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 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/4/valgrind152 ../src/curl -q --output log/4/curl152.out --include --trace-ascii log/4/trace152 --trace-time http://127.0.0.1:37985/152 --fail > log/4/stdout152 2> log/4/stderr152 === End of file commands.log === Start of file http_server.log 19:00:30.502604 ====> Client connect 19:00:30.502641 accept_connection 3 returned 4 19:00:30.502661 accept_connection 3 returned 0 19:00:30.502677 Read 93 bytes 19:00:30.502689 Process 93 bytes request 19:00:30.502703 Got request: GET /verifiedserver HTTP/1.1 19:00:30.502713 Are-we-friendly question received 19:00:30.502739 Wrote request (93 bytes) input to log/4/server.input 19:00:30.502761 Identifying ourselves as friends 19:00:30.502819 Response sent (56 bytes) and written to log/4/server.response 19:00:30.502831 special request received, no persistency 19:00:30.502842 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 51460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind152 ==83758== ==83758== Process terminating with default action of signal 4 (SIGILL) ==83758== Illegal opcode at address 0x4013E00 ==83758== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83758== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83758== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83758== by 0x40037A4: main (tool_main.c:199) === End of file valgrind152 CMD (33792): ../libtool --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/valgrind155 ../src/curl -q --output log/23/curl155.out --include --trace-ascii log/23/trace155 --trace-time http://127.0.0.1:35243/155 -T log/23/put155 -u testuser:testpass --anyauth > log/23/stdout155 2> log/23/stderr155 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/11/valgrind153 ../src/curl -q --include --trace-ascii log/11/trace153 --trace-time http://127.0.0.1:46317/1530001 -u testuser:testpass --digest http://127.0.0.1:46317/1530002 > log/11/stdout153 2> log/11/stderr153 153: stdout FAILED: --- log/11/check-expected 2025-11-13 19:00:31.592724279 +0000 +++ log/11/check-generated 2025-11-13 19:00:31.592724279 +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/11/ 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/11/valgrind153 ../src/curl -q --include --trace-ascii log/11/trace153 --trace-time http://127.0.0.1:46317/1530001 -u testuser:testpass --digest http://127.0.0.1:46317/1530002 > log/11/stdout153 2> log/11/stderr153 === End of file commands.log === Start of file http_server.log 19:00:29.748613 ====> Client connect 19:00:29.748647 accept_connection 3 returned 4 19:00:29.748664 accept_connection 3 returned 0 19:00:29.748680 Read 93 bytes 19:00:29.748691 Process 93 bytes request 19:00:29.748706 Got request: GET /verifiedserver HTTP/1.1 19:00:29.748716 Are-we-friendly question received 19:00:29.748741 Wrote request (93 bytes) input to log/11/server.input 19:00:29.748759 Identifying ourselves as friends 19:00:29.748814 Response sent (56 bytes) and written to log/11/server.response 19:00:29.748825 special request received, no persistency 19:00:29.748835 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 33274 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind153 ==84016== ==84016== Process terminating with default action of signal 4 (SIGILL) ==84016== Illegal opcode at address 0x4013E00 ==84016== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84016== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84016== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84016== by 0x40037A4: main (tool_main.c:199) === End of file valgrind153 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/23/valgrind155 ../src/curl -q --output log/23/curl155.out --include --trace-ascii log/23/trace155 --trace-time http://127.0.0.1:35243/155 -T log/23/put155 -u testuser:testpass --anyauth > log/23/stdout155 2> log/23/stderr155 155: 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 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/23/valgrind155 ../src/curl -q --output log/23/curl155.out --include --trace-ascii log/23/trace155 --trace-time http://127.0.0.1:35243/155 -T log/23/put155 -u testuser:testpass --anyauth > log/23/stdout155 2> log/23/stderr155 === End of file commands.log === Start of file http_server.log 19:00:29.820676 ====> Client connect 19:00:29.820718 accept_connection 3 returned 4 19:00:29.820738 accept_connection 3 returned 0 19:00:29.820754 Read 93 bytes 19:00:29.820779 Process 93 bytes request 19:00:29.820795 Got request: GET /verifiedserver HTTP/1.1 19:00:29.820805 Are-we-friendly question received 19:00:29.820994 Wrote request (93 bytes) input to log/23/server.input 19:00:29.821016 Identifying ourselves as friends 19:00:29.821083 Response sent (56 bytes) and written to log/23/server.response 19:00:29.821094 special request received, no persistency 19:00:29.821104 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 50174 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start 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/14/valgrind150 ../src/curl -q --output log/14/curl150.out --include --trace-ascii log/14/trace150 --trace-time http://127.0.0.1:36759/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/6/valgrind154 ../src/curl -q --output log/6/curl154.out --include --trace-ascii log/6/trace154 --trace-time http://127.0.0.1:41595/154 -T log/6/put154 -u testuser:testpass --anyauth > log/6/stdout154 2> log/6/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/9/valgrind156 ../src/curl -q --output log/9/curl156.out --include --trace-ascii log/9/trace156 --trace-time http://127.0.0.1:36745/156 -T log/9/put156 -u testuser:testpass --anyauth > log/9/stdout156 2> log/9/stderr156 f file valgrind155 ==84023== ==84023== Process terminating with default action of signal 4 (SIGILL) ==84023== Illegal opcode at address 0x4013E00 ==84023== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84023== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84023== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84023== by 0x40037A4: main (tool_main.c:199) === End of file valgrind155 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:36759/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:36759/150 -u testuser:testpass --ntlm --fail > log/14/stdout150 2> log/14/stderr150 === End of file commands.log === Start of file http_server.log 19:00:29.447292 ====> Client connect 19:00:29.447330 accept_connection 3 returned 4 19:00:29.447347 accept_connection 3 returned 0 19:00:29.447511 Read 93 bytes 19:00:29.447528 Process 93 bytes request 19:00:29.447543 Got request: GET /verifiedserver HTTP/1.1 19:00:29.447553 Are-we-friendly question received 19:00:29.447583 Wrote request (93 bytes) input to log/14/server.input 19:00:29.447600 Identifying ourselves as friends 19:00:29.447654 Response sent (56 bytes) and written to log/14/server.response 19:00:29.447665 special request received, no persistency 19:00:29.447675 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 43354 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind150 ==83709== ==83709== Process terminating with default action of signal 4 (SIGILL) ==83709== Illegal opcode at address 0x4013E00 ==83709== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83709== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83709== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83709== by 0x40037A4: main (tool_main.c:199) === End of file valgrind150 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/6/valgrind154 ../src/curl -q --output log/6/curl154.out --include --trace-ascii log/6/trace154 --trace-time http://127.0.0.1:41595/154 -T log/6/put154 -u testuser:testpass --anyauth > log/6/stdout154 2> log/6/stderr154 154: 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 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/6/valgrind154 ../src/curl -q --output log/6/curl154.out --include --trace-ascii log/6/trace154 --trace-time http://127.0.0.1:41595/154 -T log/6/put154 -u testuser:testpass --anyauth > log/6/stdout154 2> log/6/stderr154 === End of file commands.log === Start of file http_server.log 19:00:29.757529 ====> Client connect 19:00:29.757579 accept_connection 3 returned 4 19:00:29.757597 accept_connection 3 returned 0 19:00:29.757613 Read 93 bytes 19:00:29.757624 Process 93 bytes request 19:00:29.757636 Got request: GET /verifiedserver HTTP/1.1 19:00:29.757647 Are-we-friendly question received 19:00:29.757672 Wrote request (93 bytes) input to log/6/server.input 19:00:29.757690 Identifying ourselves as friends 19:00:29.757799 Response sent (56 bytes) and written to log/6/server.response 19:00:29.757815 special request received, no persistency 19:00:29.757825 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 56442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind154 ==83974== ==83974== Process terminating with default action of signal 4 (SIGILL) ==83974== Illegal opcode at address 0x4013E00 ==83974== at 0x4013E00: getparameter (tool_getparam.c:2846) ==83974== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==83974== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==83974== by 0x40037A4: main (tool_main.c:199) === End of file valgrind154 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:36745/156 -T log/9/put156 -u testuser:testpass --anyauth > 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:36745/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 19:00:29.890871 ====> Client connect 19:00:29.890917 accept_connection 3 returned 4 19:00:29.890938 accept_connection 3 returned 0 19:00:29.890957 Read 93 bytes 19:00:29.890967 Process 93 bytes request 19:00:29.890983 Got request: GET /verifiedserver HTTP/1.1 19:00:29.890992 Are-we-friendly question received 19:00:29.891017 Wrote request (93 bytes) input to log/9/server.input 19:00:29.891035 Identifying ourselves as friends 19:00:29.891122 Response sent (56 bytes) and written to log/9/server.response 19:00:29.891133 special request received, no persistency 19:00:29.891142 ====> 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/2/valgrind157 ../src/curl -q --output log/2/curl157.out --include --trace-ascii log/2/trace157 --trace-time http://127.0.0.1:44325/157 -u testuser:testpass --anyauth > log/2/stdout157 2> log/2/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/17/valgrind162 ../src/curl -q --output log/17/curl162.out --include --trace-ascii log/17/trace162 --trace-time http://127.0.0.1:40515/162 --proxy http://127.0.0.1:40515 --proxy-user foo:bar --proxy-ntlm --fail > log/17/stdout162 2> log/17/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/13/valgrind160 ../src/curl -q --include --trace-ascii log/13/trace160 --trace-time http://127.0.0.1:35301/want/160 http://127.0.0.1:35301/wantmore/1600001 > log/13/stdout160 2> log/13/stderr160 connect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 52768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind156 ==84130== ==84130== Process terminating with default action of signal 4 (SIGILL) ==84130== Illegal opcode at address 0x4013E00 ==84130== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84130== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84130== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84130== by 0x40037A4: main (tool_main.c:199) === End of file valgrind156 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/2/valgrind157 ../src/curl -q --output log/2/curl157.out --include --trace-ascii log/2/trace157 --trace-time http://127.0.0.1:44325/157 -u testuser:testpass --anyauth > log/2/stdout157 2> log/2/stderr157 157: 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 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/2/valgrind157 ../src/curl -q --output log/2/curl157.out --include --trace-ascii log/2/trace157 --trace-time http://127.0.0.1:44325/157 -u testuser:testpass --anyauth > log/2/stdout157 2> log/2/stderr157 === End of file commands.log === Start of file http_server.log 19:00:30.904227 ====> Client connect 19:00:30.904272 accept_connection 3 returned 4 19:00:30.904295 accept_connection 3 returned 0 19:00:30.906268 Read 93 bytes 19:00:30.906289 Process 93 bytes request 19:00:30.906306 Got request: GET /verifiedserver HTTP/1.1 19:00:30.906317 Are-we-friendly question received 19:00:30.906352 Wrote request (93 bytes) input to log/2/server.input 19:00:30.906372 Identifying ourselves as friends 19:00:30.906431 Response sent (56 bytes) and written to log/2/server.response 19:00:30.906444 special request received, no persistency 19:00:30.906455 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 46968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind157 ==84133== ==84133== Process terminating with default action of signal 4 (SIGILL) ==84133== Illegal opcode at address 0x4013E00 ==84133== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84133== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84133== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84133== by 0x40037A4: main (tool_main.c:199) === End of file valgrind157 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/17/valgrind162 ../src/curl -q --output log/17/curl162.out --include --trace-ascii log/17/trace162 --trace-time http://127.0.0.1:40515/162 --proxy http://127.0.0.1:40515 --proxy-user foo:bar --proxy-ntlm --fail > log/17/stdout162 2> log/17/stderr162 162: 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 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/17/valgrind162 ../src/curl -q --output log/17/curl162.out --include --trace-ascii log/17/trace162 --trace-time http://127.0.0.1:40515/162 --proxy http://127.0.0.1:40515 --proxy-user foo:bar --proxy-ntlm --fail > log/17/stdout162 2> log/17/stderr162 === End of file commands.log === Start of file http_server.log 19:00:31.330021 ====> Client connect 19:00:31.330059 accept_connection 3 returned 4 19:00:31.330076 accept_connection 3 returned 0 19:00:31.330226 Read 93 bytes 19:00:31.330241 Process 93 bytes request 19:00:31.330256 Got request: GET /verifiedserver HTTP/1.1 19:00:31.330266 Are-we-friendly question received 19:00:31.330295 Wrote request (93 bytes) input to log/17/server.input 19:00:31.330312 Identifying ourselves as friends 19:00:31.330365 Response sent (56 bytes) and written to log/17/server.response 19:00:31.330375 special request received, no persistency 19:00:31.330384 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 34482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind162 ==84390== ==84390== Process terminating with default action of signal 4 (SIGILL) ==84390== Illegal opcode at address 0x4013E00 ==84390== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84390== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84390== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84390== by 0x40037A4: main (tool_main.c:199) === End of file valgrind162 CMD (33792): ../libtool --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/valgrind163 ../src/curl -q --output log/8/curl163.out --include --trace-ascii log/8/trace163 --trace-time http://127.0.0.1:43853/we/want/163 -F "name= log/8/stdout163 2> log/8/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/20/valgrind158 ../src/curl -q --output log/20/curl158.out --include --trace-ascii log/20/trace158 --trace-time http://127.0.0.1:38583/158 -F name=daniel > log/20/stdout158 2> log/20/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/13/valgrind160 ../src/curl -q --include --trace-ascii log/13/trace160 --trace-time http://127.0.0.1:35301/want/160 http://127.0.0.1:35301/wantmore/1600001 > log/13/stdout160 2> log/13/stderr160 160: stdout FAILED: --- log/13/check-expected 2025-11-13 19:00:32.119390949 +0000 +++ log/13/check-generated 2025-11-13 19:00:32.119390949 +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/13/ 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/13/valgrind160 ../src/curl -q --include --trace-ascii log/13/trace160 --trace-time http://127.0.0.1:35301/want/160 http://127.0.0.1:35301/wantmore/1600001 > log/13/stdout160 2> log/13/stderr160 === End of file commands.log === Start of file http_server.log 19:00:30.291920 ====> Client connect 19:00:30.291958 accept_connection 3 returned 4 19:00:30.291978 accept_connection 3 returned 0 19:00:30.291994 Read 93 bytes 19:00:30.292005 Process 93 bytes request 19:00:30.292020 Got request: GET /verifiedserver HTTP/1.1 19:00:30.292031 Are-we-friendly question received 19:00:30.292058 Wrote request (93 bytes) input to log/13/server.input 19:00:30.292077 Identifying ourselves as friends 19:00:30.292134 Response sent (56 bytes) and written to log/13/server.response 19:00:30.292145 special request received, no persistency 19:00:30.292156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 55372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind160 ==84351== ==84351== Process terminating with default action of signal 4 (SIGILL) ==84351== Illegal opcode at address 0x4013E00 ==84351== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84351== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84351== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84351== by 0x40037A4: main (tool_main.c:199) === End of file valgrind160 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/8/valgrind163 ../src/curl -q --output log/8/curl163.out --include --trace-ascii log/8/trace163 --trace-time http://127.0.0.1:43853/we/want/163 -F "name= log/8/stdout163 2> log/8/stderr163 163: 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 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/8/valgrind163 ../src/curl -q --output log/8/curl163.out --include --trace-ascii log/8/trace163 --trace-time http://127.0.0.1:43853/we/want/163 -F "name= log/8/stdout163 2> log/8/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 19:00:30.368505 ====> Client connect 19:00:30.368544 accept_connection 3 returned 4 19:00:30.368567 accept_connection 3 returned 0 19:00:30.368585 Read 93 bytes 19:00:30.368597 Process 93 bytes request 19:00:30.368614 Got request: GET /verifiedserver HTTP/1.1 19:00:30.368625 Are-we-friendly question received 19:00:30.368655 Wrote request (93 bytes) input to log/8/server.input 19:00:30.368676 Identifying ourselves as friends 19:00:30.368741 Response sent (56 bytes) and written to log/8/server.response 19:00:30.368756 special request received, no persistency 19:00:30.368768 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 37444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind163 ==84417== ==84417== Process terminating with default action of signal 4 (SIGILL) ==84417== Illegal opcode at address 0x4013E00 ==84417== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84417== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84417== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84417== by 0x40037A4: main (tool_main.c:199) === End of file valgrind163 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/20/valgrind158 ../src/curl -q --output log/20/curl158.out --include --trace-ascii log/20/trace158 --trace-time http://127.0.0.1:38583/158 -F name=daniel > log/20/stdout158 2> log/20/stderr158 158: 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 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/20/valgrind158 ../src/curl -q --output log/20/curl158.out --include --trace-ascii log/20/trace158 --trace-time http://127.0.0.1:38583/158 -F name=daniel > log/20/stdout158 2> log/20/stderr158 === End of file commands.log === Start of file http_server.log 19:00:30.277214 ====> Client connect 19:00:30.277252 accept_connection 3 returned 4 19:00:30.277272 accept_connection 3 returned 0 19:00:30.277454 Read 93 bytes 19:00:30.277470 Process 93 bytes request 19:00:30.277493 Got request: GET /verifiedserver HTTP/1.1 19:00:30.277505 Are-we-friendly question received 19:00:30.277536 Wrote request (93 bytes) input to log/20/server.input 19:00:30.277560 Identifying ourselves as friends 19:00:30.277623 Response sent (56 bytes) and written to log/20/server.responsCMD (33792): ../libtool --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/valgrind165 ../src/curl -q --output log/16/curl165.out --include --trace-ascii log/16/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:42747 http://www.große.de/page/165 > log/16/stdout165 2> log/16/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/12/valgrind161 ../src/curl -q --output log/12/curl161.out --include --trace-ascii log/12/trace161 --trace-time ftp://127.0.0.1:35151/161 > log/12/stdout161 2> log/12/stderr161 e 19:00:30.277638 special request received, no persistency 19:00:30.277649 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 37030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind158 ==84330== ==84330== Process terminating with default action of signal 4 (SIGILL) ==84330== Illegal opcode at address 0x4013E00 ==84330== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84330== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84330== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84330== by 0x40037A4: main (tool_main.c:199) === End of file valgrind158 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/16/valgrind165 ../src/curl -q --output log/16/curl165.out --include --trace-ascii log/16/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:42747 http://www.große.de/page/165 > log/16/stdout165 2> log/16/stderr165 165: 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 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/16/valgrind165 ../src/curl -q --output log/16/curl165.out --include --trace-ascii log/16/trace165 --trace-time http://www.åäö.se/page/165 -x 127.0.0.1:42747 http://www.große.de/page/165 > log/16/stdout165 2> log/16/stderr165 === End of file commands.log === Start of file http_server.log 19:00:31.578865 ====> Client connect 19:00:31.578913 accept_connection 3 returned 4 19:00:31.578931 accept_connection 3 returned 0 19:00:31.578948 Read 93 bytes 19:00:31.578959 Process 93 bytes request 19:00:31.578975 Got request: GET /verifiedserver HTTP/1.1 19:00:31.578986 Are-we-friendly question received 19:00:31.579018 Wrote request (93 bytes) input to log/16/server.input 19:00:31.579037 Identifying ourselves as friends 19:00:31.579096 Response sent (56 bytes) and written to log/16/server.response 19:00:31.579107 special request received, no persistency 19:00:31.579117 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 54492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind165 ==84667== ==84667== Process terminating with default action of signal 4 (SIGILL) ==84667== Illegal opcode at address 0x4013E00 ==84667== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84667== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84667== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84667== by 0x40037A4: main (tool_main.c:199) === End of file valgrind165 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/12/valgrind161 ../src/curl -q --output log/12/curl161.out --include --trace-ascii log/12/trace161 --trace-time ftp://127.0.0.1:35151/161 > log/12/stdout161 2> log/12/stderr161 161: 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 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/12/valgrind161 ../src/curl -q --output log/12/curl161.out --include --trace-ascii log/12/trace161 --trace-time ftp://127.0.0.1:35151/161 > log/12/stdout161 2> log/12/stderr161 === End of file commands.log === Start of file ftp_server.log 19:00:30.569890 ====> Client connect 19:00:30.570056 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:30.572492 < "USER anonymous" 19:00:30.572533 > "331 We are happy you popped in![CR][LF]" 19:00:30.572707 < "PASS ftp@example.com" 19:00:30.572736 > "230 Welcome you silly person[CR][LF]" 19:00:30.572885 < "PWD" 19:00:30.572918 > "257 "/" is current directory[CR][LF]" 19:00:30.573065 < "EPSV" 19:00:30.573087 ====> Passive DATA channel requested by client 19:00:30.573100 DATA sockfilt for passive data channel starting... 19:00:30.585430 DATA sockfilt for passive data channel started (pid 84377) 19:00:30.585636 DATA sockfilt for passive data channel listens on port 36169 19:00:30.585696 > "229 Entering Passive Mode (|||36169|)[CR][LF]" 19:00:30.585719 Client has been notified that DATA conn will be accepted on port 36169 19:00:30.587208 Client connects to port 36169 19:00:30.587254 ====> Client established passive DATA connection on port 36169 19:00:30.587365 < "TYPE I" 19:00:30.587405 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:30.587600 < "SIZE verifiedserver" 19:00:30.587645 > "213 17[CR][LF]" 19:00:30.587813 < "RETR verifiedserver" 19:00:30.587852 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:30.587949 =====> Closing passive DATA connection... 19:00:30.587966 Server disconnects passive DATA connection 19:00:30.588234 Server disconnected passive DATA connection 19:00:30.588263 DATA sockfilt for passive data channel quits (pid 84377) 19:00:30.588573 DATA sockfilt for passive data channel quit (pid 84377) 19:00:30.588597 =====> Closed passive DATA connection 19:00:30.588628 > "226 File transfer complete[CR][LF]" 19:00:30.635333 < "QUIT" 19:00:30.635405 > "221 bye bye baby[CR][LF]" 19:00:30.636452 MAIN sockfilt said DISC 19:00:30.636493 ====> Client disconnected 19:00:30.636575 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:30.341839 ====> Client connect 19:00:30.342118 Received DATA (on stdin) 19:00:30.342134 > 160 bytes data, server => client 19:00:30.342146 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:30.342158 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:30.342168 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:30.344395 < 16 bytes data, client => server 19:00:30.344414 'USER anonymous\r\n' 19:00:30.344600 Received DATA (on stdin) 19:00:30.344612 > 33 bytes data, server => client 19:00:30.344624 '331 We are happy you popped in!\r\n' 19:00:30.344672 < 22 bytes data, client => server 19:00:30.344683 'PASS ftp@example.com\r\n' 19:00:30.344798 Received DATA (on stdin) 19:00:30.344809 > 30 bytes data, server => client 19:00:30.344820 '230 Welcome yCMD (33792): ../libtool --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/valgrind167 ../src/curl -q --output log/10/curl167.out --include --trace-ascii log/10/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:37879 --proxy-user foo:bar --digest --user digest:a-lot > log/10/stdout167 2> log/10/stderr167 CMD (33792): ../libtool --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/valgrind166 ../src/curl -q --output log/7/curl166.out --include --trace-ascii log/7/trace166 --trace-time http://127.0.0.1:41017/we/want/166 -F "name=@log/7/fie ld 166" > log/7/stdout166 2> log/7/stderr166 ou silly person\r\n' 19:00:30.344863 < 5 bytes data, client => server 19:00:30.344874 'PWD\r\n' 19:00:30.344978 Received DATA (on stdin) 19:00:30.344989 > 30 bytes data, server => client 19:00:30.345000 '257 "/" is current directory\r\n' 19:00:30.345051 < 6 bytes data, client => server 19:00:30.345061 'EPSV\r\n' 19:00:30.357807 Received DATA (on stdin) 19:00:30.357827 > 39 bytes data, server => client 19:00:30.357840 '229 Entering Passive Mode (|||36169|)\r\n' 19:00:30.359152 < 8 bytes data, client => server 19:00:30.359179 'TYPE I\r\n' 19:00:30.359472 Received DATA (on stdin) 19:00:30.359487 > 33 bytes data, server => client 19:00:30.359499 '200 I modify TYPE as you wanted\r\n' 19:00:30.359563 < 21 bytes data, client => server 19:00:30.359576 'SIZE verifiedserver\r\n' 19:00:30.359709 Received DATA (on stdin) 19:00:30.359722 > 8 bytes data, server => client 19:00:30.359734 '213 17\r\n' 19:00:30.359786 < 21 bytes data, client => server 19:00:30.359798 'RETR verifiedserver\r\n' 19:00:30.360030 Received DATA (on stdin) 19:00:30.360044 > 29 bytes data, server => client 19:00:30.360056 '150 Binary junk (17 bytes).\r\n' 19:00:30.360695 Received DATA (on stdin) 19:00:30.360711 > 28 bytes data, server => client 19:00:30.360723 '226 File transfer complete\r\n' 19:00:30.407183 < 6 bytes data, client => server 19:00:30.407216 'QUIT\r\n' 19:00:30.407483 Received DATA (on stdin) 19:00:30.407501 > 18 bytes data, server => client 19:00:30.407513 '221 bye bye baby\r\n' 19:00:30.408448 ====> Client disconnect 19:00:30.408640 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:30.350225 Running IPv4 version 19:00:30.350325 Listening on port 36169 19:00:30.350373 Wrote pid 84377 to log/12/server/ftp_sockdata.pid 19:00:30.357298 Received PING (on stdin) 19:00:30.357572 Received PORT (on stdin) 19:00:30.359210 ====> Client connect 19:00:30.360086 Received DATA (on stdin) 19:00:30.360103 > 17 bytes data, server => client 19:00:30.360115 'WE ROOLZ: 80702\r\n' 19:00:30.360141 Received DISC (on stdin) 19:00:30.360154 ====> Client forcibly disconnected 19:00:30.360340 Received QUIT (on stdin) 19:00:30.360353 quits 19:00:30.360435 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 161 === End of file server.cmd === Start of file valgrind161 ==84432== ==84432== Process terminating with default action of signal 4 (SIGILL) ==84432== Illegal opcode at address 0x4013E00 ==84432== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84432== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84432== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84432== by 0x40037A4: main (tool_main.c:199) === End of file valgrind161 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/10/valgrind167 ../src/curl -q --output log/10/curl167.out --include --trace-ascii log/10/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:37879 --proxy-user foo:bar --digest --user digest:a-lot > log/10/stdout167 2> log/10/stderr167 167: 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 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/10/valgrind167 ../src/curl -q --output log/10/curl167.out --include --trace-ascii log/10/trace167 --trace-time http://data.from.server.requiring.digest.hohoho.com/167 --proxy http://127.0.0.1:37879 --proxy-user foo:bar --digest --user digest:a-lot > log/10/stdout167 2> log/10/stderr167 === End of file commands.log === Start of file http_server.log 19:00:30.690885 ====> Client connect 19:00:30.690945 accept_connection 3 returned 4 19:00:30.690971 accept_connection 3 returned 0 19:00:30.690993 Read 93 bytes 19:00:30.691005 Process 93 bytes request 19:00:30.691024 Got request: GET /verifiedserver HTTP/1.1 19:00:30.691035 Are-we-friendly question received 19:00:30.691067 Wrote request (93 bytes) input to log/10/server.input 19:00:30.691088 Identifying ourselves as friends 19:00:30.691181 Response sent (56 bytes) and written to log/10/server.response 19:00:30.691196 special request received, no persistency 19:00:30.691207 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 34018 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind167 ==84742== ==84742== Process terminating with default action of signal 4 (SIGILL) ==84742== Illegal opcode at address 0x4013E00 ==84742== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84742== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84742== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84742== by 0x40037A4: main (tool_main.c:199) === End of file valgrind167 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/7/valgrind166 ../src/curl -q --output log/7/curl166.out --include --trace-ascii log/7/trace166 --trace-time http://127.0.0.1:41017/we/want/166 -F "name=@log/7/fie ld 166" > log/7/stdout166 2> log/7/stderr166 166: 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 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/7/valgrind166 ../src/curl -q --output log/7/curl166.out --include --trace-ascii log/7/trace166 --trace-time http://127.0.0.1:41017/we/want/166 -F "name=@log/7/fie ld 166" > log/7/stdout166 2> log/7/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 19:00:30.644193 ====> Client connect 19:00:30.644240 accept_connection 3 returned 4 19:00:30.644260 accept_connection 3 returned 0 19:00:30.644279 Read 93 bytes 19:00:30.644294 Process 93 bytes request 19:00:30.644314 Got request: GET /verifiedserver HTTP/1.1 19:00:30.644325 Are-we-friendly question received 19:00:30.644351 Wrote request (93 bytes) input to log/7/server.input 19:00:30.644374 Identifying ourselves as friends 19:00:30.644462 Response sent (56 bytes) and written to log/7/server.response 19:00:30.644479 special request received, no persistency 19:00:30.644490 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 58164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === 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/valgrind170 ../src/curl -q --output log/15/curl170.out --include --trace-ascii log/15/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:44531 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/15/stdout170 2> log/15/stderr170 CMD (33792): ../libtool --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/valgrind164 ../src/curl -q --output log/22/curl164.out --include --trace-ascii log/22/trace164 --trace-time http://127.0.0.1:41061/want/164 -r 0-10,12-15 > log/22/stdout164 2> log/22/stderr164 CMD (33792): ../libtool --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/valgrind168 ../src/curl -q --output log/24/curl168.out --include --trace-ascii log/24/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:39383 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/24/stdout168 2> log/24/stderr168 tart of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind166 ==84715== ==84715== Process terminating with default action of signal 4 (SIGILL) ==84715== Illegal opcode at address 0x4013E00 ==84715== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84715== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84715== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84715== by 0x40037A4: main (tool_main.c:199) === End of file valgrind166 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/15/valgrind170 ../src/curl -q --output log/15/curl170.out --include --trace-ascii log/15/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:44531 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/15/stdout170 2> log/15/stderr170 170: 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 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/15/valgrind170 ../src/curl -q --output log/15/curl170.out --include --trace-ascii log/15/trace170 --trace-time http://a.galaxy.far.far.away/170 --proxy http://127.0.0.1:44531 --proxy-user foo:bar --proxy-ntlm -F "dummy=value" > log/15/stdout170 2> log/15/stderr170 === End of file commands.log === Start of file http_server.log 19:00:31.007528 ====> Client connect 19:00:31.007573 accept_connection 3 returned 4 19:00:31.007594 accept_connection 3 returned 0 19:00:31.007612 Read 93 bytes 19:00:31.007624 Process 93 bytes request 19:00:31.007640 Got request: GET /verifiedserver HTTP/1.1 19:00:31.007651 Are-we-friendly question received 19:00:31.007679 Wrote request (93 bytes) input to log/15/server.input 19:00:31.007698 Identifying ourselves as friends 19:00:31.007765 Response sent (56 bytes) and written to log/15/server.response 19:00:31.007778 special request received, no persistency 19:00:31.007789 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 48950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind170 ==84957== ==84957== Process terminating with default action of signal 4 (SIGILL) ==84957== Illegal opcode at address 0x4013E00 ==84957== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84957== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84957== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84957== by 0x40037A4: main (tool_main.c:199) === End of file valgrind170 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/22/valgrind164 ../src/curl -q --output log/22/curl164.out --include --trace-ascii log/22/trace164 --trace-time http://127.0.0.1:41061/want/164 -r 0-10,12-15 > log/22/stdout164 2> log/22/stderr164 164: 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 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/22/valgrind164 ../src/curl -q --output log/22/curl164.out --include --trace-ascii log/22/trace164 --trace-time http://127.0.0.1:41061/want/164 -r 0-10,12-15 > log/22/stdout164 2> log/22/stderr164 === End of file commands.log === Start of file http_server.log 19:00:30.547546 ====> Client connect 19:00:30.547602 accept_connection 3 returned 4 19:00:30.547625 accept_connection 3 returned 0 19:00:30.547645 Read 93 bytes 19:00:30.547657 Process 93 bytes request 19:00:30.547675 Got request: GET /verifiedserver HTTP/1.1 19:00:30.547686 Are-we-friendly question received 19:00:30.547717 Wrote request (93 bytes) input to log/22/server.input 19:00:30.547738 Identifying ourselves as friends 19:00:30.547821 Response sent (56 bytes) and written to log/22/server.response 19:00:30.547835 special request received, no persistency 19:00:30.547846 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 33004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind164 ==84639== ==84639== Process terminating with default action of signal 4 (SIGILL) ==84639== Illegal opcode at address 0x4013E00 ==84639== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84639== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84639== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84639== by 0x40037A4: main (tool_main.c:199) === End of file valgrind164 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/24/valgrind168 ../src/curl -q --output log/24/curl168.out --include --trace-ascii log/24/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:39383 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/24/stdout168 2> log/24/stderr168 168: 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 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/24/valgrind168 ../src/curl -q --output log/24/curl168.out --include --trace-ascii log/24/trace168 --trace-time http://data.from.server.requiring.digest.hohoho.com/168 --proxy http://127.0.0.1:39383 --proxy-user foo:bar --proxy-digest --digest --user digest:a-lot > log/24/stdout168 2> log/24/stderr168 === End of file commands.log === Start of file http_server.log 19:00:30.911710 ====> Client connect 19:00:30.911751 accept_connection 3 returned 4 19:00:30.911773 accept_connection 3 returned 0 19:00:30.911790 Read 93 bytes 19:00:30.911802 Process 93 bytes request 19:00:30.911823 Got request: GECMD (33792): ../libtool --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/valgrind172 ../src/curl -q --output log/18/curl172.out --include --trace-ascii log/18/trace172 --trace-time http://127.0.0.1:39771/we/want/172 -b log/18/jar172.txt -b "tool=curl; name=fool" > log/18/stdout172 2> log/18/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/19/valgrind171 ../src/curl -q --output log/19/curl171.out --include --trace-ascii log/19/trace171 --trace-time -c log/19/jar171 -x 127.0.0.1:41761 http://z.x.com/171 > log/19/stdout171 2> log/19/stderr171 CMD (33792): ../libtool --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/valgrind169 ../src/curl -q --output log/1/curl169.out --include --trace-ascii log/1/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:40353 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/1/stdout169 2> log/1/stderr169 T /verifiedserver HTTP/1.1 19:00:30.911834 Are-we-friendly question received 19:00:30.911863 Wrote request (93 bytes) input to log/24/server.input 19:00:30.911887 Identifying ourselves as friends 19:00:30.911955 Response sent (56 bytes) and written to log/24/server.response 19:00:30.911973 special request received, no persistency 19:00:30.911984 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind168 ==84920== ==84920== Process terminating with default action of signal 4 (SIGILL) ==84920== Illegal opcode at address 0x4013E00 ==84920== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84920== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84920== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84920== by 0x40037A4: main (tool_main.c:199) === End of file valgrind168 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/18/valgrind172 ../src/curl -q --output log/18/curl172.out --include --trace-ascii log/18/trace172 --trace-time http://127.0.0.1:39771/we/want/172 -b log/18/jar172.txt -b "tool=curl; name=fool" > log/18/stdout172 2> log/18/stderr172 172: 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 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/18/valgrind172 ../src/curl -q --output log/18/curl172.out --include --trace-ascii log/18/trace172 --trace-time http://127.0.0.1:39771/we/want/172 -b log/18/jar172.txt -b "tool=curl; name=fool" > log/18/stdout172 2> log/18/stderr172 === End of file commands.log === Start of file http_server.log 19:00:31.121405 ====> Client connect 19:00:31.121444 accept_connection 3 returned 4 19:00:31.121464 accept_connection 3 returned 0 19:00:31.121482 Read 93 bytes 19:00:31.121496 Process 93 bytes request 19:00:31.121517 Got request: GET /verifiedserver HTTP/1.1 19:00:31.121528 Are-we-friendly question received 19:00:31.121556 Wrote request (93 bytes) input to log/18/server.input 19:00:31.121584 Identifying ourselves as friends 19:00:31.121654 Response sent (56 bytes) and written to log/18/server.response 19:00:31.121672 special request received, no persistency 19:00:31.121684 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 37844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind172 ==85082== ==85082== Process terminating with default action of signal 4 (SIGILL) ==85082== Illegal opcode at address 0x4013E00 ==85082== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85082== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85082== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85082== by 0x40037A4: 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/19/valgrind171 ../src/curl -q --output log/19/curl171.out --include --trace-ascii log/19/trace171 --trace-time -c log/19/jar171 -x 127.0.0.1:41761 http://z.x.com/171 > log/19/stdout171 2> log/19/stderr171 171: 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 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/19/valgrind171 ../src/curl -q --output log/19/curl171.out --include --trace-ascii log/19/trace171 --trace-time -c log/19/jar171 -x 127.0.0.1:41761 http://z.x.com/171 > log/19/stdout171 2> log/19/stderr171 === End of file commands.log === Start of file http_server.log 19:00:31.099767 ====> Client connect 19:00:31.099807 accept_connection 3 returned 4 19:00:31.099826 accept_connection 3 returned 0 19:00:31.099988 Read 93 bytes 19:00:31.100006 Process 93 bytes request 19:00:31.100023 Got request: GET /verifiedserver HTTP/1.1 19:00:31.100034 Are-we-friendly question received 19:00:31.100066 Wrote request (93 bytes) input to log/19/server.input 19:00:31.100085 Identifying ourselves as friends 19:00:31.100144 Response sent (56 bytes) and written to log/19/server.response 19:00:31.100157 special request received, no persistency 19:00:31.100167 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 60932 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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-Length: 17 WE ROOLZ: 74422 === End of file server.response === Start of file valgrind171 ==85078== ==85078== Process terminating with default action of signal 4 (SIGILL) ==85078== Illegal opcode at address 0x4013E00 ==85078== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85078== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85078== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85078== by 0x40037A4: main (tool_main.c:199) === End of file valgrind171 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/1/valgrind169 ../src/curl -q --output log/1/curl169.out --include --trace-ascii log/1/trace169 --trace-time http://data.from.server.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/valgrind173 ../src/curl -q --output log/5/curl173.out --include --trace-ascii log/5/trace173 --trace-time http://127.0.0.1:46771/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/5/stdout173 2> log/5/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/3/valgrind175 ../src/curl -q --output log/3/curl175.out --include --trace-ascii log/3/trace175 --trace-time http://127.0.0.1:46261/175 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout175 2> log/3/stderr175 equiring.digest.hohoho.com/169 --proxy http://127.0.0.1:40353 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/1/stdout169 2> log/1/stderr169 169: 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 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/1/valgrind169 ../src/curl -q --output log/1/curl169.out --include --trace-ascii log/1/trace169 --trace-time http://data.from.server.requiring.digest.hohoho.com/169 --proxy http://127.0.0.1:40353 --proxy-user testuser:testpass --proxy-ntlm --digest --user digest:a-lot > log/1/stdout169 2> log/1/stderr169 === End of file commands.log === Start of file http_server.log 19:00:30.987531 ====> Client connect 19:00:30.987582 accept_connection 3 returned 4 19:00:30.987604 accept_connection 3 returned 0 19:00:30.987623 Read 93 bytes 19:00:30.987635 Process 93 bytes request 19:00:30.987657 Got request: GET /verifiedserver HTTP/1.1 19:00:30.987669 Are-we-friendly question received 19:00:30.987697 Wrote request (93 bytes) input to log/1/server.input 19:00:30.987723 Identifying ourselves as friends 19:00:30.987816 Response sent (56 bytes) and written to log/1/server.response 19:00:30.987836 special request received, no persistency 19:00:30.987847 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 37734 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind169 ==84962== ==84962== Process terminating with default action of signal 4 (SIGILL) ==84962== Illegal opcode at address 0x4013E00 ==84962== at 0x4013E00: getparameter (tool_getparam.c:2846) ==84962== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==84962== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==84962== by 0x40037A4: main (tool_main.c:199) === End of file valgrind169 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/5/valgrind173 ../src/curl -q --output log/5/curl173.out --include --trace-ascii log/5/trace173 --trace-time http://127.0.0.1:46771/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/5/stdout173 2> log/5/stderr173 173: 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 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/5/valgrind173 ../src/curl -q --output log/5/curl173.out --include --trace-ascii log/5/trace173 --trace-time http://127.0.0.1:46771/we/want/173 -F field1=contents1 -F "fileupload=@-;filename=/dev/null;type=text/x-null;format=x-curl" log/5/stdout173 2> log/5/stderr173 === End of file commands.log === Start of file http_server.log 19:00:31.230163 ====> Client connect 19:00:31.230198 accept_connection 3 returned 4 19:00:31.230217 accept_connection 3 returned 0 19:00:31.241409 Read 93 bytes 19:00:31.241448 Process 93 bytes request 19:00:31.241463 Got request: GET /verifiedserver HTTP/1.1 19:00:31.241473 Are-we-friendly question received 19:00:31.241523 Wrote request (93 bytes) input to log/5/server.input 19:00:31.241545 Identifying ourselves as friends 19:00:31.241612 Response sent (56 bytes) and written to log/5/server.response 19:00:31.241625 special request received, no persistency 19:00:31.241636 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 33614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === 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 ==85260== ==85260== Process terminating with default action of signal 4 (SIGILL) ==85260== Illegal opcode at address 0x4013E00 ==85260== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85260== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85260== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85260== by 0x40037A4: main (tool_main.c:199) === End of file valgrind173 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/3/valgrind175 ../src/curl -q --output log/3/curl175.out --include --trace-ascii log/3/trace175 --trace-time http://127.0.0.1:46261/175 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout175 2> log/3/stderr175 175: 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 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/3/valgrind175 ../src/curl -q --output log/3/curl175.out --include --trace-ascii log/3/trace175 --trace-time http://127.0.0.1:46261/175 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout175 2> log/3/stderr175 === End of file commands.log === Start of file http_server.log 19:00:32.238336 ====> Client connect 19:00:32.238372 accept_connection 3 returned 4 19:00:32.238388 accept_connection 3 returned 0 19:00:32.238403 Read 93 bytes 19:00:32.238415 Process 93 bytes request 19:00:32.238430 Got request: GET /verifiedserver HTTP/1.1 19:00:32.238441 Are-we-friendly question received 19:00:32.238468 Wrote request (93 bytes) input to log/3/server.input 19:00:32.238486 Identifying ourselves as friends 19:00:32.238544 Response sent (56 bytes) and written to log/3/server.response 19:00:32.238556 special request received, no persistency 19:00:32.238567 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 40734 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 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/21/valgrind174 ../src/curl -q --output log/21/curl174.out --include --trace-ascii log/21/trace174 --trace-time http://127.0.0.1:35043/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/21/stdout174 2> log/21/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/23/valgrind178 ../src/curl -q --output log/23/curl178.out --include --trace-ascii log/23/trace178 --trace-time http://127.0.0.1:35243/178 > log/23/stdout178 2> log/23/stderr178 CMD (33792): ../libtool --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/valgrind181 ../src/curl -q --output log/9/curl181.out --include --trace-ascii log/9/trace181 --trace-time http://127.0.0.1:36745/we/want/181 --data-binary @log/9/test181.txt --http1.0 > log/9/stdout181 2> log/9/stderr181 tp_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind175 ==85246== ==85246== Process terminating with default action of signal 4 (SIGILL) ==85246== Illegal opcode at address 0x4013E00 ==85246== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85246== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85246== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85246== by 0x40037A4: main (tool_main.c:199) === End of file valgrind175 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/21/valgrind174 ../src/curl -q --output log/21/curl174.out --include --trace-ascii log/21/trace174 --trace-time http://127.0.0.1:35043/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/21/stdout174 2> log/21/stderr174 174: 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 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/21/valgrind174 ../src/curl -q --output log/21/curl174.out --include --trace-ascii log/21/trace174 --trace-time http://127.0.0.1:35043/174 -u testuser:testpass --anyauth -d "junkelijunk" > log/21/stdout174 2> log/21/stderr174 === End of file commands.log === Start of file http_server.log 19:00:31.223904 ====> Client connect 19:00:31.223945 accept_connection 3 returned 4 19:00:31.223964 accept_connection 3 returned 0 19:00:31.231063 Read 93 bytes 19:00:31.231101 Process 93 bytes request 19:00:31.231123 Got request: GET /verifiedserver HTTP/1.1 19:00:31.231135 Are-we-friendly question received 19:00:31.231209 Wrote request (93 bytes) input to log/21/server.input 19:00:31.231237 Identifying ourselves as friends 19:00:31.231332 Response sent (56 bytes) and written to log/21/server.response 19:00:31.231349 special request received, no persistency 19:00:31.231360 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 47412 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind174 ==85235== ==85235== Process terminating with default action of signal 4 (SIGILL) ==85235== Illegal opcode at address 0x4013E00 ==85235== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85235== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85235== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85235== by 0x40037A4: main (tool_main.c:199) === End of file valgrind174 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/23/valgrind178 ../src/curl -q --output log/23/curl178.out --include --trace-ascii log/23/trace178 --trace-time http://127.0.0.1:35243/178 > log/23/stdout178 2> log/23/stderr178 178: 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 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/23/valgrind178 ../src/curl -q --output log/23/curl178.out --include --trace-ascii log/23/trace178 --trace-time http://127.0.0.1:35243/178 > log/23/stdout178 2> log/23/stderr178 === End of file commands.log === Start of file http_server.log 19:00:31.528158 ====> Client connect 19:00:31.528197 accept_connection 3 returned 4 19:00:31.528214 accept_connection 3 returned 0 19:00:31.528229 Read 93 bytes 19:00:31.528240 Process 93 bytes request 19:00:31.528254 Got request: GET /verifiedserver HTTP/1.1 19:00:31.528263 Are-we-friendly question received 19:00:31.528286 Wrote request (93 bytes) input to log/23/server.input 19:00:31.528302 Identifying ourselves as friends 19:00:31.528356 Response sent (56 bytes) and written to log/23/server.response 19:00:31.528366 special request received, no persistency 19:00:31.528376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 50188 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind178 ==85587== ==85587== Process terminating with default action of signal 4 (SIGILL) ==85587== Illegal opcode at address 0x4013E00 ==85587== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85587== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85587== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85587== by 0x40037A4: main (tool_main.c:199) === End of file valgrind178 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/9/valgrind181 ../src/curl -q --output log/9/curl181.out --include --trace-ascii log/9/trace181 --trace-time http://127.0.0.1:36745/we/want/181 --data-binary @log/9/test181.txt --http1.0 > log/9/stdout181 2> log/9/stderr181 181: 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 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/9/valgrind181 ../src/curl -q --output log/9/curl181.out --include --trace-ascii log/9/trace181 --trace-time http://127.0.0.1:36745/we/want/181 --data-binary @log/9/test181.txt --http1.0 > log/9/stdout181 2> log/9/stderr181 === End of file commands.log === Start of file http_server.log 19:00:31.597516 ====> Client connect 19:00:31.597556 accept_connection 3 returned 4 19:00:31.597577 accept_connection 3 returned 0 19:00:31.597594 Read 93 bytes 19:00:31.597606 Process 93 bytes request 19:00:31.597621 Got request: GET /verifiedserver HTTP/1.1 19:00:31.597631 Are-we-friendly question received 19:00:31.597658 Wrote request (93 bytes) input to log/9/server.input 19:00:31.597676 Identifying ourselves as friends 19:00:31.597741 Response sent (56 bytes) and written to log/9/server.response 19:00:31.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/4/valgrind176 ../src/curl -q --output log/4/curl176.out --include --trace-ascii log/4/trace176 --trace-time http://127.0.0.1:37985/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/4/stdout176 2> log/4/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/6/valgrind180 ../src/curl -q --output log/6/curl180.out --include --trace-ascii log/6/trace180 --trace-time http://127.0.0.1:41595/we/want/180 -T log/6/test180.txt --http1.0 > log/6/stdout180 2> log/6/stderr180 CMD (33792): ../libtool --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/valgrind177 ../src/curl -q --output log/11/curl177.out --include --trace-ascii log/11/trace177 --trace-time http://127.0.0.1:46317/177 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout177 2> log/11/stderr177 97753 special request received, no persistency 19:00:31.597763 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 52772 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === 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 ==85653== ==85653== Process terminating with default action of signal 4 (SIGILL) ==85653== Illegal opcode at address 0x4013E00 ==85653== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85653== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85653== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85653== by 0x40037A4: main (tool_main.c:199) === End of file valgrind181 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/4/valgrind176 ../src/curl -q --output log/4/curl176.out --include --trace-ascii log/4/trace176 --trace-time http://127.0.0.1:37985/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/4/stdout176 2> log/4/stderr176 176: 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 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/4/valgrind176 ../src/curl -q --output log/4/curl176.out --include --trace-ascii log/4/trace176 --trace-time http://127.0.0.1:37985/176 -u auser:apasswd --ntlm -d "junkelijunk" > log/4/stdout176 2> log/4/stderr176 === End of file commands.log === Start of file http_server.log 19:00:32.258889 ====> Client connect 19:00:32.258927 accept_connection 3 returned 4 19:00:32.258945 accept_connection 3 returned 0 19:00:32.258961 Read 93 bytes 19:00:32.258973 Process 93 bytes request 19:00:32.258990 Got request: GET /verifiedserver HTTP/1.1 19:00:32.259001 Are-we-friendly question received 19:00:32.259028 Wrote request (93 bytes) input to log/4/server.input 19:00:32.259047 Identifying ourselves as friends 19:00:32.259103 Response sent (56 bytes) and written to log/4/server.response 19:00:32.259114 special request received, no persistency 19:00:32.259124 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 47978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind176 ==85266== ==85266== Process terminating with default action of signal 4 (SIGILL) ==85266== Illegal opcode at address 0x4013E00 ==85266== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85266== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85266== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85266== by 0x40037A4: main (tool_main.c:199) === End of file valgrind176 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/6/valgrind180 ../src/curl -q --output log/6/curl180.out --include --trace-ascii log/6/trace180 --trace-time http://127.0.0.1:41595/we/want/180 -T log/6/test180.txt --http1.0 > log/6/stdout180 2> log/6/stderr180 180: 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 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/6/valgrind180 ../src/curl -q --output log/6/curl180.out --include --trace-ascii log/6/trace180 --trace-time http://127.0.0.1:41595/we/want/180 -T log/6/test180.txt --http1.0 > log/6/stdout180 2> log/6/stderr180 === End of file commands.log === Start of file http_server.log 19:00:31.530207 ====> Client connect 19:00:31.530239 accept_connection 3 returned 4 19:00:31.530255 accept_connection 3 returned 0 19:00:31.530269 Read 93 bytes 19:00:31.530279 Process 93 bytes request 19:00:31.530291 Got request: GET /verifiedserver HTTP/1.1 19:00:31.530301 Are-we-friendly question received 19:00:31.530325 Wrote request (93 bytes) input to log/6/server.input 19:00:31.530342 Identifying ourselves as friends 19:00:31.530394 Response sent (56 bytes) and written to log/6/server.response 19:00:31.530404 special request received, no persistency 19:00:31.530413 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 56452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === 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 ==85602== ==85602== Process terminating with default action of signal 4 (SIGILL) ==85602== Illegal opcode at address 0x4013E00 ==85602== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85602== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85602== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85602== by 0x40037A4: main (tool_main.c:199) === End of file valgrind180 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/11/valgrind177 ../src/curl -q --output log/11/curl177.out --include --trace-ascii log/11/trace177 --trace-time http://127.0.0.1:46317/177 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout177 2> log/11/stderr177 177: 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 177 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yesCMD (33792): ../libtool --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/valgrind183 ../src/curl -q --output log/17/curl183.out --include --trace-ascii log/17/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:40515 > log/17/stdout183 2> log/17/stderr183 CMD (33792): ../libtool --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/valgrind179 ../src/curl -q --output log/14/curl179.out --include --trace-ascii log/14/trace179 --trace-time http://supertrooper.fake/c/179 -b log/14/injar179 -x 127.0.0.1:36759 > log/14/stdout179 2> log/14/stderr179 --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind177 ../src/curl -q --output log/11/curl177.out --include --trace-ascii log/11/trace177 --trace-time http://127.0.0.1:46317/177 -u auser:apasswd --digest -d "junkelijunk" > log/11/stdout177 2> log/11/stderr177 === End of file commands.log === Start of file http_server.log 19:00:31.466795 ====> Client connect 19:00:31.466834 accept_connection 3 returned 4 19:00:31.466852 accept_connection 3 returned 0 19:00:31.466869 Read 93 bytes 19:00:31.466879 Process 93 bytes request 19:00:31.466894 Got request: GET /verifiedserver HTTP/1.1 19:00:31.466905 Are-we-friendly question received 19:00:31.466929 Wrote request (93 bytes) input to log/11/server.input 19:00:31.466948 Identifying ourselves as friends 19:00:31.467009 Response sent (56 bytes) and written to log/11/server.response 19:00:31.467020 special request received, no persistency 19:00:31.467030 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 33280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind177 ==85512== ==85512== Process terminating with default action of signal 4 (SIGILL) ==85512== Illegal opcode at address 0x4013E00 ==85512== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85512== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85512== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85512== by 0x40037A4: main (tool_main.c:199) === End of file valgrind177 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/17/valgrind183 ../src/curl -q --output log/17/curl183.out --include --trace-ascii log/17/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:40515 > log/17/stdout183 2> log/17/stderr183 183: 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 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/17/valgrind183 ../src/curl -q --output log/17/curl183.out --include --trace-ascii log/17/trace183 --trace-time http://deathstar.another.galaxy/183 http://a.galaxy.far.far.away/183 --proxy http://127.0.0.1:40515 > log/17/stdout183 2> log/17/stderr183 === End of file commands.log === Start of file http_server.log 19:00:32.814239 ====> Client connect 19:00:32.814283 accept_connection 3 returned 4 19:00:32.814303 accept_connection 3 returned 0 19:00:32.814322 Read 93 bytes 19:00:32.814334 Process 93 bytes request 19:00:32.814352 Got request: GET /verifiedserver HTTP/1.1 19:00:32.814363 Are-we-friendly question received 19:00:32.814392 Wrote request (93 bytes) input to log/17/server.input 19:00:32.814411 Identifying ourselves as friends 19:00:32.814472 Response sent (56 bytes) and written to log/17/server.response 19:00:32.814484 special request received, no persistency 19:00:32.814494 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 34488 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind183 ==85870== ==85870== Process terminating with default action of signal 4 (SIGILL) ==85870== Illegal opcode at address 0x4013E00 ==85870== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85870== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85870== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85870== by 0x40037A4: main (tool_main.c:199) === End of file valgrind183 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/14/valgrind179 ../src/curl -q --output log/14/curl179.out --include --trace-ascii log/14/trace179 --trace-time http://supertrooper.fake/c/179 -b log/14/injar179 -x 127.0.0.1:36759 > log/14/stdout179 2> log/14/stderr179 179: 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 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/14/valgrind179 ../src/curl -q --output log/14/curl179.out --include --trace-ascii log/14/trace179 --trace-time http://supertrooper.fake/c/179 -b log/14/injar179 -x 127.0.0.1:36759 > log/14/stdout179 2> log/14/stderr179 === End of file commands.log === Start of file http_server.log 19:00:31.540900 ====> Client connect 19:00:31.540949 accept_connection 3 returned 4 19:00:31.540972 accept_connection 3 returned 0 19:00:31.540991 Read 93 bytes 19:00:31.541003 Process 93 bytes request 19:00:31.541020 Got request: GET /verifiedserver HTTP/1.1 19:00:31.541030 Are-we-friendly question received 19:00:31.541059 Wrote request (93 bytes) input to log/14/server.input 19:00:31.541079 Identifying ourselves as friends 19:00:31.541165 Response sent (56 bytes) and written to log/14/server.response 19:00:31.541180 special request received, no persistency 19:00:31.541190 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 50000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind179 ==85617== ==85617== Process terminating with default action of signal 4 (SIGILL) ==85617== Illegal opcode at address 0x4013E00 ==85617== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85617== by 0x4003CMD (33792): ../libtool --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/valgrind184 ../src/curl -q --output log/13/curl184.out --include --trace-ascii log/13/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:35301 > log/13/stdout184 2> log/13/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/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:43853 > 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/2/valgrind182 ../src/curl -q --output log/2/curl182.out --include --trace-ascii log/2/trace182 --trace-time ftp://127.0.0.1:37089/182 > log/2/stdout182 2> log/2/stderr182 7A4: UnknownInlinedFun (tool_getparam.c:3029) ==85617== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85617== by 0x40037A4: main (tool_main.c:199) === End of file valgrind179 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/13/valgrind184 ../src/curl -q --output log/13/curl184.out --include --trace-ascii log/13/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:35301 > log/13/stdout184 2> log/13/stderr184 184: 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 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/13/valgrind184 ../src/curl -q --output log/13/curl184.out --include --trace-ascii log/13/trace184 --trace-time http://deathstar.another.galaxy/184 -L -H "Host: another.visitor.stay.a.while.stay.foreeeeeever" --proxy http://127.0.0.1:35301 > log/13/stdout184 2> log/13/stderr184 === End of file commands.log === Start of file http_server.log 19:00:31.961916 ====> Client connect 19:00:31.961950 accept_connection 3 returned 4 19:00:31.961968 accept_connection 3 returned 0 19:00:31.961984 Read 93 bytes 19:00:31.961995 Process 93 bytes request 19:00:31.962016 Got request: GET /verifiedserver HTTP/1.1 19:00:31.962026 Are-we-friendly question received 19:00:31.962054 Wrote request (93 bytes) input to log/13/server.input 19:00:31.962072 Identifying ourselves as friends 19:00:31.962131 Response sent (56 bytes) and written to log/13/server.response 19:00:31.962143 special request received, no persistency 19:00:31.962153 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 55378 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind184 ==86003== ==86003== Process terminating with default action of signal 4 (SIGILL) ==86003== Illegal opcode at address 0x4013E00 ==86003== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86003== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86003== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86003== by 0x40037A4: main (tool_main.c:199) === End of file valgrind184 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:43853 > 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:43853 > log/8/stdout185 2> log/8/stderr185 === End of file commands.log === Start of file http_server.log 19:00:31.994189 ====> Client connect 19:00:31.994234 accept_connection 3 returned 4 19:00:31.994254 accept_connection 3 returned 0 19:00:31.994274 Read 93 bytes 19:00:31.994286 Process 93 bytes request 19:00:31.994302 Got request: GET /verifiedserver HTTP/1.1 19:00:31.994313 Are-we-friendly question received 19:00:31.994340 Wrote request (93 bytes) input to log/8/server.input 19:00:31.994359 Identifying ourselves as friends 19:00:31.994433 Response sent (56 bytes) and written to log/8/server.response 19:00:31.994446 special request received, no persistency 19:00:31.994456 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 37450 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind185 ==86041== ==86041== Process terminating with default action of signal 4 (SIGILL) ==86041== Illegal opcode at address 0x4013E00 ==86041== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86041== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86041== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86041== by 0x40037A4: 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/2/valgrind182 ../src/curl -q --output log/2/curl182.out --include --trace-ascii log/2/trace182 --trace-time ftp://127.0.0.1:37089/182 > log/2/stdout182 2> log/2/stderr182 182: 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 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/2/valgrind182 ../src/curl -q --output log/2/curl182.out --include --trace-ascii log/2/trace182 --trace-time ftp://127.0.0.1:37089/182 > log/2/stdout182 2> log/2/stderr182 === End of file commands.log === Start of file ftp_server.log 19:00:32.063370 ====> Client connect 19:00:32.063552 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:32.066602 < "USER anonymous" 19:00:32.066660 > "331 We are happy you popped in![CR][LF]" 19:00:32.066894 < "PASS ftp@example.com" 19:00:32.066921 > "230 Welcome you silly person[CR][LF]" 19:00:32.067076 < "PWD" 19:00:32.067108 > "257 "/" is current directory[CR][LF]" 19:00:32.067273 < "EPSV" 19:00:32.067297 ====> Passive DATA channel requested by client 19:00:32.067311 DATA sockfilt for passive data channel starting... 19:00:32.069514 DATA sockfilt for passive data channel started (pid 85867) 19:00:32.069625 DATA sockfilt for passive data channel listens on port 41459 19:CMD (33792): ../libtool --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/valgrind186 ../src/curl -q --output log/20/curl186.out --include --trace-ascii log/20/trace186 --trace-time http://127.0.0.1:38583/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/20/stdout186 2> log/20/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/12/valgrind188 ../src/curl -q --output log/12/curl188.out --include --trace-ascii log/12/trace188 --trace-time http://127.0.0.1:46819/188 -C 50 -L > log/12/stdout188 2> log/12/stderr188 00:32.069671 > "229 Entering Passive Mode (|||41459|)[CR][LF]" 19:00:32.069689 Client has been notified that DATA conn will be accepted on port 41459 19:00:32.069963 Client connects to port 41459 19:00:32.069995 ====> Client established passive DATA connection on port 41459 19:00:32.070083 < "TYPE I" 19:00:32.070110 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:32.070276 < "SIZE verifiedserver" 19:00:32.070314 > "213 17[CR][LF]" 19:00:32.070473 < "RETR verifiedserver" 19:00:32.070507 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:32.070590 =====> Closing passive DATA connection... 19:00:32.070606 Server disconnects passive DATA connection 19:00:32.070836 Server disconnected passive DATA connection 19:00:32.070862 DATA sockfilt for passive data channel quits (pid 85867) 19:00:32.071167 DATA sockfilt for passive data channel quit (pid 85867) 19:00:32.071193 =====> Closed passive DATA connection 19:00:32.071220 > "226 File transfer complete[CR][LF]" 19:00:32.113217 < "QUIT" 19:00:32.113275 > "221 bye bye baby[CR][LF]" 19:00:32.114338 MAIN sockfilt said DISC 19:00:32.114371 ====> Client disconnected 19:00:32.114452 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:31.835296 ====> Client connect 19:00:31.835648 Received DATA (on stdin) 19:00:31.835667 > 160 bytes data, server => client 19:00:31.835682 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:31.835693 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:31.835703 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:31.838426 < 16 bytes data, client => server 19:00:31.838749 'USER anonymous\r\n' 19:00:31.838770 Received DATA (on stdin) 19:00:31.838785 > 33 bytes data, server => client 19:00:31.838797 '331 We are happy you popped in!\r\n' 19:00:31.838861 < 22 bytes data, client => server 19:00:31.838876 'PASS ftp@example.com\r\n' 19:00:31.838983 Received DATA (on stdin) 19:00:31.838996 > 30 bytes data, server => client 19:00:31.839008 '230 Welcome you silly person\r\n' 19:00:31.839056 < 5 bytes data, client => server 19:00:31.839068 'PWD\r\n' 19:00:31.839169 Received DATA (on stdin) 19:00:31.839183 > 30 bytes data, server => client 19:00:31.839195 '257 "/" is current directory\r\n' 19:00:31.839254 < 6 bytes data, client => server 19:00:31.839266 'EPSV\r\n' 19:00:31.841758 Received DATA (on stdin) 19:00:31.841777 > 39 bytes data, server => client 19:00:31.841791 '229 Entering Passive Mode (|||41459|)\r\n' 19:00:31.841941 < 8 bytes data, client => server 19:00:31.841957 'TYPE I\r\n' 19:00:31.842173 Received DATA (on stdin) 19:00:31.842187 > 33 bytes data, server => client 19:00:31.842199 '200 I modify TYPE as you wanted\r\n' 19:00:31.842253 < 21 bytes data, client => server 19:00:31.842265 'SIZE verifiedserver\r\n' 19:00:31.842377 Received DATA (on stdin) 19:00:31.842390 > 8 bytes data, server => client 19:00:31.842402 '213 17\r\n' 19:00:31.842452 < 21 bytes data, client => server 19:00:31.842463 'RETR verifiedserver\r\n' 19:00:31.842671 Received DATA (on stdin) 19:00:31.842684 > 29 bytes data, server => client 19:00:31.842697 '150 Binary junk (17 bytes).\r\n' 19:00:31.843284 Received DATA (on stdin) 19:00:31.843299 > 28 bytes data, server => client 19:00:31.843311 '226 File transfer complete\r\n' 19:00:31.885064 < 6 bytes data, client => server 19:00:31.885098 'QUIT\r\n' 19:00:31.885343 Received DATA (on stdin) 19:00:31.885358 > 18 bytes data, server => client 19:00:31.885370 '221 bye bye baby\r\n' 19:00:31.886346 ====> Client disconnect 19:00:31.886517 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:32.841390 Running IPv4 version 19:00:32.841452 Listening on port 41459 19:00:32.841491 Wrote pid 85867 to log/2/server/ftp_sockdata.pid 19:00:32.841514 Received PING (on stdin) 19:00:32.841601 Received PORT (on stdin) 19:00:32.841979 ====> Client connect 19:00:32.842777 Received DATA (on stdin) 19:00:32.842794 > 17 bytes data, server => client 19:00:32.842806 'WE ROOLZ: 80680\r\n' 19:00:32.842833 Received DISC (on stdin) 19:00:32.842847 ====> Client forcibly disconnected 19:00:32.842999 Received QUIT (on stdin) 19:00:32.843013 quits 19:00:32.843065 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 182 === End of file server.cmd === Start of file valgrind182 ==85900== ==85900== Process terminating with default action of signal 4 (SIGILL) ==85900== Illegal opcode at address 0x4013E00 ==85900== at 0x4013E00: getparameter (tool_getparam.c:2846) ==85900== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==85900== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==85900== by 0x40037A4: 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/20/valgrind186 ../src/curl -q --output log/20/curl186.out --include --trace-ascii log/20/trace186 --trace-time http://127.0.0.1:38583/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/20/stdout186 2> log/20/stderr186 186: 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 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/20/valgrind186 ../src/curl -q --output log/20/curl186.out --include --trace-ascii log/20/trace186 --trace-time http://127.0.0.1:38583/we/want/186 -F "name=daniel;type=moo/foo-.4" -F "html= hello;type=text/html;charset=verymoo" > log/20/stdout186 2> log/20/stderr186 === End of file commands.log === Start of file http_server.log 19:00:31.984187 ====> Client connect 19:00:31.984218 accept_connection 3 returned 4 19:00:31.984235 accept_connection 3 returned 0 19:00:31.984250 Read 93 bytes 19:00:31.984261 Process 93 bytes request 19:00:31.984276 Got request: GET /verifiedserver HTTP/1.1 19:00:31.984286 Are-we-friendly question received 19:00:31.984311 Wrote request (93 bytes) input to log/20/server.input 19:00:31.984329 Identifying ourselves as friends 19:00:31.984383 Response sent (56 bytes) and written to log/20/server.response 19:00:31.984394 special request received, no persistency 19:00:31.984404 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 37038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind186 ==86032== ==86032== Process terminating with default action of signal 4 (SIGILL) ==86032== Illegal opcode at address 0x4013E00 ==86032== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86032== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86032== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86032== by 0x40037A4: main (tool_main.c:199) === End of file valgrind186 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/12/valgrind188 ../src/curl -q --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/16/valgrind187 ../src/curl -q --output log/16/curl187.out --include --trace-ascii log/16/trace187 --trace-time http://127.0.0.1:42747?oh=what-weird=test/187 -L > log/16/stdout187 2> log/16/stderr187 CMD (33792): ../libtool --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/valgrind189 ../src/curl -q --output log/10/curl189.out --include --trace-ascii log/10/trace189 --trace-time http://127.0.0.1:37879/189 -C 50 -L > log/10/stdout189 2> log/10/stderr189 utput log/12/curl188.out --include --trace-ascii log/12/trace188 --trace-time http://127.0.0.1:46819/188 -C 50 -L > log/12/stdout188 2> log/12/stderr188 188: 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 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/12/valgrind188 ../src/curl -q --output log/12/curl188.out --include --trace-ascii log/12/trace188 --trace-time http://127.0.0.1:46819/188 -C 50 -L > log/12/stdout188 2> log/12/stderr188 === End of file commands.log === Start of file http_server.log 19:00:32.308197 ====> Client connect 19:00:32.308238 accept_connection 3 returned 4 19:00:32.308257 accept_connection 3 returned 0 19:00:32.308274 Read 93 bytes 19:00:32.308285 Process 93 bytes request 19:00:32.308299 Got request: GET /verifiedserver HTTP/1.1 19:00:32.308310 Are-we-friendly question received 19:00:32.308338 Wrote request (93 bytes) input to log/12/server.input 19:00:32.308357 Identifying ourselves as friends 19:00:32.308421 Response sent (56 bytes) and written to log/12/server.response 19:00:32.308433 special request received, no persistency 19:00:32.308444 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 57348 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind188 ==86227== ==86227== Process terminating with default action of signal 4 (SIGILL) ==86227== Illegal opcode at address 0x4013E00 ==86227== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86227== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86227== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86227== by 0x40037A4: main (tool_main.c:199) === End of file valgrind188 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/16/valgrind187 ../src/curl -q --output log/16/curl187.out --include --trace-ascii log/16/trace187 --trace-time http://127.0.0.1:42747?oh=what-weird=test/187 -L > log/16/stdout187 2> log/16/stderr187 187: 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 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/16/valgrind187 ../src/curl -q --output log/16/curl187.out --include --trace-ascii log/16/trace187 --trace-time http://127.0.0.1:42747?oh=what-weird=test/187 -L > log/16/stdout187 2> log/16/stderr187 === End of file commands.log === Start of file http_server.log 19:00:33.322047 ====> Client connect 19:00:33.322101 accept_connection 3 returned 4 19:00:33.322121 accept_connection 3 returned 0 19:00:33.322138 Read 93 bytes 19:00:33.322150 Process 93 bytes request 19:00:33.322165 Got request: GET /verifiedserver HTTP/1.1 19:00:33.322176 Are-we-friendly question received 19:00:33.322206 Wrote request (93 bytes) input to log/16/server.input 19:00:33.322226 Identifying ourselves as friends 19:00:33.322291 Response sent (56 bytes) and written to log/16/server.response 19:00:33.322303 special request received, no persistency 19:00:33.322314 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 54494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind187 ==86244== ==86244== Process terminating with default action of signal 4 (SIGILL) ==86244== Illegal opcode at address 0x4013E00 ==86244== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86244== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86244== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86244== by 0x40037A4: main (tool_main.c:199) === End of file valgrind187 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/10/valgrind189 ../src/curl -q --output log/10/curl189.out --include --trace-ascii log/10/trace189 --trace-time http://127.0.0.1:37879/189 -C 50 -L > log/10/stdout189 2> log/10/stderr189 189: 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 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/10/valgrind189 ../src/curl -q --output log/10/curl189.out --include --trace-ascii log/10/trace189 --trace-time http://127.0.0.1:37879/189 -C 50 -L > log/10/stdout189 2> log/10/stderr189 === End of file commands.log === Start of file http_server.log 19:00:32.450890 ====> Client connect 19:00:32.450938 accept_connection 3 returned 4 19:00:32.450958 accept_connection 3 returned 0 19:00:32.450975 Read 93 bytes 19:00:32.450987 Process 93 bytes request 19:00:32.451002 Got request: GET /verifiedserver HTTP/1.1 19:00:32.451013 Are-we-friendly question received 19:00:32.451054 Wrote request (93 bytes) input to log/10/server.input 19:00:32.451076 Identifying ourselves as friends 19:00:32.451149 Response sent (56 bytes) and written to log/10/server.response 19:00:32.451165 special request received, no persistency 19:00:32.451176 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 34024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind189 ==86328== ==86328== Process terminating with default action of signal 4 (SIGILL) ==86328== Illegal opcode at address 0x4013E00 ==86328== 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/7/valgrind190 ../src/curl -q --output log/7/curl190.out --include --trace-ascii log/7/trace190 --trace-time ftp://127.0.0.1:37113/path/to/file/190 -m 10 > log/7/stdout190 2> log/7/stderr190 * kill pid for ftp-ctrl => 80778 RUN: Process with pid 80759 signalled to die RUN: Process with pid 80759 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/18/valgrind193 ../src/curl -q --include --trace-ascii log/18/trace193 --trace-time http://127.0.0.1:39771/193 -w "%{num_connects}\n" -L > log/18/stdout193 2> log/18/stderr193 CMD (33792): ../libtool --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/valgrind191 ../src/curl -q --output log/15/curl191.out --include --trace-ascii log/15/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:36561/191" > log/15/stdout191 2> log/15/stderr191 3E00: getparameter (tool_getparam.c:2846) ==86328== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86328== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86328== by 0x40037A4: main (tool_main.c:199) === End of file valgrind189 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/7/valgrind190 ../src/curl -q --output log/7/curl190.out --include --trace-ascii log/7/trace190 --trace-time ftp://127.0.0.1:37113/path/to/file/190 -m 10 > log/7/stdout190 2> log/7/stderr190 190: 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 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/7/valgrind190 ../src/curl -q --output log/7/curl190.out --include --trace-ascii log/7/trace190 --trace-time ftp://127.0.0.1:37113/path/to/file/190 -m 10 > log/7/stdout190 2> log/7/stderr190 === End of file commands.log === Start of file ftp_server.log 19:00:32.682182 ====> Client connect 19:00:32.682339 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:32.682662 < "USER anonymous" 19:00:32.682701 > "331 We are happy you popped in![CR][LF]" 19:00:32.682895 < "PASS ftp@example.com" 19:00:32.682922 > "230 Welcome you silly person[CR][LF]" 19:00:32.683076 < "PWD" 19:00:32.683106 > "257 "/" is current directory[CR][LF]" 19:00:32.683265 < "EPSV" 19:00:32.683289 ====> Passive DATA channel requested by client 19:00:32.683304 DATA sockfilt for passive data channel starting... 19:00:32.689100 DATA sockfilt for passive data channel started (pid 86313) 19:00:32.689267 DATA sockfilt for passive data channel listens on port 45303 19:00:32.689338 > "229 Entering Passive Mode (|||45303|)[CR][LF]" 19:00:32.689359 Client has been notified that DATA conn will be accepted on port 45303 19:00:32.695483 Client connects to port 45303 19:00:32.695553 ====> Client established passive DATA connection on port 45303 19:00:32.695676 < "TYPE I" 19:00:32.695720 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:32.702416 < "SIZE verifiedserver" 19:00:32.702489 > "213 17[CR][LF]" 19:00:32.702695 < "RETR verifiedserver" 19:00:32.702740 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:32.702836 =====> Closing passive DATA connection... 19:00:32.702853 Server disconnects passive DATA connection 19:00:32.703099 Server disconnected passive DATA connection 19:00:32.703131 DATA sockfilt for passive data channel quits (pid 86313) 19:00:32.703491 DATA sockfilt for passive data channel quit (pid 86313) 19:00:32.703521 =====> Closed passive DATA connection 19:00:32.703559 > "226 File transfer complete[CR][LF]" 19:00:32.752413 < "QUIT" 19:00:32.752471 > "221 bye bye baby[CR][LF]" 19:00:32.753650 MAIN sockfilt said DISC 19:00:32.753699 ====> Client disconnected 19:00:32.753791 Awaiting input 19:00:34.056279 Failed to read input 19:00:34.056340 Error: FTP server, read zero 19:00:34.056365 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 19:00:32.454132 ====> Client connect 19:00:32.454419 Received DATA (on stdin) 19:00:32.454436 > 160 bytes data, server => client 19:00:32.454450 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:32.454463 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:32.454474 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:32.454573 < 16 bytes data, client => server 19:00:32.454586 'USER anonymous\r\n' 19:00:32.454771 Received DATA (on stdin) 19:00:32.454786 > 33 bytes data, server => client 19:00:32.454799 '331 We are happy you popped in!\r\n' 19:00:32.454859 < 22 bytes data, client => server 19:00:32.454872 'PASS ftp@example.com\r\n' 19:00:32.454984 Received DATA (on stdin) 19:00:32.454996 > 30 bytes data, server => client 19:00:32.455008 '230 Welcome you silly person\r\n' 19:00:32.455057 < 5 bytes data, client => server 19:00:32.455068 'PWD\r\n' 19:00:32.455167 Received DATA (on stdin) 19:00:32.455179 > 30 bytes data, server => client 19:00:32.455191 '257 "/" is current directory\r\n' 19:00:32.455247 < 6 bytes data, client => server 19:00:32.455259 'EPSV\r\n' 19:00:32.464145 Received DATA (on stdin) 19:00:32.464190 > 39 bytes data, server => client 19:00:32.464204 '229 Entering Passive Mode (|||45303|)\r\n' 19:00:32.464445 < 8 bytes data, client => server 19:00:32.464464 'TYPE I\r\n' 19:00:32.474131 Received DATA (on stdin) 19:00:32.474169 > 33 bytes data, server => client 19:00:32.474183 '200 I modify TYPE as you wanted\r\n' 19:00:32.474315 < 21 bytes data, client => server 19:00:32.474330 'SIZE verifiedserver\r\n' 19:00:32.474559 Received DATA (on stdin) 19:00:32.474574 > 8 bytes data, server => client 19:00:32.474586 '213 17\r\n' 19:00:32.474652 < 21 bytes data, client => server 19:00:32.474664 'RETR verifiedserver\r\n' 19:00:32.474919 Received DATA (on stdin) 19:00:32.474933 > 29 bytes data, server => client 19:00:32.474946 '150 Binary junk (17 bytes).\r\n' 19:00:32.475629 Received DATA (on stdin) 19:00:32.475645 > 28 bytes data, server => client 19:00:32.475658 '226 File transfer complete\r\n' 19:00:32.524247 < 6 bytes data, client => server 19:00:32.524294 'QUIT\r\n' 19:00:32.524542 Received DATA (on stdin) 19:00:32.524558 > 18 bytes data, server => client 19:00:32.524570 '221 bye bye baby\r\n' 19:00:32.525640 ====> Client disconnect 19:00:32.525858 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:32.458806 Running IPv4 version 19:00:32.458894 Listening on port 45303 19:00:32.458932 Wrote pid 86313 to log/7/server/ftp_sockdata.pid 19:00:32.461063 Received PING (on stdin) 19:00:32.461217 Received PORT (on stdin) 19:00:32.467466 ====> Client connect 19:00:32.475023 Received DATA (on stdin) 19:00:32.475043 > 17 bytes data, server => client 19:00:32.475055 'WE ROOLZ: 80759\r\n' 19:00:32.475088 Received DISC (on stdin) 19:00:32.475103 ====> Client forcibly disconnected 19:00:32.475286 Received QUIT (on stdin) 19:00:32.475305 quits 19:00:32.475376 ============> 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 ==86376== ==86376== Process terminating with default action of signal 4 (SIGILL) ==86376== Illegal opcode at address 0x4013E00 ==86376== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86376== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86376== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86376== by 0x40037A4: main (tool_main.c:199) === End of file valgrind190 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/15/valgrind191 ../src/curl -q --output log/15/curl191.out --include --trace-ascii log/15/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:36561/191" > log/15/stdout191 2> log/15/stderr191 191: 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 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/15/valgrind191 ../src/curl -q --output log/15/curl191.out --include --trace-ascii log/15/trace191 --trace-time "ftp://use%3fr:pass%3fword@127.0.0.1:36561/191" > log/15/stdout191 2> log/15/stderr191 === End of file commands.log === Start of file ftp_server.log 19:00:32.839864 ====> Client connect 19:00:32.840043 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:32.840339 < "USER anonymous" 19:00:32.840376 > "331 We are happy you popped in![CR][LF]" 19:00:32.840545 < "PASS ftp@example.com" 19:00:32.840571 > "230 Welcome you silly person[CR][LF]" 19:00:32.840726 < "PWD" 19:00:32.840758 > "257 "/" is current directory[CR][LF]" 19:00:32.840920 < "EPSV" 19:00:32.840942 ====> Passive DATA channel requested by client 19:00:32.840957 DATA sockfilt for passive data channel starting... 19:00:32.847634 DATA sockfilt for passive data channel started (pid 86448) 19:00:32.847737 DATA sockfilt for passive data channel listens on port 37967 19:00:32.847778 > "229 Entering Passive Mode (|||37967|)[CR][LF]" 19:00:32.847794 Client has been notified that DATA conn will be accepted on port 37967 19:00:32.848038 Client connects to port 37967 19:00:32.848066 ====> Client established passive DATA connection on port 37967 19:00:32.848140 < "TYPE I" 19:00:32.848167 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:32.848313 < "SIZE verifiedserver" 19:00:32.848347 > "213 17[CR][LF]" 19:00:32.848476 < "RETR verifiedserver" 19:00:32.848505 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:32.848578 =====> Closing passive DATA connection... 19:00:32.848592 Server disconnects passive DATA connection 19:00:32.849698 Server disconnected passive DATA connection 19:00:32.849732 DATA sockfilt for passive data channel quits (pid 86448) 19:00:32.853510 DATA sockfilt for passive data channel quit (pid 86448) 19:00:32.853544 =====> Closed passive DATA connection 19:00:32.853581 > "226 File transfer complete[CR][LF]" 19:00:32.898949 < "QUIT" 19:00:32.899004 > "221 bye bye baby[CR][LF]" 19:00:32.899916 MAIN sockfilt said DISC 19:00:32.899961 ====> Client disconnected 19:00:32.900040 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:32.611786 ====> Client connect 19:00:32.612120 Received DATA (on stdin) 19:00:32.612136 > 160 bytes data, server => client 19:00:32.612150 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:32.612162 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:32.612174 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:32.612249 < 16 bytes data, client => server 19:00:32.612266 'USER anonymous\r\n' 19:00:32.612442 Received DATA (on stdin) 19:00:32.612456 > 33 bytes data, server => client 19:00:32.612468 '331 We are happy you popped in!\r\n' 19:00:32.612520 < 22 bytes data, client => server 19:00:32.612532 'PASS ftp@example.com\r\n' 19:00:32.612633 Received DATA (on stdin) 19:00:32.612646 > 30 bytes data, server => client 19:00:32.612657 '230 Welcome you silly person\r\n' 19:00:32.612706 < 5 bytes data, client => server 19:00:32.612718 'PWD\r\n' 19:00:32.612819 Received DATA (on stdin) 19:00:32.612832 > 30 bytes data, server => client 19:00:32.612843 '257 "/" is current directory\r\n' 19:00:32.612900 < 6 bytes data, client => server 19:00:32.612912 'EPSV\r\n' 19:00:32.619859 Received DATA (on stdin) 19:00:32.619873 > 39 bytes data, server => client 19:00:32.619884 '229 Entering Passive Mode (|||37967|)\r\n' 19:00:32.620051 < 8 bytes data, client => server 19:00:32.620062 'TYPE I\r\n' 19:00:32.620226 Received DATA (on stdin) 19:00:32.620237 > 33 bytes data, server => client 19:00:32.620247 '200 I modify TYPE as you wanted\r\n' 19:00:32.620299 < 21 bytes data, client => server 19:00:32.620309 'SIZE verifiedserver\r\n' 19:00:32.620405 Received DATA (on stdin) 19:00:32.620416 > 8 bytes data, server => client 19:00:32.620426 '213 17\r\n' 19:00:32.620466 < 21 bytes data, client => server 19:00:32.620476 'RETR verifiedserver\r\n' 19:00:32.620734 Received DATA (on stdin) 19:00:32.620746 > 29 bytes data, server => client 19:00:32.620756 '150 Binary junk (17 bytes).\r\n' 19:00:32.625654 Received DATA (on stdin) 19:00:32.625671 > 28 bytes data, server => client 19:00:32.625684 '226 File transfer complete\r\n' 19:00:32.670805 < 6 bytes data, client => server 19:00:32.670847 'QUIT\r\n' 19:00:32.671070 Received DATA (on stdin) 19:00:32.671082 > 18 bytes data, server => client 19:00:32.671093 '221 bye bye baby\r\n' 19:00:32.671919 ====> Client disconnect 19:00:32.672101 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:32.619403 Running IPv4 version 19:00:32.619460 Listening on port 37967 19:00:32.619496 Wrote pid 86448 to log/15/server/ftp_sockdata.pid 19:00:32.619645 Received PING (on stdin) 19:00:32.619715 Received PORT (on stdin) 19:00:32.620024 ====> Client connect 19:00:32.620654 Received DATA (on stdin) 19:00:32.620667 > 17 bytes data, server => client 19:00:32.620677 'WE ROOLZ: 81045\r\n' 19:00:32.620701 Received DISC (on stdin) 19:00:32.620711 ====> Client forcibly disconnected 19:00:32.624113 Received QUIT (on stdin) 19:00:32.624137 quits 19:00:32.624210 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 191 === End of file server.cmd === Start of file valgrind191 ==86526== ==86526== Process terminating with default action of signal 4 (SIGILL) ==86526== Illegal opcode at address 0x4013E00 ==86526== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86526== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86526== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86526== by 0x40037A4: 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/24/valgrind192 ../src/curl -q --include --trace-ascii log/24/trace192 --trace-time http://127.0.0.1:39383/192 -w "%{num_connects}\n" > log/24/stdout192 2> log/24/stderr192 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:39771/193 -w "%{num_connects}\n" -L > log/18/stdout193 2> log/18/stderr193 193: stdout FAILED: --- log/18/check-expected 2025-11-13 19:00:34.206057636 +0000 +++ log/18/check-generated 2025-11-13 19:00:34.206057636 +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:39771/193 -w "%{num_connects}\n" -L > log/18/stdout193 2> log/18/stderr193 === End of file commands.log === Start of file http_server.log 19:00:32.704764 ====> Client connect 19:00:32.706181 accept_connection 3 returned 4 19:00:32.706320 accept_connection 3 returned 0 19:00:32.706341 Read 93 bytes 19:00:32.706352 Process 93 bytes request 19:00:32.706376 Got request: GET /verifiedserver HTTP/1.1 19:00:32.706410 Are-we-friendly question received 19:00:32.706442 Wrote request (93 bytes) input to log/18/server.input 19:00:32.706461 Identifying ourselves as friends 19:00:32.706519 Response sent (56 bytes) and written to log/18/server.response 19:00:32.706530 special request received, no persistency 19:00:32.706540 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 37856 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind193 ==86581== ==86581== Process terminating with default action of signal 4 (SIGILL) ==86581== Illegal opcode at address 0x4013E00 ==86581== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86581== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86581== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86581== by 0x40037A4: main (tool_main.c:199) === End of file valgrind193 CMD (33792): ../libtool --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/valgrind195 ../src/curl -q --output log/22/curl195.out --include --trace-ascii log/22/trace195 --trace-time ftp://127.0.0.1:36953/195 > log/22/stdout195 2> log/22/stderr195 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/24/valgrind192 ../src/curl -q --include --trace-ascii log/24/trace192 --trace-time http://127.0.0.1:39383/192 -w "%{num_connects}\n" > log/24/stdout192 2> log/24/stderr192 192: stdout FAILED: --- log/24/check-expected 2025-11-13 19:00:34.219390970 +0000 +++ log/24/check-generated 2025-11-13 19:00:34.219390970 +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/24/ 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/24/valgrind192 ../src/curl -q --include --trace-ascii log/24/trace192 --trace-time http://127.0.0.1:39383/192 -w "%{num_connects}\n" > log/24/stdout192 2> log/24/stderr192 === End of file commands.log === Start of file http_server.log 19:00:32.632636 ====> Client connect 19:00:32.632677 accept_connection 3 returned 4 19:00:32.632697 accept_connection 3 returned 0 19:00:32.632714 Read 93 bytes 19:00:32.632726 Process 93 bytes request 19:00:32.632742 Got request: GET /verifiedserver HTTP/1.1 19:00:32.632753 Are-we-friendly question received 19:00:32.632779 Wrote request (93 bytes) input to log/24/server.input 19:00:32.632797 Identifying ourselves as friends 19:00:32.632860 Response sent (56 bytes) and written to log/24/server.response 19:00:32.632871 special request received, no persistency 19:00:32.632882 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54264 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind192 ==86505== ==86505== Process terminating with default action of signal 4 (SIGILL) ==86505== Illegal opcode at address 0x4013E00 ==86505== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86505== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86505== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86505== by 0x40037A4: main (tool_main.c:199) === End of file valgrind192 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/22/valgrind195 ../src/curl -q --output log/22/curl195.out --include --trace-ascii log/22/trace195 --trace-time ftp://127.0.0.1:36953/195 > log/22/stdout195 2> log/22/stderr195 195: 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 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/22/valgrind195 ../src/curl -q --output log/22/curl195.out --include --trace-ascii log/22/trace195 --trace-time ftp://127.0.0.1:36953/195 > log/22/stdout195 2> log/22/stderr195 === End of file commands.log === Start of file ftp_server.log 19:00:32.985920 ====> Client connect 19:00:32.986092 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:32.986368 < "USER anonymous" 19:00:32.986402 > "331 We are happy you popped in![CR][LF]" 19:00:32.986563 < "PASS ftp@example.com" 19:00:32.986585 > "230 Welcome you silly person[CR][LF]" 19:00:32.986726 < "PWD" 19:00:32.986753 > "257 "/" is current directory[CR][LF]" 19:00:32.986903 < "EPSV" 19:00:32.986925 ====> Passive DATA channel requested by client 19:00:32.986938 DATA sockfilt for passive data channel starting... 19:00:32.991383 DATA sockfilt for passive data channel started (pid 86605) 19:00:32.991514 DATA sockfilt for passive data channel listens on port 34697 19:00:32.991562 > "229 Entering Passive Mode (|||34697|)[CR][LF]" 19:00:32.991580 Client has been notified that DATA conn will be accepted on port 34697 19:00:32.991879 Client connects to port 34697 19:00:32.991909 ====> Client established passive DATA connection on port 34697 19:00:32.991995 < "TYPE I" 19:00:32.992024 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:32.992202 < "SIZE verifiedserver" 19:00:32.992237 > "213 17[CR][LF]" 19:00:32.992376 < "RETR verifiedserver" 19:00:32.992410 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:32.992496 =====> Closing passive DATA connection... 19:00:32.992510 Server disconnects passive DATA connection 19:00:32.992697 Server disconnected passive DATA connection 19:00:32.992719 DATA sockfilt for passive data channel quits (pid 86605) 19:00:32.995807 DATA sockfilt for passive data channel quit (pid 86605) 19:00:32.995846 =====> Closed passive DATA connection 19:00:32.995883 > "226 File transfer complete[CR][LF]" 19:00:33.035773 < "QUIT" 19:00:33.035831 > "221 bye bye baby[CR][LF]" 19:00:33.036751 MAIN sockfilt said DISC 19:00:33.036786 ====> Client disconnected 19:00:33.036869 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:33.757856 ====> Client connect 19:00:33.758165 Received DATA (on stdin) 19:00:33.758179 > 160 bytes data, server => client 19:00:33.758192 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:33.758203 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:33.758214 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:33.758285 < 16 bytes data, client => server 19:00:33.758298 'USER anonymous\r\n' 19:00:33.758466 Received DATA (on stdin) 19:00:33.758478 > 33 bytes data, server => client 19:00:33.758489 '331 We are happy you popped in!\r\n' 19:00:33.758540 < 22 bytes data, client => server 19:00:33.758552 'PASS ftp@example.com\r\n' 19:00:33.758646 Received DATA (on stdin) 19:00:33.758657 > 30 bytes data, server => client 19:00:33.758668 '230 Welcome you silly person\r\n' 19:00:33.758711 < 5 bytes data, client => server 19:00:33.758722 'PWD\r\n' 19:00:33.758814 Received DATA (on stdin) 19:00:33.758825 > 30 bytes data, server => client 19:00:33.758836 '257 "/" is current directory\r\n' 19:00:33.758889 < 6 bytes data, client => server 19:00:33.758900 'EPSV\r\n' 19:00:33.763652 Received DATA (on stdin) 19:00:33.763669 > 39 bytes data, server => client 19:00:33.763681 '229 Entering Passive Mode (|||34697|)\r\n' 19:00:33.763859 < 8 bytes data, client => server 19:00:33.763873 'TYPE I\r\n' 19:00:33.764087 Received DATA (on stdin) 19:00:33.764123 > 33 bytes data, server => client 19:00:33.764135 '200 I modify TYPE as you wanted\r\n' 19:00:33.764183 < 21 bytes data, client => server 19:00:33.764194 'SIZE verifiedserver\r\n' 19:00:33.764297 Received DATA (on stdin) 19:00:33.764308 > 8 bytes data, server => client 19:00:33.764319 '213 17\r\n' 19:00:33.764363 < 21 bytes data, client => server 19:00:33.764373 'RETR verifiedserver\r\n' 19:00:33.76CMD (33792): ../libtool --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/valgrind194 ../src/curl -q --output log/19/curl194.out --include --trace-ascii log/19/trace194 --trace-time http://127.0.0.1:41761/want/194 -C 87 --fail > log/19/stdout194 2> log/19/stderr194 CMD (33792): ../libtool --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/valgrind202 ../src/curl -q --trace-ascii log/4/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/4/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/4/test202.txt > log/4/stdout202 2> log/4/stderr202 4573 Received DATA (on stdin) 19:00:33.764585 > 29 bytes data, server => client 19:00:33.764596 '150 Binary junk (17 bytes).\r\n' 19:00:33.767951 Received DATA (on stdin) 19:00:33.767966 > 28 bytes data, server => client 19:00:33.767978 '226 File transfer complete\r\n' 19:00:33.807622 < 6 bytes data, client => server 19:00:33.807658 'QUIT\r\n' 19:00:33.807898 Received DATA (on stdin) 19:00:33.807910 > 18 bytes data, server => client 19:00:33.807921 '221 bye bye baby\r\n' 19:00:33.808759 ====> Client disconnect 19:00:33.808931 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:32.763248 Running IPv4 version 19:00:32.763324 Listening on port 34697 19:00:32.763360 Wrote pid 86605 to log/22/server/ftp_sockdata.pid 19:00:32.763381 Received PING (on stdin) 19:00:32.763478 Received PORT (on stdin) 19:00:32.763894 ====> Client connect 19:00:32.764648 Received DATA (on stdin) 19:00:32.764661 > 17 bytes data, server => client 19:00:32.764672 'WE ROOLZ: 80850\r\n' 19:00:32.764698 Received DISC (on stdin) 19:00:32.764710 ====> Client forcibly disconnected 19:00:32.767446 Received QUIT (on stdin) 19:00:32.767471 quits 19:00:32.767543 ============> 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 ==86686== ==86686== Process terminating with default action of signal 4 (SIGILL) ==86686== Illegal opcode at address 0x4013E00 ==86686== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86686== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86686== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86686== by 0x40037A4: main (tool_main.c:199) === End of file valgrind195 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/19/valgrind194 ../src/curl -q --output log/19/curl194.out --include --trace-ascii log/19/trace194 --trace-time http://127.0.0.1:41761/want/194 -C 87 --fail > log/19/stdout194 2> log/19/stderr194 194: 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 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/19/valgrind194 ../src/curl -q --output log/19/curl194.out --include --trace-ascii log/19/trace194 --trace-time http://127.0.0.1:41761/want/194 -C 87 --fail > log/19/stdout194 2> log/19/stderr194 === End of file commands.log === Start of file http_server.log 19:00:32.718641 ====> Client connect 19:00:32.718677 accept_connection 3 returned 4 19:00:32.718697 accept_connection 3 returned 0 19:00:32.718714 Read 93 bytes 19:00:32.718726 Process 93 bytes request 19:00:32.718741 Got request: GET /verifiedserver HTTP/1.1 19:00:32.718752 Are-we-friendly question received 19:00:32.718778 Wrote request (93 bytes) input to log/19/server.input 19:00:32.718798 Identifying ourselves as friends 19:00:32.718861 Response sent (56 bytes) and written to log/19/server.response 19:00:32.718875 special request received, no persistency 19:00:32.718886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 60934 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind194 ==86579== ==86579== Process terminating with default action of signal 4 (SIGILL) ==86579== Illegal opcode at address 0x4013E00 ==86579== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86579== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86579== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86579== by 0x40037A4: main (tool_main.c:199) === End of file valgrind194 CMD (33792): ../libtool --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/valgrind200 ../src/curl -q --output log/23/curl200.out --trace-ascii log/23/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/23/test200.txt > log/23/stdout200 2> log/23/stderr200 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/4/valgrind202 ../src/curl -q --trace-ascii log/4/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/4/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/4/test202.txt > log/4/stdout202 2> log/4/stderr202 202: stdout FAILED: --- log/4/check-expected 2025-11-13 19:00:34.452724306 +0000 +++ log/4/check-generated 2025-11-13 19:00:34.452724306 +0000 @@ -1,2 +0,0 @@ -contents in a single file[LF] -contents in a single file[LF] == Contents of files in the log/4/ 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/4/valgrind202 ../src/curl -q --trace-ascii log/4/trace202 --trace-time file://localhost/startdir/src/build-curl/tests/log/4/test202.txt FILE://localhost/startdir/src/build-curl/tests/log/4/test202.txt > log/4/stdout202 2> log/4/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 ==87002== ==87002== Process terminating with default action of signal 4 (SIGILL) ==87002== Illegal opcode at address 0x4013E00 ==87002== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87002== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87002== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87002== by 0x40037A4: main (tool_main.c:199) === End of file valgrind202 CMD (33792): ../libtool --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/valgrind198 ../src/curl -q --output log/3/curl198.out --include --trace-ascii log/3/trace198 --trace-time http://127.0.0.1:46261/198 --retry 1000 > log/3/stdout198 2> log/3/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/5/valgrind197 ../src/curl -q --include --trace-ascii log/5/trace197 --trace-time http://127.0.0.1:46771/197 --retry 1000 > log/5/stdout197 2> log/5/stderr197 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/23/valgrind200 ../src/curl -q --output log/23/curl200.out --trace-ascii log/23/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/23/test200.txt > log/23/stdout200 2> log/23/stderr200 200: data FAILED: --- log/23/check-expected 2025-11-13 19:00:34.466057638 +0000 +++ log/23/check-generated 2025-11-13 19:00:34.466057638 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/23/ 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/23/valgrind200 ../src/curl -q --output log/23/curl200.out --trace-ascii log/23/trace200 --trace-time file://localhost/startdir/src/build-curl/tests/log/23/test200.txt > log/23/stdout200 2> log/23/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 ==86847== ==86847== Process terminating with default action of signal 4 (SIGILL) ==86847== Illegal opcode at address 0x4013E00 ==86847== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86847== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86847== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86847== by 0x40037A4: main (tool_main.c:199) === End of file valgrind200 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/3/valgrind198 ../src/curl -q --output log/3/curl198.out --include --trace-ascii log/3/trace198 --trace-time http://127.0.0.1:46261/198 --retry 1000 > log/3/stdout198 2> log/3/stderr198 198: 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 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/3/valgrind198 ../src/curl -q --output log/3/curl198.out --include --trace-ascii log/3/trace198 --trace-time http://127.0.0.1:46261/198 --retry 1000 > log/3/stdout198 2> log/3/stderr198 === End of file commands.log === Start of file http_server.log 19:00:33.890843 ====> Client connect 19:00:33.890880 accept_connection 3 returned 4 19:00:33.890900 accept_connection 3 returned 0 19:00:33.890918 Read 93 bytes 19:00:33.890930 Process 93 bytes request 19:00:33.890945 Got request: GET /verifiedserver HTTP/1.1 19:00:33.890956 Are-we-friendly question received 19:00:33.890982 Wrote request (93 bytes) input to log/3/server.input 19:00:33.891001 Identifying ourselves as friends 19:00:33.891064 Response sent (56 bytes) and written to log/3/server.response 19:00:33.891076 special request received, no persistency 19:00:33.891086 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 40744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind198 ==86872== ==86872== Process terminating with default action of signal 4 (SIGILL) ==86872== Illegal opcode at address 0x4013E00 ==86872== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86872== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86872== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86872== by 0x40037A4: 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/1/valgrind196 ../src/curl -q --include --trace-ascii log/1/trace196 --trace-time ftp://127.0.0.1:41393/196 --retry 1 -w '%{num_retries}\n' > log/1/stdout196 2> log/1/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/5/valgrind197 ../src/curl -q --include --trace-ascii log/5/trace197 --trace-time http://127.0.0.1:46771/197 --retry 1000 > log/5/stdout197 2> log/5/stderr197 197: stdout FAILED: --- log/5/check-expected 2025-11-13 19:00:34.499390973 +0000 +++ log/5/check-generated 2025-11-13 19:00:34.499390973 +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/5/ 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/5/valgrind197 ../src/curl -q --include --trace-ascii log/5/trace197 --trace-time http://127.0.0.1:46771/197 --retry 1000 > log/5/stdout197 2> log/5/stderr197 === End of file commands.log === Start of file http_server.log 19:00:32.882426 ====> Client connect 19:00:32.882497 accept_connection 3 returned 4 19:00:32.882517 accept_connection 3 returned 0 19:00:32.882548 Read 93 bytes 19:00:32.882570 Process 93 bytes request 19:00:32.882609 Got request: GET /verifiedserver HTTP/1.1 19:00:32.882634 Are-we-friendly question received 19:00:32.882692 Wrote request (93 bytes) input to log/5/server.input 19:00:32.882787 Identifying ourselves as friends 19:00:32.882924 Response sent (56 bytes) and written to log/5/server.response 19:00:32.882949 special request received, no persistency 19:00:32.882976 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 33626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind197 ==86877== ==86877== Process terminating with default action of signal 4 (SIGILL) ==86877== Illegal opcode at address 0x4013E00 ==86877== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86877== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86877== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86877== by 0x40037A4: main (tool_main.c:199) === End of file valgrind197 CMD (33792): ../libtool --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/valgrind201 ../src/curl -q --output log/9/curl201.out --include --trace-ascii log/9/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt > log/9/stdout201 2> log/9/stderr201 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/1/valgrind196 ../src/curl -q --include --trace-ascii log/1/trace196 --trace-time ftp://127.0.0.1:41393/196 --retry 1 -w '%{num_retries}\n' > log/1/stdout196 2> log/1/stderr196 196: stdout FAILED: --- log/1/check-expected 2025-11-13 19:00:34.509390973 +0000 +++ log/1/check-generated 2025-11-13 19:00:34.509390973 +0000 @@ -1 +0,0 @@ -1[LF] == Contents of files in the log/1/ 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/1/valgrind196 ../src/curl -q --include --trace-ascii log/1/trace196 --trace-time ftp://127.0.0.1:41393/196 --retry 1 -w '%{num_retries}\n' > log/1/stdout196 2> log/1/stderr196 === End of file commands.log === Start of file ftp_server.log 19:00:33.002041 ====> Client connect 19:00:33.002217 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:33.005699 < "USER anonymous" 19:00:33.005754 > "331 We are happy you popped in![CR][LF]" 19:00:33.005921 < "PASS ftp@example.com" 19:00:33.005944 > "230 Welcome you silly person[CR][LF]" 19:00:33.006090 < "PWD" 19:00:33.006121 > "257 "/" is current directory[CR][LF]" 19:00:33.006279 < "EPSV" 19:00:33.006302 ====> Passive DATA channel requested by client 19:00:33.006316 DATA sockfilt for passive data channel starting... 19:00:33.012348 DATA sockfilt for passive data channel started (pid 86630) 19:00:33.012491 DATA sockfilt for passive data channel listens on port 35515 19:00:33.012544 > "229 Entering Passive Mode (|||35515|)[CR][LF]" 19:00:33.012564 Client has been notified that DATA conn will be accepted on port 35515 19:00:33.018832 Client connects to port 35515 19:00:33.018914 ====> Client established passive DATA connection on port 35515 19:00:33.019053 < "TYPE I" 19:00:33.019097 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:33.019323 < "SIZE verifiedserver" 19:00:33.019363 > "213 17[CR][LF]" 19:00:33.019523 < "RETR verifiedserver" 19:00:33.019562 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:33.019675 =====> Closing passive DATA connection... 19:00:33.019691 Server disconnects passive DATA connection 19:00:33.019948 Server disconnected passive DATA connection 19:00:33.019974 DATA sockfilt for passive data channel quits (pid 86630) 19:00:33.020369 DATA sockfilt for passive data channel quit (pid 86630) 19:00:33.020396 =====> Closed passive DATA connection 19:00:33.020424 > "226 File transfer complete[CR][LF]" 19:00:33.072803 < "QUIT" 19:00:33.072872 > "221 bye bye baby[CR][LF]" 19:00:33.073908 MAIN sockfilt said DISC 19:00:33.073944 ====> Client disconnected 19:00:33.074033 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:33.773978 ====> Client connect 19:00:33.774292 Received DATA (on stdin) 19:00:33.774308 > 160 bytes data, server => client 19:00:33.774321 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:33.774333 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:33.774345 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:33.777531 < 16 bytes data, client => server 19:00:33.777555 'USER anonymous\r\n' 19:00:33.777821 Received DATA (on stdin) 19:00:33.777834 > 33 bytes data, server => client 19:00:33.777845 '331 We are happy you popped in!\r\n' 19:00:33.777897 < 22 bytes data, client => server 19:00:33.777908 'PASS ftp@example.com\r\n' 19:00:33.778004 Received DATA (on stdin) 19:00:33.778015 > 30 bytes data, server => client 19:00:33.778026 '230 Welcome you silly person\r\n' 19:00:33.778072 < 5 bytes data, client => server 19:00:33.778084 'PWD\r\n' 19:00:33.778182 Received DATA (on stdin) 19:00:33.778194 > 30 bytes data, server => client 19:00:33.778205 '257 "/" is current directory\r\n' 19:00:33.778261 < 6 bytes data, client => server 19:00:33.778273 'EPSV\r\n' 19:00:33.787463 Received DATA (on stdin) 19:00:33.787500 > 39 bytes data, server => client 19:00:33.787513 '229 Entering Passive Mode (|||35515|)\r\n' 19:00:33.787736 < 8 bytes data, client => server 19:00:33.787753 'TYPE I\r\n' 19:00:33.791168 Received DATA (on stdin) 19:00:33.791186 > 33 bytes data, server => client 19:00:33.791199 '200 I modify TYPE as you wanted\r\n' 19:00:33.791294 < 21 bytes data, client => server 19:00:33.791308 'SIZE verifiedserver\r\n' 19:00:33.791426 Received DATA (on stdin) 19:00:33.791439 > 8 bytes data, server => client 19:00:33.791450 '213 17\r\n' 19:00:33.791501 < 21 bytes data, client => server 19:00:33.791513 'RETR verifiedserver\r\n' 19:00:33.791756 Received DATA (on stdin) 19:00:33.791768 > 29 bytes data, server => client 19:00:33.791780 '150 Binary junk (17 bytes).\r\n' 19:00:33.792488 Received DATA (on stdin) 19:00:33.792502 > 28 bytes data, server => client 19:00:33.792513 '226 File transfer complete\r\n' 19:00:33.844304 < 6 bytes data, client => server 19:00:33.844352 'QUIT\r\n' 19:00:33.844943 Received DATA (on stdin) 19:00:33.844959 > 18 bytes data, server => client 19:00:33.844972 '221 bye bye baby\r\n' 19:00:33.845914 ====> Client disconnect 19:00:33.846096 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:33.781081 Running IPv4 version 19:00:33.781185 Listening on port 35515 19:00:33.781233 Wrote pid 86630 to log/1/server/ftp_sockdata.pid 19:00:33.784317 Received PING (on stdin) 19:00:33.784450 Received PORT (on stdin) 19:00:33.790808 ====> Client connect 19:00:33.791809 Received DATA (on stdin) 19:00:33.791826 > 17 bytes data, server => client 19:00:33.791837 'WE ROOLZ: 80887\r\n' 19:00:33.791865 Received DISC (on stdin) 19:00:33.791877 ====> Client forcibly disconnected 19:00:33.792044 Received QUIT (on stdin) 19:00:33.792056 quits 19:00:33.792126 ============> 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 ==86779== ==86779== Process terminating with default action of signal 4 (SIGILL) ==86779== Illegal opcode at address 0x4013E00 ==86779== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86779== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86779== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86779== by 0x40037A4: main (tool_main.c:199) === End of file valgrind196 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/9/valgrind201 ../src/curl -q --output log/9/curl201.out --include --trace-ascii log/9/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt > log/9/stdout201 2> log/9/stderr201 curl returned 132, when expecting 37 201: exit FAILED == Contents of files in the log/9/ 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/9/valgrind201 ../src/curl -q --output log/9/curl201.out --include --trace-ascii log/9/trace201 --trace-time file://localhost//startdir/src/build-curl/tests/log/9/non-existent-file.txt > log/9/stdout201 2> log/9/stderr201 === End of file commands.log === Start of file server.cmd Testnum 201 === End of file server.cmd === Start of file valgrind201 ==86903== ==86903== Process terminating with default action of signal 4 (SIGILL) ==86903== Illegal opcode at address 0x4013E00 ==86903== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86903== 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/21/valgrind199 ../src/curl -q --output log/21/curl199.out --include --trace-ascii log/21/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:35043/{199,199}" -G > log/21/stdout199 2> log/21/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/14/valgrind206 ../src/curl -q --output log/14/curl206.out --include --trace-ascii log/14/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:36759 --proxy-user=silly:person --proxy-digest --proxytunnel > log/14/stdout206 2> log/14/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/17/valgrind205 ../src/curl -q --output log/17/curl205.out --trace-ascii log/17/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/17/nonexisting/result205.txt -T log/17/upload205.txt > log/17/stdout205 2> log/17/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/6/valgrind203 ../src/curl -q --output log/6/curl203.out --trace-ascii log/6/trace203 --trace-time file:/startdir/src/build-curl/tests/log/6/test203.txt > log/6/stdout203 2> log/6/stderr203 37A4: UnknownInlinedFun (tool_getparam.c:3029) ==86903== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86903== by 0x40037A4: main (tool_main.c:199) === End of file valgrind201 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/21/valgrind199 ../src/curl -q --output log/21/curl199.out --include --trace-ascii log/21/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:35043/{199,199}" -G > log/21/stdout199 2> log/21/stderr199 199: 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 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/21/valgrind199 ../src/curl -q --output log/21/curl199.out --include --trace-ascii log/21/trace199 --trace-time -d "foo=moo&moo=poo" "http://127.0.0.1:35043/{199,199}" -G > log/21/stdout199 2> log/21/stderr199 === End of file commands.log === Start of file http_server.log 19:00:32.928296 ====> Client connect 19:00:32.928331 accept_connection 3 returned 4 19:00:32.928349 accept_connection 3 returned 0 19:00:32.928497 Read 93 bytes 19:00:32.928513 Process 93 bytes request 19:00:32.928529 Got request: GET /verifiedserver HTTP/1.1 19:00:32.928540 Are-we-friendly question received 19:00:32.928571 Wrote request (93 bytes) input to log/21/server.input 19:00:32.928588 Identifying ourselves as friends 19:00:32.928642 Response sent (56 bytes) and written to log/21/server.response 19:00:32.928653 special request received, no persistency 19:00:32.928663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 47418 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind199 ==86952== ==86952== Process terminating with default action of signal 4 (SIGILL) ==86952== Illegal opcode at address 0x4013E00 ==86952== at 0x4013E00: getparameter (tool_getparam.c:2846) ==86952== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==86952== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==86952== by 0x40037A4: main (tool_main.c:199) === End of file valgrind199 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/14/valgrind206 ../src/curl -q --output log/14/curl206.out --include --trace-ascii log/14/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:36759 --proxy-user=silly:person --proxy-digest --proxytunnel > log/14/stdout206 2> log/14/stderr206 206: 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 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/14/valgrind206 ../src/curl -q --output log/14/curl206.out --include --trace-ascii log/14/trace206 --trace-time http://test.remote.haxx.se.206:8990/path/2060002 --proxy=http://127.0.0.1:36759 --proxy-user=silly:person --proxy-digest --proxytunnel > log/14/stdout206 2> log/14/stderr206 === End of file commands.log === Start of file http_server.log 19:00:33.204189 ====> Client connect 19:00:33.204230 accept_connection 3 returned 4 19:00:33.204250 accept_connection 3 returned 0 19:00:33.204266 Read 93 bytes 19:00:33.204279 Process 93 bytes request 19:00:33.204295 Got request: GET /verifiedserver HTTP/1.1 19:00:33.204306 Are-we-friendly question received 19:00:33.204337 Wrote request (93 bytes) input to log/14/server.input 19:00:33.204358 Identifying ourselves as friends 19:00:33.207034 Response sent (56 bytes) and written to log/14/server.response 19:00:33.207335 special request received, no persistency 19:00:33.207643 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 50010 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind206 ==87340== ==87340== Process terminating with default action of signal 4 (SIGILL) ==87340== Illegal opcode at address 0x4013E00 ==87340== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87340== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87340== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87340== by 0x40037A4: main (tool_main.c:199) === End of file valgrind206 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/17/valgrind205 ../src/curl -q --output log/17/curl205.out --trace-ascii log/17/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/17/nonexisting/result205.txt -T log/17/upload205.txt > log/17/stdout205 2> log/17/stderr205 curl returned 132, when expecting 23 205: exit FAILED == Contents of files in the log/17/ 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/17/valgrind205 ../src/curl -q --output log/17/curl205.out --trace-ascii log/17/trace205 --trace-time file://localhost//startdir/src/build-curl/tests/log/17/nonexisting/result205.txt -T log/17/upload205.txt > log/17/stdout205 2> log/17/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 ==87236== ==87236== Process terminating with default action of signal 4 (SIGILL) ==87236== Illegal opcode at address 0x4013E00 ==87236== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87236== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87236== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87236== by 0x40037A4: main (tool_main.c:199) === End of file valgrind205 CMD (33792): ../libtool --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/valgrind204 ../src/curl -q --output log/11/curl204.out --trace-ascii log/11/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/11/result204.txt -T log/11/upload204.txt > log/11/stdout204 2> log/11/stderr204 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/6/valgrind203 ../src/curl -q --output log/6/curl203.out --trace-ascii log/6/trace203 --trace-time file:/startdir/src/build-curl/tests/log/6/test203.txt > log/6/stdout203 2> log/6/stderr203 203: data FAILED: --- log/6/check-expected 2025-11-13 19:00:34.669390974 +0000 +++ log/6/check-generated 2025-11-13 19:00:34.669390974 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/6/ 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/6/valgrind203 ../src/curl -q --output log/6/curl203.out --trace-ascii log/6/trace203 --trace-time file:/startdir/src/build-curl/tests/log/6/test203.txt > log/6/stdout203 2> log/6/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 ==87112== ==87112== Process terminating with default action of signal 4 (SIGILL) ==87112== Illegal opcode at address 0x4013E00 ==87112== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87112== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87112== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87112== by 0x40037A4: main (tool_main.c:199) === End of file valgrind203 CMD (33792): ../libtool --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:43853 ftp://daniel:mysecret@host.com/we/want/208 -T log/8/test208.txt > log/8/stdout208 2> log/8/stderr208 CMD (33792): ../libtool --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/valgrind207 ../src/curl -q --output log/13/curl207.out --include --trace-ascii log/13/trace207 --trace-time http://127.0.0.1:35301/207 > log/13/stdout207 2> log/13/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/2/valgrind209 ../src/curl -q --output log/2/curl209.out --include --trace-ascii log/2/trace209 --trace-time http://test.remote.example.com.209:44325/path/2090002 --proxy http://127.0.0.1:44325 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/2/stdout209 2> log/2/stderr209 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/11/valgrind204 ../src/curl -q --output log/11/curl204.out --trace-ascii log/11/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/11/result204.txt -T log/11/upload204.txt > log/11/stdout204 2> log/11/stderr204 204: output (log/11/result204.txt) FAILED: --- log/11/check-expected 2025-11-13 19:00:34.686057642 +0000 +++ log/11/check-generated 2025-11-13 19:00:34.686057642 +0000 @@ -1,5 +0,0 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] == Contents of files in the log/11/ 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/11/valgrind204 ../src/curl -q --output log/11/curl204.out --trace-ascii log/11/trace204 --trace-time file://localhost/startdir/src/build-curl/tests/log/11/result204.txt -T log/11/upload204.txt > log/11/stdout204 2> log/11/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 ==87213== ==87213== Process terminating with default action of signal 4 (SIGILL) ==87213== Illegal opcode at address 0x4013E00 ==87213== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87213== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87213== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87213== by 0x40037A4: main (tool_main.c:199) === End of file valgrind204 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:43853 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:43853 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 19:00:33.457506 ====> Client connect 19:00:33.457544 accept_connection 3 returned 4 19:00:33.457562 accept_connection 3 returned 0 19:00:33.457578 Read 93 bytes 19:00:33.457588 Process 93 bytes request 19:00:33.457604 Got request: GET /verifiedserver HTTP/1.1 19:00:33.457615 Are-we-friendly question received 19:00:33.457640 Wrote request (93 bytes) input to log/8/server.input 19:00:33.457657 Identifying ourselves as friends 19:00:33.457717 Response sent (56 bytes) and written to log/8/server.response 19:00:33.457729 special request received, no persistency 19:00:33.457739 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 37466 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === 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 ==87525== ==87525== Process terminating with default action of signal 4 (SIGILL) ==87525== Illegal opcode at address 0x4013E00 ==87525== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87525== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87525== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87525== by 0x40037A4: 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/13/valgrind207 ../src/curl -q --output log/13/curl207.out --include --trace-ascii log/13/trace207 --trace-time http://127.0.0.1:35301/207 > log/13/stdout207 2> log/13/stderr207 207: 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 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/13/valgrind207 ../src/curl -q --output log/13/curl207.out --include --trace-ascii log/13/trace207 --trace-time http://127.0.0.1:35301/207 > log/13/stdout207 2> log/13/stderr207 === End of file commands.log === Start of file http_server.log 19:00:33.345922 ====> Client connect 19:00:33.345962 accept_connection 3 returned 4 19:00:33.345983 accept_connection 3 returned 0 19:00:33.346000 Read 93 bytes 19:00:33.346012 Process 93 bytes request 19:00:33.346028 Got request: GET /verifiedserver HTTP/1.1 19:00:33.346039 Are-we-friendly question received 19:00:33.346068 Wrote request (93 bytes) input to log/13/server.input 19:00:33.346087 Identifying ourselves as friends 19:00:33.346148 Response sent (56 bytes) and written to log/13/server.response 19:00:33.346159 special request received, no persistency 19:00:33.346170 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 55394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind207 ==87424== ==87424== Process terminating with default action of signal 4 (SIGILL) ==87424== Illegal opcode at address 0x4013E00 ==87424== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87424== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87424== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87424== by 0x40037A4: 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/2/valgrind209 ../src/curl -q --output log/2/curl209.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/20/valgrind210 ../src/curl -q --output log/20/curl210.out --trace-ascii log/20/trace210 --trace-time ftp://127.0.0.1:39091/a/path/210 ftp://127.0.0.1:39091/a/path/210 > log/20/stdout210 2> log/20/stderr210 -include --trace-ascii log/2/trace209 --trace-time http://test.remote.example.com.209:44325/path/2090002 --proxy http://127.0.0.1:44325 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/2/stdout209 2> log/2/stderr209 209: 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 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/2/valgrind209 ../src/curl -q --output log/2/curl209.out --include --trace-ascii log/2/trace209 --trace-time http://test.remote.example.com.209:44325/path/2090002 --proxy http://127.0.0.1:44325 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/2/stdout209 2> log/2/stderr209 === End of file commands.log === Start of file http_server.log 19:00:34.439406 ====> Client connect 19:00:34.439441 accept_connection 3 returned 4 19:00:34.439459 accept_connection 3 returned 0 19:00:34.439475 Read 93 bytes 19:00:34.439485 Process 93 bytes request 19:00:34.439500 Got request: GET /verifiedserver HTTP/1.1 19:00:34.439511 Are-we-friendly question received 19:00:34.439534 Wrote request (93 bytes) input to log/2/server.input 19:00:34.439551 Identifying ourselves as friends 19:00:34.439603 Response sent (56 bytes) and written to log/2/server.response 19:00:34.439614 special request received, no persistency 19:00:34.439624 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 46978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind209 ==87519== ==87519== Process terminating with default action of signal 4 (SIGILL) ==87519== Illegal opcode at address 0x4013E00 ==87519== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87519== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87519== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87519== by 0x40037A4: 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/20/valgrind210 ../src/curl -q --output log/20/curl210.out --trace-ascii log/20/trace210 --trace-time ftp://127.0.0.1:39091/a/path/210 ftp://127.0.0.1:39091/a/path/210 > log/20/stdout210 2> log/20/stderr210 210: 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 210 === Start of file commands.log ../libtool --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/valgrind210 ../src/curl -q --output log/20/curl210.out --trace-ascii log/20/trace210 --trace-time ftp://127.0.0.1:39091/a/path/210 ftp://127.0.0.1:39091/a/path/210 > log/20/stdout210 2> log/20/stderr210 === End of file commands.log === Start of file ftp_server.log 19:00:33.709659 ====> Client connect 19:00:33.709819 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:33.710123 < "USER anonymous" 19:00:33.710162 > "331 We are happy you popped in![CR][LF]" 19:00:33.710352 < "PASS ftp@example.com" 19:00:33.710383 > "230 Welcome you silly person[CR][LF]" 19:00:33.710565 < "PWD" 19:00:33.710601 > "257 "/" is current directory[CR][LF]" 19:00:33.710791 < "EPSV" 19:00:33.710818 ====> Passive DATA channel requested by client 19:00:33.710834 DATA sockfilt for passive data channel starting... 19:00:33.718819 DATA sockfilt for passive data channel started (pid 87520) 19:00:33.718966 DATA sockfilt for passive data channel listens on port 39393 19:00:33.719019 > "229 Entering Passive Mode (|||39393|)[CR][LF]" 19:00:33.719037 Client has been notified that DATA conn will be accepted on port 39393 19:00:33.719368 Client connects to port 39393 19:00:33.719403 ====> Client established passive DATA connection on port 39393 19:00:33.719503 < "TYPE I" 19:00:33.719540 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:33.719713 < "SIZE verifiedserver" 19:00:33.719754 > "213 17[CR][LF]" 19:00:33.719908 < "RETR verifiedserver" 19:00:33.719942 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:33.720032 =====> Closing passive DATA connection... 19:00:33.720048 Server disconnects passive DATA connection 19:00:33.720215 Server disconnected passive DATA connection 19:00:33.720239 DATA sockfilt for passive data channel quits (pid 87520) 19:00:33.720493 DATA sockfilt for passive data channel quit (pid 87520) 19:00:33.720519 =====> Closed passive DATA connection 19:00:33.720549 > "226 File transfer complete[CR][LF]" 19:00:33.765724 < "QUIT" 19:00:33.765782 > "221 bye bye baby[CR][LF]" 19:00:33.767251 MAIN sockfilt said DISC 19:00:33.767288 ====> Client disconnected 19:00:33.767365 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:33.481617 ====> Client connect 19:00:33.481899 Received DATA (on stdin) 19:00:33.481921 > 160 bytes data, server => client 19:00:33.481936 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:33.481949 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:33.481961 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:33.482039 < 16 bytes data, client => server 19:00:33.482056 'USER anonymous\r\n' 19:00:33.482231 Received DATA (on stdin) 19:00:33.482246 > 33 bytes data, server => client 19:00:33.482259 '331 We are happy you popped in!\r\n' 19:00:33.482314 < 22 bytes data, client => server 19:00:33.482330 'PASS ftp@example.com\r\n' 19:00:33.482450 Received DATA (on stdin) 19:00:33.482465 > 30 bytes data, server => client 19:00:33.482477 '230 Welcome you silly person\r\n' 19:00:33.482531 < 5 bytes data, client => server 19:00:33.482546 'PWD\r\n' 19:00:33.482667 Received DATA (on stdin) 19:00:33.482681 > 30 bytes data, server => client 19:00:33.482694 '257 "/" is current directory\r\n' 19:00:33.482757 < 6 bytes data, client => server 19:00:33.482773 'EPSV\r\n' 19:00:33.491111 Received DATA (on stdin) 19:00:33.491129 > 39 bytes data, server => client 19:00:33.491143 '229 Entering Passive Mode (|||39393|)\r\n' 19:00:33.491340 < 8 bytes data, client => server 19:00:33.491358 'TYPE I\r\n' 19:00:33.491604 Received DATA (on stdin) 19:00:33.491618 > 33 bytes data, server => client 19:00:33.491630 '200 I modify TYPE as you wanted\r\n' 19:00:33.491687 < 21 bytes data, client => server 19:00:33.491700 'SIZE verifiedserver\r\n' 19:00:33.491817 Received DATA (on stdin) 19:00:33.491830 > 8 bytes data, server => client 19:00:33.491841 '213 17\r\n' 19:00:33.491889 < 21 bytes data, client => server 19:00:33.491901 'RETR verifiedserver\r\n' 19:00:33.492112 Received DATA (on stdin) 19:00:33.492124 > 29 bytes data, server => client 19:00:33.492136 '150 Binary junk (17 bytes).\r\n' 19:00:33.492615 Received DATA (on stdin) 19:00:33.492630 > 28 bytes data, server => client 19:00:33.492643 '226 File transfer complete\r\n' 19:00:33.537569 < 6 bytes data, client => server 19:00:33.537612 'QUIT\r\n' 19:00:33.CMD (33792): ../libtool --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/valgrind211 ../src/curl -q --output log/12/curl211.out --include --trace-ascii log/12/trace211 --trace-time ftp://127.0.0.1:35151/a/path/211 ftp://127.0.0.1:35151/a/path/211 > log/12/stdout211 2> log/12/stderr211 537850 Received DATA (on stdin) 19:00:33.537864 > 18 bytes data, server => client 19:00:33.537876 '221 bye bye baby\r\n' 19:00:33.538803 ====> Client disconnect 19:00:33.539428 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:33.485169 Running IPv4 version 19:00:33.485237 Listening on port 39393 19:00:33.485276 Wrote pid 87520 to log/20/server/ftp_sockdata.pid 19:00:33.490787 Received PING (on stdin) 19:00:33.490928 Received PORT (on stdin) 19:00:33.491382 ====> Client connect 19:00:33.492161 Received DATA (on stdin) 19:00:33.492176 > 17 bytes data, server => client 19:00:33.492187 'WE ROOLZ: 80693\r\n' 19:00:33.492212 Received DISC (on stdin) 19:00:33.492225 ====> Client forcibly disconnected 19:00:33.492308 Received QUIT (on stdin) 19:00:33.492320 quits 19:00:33.492396 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 210 === End of file server.cmd === Start of file valgrind210 ==87624== ==87624== Process terminating with default action of signal 4 (SIGILL) ==87624== Illegal opcode at address 0x4013E00 ==87624== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87624== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87624== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87624== by 0x40037A4: main (tool_main.c:199) === End of file valgrind210 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/12/valgrind211 ../src/curl -q --output log/12/curl211.out --include --trace-ascii log/12/trace211 --trace-time ftp://127.0.0.1:35151/a/path/211 ftp://127.0.0.1:35151/a/path/211 > log/12/stdout211 2> log/12/stderr211 211: 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 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/12/valgrind211 ../src/curl -q --output log/12/curl211.out --include --trace-ascii log/12/trace211 --trace-time ftp://127.0.0.1:35151/a/path/211 ftp://127.0.0.1:35151/a/path/211 > log/12/stdout211 2> log/12/stderr211 === End of file commands.log === Start of file ftp_server.log 19:00:33.956617 ====> Client connect 19:00:33.956792 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:33.957082 < "USER anonymous" 19:00:33.957117 > "331 We are happy you popped in![CR][LF]" 19:00:33.957284 < "PASS ftp@example.com" 19:00:33.957311 > "230 Welcome you silly person[CR][LF]" 19:00:33.957469 < "PWD" 19:00:33.957502 > "257 "/" is current directory[CR][LF]" 19:00:33.957663 < "EPSV" 19:00:33.957686 ====> Passive DATA channel requested by client 19:00:33.957701 DATA sockfilt for passive data channel starting... 19:00:33.963267 DATA sockfilt for passive data channel started (pid 87710) 19:00:33.963418 DATA sockfilt for passive data channel listens on port 40279 19:00:33.963475 > "229 Entering Passive Mode (|||40279|)[CR][LF]" 19:00:33.963502 Client has been notified that DATA conn will be accepted on port 40279 19:00:33.963766 Client connects to port 40279 19:00:33.963801 ====> Client established passive DATA connection on port 40279 19:00:33.963938 < "TYPE I" 19:00:33.963973 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:33.964139 < "SIZE verifiedserver" 19:00:33.964178 > "213 17[CR][LF]" 19:00:33.964350 < "RETR verifiedserver" 19:00:33.964387 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:33.964472 =====> Closing passive DATA connection... 19:00:33.964492 Server disconnects passive DATA connection 19:00:33.964757 Server disconnected passive DATA connection 19:00:33.964790 DATA sockfilt for passive data channel quits (pid 87710) 19:00:33.965061 DATA sockfilt for passive data channel quit (pid 87710) 19:00:33.965092 =====> Closed passive DATA connection 19:00:33.965125 > "226 File transfer complete[CR][LF]" 19:00:34.009117 < "QUIT" 19:00:34.009188 > "221 bye bye baby[CR][LF]" 19:00:34.010430 MAIN sockfilt said DISC 19:00:34.010475 ====> Client disconnected 19:00:34.010565 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:33.728539 ====> Client connect 19:00:33.728868 Received DATA (on stdin) 19:00:33.728884 > 160 bytes data, server => client 19:00:33.728898 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:33.728910 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:33.728922 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:33.728997 < 16 bytes data, client => server 19:00:33.729011 'USER anonymous\r\n' 19:00:33.729182 Received DATA (on stdin) 19:00:33.729196 > 33 bytes data, server => client 19:00:33.729208 '331 We are happy you popped in!\r\n' 19:00:33.729260 < 22 bytes data, client => server 19:00:33.729272 'PASS ftp@example.com\r\n' 19:00:33.729373 Received DATA (on stdin) 19:00:33.729390 > 30 bytes data, server => client 19:00:33.729402 '230 Welcome you silly person\r\n' 19:00:33.729449 < 5 bytes data, client => server 19:00:33.729461 'PWD\r\n' 19:00:33.729563 Received DATA (on stdin) 19:00:33.729575 > 30 bytes data, server => client 19:00:33.729587 '257 "/" is current directory\r\n' 19:00:33.729644 < 6 bytes data, client => server 19:00:33.729656 'EPSV\r\n' 19:00:33.735581 Received DATA (on stdin) 19:00:33.735600 > 39 bytes data, server => client 19:00:33.735614 '229 Entering Passive Mode (|||40279|)\r\n' 19:00:33.735884 < 8 bytes data, client => server 19:00:33.735900 'TYPE I\r\n' 19:00:33.736036 Received DATA (on stdin) 19:00:33.736050 > 33 bytes data, server => client 19:00:33.736062 '200 I modify TYPE as you wanted\r\n' 19:00:33.736116 < 21 bytes data, client => server 19:00:33.736128 'SIZE verifiedserver\r\n' 19:00:33.736243 Received DATA (on stdin) 19:00:33.736257 > 8 bytes data, server => client 19:00:33.736268 '213 17\r\n' 19:00:33.736319 < 21 bytes data, client => server 19:00:33.736333 'RETR verifiedserver\r\n' 19:00:33.736738 Received DATA (on stdin) 19:00:33.736753 > 29 bytes data, server => client 19:00:33.736767 '150 Binary junk (17 bytes).\r\n' 19:00:33.737197 Received DATA (on stdin) 19:00:33.737213 > 28 bytes data, server => client 19:00:33.737227 '226 File transfer complete\r\n' 19:00:33.780947 < 6 bytes data, client => server 19:00:33.780994 'QUIT\r\n' 19:00:33.781267 Received DATA (on stdin) 19:00:33.781286 > 18 bytes data, server => client 19:00:33.781300 '221 bye bye baby\r\n' 19:00:33.782426 ====> Client disconnect 19:00:33.782636 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:33.734943 Running IPv4 version 19:00:33.735027 Listening on port 40279 19:00:33.735073 Wrote pid 87710 to log/12/server/ftp_sockdata.pid 19:00:33.735261 Received PING (on stdin) 19:00:33.735378 Received PORT (on stdin) 19:00:33.735772 ====> Client connect 19:00:33.736560 Received DATA (on stdin) 19:00:33.736574 > 17 bytes data, server => client 19:00:33.736586 'WE ROOLZ: 80702\r\n' 19:00:33.736689 Received DISC (on stdin) 19:00:33.736709 ====> Client forcibly disconnected 19:00:33.736868 Received QUIT (on stdin) 19:00:33.736884 quits 19:00:33.736952 ============> 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 ==87745== ==87745== Process terminating with default action of signal 4 (SIGILL) ==87745== Illegal opcode at address 0x4013E00 ==87745== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87745== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87745== by 0x40037A4: UnknownInlinedFun (tool_opCMD (33792): ../libtool --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/valgrind212 ../src/curl -q --output log/16/curl212.out --include --trace-ascii log/16/trace212 --trace-time ftp://127.0.0.1:35319/a/path/212 ftp://127.0.0.1:35319/a/path/212 -P - > log/16/stdout212 2> log/16/stderr212 CMD (33792): ../libtool --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/valgrind219 ../src/curl -q --output log/19/curl219.out --include --trace-ascii log/19/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/19/stdout219 2> log/19/stderr219 erate.c:2237) ==87745== by 0x40037A4: main (tool_main.c:199) === End of file valgrind211 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/16/valgrind212 ../src/curl -q --output log/16/curl212.out --include --trace-ascii log/16/trace212 --trace-time ftp://127.0.0.1:35319/a/path/212 ftp://127.0.0.1:35319/a/path/212 -P - > log/16/stdout212 2> log/16/stderr212 212: 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 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/16/valgrind212 ../src/curl -q --output log/16/curl212.out --include --trace-ascii log/16/trace212 --trace-time ftp://127.0.0.1:35319/a/path/212 ftp://127.0.0.1:35319/a/path/212 -P - > log/16/stdout212 2> log/16/stderr212 === End of file commands.log === Start of file ftp_server.log 19:00:34.036109 ====> Client connect 19:00:34.036269 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:34.036581 < "USER anonymous" 19:00:34.036625 > "331 We are happy you popped in![CR][LF]" 19:00:34.044587 < "PASS ftp@example.com" 19:00:34.044649 > "230 Welcome you silly person[CR][LF]" 19:00:34.044927 < "PWD" 19:00:34.044985 > "257 "/" is current directory[CR][LF]" 19:00:34.045188 < "EPSV" 19:00:34.045223 ====> Passive DATA channel requested by client 19:00:34.045237 DATA sockfilt for passive data channel starting... 19:00:34.049494 DATA sockfilt for passive data channel started (pid 87752) 19:00:34.049605 DATA sockfilt for passive data channel listens on port 45089 19:00:34.049650 > "229 Entering Passive Mode (|||45089|)[CR][LF]" 19:00:34.049669 Client has been notified that DATA conn will be accepted on port 45089 19:00:34.049949 Client connects to port 45089 19:00:34.049979 ====> Client established passive DATA connection on port 45089 19:00:34.050068 < "TYPE I" 19:00:34.050102 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:34.050264 < "SIZE verifiedserver" 19:00:34.050301 > "213 17[CR][LF]" 19:00:34.050451 < "RETR verifiedserver" 19:00:34.050487 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:34.050567 =====> Closing passive DATA connection... 19:00:34.050583 Server disconnects passive DATA connection 19:00:34.050780 Server disconnected passive DATA connection 19:00:34.050804 DATA sockfilt for passive data channel quits (pid 87752) 19:00:34.051089 DATA sockfilt for passive data channel quit (pid 87752) 19:00:34.051116 =====> Closed passive DATA connection 19:00:34.051142 > "226 File transfer complete[CR][LF]" 19:00:34.097522 < "QUIT" 19:00:34.097577 > "221 bye bye baby[CR][LF]" 19:00:34.099604 MAIN sockfilt said DISC 19:00:34.099651 ====> Client disconnected 19:00:34.099731 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:33.808059 ====> Client connect 19:00:33.808346 Received DATA (on stdin) 19:00:33.808365 > 160 bytes data, server => client 19:00:33.808379 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:33.808392 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:33.808403 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:33.808486 < 16 bytes data, client => server 19:00:33.808503 'USER anonymous\r\n' 19:00:33.808695 Received DATA (on stdin) 19:00:33.808710 > 33 bytes data, server => client 19:00:33.808723 '331 We are happy you popped in!\r\n' 19:00:33.808777 < 22 bytes data, client => server 19:00:33.808793 'PASS ftp@example.com\r\n' 19:00:33.816751 Received DATA (on stdin) 19:00:33.816772 > 30 bytes data, server => client 19:00:33.816784 '230 Welcome you silly person\r\n' 19:00:33.816881 < 5 bytes data, client => server 19:00:33.816894 'PWD\r\n' 19:00:33.817048 Received DATA (on stdin) 19:00:33.817061 > 30 bytes data, server => client 19:00:33.817072 '257 "/" is current directory\r\n' 19:00:33.817142 < 6 bytes data, client => server 19:00:33.817154 'EPSV\r\n' 19:00:33.821738 Received DATA (on stdin) 19:00:33.821753 > 39 bytes data, server => client 19:00:33.821765 '229 Entering Passive Mode (|||45089|)\r\n' 19:00:33.821926 < 8 bytes data, client => server 19:00:33.821942 'TYPE I\r\n' 19:00:33.822165 Received DATA (on stdin) 19:00:33.822178 > 33 bytes data, server => client 19:00:33.822189 '200 I modify TYPE as you wanted\r\n' 19:00:33.822241 < 21 bytes data, client => server 19:00:33.822253 'SIZE verifiedserver\r\n' 19:00:33.822364 Received DATA (on stdin) 19:00:33.822376 > 8 bytes data, server => client 19:00:33.822387 '213 17\r\n' 19:00:33.822434 < 21 bytes data, client => server 19:00:33.822446 'RETR verifiedserver\r\n' 19:00:33.822647 Received DATA (on stdin) 19:00:33.822660 > 29 bytes data, server => client 19:00:33.822672 '150 Binary junk (17 bytes).\r\n' 19:00:33.823207 Received DATA (on stdin) 19:00:33.823221 > 28 bytes data, server => client 19:00:33.823233 '226 File transfer complete\r\n' 19:00:33.869400 < 6 bytes data, client => server 19:00:33.869427 'QUIT\r\n' 19:00:33.869643 Received DATA (on stdin) 19:00:33.869657 > 18 bytes data, server => client 19:00:33.869674 '221 bye bye baby\r\n' 19:00:33.871600 ====> Client disconnect 19:00:33.872305 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:34.821208 Running IPv4 version 19:00:34.821291 Listening on port 45089 19:00:34.821328 Wrote pid 87752 to log/16/server/ftp_sockdata.pid 19:00:34.821496 Received PING (on stdin) 19:00:34.821583 Received PORT (on stdin) 19:00:34.821964 ====> Client connect 19:00:34.822727 Received DATA (on stdin) 19:00:34.822741 > 17 bytes data, server => client 19:00:34.822753 'WE ROOLZ: 80535\r\n' 19:00:34.822780 Received DISC (on stdin) 19:00:34.822792 ====> Client forcibly disconnected 19:00:34.822933 Received QUIT (on stdin) 19:00:34.822946 quits 19:00:34.823007 ============> 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 ==87811== ==87811== Process terminating with default action of signal 4 (SIGILL) ==87811== Illegal opcode at address 0x4013E00 ==87811== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87811== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87811== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87811== by 0x40037A4: main (tool_main.c:199) === End of file valgrind212 test 0219...[try using proxy with unsupported 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/19/valgrind219 ../src/curl -q --output log/19/curl219.out --include --trace-ascii log/19/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/19/stdout219 2> log/19/stderr219 curl returned 132, when expecting 7 219: exit FAILED == Contents of files in the log/19/ 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/19/valgrind219 ../src/curl -q --output log/19/curl219.out --include --trace-ascii log/19/trace219 --trace-time -x foo://127.0.0.1:47/219 http://127.0.0.1:47/219 > log/19/stdout219 2> log/19/stderr219 === End of file commands.log === Start of file server.cmd Testnum 219 === End of file server.cmd === Start of file valgrind219 ==87968== ==87968== Process terminating with default action of signal 4 (SIGILL) ==87968== Illegal opcode at address 0x4013E00 ==87968== at 0x4013E00:CMD (33792): ../libtool --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/valgrind214 ../src/curl -q --output log/7/curl214.out --include --trace-ascii log/7/trace214 --trace-time "http://127.0.0.1:41017/\{\}\/214" > log/7/stdout214 2> log/7/stderr214 CMD (33792): ../libtool --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/valgrind217 ../src/curl -q --include --trace-ascii log/24/trace217 --trace-time http://test.remote.example.com.217:39383/path/2170002 --proxy http://127.0.0.1:39383 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/24/stdout217 2> log/24/stderr217 getparameter (tool_getparam.c:2846) ==87968== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87968== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87968== by 0x40037A4: main (tool_main.c:199) === End of file valgrind219 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/7/valgrind214 ../src/curl -q --output log/7/curl214.out --include --trace-ascii log/7/trace214 --trace-time "http://127.0.0.1:41017/\{\}\/214" > log/7/stdout214 2> log/7/stderr214 214: 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 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/7/valgrind214 ../src/curl -q --output log/7/curl214.out --include --trace-ascii log/7/trace214 --trace-time "http://127.0.0.1:41017/\{\}\/214" > log/7/stdout214 2> log/7/stderr214 === End of file commands.log === Start of file http_server.log 19:00:33.931551 ====> Client connect 19:00:33.931593 accept_connection 3 returned 4 19:00:33.931615 accept_connection 3 returned 0 19:00:33.931633 Read 93 bytes 19:00:33.931645 Process 93 bytes request 19:00:33.931660 Got request: GET /verifiedserver HTTP/1.1 19:00:33.931671 Are-we-friendly question received 19:00:33.931700 Wrote request (93 bytes) input to log/7/server.input 19:00:33.931719 Identifying ourselves as friends 19:00:33.931781 Response sent (56 bytes) and written to log/7/server.response 19:00:33.931794 special request received, no persistency 19:00:33.931805 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 58168 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind214 ==87864== ==87864== Process terminating with default action of signal 4 (SIGILL) ==87864== Illegal opcode at address 0x4013E00 ==87864== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87864== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87864== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87864== by 0x40037A4: 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/10/valgrind213 ../src/curl -q --output log/10/curl213.out --include --trace-ascii log/10/trace213 --trace-time http://test.remote.example.com.213:37879/path/2130002 --proxy1.0 http://127.0.0.1:37879 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/10/stdout213 2> log/10/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/22/valgrind218 ../src/curl -q --output log/22/curl218.out --include --trace-ascii log/22/trace218 --trace-time -T log/22/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:41061/218 > log/22/stdout218 2> log/22/stderr218 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/24/valgrind217 ../src/curl -q --include --trace-ascii log/24/trace217 --trace-time http://test.remote.example.com.217:39383/path/2170002 --proxy http://127.0.0.1:39383 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/24/stdout217 2> log/24/stderr217 217: stdout FAILED: --- log/24/check-expected 2025-11-13 19:00:35.529390982 +0000 +++ log/24/check-generated 2025-11-13 19:00:35.529390982 +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/24/ 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/24/valgrind217 ../src/curl -q --include --trace-ascii log/24/trace217 --trace-time http://test.remote.example.com.217:39383/path/2170002 --proxy http://127.0.0.1:39383 --proxytunnel -w "%{http_code} %{http_connect}\n" > log/24/stdout217 2> log/24/stderr217 === End of file commands.log === Start of file http_server.log 19:00:34.085400 ====> Client connect 19:00:34.085435 accept_connection 3 returned 4 19:00:34.085454 accept_connection 3 returned 0 19:00:34.085471 Read 93 bytes 19:00:34.085483 Process 93 bytes request 19:00:34.085499 Got request: GET /verifiedserver HTTP/1.1 19:00:34.085510 Are-we-friendly question received 19:00:34.085537 Wrote request (93 bytes) input to log/24/server.input 19:00:34.085556 Identifying ourselves as friends 19:00:34.085616 Response sent (56 bytes) and written to log/24/server.response 19:00:34.085629 special request received, no persistency 19:00:34.085639 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54272 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind217 ==88053== ==88053== Process terminating with default action of signal 4 (SIGILL) ==88053== Illegal opcode at address 0x4013E00 ==88053== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88053== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88053== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88053== by 0x40037A4: main (tool_main.c:199) === End of file valgrind217 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/10/valgrind213 ../src/curl -q --output log/10/curl213.out --include --trace-ascii log/10/trace213 --trace-time http://test.remote.example.com.213:37879/path/2130002 --proxy1.0 http://127.0.0.1:37879 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/10/stdout213 2> log/10/stderr213 213: 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 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/10/valgrind213 ../src/curl -q --output log/10/curl213.out --include --trace-ascii log/10/trace213 --trace-time http://test.remote.example.com.213:37879/path/2130002 --proxy1.0 http://127.0.0.1:37879 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/10/stdout213 2> log/10/stderr213 === End of file commands.log === Start of file http_server.log 19:00:33.872410 ====> Client connect 19:00:33.872451 accept_connection 3 returned 4 19:00:33.872471 accept_connection 3 returned 0 19:00:33.872487 Read 93 bytes 19:00:33.872499 Process 93 bytes request 19:00:33.872516 Got request: GET /verifiedserver HTTP/1.1 19:00:33.872527 Are-we-friendly question received 19:00:33.872558 Wrote request (93 bytes) input to log/10/server.input 19:00:33.872580 Identifying ourselves as friends 19:00:33.872655 Response sent (56 bytes) and written to log/10/server.response 19:00:33.872671 special request received, no persistency 19:00:33.872682 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 34034 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind213 ==87817== ==87817== Process terminating with default action of signal 4 (SIGILL) ==87817== Illegal opcode at address 0x4013E00 ==87817== at 0x4013E00: getparameter (tool_getparam.c:2846) ==87817== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==87817== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==87817== by 0x40037A4: main (tool_main.c:199) === End of file valgrind213 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/22/valgrind218 ../src/curl -q --output log/22/curl218.out --include --trace-ascii log/22/trace218 --trace-time -T log/22/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:41061/218 > log/22/stdout218 2> log/22/stderr218 218: 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 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/22/valgrind218 ../src/curl -q --output log/22/curl218.out --include --trace-ascii log/22/trace218 --trace-time -T log/22/file218 -H "Transfer-Encoding: chunked" http://127.0.0.1:41061/218 > log/22/stdout218 2> log/22/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 19:00:34.103707 ====> Client connect 19:00:34.103746 accept_connection 3 returned 4 19:00:34.103764 accept_connection 3 returned 0 19:00:34.103781 Read 93 bytes 19:00:34.103792 Process 93 bytes request 19:00:34.103808 Got request: GET /verifiedserver HTTP/1.1 19:00:34.103819 Are-we-friendly question received 19:00:34.103847 Wrote request (93 bytes) input to log/22/server.input 19:00:34.103868 Identifying ourselves as friends 19:00:34.103939 Response sent (56 bytes) and written to log/22/server.response 19:00:34.103954 special request received, no persisCMD (33792): ../libtool --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/valgrind215 ../src/curl -q --output log/15/curl215.out --include --trace-ascii log/15/trace215 --trace-time ftp://127.0.0.1:36561/a/path/215/ ftp://127.0.0.1:36561/a/path/215/ > log/15/stdout215 2> log/15/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/18/valgrind216 ../src/curl -q --output log/18/curl216.out --include --trace-ascii log/18/trace216 --trace-time -T log/18/upload.216 ftp://127.0.0.1:38611/a/path/216/ -T log/18/upload.216 ftp://127.0.0.1:38611/a/path/216/%2e%2eanotherup.216 > log/18/stdout216 2> log/18/stderr216 tency 19:00:34.103965 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 33010 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind218 ==88095== ==88095== Process terminating with default action of signal 4 (SIGILL) ==88095== Illegal opcode at address 0x4013E00 ==88095== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88095== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88095== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88095== by 0x40037A4: main (tool_main.c:199) === End of file valgrind218 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/15/valgrind215 ../src/curl -q --output log/15/curl215.out --include --trace-ascii log/15/trace215 --trace-time ftp://127.0.0.1:36561/a/path/215/ ftp://127.0.0.1:36561/a/path/215/ > log/15/stdout215 2> log/15/stderr215 215: 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 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/15/valgrind215 ../src/curl -q --output log/15/curl215.out --include --trace-ascii log/15/trace215 --trace-time ftp://127.0.0.1:36561/a/path/215/ ftp://127.0.0.1:36561/a/path/215/ > log/15/stdout215 2> log/15/stderr215 === End of file commands.log === Start of file ftp_server.log 19:00:34.278300 ====> Client connect 19:00:34.278490 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:34.282173 < "USER anonymous" 19:00:34.282234 > "331 We are happy you popped in![CR][LF]" 19:00:34.289000 < "PASS ftp@example.com" 19:00:34.289068 > "230 Welcome you silly person[CR][LF]" 19:00:34.289335 < "PWD" 19:00:34.289384 > "257 "/" is current directory[CR][LF]" 19:00:34.291448 < "EPSV" 19:00:34.291484 ====> Passive DATA channel requested by client 19:00:34.291501 DATA sockfilt for passive data channel starting... 19:00:34.302759 DATA sockfilt for passive data channel started (pid 87997) 19:00:34.302932 DATA sockfilt for passive data channel listens on port 46631 19:00:34.302996 > "229 Entering Passive Mode (|||46631|)[CR][LF]" 19:00:34.303019 Client has been notified that DATA conn will be accepted on port 46631 19:00:34.306520 Client connects to port 46631 19:00:34.306578 ====> Client established passive DATA connection on port 46631 19:00:34.306706 < "TYPE I" 19:00:34.306754 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:34.307000 < "SIZE verifiedserver" 19:00:34.307057 > "213 17[CR][LF]" 19:00:34.307265 < "RETR verifiedserver" 19:00:34.307308 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:34.307413 =====> Closing passive DATA connection... 19:00:34.307434 Server disconnects passive DATA connection 19:00:34.307645 Server disconnected passive DATA connection 19:00:34.307674 DATA sockfilt for passive data channel quits (pid 87997) 19:00:34.308051 DATA sockfilt for passive data channel quit (pid 87997) 19:00:34.308082 =====> Closed passive DATA connection 19:00:34.308116 > "226 File transfer complete[CR][LF]" 19:00:34.354079 < "QUIT" 19:00:34.354142 > "221 bye bye baby[CR][LF]" 19:00:34.357810 MAIN sockfilt said DISC 19:00:34.357875 ====> Client disconnected 19:00:34.357972 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:34.049567 ====> Client connect 19:00:34.050577 Received DATA (on stdin) 19:00:34.050600 > 160 bytes data, server => client 19:00:34.050615 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:34.050628 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:34.050640 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:34.054012 < 16 bytes data, client => server 19:00:34.054039 'USER anonymous\r\n' 19:00:34.054309 Received DATA (on stdin) 19:00:34.054326 > 33 bytes data, server => client 19:00:34.054340 '331 We are happy you popped in!\r\n' 19:00:34.060494 < 22 bytes data, client => server 19:00:34.060528 'PASS ftp@example.com\r\n' 19:00:34.061144 Received DATA (on stdin) 19:00:34.061163 > 30 bytes data, server => client 19:00:34.061176 '230 Welcome you silly person\r\n' 19:00:34.061271 < 5 bytes data, client => server 19:00:34.061288 'PWD\r\n' 19:00:34.061452 Received DATA (on stdin) 19:00:34.061468 > 30 bytes data, server => client 19:00:34.061481 '257 "/" is current directory\r\n' 19:00:34.063376 < 6 bytes data, client => server 19:00:34.063398 'EPSV\r\n' 19:00:34.075095 Received DATA (on stdin) 19:00:34.075115 > 39 bytes data, server => client 19:00:34.075129 '229 Entering Passive Mode (|||46631|)\r\n' 19:00:34.075338 < 8 bytes data, client => server 19:00:34.075359 'TYPE I\r\n' 19:00:34.078828 Received DATA (on stdin) 19:00:34.078846 > 33 bytes data, server => client 19:00:34.078860 '200 I modify TYPE as you wanted\r\n' 19:00:34.078945 < 21 bytes data, client => server 19:00:34.078962 'SIZE verifiedserver\r\n' 19:00:34.079126 Received DATA (on stdin) 19:00:34.079142 > 8 bytes data, server => client 19:00:34.079155 '213 17\r\n' 19:00:34.079219 < 21 bytes data, client => server 19:00:34.079235 'RETR verifiedserver\r\n' 19:00:34.079503 Received DATA (on stdin) 19:00:34.079518 > 29 bytes data, server => client 19:00:34.079531 '150 Binary junk (17 bytes).\r\n' 19:00:34.080184 Received DATA (on stdin) 19:00:34.080200 > 28 bytes data, server => client 19:00:34.080212 '226 File transfer complete\r\n' 19:00:34.125933 < 6 bytes data, client => server 19:00:34.125969 'QUIT\r\n' 19:00:34.126220 Received DATA (on stdin) 19:00:34.126238 > 18 bytes data, server => client 19:00:34.126251 '221 bye bye baby\r\n' 19:00:34.127224 ====> Client disconnect 19:00:34.130045 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:34.065485 Running IPv4 version 19:00:34.065582 Listening on port 46631 19:00:34.065631 Wrote pid 87997 to log/15/server/ftp_sockdata.pid 19:00:34.074730 Received PING (on stdin) 19:00:34.074878 Received PORT (on stdin) 19:00:34.076619 ====> Client connect 19:00:34.079568 Received DATA (on stdin) 19:00:34.079590 > 17 bytes data, server => client 19:00:34.079603 'WE ROOLZ: 81045\r\n' 19:00:34.079634 Received DISC (on stdin) 19:00:34.079648 ====> Client forcibly disconnected 19:00:34.079749 Received QUIT (on stdin) 19:00:34.079764 quits 19:00:34.079849 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 215 === End of file server.cmd === Start of file valgrind215 ==88142== ==88142== Process terminating with default action of signal 4 (SIGILL) ==88142== Illegal opcode at address 0x4013E00 ==88142== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88142== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88142== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88142== by 0x40037A4: main (tool_main.c:199) === End of file valgrind215 test 0216...[FTP upload two files to the same dir] ../libtool --mode=execute /usr/bin/valCMD (33792): ../libtool --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/valgrind221 ../src/curl -q --output log/23/curl221.out --include --trace-ascii log/23/trace221 --trace-time http://127.0.0.1:35243/221 --compressed > log/23/stdout221 2> log/23/stderr221 grind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind216 ../src/curl -q --output log/18/curl216.out --include --trace-ascii log/18/trace216 --trace-time -T log/18/upload.216 ftp://127.0.0.1:38611/a/path/216/ -T log/18/upload.216 ftp://127.0.0.1:38611/a/path/216/%2e%2eanotherup.216 > log/18/stdout216 2> log/18/stderr216 216: 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 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/18/valgrind216 ../src/curl -q --output log/18/curl216.out --include --trace-ascii log/18/trace216 --trace-time -T log/18/upload.216 ftp://127.0.0.1:38611/a/path/216/ -T log/18/upload.216 ftp://127.0.0.1:38611/a/path/216/%2e%2eanotherup.216 > log/18/stdout216 2> log/18/stderr216 === End of file commands.log === Start of file ftp_server.log 19:00:34.293957 ====> Client connect 19:00:34.294200 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:34.295143 < "USER anonymous" 19:00:34.295194 > "331 We are happy you popped in![CR][LF]" 19:00:34.295429 < "PASS ftp@example.com" 19:00:34.295468 > "230 Welcome you silly person[CR][LF]" 19:00:34.295641 < "PWD" 19:00:34.295675 > "257 "/" is current directory[CR][LF]" 19:00:34.296853 < "EPSV" 19:00:34.296880 ====> Passive DATA channel requested by client 19:00:34.296894 DATA sockfilt for passive data channel starting... 19:00:34.312109 DATA sockfilt for passive data channel started (pid 88006) 19:00:34.312340 DATA sockfilt for passive data channel listens on port 35561 19:00:34.312400 > "229 Entering Passive Mode (|||35561|)[CR][LF]" 19:00:34.312426 Client has been notified that DATA conn will be accepted on port 35561 19:00:34.314140 Client connects to port 35561 19:00:34.314177 ====> Client established passive DATA connection on port 35561 19:00:34.314289 < "TYPE I" 19:00:34.314329 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:34.314519 < "SIZE verifiedserver" 19:00:34.314563 > "213 17[CR][LF]" 19:00:34.314742 < "RETR verifiedserver" 19:00:34.314779 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:34.314879 =====> Closing passive DATA connection... 19:00:34.314898 Server disconnects passive DATA connection 19:00:34.315160 Server disconnected passive DATA connection 19:00:34.315191 DATA sockfilt for passive data channel quits (pid 88006) 19:00:34.315481 DATA sockfilt for passive data channel quit (pid 88006) 19:00:34.315510 =====> Closed passive DATA connection 19:00:34.315542 > "226 File transfer complete[CR][LF]" 19:00:34.361647 < "QUIT" 19:00:34.361708 > "221 bye bye baby[CR][LF]" 19:00:34.362438 MAIN sockfilt said DISC 19:00:34.362486 ====> Client disconnected 19:00:34.362573 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:35.065878 ====> Client connect 19:00:35.066863 Received DATA (on stdin) 19:00:35.066893 > 160 bytes data, server => client 19:00:35.066908 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:35.066921 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:35.066932 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:35.067027 < 16 bytes data, client => server 19:00:35.067045 'USER anonymous\r\n' 19:00:35.067265 Received DATA (on stdin) 19:00:35.067281 > 33 bytes data, server => client 19:00:35.067294 '331 We are happy you popped in!\r\n' 19:00:35.067354 < 22 bytes data, client => server 19:00:35.067369 'PASS ftp@example.com\r\n' 19:00:35.067534 Received DATA (on stdin) 19:00:35.067548 > 30 bytes data, server => client 19:00:35.067559 '230 Welcome you silly person\r\n' 19:00:35.067612 < 5 bytes data, client => server 19:00:35.067624 'PWD\r\n' 19:00:35.068730 Received DATA (on stdin) 19:00:35.068749 > 30 bytes data, server => client 19:00:35.068760 '257 "/" is current directory\r\n' 19:00:35.068822 < 6 bytes data, client => server 19:00:35.068833 'EPSV\r\n' 19:00:35.085875 Received DATA (on stdin) 19:00:35.085904 > 39 bytes data, server => client 19:00:35.085918 '229 Entering Passive Mode (|||35561|)\r\n' 19:00:35.086143 < 8 bytes data, client => server 19:00:35.086158 'TYPE I\r\n' 19:00:35.086398 Received DATA (on stdin) 19:00:35.086412 > 33 bytes data, server => client 19:00:35.086425 '200 I modify TYPE as you wanted\r\n' 19:00:35.086481 < 21 bytes data, client => server 19:00:35.086498 'SIZE verifiedserver\r\n' 19:00:35.086630 Received DATA (on stdin) 19:00:35.086644 > 8 bytes data, server => client 19:00:35.086656 '213 17\r\n' 19:00:35.086710 < 21 bytes data, client => server 19:00:35.086724 'RETR verifiedserver\r\n' 19:00:35.086965 Received DATA (on stdin) 19:00:35.086979 > 29 bytes data, server => client 19:00:35.086991 '150 Binary junk (17 bytes).\r\n' 19:00:35.087608 Received DATA (on stdin) 19:00:35.087623 > 28 bytes data, server => client 19:00:35.087636 '226 File transfer complete\r\n' 19:00:35.133513 < 6 bytes data, client => server 19:00:35.133545 'QUIT\r\n' 19:00:35.133784 Received DATA (on stdin) 19:00:35.133802 > 18 bytes data, server => client 19:00:35.133815 '221 bye bye baby\r\n' 19:00:35.134434 ====> Client disconnect 19:00:35.134648 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:34.071582 Running IPv4 version 19:00:34.071661 Listening on port 35561 19:00:34.071701 Wrote pid 88006 to log/18/server/ftp_sockdata.pid 19:00:34.080245 Received PING (on stdin) 19:00:34.084274 Received PORT (on stdin) 19:00:34.086108 ====> Client connect 19:00:34.087020 Received DATA (on stdin) 19:00:34.087037 > 17 bytes data, server => client 19:00:34.087049 'WE ROOLZ: 80927\r\n' 19:00:34.087076 Received DISC (on stdin) 19:00:34.087090 ====> Client forcibly disconnected 19:00:34.087265 Received QUIT (on stdin) 19:00:34.087279 quits 19:00:34.087346 ============> 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 ==88148== ==88148== Process terminating with default action of signal 4 (SIGILL) ==88148== Illegal opcode at address 0x4013E00 ==88148== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88148== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88148== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88148== by 0x40037A4: main (tool_main.c:199) === End of file valgrind216 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/23/valgrind221 ../src/curl -q --output log/23/curl221.out --include --trace-ascii log/23/trace221 --trace-time http://127.0.0.1:35243/221 --compressed > log/23/stdout221 2> log/23/stderr221 221: 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 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/23/valgrind221 ../src/curl -q --output log/23/curl221.out --include --trace-ascii log/23/trace221 --trace-time http://127.0.0.1:35243/221 --compressed > log/23/stdout221 2> log/23/stderr221 === End of file commands.log === Start of file http_server.log 19:00:34.314170 ====> Client connect 19:00:34.314216 accept_connection 3 returned 4 19:00:34.314237 accept_connection 3 returned 0 19:00:34.314256 Read 93 bytes 19:00: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/4/valgrind220 ../src/curl -q --output log/4/curl220.out --include --trace-ascii log/4/trace220 --trace-time http://127.0.0.1:37985/220 --compressed > log/4/stdout220 2> log/4/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/3/valgrind222 ../src/curl -q --output log/3/curl222.out --include --trace-ascii log/3/trace222 --trace-time http://127.0.0.1:46261/222 --compressed > log/3/stdout222 2> log/3/stderr222 CMD (33792): ../libtool --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/valgrind223 ../src/curl -q --output log/5/curl223.out --include --trace-ascii log/5/trace223 --trace-time http://127.0.0.1:46771/223 --compressed > log/5/stdout223 2> log/5/stderr223 4.314268 Process 93 bytes request 19:00:34.314284 Got request: GET /verifiedserver HTTP/1.1 19:00:34.314295 Are-we-friendly question received 19:00:34.314323 Wrote request (93 bytes) input to log/23/server.input 19:00:34.314342 Identifying ourselves as friends 19:00:34.314420 Response sent (56 bytes) and written to log/23/server.response 19:00:34.314432 special request received, no persistency 19:00:34.314442 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 50190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind221 ==88426== ==88426== Process terminating with default action of signal 4 (SIGILL) ==88426== Illegal opcode at address 0x4013E00 ==88426== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88426== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88426== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88426== by 0x40037A4: main (tool_main.c:199) === End of file valgrind221 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/4/valgrind220 ../src/curl -q --output log/4/curl220.out --include --trace-ascii log/4/trace220 --trace-time http://127.0.0.1:37985/220 --compressed > log/4/stdout220 2> log/4/stderr220 220: 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 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/4/valgrind220 ../src/curl -q --output log/4/curl220.out --include --trace-ascii log/4/trace220 --trace-time http://127.0.0.1:37985/220 --compressed > log/4/stdout220 2> log/4/stderr220 === End of file commands.log === Start of file http_server.log 19:00:35.293357 ====> Client connect 19:00:35.293404 accept_connection 3 returned 4 19:00:35.293429 accept_connection 3 returned 0 19:00:35.293454 Read 93 bytes 19:00:35.293466 Process 93 bytes request 19:00:35.293482 Got request: GET /verifiedserver HTTP/1.1 19:00:35.293493 Are-we-friendly question received 19:00:35.293524 Wrote request (93 bytes) input to log/4/server.input 19:00:35.293545 Identifying ourselves as friends 19:00:35.293631 Response sent (56 bytes) and written to log/4/server.response 19:00:35.293646 special request received, no persistency 19:00:35.293657 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 47984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind220 ==88374== ==88374== Process terminating with default action of signal 4 (SIGILL) ==88374== Illegal opcode at address 0x4013E00 ==88374== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88374== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88374== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88374== by 0x40037A4: main (tool_main.c:199) === End of file valgrind220 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/3/valgrind222 ../src/curl -q --output log/3/curl222.out --include --trace-ascii log/3/trace222 --trace-time http://127.0.0.1:46261/222 --compressed > log/3/stdout222 2> log/3/stderr222 222: 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 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/3/valgrind222 ../src/curl -q --output log/3/curl222.out --include --trace-ascii log/3/trace222 --trace-time http://127.0.0.1:46261/222 --compressed > log/3/stdout222 2> log/3/stderr222 === End of file commands.log === Start of file http_server.log 19:00:35.336620 ====> Client connect 19:00:35.336662 accept_connection 3 returned 4 19:00:35.336685 accept_connection 3 returned 0 19:00:35.336705 Read 93 bytes 19:00:35.336718 Process 93 bytes request 19:00:35.336734 Got request: GET /verifiedserver HTTP/1.1 19:00:35.336746 Are-we-friendly question received 19:00:35.336778 Wrote request (93 bytes) input to log/3/server.input 19:00:35.336802 Identifying ourselves as friends 19:00:35.336990 Response sent (56 bytes) and written to log/3/server.response 19:00:35.337008 special request received, no persistency 19:00:35.337020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 40760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === End of file http_verify.out === Start of file server.cmd Testnum 222 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74802 === End of file server.response === Start of file valgrind222 ==88489== ==88489== Process terminating with default action of signal 4 (SIGILL) ==88489== Illegal opcode at address 0x4013E00 ==88489== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88489== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88489== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88489== by 0x40037A4: main (tool_main.c:199) === End of file valgrind222 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/5/valgrind223 ../src/curl -q --output log/5/curl223.out --include --trace-ascii log/5/trace223 --trace-time http://127.0.0.1:46771/223 --compressed > log/5/stdout223 2> log/5/stderr223 223: 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 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 --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/9/valgrind225 ../src/curl -q --output log/9/curl225.out --include --trace-ascii log/9/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:41525/225%0a > log/9/stdout225 2> log/9/stderr225 -file=log/5/valgrind223 ../src/curl -q --output log/5/curl223.out --include --trace-ascii log/5/trace223 --trace-time http://127.0.0.1:46771/223 --compressed > log/5/stdout223 2> log/5/stderr223 === End of file commands.log === Start of file http_server.log 19:00:34.349008 ====> Client connect 19:00:34.349048 accept_connection 3 returned 4 19:00:34.349067 accept_connection 3 returned 0 19:00:34.349083 Read 93 bytes 19:00:34.349094 Process 93 bytes request 19:00:34.349109 Got request: GET /verifiedserver HTTP/1.1 19:00:34.349119 Are-we-friendly question received 19:00:34.349143 Wrote request (93 bytes) input to log/5/server.input 19:00:34.349160 Identifying ourselves as friends 19:00:34.349226 Response sent (56 bytes) and written to log/5/server.response 19:00:34.349238 special request received, no persistency 19:00:34.349248 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 33632 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind223 ==88462== ==88462== Process terminating with default action of signal 4 (SIGILL) ==88462== Illegal opcode at address 0x4013E00 ==88462== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88462== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88462== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88462== by 0x40037A4: main (tool_main.c:199) === End of file valgrind223 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/9/valgrind225 ../src/curl -q --output log/9/curl225.out --include --trace-ascii log/9/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:41525/225%0a > log/9/stdout225 2> log/9/stderr225 curl returned 132, when expecting 3 225: exit FAILED == Contents of files in the log/9/ 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/9/valgrind225 ../src/curl -q --output log/9/curl225.out --include --trace-ascii log/9/trace225 --trace-time ftp://bad%0auser:passwd@127.0.0.1:41525/225%0a > log/9/stdout225 2> log/9/stderr225 === End of file commands.log === Start of file ftp_server.log 19:00:34.603210 ====> Client connect 19:00:34.603372 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:34.603733 < "USER anonymous" 19:00:34.603766 > "331 We are happy you popped in![CR][LF]" 19:00:34.603962 < "PASS ftp@example.com" 19:00:34.603989 > "230 Welcome you silly person[CR][LF]" 19:00:34.604149 < "PWD" 19:00:34.604181 > "257 "/" is current directory[CR][LF]" 19:00:34.604347 < "EPSV" 19:00:34.604371 ====> Passive DATA channel requested by client 19:00:34.604385 DATA sockfilt for passive data channel starting... 19:00:34.609114 DATA sockfilt for passive data channel started (pid 88468) 19:00:34.609229 DATA sockfilt for passive data channel listens on port 33441 19:00:34.609275 > "229 Entering Passive Mode (|||33441|)[CR][LF]" 19:00:34.609295 Client has been notified that DATA conn will be accepted on port 33441 19:00:34.610636 Client connects to port 33441 19:00:34.610669 ====> Client established passive DATA connection on port 33441 19:00:34.610757 < "TYPE I" 19:00:34.610788 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:34.610956 < "SIZE verifiedserver" 19:00:34.610994 > "213 17[CR][LF]" 19:00:34.611154 < "RETR verifiedserver" 19:00:34.611187 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:34.611277 =====> Closing passive DATA connection... 19:00:34.611293 Server disconnects passive DATA connection 19:00:34.611556 Server disconnected passive DATA connection 19:00:34.611584 DATA sockfilt for passive data channel quits (pid 88468) 19:00:34.612164 DATA sockfilt for passive data channel quit (pid 88468) 19:00:34.612194 =====> Closed passive DATA connection 19:00:34.612222 > "226 File transfer complete[CR][LF]" 19:00:34.665458 < "QUIT" 19:00:34.665515 > "221 bye bye baby[CR][LF]" 19:00:34.666637 MAIN sockfilt said DISC 19:00:34.666672 ====> Client disconnected 19:00:34.666742 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:34.375151 ====> Client connect 19:00:34.375445 Received DATA (on stdin) 19:00:34.375461 > 160 bytes data, server => client 19:00:34.375474 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:34.375486 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:34.375543 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:34.375617 < 16 bytes data, client => server 19:00:34.375653 'USER anonymous\r\n' 19:00:34.375831 Received DATA (on stdin) 19:00:34.375845 > 33 bytes data, server => client 19:00:34.375857 '331 We are happy you popped in!\r\n' 19:00:34.375910 < 22 bytes data, client => server 19:00:34.375923 'PASS ftp@example.com\r\n' 19:00:34.376050 Received DATA (on stdin) 19:00:34.376064 > 30 bytes data, server => client 19:00:34.376076 '230 Welcome you silly person\r\n' 19:00:34.376125 < 5 bytes data, client => server 19:00:34.376137 'PWD\r\n' 19:00:34.376243 Received DATA (on stdin) 19:00:34.376255 > 30 bytes data, server => client 19:00:34.376267 '257 "/" is current directory\r\n' 19:00:34.376326 < 6 bytes data, client => server 19:00:34.376339 'EPSV\r\n' 19:00:34.381363 Received DATA (on stdin) 19:00:34.381378 > 39 bytes data, server => client 19:00:34.381391 '229 Entering Passive Mode (|||33441|)\r\n' 19:00:34.382605 < 8 bytes data, client => server 19:00:34.382625 'TYPE I\r\n' 19:00:34.382852 Received DATA (on stdin) 19:00:34.382867 > 33 bytes data, server => client 19:00:34.382880 '200 I modify TYPE as you wanted\r\n' 19:00:34.382931 < 21 bytes data, client => server 19:00:34.382944 'SIZE verifiedserver\r\n' 19:00:34.383057 Received DATA (on stdin) 19:00:34.383070 > 8 bytes data, server => client 19:00:34.383082 '213 17\r\n' 19:00:34.383130 < 21 bytes data, client => server 19:00:34.383144 'RETR verifiedserver\r\n' 19:00:34.383358 Received DATA (on stdin) 19:00:34.383372 > 29 bytes data, server => client 19:00:34.383384 '150 Binary junk (17 bytes).\r\n' 19:00:34.384286 Received DATA (on stdin) 19:00:34.384301 > 28 bytes data, server => client 19:00:34.384313 '226 File transfer complete\r\n' 19:00:34.428696 < 6 bytes data, client => server 19:00:34.428728 'QUIT\r\n' 19:00:34.437593 Received DATA (on stdin) 19:00:34.437614 > 18 bytes data, server => client 19:00:34.437626 '221 bye bye baby\r\n' 19:00:34.438644 ====> Client disconnect 19:00:34.438805 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:34.378379 Running IPv4 version 19:00:34.378453 Listening on port 33441 19:00:34.378491 Wrote pid 88468 to log/9/server/ftp_sockdata.pid 19:00:34.381100 Received PING (on stdin) 19:00:34.381201 Received PORT (on stdin) 19:00:34.382649 ====> Client connect 19:00:34.383441 Received DATA (on stdin) 19:00:34.383457 > 17 bytes data, server => client 19:00:34.383470 'WE ROOLZ: 80682\r\n' 19:00:34.383496 Received DISC (on stdin) 19:00:34.383510 ====> Client forcibly disconnected 19:00:34.383654 Received QUIT (on stdin) 19:00:34.383667 quits 19:00:34.383750 ===CMD (33792): ../libtool --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/valgrind224 ../src/curl -q --output log/1/curl224.out --include --trace-ascii log/1/trace224 --trace-time http://127.0.0.1:40353/224 --compressed > log/1/stdout224 2> log/1/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/21/valgrind226 ../src/curl -q --output log/21/curl226.out --include --trace-ascii log/21/trace226 --trace-time ftp://127.0.0.1:35487/226%0d > log/21/stdout226 2> log/21/stderr226 =========> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 225 === End of file server.cmd === Start of file valgrind225 ==88657== ==88657== Process terminating with default action of signal 4 (SIGILL) ==88657== Illegal opcode at address 0x4013E00 ==88657== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88657== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88657== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88657== by 0x40037A4: main (tool_main.c:199) === End of file valgrind225 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/1/valgrind224 ../src/curl -q --output log/1/curl224.out --include --trace-ascii log/1/trace224 --trace-time http://127.0.0.1:40353/224 --compressed > log/1/stdout224 2> log/1/stderr224 224: 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 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/1/valgrind224 ../src/curl -q --output log/1/curl224.out --include --trace-ascii log/1/trace224 --trace-time http://127.0.0.1:40353/224 --compressed > log/1/stdout224 2> log/1/stderr224 === End of file commands.log === Start of file http_server.log 19:00:34.368423 ====> Client connect 19:00:34.368459 accept_connection 3 returned 4 19:00:34.368478 accept_connection 3 returned 0 19:00:34.368493 Read 93 bytes 19:00:34.368504 Process 93 bytes request 19:00:34.368519 Got request: GET /verifiedserver HTTP/1.1 19:00:34.368529 Are-we-friendly question received 19:00:34.368552 Wrote request (93 bytes) input to log/1/server.input 19:00:34.368570 Identifying ourselves as friends 19:00:34.368631 Response sent (56 bytes) and written to log/1/server.response 19:00:34.368641 special request received, no persistency 19:00:34.368651 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 37740 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind224 ==88482== ==88482== Process terminating with default action of signal 4 (SIGILL) ==88482== Illegal opcode at address 0x4013E00 ==88482== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88482== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88482== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88482== by 0x40037A4: 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/21/valgrind226 ../src/curl -q --output log/21/curl226.out --include --trace-ascii log/21/trace226 --trace-time ftp://127.0.0.1:35487/226%0d > log/21/stdout226 2> log/21/stderr226 curl returned 132, when expecting 3 226: exit FAILED == Contents of files in the log/21/ 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/21/valgrind226 ../src/curl -q --output log/21/curl226.out --include --trace-ascii log/21/trace226 --trace-time ftp://127.0.0.1:35487/226%0d > log/21/stdout226 2> log/21/stderr226 === End of file commands.log === Start of file ftp_server.log 19:00:34.742169 ====> Client connect 19:00:34.742316 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:34.742677 < "USER anonymous" 19:00:34.742726 > "331 We are happy you popped in![CR][LF]" 19:00:34.742966 < "PASS ftp@example.com" 19:00:34.743011 > "230 Welcome you silly person[CR][LF]" 19:00:34.743498 < "PWD" 19:00:34.743542 > "257 "/" is current directory[CR][LF]" 19:00:34.743759 < "EPSV" 19:00:34.743789 ====> Passive DATA channel requested by client 19:00:34.743808 DATA sockfilt for passive data channel starting... 19:00:34.746370 DATA sockfilt for passive data channel started (pid 88753) 19:00:34.746503 DATA sockfilt for passive data channel listens on port 40527 19:00:34.746556 > "229 Entering Passive Mode (|||40527|)[CR][LF]" 19:00:34.746578 Client has been notified that DATA conn will be accepted on port 40527 19:00:34.746849 Client connects to port 40527 19:00:34.746884 ====> Client established passive DATA connection on port 40527 19:00:34.746967 < "TYPE I" 19:00:34.747006 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:34.747195 < "SIZE verifiedserver" 19:00:34.747241 > "213 17[CR][LF]" 19:00:34.747441 < "RETR verifiedserver" 19:00:34.747482 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:34.747581 =====> Closing passive DATA connection... 19:00:34.747602 Server disconnects passive DATA connection 19:00:34.747898 Server disconnected passive DATA connection 19:00:34.747932 DATA sockfilt for passive data channel quits (pid 88753) 19:00:34.748160 DATA sockfilt for passive data channel quit (pid 88753) 19:00:34.748191 =====> Closed passive DATA connection 19:00:34.748225 > "226 File transfer complete[CR][LF]" 19:00:34.792412 < "QUIT" 19:00:34.792468 > "221 bye bye baby[CR][LF]" 19:00:34.799276 MAIN sockfilt said DISC 19:00:34.799334 ====> Client disconnected 19:00:34.799405 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:34.514126 ====> Client connect 19:00:34.514401 Received DATA (on stdin) 19:00:34.514422 > 160 bytes data, server => client 19:00:34.514436 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:34.514449 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:34.514462 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:34.514561 < 16 bytes data, client => server 19:00:34.514579 'USER anonymous\r\n' 19:00:34.514801 Received DATA (on stdin) 19:00:34.514818 > 33 bytes data, server => client 19:00:34.514832 '331 We are happy you popped in!\r\n' 19:00:34.514902 < 22 bytes data, client => server 19:00:34.514919 'PASS ftp@example.com\r\n' 19:00:34.515082 Received DATA (on stdin) 19:00:34.515099 > 30 bytes data, server => client 19:00:34.515113 '230 Welcome you silly person\r\n' 19:00:34.515442 < 5 bytes data, client => server 19:00:34.515463 'PWD\r\n' 19:00:34.515614 Received DATA (on stdin) 19:00:34.515630 > 30 bytes data, server => client 19:00:34.515644 '257 "/" is current directory\r\n' 19:00:34.515714 < 6 bytes data, client => server 19:00:34.515731 'EPSV\r\n' 19:00:34.518648 Received DATA (on stdin) 19:00:34.518663 > 39 bytes data, server => client 19:00:34.518676 '229 Entering Passive Mode (|||40527|)\r\n' 19:00:34.518817 < 8 bytes data, client => server 19:00:34.518837 'TYPE I\r\n' 19:00:34.519074 Received DATA (on stdin) 19:00:34.519089 > 33 bytes data, server => client 19:00:34.519102 '200 I modify TYPE as you wanted\r\n' 19:00:34.519159 < 21 bytes data, client => server 19:00:34.519174 'SIZE verifiedserver\r\n' 19:00:34.519310 Received DATA (on stdin) 19:00:34.519327 > 8 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/11/valgrind230 ../src/curl -q --output log/11/curl230.out --include --trace-ascii log/11/trace230 --trace-time http://127.0.0.1:46317/230 --compressed > log/11/stdout230 2> log/11/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/6/valgrind229 ../src/curl -q --output log/6/curl229.out --include --trace-ascii log/6/trace229 --trace-time ftp://127.0.0.1:36475/229 --ftp-account "one count" > log/6/stdout229 2> log/6/stderr229 er => client 19:00:34.519340 '213 17\r\n' 19:00:34.519400 < 21 bytes data, client => server 19:00:34.519418 'RETR verifiedserver\r\n' 19:00:34.519670 Received DATA (on stdin) 19:00:34.519686 > 29 bytes data, server => client 19:00:34.519699 '150 Binary junk (17 bytes).\r\n' 19:00:34.520293 Received DATA (on stdin) 19:00:34.520308 > 28 bytes data, server => client 19:00:34.520321 '226 File transfer complete\r\n' 19:00:34.564257 < 6 bytes data, client => server 19:00:34.564288 'QUIT\r\n' 19:00:34.564538 Received DATA (on stdin) 19:00:34.564554 > 18 bytes data, server => client 19:00:34.564567 '221 bye bye baby\r\n' 19:00:34.570790 ====> Client disconnect 19:00:34.571482 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:34.517896 Running IPv4 version 19:00:34.517964 Listening on port 40527 19:00:34.517998 Wrote pid 88753 to log/21/server/ftp_sockdata.pid 19:00:34.518359 Received PING (on stdin) 19:00:34.518465 Received PORT (on stdin) 19:00:34.518861 ====> Client connect 19:00:34.519762 Received DATA (on stdin) 19:00:34.519781 > 17 bytes data, server => client 19:00:34.519793 'WE ROOLZ: 81255\r\n' 19:00:34.519825 Received DISC (on stdin) 19:00:34.519840 ====> Client forcibly disconnected 19:00:34.520006 Received QUIT (on stdin) 19:00:34.520020 quits 19:00:34.520079 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 226 === End of file server.cmd === Start of file valgrind226 ==88853== ==88853== Process terminating with default action of signal 4 (SIGILL) ==88853== Illegal opcode at address 0x4013E00 ==88853== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88853== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88853== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88853== by 0x40037A4: main (tool_main.c:199) === End of file valgrind226 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/11/valgrind230 ../src/curl -q --output log/11/curl230.out --include --trace-ascii log/11/trace230 --trace-time http://127.0.0.1:46317/230 --compressed > log/11/stdout230 2> log/11/stderr230 230: 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 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/11/valgrind230 ../src/curl -q --output log/11/curl230.out --include --trace-ascii log/11/trace230 --trace-time http://127.0.0.1:46317/230 --compressed > log/11/stdout230 2> log/11/stderr230 === End of file commands.log === Start of file http_server.log 19:00:34.525627 ====> Client connect 19:00:34.525661 accept_connection 3 returned 4 19:00:34.525680 accept_connection 3 returned 0 19:00:34.525696 Read 93 bytes 19:00:34.525708 Process 93 bytes request 19:00:34.525725 Got request: GET /verifiedserver HTTP/1.1 19:00:34.525736 Are-we-friendly question received 19:00:34.525764 Wrote request (93 bytes) input to log/11/server.input 19:00:34.525782 Identifying ourselves as friends 19:00:34.525836 Response sent (56 bytes) and written to log/11/server.response 19:00:34.525848 special request received, no persistency 19:00:34.525858 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 33288 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind230 ==88776== ==88776== Process terminating with default action of signal 4 (SIGILL) ==88776== Illegal opcode at address 0x4013E00 ==88776== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88776== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88776== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88776== by 0x40037A4: main (tool_main.c:199) === End of file valgrind230 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/6/valgrind229 ../src/curl -q --output log/6/curl229.out --include --trace-ascii log/6/trace229 --trace-time ftp://127.0.0.1:36475/229 --ftp-account "one count" > log/6/stdout229 2> log/6/stderr229 229: 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 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/6/valgrind229 ../src/curl -q --output log/6/curl229.out --include --trace-ascii log/6/trace229 --trace-time ftp://127.0.0.1:36475/229 --ftp-account "one count" > log/6/stdout229 2> log/6/stderr229 === End of file commands.log === Start of file ftp_server.log 19:00:34.735508 ====> Client connect 19:00:34.735666 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:34.738877 < "USER anonymous" 19:00:34.738929 > "331 We are happy you popped in![CR][LF]" 19:00:34.739157 < "PASS ftp@example.com" 19:00:34.739188 > "230 Welcome you silly person[CR][LF]" 19:00:34.739355 < "PWD" 19:00:34.739387 > "257 "/" is current directory[CR][LF]" 19:00:34.739566 < "EPSV" 19:00:34.739592 ====> Passive DATA channel requested by client 19:00:34.739607 DATA sockfilt for passive data channel starting... 19:00:34.743956 DATA sockfilt for passive data channel started (pid 88749) 19:00:34.750711 DATA sockfilt for passive data channel listens on port 39283 19:00:34.750784 > "229 Entering Passive Mode (|||39283|)[CR][LF]" 19:00:34.750812 Client has been notified that DATA conn will be accepted on port 39283 19:00:34.751240 Client connects to port 39283 19:00:34.751283 ====> Client established passive DATA connection on port 39283 19:00:34.751461 < "TYPE I" 19:00:34.751509 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:34.751729 < "SIZE verifiedserver" 19:00:34.751780 > "213 17[CR][LF]" 19:00:34.751968 < "RETR verifiedserver" 19:00:34.752004 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:34.752303 =====> Closing passive DATA connection... 19:00:34.752330 Server disconnects passive DATA connection 19:00:34.752472 Server disconnected passive DATA connection 19:00:34.752504 DATA sockfilt for passive data channel quits (pid 88749) 19:00:34.752787 DATA sockfilt for passive data channel quit (pid 88749) 19:00:34.752821 =====> Closed passive DATA connection 19:00:34.752854 > "226 File transfer complete[CR][LF]" 19:00:34.795819 < "QUIT" 19:00:34.795880 > "221 bye bye baby[CR][LF]" 19:00:34.798071 MAIN sockfilt said DISC 19:00:34.798120 ====> Client disconnected 19:00:34.798192 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:35.507465 ====> Client connect 19:00:35.507745 Received DATA (on stdin) 19:00:35.507763 > 160 bytes data, server => client 19:00:35.507777 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:35.507789 ' \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/14/valgrind227 ../src/curl -q --output log/14/curl227.out --include --trace-ascii log/14/trace227 --trace-time ftp://127.0.0.1:35357/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/14/stdout227 2> log/14/stderr227 220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:35.507800 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:35.507911 < 16 bytes data, client => server 19:00:35.507927 'USER anonymous\r\n' 19:00:35.511002 Received DATA (on stdin) 19:00:35.511019 > 33 bytes data, server => client 19:00:35.511033 '331 We are happy you popped in!\r\n' 19:00:35.511113 < 22 bytes data, client => server 19:00:35.511127 'PASS ftp@example.com\r\n' 19:00:35.511251 Received DATA (on stdin) 19:00:35.511265 > 30 bytes data, server => client 19:00:35.511277 '230 Welcome you silly person\r\n' 19:00:35.511330 < 5 bytes data, client => server 19:00:35.511342 'PWD\r\n' 19:00:35.511451 Received DATA (on stdin) 19:00:35.511464 > 30 bytes data, server => client 19:00:35.511478 '257 "/" is current directory\r\n' 19:00:35.511540 < 6 bytes data, client => server 19:00:35.511553 'EPSV\r\n' 19:00:35.523035 Received DATA (on stdin) 19:00:35.523062 > 39 bytes data, server => client 19:00:35.523077 '229 Entering Passive Mode (|||39283|)\r\n' 19:00:35.523379 < 8 bytes data, client => server 19:00:35.523397 'TYPE I\r\n' 19:00:35.523584 Received DATA (on stdin) 19:00:35.523601 > 33 bytes data, server => client 19:00:35.523614 '200 I modify TYPE as you wanted\r\n' 19:00:35.523677 < 21 bytes data, client => server 19:00:35.523695 'SIZE verifiedserver\r\n' 19:00:35.523852 Received DATA (on stdin) 19:00:35.523868 > 8 bytes data, server => client 19:00:35.523880 '213 17\r\n' 19:00:35.523936 < 21 bytes data, client => server 19:00:35.523950 'RETR verifiedserver\r\n' 19:00:35.524924 Received DATA (on stdin) 19:00:35.524941 > 29 bytes data, server => client 19:00:35.524954 '150 Binary junk (17 bytes).\r\n' 19:00:35.524979 Received DATA (on stdin) 19:00:35.524993 > 28 bytes data, server => client 19:00:35.525005 '226 File transfer complete\r\n' 19:00:35.567713 < 6 bytes data, client => server 19:00:35.567737 'QUIT\r\n' 19:00:35.567959 Received DATA (on stdin) 19:00:35.567978 > 18 bytes data, server => client 19:00:35.567991 '221 bye bye baby\r\n' 19:00:35.570067 ====> Client disconnect 19:00:35.570264 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:34.514393 Running IPv4 version 19:00:34.514455 Listening on port 39283 19:00:34.514492 Wrote pid 88749 to log/6/server/ftp_sockdata.pid 19:00:34.515123 Received PING (on stdin) 19:00:34.521624 Received PORT (on stdin) 19:00:34.523243 ====> Client connect 19:00:34.524402 Received DATA (on stdin) 19:00:34.524419 > 17 bytes data, server => client 19:00:34.524431 'WE ROOLZ: 80654\r\n' 19:00:34.524463 Received DISC (on stdin) 19:00:34.524480 ====> Client forcibly disconnected 19:00:34.524579 Received QUIT (on stdin) 19:00:34.524594 quits 19:00:34.524660 ============> 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 ==88791== ==88791== Process terminating with default action of signal 4 (SIGILL) ==88791== Illegal opcode at address 0x4013E00 ==88791== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88791== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88791== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88791== by 0x40037A4: main (tool_main.c:199) === End of file valgrind229 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/14/valgrind227 ../src/curl -q --output log/14/curl227.out --include --trace-ascii log/14/trace227 --trace-time ftp://127.0.0.1:35357/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/14/stdout227 2> log/14/stderr227 227: 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 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/14/valgrind227 ../src/curl -q --output log/14/curl227.out --include --trace-ascii log/14/trace227 --trace-time ftp://127.0.0.1:35357/227 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/14/stdout227 2> log/14/stderr227 === End of file commands.log === Start of file ftp_server.log 19:00:34.721980 ====> Client connect 19:00:34.722190 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:34.725615 < "USER anonymous" 19:00:34.725676 > "331 We are happy you popped in![CR][LF]" 19:00:34.726423 < "PASS ftp@example.com" 19:00:34.726464 > "230 Welcome you silly person[CR][LF]" 19:00:34.727250 < "PWD" 19:00:34.727296 > "257 "/" is current directory[CR][LF]" 19:00:34.727502 < "EPSV" 19:00:34.727530 ====> Passive DATA channel requested by client 19:00:34.727547 DATA sockfilt for passive data channel starting... 19:00:34.734262 DATA sockfilt for passive data channel started (pid 88737) 19:00:34.734458 DATA sockfilt for passive data channel listens on port 39035 19:00:34.734515 > "229 Entering Passive Mode (|||39035|)[CR][LF]" 19:00:34.734534 Client has been notified that DATA conn will be accepted on port 39035 19:00:34.734815 Client connects to port 39035 19:00:34.734852 ====> Client established passive DATA connection on port 39035 19:00:34.734948 < "TYPE I" 19:00:34.734983 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:34.739777 < "SIZE verifiedserver" 19:00:34.739830 > "213 17[CR][LF]" 19:00:34.739994 < "RETR verifiedserver" 19:00:34.740030 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:34.740118 =====> Closing passive DATA connection... 19:00:34.740134 Server disconnects passive DATA connection 19:00:34.740370 Server disconnected passive DATA connection 19:00:34.740395 DATA sockfilt for passive data channel quits (pid 88737) 19:00:34.740664 DATA sockfilt for passive data channel quit (pid 88737) 19:00:34.740686 =====> Closed passive DATA connection 19:00:34.740714 > "226 File transfer complete[CR][LF]" 19:00:34.789100 < "QUIT" 19:00:34.789176 > "221 bye bye baby[CR][LF]" 19:00:34.790102 MAIN sockfilt said DISC 19:00:34.790138 ====> Client disconnected 19:00:34.790248 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:35.493905 ====> Client connect 19:00:35.494283 Received DATA (on stdin) 19:00:35.494305 > 160 bytes data, server => client 19:00:35.494319 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:35.494333 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:35.494344 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:35.497466 < 16 bytes data, client => server 19:00:35.497488 'USER anonymous\r\n' 19:00:35.497747 Received DATA (on stdin) 19:00:35.497763 > 33 bytes data, server => client 19:00:35.497777 '331 We are happy you popped in!\r\n' 19:00:35.498350 < 22 bytes data, client => server 19:00:35.498370 'PASS ftp@example.com\r\n' 19:00:35.498534 Received DATA (on stdin) 19:00:35.498550 > 30 bytes data, server => client 19:00:35.498563 '230 Welcome you silly person\r\n' 19:00:35.499186 < 5 bytes data, client => server 19:00:35.499207 'PWD\r\n' 19:00:35.499364 Received DATA (on stdin) 19:00:35.499380 > 30 bytes data, server => client 19:00:35.499392 '257 "/" is current directory\r\n' 19:00:35.499463 < 6 bytes data, client => server 19:00:35.499478 'EPSV\r\n' 19:00:35.506606 Received DATA (on stdin) 19:00:35.506625 > 39 bytes data, server => client 19:00:35.506637 '229 Entering Passive Mode (|||39035|)\r\n' 19:00:35.506787 < 8 bytes data, client => server 19:00:35.506803 'TYPE I\r\n' 19:00:35.510826 Received DATA (on stdin) 19:00:35.510899 > 33 bytes data, server => client 19:00:35.511083 '200 I modify TYPE as you 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/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 anted\r\n' 19:00:35.511512 < 21 bytes data, client => server 19:00:35.511530 'SIZE verifiedserver\r\n' 19:00:35.511893 Received DATA (on stdin) 19:00:35.511907 > 8 bytes data, server => client 19:00:35.511918 '213 17\r\n' 19:00:35.511971 < 21 bytes data, client => server 19:00:35.511983 'RETR verifiedserver\r\n' 19:00:35.512196 Received DATA (on stdin) 19:00:35.512208 > 29 bytes data, server => client 19:00:35.512219 '150 Binary junk (17 bytes).\r\n' 19:00:35.512776 Received DATA (on stdin) 19:00:35.512790 > 28 bytes data, server => client 19:00:35.512801 '226 File transfer complete\r\n' 19:00:35.560922 < 6 bytes data, client => server 19:00:35.560980 'QUIT\r\n' 19:00:35.561246 Received DATA (on stdin) 19:00:35.561263 > 18 bytes data, server => client 19:00:35.561276 '221 bye bye baby\r\n' 19:00:35.562109 ====> Client disconnect 19:00:35.562313 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:34.501979 Running IPv4 version 19:00:34.502054 Listening on port 39035 19:00:34.502090 Wrote pid 88737 to log/14/server/ftp_sockdata.pid 19:00:34.502111 Received PING (on stdin) 19:00:34.506401 Received PORT (on stdin) 19:00:34.506827 ====> Client connect 19:00:34.512246 Received DATA (on stdin) 19:00:34.512262 > 17 bytes data, server => client 19:00:34.512273 'WE ROOLZ: 80651\r\n' 19:00:34.512297 Received DISC (on stdin) 19:00:34.512308 ====> Client forcibly disconnected 19:00:34.512464 Received QUIT (on stdin) 19:00:34.512476 quits 19:00:34.512545 ============> 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 227 === End of file server.cmd === Start of file valgrind227 ==88785== ==88785== Process terminating with default action of signal 4 (SIGILL) ==88785== Illegal opcode at address 0x4013E00 ==88785== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88785== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88785== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88785== by 0x40037A4: main (tool_main.c:199) === End of file valgrind227 CMD (33792): ../libtool --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/valgrind228 ../src/curl -q --output log/17/curl228.out --include --trace-ascii log/17/trace228 --trace-time ftp://127.0.0.1:32811/228 --ftp-account "one count" > log/17/stdout228 2> log/17/stderr228 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-11-13 19:00:36.099390987 +0000 +++ log/8/check-generated 2025-11-13 19:00:36.099390987 +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 ==88945== ==88945== Process terminating with default action of signal 4 (SIGILL) ==88945== Illegal opcode at address 0x4013E00 ==88945== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88945== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88945== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88945== by 0x40037A4: main (tool_main.c:199) === End of file valgrind231 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/17/valgrind228 ../src/curl -q --output log/17/curl228.out --include --trace-ascii log/17/trace228 --trace-time ftp://127.0.0.1:32811/228 --ftp-account "one count" > log/17/stdout228 2> log/17/stderr228 228: 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 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/17/valgrind228 ../src/curl -q --output log/17/curl228.out --include --trace-ascii log/17/trace228 --trace-time ftp://127.0.0.1:32811/228 --ftp-account "one count" > log/17/stdout228 2> log/17/stderr228 === End of file commands.log === Start of file ftp_server.log 19:00:34.736518 ====> Client connect 19:00:34.736686 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:34.742675 < "USER anonymous" 19:00:34.742731 > "331 We are happy you popped in![CR][LF]" 19:00:34.744086 < "PASS ftp@example.com" 19:00:34.744129 > "230 Welcome you silly person[CR][LF]" 19:00:34.748403 < "PWD" 19:00:34.748462 > "257 "/" is current directory[CR][LF]" 19:00:34.748707 < "EPSV" 19:00:34.748753 ====> Passive DATA channel requested by client 19:00:34.748772 DATA sockfilt for passive data channel starting... 19:00:34.753137 DATA sockfilt for passive data channel started (pid 88758) 19:00:34.753274 DATA sockfilt for passive data channel listens on port 33371 19:00:34.753332 > "229 Entering Passive Mode (|||33371|)[CR][LF]" 19:00:34.753355 Client has been notified that DATA conn will be accepted on port 33371 19:00:34.753634 Client connects to port 33371 19:00:34.753676 ====> Client established passive DATA connection on port 33371 19:00:34.753783 < "TYPE I" 19:00:34.753827 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:34.754042 < "SIZE verifiedserver" 19:00:34.754094 > "213 17[CR][LF]" 19:00:34.754285 < "RETR verifiedserver" 19:00:34.754325 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:34.754415 =====> Closing passive DATA connection... 19:00:34.754433 Server disconnects passive DATA connection 19:00:34.754713 Server disconnected passive DATA connection 19:00:34.754749 DATA sockfilt for passive data channel quits (pid 88758) 19:00:34.755001 DATA sockfilt for passive data channel quit (pid 88758) 19:00:34.755031 =====> Closed passive DATA connection 19:00:34.755066 > "226 File transfer complete[CR][LF]" 19:00:34.796092 < "QUIT" 19:00:34.796155 > "221 bye bye baby[CR][LF]" 19:00:34.797101 MAIN sockfilt said DISC 19:00:34.797142 ====> Client disconnected 19:00:34.797231 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:34.506543 ====> Client connect 19:00:34.508783 Received DATA (on stdin) 19:00:34.508805 > 160 bytes data, server => client 19:00:34.508820 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:34.508833 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:34.508846 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:34.514408 < 16 bytes data, client => server 19:00:34.514433 'USER anonymous\r\n' 19:00:34.514816 Received DATA (on stdin) 19:00:34.514834 > 33 bytes data, server => client 19:00:34.514847 '331 We are happy you popped in!\r\n' 19:00:34.515938 < 22 bytes data, client => server 19:00:34.515960 'PASS ftp@example.com\r\n' 19:00:34.516198 Received DATA (on stdin) 19:00:34.516212 > 30 bytes data, server => client 19:00:34.516224 '230 Welcome you silly person\r\n' 19:00:34.516286 < 5 bytes data, client => server 19:00:34.516303 'PWD\r\n' 19:00:34.520538 Received DATA (on stdin) 19:00:34.520557 > 30 bytes data, server => client 19:00:34.520570 '257 "/" is current directory\r\n' 19:00:34.520650 < 6 bytes data, client => server 19:00:34.520669 'EPSV\r\n' 19:00:34.525433 Received DATA (on stdin) 19:00:34.525450 > 39 bytes data, server => client 19:00:34.525463 '229 Entering Passive Mode (|||33371|)\r\n' 19:00:34.525599 < 8 bytes data, client => server 19:00:34.525620 'TYPE I\r\n' 19:00:34.525896 Received DATA (on stdin) 19:00:34.525912 > 33 bytes data, server => client 19:00:34.525925 '200 I modify TYPE as you wanted\r\n' 19:00:34.525990 < 21 bytes data, client => server 19:00:34.526009 'SIZE verifiedserver\r\n' 19:00:34.526164 Received DATA (on stdin) 19:00:34.526180 > 8 bytes data, server => client 19:00:34.526192 '213 17\r\n' 19:00:34.526248 < 21 bytes data, client => server 19:00:34.526262 'RETR verifiedserver\r\n' 19:00:34.526499 Received DATA (on stdin) 19:00:34.526514 > 29 bytes data, server => client 19:00:34.526526 '150 Binary junk (17 bytes).\r\n' 19:00:34.527135 Received DATA (on stdin) 19:00:34.527151 > 28 bytes data, server => client 19:00:34.527164 '226 File transfer complete\r\n' 19:00:34.567575 < 6 bytes data, client => server 19:00:34.567605 'QUIT\r\n' 19:00:34.568235 Received DATA (on stdin) 19:00:34.568256 > 18 bytes data, server => client 19:00:34.568270 '221 bye bye baby\r\n' 19:00:34.569100 ====> Client disconnect 19:00:34.569308 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:34.522534 Running IPv4 version 19:00:34.522603 Listening on port 33371 19:00:34.522643 Wrote pid 88758 to log/17/server/ftp_sockdata.pid 19:00:34.525125 Received PING (on stdin) 19:00:34.525238 Received PORT (on stdin) 19:00:34.525643 ====> Client connect 19:00:34.526589 Received DATA (on stdin) 19:00:34.526608 > 17 bytes data, server => client 19:00:34.526619 'WE ROOLZ: 80755\r\n' 19:00:34.526647 Received DISC (on stdin) 19:00:34.526660 ====> Client forcibly disconnected 19:00:34.526833 Received QUIT (on stdin) 19:00:34.526848 quits 19:00:34.526907 ============> 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.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/13/valgrind232 ../src/curl -q --output log/13/curl232.out --include --trace-ascii log/13/trace232 --trace-time http://127.0.0.1:35301/232 --compressed > log/13/stdout232 2> log/13/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/2/valgrind233 ../src/curl -q --output log/2/curl233.out --include --trace-ascii log/2/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:44325 --user iam:myself --proxy-user testing:this --location > log/2/stdout233 2> log/2/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/20/valgrind234 ../src/curl -q --output log/20/curl234.out --include --trace-ascii log/20/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:38583 --user iam:myself --proxy-user testing:this --location-trusted > log/20/stdout234 2> log/20/stderr234 === Start of file valgrind228 ==88792== ==88792== Process terminating with default action of signal 4 (SIGILL) ==88792== Illegal opcode at address 0x4013E00 ==88792== at 0x4013E00: getparameter (tool_getparam.c:2846) ==88792== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==88792== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==88792== by 0x40037A4: main (tool_main.c:199) === End of file valgrind228 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/13/valgrind232 ../src/curl -q --output log/13/curl232.out --include --trace-ascii log/13/trace232 --trace-time http://127.0.0.1:35301/232 --compressed > log/13/stdout232 2> log/13/stderr232 232: 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 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/13/valgrind232 ../src/curl -q --output log/13/curl232.out --include --trace-ascii log/13/trace232 --trace-time http://127.0.0.1:35301/232 --compressed > log/13/stdout232 2> log/13/stderr232 === End of file commands.log === Start of file http_server.log 19:00:34.764191 ====> Client connect 19:00:34.764230 accept_connection 3 returned 4 19:00:34.764250 accept_connection 3 returned 0 19:00:34.764267 Read 93 bytes 19:00:34.764277 Process 93 bytes request 19:00:34.764293 Got request: GET /verifiedserver HTTP/1.1 19:00:34.764304 Are-we-friendly question received 19:00:34.764335 Wrote request (93 bytes) input to log/13/server.input 19:00:34.764357 Identifying ourselves as friends 19:00:34.764426 Response sent (56 bytes) and written to log/13/server.response 19:00:34.764438 special request received, no persistency 19:00:34.764448 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 55406 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind232 ==89141== ==89141== Process terminating with default action of signal 4 (SIGILL) ==89141== Illegal opcode at address 0x4013E00 ==89141== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89141== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89141== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89141== by 0x40037A4: 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/2/valgrind233 ../src/curl -q --output log/2/curl233.out --include --trace-ascii log/2/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:44325 --user iam:myself --proxy-user testing:this --location > log/2/stdout233 2> log/2/stderr233 233: 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 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/2/valgrind233 ../src/curl -q --output log/2/curl233.out --include --trace-ascii log/2/trace233 --trace-time http://first.host.it.is/we/want/that/page/233 -x 127.0.0.1:44325 --user iam:myself --proxy-user testing:this --location > log/2/stdout233 2> log/2/stderr233 === End of file commands.log === Start of file http_server.log 19:00:35.833337 ====> Client connect 19:00:35.833372 accept_connection 3 returned 4 19:00:35.833390 accept_connection 3 returned 0 19:00:35.833542 Read 93 bytes 19:00:35.833558 Process 93 bytes request 19:00:35.833572 Got request: GET /verifiedserver HTTP/1.1 19:00:35.833583 Are-we-friendly question received 19:00:35.833612 Wrote request (93 bytes) input to log/2/server.input 19:00:35.833631 Identifying ourselves as friends 19:00:35.833687 Response sent (56 bytes) and written to log/2/server.response 19:00:35.833699 special request received, no persistency 19:00:35.833709 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 46992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind233 ==89176== ==89176== Process terminating with default action of signal 4 (SIGILL) ==89176== Illegal opcode at address 0x4013E00 ==89176== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89176== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89176== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89176== by 0x40037A4: 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/20/valgrind234 ../src/curl -q --output log/20/curl234.out --include --trace-ascii log/20/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:38583 --user iam:myself --proxy-user testing:this --location-trusted > log/20/stdout234 2> log/20/stderr234 234: 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 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/20/valgrind234 ../src/curl -q --output log/20/curl234.out --include --trace-ascii log/20/trace234 --trace-time http://first.host.it.is/we/want/that/page/234 -x 127.0.0.1:38583 --user iam:myself --proxy-user testing:this --location-trusted > log/20/stdout234 2> log/20/stderr234 === End of file commands.log === Start of file http_server.log 19:00:34.930875 ====> Client connect 19:00:34.930920 accept_connection 3 returned 4 19:00:34.930943 accept_connection 3 returned 0 19:00:34.930964 Read 93 bytes 19:00:34.930977 Process 93 bytes request 19:00:34.930992 Got request: GET /verifiedserver HTTP/1.1 19:00:34.931003 Are-we-friendly question received 19:00:34.931034 Wrote request (93 bytes) input to log/20/server.input 19:00:34.931057 Identifying ourselves as friends 19:00:34.931128 Response sent (56 bytes) and written to log/20/server.response 19:00:34.931144 special requeCMD (33792): ../libtool --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/valgrind236 ../src/curl -q --output log/16/curl236.out --include --trace-ascii log/16/trace236 --trace-time ftp://127.0.0.1:35319/236 -T log/16/file236.txt -C - > log/16/stdout236 2> log/16/stderr236 st received, no persistency 19:00:34.931156 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 37042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind234 ==89220== ==89220== Process terminating with default action of signal 4 (SIGILL) ==89220== Illegal opcode at address 0x4013E00 ==89220== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89220== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89220== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89220== by 0x40037A4: main (tool_main.c:199) === End of file valgrind234 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/16/valgrind236 ../src/curl -q --output log/16/curl236.out --include --trace-ascii log/16/trace236 --trace-time ftp://127.0.0.1:35319/236 -T log/16/file236.txt -C - > log/16/stdout236 2> log/16/stderr236 236: 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 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/16/valgrind236 ../src/curl -q --output log/16/curl236.out --include --trace-ascii log/16/trace236 --trace-time ftp://127.0.0.1:35319/236 -T log/16/file236.txt -C - > log/16/stdout236 2> log/16/stderr236 === End of file commands.log === Start of file file236.txt Test data === End of file file236.txt === Start of file ftp_server.log 19:00:35.555554 ====> Client connect 19:00:35.555732 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:35.556124 < "USER anonymous" 19:00:35.556171 > "331 We are happy you popped in![CR][LF]" 19:00:35.556394 < "PASS ftp@example.com" 19:00:35.556438 > "230 Welcome you silly person[CR][LF]" 19:00:35.556622 < "PWD" 19:00:35.556661 > "257 "/" is current directory[CR][LF]" 19:00:35.556852 < "EPSV" 19:00:35.556879 ====> Passive DATA channel requested by client 19:00:35.556894 DATA sockfilt for passive data channel starting... 19:00:35.564337 DATA sockfilt for passive data channel started (pid 89410) 19:00:35.564487 DATA sockfilt for passive data channel listens on port 39065 19:00:35.564537 > "229 Entering Passive Mode (|||39065|)[CR][LF]" 19:00:35.564558 Client has been notified that DATA conn will be accepted on port 39065 19:00:35.564920 Client connects to port 39065 19:00:35.564953 ====> Client established passive DATA connection on port 39065 19:00:35.565059 < "TYPE I" 19:00:35.565099 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:35.565311 < "SIZE verifiedserver" 19:00:35.565355 > "213 17[CR][LF]" 19:00:35.565574 < "RETR verifiedserver" 19:00:35.565619 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:35.565723 =====> Closing passive DATA connection... 19:00:35.565744 Server disconnects passive DATA connection 19:00:35.565979 Server disconnected passive DATA connection 19:00:35.566011 DATA sockfilt for passive data channel quits (pid 89410) 19:00:35.566300 DATA sockfilt for passive data channel quit (pid 89410) 19:00:35.566329 =====> Closed passive DATA connection 19:00:35.566361 > "226 File transfer complete[CR][LF]" 19:00:35.612554 < "QUIT" 19:00:35.612612 > "221 bye bye baby[CR][LF]" 19:00:35.621030 MAIN sockfilt said DISC 19:00:35.621092 ====> Client disconnected 19:00:35.621178 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:35.327468 ====> Client connect 19:00:35.327818 Received DATA (on stdin) 19:00:35.327841 > 160 bytes data, server => client 19:00:35.327856 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:35.327870 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:35.327883 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:35.328019 < 16 bytes data, client => server 19:00:35.328040 'USER anonymous\r\n' 19:00:35.328243 Received DATA (on stdin) 19:00:35.328259 > 33 bytes data, server => client 19:00:35.328272 '331 We are happy you popped in!\r\n' 19:00:35.328338 < 22 bytes data, client => server 19:00:35.328355 'PASS ftp@example.com\r\n' 19:00:35.328505 Received DATA (on stdin) 19:00:35.328519 > 30 bytes data, server => client 19:00:35.328531 '230 Welcome you silly person\r\n' 19:00:35.328589 < 5 bytes data, client => server 19:00:35.328602 'PWD\r\n' 19:00:35.328728 Received DATA (on stdin) 19:00:35.328741 > 30 bytes data, server => client 19:00:35.328753 '257 "/" is current directory\r\n' 19:00:35.328821 < 6 bytes data, client => server 19:00:35.328835 'EPSV\r\n' 19:00:35.336616 Received DATA (on stdin) 19:00:35.336645 > 39 bytes data, server => client 19:00:35.336659 '229 Entering Passive Mode (|||39065|)\r\n' 19:00:35.336912 < 8 bytes data, client => server 19:00:35.336928 'TYPE I\r\n' 19:00:35.337170 Received DATA (on stdin) 19:00:35.337186 > 33 bytes data, server => client 19:00:35.337199 '200 I modify TYPE as you wanted\r\n' 19:00:35.337267 < 21 bytes data, client => server 19:00:35.337282 'SIZE verifiedserver\r\n' 19:00:35.337424 Received DATA (on stdin) 19:00:35.337448 > 8 bytes data, server => client 19:00:35.337460 '213 17\r\n' 19:00:35.337527 < 21 bytes data, client => server 19:00:35.337545 'RETR verifiedserver\r\n' 19:00:35.337777 Received DATA (on stdin) 19:00:35.337801 > 29 bytes data, server => client 19:00:35.337815 '150 Binary junk (17 bytes).\r\n' 19:00:35.338428 Received DATA (on stdin) 19:00:35.338443 > 28 bytes data, server => client 19:00:35.338457 '226 File transfer complete\r\n' 19:00:35.384441 < 6 bytes data, client => server 19:00:35.384469 'QUIT\r\n' 19:00:35.387487 Received DATA (on stdin) 19:00:35.387512 > 18 bytes data, server => client 19:00:35.387526 '221 bye bye baby\r\n' 19:00:35.391682 ====> Client disconnect 19:00:35.394240 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:35.332062 Running IPv4 version 19:00:35.332138 Listening on port 39065 19:00:35.332178 Wrote pid 89410 to log/16/server/ftp_sockdata.pid 19:00:35.336300 Received PING (on stdin) 19:00:35.336448 Received PORT (on stdin) 19:00:35.336872 ====> Client connect 19:00:35.337900 Received DATA (on stdin) 19:00:35.337921 > 17 bytes data, server => client 19:00:35.337934 'WE ROOLZ: 80535\r\n' 19:00:35.337969 Received DISC (on stdin) 19:00:35.337985 ====> Client forcibly disconnected 19:00:35.338085 Received QUIT (on stdin) 19:00:35.338098 quits 19:00:35.338177 ============> 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 ==89473== ==89473== Process terminating with default action of signal 4 (SIGILL) ==89473== Illegal opcode at address 0x4013E00 ==89473== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89473== by 0x40037A4: UnknownCMD (33792): ../libtool --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/valgrind235 ../src/curl -q --output log/12/curl235.out --include --trace-ascii log/12/trace235 --trace-time ftp://127.0.0.1:35151/235 -T log/12/upload235 -C - > log/12/stdout235 2> log/12/stderr235 CMD (33792): ../libtool --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/valgrind237 ../src/curl -q --output log/19/curl237.out --include --trace-ascii log/19/trace237 --trace-time ftp://127.0.0.1:33175/237 --disable-epsv > log/19/stdout237 2> log/19/stderr237 InlinedFun (tool_getparam.c:3029) ==89473== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89473== by 0x40037A4: main (tool_main.c:199) === End of file valgrind236 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/12/valgrind235 ../src/curl -q --output log/12/curl235.out --include --trace-ascii log/12/trace235 --trace-time ftp://127.0.0.1:35151/235 -T log/12/upload235 -C - > log/12/stdout235 2> log/12/stderr235 235: 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 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/12/valgrind235 ../src/curl -q --output log/12/curl235.out --include --trace-ascii log/12/trace235 --trace-time ftp://127.0.0.1:35151/235 -T log/12/upload235 -C - > log/12/stdout235 2> log/12/stderr235 === End of file commands.log === Start of file ftp_server.log 19:00:35.369814 ====> Client connect 19:00:35.370005 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:35.370323 < "USER anonymous" 19:00:35.370370 > "331 We are happy you popped in![CR][LF]" 19:00:35.370555 < "PASS ftp@example.com" 19:00:35.370593 > "230 Welcome you silly person[CR][LF]" 19:00:35.375108 < "PWD" 19:00:35.375173 > "257 "/" is current directory[CR][LF]" 19:00:35.375370 < "EPSV" 19:00:35.375414 ====> Passive DATA channel requested by client 19:00:35.375429 DATA sockfilt for passive data channel starting... 19:00:35.384934 DATA sockfilt for passive data channel started (pid 89341) 19:00:35.385062 DATA sockfilt for passive data channel listens on port 36097 19:00:35.385109 > "229 Entering Passive Mode (|||36097|)[CR][LF]" 19:00:35.385129 Client has been notified that DATA conn will be accepted on port 36097 19:00:35.385428 Client connects to port 36097 19:00:35.385463 ====> Client established passive DATA connection on port 36097 19:00:35.385552 < "TYPE I" 19:00:35.385585 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:35.385745 < "SIZE verifiedserver" 19:00:35.385783 > "213 17[CR][LF]" 19:00:35.385930 < "RETR verifiedserver" 19:00:35.385963 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:35.386044 =====> Closing passive DATA connection... 19:00:35.386060 Server disconnects passive DATA connection 19:00:35.386305 Server disconnected passive DATA connection 19:00:35.386331 DATA sockfilt for passive data channel quits (pid 89341) 19:00:35.386576 DATA sockfilt for passive data channel quit (pid 89341) 19:00:35.386603 =====> Closed passive DATA connection 19:00:35.386631 > "226 File transfer complete[CR][LF]" 19:00:35.432386 < "QUIT" 19:00:35.432449 > "221 bye bye baby[CR][LF]" 19:00:35.433815 MAIN sockfilt said DISC 19:00:35.433866 ====> Client disconnected 19:00:35.433941 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:35.141745 ====> Client connect 19:00:35.142083 Received DATA (on stdin) 19:00:35.142101 > 160 bytes data, server => client 19:00:35.142115 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:35.142127 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:35.142138 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:35.142223 < 16 bytes data, client => server 19:00:35.142235 'USER anonymous\r\n' 19:00:35.142435 Received DATA (on stdin) 19:00:35.142449 > 33 bytes data, server => client 19:00:35.142461 '331 We are happy you popped in!\r\n' 19:00:35.142515 < 22 bytes data, client => server 19:00:35.142527 'PASS ftp@example.com\r\n' 19:00:35.142655 Received DATA (on stdin) 19:00:35.142668 > 30 bytes data, server => client 19:00:35.146863 '230 Welcome you silly person\r\n' 19:00:35.146984 < 5 bytes data, client => server 19:00:35.146997 'PWD\r\n' 19:00:35.147242 Received DATA (on stdin) 19:00:35.147256 > 30 bytes data, server => client 19:00:35.147268 '257 "/" is current directory\r\n' 19:00:35.147334 < 6 bytes data, client => server 19:00:35.147347 'EPSV\r\n' 19:00:35.157198 Received DATA (on stdin) 19:00:35.157215 > 39 bytes data, server => client 19:00:35.157227 '229 Entering Passive Mode (|||36097|)\r\n' 19:00:35.157422 < 8 bytes data, client => server 19:00:35.157444 'TYPE I\r\n' 19:00:35.157648 Received DATA (on stdin) 19:00:35.157661 > 33 bytes data, server => client 19:00:35.157673 '200 I modify TYPE as you wanted\r\n' 19:00:35.157725 < 21 bytes data, client => server 19:00:35.157736 'SIZE verifiedserver\r\n' 19:00:35.157844 Received DATA (on stdin) 19:00:35.157856 > 8 bytes data, server => client 19:00:35.157868 '213 17\r\n' 19:00:35.157912 < 21 bytes data, client => server 19:00:35.157924 'RETR verifiedserver\r\n' 19:00:35.158216 Received DATA (on stdin) 19:00:35.158230 > 29 bytes data, server => client 19:00:35.158241 '150 Binary junk (17 bytes).\r\n' 19:00:35.158696 Received DATA (on stdin) 19:00:35.158710 > 28 bytes data, server => client 19:00:35.158722 '226 File transfer complete\r\n' 19:00:35.204241 < 6 bytes data, client => server 19:00:35.204274 'QUIT\r\n' 19:00:35.204522 Received DATA (on stdin) 19:00:35.204541 > 18 bytes data, server => client 19:00:35.204554 '221 bye bye baby\r\n' 19:00:35.205326 ====> Client disconnect 19:00:35.206011 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:35.154870 Running IPv4 version 19:00:35.154966 Listening on port 36097 19:00:35.155003 Wrote pid 89341 to log/12/server/ftp_sockdata.pid 19:00:35.156927 Received PING (on stdin) 19:00:35.157032 Received PORT (on stdin) 19:00:35.157393 ====> Client connect 19:00:35.158126 Received DATA (on stdin) 19:00:35.158140 > 17 bytes data, server => client 19:00:35.158152 'WE ROOLZ: 80702\r\n' 19:00:35.158179 Received DISC (on stdin) 19:00:35.158191 ====> Client forcibly disconnected 19:00:35.158400 Received QUIT (on stdin) 19:00:35.158412 quits 19:00:35.158473 ============> 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 ==89352== ==89352== Process terminating with default action of signal 4 (SIGILL) ==89352== Illegal opcode at address 0x4013E00 ==89352== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89352== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89352== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89352== by 0x40037A4: main (tool_main.c:199) === End of file valgrind235 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/19/valgrind237 ../src/curl -q --output log/19/curl237.out --include --trace-ascii log/19/trace237 --trace-time ftp://127.0.0.1:33175/237 --disable-epsv > log/19/stdout237 2> log/19/stderr237 237: 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 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/19/valgrind237 ../src/curl -q --output log/19/curl237.out --include --trace-ascii log/19/trace237 --trace-time ftp://127.0.0.1:33175/237 --disable-epsv > log/19/stdout237 2> log/19/stderr237 === End of file commands.log === Start 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/24/valgrind239 ../src/curl -q --output log/24/curl239.out --include --trace-ascii log/24/trace239 --trace-time http://127.0.0.1:39383/239 --proxy http://127.0.0.1:39383 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/24/stdout239 2> log/24/stderr239 ftp_server.log 19:00:35.596302 ====> Client connect 19:00:35.596461 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:35.603009 < "USER anonymous" 19:00:35.603066 > "331 We are happy you popped in![CR][LF]" 19:00:35.603248 < "PASS ftp@example.com" 19:00:35.603274 > "230 Welcome you silly person[CR][LF]" 19:00:35.603425 < "PWD" 19:00:35.603455 > "257 "/" is current directory[CR][LF]" 19:00:35.603612 < "EPSV" 19:00:35.603634 ====> Passive DATA channel requested by client 19:00:35.603648 DATA sockfilt for passive data channel starting... 19:00:35.606631 DATA sockfilt for passive data channel started (pid 89457) 19:00:35.610200 DATA sockfilt for passive data channel listens on port 45425 19:00:35.610291 > "229 Entering Passive Mode (|||45425|)[CR][LF]" 19:00:35.610325 Client has been notified that DATA conn will be accepted on port 45425 19:00:35.621014 Client connects to port 45425 19:00:35.621077 ====> Client established passive DATA connection on port 45425 19:00:35.621206 < "TYPE I" 19:00:35.621250 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:35.621459 < "SIZE verifiedserver" 19:00:35.621512 > "213 17[CR][LF]" 19:00:35.621687 < "RETR verifiedserver" 19:00:35.621728 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:35.621826 =====> Closing passive DATA connection... 19:00:35.621844 Server disconnects passive DATA connection 19:00:35.622238 Server disconnected passive DATA connection 19:00:35.622273 DATA sockfilt for passive data channel quits (pid 89457) 19:00:35.622639 DATA sockfilt for passive data channel quit (pid 89457) 19:00:35.622664 =====> Closed passive DATA connection 19:00:35.622694 > "226 File transfer complete[CR][LF]" 19:00:35.668928 < "QUIT" 19:00:35.668979 > "221 bye bye baby[CR][LF]" 19:00:35.670119 MAIN sockfilt said DISC 19:00:35.670162 ====> Client disconnected 19:00:35.670247 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:36.368231 ====> Client connect 19:00:36.368538 Received DATA (on stdin) 19:00:36.368553 > 160 bytes data, server => client 19:00:36.368567 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:36.368579 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:36.368590 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:36.374878 < 16 bytes data, client => server 19:00:36.374903 'USER anonymous\r\n' 19:00:36.375136 Received DATA (on stdin) 19:00:36.375151 > 33 bytes data, server => client 19:00:36.375163 '331 We are happy you popped in!\r\n' 19:00:36.375219 < 22 bytes data, client => server 19:00:36.375232 'PASS ftp@example.com\r\n' 19:00:36.375336 Received DATA (on stdin) 19:00:36.375348 > 30 bytes data, server => client 19:00:36.375360 '230 Welcome you silly person\r\n' 19:00:36.375407 < 5 bytes data, client => server 19:00:36.375419 'PWD\r\n' 19:00:36.375516 Received DATA (on stdin) 19:00:36.375528 > 30 bytes data, server => client 19:00:36.375540 '257 "/" is current directory\r\n' 19:00:36.375596 < 6 bytes data, client => server 19:00:36.375607 'EPSV\r\n' 19:00:36.382439 Received DATA (on stdin) 19:00:36.390803 > 39 bytes data, server => client 19:00:36.390824 '229 Entering Passive Mode (|||45425|)\r\n' 19:00:36.393004 < 8 bytes data, client => server 19:00:36.393022 'TYPE I\r\n' 19:00:36.393319 Received DATA (on stdin) 19:00:36.393335 > 33 bytes data, server => client 19:00:36.393347 '200 I modify TYPE as you wanted\r\n' 19:00:36.393407 < 21 bytes data, client => server 19:00:36.393420 'SIZE verifiedserver\r\n' 19:00:36.393577 Received DATA (on stdin) 19:00:36.393592 > 8 bytes data, server => client 19:00:36.393603 '213 17\r\n' 19:00:36.393656 < 21 bytes data, client => server 19:00:36.393668 'RETR verifiedserver\r\n' 19:00:36.393912 Received DATA (on stdin) 19:00:36.393926 > 29 bytes data, server => client 19:00:36.393940 '150 Binary junk (17 bytes).\r\n' 19:00:36.394759 Received DATA (on stdin) 19:00:36.394772 > 28 bytes data, server => client 19:00:36.394784 '226 File transfer complete\r\n' 19:00:36.440801 < 6 bytes data, client => server 19:00:36.440835 'QUIT\r\n' 19:00:36.441048 Received DATA (on stdin) 19:00:36.441063 > 18 bytes data, server => client 19:00:36.441074 '221 bye bye baby\r\n' 19:00:36.442116 ====> Client disconnect 19:00:36.442315 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:35.378214 Running IPv4 version 19:00:35.378297 Listening on port 45425 19:00:35.378340 Wrote pid 89457 to log/19/server/ftp_sockdata.pid 19:00:35.378365 Received PING (on stdin) 19:00:35.381283 Received PORT (on stdin) 19:00:35.392943 ====> Client connect 19:00:35.393971 Received DATA (on stdin) 19:00:35.393989 > 17 bytes data, server => client 19:00:35.394000 'WE ROOLZ: 80854\r\n' 19:00:35.394026 Received DISC (on stdin) 19:00:35.394039 ====> Client forcibly disconnected 19:00:35.394354 Received QUIT (on stdin) 19:00:35.394370 quits 19:00:35.394431 ============> 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 ==89515== ==89515== Process terminating with default action of signal 4 (SIGILL) ==89515== Illegal opcode at address 0x4013E00 ==89515== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89515== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89515== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89515== by 0x40037A4: main (tool_main.c:199) === End of file valgrind237 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/24/valgrind239 ../src/curl -q --output log/24/curl239.out --include --trace-ascii log/24/trace239 --trace-time http://127.0.0.1:39383/239 --proxy http://127.0.0.1:39383 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/24/stdout239 2> log/24/stderr239 239: 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 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/24/valgrind239 ../src/curl -q --output log/24/curl239.out --include --trace-ascii log/24/trace239 --trace-time http://127.0.0.1:39383/239 --proxy http://127.0.0.1:39383 --proxy-user testuser:testpass --proxy-ntlm -d "postit" > log/24/stdout239 2> log/24/stderr239 === End of file commands.log === Start of file http_server.log 19:00:35.373843 ====> Client connect 19:00:35.373876 accept_connection 3 returned 4 19:00:35.373894 accept_connection 3 returned 0 19:00:35.373910 Read 93 bytes 19:00:35.373921 Process 93 bytes request 19:00:35.373936 Got request: GET /verifiedserver HTTP/1.1 19:00:35.373946 Are-we-friendly question received 19:00:35.373972 Wrote request (93 bytes) input to log/24/server.input 19:00:35.373990 Identifying ourselves as friends 19:00:35.374046 Response sent (56 bytes) and written to log/24/server.response 19:00:35.374057 special request received, no persistency 19:00:35.374068 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54286 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === End of file http_verify.out === 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/18/valgrind243 ../src/curl -q --output log/18/curl243.out --include --trace-ascii log/18/trace243 --trace-time http://127.0.0.1:39771/243 --proxy http://127.0.0.1:39771 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/18/stdout243 2> log/18/stderr243 CMD (33792): ../libtool --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/valgrind245 ../src/curl -q --output log/4/curl245.out --include --trace-ascii log/4/trace245 --trace-time http://127.0.0.1:37985/245 -u auser:apasswd --digest -d "junkelijunk" > log/4/stdout245 2> log/4/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/23/valgrind244 ../src/curl -q --output log/23/curl244.out --include --trace-ascii log/23/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:45397/fir%23t/th%69rd/244/ > log/23/stdout244 2> log/23/stderr244 t 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: 74417 === End of file server.response === Start of file valgrind239 ==89467== ==89467== Process terminating with default action of signal 4 (SIGILL) ==89467== Illegal opcode at address 0x4013E00 ==89467== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89467== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89467== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89467== by 0x40037A4: 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/18/valgrind243 ../src/curl -q --output log/18/curl243.out --include --trace-ascii log/18/trace243 --trace-time http://127.0.0.1:39771/243 --proxy http://127.0.0.1:39771 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/18/stdout243 2> log/18/stderr243 243: 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 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/18/valgrind243 ../src/curl -q --output log/18/curl243.out --include --trace-ascii log/18/trace243 --trace-time http://127.0.0.1:39771/243 --proxy http://127.0.0.1:39771 --proxy-user testuser:testpass --proxy-anyauth -d "postit" > log/18/stdout243 2> log/18/stderr243 === End of file commands.log === Start of file http_server.log 19:00:35.480429 ====> Client connect 19:00:35.480468 accept_connection 3 returned 4 19:00:35.480487 accept_connection 3 returned 0 19:00:35.480505 Read 93 bytes 19:00:35.480517 Process 93 bytes request 19:00:35.480531 Got request: GET /verifiedserver HTTP/1.1 19:00:35.480542 Are-we-friendly question received 19:00:35.480569 Wrote request (93 bytes) input to log/18/server.input 19:00:35.480588 Identifying ourselves as friends 19:00:35.480651 Response sent (56 bytes) and written to log/18/server.response 19:00:35.480664 special request received, no persistency 19:00:35.480674 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 37860 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind243 ==89611== ==89611== Process terminating with default action of signal 4 (SIGILL) ==89611== Illegal opcode at address 0x4013E00 ==89611== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89611== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89611== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89611== by 0x40037A4: 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/4/valgrind245 ../src/curl -q --output log/4/curl245.out --include --trace-ascii log/4/trace245 --trace-time http://127.0.0.1:37985/245 -u auser:apasswd --digest -d "junkelijunk" > log/4/stdout245 2> log/4/stderr245 245: 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 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/4/valgrind245 ../src/curl -q --output log/4/curl245.out --include --trace-ascii log/4/trace245 --trace-time http://127.0.0.1:37985/245 -u auser:apasswd --digest -d "junkelijunk" > log/4/stdout245 2> log/4/stderr245 === End of file commands.log === Start of file http_server.log 19:00:36.613703 ====> Client connect 19:00:36.613746 accept_connection 3 returned 4 19:00:36.613763 accept_connection 3 returned 0 19:00:36.613778 Read 93 bytes 19:00:36.613789 Process 93 bytes request 19:00:36.613804 Got request: GET /verifiedserver HTTP/1.1 19:00:36.613814 Are-we-friendly question received 19:00:36.613838 Wrote request (93 bytes) input to log/4/server.input 19:00:36.613856 Identifying ourselves as friends 19:00:36.613910 Response sent (56 bytes) and written to log/4/server.response 19:00:36.613921 special request received, no persistency 19:00:36.613932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 47994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind245 ==89727== ==89727== Process terminating with default action of signal 4 (SIGILL) ==89727== Illegal opcode at address 0x4013E00 ==89727== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89727== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89727== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89727== by 0x40037A4: main (tool_main.c:199) === End of file valgrind245 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/23/valgrind244 ../src/curl -q --output log/23/curl244.out --include --trace-ascii log/23/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:45397/fir%23t/th%69rd/244/ > log/23/stdout244 2> log/23/stderr244 244: 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 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/23/valgrind244 ../src/curl -q --output log/23/curl244.out --include --trace-ascii log/23/trace244 --trace-time --ftp-method nocwd ftp://127.0.0.1:45397/fir%23t/th%69rd/244/ > log/23/stdout244 2> log/23/stderr244 === End of file commands.log === Start of file ftp_server.log 19:00:35.835451 ====> Client connect 19:00:35.835651 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:35.835981 < "USER anonymous" 19:00:35.836022 > "331 We are happy you popped in![CR][LF]" 19:00:35.836223 < "PASS ftp@example.com" 19:00:35.836255 > "230 Welcome you silly person[CR][LF]" 19:00:35.836442 < "PWD" 19:00:35.836480 > "257 "/" isCMD (33792): ../libtool --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/valgrind246 ../src/curl -q --output log/3/curl246.out --include --trace-ascii log/3/trace246 --trace-time http://127.0.0.1:46261/246 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout246 2> log/3/stderr246 CMD (33792): ../libtool --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/valgrind249 ../src/curl -q --output log/1/curl249.out --include --trace-ascii log/1/trace249 --trace-time http://127.0.0.1:40353/249 -z "dec 12 12:00:00 1999 GMT" > log/1/stdout249 2> log/1/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/5/valgrind247 ../src/curl -q --output log/5/curl247.out --include --trace-ascii log/5/trace247 --trace-time ftp://127.0.0.1:41821/247 -T log/5/test247.txt -z "apr 1 2005 08:00:00" > log/5/stdout247 2> log/5/stderr247 current directory[CR][LF]" 19:00:35.836691 < "EPSV" 19:00:35.836721 ====> Passive DATA channel requested by client 19:00:35.836738 DATA sockfilt for passive data channel starting... 19:00:35.838869 DATA sockfilt for passive data channel started (pid 89722) 19:00:35.838984 DATA sockfilt for passive data channel listens on port 45591 19:00:35.839041 > "229 Entering Passive Mode (|||45591|)[CR][LF]" 19:00:35.839070 Client has been notified that DATA conn will be accepted on port 45591 19:00:35.839347 Client connects to port 45591 19:00:35.839381 ====> Client established passive DATA connection on port 45591 19:00:35.839476 < "TYPE I" 19:00:35.839508 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:35.839704 < "SIZE verifiedserver" 19:00:35.839752 > "213 17[CR][LF]" 19:00:35.839955 < "RETR verifiedserver" 19:00:35.840001 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:35.840105 =====> Closing passive DATA connection... 19:00:35.840128 Server disconnects passive DATA connection 19:00:35.840394 Server disconnected passive DATA connection 19:00:35.840428 DATA sockfilt for passive data channel quits (pid 89722) 19:00:35.840704 DATA sockfilt for passive data channel quit (pid 89722) 19:00:35.840737 =====> Closed passive DATA connection 19:00:35.840769 > "226 File transfer complete[CR][LF]" 19:00:35.883692 < "QUIT" 19:00:35.883753 > "221 bye bye baby[CR][LF]" 19:00:35.885285 MAIN sockfilt said DISC 19:00:35.885333 ====> Client disconnected 19:00:35.885428 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:35.607361 ====> Client connect 19:00:35.607738 Received DATA (on stdin) 19:00:35.607757 > 160 bytes data, server => client 19:00:35.607772 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:35.607784 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:35.607796 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:35.607877 < 16 bytes data, client => server 19:00:35.607895 'USER anonymous\r\n' 19:00:35.608091 Received DATA (on stdin) 19:00:35.608106 > 33 bytes data, server => client 19:00:35.608118 '331 We are happy you popped in!\r\n' 19:00:35.608175 < 22 bytes data, client => server 19:00:35.608191 'PASS ftp@example.com\r\n' 19:00:35.608322 Received DATA (on stdin) 19:00:35.608336 > 30 bytes data, server => client 19:00:35.608349 '230 Welcome you silly person\r\n' 19:00:35.608404 < 5 bytes data, client => server 19:00:35.608419 'PWD\r\n' 19:00:35.608546 Received DATA (on stdin) 19:00:35.608560 > 30 bytes data, server => client 19:00:35.608573 '257 "/" is current directory\r\n' 19:00:35.608644 < 6 bytes data, client => server 19:00:35.608663 'EPSV\r\n' 19:00:35.611145 Received DATA (on stdin) 19:00:35.611163 > 39 bytes data, server => client 19:00:35.611176 '229 Entering Passive Mode (|||45591|)\r\n' 19:00:35.611315 < 8 bytes data, client => server 19:00:35.611336 'TYPE I\r\n' 19:00:35.611576 Received DATA (on stdin) 19:00:35.611593 > 33 bytes data, server => client 19:00:35.611605 '200 I modify TYPE as you wanted\r\n' 19:00:35.611663 < 21 bytes data, client => server 19:00:35.611680 'SIZE verifiedserver\r\n' 19:00:35.611823 Received DATA (on stdin) 19:00:35.611840 > 8 bytes data, server => client 19:00:35.611853 '213 17\r\n' 19:00:35.611913 < 21 bytes data, client => server 19:00:35.611930 'RETR verifiedserver\r\n' 19:00:35.612198 Received DATA (on stdin) 19:00:35.612213 > 29 bytes data, server => client 19:00:35.612226 '150 Binary junk (17 bytes).\r\n' 19:00:35.612836 Received DATA (on stdin) 19:00:35.612852 > 28 bytes data, server => client 19:00:35.612865 '226 File transfer complete\r\n' 19:00:35.654530 < 6 bytes data, client => server 19:00:35.654816 'QUIT\r\n' 19:00:35.655825 Received DATA (on stdin) 19:00:35.655843 > 18 bytes data, server => client 19:00:35.655855 '221 bye bye baby\r\n' 19:00:35.656926 ====> Client disconnect 19:00:35.657494 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:35.610578 Running IPv4 version 19:00:35.610640 Listening on port 45591 19:00:35.610683 Wrote pid 89722 to log/23/server/ftp_sockdata.pid 19:00:35.610861 Received PING (on stdin) 19:00:35.610955 Received PORT (on stdin) 19:00:35.611360 ====> Client connect 19:00:35.612289 Received DATA (on stdin) 19:00:35.612308 > 17 bytes data, server => client 19:00:35.612320 'WE ROOLZ: 80691\r\n' 19:00:35.612351 Received DISC (on stdin) 19:00:35.612499 ====> Client forcibly disconnected 19:00:35.612541 Received QUIT (on stdin) 19:00:35.612555 quits 19:00:35.612619 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 244 === End of file server.cmd === Start of file valgrind244 ==89763== ==89763== Process terminating with default action of signal 4 (SIGILL) ==89763== Illegal opcode at address 0x4013E00 ==89763== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89763== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89763== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89763== by 0x40037A4: main (tool_main.c:199) === End of file valgrind244 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/3/valgrind246 ../src/curl -q --output log/3/curl246.out --include --trace-ascii log/3/trace246 --trace-time http://127.0.0.1:46261/246 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout246 2> log/3/stderr246 246: 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 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/3/valgrind246 ../src/curl -q --output log/3/curl246.out --include --trace-ascii log/3/trace246 --trace-time http://127.0.0.1:46261/246 -u auser:apasswd --digest -d "junkelijunk" > log/3/stdout246 2> log/3/stderr246 === End of file commands.log === Start of file http_server.log 19:00:36.730541 ====> Client connect 19:00:36.730576 accept_connection 3 returned 4 19:00:36.730593 accept_connection 3 returned 0 19:00:36.730610 Read 93 bytes 19:00:36.730621 Process 93 bytes request 19:00:36.730639 Got request: GET /verifiedserver HTTP/1.1 19:00:36.730651 Are-we-friendly question received 19:00:36.730678 Wrote request (93 bytes) input to log/3/server.input 19:00:36.730696 Identifying ourselves as friends 19:00:36.730751 Response sent (56 bytes) and written to log/3/server.response 19:00:36.730763 special request received, no persistency 19:00:36.730785 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 40776 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind246 ==89889== ==89889== Process terminating with default action of signal 4 (SIGILL) ==89889== Illegal opcode at address 0x4013E00 ==89889== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89889== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89889== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89889== by 0x40037A4: main (tool_main.c:199) === End of file valgrind246 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/1/valgrind249 ../src/curl -q --output log/1/curl249.out --include --trace-ascii log/1/trace249 --trace-time http://127.0.0.1:40353/249 -z "dec 12 12:00:00 1999 GMT" > log/1/stdout249 2> log/1/stderr249 249: 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 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/1/valgrind249 ../src/curl -q --output log/1/curl249.out --include --trace-ascii log/1/trace249 --trace-time http://127.0.0.1:40353/249 -z "dec 12 12:00:00 1999 GMT" > log/1/stdout249 2> log/1/stderr249 === End of file commands.log === Start of file http_server.log 19:00:35.760294 ====> Client connect 19:00:35.760340 accept_connection 3 returned 4 19:00:35.760361 accept_connection 3 returned 0 19:00:35.760379 Read 93 bytes 19:00:35.760392 Process 93 bytes request 19:00:35.760409 Got request: GET /verifiedserver HTTP/1.1 19:00:35.760422 Are-we-friendly question received 19:00:35.760456 Wrote request (93 bytes) input to log/1/server.input 19:00:35.760477 Identifying ourselves as friends 19:00:35.760538 Response sent (56 bytes) and written to log/1/server.response 19:00:35.760551 special request received, no persistency 19:00:35.760561 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 37750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind249 ==89921== ==89921== Process terminating with default action of signal 4 (SIGILL) ==89921== Illegal opcode at address 0x4013E00 ==89921== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89921== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89921== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89921== by 0x40037A4: main (tool_main.c:199) === End of file valgrind249 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/5/valgrind247 ../src/curl -q --output log/5/curl247.out --include --trace-ascii log/5/trace247 --trace-time ftp://127.0.0.1:41821/247 -T log/5/test247.txt -z "apr 1 2005 08:00:00" > log/5/stdout247 2> log/5/stderr247 247: 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 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/5/valgrind247 ../src/curl -q --output log/5/curl247.out --include --trace-ascii log/5/trace247 --trace-time ftp://127.0.0.1:41821/247 -T log/5/test247.txt -z "apr 1 2005 08:00:00" > log/5/stdout247 2> log/5/stderr247 === End of file commands.log === Start of file ftp_server.log 19:00:35.962884 ====> Client connect 19:00:35.963048 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:35.963358 < "USER anonymous" 19:00:35.963405 > "331 We are happy you popped in![CR][LF]" 19:00:35.963615 < "PASS ftp@example.com" 19:00:35.963654 > "230 Welcome you silly person[CR][LF]" 19:00:35.963845 < "PWD" 19:00:35.963884 > "257 "/" is current directory[CR][LF]" 19:00:35.964064 < "EPSV" 19:00:35.964091 ====> Passive DATA channel requested by client 19:00:35.964106 DATA sockfilt for passive data channel starting... 19:00:35.966326 DATA sockfilt for passive data channel started (pid 89850) 19:00:35.966444 DATA sockfilt for passive data channel listens on port 39021 19:00:35.966495 > "229 Entering Passive Mode (|||39021|)[CR][LF]" 19:00:35.966518 Client has been notified that DATA conn will be accepted on port 39021 19:00:35.966745 Client connects to port 39021 19:00:35.966784 ====> Client established passive DATA connection on port 39021 19:00:35.966869 < "TYPE I" 19:00:35.966902 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:35.967078 < "SIZE verifiedserver" 19:00:35.967115 > "213 17[CR][LF]" 19:00:35.967275 < "RETR verifiedserver" 19:00:35.967310 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:35.967390 =====> Closing passive DATA connection... 19:00:35.967406 Server disconnects passive DATA connection 19:00:35.967488 Server disconnected passive DATA connection 19:00:35.967518 DATA sockfilt for passive data channel quits (pid 89850) 19:00:35.967766 DATA sockfilt for passive data channel quit (pid 89850) 19:00:35.967793 =====> Closed passive DATA connection 19:00:35.967821 > "226 File transfer complete[CR][LF]" 19:00:36.009276 < "QUIT" 19:00:36.009330 > "221 bye bye baby[CR][LF]" 19:00:36.010576 MAIN sockfilt said DISC 19:00:36.010626 ====> Client disconnected 19:00:36.010705 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:35.734839 ====> Client connect 19:00:35.735129 Received DATA (on stdin) 19:00:35.735149 > 160 bytes data, server => client 19:00:35.735164 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:35.735176 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:35.735188 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:35.735266 < 16 bytes data, client => server 19:00:35.735282 'USER anonymous\r\n' 19:00:35.735477 Received DATA (on stdin) 19:00:35.735493 > 33 bytes data, server => client 19:00:35.735507 '331 We are happy you popped in!\r\n' 19:00:35.735563 < 22 bytes data, client => server 19:00:35.735577 'PASS ftp@example.com\r\n' 19:00:35.735722 Received DATA (on stdin) 19:00:35.735737 > 30 bytes data, server => client 19:00:35.735750 '230 Welcome you silly person\r\n' 19:00:35.735804 < 5 bytes data, client => server 19:00:35.735820 'PWD\r\n' 19:00:35.735949 Received DATA (on stdin) 19:00:35.735963 > 30 bytes data, server => client 19:00:35.735975 '257 "/" is current directory\r\n' 19:00:35.736037 < 6 bytes data, client => server 19:00:35.736050 'EPSV\r\n' 19:00:35.738589 Received DATA (on stdin) 19:00:35.738607 > 39 bytes data, server => client 19:00:35.738620 '229 Entering Passive Mode (|||39021|)\r\n' 19:00:35.738784 < 8 bytes data, client => server 19:00:35.738799 'TYPE I\r\n' 19:00:35.738967 Received DATA (on stdin) 19:00:35.738982 > 33 bytes data, server => client 19:00:35.738995 '200 I modify TYPE as you wanted\r\n' 19:00:35.739053 < 21 bytes data, client => server 19:00:35.739066 'SIZE verifiedserver\r\n' 19:00:35.739176 Received DATA (on stdin) 19:00:35.739189 > 8 bytes data, server => client 19:00:35.739201 '213 17\r\n' 19:00:35.739252 < 21 bytes data, client => server 19:00:35.739264 'RETR verifiedserver\r\n' 19:00:35.739473 Received DATA (on stdin) 19:00:35.739487 > 29 bytes data, server => client 19:00:35.739499 '150 Binary junk (17 bytes).\r\n' 19:00:35.739886 Received DATA (on stdin) 19:00:35.739900 > 28 bytes data, server => client 19:00:35.739912 '226 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/valgrind248 ../src/curl -q --output log/9/curl248.out --include --trace-ascii log/9/trace248 --trace-time ftp://127.0.0.1:41525/248 -T log/9/test248.txt -z "apr 1 2005 08:00:00" > log/9/stdout248 2> log/9/stderr248 e transfer complete\r\n' 19:00:35.781140 < 6 bytes data, client => server 19:00:35.781173 'QUIT\r\n' 19:00:35.781397 Received DATA (on stdin) 19:00:35.781411 > 18 bytes data, server => client 19:00:35.781423 '221 bye bye baby\r\n' 19:00:35.782320 ====> Client disconnect 19:00:35.782768 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:35.738034 Running IPv4 version 19:00:35.738101 Listening on port 39021 19:00:35.738140 Wrote pid 89850 to log/5/server/ftp_sockdata.pid 19:00:35.738328 Received PING (on stdin) 19:00:35.738416 Received PORT (on stdin) 19:00:35.738752 ====> Client connect 19:00:35.739389 Received DATA (on stdin) 19:00:35.739411 > 17 bytes data, server => client 19:00:35.739425 'WE ROOLZ: 80429\r\n' 19:00:35.739473 Received DISC (on stdin) 19:00:35.739488 ====> Client forcibly disconnected 19:00:35.739592 Received QUIT (on stdin) 19:00:35.739606 quits 19:00:35.739664 ============> 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 ==89957== ==89957== Process terminating with default action of signal 4 (SIGILL) ==89957== Illegal opcode at address 0x4013E00 ==89957== at 0x4013E00: getparameter (tool_getparam.c:2846) ==89957== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==89957== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==89957== by 0x40037A4: 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/9/valgrind248 ../src/curl -q --output log/9/curl248.out --include --trace-ascii log/9/trace248 --trace-time ftp://127.0.0.1:41525/248 -T log/9/test248.txt -z "apr 1 2005 08:00:00" > log/9/stdout248 2> log/9/stderr248 248: 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 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/9/valgrind248 ../src/curl -q --output log/9/curl248.out --include --trace-ascii log/9/trace248 --trace-time ftp://127.0.0.1:41525/248 -T log/9/test248.txt -z "apr 1 2005 08:00:00" > log/9/stdout248 2> log/9/stderr248 === End of file commands.log === Start of file ftp_server.log 19:00:35.983996 ====> Client connect 19:00:35.984196 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:35.984512 < "USER anonymous" 19:00:35.984555 > "331 We are happy you popped in![CR][LF]" 19:00:35.984741 < "PASS ftp@example.com" 19:00:35.984774 > "230 Welcome you silly person[CR][LF]" 19:00:35.984936 < "PWD" 19:00:35.984970 > "257 "/" is current directory[CR][LF]" 19:00:35.985133 < "EPSV" 19:00:35.985157 ====> Passive DATA channel requested by client 19:00:35.985171 DATA sockfilt for passive data channel starting... 19:00:35.986979 DATA sockfilt for passive data channel started (pid 89903) 19:00:35.987091 DATA sockfilt for passive data channel listens on port 40769 19:00:35.987132 > "229 Entering Passive Mode (|||40769|)[CR][LF]" 19:00:35.987152 Client has been notified that DATA conn will be accepted on port 40769 19:00:35.987389 Client connects to port 40769 19:00:35.987419 ====> Client established passive DATA connection on port 40769 19:00:35.987494 < "TYPE I" 19:00:35.987522 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:35.987676 < "SIZE verifiedserver" 19:00:35.987716 > "213 17[CR][LF]" 19:00:35.987865 < "RETR verifiedserver" 19:00:35.987902 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:35.987993 =====> Closing passive DATA connection... 19:00:35.988009 Server disconnects passive DATA connection 19:00:35.988249 Server disconnected passive DATA connection 19:00:35.988276 DATA sockfilt for passive data channel quits (pid 89903) 19:00:35.988523 DATA sockfilt for passive data channel quit (pid 89903) 19:00:35.988578 =====> Closed passive DATA connection 19:00:35.988621 > "226 File transfer complete[CR][LF]" 19:00:36.032915 < "QUIT" 19:00:36.032967 > "221 bye bye baby[CR][LF]" 19:00:36.034440 MAIN sockfilt said DISC 19:00:36.034487 ====> Client disconnected 19:00:36.034568 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:35.755944 ====> Client connect 19:00:35.756279 Received DATA (on stdin) 19:00:35.756296 > 160 bytes data, server => client 19:00:35.756310 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:35.756322 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:35.756333 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:35.756415 < 16 bytes data, client => server 19:00:35.756429 'USER anonymous\r\n' 19:00:35.756623 Received DATA (on stdin) 19:00:35.756637 > 33 bytes data, server => client 19:00:35.756648 '331 We are happy you popped in!\r\n' 19:00:35.756702 < 22 bytes data, client => server 19:00:35.756715 'PASS ftp@example.com\r\n' 19:00:35.756837 Received DATA (on stdin) 19:00:35.756850 > 30 bytes data, server => client 19:00:35.756862 '230 Welcome you silly person\r\n' 19:00:35.756911 < 5 bytes data, client => server 19:00:35.756923 'PWD\r\n' 19:00:35.757032 Received DATA (on stdin) 19:00:35.757044 > 30 bytes data, server => client 19:00:35.757056 '257 "/" is current directory\r\n' 19:00:35.757112 < 6 bytes data, client => server 19:00:35.757124 'EPSV\r\n' 19:00:35.759219 Received DATA (on stdin) 19:00:35.759234 > 39 bytes data, server => client 19:00:35.759246 '229 Entering Passive Mode (|||40769|)\r\n' 19:00:35.759370 < 8 bytes data, client => server 19:00:35.759386 'TYPE I\r\n' 19:00:35.759585 Received DATA (on stdin) 19:00:35.759598 > 33 bytes data, server => client 19:00:35.759609 '200 I modify TYPE as you wanted\r\n' 19:00:35.759657 < 21 bytes data, client => server 19:00:35.759669 'SIZE verifiedserver\r\n' 19:00:35.759778 Received DATA (on stdin) 19:00:35.759791 > 8 bytes data, server => client 19:00:35.759801 '213 17\r\n' 19:00:35.759848 < 21 bytes data, client => server 19:00:35.759859 'RETR verifiedserver\r\n' 19:00:35.760072 Received DATA (on stdin) 19:00:35.760085 > 29 bytes data, server => client 19:00:35.760097 '150 Binary junk (17 bytes).\r\n' 19:00:35.760697 Received DATA (on stdin) 19:00:35.760717 > 28 bytes data, server => client 19:00:35.760730 '226 File transfer complete\r\n' 19:00:35.804769 < 6 bytes data, client => server 19:00:35.804810 'QUIT\r\n' 19:00:35.805036 Received DATA (on stdin) 19:00:35.805051 > 18 bytes data, server => client 19:00:35.805063 '221 bye bye baby\r\n' 19:00:35.806444 ====> Client disconnect 19:00:35.806632 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:35.758860 Running IPv4 version 19:00:35.758925 Listening on port 40769 19:00:35.758960 Wrote pid 89903 to log/9/server/ftp_sockdata.pid 19:00:35.758979 Received PING (on stdin) 19:00:35.759066 Received PORT (on stdin) 19:00:35.759405 ====> Client connect 19:00:35.760123 Received DATA (on stdin) 19:00:35.760138 > 17 bytes data, server => client 19:00:35.760150 'WE ROOLZ: 80682\r\n' 19:00:35.760174 Received DISC (on stdin) 19:00:35.760186 ====> Client forcibly disconnected 19:00:35.760344 Received QUIT (on stdin) 19:00:35.760357 quits 19:00:35.760442 ============> 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 valgrind2CMD (33792): ../libtool --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/valgrind250 ../src/curl -q --output log/21/curl250.out --include --trace log/21/trace250 --trace-time ftp://127.0.0.1:35487/ > log/21/stdout250 2> log/21/stderr250 CMD (33792): ../libtool --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/valgrind251 ../src/curl -q --output log/11/curl251.out --include --trace-ascii log/11/trace251 --trace-time ftp://127.0.0.1:35787/ -P 127.0.0.1 > log/11/stdout251 2> log/11/stderr251 48 ==90081== ==90081== Process terminating with default action of signal 4 (SIGILL) ==90081== Illegal opcode at address 0x4013E00 ==90081== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90081== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90081== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90081== by 0x40037A4: main (tool_main.c:199) === End of file valgrind248 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/21/valgrind250 ../src/curl -q --output log/21/curl250.out --include --trace log/21/trace250 --trace-time ftp://127.0.0.1:35487/ > log/21/stdout250 2> log/21/stderr250 250: 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 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/21/valgrind250 ../src/curl -q --output log/21/curl250.out --include --trace log/21/trace250 --trace-time ftp://127.0.0.1:35487/ > log/21/stdout250 2> log/21/stderr250 === End of file commands.log === Start of file ftp_server.log 19:00:36.077286 ====> Client connect 19:00:36.077443 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:36.077748 < "USER anonymous" 19:00:36.077785 > "331 We are happy you popped in![CR][LF]" 19:00:36.077973 < "PASS ftp@example.com" 19:00:36.078005 > "230 Welcome you silly person[CR][LF]" 19:00:36.078183 < "PWD" 19:00:36.078217 > "257 "/" is current directory[CR][LF]" 19:00:36.078404 < "EPSV" 19:00:36.078431 ====> Passive DATA channel requested by client 19:00:36.078446 DATA sockfilt for passive data channel starting... 19:00:36.080845 DATA sockfilt for passive data channel started (pid 90067) 19:00:36.081006 DATA sockfilt for passive data channel listens on port 39719 19:00:36.081067 > "229 Entering Passive Mode (|||39719|)[CR][LF]" 19:00:36.081093 Client has been notified that DATA conn will be accepted on port 39719 19:00:36.081446 Client connects to port 39719 19:00:36.081484 ====> Client established passive DATA connection on port 39719 19:00:36.081589 < "TYPE I" 19:00:36.081631 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:36.081832 < "SIZE verifiedserver" 19:00:36.081878 > "213 17[CR][LF]" 19:00:36.082335 < "RETR verifiedserver" 19:00:36.082384 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:36.082496 =====> Closing passive DATA connection... 19:00:36.082517 Server disconnects passive DATA connection 19:00:36.082816 Server disconnected passive DATA connection 19:00:36.082846 DATA sockfilt for passive data channel quits (pid 90067) 19:00:36.083138 DATA sockfilt for passive data channel quit (pid 90067) 19:00:36.083166 =====> Closed passive DATA connection 19:00:36.083198 > "226 File transfer complete[CR][LF]" 19:00:36.129063 < "QUIT" 19:00:36.129124 > "221 bye bye baby[CR][LF]" 19:00:36.129968 MAIN sockfilt said DISC 19:00:36.130013 ====> Client disconnected 19:00:36.130099 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:35.849234 ====> Client connect 19:00:35.849522 Received DATA (on stdin) 19:00:35.849540 > 160 bytes data, server => client 19:00:35.849554 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:35.849567 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:35.849579 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:35.849658 < 16 bytes data, client => server 19:00:35.849675 'USER anonymous\r\n' 19:00:35.849853 Received DATA (on stdin) 19:00:35.849868 > 33 bytes data, server => client 19:00:35.849881 '331 We are happy you popped in!\r\n' 19:00:35.849936 < 22 bytes data, client => server 19:00:35.849951 'PASS ftp@example.com\r\n' 19:00:35.850070 Received DATA (on stdin) 19:00:35.850084 > 30 bytes data, server => client 19:00:35.850097 '230 Welcome you silly person\r\n' 19:00:35.850150 < 5 bytes data, client => server 19:00:35.850164 'PWD\r\n' 19:00:35.850283 Received DATA (on stdin) 19:00:35.850297 > 30 bytes data, server => client 19:00:35.850309 '257 "/" is current directory\r\n' 19:00:35.850372 < 6 bytes data, client => server 19:00:35.850387 'EPSV\r\n' 19:00:35.853173 Received DATA (on stdin) 19:00:35.853194 > 39 bytes data, server => client 19:00:35.853209 '229 Entering Passive Mode (|||39719|)\r\n' 19:00:35.853406 < 8 bytes data, client => server 19:00:35.853426 'TYPE I\r\n' 19:00:35.853698 Received DATA (on stdin) 19:00:35.853715 > 33 bytes data, server => client 19:00:35.853728 '200 I modify TYPE as you wanted\r\n' 19:00:35.853790 < 21 bytes data, client => server 19:00:35.853806 'SIZE verifiedserver\r\n' 19:00:35.853943 Received DATA (on stdin) 19:00:35.853958 > 8 bytes data, server => client 19:00:35.853970 '213 17\r\n' 19:00:35.854027 < 21 bytes data, client => server 19:00:35.854042 'RETR verifiedserver\r\n' 19:00:35.854586 Received DATA (on stdin) 19:00:35.854602 > 29 bytes data, server => client 19:00:35.854615 '150 Binary junk (17 bytes).\r\n' 19:00:35.855264 Received DATA (on stdin) 19:00:35.855280 > 28 bytes data, server => client 19:00:35.855293 '226 File transfer complete\r\n' 19:00:35.900898 < 6 bytes data, client => server 19:00:35.900934 'QUIT\r\n' 19:00:35.901196 Received DATA (on stdin) 19:00:35.901213 > 18 bytes data, server => client 19:00:35.901226 '221 bye bye baby\r\n' 19:00:35.901969 ====> Client disconnect 19:00:35.902168 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:36.852555 Running IPv4 version 19:00:36.852614 Listening on port 39719 19:00:36.852650 Wrote pid 90067 to log/21/server/ftp_sockdata.pid 19:00:36.852812 Received PING (on stdin) 19:00:36.852960 Received PORT (on stdin) 19:00:36.853454 ====> Client connect 19:00:36.854678 Received DATA (on stdin) 19:00:36.854696 > 17 bytes data, server => client 19:00:36.854709 'WE ROOLZ: 81255\r\n' 19:00:36.854743 Received DISC (on stdin) 19:00:36.854758 ====> Client forcibly disconnected 19:00:36.854921 Received QUIT (on stdin) 19:00:36.854936 quits 19:00:36.855006 ============> 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 ==90133== ==90133== Process terminating with default action of signal 4 (SIGILL) ==90133== Illegal opcode at address 0x4013E00 ==90133== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90133== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90133== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90133== by 0x40037A4: 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/11/valgrind251 ../src/curl -q --output log/11/curl251.out --include --trace-ascii log/11/trace251 --trace-time ftp://127.0.0.1:35787/ -P 127.0.0.1 > log/11/stdout251 2> log/11/stderr251 251: 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 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/11/valgrind251 ../src/curl -q --output log/11/curl251.out --include --trace-ascii log/11/trace251 --trace-time ftp://127.0.0.1:35787/ -P 127.0.0.1 > log/11/stdout251 2> log/11/stderr251 === End of file commands.log === StaCMD (33792): ../libtool --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/valgrind256 ../src/curl -q --include --trace-ascii log/13/trace256 --trace-time -x http://127.0.0.1:35301 http://127.0.0.1:35301/want/256 -C - --no-include -o log/13/fewl256.txt -U daniel:stenberg > log/13/stdout256 2> log/13/stderr256 rt of file ftp_server.log 19:00:36.087460 ====> Client connect 19:00:36.087601 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:36.087864 < "USER anonymous" 19:00:36.087901 > "331 We are happy you popped in![CR][LF]" 19:00:36.088065 < "PASS ftp@example.com" 19:00:36.088089 > "230 Welcome you silly person[CR][LF]" 19:00:36.088235 < "PWD" 19:00:36.088263 > "257 "/" is current directory[CR][LF]" 19:00:36.088420 < "EPSV" 19:00:36.088442 ====> Passive DATA channel requested by client 19:00:36.088456 DATA sockfilt for passive data channel starting... 19:00:36.089970 DATA sockfilt for passive data channel started (pid 90077) 19:00:36.090085 DATA sockfilt for passive data channel listens on port 40975 19:00:36.090128 > "229 Entering Passive Mode (|||40975|)[CR][LF]" 19:00:36.090147 Client has been notified that DATA conn will be accepted on port 40975 19:00:36.090381 Client connects to port 40975 19:00:36.090412 ====> Client established passive DATA connection on port 40975 19:00:36.090489 < "TYPE I" 19:00:36.090520 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:36.090686 < "SIZE verifiedserver" 19:00:36.090725 > "213 17[CR][LF]" 19:00:36.090883 < "RETR verifiedserver" 19:00:36.090916 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:36.090992 =====> Closing passive DATA connection... 19:00:36.091009 Server disconnects passive DATA connection 19:00:36.091255 Server disconnected passive DATA connection 19:00:36.091284 DATA sockfilt for passive data channel quits (pid 90077) 19:00:36.091507 DATA sockfilt for passive data channel quit (pid 90077) 19:00:36.091530 =====> Closed passive DATA connection 19:00:36.091559 > "226 File transfer complete[CR][LF]" 19:00:36.132390 < "QUIT" 19:00:36.132443 > "221 bye bye baby[CR][LF]" 19:00:36.133187 MAIN sockfilt said DISC 19:00:36.133241 ====> Client disconnected 19:00:36.133315 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:35.859425 ====> Client connect 19:00:35.859672 Received DATA (on stdin) 19:00:35.859688 > 160 bytes data, server => client 19:00:35.859701 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:35.859714 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:35.859725 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:35.859794 < 16 bytes data, client => server 19:00:35.859807 'USER anonymous\r\n' 19:00:35.859966 Received DATA (on stdin) 19:00:35.859980 > 33 bytes data, server => client 19:00:35.859992 '331 We are happy you popped in!\r\n' 19:00:35.860041 < 22 bytes data, client => server 19:00:35.860053 'PASS ftp@example.com\r\n' 19:00:35.860150 Received DATA (on stdin) 19:00:35.860163 > 30 bytes data, server => client 19:00:35.860175 '230 Welcome you silly person\r\n' 19:00:35.860219 < 5 bytes data, client => server 19:00:35.860230 'PWD\r\n' 19:00:35.860324 Received DATA (on stdin) 19:00:35.860336 > 30 bytes data, server => client 19:00:35.860348 '257 "/" is current directory\r\n' 19:00:35.860400 < 6 bytes data, client => server 19:00:35.860411 'EPSV\r\n' 19:00:35.862215 Received DATA (on stdin) 19:00:35.862230 > 39 bytes data, server => client 19:00:35.862243 '229 Entering Passive Mode (|||40975|)\r\n' 19:00:35.862359 < 8 bytes data, client => server 19:00:35.862375 'TYPE I\r\n' 19:00:35.862582 Received DATA (on stdin) 19:00:35.862595 > 33 bytes data, server => client 19:00:35.862608 '200 I modify TYPE as you wanted\r\n' 19:00:35.862660 < 21 bytes data, client => server 19:00:35.862673 'SIZE verifiedserver\r\n' 19:00:35.862787 Received DATA (on stdin) 19:00:35.862800 > 8 bytes data, server => client 19:00:35.862811 '213 17\r\n' 19:00:35.862861 < 21 bytes data, client => server 19:00:35.862873 'RETR verifiedserver\r\n' 19:00:35.863074 Received DATA (on stdin) 19:00:35.863086 > 29 bytes data, server => client 19:00:35.863099 '150 Binary junk (17 bytes).\r\n' 19:00:35.863623 Received DATA (on stdin) 19:00:35.863638 > 28 bytes data, server => client 19:00:35.863650 '226 File transfer complete\r\n' 19:00:35.904272 < 6 bytes data, client => server 19:00:35.904309 'QUIT\r\n' 19:00:35.904510 Received DATA (on stdin) 19:00:35.904524 > 18 bytes data, server => client 19:00:35.904537 '221 bye bye baby\r\n' 19:00:35.905183 ====> Client disconnect 19:00:35.905378 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:36.861852 Running IPv4 version 19:00:36.861908 Listening on port 40975 19:00:36.861947 Wrote pid 90077 to log/11/server/ftp_sockdata.pid 19:00:36.861970 Received PING (on stdin) 19:00:36.862057 Received PORT (on stdin) 19:00:36.862396 ====> Client connect 19:00:36.863125 Received DATA (on stdin) 19:00:36.863140 > 17 bytes data, server => client 19:00:36.863152 'WE ROOLZ: 80684\r\n' 19:00:36.863178 Received DISC (on stdin) 19:00:36.863190 ====> Client forcibly disconnected 19:00:36.863356 Received QUIT (on stdin) 19:00:36.863369 quits 19:00:36.863430 ============> 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 ==90136== ==90136== Process terminating with default action of signal 4 (SIGILL) ==90136== Illegal opcode at address 0x4013E00 ==90136== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90136== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90136== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90136== by 0x40037A4: 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/13/valgrind256 ../src/curl -q --include --trace-ascii log/13/trace256 --trace-time -x http://127.0.0.1:35301 http://127.0.0.1:35301/want/256 -C - --no-include -o log/13/fewl256.txt -U daniel:stenberg > log/13/stdout256 2> log/13/stderr256 256: 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 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/13/valgrind256 ../src/curl -q --include --trace-ascii log/13/trace256 --trace-time -x http://127.0.0.1:35301 http://127.0.0.1:35301/want/256 -C - --no-include -o log/13/fewl256.txt -U daniel:stenberg > log/13/stdout256 2> log/13/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 19:00:36.041046 ====> Client connect 19:00:36.041086 accept_connection 3 returned 4 19:00:36.041106 accept_connection 3 returned 0 19:00:36.041124 Read 93 bytes 19:00:36.041136 Process 93 bytes request 19:00:36.041152 Got request: GET /verifiedserver HTTP/1.1 19:00:36.041162 Are-we-friendly question received 19:00:36.041193 Wrote request (93 bytes) input to log/13/server.input 19:00:36.041214 Identifying ourselves as friends 19:00:36.041284 Response sent (56 bytes) and written to log/13/server.response 19:00:36.041299 special request received, no persistency 19:00:36.041309 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 55416 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start 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/2/valgrind257 ../src/curl -q --output log/2/curl257.out --include --trace-ascii log/2/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:44325 --netrc-optional --netrc-file log/2/netrc257 > log/2/stdout257 2> log/2/stderr257 CMD (33792): ../libtool --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/valgrind258 ../src/curl -q --output log/20/curl258.out --include --trace-ascii log/20/trace258 --trace-time -x http://127.0.0.1:38583 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/20/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/20/stdout258 2> log/20/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/valgrind240 ../src/curl -q --output log/10/curl240.out --include --trace-ascii log/10/trace240 --trace-time -g "http://[::1]:39199/240" > log/10/stdout240 2> log/10/stderr240 file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind256 ==90264== ==90264== Process terminating with default action of signal 4 (SIGILL) ==90264== Illegal opcode at address 0x4013E00 ==90264== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90264== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90264== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90264== by 0x40037A4: 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/2/valgrind257 ../src/curl -q --output log/2/curl257.out --include --trace-ascii log/2/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:44325 --netrc-optional --netrc-file log/2/netrc257 > log/2/stdout257 2> log/2/stderr257 257: 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 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/2/valgrind257 ../src/curl -q --output log/2/curl257.out --include --trace-ascii log/2/trace257 --trace-time http://supersite.com/want/257 -L -x http://127.0.0.1:44325 --netrc-optional --netrc-file log/2/netrc257 > log/2/stdout257 2> log/2/stderr257 === End of file commands.log === Start of file http_server.log 19:00:37.105680 ====> Client connect 19:00:37.105720 accept_connection 3 returned 4 19:00:37.105743 accept_connection 3 returned 0 19:00:37.105763 Read 93 bytes 19:00:37.105776 Process 93 bytes request 19:00:37.105793 Got request: GET /verifiedserver HTTP/1.1 19:00:37.105804 Are-we-friendly question received 19:00:37.105834 Wrote request (93 bytes) input to log/2/server.input 19:00:37.105855 Identifying ourselves as friends 19:00:37.105921 Response sent (56 bytes) and written to log/2/server.response 19:00:37.105937 special request received, no persistency 19:00:37.105948 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 47002 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind257 ==90349== ==90349== Process terminating with default action of signal 4 (SIGILL) ==90349== Illegal opcode at address 0x4013E00 ==90349== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90349== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90349== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90349== by 0x40037A4: 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/20/valgrind258 ../src/curl -q --output log/20/curl258.out --include --trace-ascii log/20/trace258 --trace-time -x http://127.0.0.1:38583 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/20/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/20/stdout258 2> log/20/stderr258 258: 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 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/20/valgrind258 ../src/curl -q --output log/20/curl258.out --include --trace-ascii log/20/trace258 --trace-time -x http://127.0.0.1:38583 http://remotehost:54321/we/want/258 -F name=daniel -F tool=curl -F file=@log/20/test258.txt -H "Expect:" -U uuuser:pppassword --proxy-anyauth > log/20/stdout258 2> log/20/stderr258 === End of file commands.log === Start of file http_server.log 19:00:36.116009 ====> Client connect 19:00:36.116044 accept_connection 3 returned 4 19:00:36.116062 accept_connection 3 returned 0 19:00:36.116078 Read 93 bytes 19:00:36.116089 Process 93 bytes request 19:00:36.116103 Got request: GET /verifiedserver HTTP/1.1 19:00:36.116114 Are-we-friendly question received 19:00:36.116137 Wrote request (93 bytes) input to log/20/server.input 19:00:36.116153 Identifying ourselves as friends 19:00:36.116204 Response sent (56 bytes) and written to log/20/server.response 19:00:36.116217 special request received, no persistency 19:00:36.116227 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 37054 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === 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 ==90369== ==90369== Process terminating with default action of signal 4 (SIGILL) ==90369== Illegal opcode at address 0x4013E00 ==90369== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90369== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90369== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90369== by 0x40037A4: main (tool_main.c:199) === End of file valgrind258 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 89413 port 39199 * pid http-ipv6 => 89413 89413 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/10/valgrind240 ../src/curl -q --output log/10/curl240.out --include --trace-ascii log/10/trace240 --trace-time -g "http://[::1]:39199/240" > log/10/stdout240 2> log/10/stderr240 240: 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 240 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --toolCMD (33792): ../libtool --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/valgrind238 ../src/curl -q --output log/7/curl238.out --include --trace-ascii log/7/trace238 --trace-time ftp://127.0.0.1:34277/238 > log/7/stdout238 2> log/7/stderr238 CMD (33792): ../libtool --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/valgrind260 ../src/curl -q --output log/12/curl260.out --include --trace-ascii log/12/trace260 --trace-time "http://127.0.0.1:46819?260" > log/12/stdout260 2> log/12/stderr260 CMD (33792): ../libtool --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/valgrind241 ../src/curl -q --output log/22/curl241.out --include --trace-ascii log/22/trace241 --trace-time -g "http://ip6-localhost:45455/241" > log/22/stdout241 2> log/22/stderr241 =memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind240 ../src/curl -q --output log/10/curl240.out --include --trace-ascii log/10/trace240 --trace-time -g "http://[::1]:39199/240" > log/10/stdout240 2> log/10/stderr240 === End of file commands.log === Start of file http_ipv6_server.log 19:00:35.369166 Running HTTP IPv6 version on port 39199 19:00:35.369248 Wrote pid 89413 to log/10/server/http_ipv6_server.pid 19:00:35.369279 Wrote port 39199 to log/10/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 ==90492== ==90492== Process terminating with default action of signal 4 (SIGILL) ==90492== Illegal opcode at address 0x4013E00 ==90492== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90492== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90492== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90492== by 0x40037A4: main (tool_main.c:199) === End of file valgrind240 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 34277 (log/7/server/ftp_server.port) RUN: FTP server is PID 89392 port 34277 * pid ftp => 89392 89392 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/7/valgrind238 ../src/curl -q --output log/7/curl238.out --include --trace-ascii log/7/trace238 --trace-time ftp://127.0.0.1:34277/238 > log/7/stdout238 2> log/7/stderr238 238: 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 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/7/valgrind238 ../src/curl -q --output log/7/curl238.out --include --trace-ascii log/7/trace238 --trace-time ftp://127.0.0.1:34277/238 > log/7/stdout238 2> log/7/stderr238 === End of file commands.log === Start of file ftp_server.log 19:00:35.602597 FTP server listens on port IPv4/34277 19:00:35.602698 logged pid 89392 in log/7/server/ftp_server.pid 19:00:35.602729 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:35.369578 Running IPv4 version 19:00:35.369638 Listening on port 34277 19:00:35.369672 Wrote pid 89444 to log/7/server/ftp_sockctrl.pid 19:00:35.369700 Wrote port 34277 to log/7/server/ftp_server.port 19:00:35.374526 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd REPLY EPSV 229 Entering Passive Mode (|||1000000|) Testnum 238 === End of file server.cmd === Start of file valgrind238 ==90473== ==90473== Process terminating with default action of signal 4 (SIGILL) ==90473== Illegal opcode at address 0x4013E00 ==90473== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90473== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90473== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90473== by 0x40037A4: main (tool_main.c:199) === End of file valgrind238 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/12/valgrind260 ../src/curl -q --output log/12/curl260.out --include --trace-ascii log/12/trace260 --trace-time "http://127.0.0.1:46819?260" > log/12/stdout260 2> log/12/stderr260 260: 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 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/12/valgrind260 ../src/curl -q --output log/12/curl260.out --include --trace-ascii log/12/trace260 --trace-time "http://127.0.0.1:46819?260" > log/12/stdout260 2> log/12/stderr260 === End of file commands.log === Start of file http_server.log 19:00:36.393795 ====> Client connect 19:00:36.393830 accept_connection 3 returned 4 19:00:36.393848 accept_connection 3 returned 0 19:00:36.393865 Read 93 bytes 19:00:36.393876 Process 93 bytes request 19:00:36.393891 Got request: GET /verifiedserver HTTP/1.1 19:00:36.393901 Are-we-friendly question received 19:00:36.393928 Wrote request (93 bytes) input to log/12/server.input 19:00:36.393946 Identifying ourselves as friends 19:00:36.394003 Response sent (56 bytes) and written to log/12/server.response 19:00:36.394014 special request received, no persistency 19:00:36.394024 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 57350 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === End of file http_verify.out === Start of file server.cmd Testnum 260 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76272 === End of file server.response === Start of file valgrind260 ==90602== ==90602== Process terminating with default action of signal 4 (SIGILL) ==90602== Illegal opcode at address 0x4013E00 ==90602== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90602== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90602== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90602== by 0x40037A4: main (tool_main.c:199) === End of file valgrind260 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 89475 port 45455 * pid http-ipv6 => 89475 89475 prechecked ./server/servers resolve --ipv6 ip6-localhost test 0241...[HTTP-IPv6 GET (using ip6-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/22/valgrind241 ../src/curl -q --output log/22/curl241.out --include --trace-ascii log/22/trace241 --trace-time -g "http://ip6-localhost:45455/241" > log/22/stdout241 2> log/22/stderr241 241: 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 241 === Start of file commands.log ../libtool --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/valgrind241 ../src/curl -q --output log/22/curl241.out --include --trace-ascii log/22/trace241 --trace-time -g "http://ip6-localhost:45455/241" > log/22/stdout241 2> log/22/stderr241 === End of file commands.log === Start of file http_ipv6_server.log 19:00:35.453855 Running HTTP IPv6 version on port 45455 19:00:35.453976 Wrote pid 89475 to log/22/server/http_ipv6_server.pid 19:00:35.454016 CMD (33792): ../libtool --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/valgrind242 ../src/curl -q --output log/15/curl242.out --include --trace-ascii log/15/trace242 --trace-time -g "http://foobar:barfoo@[::1]:39765/242" > log/15/stdout242 2> log/15/stderr242 CMD (33792): ../libtool --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/valgrind259 ../src/curl -q --output log/16/curl259.out --include --trace-ascii log/16/trace259 --trace-time -x http://127.0.0.1:42747 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/16/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/16/stdout259 2> log/16/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/24/valgrind262 ../src/curl -q --output log/24/curl262.out --include --trace-ascii log/24/trace262 --trace-time http://127.0.0.1:39383/262 > log/24/stdout262 2> log/24/stderr262 Wrote port 45455 to log/22/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 241 === End of file server.cmd === Start of file valgrind241 ==90674== ==90674== Process terminating with default action of signal 4 (SIGILL) ==90674== Illegal opcode at address 0x4013E00 ==90674== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90674== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90674== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90674== by 0x40037A4: main (tool_main.c:199) === End of file valgrind241 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 89493 port 39765 * pid http-ipv6 => 89493 89493 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/15/valgrind242 ../src/curl -q --output log/15/curl242.out --include --trace-ascii log/15/trace242 --trace-time -g "http://foobar:barfoo@[::1]:39765/242" > log/15/stdout242 2> log/15/stderr242 242: 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 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/15/valgrind242 ../src/curl -q --output log/15/curl242.out --include --trace-ascii log/15/trace242 --trace-time -g "http://foobar:barfoo@[::1]:39765/242" > log/15/stdout242 2> log/15/stderr242 === End of file commands.log === Start of file http_ipv6_server.log 19:00:35.453855 Running HTTP IPv6 version on port 39765 19:00:35.453972 Wrote pid 89493 to log/15/server/http_ipv6_server.pid 19:00:35.454010 Wrote port 39765 to log/15/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 ==90723== ==90723== Process terminating with default action of signal 4 (SIGILL) ==90723== Illegal opcode at address 0x4013E00 ==90723== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90723== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90723== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90723== by 0x40037A4: main (tool_main.c:199) === End of file valgrind242 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/16/valgrind259 ../src/curl -q --output log/16/curl259.out --include --trace-ascii log/16/trace259 --trace-time -x http://127.0.0.1:42747 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/16/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/16/stdout259 2> log/16/stderr259 259: 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 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/16/valgrind259 ../src/curl -q --output log/16/curl259.out --include --trace-ascii log/16/trace259 --trace-time -x http://127.0.0.1:42747 http://remotehost:54321/we/want/259 -F name=daniel -F tool=curl -F file=@log/16/test259.txt -U uuuser:pppassword --proxy-anyauth -H "Expect: 100-continue" > log/16/stdout259 2> log/16/stderr259 === End of file commands.log === Start of file http_server.log 19:00:37.394156 ====> Client connect 19:00:37.394212 accept_connection 3 returned 4 19:00:37.394234 accept_connection 3 returned 0 19:00:37.394253 Read 93 bytes 19:00:37.394265 Process 93 bytes request 19:00:37.394279 Got request: GET /verifiedserver HTTP/1.1 19:00:37.394290 Are-we-friendly question received 19:00:37.394319 Wrote request (93 bytes) input to log/16/server.input 19:00:37.394338 Identifying ourselves as friends 19:00:37.394417 Response sent (56 bytes) and written to log/16/server.response 19:00:37.394429 special request received, no persistency 19:00:37.394439 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 54496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === 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 ==90617== ==90617== Process terminating with default action of signal 4 (SIGILL) ==90617== Illegal opcode at address 0x4013E00 ==90617== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90617== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90617== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90617== by 0x40037A4: main (tool_main.c:199) === End of file valgrind259 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/24/valgrind262 ../src/curl -q --output log/24/curl262.out --include --trace-ascii log/24/trace262 --trace-time http://127.0.0.1:39383/262 > log/24/stdout262 2> log/24/stderr262 262: 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 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/24/valgrind262 ../src/curl -q --output log/24/curl262.out --include --trace-ascii log/24/trace262 --trace-time http://127.0.0.1:39383/262 > log/24/stdout262 2> log/24/stderr262 === End of file commands.log === Start of file http_server.log 19:00:36.448867 ====> Client connect 19:00:36.448899 accept_connection 3 returned 4 19:00:36.448917 accept_connection 3 returned 0 19:00:36.448932 Read 93 bytes 19:00:36.448943 Process 93 bytes request 19:00:36.448958 Got request: GET /verifiedserver HTTP/1.1 19:00:36.448968 Are-we-friendly question received 19:00:36.448993 Wrote request (93 bytes) input to log/24/server.input 19:00:36.449010 Identifying ourselves as friends 19:00:36.449062 Response sent (56 bytes) and written to log/24/server.response 19:00:36.449073 special request received, no persistency 19:00:36.449083 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54288 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes CMD (33792): ../libtool --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/valgrind261 ../src/curl -q --output log/19/curl261.out --include --trace-ascii log/19/trace261 --trace-time ftp://127.0.0.1:33175/261 > log/19/stdout261 2> log/19/stderr261 CMD (33792): ../libtool --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/valgrind266 ../src/curl -q --output log/3/curl266.out --include --trace-ascii log/3/trace266 --trace-time http://127.0.0.1:46261/266 -D log/3/heads266 > log/3/stdout266 2> log/3/stderr266 data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind262 ==90769== ==90769== Process terminating with default action of signal 4 (SIGILL) ==90769== Illegal opcode at address 0x4013E00 ==90769== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90769== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90769== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90769== by 0x40037A4: main (tool_main.c:199) === End of file valgrind262 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/19/valgrind261 ../src/curl -q --output log/19/curl261.out --include --trace-ascii log/19/trace261 --trace-time ftp://127.0.0.1:33175/261 > log/19/stdout261 2> log/19/stderr261 261: 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 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/19/valgrind261 ../src/curl -q --output log/19/curl261.out --include --trace-ascii log/19/trace261 --trace-time ftp://127.0.0.1:33175/261 > log/19/stdout261 2> log/19/stderr261 === End of file commands.log === Start of file ftp_server.log 19:00:36.664490 ====> Client connect 19:00:36.664684 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:36.665039 < "USER anonymous" 19:00:36.665094 > "331 We are happy you popped in![CR][LF]" 19:00:36.665282 < "PASS ftp@example.com" 19:00:36.665311 > "230 Welcome you silly person[CR][LF]" 19:00:36.665488 < "PWD" 19:00:36.665525 > "257 "/" is current directory[CR][LF]" 19:00:36.665692 < "EPSV" 19:00:36.665716 ====> Passive DATA channel requested by client 19:00:36.665730 DATA sockfilt for passive data channel starting... 19:00:36.668946 DATA sockfilt for passive data channel started (pid 90690) 19:00:36.669108 DATA sockfilt for passive data channel listens on port 41801 19:00:36.669161 > "229 Entering Passive Mode (|||41801|)[CR][LF]" 19:00:36.669183 Client has been notified that DATA conn will be accepted on port 41801 19:00:36.669474 Client connects to port 41801 19:00:36.669502 ====> Client established passive DATA connection on port 41801 19:00:36.669589 < "TYPE I" 19:00:36.669626 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:36.670410 < "SIZE verifiedserver" 19:00:36.670454 > "213 17[CR][LF]" 19:00:36.670606 < "RETR verifiedserver" 19:00:36.670637 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:36.670728 =====> Closing passive DATA connection... 19:00:36.670743 Server disconnects passive DATA connection 19:00:36.670871 Server disconnected passive DATA connection 19:00:36.670892 DATA sockfilt for passive data channel quits (pid 90690) 19:00:36.671176 DATA sockfilt for passive data channel quit (pid 90690) 19:00:36.671197 =====> Closed passive DATA connection 19:00:36.671225 > "226 File transfer complete[CR][LF]" 19:00:36.719145 < "QUIT" 19:00:36.719207 > "221 bye bye baby[CR][LF]" 19:00:36.720236 MAIN sockfilt said DISC 19:00:36.720281 ====> Client disconnected 19:00:36.720362 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:37.436410 ====> Client connect 19:00:37.436771 Received DATA (on stdin) 19:00:37.436790 > 160 bytes data, server => client 19:00:37.436802 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:37.436814 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:37.436824 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:37.436912 < 16 bytes data, client => server 19:00:37.436927 'USER anonymous\r\n' 19:00:37.437162 Received DATA (on stdin) 19:00:37.437176 > 33 bytes data, server => client 19:00:37.437188 '331 We are happy you popped in!\r\n' 19:00:37.437243 < 22 bytes data, client => server 19:00:37.437254 'PASS ftp@example.com\r\n' 19:00:37.437372 Received DATA (on stdin) 19:00:37.437383 > 30 bytes data, server => client 19:00:37.437394 '230 Welcome you silly person\r\n' 19:00:37.437457 < 5 bytes data, client => server 19:00:37.437469 'PWD\r\n' 19:00:37.437590 Received DATA (on stdin) 19:00:37.437602 > 30 bytes data, server => client 19:00:37.437614 '257 "/" is current directory\r\n' 19:00:37.437672 < 6 bytes data, client => server 19:00:37.437684 'EPSV\r\n' 19:00:37.441251 Received DATA (on stdin) 19:00:37.441267 > 39 bytes data, server => client 19:00:37.441280 '229 Entering Passive Mode (|||41801|)\r\n' 19:00:37.441481 < 8 bytes data, client => server 19:00:37.441494 'TYPE I\r\n' 19:00:37.442279 Received DATA (on stdin) 19:00:37.442300 > 33 bytes data, server => client 19:00:37.442313 '200 I modify TYPE as you wanted\r\n' 19:00:37.442375 < 21 bytes data, client => server 19:00:37.442388 'SIZE verifiedserver\r\n' 19:00:37.442516 Received DATA (on stdin) 19:00:37.442528 > 8 bytes data, server => client 19:00:37.442540 '213 17\r\n' 19:00:37.442588 < 21 bytes data, client => server 19:00:37.442599 'RETR verifiedserver\r\n' 19:00:37.442808 Received DATA (on stdin) 19:00:37.442834 > 29 bytes data, server => client 19:00:37.442847 '150 Binary junk (17 bytes).\r\n' 19:00:37.443289 Received DATA (on stdin) 19:00:37.443306 > 28 bytes data, server => client 19:00:37.443319 '226 File transfer complete\r\n' 19:00:37.490974 < 6 bytes data, client => server 19:00:37.491026 'QUIT\r\n' 19:00:37.491275 Received DATA (on stdin) 19:00:37.491289 > 18 bytes data, server => client 19:00:37.491300 '221 bye bye baby\r\n' 19:00:37.492242 ====> Client disconnect 19:00:37.492426 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:36.440566 Running IPv4 version 19:00:36.440638 Listening on port 41801 19:00:36.440675 Wrote pid 90690 to log/19/server/ftp_sockdata.pid 19:00:36.440699 Received PING (on stdin) 19:00:36.441071 Received PORT (on stdin) 19:00:36.441451 ====> Client connect 19:00:36.442811 Received DATA (on stdin) 19:00:36.442827 > 17 bytes data, server => client 19:00:36.442839 'WE ROOLZ: 80854\r\n' 19:00:36.442869 Received DISC (on stdin) 19:00:36.442882 ====> Client forcibly disconnected 19:00:36.442962 Received QUIT (on stdin) 19:00:36.442974 quits 19:00:36.443046 ============> 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 ==90874== ==90874== Process terminating with default action of signal 4 (SIGILL) ==90874== Illegal opcode at address 0x4013E00 ==90874== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90874== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==90874== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90874== by 0x40037A4: main (tool_main.c:199) === End of file valgrind261 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/3/valgrind266 ../src/curl -q --output log/3/curl266.out --include --trace-ascii log/3/trace266 --trace-time http://127.0.0.1:46261/266 -D log/3/heads266 > log/3/stdout266 2> log/3/stderr266 266: 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 theCMD (33792): ../libtool --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/valgrind265 ../src/curl -q --output log/23/curl265.out --include --trace-ascii log/23/trace265 --trace-time http://test.remote.example.com.265:35243/path/2650002 --proxy http://127.0.0.1:35243 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/23/stdout265 2> log/23/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/4/valgrind264 ../src/curl -q --output log/4/curl264.out --include --trace-ascii log/4/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:37985 > log/4/stdout264 2> log/4/stderr264 log/3/ 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/3/valgrind266 ../src/curl -q --output log/3/curl266.out --include --trace-ascii log/3/trace266 --trace-time http://127.0.0.1:46261/266 -D log/3/heads266 > log/3/stdout266 2> log/3/stderr266 === End of file commands.log === Start of file http_server.log 19:00:37.724176 ====> Client connect 19:00:37.724211 accept_connection 3 returned 4 19:00:37.724229 accept_connection 3 returned 0 19:00:37.724246 Read 93 bytes 19:00:37.724257 Process 93 bytes request 19:00:37.724271 Got request: GET /verifiedserver HTTP/1.1 19:00:37.724282 Are-we-friendly question received 19:00:37.724308 Wrote request (93 bytes) input to log/3/server.input 19:00:37.724325 Identifying ourselves as friends 19:00:37.724371 Response sent (56 bytes) and written to log/3/server.response 19:00:37.724382 special request received, no persistency 19:00:37.724392 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 40780 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind266 ==91065== ==91065== Process terminating with default action of signal 4 (SIGILL) ==91065== Illegal opcode at address 0x4013E00 ==91065== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91065== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91065== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91065== by 0x40037A4: main (tool_main.c:199) === End of file valgrind266 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/23/valgrind265 ../src/curl -q --output log/23/curl265.out --include --trace-ascii log/23/trace265 --trace-time http://test.remote.example.com.265:35243/path/2650002 --proxy http://127.0.0.1:35243 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/23/stdout265 2> log/23/stderr265 265: 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 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/23/valgrind265 ../src/curl -q --output log/23/curl265.out --include --trace-ascii log/23/trace265 --trace-time http://test.remote.example.com.265:35243/path/2650002 --proxy http://127.0.0.1:35243 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel -d "postit" > log/23/stdout265 2> log/23/stderr265 === End of file commands.log === Start of file http_server.log 19:00:36.684168 ====> Client connect 19:00:36.684209 accept_connection 3 returned 4 19:00:36.684229 accept_connection 3 returned 0 19:00:36.684247 Read 93 bytes 19:00:36.684258 Process 93 bytes request 19:00:36.684273 Got request: GET /verifiedserver HTTP/1.1 19:00:36.684284 Are-we-friendly question received 19:00:36.684310 Wrote request (93 bytes) input to log/23/server.input 19:00:36.684329 Identifying ourselves as friends 19:00:36.684405 Response sent (56 bytes) and written to log/23/server.response 19:00:36.684419 special request received, no persistency 19:00:36.684430 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 50202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind265 ==91004== ==91004== Process terminating with default action of signal 4 (SIGILL) ==91004== Illegal opcode at address 0x4013E00 ==91004== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91004== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91004== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91004== by 0x40037A4: main (tool_main.c:199) === End of file valgrind265 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/4/valgrind264 ../src/curl -q --output log/4/curl264.out --include --trace-ascii log/4/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:37985 > log/4/stdout264 2> log/4/stderr264 264: 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 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/4/valgrind264 ../src/curl -q --output log/4/curl264.out --include --trace-ascii log/4/trace264 --trace-time http://we.want.that.site.com/264 -x http://f%61ke:user@127.0.0.1:37985 > log/4/stdout264 2> log/4/stderr264 === End of file commands.log === Start of file http_server.log 19:00:37.675050 ====> Client connect 19:00:37.675093 accept_connection 3 returned 4 19:00:37.675113 accept_connection 3 returned 0 19:00:37.675130 Read 93 bytes 19:00:37.675142 Process 93 bytes request 19:00:37.675157 Got request: GET /verifiedserver HTTP/1.1 19:00:37.675168 Are-we-friendly question received 19:00:37.675195 Wrote request (93 bytes) input to log/4/server.input 19:00:37.675215 Identifying ourselves as friends 19:00:37.675274 Response sent (56 bytes) and written to log/4/server.response 19:00:37.675286 special request received, no persistency 19:00:37.675297 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 47996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind264 ==90976== ==90976== Process terminating with default action of signal 4 (SIGILL) ==90976== Illegal opcode at address 0x4013E00 ==90976== at 0x4013E00: getparameter (tool_getparam.c:2846) ==90976== by 0x40037A4:CMD (33792): ../libtool --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/valgrind253 ../src/curl -q --output log/14/curl253.out --include --trace-ascii log/14/trace253 --trace-time -g "ftp://[::1]:36699/" -P - > log/14/stdout253 2> log/14/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/5/valgrind268 ../src/curl -q --output log/5/curl268.out --include --trace-ascii log/5/trace268 --trace-time http://127.0.0.1:46771/268 --variable hello@log/5/junk --expand-data {{hello:json}} > log/5/stdout268 2> log/5/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/6/valgrind252 ../src/curl -q --output log/6/curl252.out --include --trace-ascii log/6/trace252 --trace-time -g "ftp://[::1]:46273/" > log/6/stdout252 2> log/6/stderr252 UnknownInlinedFun (tool_getparam.c:3029) ==90976== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==90976== by 0x40037A4: main (tool_main.c:199) === End of file valgrind264 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/14/server/ftp_ipv6_server.pid" --logfile "log/14/ftp_ipv6_server.log" --logdir "log/14" --portfile "log/14/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 36699 (log/14/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90056 port 36699 * pid ftp-ipv6 => 90056 90056 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/14/valgrind253 ../src/curl -q --output log/14/curl253.out --include --trace-ascii log/14/trace253 --trace-time -g "ftp://[::1]:36699/" -P - > log/14/stdout253 2> log/14/stderr253 253: 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 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/14/valgrind253 ../src/curl -q --output log/14/curl253.out --include --trace-ascii log/14/trace253 --trace-time -g "ftp://[::1]:36699/" -P - > log/14/stdout253 2> log/14/stderr253 === End of file commands.log === Start of file ftp_ipv6_server.log 19:00:36.114359 FTP server listens on port IPv6/36699 19:00:36.114467 logged pid 90056 in log/14/server/ftp_ipv6_server.pid 19:00:36.114502 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:00:36.886092 Running IPv6 version 19:00:36.886190 Listening on port 36699 19:00:36.886228 Wrote pid 90097 to log/14/server/ftp_ipv6_sockctrl.pid 19:00:36.886256 Wrote port 36699 to log/14/server/ftp_ipv6_server.port 19:00:36.886280 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 ==91189== ==91189== Process terminating with default action of signal 4 (SIGILL) ==91189== Illegal opcode at address 0x4013E00 ==91189== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91189== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91189== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91189== by 0x40037A4: main (tool_main.c:199) === End of file valgrind253 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/5/valgrind268 ../src/curl -q --output log/5/curl268.out --include --trace-ascii log/5/trace268 --trace-time http://127.0.0.1:46771/268 --variable hello@log/5/junk --expand-data {{hello:json}} > log/5/stdout268 2> log/5/stderr268 268: 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 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/5/valgrind268 ../src/curl -q --output log/5/curl268.out --include --trace-ascii log/5/trace268 --trace-time http://127.0.0.1:46771/268 --variable hello@log/5/junk --expand-data {{hello:json}} > log/5/stdout268 2> log/5/stderr268 === End of file commands.log === Start of file http_server.log 19:00:36.838793 ====> Client connect 19:00:36.838829 accept_connection 3 returned 4 19:00:36.838848 accept_connection 3 returned 0 19:00:36.838864 Read 93 bytes 19:00:36.838876 Process 93 bytes request 19:00:36.838891 Got request: GET /verifiedserver HTTP/1.1 19:00:36.838902 Are-we-friendly question received 19:00:36.838930 Wrote request (93 bytes) input to log/5/server.input 19:00:36.838948 Identifying ourselves as friends 19:00:36.839004 Response sent (56 bytes) and written to log/5/server.response 19:00:36.839015 special request received, no persistency 19:00:36.839026 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 33642 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind268 ==91173== ==91173== Process terminating with default action of signal 4 (SIGILL) ==91173== Illegal opcode at address 0x4013E00 ==91173== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91173== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91173== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91173== by 0x40037A4: main (tool_main.c:199) === End of file valgrind268 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/6/server/ftp_ipv6_server.pid" --logfile "log/6/ftp_ipv6_server.log" --logdir "log/6" --portfile "log/6/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 46273 (log/6/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90043 port 46273 * pid ftp-ipv6 => 90043 90043 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/6/valgrind252 ../src/curl -q --output log/6/curl252.out --include --trace-ascii log/6/trace252 --trace-time -g "ftp://[::1]:46273/" > log/6/stdout252 2> log/6/stderr252 252: 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 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/6/valgrind252 ../src/curl -q --output log/6/curl252.out --include --trace-ascii log/6/trace252 --trace-time -g "ftp://[::1]:46273/" > log/6/stdout252 2> log/6/stderr252 === End of file commands.log === Start of file ftp_ipv6_server.log 19:00:36.102284 FTP server listens on port IPv6/46273 19:00:36.102372 logged pid 90043 in log/6/server/ftp_ipv6_server.pid 19:00:36.102401 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:00:36.873908 Running IPv6 version 19:00:36.873994 Listening on port 46273 19:00:36.874043 Wrote pid 90079 to log/6/server/ftp_ipv6_sockctrl.pid 19:00:36.874072 Wrote port 46273 to log/6/server/ftp_ipv6_server.port 19:00:36.874244 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 ==91174== ==91174== Process terminating with default action of signal 4 (SIGILL) ==91174== Illegal opcode at address 0x4013E00 ==91174== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91174== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91174== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91174== by 0x40037A4: CMD (33792): ../libtool --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/valgrind270 ../src/curl -q --output log/21/curl270.out --include --trace-ascii log/21/trace270 --trace-time ftp://127.0.0.1:35487/270 --ftp-skip-pasv-ip --disable-epsv > log/21/stdout270 2> log/21/stderr270 CMD (33792): ../libtool --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/valgrind267 ../src/curl -q --output log/1/curl267.out --include --trace-ascii log/1/trace267 --trace-time http://127.0.0.1:40353/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/1/stdout267 2> log/1/stderr267 main (tool_main.c:199) === End of file valgrind252 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/21/valgrind270 ../src/curl -q --output log/21/curl270.out --include --trace-ascii log/21/trace270 --trace-time ftp://127.0.0.1:35487/270 --ftp-skip-pasv-ip --disable-epsv > log/21/stdout270 2> log/21/stderr270 270: 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 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/21/valgrind270 ../src/curl -q --output log/21/curl270.out --include --trace-ascii log/21/trace270 --trace-time ftp://127.0.0.1:35487/270 --ftp-skip-pasv-ip --disable-epsv > log/21/stdout270 2> log/21/stderr270 === End of file commands.log === Start of file ftp_server.log 19:00:37.125155 ====> Client connect 19:00:37.125298 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:37.125590 < "USER anonymous" 19:00:37.125626 > "331 We are happy you popped in![CR][LF]" 19:00:37.125808 < "PASS ftp@example.com" 19:00:37.125838 > "230 Welcome you silly person[CR][LF]" 19:00:37.126008 < "PWD" 19:00:37.126041 > "257 "/" is current directory[CR][LF]" 19:00:37.126221 < "EPSV" 19:00:37.126246 ====> Passive DATA channel requested by client 19:00:37.126260 DATA sockfilt for passive data channel starting... 19:00:37.129412 DATA sockfilt for passive data channel started (pid 91312) 19:00:37.129523 DATA sockfilt for passive data channel listens on port 46827 19:00:37.129569 > "229 Entering Passive Mode (|||46827|)[CR][LF]" 19:00:37.129591 Client has been notified that DATA conn will be accepted on port 46827 19:00:37.130579 Client connects to port 46827 19:00:37.130612 ====> Client established passive DATA connection on port 46827 19:00:37.130692 < "TYPE I" 19:00:37.130726 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:37.131328 < "SIZE verifiedserver" 19:00:37.131371 > "213 17[CR][LF]" 19:00:37.131547 < "RETR verifiedserver" 19:00:37.131587 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:37.131677 =====> Closing passive DATA connection... 19:00:37.131696 Server disconnects passive DATA connection 19:00:37.131953 Server disconnected passive DATA connection 19:00:37.131984 DATA sockfilt for passive data channel quits (pid 91312) 19:00:37.132243 DATA sockfilt for passive data channel quit (pid 91312) 19:00:37.132270 =====> Closed passive DATA connection 19:00:37.132301 > "226 File transfer complete[CR][LF]" 19:00:37.173137 < "QUIT" 19:00:37.173242 > "221 bye bye baby[CR][LF]" 19:00:37.174858 MAIN sockfilt said DISC 19:00:37.174903 ====> Client disconnected 19:00:37.174999 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:36.897114 ====> Client connect 19:00:36.897374 Received DATA (on stdin) 19:00:36.897391 > 160 bytes data, server => client 19:00:36.897405 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:36.897417 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:36.897428 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:36.897508 < 16 bytes data, client => server 19:00:36.897525 'USER anonymous\r\n' 19:00:36.897695 Received DATA (on stdin) 19:00:36.897710 > 33 bytes data, server => client 19:00:36.897722 '331 We are happy you popped in!\r\n' 19:00:36.897775 < 22 bytes data, client => server 19:00:36.897789 'PASS ftp@example.com\r\n' 19:00:36.897903 Received DATA (on stdin) 19:00:36.897917 > 30 bytes data, server => client 19:00:36.897929 '230 Welcome you silly person\r\n' 19:00:36.897979 < 5 bytes data, client => server 19:00:36.897993 'PWD\r\n' 19:00:36.898106 Received DATA (on stdin) 19:00:36.898119 > 30 bytes data, server => client 19:00:36.898131 '257 "/" is current directory\r\n' 19:00:36.898191 < 6 bytes data, client => server 19:00:36.898206 'EPSV\r\n' 19:00:36.901662 Received DATA (on stdin) 19:00:36.901677 > 39 bytes data, server => client 19:00:36.901689 '229 Entering Passive Mode (|||46827|)\r\n' 19:00:36.902582 < 8 bytes data, client => server 19:00:36.902596 'TYPE I\r\n' 19:00:36.903026 Received DATA (on stdin) 19:00:36.903046 > 33 bytes data, server => client 19:00:36.903059 '200 I modify TYPE as you wanted\r\n' 19:00:36.903287 < 21 bytes data, client => server 19:00:36.903305 'SIZE verifiedserver\r\n' 19:00:36.903437 Received DATA (on stdin) 19:00:36.903451 > 8 bytes data, server => client 19:00:36.903462 '213 17\r\n' 19:00:36.903516 < 21 bytes data, client => server 19:00:36.903531 'RETR verifiedserver\r\n' 19:00:36.903857 Received DATA (on stdin) 19:00:36.903872 > 29 bytes data, server => client 19:00:36.903884 '150 Binary junk (17 bytes).\r\n' 19:00:36.904366 Received DATA (on stdin) 19:00:36.904381 > 28 bytes data, server => client 19:00:36.904393 '226 File transfer complete\r\n' 19:00:36.944629 < 6 bytes data, client => server 19:00:36.944689 'QUIT\r\n' 19:00:36.945320 Received DATA (on stdin) 19:00:36.945338 > 18 bytes data, server => client 19:00:36.945351 '221 bye bye baby\r\n' 19:00:36.946854 ====> Client disconnect 19:00:36.947066 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:37.901064 Running IPv4 version 19:00:37.901129 Listening on port 46827 19:00:37.901391 Wrote pid 91312 to log/21/server/ftp_sockdata.pid 19:00:37.901415 Received PING (on stdin) 19:00:37.901500 Received PORT (on stdin) 19:00:37.902548 ====> Client connect 19:00:37.903761 Received DATA (on stdin) 19:00:37.903775 > 17 bytes data, server => client 19:00:37.903787 'WE ROOLZ: 81255\r\n' 19:00:37.903816 Received DISC (on stdin) 19:00:37.903830 ====> Client forcibly disconnected 19:00:37.904058 Received QUIT (on stdin) 19:00:37.904073 quits 19:00:37.904136 ============> 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 ==91463== ==91463== Process terminating with default action of signal 4 (SIGILL) ==91463== Illegal opcode at address 0x4013E00 ==91463== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91463== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91463== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91463== by 0x40037A4: main (tool_main.c:199) === End of file valgrind270 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/1/valgrind267 ../src/curl -q --output log/1/curl267.out --include --trace-ascii log/1/trace267 --trace-time http://127.0.0.1:40353/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/1/stdout267 2> log/1/stderr267 267: 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 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/1/valgrind267 ../src/curl -q --output log/1/curl267.out --include --trace-ascii log/1/trace267 --trace-time http://127.0.0.1:40353/267 -u testuser:testpass --ntlm -d "data" -H "Header1: yes" -H "Header2: no" > log/1/stdout267 2> log/1/stderr267 === End of file commands.log === Start of file http_server.log 19:00:36.838794 ====> Client connect 19:00:36.838832 accept_connection 3 returned 4 19:00:36.838850 accept_connection 3 returned 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/9/valgrind269 ../src/curl -q --output log/9/curl269.out --include --trace-ascii log/9/trace269 --trace-time http://127.0.0.1:36745/269 --ignore-content-length > log/9/stdout269 2> log/9/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/8/valgrind254 ../src/curl -q --output log/8/curl254.out --include --trace-ascii log/8/trace254 --trace-time -g "ftp://[::1]:40551/" --disable-epsv > log/8/stdout254 2> log/8/stderr254 CMD (33792): ../libtool --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/valgrind255 ../src/curl -q --output log/17/curl255.out --include --trace-ascii log/17/trace255 --trace-time -g "ftp://[::1]:38883/" -P - --disable-eprt > log/17/stdout255 2> log/17/stderr255 19:00:36.838864 Read 93 bytes 19:00:36.838876 Process 93 bytes request 19:00:36.838891 Got request: GET /verifiedserver HTTP/1.1 19:00:36.838902 Are-we-friendly question received 19:00:36.838928 Wrote request (93 bytes) input to log/1/server.input 19:00:36.838947 Identifying ourselves as friends 19:00:36.839002 Response sent (56 bytes) and written to log/1/server.response 19:00:36.839013 special request received, no persistency 19:00:36.839024 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 37764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind267 ==91192== ==91192== Process terminating with default action of signal 4 (SIGILL) ==91192== Illegal opcode at address 0x4013E00 ==91192== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91192== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91192== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91192== by 0x40037A4: main (tool_main.c:199) === End of file valgrind267 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/9/valgrind269 ../src/curl -q --output log/9/curl269.out --include --trace-ascii log/9/trace269 --trace-time http://127.0.0.1:36745/269 --ignore-content-length > log/9/stdout269 2> log/9/stderr269 269: 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 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/9/valgrind269 ../src/curl -q --output log/9/curl269.out --include --trace-ascii log/9/trace269 --trace-time http://127.0.0.1:36745/269 --ignore-content-length > log/9/stdout269 2> log/9/stderr269 === End of file commands.log === Start of file http_server.log 19:00:36.893667 ====> Client connect 19:00:36.893705 accept_connection 3 returned 4 19:00:36.893724 accept_connection 3 returned 0 19:00:36.893740 Read 93 bytes 19:00:36.893751 Process 93 bytes request 19:00:36.893766 Got request: GET /verifiedserver HTTP/1.1 19:00:36.893777 Are-we-friendly question received 19:00:36.893804 Wrote request (93 bytes) input to log/9/server.input 19:00:36.893822 Identifying ourselves as friends 19:00:36.893884 Response sent (56 bytes) and written to log/9/server.response 19:00:36.893896 special request received, no persistency 19:00:36.893906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 52782 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind269 ==91337== ==91337== Process terminating with default action of signal 4 (SIGILL) ==91337== Illegal opcode at address 0x4013E00 ==91337== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91337== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91337== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91337== by 0x40037A4: main (tool_main.c:199) === End of file valgrind269 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/8/server/ftp_ipv6_server.pid" --logfile "log/8/ftp_ipv6_server.log" --logdir "log/8" --portfile "log/8/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 40551 (log/8/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90093 port 40551 * pid ftp-ipv6 => 90093 90093 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/8/valgrind254 ../src/curl -q --output log/8/curl254.out --include --trace-ascii log/8/trace254 --trace-time -g "ftp://[::1]:40551/" --disable-epsv > log/8/stdout254 2> log/8/stderr254 254: 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 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/8/valgrind254 ../src/curl -q --output log/8/curl254.out --include --trace-ascii log/8/trace254 --trace-time -g "ftp://[::1]:40551/" --disable-epsv > log/8/stdout254 2> log/8/stderr254 === End of file commands.log === Start of file ftp_ipv6_server.log 19:00:36.150212 FTP server listens on port IPv6/40551 19:00:36.150321 logged pid 90093 in log/8/server/ftp_ipv6_server.pid 19:00:36.150354 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:00:36.921979 Running IPv6 version 19:00:36.922053 Listening on port 40551 19:00:36.922096 Wrote pid 90149 to log/8/server/ftp_ipv6_sockctrl.pid 19:00:36.922128 Wrote port 40551 to log/8/server/ftp_ipv6_server.port 19:00:36.922153 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 ==91314== ==91314== Process terminating with default action of signal 4 (SIGILL) ==91314== Illegal opcode at address 0x4013E00 ==91314== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91314== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91314== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91314== by 0x40037A4: 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/17/server/ftp_ipv6_server.pid" --logfile "log/17/ftp_ipv6_server.log" --logdir "log/17" --portfile "log/17/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 38883 (log/17/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 90244 port 38883 * pid ftp-ipv6 => 90244 90244 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/17/valgrind255 ../src/curl -q --output log/17/curl255.out --include --trace-ascii log/17/trace255 --trace-time -g "ftp://[::1]:38883/" -P - --disable-eprt > log/17/stdout255 2> log/17/stderr255 255: 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 afCMD (33792): ../libtool --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/valgrind274 ../src/curl -q --output log/20/curl274.out --include --trace-ascii log/20/trace274 --trace-time http://127.0.0.1:38583/want/274 -L --max-redirs 0 > log/20/stdout274 2> log/20/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/2/valgrind273 ../src/curl -q --output log/2/curl273.out --include --trace-ascii log/2/trace273 --trace-time http://127.0.0.1:44325/273 -u testuser:testpass --digest > log/2/stdout273 2> log/2/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/13/valgrind272 ../src/curl -q --output log/13/curl272.out --include --trace-ascii log/13/trace272 --trace-time ftp://127.0.0.1:40887/272 -z "2004 jan 1 12:12:12 UTC" > log/13/stdout272 2> log/13/stderr272 ter 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/17/valgrind255 ../src/curl -q --output log/17/curl255.out --include --trace-ascii log/17/trace255 --trace-time -g "ftp://[::1]:38883/" -P - --disable-eprt > log/17/stdout255 2> log/17/stderr255 === End of file commands.log === Start of file ftp_ipv6_server.log 19:00:36.276791 FTP server listens on port IPv6/38883 19:00:36.276882 logged pid 90244 in log/17/server/ftp_ipv6_server.pid 19:00:36.276913 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:00:36.048382 Running IPv6 version 19:00:36.048502 Listening on port 38883 19:00:36.048545 Wrote pid 90262 to log/17/server/ftp_ipv6_sockctrl.pid 19:00:36.048575 Wrote port 38883 to log/17/server/ftp_ipv6_server.port 19:00:36.048763 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 ==91554== ==91554== Process terminating with default action of signal 4 (SIGILL) ==91554== Illegal opcode at address 0x4013E00 ==91554== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91554== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91554== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91554== by 0x40037A4: main (tool_main.c:199) === End of file valgrind255 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/20/valgrind274 ../src/curl -q --output log/20/curl274.out --include --trace-ascii log/20/trace274 --trace-time http://127.0.0.1:38583/want/274 -L --max-redirs 0 > log/20/stdout274 2> log/20/stderr274 274: 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 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/20/valgrind274 ../src/curl -q --output log/20/curl274.out --include --trace-ascii log/20/trace274 --trace-time http://127.0.0.1:38583/want/274 -L --max-redirs 0 > log/20/stdout274 2> log/20/stderr274 === End of file commands.log === Start of file http_server.log 19:00:37.137451 ====> Client connect 19:00:37.137486 accept_connection 3 returned 4 19:00:37.137504 accept_connection 3 returned 0 19:00:37.137518 Read 93 bytes 19:00:37.137529 Process 93 bytes request 19:00:37.137544 Got request: GET /verifiedserver HTTP/1.1 19:00:37.137555 Are-we-friendly question received 19:00:37.137579 Wrote request (93 bytes) input to log/20/server.input 19:00:37.137596 Identifying ourselves as friends 19:00:37.137652 Response sent (56 bytes) and written to log/20/server.response 19:00:37.137663 special request received, no persistency 19:00:37.137672 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 37056 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind274 ==91667== ==91667== Process terminating with default action of signal 4 (SIGILL) ==91667== Illegal opcode at address 0x4013E00 ==91667== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91667== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91667== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91667== by 0x40037A4: main (tool_main.c:199) === End of file valgrind274 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/2/valgrind273 ../src/curl -q --output log/2/curl273.out --include --trace-ascii log/2/trace273 --trace-time http://127.0.0.1:44325/273 -u testuser:testpass --digest > log/2/stdout273 2> log/2/stderr273 273: 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 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/2/valgrind273 ../src/curl -q --output log/2/curl273.out --include --trace-ascii log/2/trace273 --trace-time http://127.0.0.1:44325/273 -u testuser:testpass --digest > log/2/stdout273 2> log/2/stderr273 === End of file commands.log === Start of file http_server.log 19:00:38.119151 ====> Client connect 19:00:38.119187 accept_connection 3 returned 4 19:00:38.119205 accept_connection 3 returned 0 19:00:38.119222 Read 93 bytes 19:00:38.119234 Process 93 bytes request 19:00:38.119250 Got request: GET /verifiedserver HTTP/1.1 19:00:38.119261 Are-we-friendly question received 19:00:38.119287 Wrote request (93 bytes) input to log/2/server.input 19:00:38.119310 Identifying ourselves as friends 19:00:38.119366 Response sent (56 bytes) and written to log/2/server.response 19:00:38.119378 special request received, no persistency 19:00:38.119388 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 47010 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind273 ==91650== ==91650== Process terminating with default action of signal 4 (SIGILL) ==91650== Illegal opcode at address 0x4013E00 ==91650== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91650== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91650== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91650== by 0x40037A4: main (tool_main.c:199) === End of file valgrind273 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/13/valgrind272 ../src/curl -q --output log/13/curl272.out --include --trace-ascii log/13/trace272 --trace-time ftp://127.0.0.1:40887/272 -z "2004 jan 1 12:12:12 UTC" > log/13/stdout272 2> log/13/stderr272 272: 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 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/13/valgrCMD (33792): ../libtool --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/valgrind276 ../src/curl -q --output log/7/curl276.out --include --trace-ascii log/7/trace276 --trace-time "http://127.0.0.1:41017/want?uri=http://anything/276?secondq/276" -L > log/7/stdout276 2> log/7/stderr276 ind272 ../src/curl -q --output log/13/curl272.out --include --trace-ascii log/13/trace272 --trace-time ftp://127.0.0.1:40887/272 -z "2004 jan 1 12:12:12 UTC" > log/13/stdout272 2> log/13/stderr272 === End of file commands.log === Start of file ftp_server.log 19:00:37.350567 ====> Client connect 19:00:37.350704 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:37.350986 < "USER anonymous" 19:00:37.351028 > "331 We are happy you popped in![CR][LF]" 19:00:37.351198 < "PASS ftp@example.com" 19:00:37.351224 > "230 Welcome you silly person[CR][LF]" 19:00:37.351368 < "PWD" 19:00:37.351398 > "257 "/" is current directory[CR][LF]" 19:00:37.351547 < "EPSV" 19:00:37.351570 ====> Passive DATA channel requested by client 19:00:37.351583 DATA sockfilt for passive data channel starting... 19:00:37.362296 DATA sockfilt for passive data channel started (pid 91634) 19:00:37.362420 DATA sockfilt for passive data channel listens on port 42207 19:00:37.362464 > "229 Entering Passive Mode (|||42207|)[CR][LF]" 19:00:37.362482 Client has been notified that DATA conn will be accepted on port 42207 19:00:37.363240 Client connects to port 42207 19:00:37.363277 ====> Client established passive DATA connection on port 42207 19:00:37.363413 < "TYPE I" 19:00:37.363450 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:37.363611 < "SIZE verifiedserver" 19:00:37.363648 > "213 17[CR][LF]" 19:00:37.363788 < "RETR verifiedserver" 19:00:37.363819 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:37.363906 =====> Closing passive DATA connection... 19:00:37.363920 Server disconnects passive DATA connection 19:00:37.364039 Server disconnected passive DATA connection 19:00:37.364060 DATA sockfilt for passive data channel quits (pid 91634) 19:00:37.364317 DATA sockfilt for passive data channel quit (pid 91634) 19:00:37.364338 =====> Closed passive DATA connection 19:00:37.364364 > "226 File transfer complete[CR][LF]" 19:00:37.410283 < "QUIT" 19:00:37.410349 > "221 bye bye baby[CR][LF]" 19:00:37.411340 MAIN sockfilt said DISC 19:00:37.411373 ====> Client disconnected 19:00:37.411465 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:37.122523 ====> Client connect 19:00:37.122778 Received DATA (on stdin) 19:00:37.122794 > 160 bytes data, server => client 19:00:37.122807 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:37.122818 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:37.122829 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:37.122904 < 16 bytes data, client => server 19:00:37.122916 'USER anonymous\r\n' 19:00:37.123093 Received DATA (on stdin) 19:00:37.123106 > 33 bytes data, server => client 19:00:37.123117 '331 We are happy you popped in!\r\n' 19:00:37.123166 < 22 bytes data, client => server 19:00:37.123177 'PASS ftp@example.com\r\n' 19:00:37.123283 Received DATA (on stdin) 19:00:37.123295 > 30 bytes data, server => client 19:00:37.123306 '230 Welcome you silly person\r\n' 19:00:37.123349 < 5 bytes data, client => server 19:00:37.123359 'PWD\r\n' 19:00:37.123457 Received DATA (on stdin) 19:00:37.123468 > 30 bytes data, server => client 19:00:37.123479 '257 "/" is current directory\r\n' 19:00:37.123532 < 6 bytes data, client => server 19:00:37.123543 'EPSV\r\n' 19:00:37.135014 Received DATA (on stdin) 19:00:37.135037 > 39 bytes data, server => client 19:00:37.135049 '229 Entering Passive Mode (|||42207|)\r\n' 19:00:37.135359 < 8 bytes data, client => server 19:00:37.135372 'TYPE I\r\n' 19:00:37.135512 Received DATA (on stdin) 19:00:37.135524 > 33 bytes data, server => client 19:00:37.135535 '200 I modify TYPE as you wanted\r\n' 19:00:37.135589 < 21 bytes data, client => server 19:00:37.135600 'SIZE verifiedserver\r\n' 19:00:37.135708 Received DATA (on stdin) 19:00:37.135719 > 8 bytes data, server => client 19:00:37.135729 '213 17\r\n' 19:00:37.135774 < 21 bytes data, client => server 19:00:37.135784 'RETR verifiedserver\r\n' 19:00:37.136426 Received DATA (on stdin) 19:00:37.136440 > 29 bytes data, server => client 19:00:37.136451 '150 Binary junk (17 bytes).\r\n' 19:00:37.136473 Received DATA (on stdin) 19:00:37.136483 > 28 bytes data, server => client 19:00:37.136493 '226 File transfer complete\r\n' 19:00:37.182094 < 6 bytes data, client => server 19:00:37.182146 'QUIT\r\n' 19:00:37.182418 Received DATA (on stdin) 19:00:37.182431 > 18 bytes data, server => client 19:00:37.182444 '221 bye bye baby\r\n' 19:00:37.183350 ====> Client disconnect 19:00:37.183527 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:37.131548 Running IPv4 version 19:00:37.131643 Listening on port 42207 19:00:37.131681 Wrote pid 91634 to log/13/server/ftp_sockdata.pid 19:00:37.134283 Received PING (on stdin) 19:00:37.134387 Received PORT (on stdin) 19:00:37.135243 ====> Client connect 19:00:37.135985 Received DATA (on stdin) 19:00:37.136001 > 17 bytes data, server => client 19:00:37.136012 'WE ROOLZ: 80703\r\n' 19:00:37.136039 Received DISC (on stdin) 19:00:37.136051 ====> Client forcibly disconnected 19:00:37.136125 Received QUIT (on stdin) 19:00:37.136136 quits 19:00:37.136209 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 272 === End of file server.cmd === Start of file valgrind272 ==91703== ==91703== Process terminating with default action of signal 4 (SIGILL) ==91703== Illegal opcode at address 0x4013E00 ==91703== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91703== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91703== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91703== by 0x40037A4: main (tool_main.c:199) === End of file valgrind272 test 0276...[HTTP Location: following with multiple 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/7/valgrind276 ../src/curl -q --output log/7/curl276.out --include --trace-ascii log/7/trace276 --trace-time "http://127.0.0.1:41017/want?uri=http://anything/276?secondq/276" -L > log/7/stdout276 2> log/7/stderr276 276: 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 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/7/valgrind276 ../src/curl -q --output log/7/curl276.out --include --trace-ascii log/7/trace276 --trace-time "http://127.0.0.1:41017/want?uri=http://anything/276?secondq/276" -L > log/7/stdout276 2> log/7/stderr276 === End of file commands.log === Start of file http_server.log 19:00:37.467496 ====> Client connect 19:00:37.467531 accept_connection 3 returned 4 19:00:37.467547 accept_connection 3 returned 0 19:00:37.467560 Read 93 bytes 19:00:37.467568 Process 93 bytes request 19:00:37.467580 Got request: GET /verifiedserver HTTP/1.1 19:00:37.467588 Are-we-friendly question received 19:00:37.467610 Wrote request (93 bytes) input to log/7/server.input 19:00:37.467624 Identifying ourselves as friends 19:00:37.467674 Response sent (56 bytes) and written to log/7/server.response 19:00:37.467683 special request received, no persistency 19:00:37.467690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 58184 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 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/22/valgrind278 ../src/curl -q --output log/22/curl278.out --include --trace-ascii log/22/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:41061 > log/22/stdout278 2> log/22/stderr278 CMD (33792): ../libtool --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/valgrind279 ../src/curl -q --output log/15/curl279.out --include --trace-ascii log/15/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:44531 > log/15/stdout279 2> log/15/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/12/valgrind277 ../src/curl -q --output log/12/curl277.out --include --trace-ascii log/12/trace277 --trace-time http://127.0.0.1:46819/want/277 -F name=daniel -H "Content-Type: text/info" > log/12/stdout277 2> log/12/stderr277 p_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind276 ==91878== ==91878== Process terminating with default action of signal 4 (SIGILL) ==91878== Illegal opcode at address 0x4013E00 ==91878== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91878== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91878== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91878== by 0x40037A4: main (tool_main.c:199) === End of file valgrind276 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/22/valgrind278 ../src/curl -q --output log/22/curl278.out --include --trace-ascii log/22/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:41061 > log/22/stdout278 2> log/22/stderr278 278: 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 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/22/valgrind278 ../src/curl -q --output log/22/curl278.out --include --trace-ascii log/22/trace278 --trace-time http://we.want.that.site.com/278 -x http://f%61ke:@127.0.0.1:41061 > log/22/stdout278 2> log/22/stderr278 === End of file commands.log === Start of file http_server.log 19:00:37.558069 ====> Client connect 19:00:37.558105 accept_connection 3 returned 4 19:00:37.558125 accept_connection 3 returned 0 19:00:37.558141 Read 93 bytes 19:00:37.558153 Process 93 bytes request 19:00:37.558169 Got request: GET /verifiedserver HTTP/1.1 19:00:37.558180 Are-we-friendly question received 19:00:37.558206 Wrote request (93 bytes) input to log/22/server.input 19:00:37.558227 Identifying ourselves as friends 19:00:37.558285 Response sent (56 bytes) and written to log/22/server.response 19:00:37.558297 special request received, no persistency 19:00:37.558308 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 33020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === End of file http_verify.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: 74419 === End of file server.response === Start of file valgrind278 ==92037== ==92037== Process terminating with default action of signal 4 (SIGILL) ==92037== Illegal opcode at address 0x4013E00 ==92037== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92037== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92037== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92037== by 0x40037A4: 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/15/valgrind279 ../src/curl -q --output log/15/curl279.out --include --trace-ascii log/15/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:44531 > log/15/stdout279 2> log/15/stderr279 279: 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 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/15/valgrind279 ../src/curl -q --output log/15/curl279.out --include --trace-ascii log/15/trace279 --trace-time http://we.want.that.site.com/279 -x http://f%61ke@127.0.0.1:44531 > log/15/stdout279 2> log/15/stderr279 === End of file commands.log === Start of file http_server.log 19:00:37.567188 ====> Client connect 19:00:37.567224 accept_connection 3 returned 4 19:00:37.567241 accept_connection 3 returned 0 19:00:37.567255 Read 93 bytes 19:00:37.567267 Process 93 bytes request 19:00:37.567283 Got request: GET /verifiedserver HTTP/1.1 19:00:37.567294 Are-we-friendly question received 19:00:37.567317 Wrote request (93 bytes) input to log/15/server.input 19:00:37.567334 Identifying ourselves as friends 19:00:37.567384 Response sent (56 bytes) and written to log/15/server.response 19:00:37.567395 special request received, no persistency 19:00:37.567404 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 48960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind279 ==92060== ==92060== Process terminating with default action of signal 4 (SIGILL) ==92060== Illegal opcode at address 0x4013E00 ==92060== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92060== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92060== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92060== by 0x40037A4: main (tool_main.c:199) === End of file valgrind279 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/12/valgrind277 ../src/curl -q --output log/12/curl277.out --include --trace-ascii log/12/trace277 --trace-time http://127.0.0.1:46819/want/277 -F name=daniel -H "Content-Type: text/info" > log/12/stdout277 2> log/12/stderr277 277: 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 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/12/valgrind277 ../src/curl -q --output log/12/curl277.out --include --trace-ascii log/12/trace277 --trace-time http://127.0.0.1:46819/want/277 -F name=daniel -H "Content-Type: text/info" > log/12/stdout277 2> log/12/stderr277 === End of file commands.log === Start of file http_server.log 19:00:37.489751 ====> Client connect 19:00:37.489787 accept_connection 3 returned 4 19:00:37.489805 accept_connection 3 returned 0 19:00:37.489820 Read 93 bytes 19:00:37.489830 Process 93 bytes request 19:00:37.489844 Got request: GET /verifiedserver HTTP/1.1 19:00:37.489854 Are-we-friendly question received 19:00:37.489880 Wrote request (93 bytes) input to log/12/server.input 19:00:37.48CMD (33792): ../libtool --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/valgrind282 ../src/curl -q --output log/19/curl282.out --include --trace-ascii log/19/trace282 --trace-time http://127.0.0.1:41761/282 > log/19/stdout282 2> log/19/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/18/valgrind263 ../src/curl -q --output log/18/curl263.out --include --trace-ascii log/18/trace263 --trace-time -g -x "http://[::1]:39045" http://veryveryremotesite.com/263 > log/18/stdout263 2> log/18/stderr263 CMD (33792): ../libtool --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/valgrind281 ../src/curl -q --output log/24/curl281.out --include --trace-ascii log/24/trace281 --trace-time http://127.0.0.1:39383/we/want/281 -f -T log/24/test281.txt > log/24/stdout281 2> log/24/stderr281 9896 Identifying ourselves as friends 19:00:37.489953 Response sent (56 bytes) and written to log/12/server.response 19:00:37.489963 special request received, no persistency 19:00:37.489972 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 57354 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind277 ==91900== ==91900== Process terminating with default action of signal 4 (SIGILL) ==91900== Illegal opcode at address 0x4013E00 ==91900== at 0x4013E00: getparameter (tool_getparam.c:2846) ==91900== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==91900== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==91900== by 0x40037A4: main (tool_main.c:199) === End of file valgrind277 test 0300 SKIPPED: no stunnel test 0301 SKIPPED: no stunnel test 0302 SKIPPED: no stunnel 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/19/valgrind282 ../src/curl -q --output log/19/curl282.out --include --trace-ascii log/19/trace282 --trace-time http://127.0.0.1:41761/282 > log/19/stdout282 2> log/19/stderr282 282: 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 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/19/valgrind282 ../src/curl -q --output log/19/curl282.out --include --trace-ascii log/19/trace282 --trace-time http://127.0.0.1:41761/282 > log/19/stdout282 2> log/19/stderr282 === End of file commands.log === Start of file http_server.log 19:00:37.568993 ====> Client connect 19:00:37.569025 accept_connection 3 returned 4 19:00:37.569042 accept_connection 3 returned 0 19:00:37.569056 Read 93 bytes 19:00:37.569066 Process 93 bytes request 19:00:37.569078 Got request: GET /verifiedserver HTTP/1.1 19:00:37.569088 Are-we-friendly question received 19:00:37.569112 Wrote request (93 bytes) input to log/19/server.input 19:00:37.569129 Identifying ourselves as friends 19:00:37.569180 Response sent (56 bytes) and written to log/19/server.response 19:00:37.569190 special request received, no persistency 19:00:37.569199 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 60938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind282 ==92066== ==92066== Process terminating with default action of signal 4 (SIGILL) ==92066== Illegal opcode at address 0x4013E00 ==92066== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92066== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92066== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92066== by 0x40037A4: main (tool_main.c:199) === End of file valgrind282 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 90932 port 39045 * pid http-ipv6 => 90932 90932 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/18/valgrind263 ../src/curl -q --output log/18/curl263.out --include --trace-ascii log/18/trace263 --trace-time -g -x "http://[::1]:39045" http://veryveryremotesite.com/263 > log/18/stdout263 2> log/18/stderr263 263: 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 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/18/valgrind263 ../src/curl -q --output log/18/curl263.out --include --trace-ascii log/18/trace263 --trace-time -g -x "http://[::1]:39045" http://veryveryremotesite.com/263 > log/18/stdout263 2> log/18/stderr263 === End of file commands.log === Start of file http_ipv6_server.log 19:00:36.590986 Running HTTP IPv6 version on port 39045 19:00:36.591097 Wrote pid 90932 to log/18/server/http_ipv6_server.pid 19:00:36.591133 Wrote port 39045 to log/18/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 ==92078== ==92078== Process terminating with default action of signal 4 (SIGILL) ==92078== Illegal opcode at address 0x4013E00 ==92078== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92078== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92078== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92078== by 0x40037A4: 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/24/valgrind281 ../src/curl -q --output log/24/curl281.out --include --trace-ascii log/24/trace281 --trace-time http://127.0.0.1:39383/we/want/281 -f -T log/24/test281.txt > log/24/stdout281 2> log/24/stderr281 281: 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 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/24/valgrind281 ../src/curl -q --output log/24/curl281.out --include --trace-ascii log/24/trace281 --trace-time http://127.0.0.1:39383/we/want/281 -f -T log/24/test281.txt > log/24/stdout281 2> log/24/stderr281 === End of file commands.log === Start of file http_server.log 19:00:37.571684 ====> Client connect 19:00:37.571722 accept_connection 3 returned 4 19:00:37.571742 accept_connection 3 returned 0 19:00:37.571758 Read 93 bytes 19:00:37.571770 Process 93 bytes request 19:00:37.571784 Got request: GET /verifiedserver HTTP/1.1 19:00:37.571795 Are-we-friendly question received 19:00:37.571822 Wrote request (93 bytes) input to log/24/server.iCMD (33792): ../libtool --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/valgrind280 ../src/curl -q --output log/16/curl280.out --include --trace-ascii log/16/trace280 --trace-time ftp://127.0.0.1:35319/280/ --ftp-alternative-to-user "USER replacement" > log/16/stdout280 2> log/16/stderr280 nput 19:00:37.571842 Identifying ourselves as friends 19:00:37.571904 Response sent (56 bytes) and written to log/24/server.response 19:00:37.571916 special request received, no persistency 19:00:37.571927 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file test281.txt Weird file to upload === End of file test281.txt === Start of file valgrind281 ==92079== ==92079== Process terminating with default action of signal 4 (SIGILL) ==92079== Illegal opcode at address 0x4013E00 ==92079== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92079== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92079== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92079== by 0x40037A4: main (tool_main.c:199) === End of file valgrind281 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/16/valgrind280 ../src/curl -q --output log/16/curl280.out --include --trace-ascii log/16/trace280 --trace-time ftp://127.0.0.1:35319/280/ --ftp-alternative-to-user "USER replacement" > log/16/stdout280 2> log/16/stderr280 280: 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 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/16/valgrind280 ../src/curl -q --output log/16/curl280.out --include --trace-ascii log/16/trace280 --trace-time ftp://127.0.0.1:35319/280/ --ftp-alternative-to-user "USER replacement" > log/16/stdout280 2> log/16/stderr280 === End of file commands.log === Start of file ftp_server.log 19:00:37.788761 ====> Client connect 19:00:37.788920 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:37.789286 < "USER anonymous" 19:00:37.789342 > "331 We are happy you popped in![CR][LF]" 19:00:37.789559 < "PASS ftp@example.com" 19:00:37.789596 > "230 Welcome you silly person[CR][LF]" 19:00:37.789744 < "PWD" 19:00:37.789775 > "257 "/" is current directory[CR][LF]" 19:00:37.789927 < "EPSV" 19:00:37.789948 ====> Passive DATA channel requested by client 19:00:37.789961 DATA sockfilt for passive data channel starting... 19:00:37.793759 DATA sockfilt for passive data channel started (pid 92024) 19:00:37.793898 DATA sockfilt for passive data channel listens on port 36445 19:00:37.793955 > "229 Entering Passive Mode (|||36445|)[CR][LF]" 19:00:37.793979 Client has been notified that DATA conn will be accepted on port 36445 19:00:37.794311 Client connects to port 36445 19:00:37.794347 ====> Client established passive DATA connection on port 36445 19:00:37.794451 < "TYPE I" 19:00:37.794493 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:37.794703 < "SIZE verifiedserver" 19:00:37.794752 > "213 17[CR][LF]" 19:00:37.794940 < "RETR verifiedserver" 19:00:37.794986 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:37.795091 =====> Closing passive DATA connection... 19:00:37.795110 Server disconnects passive DATA connection 19:00:37.795399 Server disconnected passive DATA connection 19:00:37.795433 DATA sockfilt for passive data channel quits (pid 92024) 19:00:37.795710 DATA sockfilt for passive data channel quit (pid 92024) 19:00:37.795742 =====> Closed passive DATA connection 19:00:37.795774 > "226 File transfer complete[CR][LF]" 19:00:37.836573 < "QUIT" 19:00:37.836638 > "221 bye bye baby[CR][LF]" 19:00:37.837597 MAIN sockfilt said DISC 19:00:37.837640 ====> Client disconnected 19:00:37.837726 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:37.560686 ====> Client connect 19:00:37.560996 Received DATA (on stdin) 19:00:37.561014 > 160 bytes data, server => client 19:00:37.561027 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:37.561038 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:37.561049 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:37.561153 < 16 bytes data, client => server 19:00:37.561179 'USER anonymous\r\n' 19:00:37.561412 Received DATA (on stdin) 19:00:37.561427 > 33 bytes data, server => client 19:00:37.561439 '331 We are happy you popped in!\r\n' 19:00:37.561499 < 22 bytes data, client => server 19:00:37.561520 'PASS ftp@example.com\r\n' 19:00:37.561659 Received DATA (on stdin) 19:00:37.561671 > 30 bytes data, server => client 19:00:37.561682 '230 Welcome you silly person\r\n' 19:00:37.561727 < 5 bytes data, client => server 19:00:37.561738 'PWD\r\n' 19:00:37.561834 Received DATA (on stdin) 19:00:37.561846 > 30 bytes data, server => client 19:00:37.561857 '257 "/" is current directory\r\n' 19:00:37.561910 < 6 bytes data, client => server 19:00:37.561922 'EPSV\r\n' 19:00:37.566053 Received DATA (on stdin) 19:00:37.566073 > 39 bytes data, server => client 19:00:37.566087 '229 Entering Passive Mode (|||36445|)\r\n' 19:00:37.566276 < 8 bytes data, client => server 19:00:37.566296 'TYPE I\r\n' 19:00:37.566562 Received DATA (on stdin) 19:00:37.566577 > 33 bytes data, server => client 19:00:37.566590 '200 I modify TYPE as you wanted\r\n' 19:00:37.566654 < 21 bytes data, client => server 19:00:37.566670 'SIZE verifiedserver\r\n' 19:00:37.566818 Received DATA (on stdin) 19:00:37.566833 > 8 bytes data, server => client 19:00:37.566845 '213 17\r\n' 19:00:37.566902 < 21 bytes data, client => server 19:00:37.566917 'RETR verifiedserver\r\n' 19:00:37.567178 Received DATA (on stdin) 19:00:37.567194 > 29 bytes data, server => client 19:00:37.567207 '150 Binary junk (17 bytes).\r\n' 19:00:37.567841 Received DATA (on stdin) 19:00:37.567857 > 28 bytes data, server => client 19:00:37.567869 '226 File transfer complete\r\n' 19:00:37.608411 < 6 bytes data, client => server 19:00:37.608451 'QUIT\r\n' 19:00:37.608709 Received DATA (on stdin) 19:00:37.608726 > 18 bytes data, server => client 19:00:37.608738 '221 bye bye baby\r\n' 19:00:37.609596 ====> Client disconnect 19:00:37.609791 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:37.565421 Running IPv4 version 19:00:37.565511 Listening on port 36445 19:00:37.565722 Wrote pid 92024 to log/16/server/ftp_sockdata.pid 19:00:37.565753 Received PING (on stdin) 19:00:37.565860 Received PORT (on stdin) 19:00:37.566321 ====> Client connect 19:00:37.567239 Received DATA (on stdin) 19:00:37.567257 > 17 bytes data, server => client 19:00:37.567270 'WE ROOLZ: 80535\r\n' 19:00:37.567299 Received DISC (on stdin) 19:00:37.567313 ====> Client forcibly disconnected 19:00:37.567510 Received QUIT (on stdin) 19:00:37.567526 quits 19:00:37.567598 ============> sockfilt quits === End of file ftp_sockdata.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 ==92209== ==92209== Process terminating with default action of signal 4 (SIGILL) ==92209== Illegal opcode at address 0x4013E00 ==92209== at 0x4013E00: getparaCMD (33792): ../libtool --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/valgrind271 ../src/curl -q --output log/11/curl271.out --include --trace-ascii log/11/trace271 --trace-time tftp://127.0.0.1:44013//271 > log/11/stdout271 2> log/11/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/6/valgrind288 ../src/curl -q --output log/6/curl288.out --trace-ascii log/6/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/6/test288.txt > log/6/stdout288 2> log/6/stderr288 meter (tool_getparam.c:2846) ==92209== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92209== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92209== by 0x40037A4: 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 91311 port 44013 * pid tftp => 91311 91311 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/11/valgrind271 ../src/curl -q --output log/11/curl271.out --include --trace-ascii log/11/trace271 --trace-time tftp://127.0.0.1:44013//271 > log/11/stdout271 2> log/11/stderr271 271: 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 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/11/valgrind271 ../src/curl -q --output log/11/curl271.out --include --trace-ascii log/11/trace271 --trace-time tftp://127.0.0.1:44013//271 > log/11/stdout271 2> log/11/stderr271 === End of file commands.log === Start of file server.cmd Testnum 271 === End of file server.cmd === Start of file tftp_server.log 19:00:37.928323 Wrote pid 91311 to log/11/server/tftp_server.pid 19:00:37.928386 Wrote port 44013 to log/11/server/tftp_server.port 19:00:37.928402 Running IPv4 version on port UDP/44013 === End of file tftp_server.log === Start of file valgrind271 ==92377== ==92377== Process terminating with default action of signal 4 (SIGILL) ==92377== Illegal opcode at address 0x4013E00 ==92377== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92377== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92377== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92377== by 0x40037A4: main (tool_main.c:199) === End of file valgrind271 CMD (33792): ../libtool --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/valgrind287 ../src/curl -q --include --trace-ascii log/5/trace287 --trace-time http://test.remote.example.com.287:46771/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:46771 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/5/stdout287 2> log/5/stderr287 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/6/valgrind288 ../src/curl -q --output log/6/curl288.out --trace-ascii log/6/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/6/test288.txt > log/6/stdout288 2> log/6/stderr288 288: data FAILED: --- log/6/check-expected 2025-11-13 19:00:39.066057683 +0000 +++ log/6/check-generated 2025-11-13 19:00:39.066057683 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/6/ 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/6/valgrind288 ../src/curl -q --output log/6/curl288.out --trace-ascii log/6/trace288 --trace-time file://localhost/startdir/src/build-curl/tests/log/6/test288.txt > log/6/stdout288 2> log/6/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 ==92407== ==92407== Process terminating with default action of signal 4 (SIGILL) ==92407== Illegal opcode at address 0x4013E00 ==92407== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92407== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92407== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92407== by 0x40037A4: main (tool_main.c:199) === End of file valgrind288 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) CMD (33792): ../libtool --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/valgrind289 ../src/curl -q --output log/21/curl289.out --include --trace-ascii log/21/trace289 --trace-time ftp://127.0.0.1:35487/289 -T log/21/illegal-nonexistent-file -C - > log/21/stdout289 2> log/21/stderr289 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/5/valgrind287 ../src/curl -q --include --trace-ascii log/5/trace287 --trace-time http://test.remote.example.com.287:46771/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:46771 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/5/stdout287 2> log/5/stderr287 287: stdout FAILED: --- log/5/check-expected 2025-11-13 19:00:39.082724350 +0000 +++ log/5/check-generated 2025-11-13 19:00:39.082724350 +0000 @@ -1,2 +0,0 @@ -HTTP/1.1 405 Method Not Allowed swsclose[CR][LF] -[CR][LF] == Contents of files in the log/5/ 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/5/valgrind287 ../src/curl -q --include --trace-ascii log/5/trace287 --trace-time http://test.remote.example.com.287:46771/path/287 -H "User-Agent: looser/2015" --proxy http://127.0.0.1:46771 --proxytunnel --proxy-header "User-Agent: looser/2007" > log/5/stdout287 2> log/5/stderr287 === End of file commands.log === Start of file http_server.log 19:00:37.925909 ====> Client connect 19:00:37.925946 accept_connection 3 returned 4 19:00:37.925964 accept_connection 3 returned 0 19:00:37.925979 Read 93 bytes 19:00:37.925990 Process 93 bytes request 19:00:37.926006 Got request: GET /verifiedserver HTTP/1.1 19:00:37.926016 Are-we-friendly question received 19:00:37.926041 Wrote request (93 bytes) input to log/5/server.input 19:00:37.926058 Identifying ourselves as friends 19:00:37.926119 Response sent (56 bytes) and written to log/5/server.response 19:00:37.926155 special request received, no persistency 19:00:37.926165 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 33654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind287 ==92434== ==92434== Process terminating with default action of signal 4 (SIGILL) ==92434== Illegal opcode at address 0x4013E00 ==92434== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92434== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92434== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92434== by 0x40037A4: main (tool_main.c:199) === End of file valgrind287 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/21/valgrind289 ../src/curl -q --output log/21/curl289.out --include --trace-ascii log/21/trace289 --trace-time ftp://127.0.0.1:35487/289 -T log/21/illegal-nonexistent-file -C - > log/21/stdout289 2> log/21/stderr289 curl returned 132, when expecting 26 289: exit FAILED == Contents of files in the log/21/ 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/21/valgrind289 ../src/curl -q --output log/21/curl289.out --include --trace-ascii log/21/trace289 --trace-time ftp://127.0.0.1:35487/289 -T log/21/illegal-nonexistent-file -C - > log/21/stdout289 2> log/21/stderr289 === End of file commands.log === Start of file ftp_server.log 19:00:38.182150 ====> Client connect 19:00:38.182295 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:38.182596 < "USER anonymous" 19:00:38.182629 > "331 We are happy you popped in![CR][LF]" 19:00:38.182803 < "PASS ftp@example.com" 19:00:38.182833 > "230 Welcome you silly person[CR][LF]" 19:00:38.182977 < "PWD" 19:00:38.183002 > "257 "/" is current directory[CR][LF]" 19:00:38.183126 < "EPSV" 19:00:38.183148 ====> Passive DATA channel requested by client 19:00:38.183162 DATA sockfilt for passive data channel starting... 19:00:38.184471 DATA sockfilt for passive data channel started (pid 92508) 19:00:38.184557 DATA sockfilt for passive data channel listens on port 42155 19:00:38.184592 > "229 Entering Passive Mode (|||42155|)[CR][LF]" 19:00:38.184608 Client has been notified that DATA conn will be accepted on port 42155 19:00:38.184835 Client connects to port 42155 19:00:38.184866 ====> Client established passive DATA connection on port 42155 19:00:38.184937 < "TYPE I" 19:00:38.184963 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:38.185094 < "SIZE verifiedserver" 19:00:38.185122 > "213 17[CR][LF]" 19:00:38.185276 < "RETR verifiedserver" 19:00:38.185309 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:38.185750 =====> Closing passive DATA connection... 19:00:38.185770 Server disconnects passive DATA connection 19:00:38.185791 Fancy that; client wants to DISC, too 19:00:38.185856 Server disconnected passive DATA connection 19:00:38.185874 DATA sockfilt for passive data channel quits (pid 92508) 19:00:38.186065 DATA sockfilt for passive data channel quit (pid 92508) 19:00:38.186084 =====> Closed passive DATA connection 19:00:38.186107 > "226 File transfer complete[CR][LF]" 19:00:38.230732 < "QUIT" 19:00:38.230792 > "221 bye bye baby[CR][LF]" 19:00:38.230971 MAIN sockfilt said DISC 19:00:38.231005 ====> Client disconnected 19:00:38.231079 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:37.954107 ====> Client connect 19:00:37.954366 Received DATA (on stdin) 19:00:37.954383 > 160 bytes data, server => client 19:00:37.954396 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:37.954408 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:37.954419 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:37.954502 < 16 bytes data, client => server 19:00:37.954517 'USER anonymous\r\n' 19:00:37.954694 Received DATA (on stdin) 19:00:37.954707 > 33 bytes data, server => client 19:00:37.954720 '331 We are happy you popped in!\r\n' 19:00:37.954772 < 22 bytes data, client => server 19:00:37.954785 'PASS ftp@example.com\r\n' 19:00:37.954895 Received DATA (on stdin) 19:00:37.954909 > 30 bytes data, server => client 19:00:37.954921 '230 Welcome you silly person\r\n' 19:00:37.954966 < 5 bytes data, client => server 19:00:37.954975 'PWD\r\n' 19:00:37.955059 Received DATA (on stdin) 19:00:37.955068 > 30 bytes data, server => client 19:00:37.955077 '257 "/" is current directory\r\n' 19:00:37.955121 < 6 bytes data, client => server 19:00:37.955130 'EPSV\r\n' 19:00:37.956672 Received DATA (on stdin) 19:00:37.956687 > 39 bytes data, server => client 19:00:37.956699 '229 Entering Passive Mode (|||42155|)\r\n' 19:00:37.956841 < 8 bytes data, client => server 19:00:37.956854 'TYPE I\r\n' 19:00:37.957023 Received DATA (on stdin) 19:00:37.957034 > 33 bytes data, server => client 19:00:37.957043 '200 I modify TYPE as you wanted\r\n' 19:00:37.957085 < 21 bytes data, client => server 19:00:37.957094 'SIZE verifiedserver\r\n' 19:00:37.957182 Received DATA (on stdin) 19:00:37.957194 > 8 bytes data, server => client 19:00:37.957205 '213 CMD (33792): ../libtool --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/valgrind290 ../src/curl -q --output log/1/curl290.out --include --trace-ascii log/1/trace290 --trace-time ftp://127.0.0.1:41393/290 --max-filesize 30 > log/1/stdout290 2> log/1/stderr290 17\r\n' 19:00:37.957252 < 21 bytes data, client => server 19:00:37.957265 'RETR verifiedserver\r\n' 19:00:37.957624 Received DATA (on stdin) 19:00:37.957639 > 29 bytes data, server => client 19:00:37.957648 '150 Binary junk (17 bytes).\r\n' 19:00:37.958165 Received DATA (on stdin) 19:00:37.958176 > 28 bytes data, server => client 19:00:37.958186 '226 File transfer complete\r\n' 19:00:38.002578 < 6 bytes data, client => server 19:00:38.002611 'QUIT\r\n' 19:00:38.002863 Received DATA (on stdin) 19:00:38.002882 > 18 bytes data, server => client 19:00:38.002894 '221 bye bye baby\r\n' 19:00:38.002982 ====> Client disconnect 19:00:38.003139 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:38.956378 Running IPv4 version 19:00:38.956434 Listening on port 42155 19:00:38.956468 Wrote pid 92508 to log/21/server/ftp_sockdata.pid 19:00:38.956485 Received PING (on stdin) 19:00:38.956548 Received PORT (on stdin) 19:00:38.956812 ====> Client connect 19:00:38.957671 Received DATA (on stdin) 19:00:38.957683 > 17 bytes data, server => client 19:00:38.957692 'WE ROOLZ: 81255\r\n' 19:00:38.957768 ====> Client disconnect 19:00:38.957848 Received DISC (on stdin) 19:00:38.957856 Crikey! Client also wants to disconnect 19:00:38.957867 Received ACKD (on stdin) 19:00:38.957942 Received QUIT (on stdin) 19:00:38.957953 quits 19:00:38.958009 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 289 === End of file server.cmd === Start of file valgrind289 ==92569== ==92569== Process terminating with default action of signal 4 (SIGILL) ==92569== Illegal opcode at address 0x4013E00 ==92569== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92569== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92569== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92569== by 0x40037A4: 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/1/valgrind290 ../src/curl -q --output log/1/curl290.out --include --trace-ascii log/1/trace290 --trace-time ftp://127.0.0.1:41393/290 --max-filesize 30 > log/1/stdout290 2> log/1/stderr290 290: 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 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/1/valgrind290 ../src/curl -q --output log/1/curl290.out --include --trace-ascii log/1/trace290 --trace-time ftp://127.0.0.1:41393/290 --max-filesize 30 > log/1/stdout290 2> log/1/stderr290 === End of file commands.log === Start of file ftp_server.log 19:00:38.188118 ====> Client connect 19:00:38.188264 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:38.188513 < "USER anonymous" 19:00:38.188546 > "331 We are happy you popped in![CR][LF]" 19:00:38.188712 < "PASS ftp@example.com" 19:00:38.188774 > "230 Welcome you silly person[CR][LF]" 19:00:38.188965 < "PWD" 19:00:38.188997 > "257 "/" is current directory[CR][LF]" 19:00:38.189232 < "EPSV" 19:00:38.189254 ====> Passive DATA channel requested by client 19:00:38.189268 DATA sockfilt for passive data channel starting... 19:00:38.191308 DATA sockfilt for passive data channel started (pid 92525) 19:00:38.191399 DATA sockfilt for passive data channel listens on port 46815 19:00:38.191444 > "229 Entering Passive Mode (|||46815|)[CR][LF]" 19:00:38.191462 Client has been notified that DATA conn will be accepted on port 46815 19:00:38.191758 Client connects to port 46815 19:00:38.191842 ====> Client established passive DATA connection on port 46815 19:00:38.192036 < "TYPE I" 19:00:38.192095 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:38.192314 < "SIZE verifiedserver" 19:00:38.192349 > "213 17[CR][LF]" 19:00:38.192512 < "RETR verifiedserver" 19:00:38.192549 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:38.192649 =====> Closing passive DATA connection... 19:00:38.192668 Server disconnects passive DATA connection 19:00:38.192792 Server disconnected passive DATA connection 19:00:38.192824 DATA sockfilt for passive data channel quits (pid 92525) 19:00:38.193105 DATA sockfilt for passive data channel quit (pid 92525) 19:00:38.193133 =====> Closed passive DATA connection 19:00:38.193164 > "226 File transfer complete[CR][LF]" 19:00:38.239058 < "QUIT" 19:00:38.239120 > "221 bye bye baby[CR][LF]" 19:00:38.239692 MAIN sockfilt said DISC 19:00:38.239743 ====> Client disconnected 19:00:38.239806 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:38.960084 ====> Client connect 19:00:38.960336 Received DATA (on stdin) 19:00:38.960352 > 160 bytes data, server => client 19:00:38.960365 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:38.960377 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:38.960389 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:38.960459 < 16 bytes data, client => server 19:00:38.960478 'USER anonymous\r\n' 19:00:38.960606 Received DATA (on stdin) 19:00:38.960617 > 33 bytes data, server => client 19:00:38.960626 '331 We are happy you popped in!\r\n' 19:00:38.960679 < 22 bytes data, client => server 19:00:38.960693 'PASS ftp@example.com\r\n' 19:00:38.960840 Received DATA (on stdin) 19:00:38.960854 > 30 bytes data, server => client 19:00:38.960866 '230 Welcome you silly person\r\n' 19:00:38.960918 < 5 bytes data, client => server 19:00:38.960930 'PWD\r\n' 19:00:38.961074 Received DATA (on stdin) 19:00:38.961086 > 30 bytes data, server => client 19:00:38.961097 '257 "/" is current directory\r\n' 19:00:38.961182 < 6 bytes data, client => server 19:00:38.961194 'EPSV\r\n' 19:00:38.963561 Received DATA (on stdin) 19:00:38.963576 > 39 bytes data, server => client 19:00:38.963587 '229 Entering Passive Mode (|||46815|)\r\n' 19:00:38.963850 < 8 bytes data, client => server 19:00:38.963865 'TYPE I\r\n' 19:00:38.964167 Received DATA (on stdin) 19:00:38.964189 > 33 bytes data, server => client 19:00:38.964202 '200 I modify TYPE as you wanted\r\n' 19:00:38.964292 < 21 bytes data, client => server 19:00:38.964304 'SIZE verifiedserver\r\n' 19:00:38.964410 Received DATA (on stdin) 19:00:38.964422 > 8 bytes data, server => client 19:00:38.964433 '213 17\r\n' 19:00:38.964483 < 21 bytes data, client => server 19:00:38.964500 'RETR verifiedserver\r\n' 19:00:38.964674 Received DATA (on stdin) 19:00:38.964703 > 29 bytes data, server => client 19:00:38.964719 '150 Binary junk (17 bytes).\r\n' 19:00:38.965418 Received DATA (on stdin) 19:00:38.965438 > 28 bytes data, server => client 19:00:38.965451 '226 File transfer complete\r\n' 19:00:39.010929 < 6 bytes data, client => server 19:00:39.010961 'QUIT\r\n' 19:00:39.011212 Received DATA (on stdin) 19:00:39.011230 > 18 bytes data, server => client 19:00:39.011242 '221 bye bye baby\r\n' 19:00:39.011680 ====> Client disconnect 19:00:39.011868 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:38.963104 Running IPv4 version 19:00:38.963155 Listening on port 46815 19:00:38.963189 Wrote pid 92525 to log/1/server/ftp_sockdata.pid 19:00:38.963319 Received PING (on stdin) 19:00:38.963387 Received PORT (on stdin) 19:00:38.963740 ====> Client connect 19:00:38.964720 Received DATA (on stdin) 19:00:38.964741 > 17 bytes data, server => client 19:00:38.964754 'WE ROOLZ: 80887\r\n' 19:00:38.964783 Received DISC (on stdin) 19:00:38.964798 ====> Client forcibly disconnected 19:00:38.964899 Received QUIT (on stdin) 19:00:38.964913 quits 19:00:38.964970 ===========CMD (33792): ../libtool --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/valgrind291 ../src/curl -q --output log/9/curl291.out --include --trace-ascii log/9/trace291 --trace-time ftp://127.0.0.1:41525/291 --max-filesize 100 > log/9/stdout291 2> log/9/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/8/valgrind292 ../src/curl -q --output log/8/curl292.out --include --trace-ascii log/8/trace292 --trace-time http://127.0.0.1:43853/292 --max-filesize 1000 > log/8/stdout292 2> log/8/stderr292 => sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 290 === End of file server.cmd === Start of file valgrind290 ==92595== ==92595== Process terminating with default action of signal 4 (SIGILL) ==92595== Illegal opcode at address 0x4013E00 ==92595== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92595== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92595== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92595== by 0x40037A4: 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/9/valgrind291 ../src/curl -q --output log/9/curl291.out --include --trace-ascii log/9/trace291 --trace-time ftp://127.0.0.1:41525/291 --max-filesize 100 > log/9/stdout291 2> log/9/stderr291 291: 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 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/9/valgrind291 ../src/curl -q --output log/9/curl291.out --include --trace-ascii log/9/trace291 --trace-time ftp://127.0.0.1:41525/291 --max-filesize 100 > log/9/stdout291 2> log/9/stderr291 === End of file commands.log === Start of file ftp_server.log 19:00:38.250581 ====> Client connect 19:00:38.250739 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:38.251021 < "USER anonymous" 19:00:38.251057 > "331 We are happy you popped in![CR][LF]" 19:00:38.251222 < "PASS ftp@example.com" 19:00:38.251245 > "230 Welcome you silly person[CR][LF]" 19:00:38.251389 < "PWD" 19:00:38.251417 > "257 "/" is current directory[CR][LF]" 19:00:38.251570 < "EPSV" 19:00:38.251592 ====> Passive DATA channel requested by client 19:00:38.251606 DATA sockfilt for passive data channel starting... 19:00:38.253532 DATA sockfilt for passive data channel started (pid 92598) 19:00:38.253693 DATA sockfilt for passive data channel listens on port 33059 19:00:38.253750 > "229 Entering Passive Mode (|||33059|)[CR][LF]" 19:00:38.253773 Client has been notified that DATA conn will be accepted on port 33059 19:00:38.254103 Client connects to port 33059 19:00:38.254139 ====> Client established passive DATA connection on port 33059 19:00:38.254247 < "TYPE I" 19:00:38.254285 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:38.254505 < "SIZE verifiedserver" 19:00:38.254557 > "213 17[CR][LF]" 19:00:38.254755 < "RETR verifiedserver" 19:00:38.254793 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:38.254878 =====> Closing passive DATA connection... 19:00:38.254895 Server disconnects passive DATA connection 19:00:38.255075 Server disconnected passive DATA connection 19:00:38.255103 DATA sockfilt for passive data channel quits (pid 92598) 19:00:38.255356 DATA sockfilt for passive data channel quit (pid 92598) 19:00:38.255384 =====> Closed passive DATA connection 19:00:38.255449 > "226 File transfer complete[CR][LF]" 19:00:38.295787 < "QUIT" 19:00:38.295846 > "221 bye bye baby[CR][LF]" 19:00:38.296206 MAIN sockfilt said DISC 19:00:38.296261 ====> Client disconnected 19:00:38.296337 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:38.022538 ====> Client connect 19:00:38.022814 Received DATA (on stdin) 19:00:38.022830 > 160 bytes data, server => client 19:00:38.022844 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:38.022856 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:38.022868 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:38.022941 < 16 bytes data, client => server 19:00:38.022954 'USER anonymous\r\n' 19:00:38.023121 Received DATA (on stdin) 19:00:38.023135 > 33 bytes data, server => client 19:00:38.023147 '331 We are happy you popped in!\r\n' 19:00:38.023197 < 22 bytes data, client => server 19:00:38.023209 'PASS ftp@example.com\r\n' 19:00:38.023305 Received DATA (on stdin) 19:00:38.023317 > 30 bytes data, server => client 19:00:38.023329 '230 Welcome you silly person\r\n' 19:00:38.023373 < 5 bytes data, client => server 19:00:38.023384 'PWD\r\n' 19:00:38.023477 Received DATA (on stdin) 19:00:38.023489 > 30 bytes data, server => client 19:00:38.023500 '257 "/" is current directory\r\n' 19:00:38.023554 < 6 bytes data, client => server 19:00:38.023565 'EPSV\r\n' 19:00:38.025847 Received DATA (on stdin) 19:00:38.025867 > 39 bytes data, server => client 19:00:38.025881 '229 Entering Passive Mode (|||33059|)\r\n' 19:00:38.026107 < 8 bytes data, client => server 19:00:38.026123 'TYPE I\r\n' 19:00:38.026353 Received DATA (on stdin) 19:00:38.026369 > 33 bytes data, server => client 19:00:38.026381 '200 I modify TYPE as you wanted\r\n' 19:00:38.026446 < 21 bytes data, client => server 19:00:38.026462 'SIZE verifiedserver\r\n' 19:00:38.026622 Received DATA (on stdin) 19:00:38.026639 > 8 bytes data, server => client 19:00:38.026651 '213 17\r\n' 19:00:38.026718 < 21 bytes data, client => server 19:00:38.026733 'RETR verifiedserver\r\n' 19:00:38.026963 Received DATA (on stdin) 19:00:38.026979 > 29 bytes data, server => client 19:00:38.026991 '150 Binary junk (17 bytes).\r\n' 19:00:38.027516 Received DATA (on stdin) 19:00:38.027530 > 28 bytes data, server => client 19:00:38.027541 '226 File transfer complete\r\n' 19:00:38.067639 < 6 bytes data, client => server 19:00:38.067684 'QUIT\r\n' 19:00:38.067919 Received DATA (on stdin) 19:00:38.067937 > 18 bytes data, server => client 19:00:38.067949 '221 bye bye baby\r\n' 19:00:38.068192 ====> Client disconnect 19:00:38.068410 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:38.025303 Running IPv4 version 19:00:38.025356 Listening on port 33059 19:00:38.025391 Wrote pid 92598 to log/9/server/ftp_sockdata.pid 19:00:38.025505 Received PING (on stdin) 19:00:38.025645 Received PORT (on stdin) 19:00:38.026071 ====> Client connect 19:00:38.026871 Received DATA (on stdin) 19:00:38.026892 > 17 bytes data, server => client 19:00:38.026905 'WE ROOLZ: 80682\r\n' 19:00:38.026962 Received DISC (on stdin) 19:00:38.026981 ====> Client forcibly disconnected 19:00:38.027180 Received QUIT (on stdin) 19:00:38.027198 quits 19:00:38.027266 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 291 === End of file server.cmd === Start of file valgrind291 ==92714== ==92714== Process terminating with default action of signal 4 (SIGILL) ==92714== Illegal opcode at address 0x4013E00 ==92714== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92714== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92714== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92714== by 0x40037A4: main (tool_main.c:199) === End of file valgrind291 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/8/valgrind292 ../src/curl -q --output log/8/curl292.out --include --trace-ascii log/8/trace292 --trace-time http://127.0.0.1:43853/292 --max-filesize 1000 > log/8/stdout292 2> log/8/stderr292 292: 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 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/8/valgrind292 ../src/curl -q --output log/8/CMD (33792): ../libtool --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/valgrind293 ../src/curl -q --output log/17/curl293.out --include --trace-ascii log/17/trace293 --trace-time http://127.0.0.1:40515/293 --max-filesize 2 > log/17/stdout293 2> log/17/stderr293 CMD (33792): ../libtool --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/valgrind294 ../src/curl -q --output log/20/curl294.out --include --trace-ascii log/20/trace294 --trace-time ftp://127.0.0.1:39091/294/ --ftp-account "data for acct" > log/20/stdout294 2> log/20/stderr294 curl292.out --include --trace-ascii log/8/trace292 --trace-time http://127.0.0.1:43853/292 --max-filesize 1000 > log/8/stdout292 2> log/8/stderr292 === End of file commands.log === Start of file http_server.log 19:00:38.055345 ====> Client connect 19:00:38.055372 accept_connection 3 returned 4 19:00:38.055387 accept_connection 3 returned 0 19:00:38.055400 Read 93 bytes 19:00:38.055408 Process 93 bytes request 19:00:38.055421 Got request: GET /verifiedserver HTTP/1.1 19:00:38.055429 Are-we-friendly question received 19:00:38.055448 Wrote request (93 bytes) input to log/8/server.input 19:00:38.055461 Identifying ourselves as friends 19:00:38.055506 Response sent (56 bytes) and written to log/8/server.response 19:00:38.055515 special request received, no persistency 19:00:38.055523 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 37468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind292 ==92690== ==92690== Process terminating with default action of signal 4 (SIGILL) ==92690== Illegal opcode at address 0x4013E00 ==92690== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92690== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92690== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92690== by 0x40037A4: main (tool_main.c:199) === End of file valgrind292 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/17/valgrind293 ../src/curl -q --output log/17/curl293.out --include --trace-ascii log/17/trace293 --trace-time http://127.0.0.1:40515/293 --max-filesize 2 > log/17/stdout293 2> log/17/stderr293 293: 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 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/17/valgrind293 ../src/curl -q --output log/17/curl293.out --include --trace-ascii log/17/trace293 --trace-time http://127.0.0.1:40515/293 --max-filesize 2 > log/17/stdout293 2> log/17/stderr293 === End of file commands.log === Start of file http_server.log 19:00:39.152246 ====> Client connect 19:00:39.152283 accept_connection 3 returned 4 19:00:39.152301 accept_connection 3 returned 0 19:00:39.152317 Read 93 bytes 19:00:39.152328 Process 93 bytes request 19:00:39.152343 Got request: GET /verifiedserver HTTP/1.1 19:00:39.152354 Are-we-friendly question received 19:00:39.152379 Wrote request (93 bytes) input to log/17/server.input 19:00:39.152397 Identifying ourselves as friends 19:00:39.152451 Response sent (56 bytes) and written to log/17/server.response 19:00:39.152461 special request received, no persistency 19:00:39.152471 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 34494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind293 ==92821== ==92821== Process terminating with default action of signal 4 (SIGILL) ==92821== Illegal opcode at address 0x4013E00 ==92821== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92821== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92821== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92821== by 0x40037A4: main (tool_main.c:199) === End of file valgrind293 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/20/valgrind294 ../src/curl -q --output log/20/curl294.out --include --trace-ascii log/20/trace294 --trace-time ftp://127.0.0.1:39091/294/ --ftp-account "data for acct" > log/20/stdout294 2> log/20/stderr294 294: 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 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/20/valgrind294 ../src/curl -q --output log/20/curl294.out --include --trace-ascii log/20/trace294 --trace-time ftp://127.0.0.1:39091/294/ --ftp-account "data for acct" > log/20/stdout294 2> log/20/stderr294 === End of file commands.log === Start of file ftp_server.log 19:00:38.475278 ====> Client connect 19:00:38.475473 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:38.475761 < "USER anonymous" 19:00:38.475801 > "331 We are happy you popped in![CR][LF]" 19:00:38.475970 < "PASS ftp@example.com" 19:00:38.475996 > "230 Welcome you silly person[CR][LF]" 19:00:38.476142 < "PWD" 19:00:38.476172 > "257 "/" is current directory[CR][LF]" 19:00:38.476326 < "EPSV" 19:00:38.476349 ====> Passive DATA channel requested by client 19:00:38.476363 DATA sockfilt for passive data channel starting... 19:00:38.477935 DATA sockfilt for passive data channel started (pid 92898) 19:00:38.478038 DATA sockfilt for passive data channel listens on port 38227 19:00:38.478078 > "229 Entering Passive Mode (|||38227|)[CR][LF]" 19:00:38.478097 Client has been notified that DATA conn will be accepted on port 38227 19:00:38.478320 Client connects to port 38227 19:00:38.478354 ====> Client established passive DATA connection on port 38227 19:00:38.478427 < "TYPE I" 19:00:38.478456 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:38.478617 < "SIZE verifiedserver" 19:00:38.478653 > "213 17[CR][LF]" 19:00:38.478808 < "RETR verifiedserver" 19:00:38.478843 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:38.478922 =====> Closing passive DATA connection... 19:00:38.478937 Server disconnects passive DATA connection 19:00:38.479091 Server disconnected passive DATA connection 19:00:38.479117 DATA sockfilt for passive data channel quits (pid 92898) 19:00:38.479311 DATA sockfilt for passive data channel quit (pid 92898) 19:00:38.479334 =====> Closed passive DATA connection 19:00:38.479359 > "226 File transfer complete[CR][LF]" 19:00:38.522446 < "QUIT" 19:00:38.522508 > "221 bye bye baby[CR][LF]" 19:00:38.523461 MAIN sockfilt said DISC 19:00:38.523502 ====> Client disconnected 19:00:38.523593 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:38.247232 ====> Client connect 19:00:38.247549 Received DATA (on stdin) 19:00:38.247566 > CMD (33792): ../libtool --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/valgrind295 ../src/curl -q --output log/13/curl295.out --include --trace-ascii log/13/trace295 --trace-time ftp://127.0.0.1:40887/295/ > log/13/stdout295 2> log/13/stderr295 160 bytes data, server => client 19:00:38.247579 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:38.247591 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:38.247603 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:38.247682 < 16 bytes data, client => server 19:00:38.247695 'USER anonymous\r\n' 19:00:38.247866 Received DATA (on stdin) 19:00:38.247879 > 33 bytes data, server => client 19:00:38.247892 '331 We are happy you popped in!\r\n' 19:00:38.247942 < 22 bytes data, client => server 19:00:38.247955 'PASS ftp@example.com\r\n' 19:00:38.248056 Received DATA (on stdin) 19:00:38.248068 > 30 bytes data, server => client 19:00:38.248080 '230 Welcome you silly person\r\n' 19:00:38.248125 < 5 bytes data, client => server 19:00:38.248136 'PWD\r\n' 19:00:38.248232 Received DATA (on stdin) 19:00:38.248244 > 30 bytes data, server => client 19:00:38.248255 '257 "/" is current directory\r\n' 19:00:38.248309 < 6 bytes data, client => server 19:00:38.248321 'EPSV\r\n' 19:00:38.250164 Received DATA (on stdin) 19:00:38.250179 > 39 bytes data, server => client 19:00:38.250191 '229 Entering Passive Mode (|||38227|)\r\n' 19:00:38.250302 < 8 bytes data, client => server 19:00:38.250317 'TYPE I\r\n' 19:00:38.250517 Received DATA (on stdin) 19:00:38.250531 > 33 bytes data, server => client 19:00:38.250544 '200 I modify TYPE as you wanted\r\n' 19:00:38.250598 < 21 bytes data, client => server 19:00:38.250610 'SIZE verifiedserver\r\n' 19:00:38.250713 Received DATA (on stdin) 19:00:38.250726 > 8 bytes data, server => client 19:00:38.250737 '213 17\r\n' 19:00:38.250789 < 21 bytes data, client => server 19:00:38.250801 'RETR verifiedserver\r\n' 19:00:38.251001 Received DATA (on stdin) 19:00:38.251014 > 29 bytes data, server => client 19:00:38.251025 '150 Binary junk (17 bytes).\r\n' 19:00:38.251422 Received DATA (on stdin) 19:00:38.251436 > 28 bytes data, server => client 19:00:38.251448 '226 File transfer complete\r\n' 19:00:38.294283 < 6 bytes data, client => server 19:00:38.294331 'QUIT\r\n' 19:00:38.294575 Received DATA (on stdin) 19:00:38.294588 > 18 bytes data, server => client 19:00:38.294600 '221 bye bye baby\r\n' 19:00:38.295460 ====> Client disconnect 19:00:38.295660 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:38.249836 Running IPv4 version 19:00:38.249888 Listening on port 38227 19:00:38.249921 Wrote pid 92898 to log/20/server/ftp_sockdata.pid 19:00:38.249940 Received PING (on stdin) 19:00:38.250021 Received PORT (on stdin) 19:00:38.250335 ====> Client connect 19:00:38.250912 Received DATA (on stdin) 19:00:38.250925 > 17 bytes data, server => client 19:00:38.250937 'WE ROOLZ: 80693\r\n' 19:00:38.251000 Received DISC (on stdin) 19:00:38.251012 ====> Client forcibly disconnected 19:00:38.251187 Received QUIT (on stdin) 19:00:38.251201 quits 19:00:38.251253 ============> 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 ==92913== ==92913== Process terminating with default action of signal 4 (SIGILL) ==92913== Illegal opcode at address 0x4013E00 ==92913== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92913== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92913== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92913== by 0x40037A4: main (tool_main.c:199) === End of file valgrind294 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/13/valgrind295 ../src/curl -q --output log/13/curl295.out --include --trace-ascii log/13/trace295 --trace-time ftp://127.0.0.1:40887/295/ > log/13/stdout295 2> log/13/stderr295 295: 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 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/13/valgrind295 ../src/curl -q --output log/13/curl295.out --include --trace-ascii log/13/trace295 --trace-time ftp://127.0.0.1:40887/295/ > log/13/stdout295 2> log/13/stderr295 === End of file commands.log === Start of file ftp_server.log 19:00:38.485598 ====> Client connect 19:00:38.485747 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:38.486027 < "USER anonymous" 19:00:38.486062 > "331 We are happy you popped in![CR][LF]" 19:00:38.486230 < "PASS ftp@example.com" 19:00:38.486254 > "230 Welcome you silly person[CR][LF]" 19:00:38.486406 < "PWD" 19:00:38.486436 > "257 "/" is current directory[CR][LF]" 19:00:38.486596 < "EPSV" 19:00:38.486619 ====> Passive DATA channel requested by client 19:00:38.486633 DATA sockfilt for passive data channel starting... 19:00:38.488461 DATA sockfilt for passive data channel started (pid 92907) 19:00:38.488569 DATA sockfilt for passive data channel listens on port 43989 19:00:38.488612 > "229 Entering Passive Mode (|||43989|)[CR][LF]" 19:00:38.488630 Client has been notified that DATA conn will be accepted on port 43989 19:00:38.488878 Client connects to port 43989 19:00:38.488907 ====> Client established passive DATA connection on port 43989 19:00:38.488974 < "TYPE I" 19:00:38.489004 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:38.489157 < "SIZE verifiedserver" 19:00:38.489191 > "213 17[CR][LF]" 19:00:38.489334 < "RETR verifiedserver" 19:00:38.489362 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:38.489448 =====> Closing passive DATA connection... 19:00:38.489464 Server disconnects passive DATA connection 19:00:38.489697 Server disconnected passive DATA connection 19:00:38.489724 DATA sockfilt for passive data channel quits (pid 92907) 19:00:38.489921 DATA sockfilt for passive data channel quit (pid 92907) 19:00:38.489942 =====> Closed passive DATA connection 19:00:38.489968 > "226 File transfer complete[CR][LF]" 19:00:38.535725 < "QUIT" 19:00:38.535780 > "221 bye bye baby[CR][LF]" 19:00:38.536599 MAIN sockfilt said DISC 19:00:38.536634 ====> Client disconnected 19:00:38.536707 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:38.257420 ====> Client connect 19:00:38.257826 Received DATA (on stdin) 19:00:38.257842 > 160 bytes data, server => client 19:00:38.257855 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:38.257867 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:38.257879 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:38.257951 < 16 bytes data, client => server 19:00:38.257964 'USER anonymous\r\n' 19:00:38.258129 Received DATA (on stdin) 19:00:38.258142 > 33 bytes data, server => client 19:00:38.258154 '331 We are happy you popped in!\r\n' 19:00:38.258205 < 22 bytes data, client => server 19:00:38.258217 'PASS ftp@example.com\r\n' 19:00:38.258316 Received DATA (on stdin) 19:00:38.258329 > 30 bytes data, server => client 19:00:38.258341 '230 Welcome you silly person\r\n' 19:00:38.258387 < 5 bytes data, client => server 19:00:38.258398 'PWD\r\n' 19:00:38.258498 Received DATA (on stdin) 19:00:38.258511 > 30 bytes data, server => client 19:00:38.258522 '257 "/" is current directory\r\n' 19:00:38.258577 < 6 bytes data, client => server 19:00:38.258589 'EPSV\r\n' 19:00:38.260697 Received DATA (on stdin) 19:00:38.260711 > 39 bytes data, server => client 19:00:38.260724 '229 Entering Passive Mode (|||43989|)\r\n' 19:00:38.260874 < 8 bytes data, client => server 19:00:38.260886 'TYPE I\r\n' 19:00:38.261066 Received DATA (on stdin) 19:00:38.261078 > 33 bytes data, server => client 19: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/2/valgrind296 ../src/curl -q --output log/2/curl296.out --include --trace-ascii log/2/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:37089/first/second/third/296 > log/2/stdout296 2> log/2/stderr296 0:38.261090 '200 I modify TYPE as you wanted\r\n' 19:00:38.261139 < 21 bytes data, client => server 19:00:38.261150 'SIZE verifiedserver\r\n' 19:00:38.261251 Received DATA (on stdin) 19:00:38.261263 > 8 bytes data, server => client 19:00:38.261274 '213 17\r\n' 19:00:38.261318 < 21 bytes data, client => server 19:00:38.261330 'RETR verifiedserver\r\n' 19:00:38.261526 Received DATA (on stdin) 19:00:38.261539 > 29 bytes data, server => client 19:00:38.261551 '150 Binary junk (17 bytes).\r\n' 19:00:38.262030 Received DATA (on stdin) 19:00:38.262048 > 28 bytes data, server => client 19:00:38.262060 '226 File transfer complete\r\n' 19:00:38.307614 < 6 bytes data, client => server 19:00:38.307643 'QUIT\r\n' 19:00:38.307846 Received DATA (on stdin) 19:00:38.307859 > 18 bytes data, server => client 19:00:38.307871 '221 bye bye baby\r\n' 19:00:38.308607 ====> Client disconnect 19:00:38.308769 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:38.260352 Running IPv4 version 19:00:38.260408 Listening on port 43989 19:00:38.260444 Wrote pid 92907 to log/13/server/ftp_sockdata.pid 19:00:38.260465 Received PING (on stdin) 19:00:38.260548 Received PORT (on stdin) 19:00:38.260845 ====> Client connect 19:00:38.261575 Received DATA (on stdin) 19:00:38.261589 > 17 bytes data, server => client 19:00:38.261600 'WE ROOLZ: 80703\r\n' 19:00:38.261625 Received DISC (on stdin) 19:00:38.261636 ====> Client forcibly disconnected 19:00:38.261792 Received QUIT (on stdin) 19:00:38.261804 quits 19:00:38.261857 ============> 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 ==92943== ==92943== Process terminating with default action of signal 4 (SIGILL) ==92943== Illegal opcode at address 0x4013E00 ==92943== at 0x4013E00: getparameter (tool_getparam.c:2846) ==92943== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==92943== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==92943== by 0x40037A4: main (tool_main.c:199) === End of file valgrind295 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/2/valgrind296 ../src/curl -q --output log/2/curl296.out --include --trace-ascii log/2/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:37089/first/second/third/296 > log/2/stdout296 2> log/2/stderr296 296: 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 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/2/valgrind296 ../src/curl -q --output log/2/curl296.out --include --trace-ascii log/2/trace296 --trace-time --ftp-method multicwd ftp://127.0.0.1:37089/first/second/third/296 > log/2/stdout296 2> log/2/stderr296 === End of file commands.log === Start of file ftp_server.log 19:00:38.549653 ====> Client connect 19:00:38.549813 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:38.550131 < "USER anonymous" 19:00:38.550177 > "331 We are happy you popped in![CR][LF]" 19:00:38.550379 < "PASS ftp@example.com" 19:00:38.550409 > "230 Welcome you silly person[CR][LF]" 19:00:38.550592 < "PWD" 19:00:38.550629 > "257 "/" is current directory[CR][LF]" 19:00:38.550823 < "EPSV" 19:00:38.550850 ====> Passive DATA channel requested by client 19:00:38.550865 DATA sockfilt for passive data channel starting... 19:00:38.552581 DATA sockfilt for passive data channel started (pid 92958) 19:00:38.552695 DATA sockfilt for passive data channel listens on port 37513 19:00:38.552746 > "229 Entering Passive Mode (|||37513|)[CR][LF]" 19:00:38.552769 Client has been notified that DATA conn will be accepted on port 37513 19:00:38.553018 Client connects to port 37513 19:00:38.553049 ====> Client established passive DATA connection on port 37513 19:00:38.553130 < "TYPE I" 19:00:38.553159 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:38.553338 < "SIZE verifiedserver" 19:00:38.553378 > "213 17[CR][LF]" 19:00:38.553556 < "RETR verifiedserver" 19:00:38.553593 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:38.553677 =====> Closing passive DATA connection... 19:00:38.553696 Server disconnects passive DATA connection 19:00:38.553952 Server disconnected passive DATA connection 19:00:38.553984 DATA sockfilt for passive data channel quits (pid 92958) 19:00:38.554213 DATA sockfilt for passive data channel quit (pid 92958) 19:00:38.554278 =====> Closed passive DATA connection 19:00:38.554319 > "226 File transfer complete[CR][LF]" 19:00:38.598284 < "QUIT" 19:00:38.598342 > "221 bye bye baby[CR][LF]" 19:00:38.599112 MAIN sockfilt said DISC 19:00:38.599153 ====> Client disconnected 19:00:38.599231 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:38.321605 ====> Client connect 19:00:38.321896 Received DATA (on stdin) 19:00:38.321915 > 160 bytes data, server => client 19:00:38.321929 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:38.321942 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:38.321954 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:38.322038 < 16 bytes data, client => server 19:00:38.322053 'USER anonymous\r\n' 19:00:38.322246 Received DATA (on stdin) 19:00:38.322261 > 33 bytes data, server => client 19:00:38.322274 '331 We are happy you popped in!\r\n' 19:00:38.322332 < 22 bytes data, client => server 19:00:38.322348 'PASS ftp@example.com\r\n' 19:00:38.322474 Received DATA (on stdin) 19:00:38.322488 > 30 bytes data, server => client 19:00:38.322500 '230 Welcome you silly person\r\n' 19:00:38.322555 < 5 bytes data, client => server 19:00:38.322571 'PWD\r\n' 19:00:38.322693 Received DATA (on stdin) 19:00:38.322707 > 30 bytes data, server => client 19:00:38.322720 '257 "/" is current directory\r\n' 19:00:38.322790 < 6 bytes data, client => server 19:00:38.322805 'EPSV\r\n' 19:00:38.324840 Received DATA (on stdin) 19:00:38.324855 > 39 bytes data, server => client 19:00:38.324868 '229 Entering Passive Mode (|||37513|)\r\n' 19:00:38.324992 < 8 bytes data, client => server 19:00:38.325010 'TYPE I\r\n' 19:00:38.325223 Received DATA (on stdin) 19:00:38.325238 > 33 bytes data, server => client 19:00:38.325251 '200 I modify TYPE as you wanted\r\n' 19:00:38.325305 < 21 bytes data, client => server 19:00:38.325320 'SIZE verifiedserver\r\n' 19:00:38.325444 Received DATA (on stdin) 19:00:38.325458 > 8 bytes data, server => client 19:00:38.325470 '213 17\r\n' 19:00:38.325524 < 21 bytes data, client => server 19:00:38.325539 'RETR verifiedserver\r\n' 19:00:38.325762 Received DATA (on stdin) 19:00:38.325776 > 29 bytes data, server => client 19:00:38.325789 '150 Binary junk (17 bytes).\r\n' 19:00:38.326396 Received DATA (on stdin) 19:00:38.326418 > 28 bytes data, server => client 19:00:38.326431 '226 File transfer complete\r\n' 19:00:38.369480 < 6 bytes data, client => server 19:00:38.369510 'QUIT\r\n' 19:00:38.370409 Received DATA (on stdin) 19:00:38.370424 > 18 bytes data, server => client 19:00:38.370436 '221 bye bye baby\r\n' 19:00:38.371114 ====> Client disconnect 19:00:38.371294 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:38.324458 Running IPv4 version 19:00:38.324515 Listening on port 37513 19:00:38.324555 Wrote pid 92958 to log/2/server/ftp_sockdata.pid 19:00:38.324577 Received PING (on stdin) 19:00:38.324667 Received PORT (on stdin) 19:00:38.325032 ====> Client connect 19:00:38.325817 Received DATA (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/10/valgrind275 ../src/curl -q --output log/10/curl275.out --include --trace-ascii log/10/trace275 --trace-time http://remotesite.com.275:37879/we/want/that/page/275 -p -x 127.0.0.1:41379 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:37879/we/want/that/page/275 > log/10/stdout275 2> log/10/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/7/valgrind297 ../src/curl -q --output log/7/curl297.out --include --trace-ascii log/7/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:34277/first/second/third/297 > log/7/stdout297 2> log/7/stderr297 n) 19:00:38.325832 > 17 bytes data, server => client 19:00:38.325845 'WE ROOLZ: 80680\r\n' 19:00:38.325870 Received DISC (on stdin) 19:00:38.325884 ====> Client forcibly disconnected 19:00:38.326055 Received QUIT (on stdin) 19:00:38.326069 quits 19:00:38.326127 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 296 === End of file server.cmd === Start of file valgrind296 ==93027== ==93027== Process terminating with default action of signal 4 (SIGILL) ==93027== Illegal opcode at address 0x4013E00 ==93027== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93027== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93027== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93027== by 0x40037A4: main (tool_main.c:199) === End of file valgrind296 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/10/server/http2_server.pid" --logfile "log/10/http2_server.log" --logdir "log/10" --portfile log/10/server/http2_server.port --config log/10/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 91837 port 41379 * pid http-proxy => 91837 91837 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/10/valgrind275 ../src/curl -q --output log/10/curl275.out --include --trace-ascii log/10/trace275 --trace-time http://remotesite.com.275:37879/we/want/that/page/275 -p -x 127.0.0.1:41379 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:37879/we/want/that/page/275 > log/10/stdout275 2> log/10/stderr275 275: 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 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/10/valgrind275 ../src/curl -q --output log/10/curl275.out --include --trace-ascii log/10/trace275 --trace-time http://remotesite.com.275:37879/we/want/that/page/275 -p -x 127.0.0.1:41379 --user iam:myself --proxy-user youare:yourself http://remotesite.com.275:37879/we/want/that/page/275 > log/10/stdout275 2> log/10/stderr275 === End of file commands.log === Start of file http2_server.log 19:00:37.445564 Run as proxy, CONNECT to host 127.0.0.1 19:00:37.445669 Running HTTP IPv4 version on port 41379 19:00:37.445706 Wrote pid 91837 to log/10/server/http2_server.pid 19:00:37.445733 Wrote port 41379 to log/10/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:00:37.421606 ====> Client connect 19:00:37.421642 accept_connection 3 returned 4 19:00:37.421660 accept_connection 3 returned 0 19:00:37.421677 Read 93 bytes 19:00:37.421688 Process 93 bytes request 19:00:37.421703 Got request: GET /verifiedserver HTTP/1.1 19:00:37.421713 Are-we-friendly question received 19:00:37.421738 Wrote request (93 bytes) input to log/10/server.input 19:00:37.421756 Identifying ourselves as friends 19:00:37.421809 Response sent (56 bytes) and written to log/10/server.response 19:00:37.421820 special request received, no persistency 19:00:37.421831 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 34038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind275 ==93080== ==93080== Process terminating with default action of signal 4 (SIGILL) ==93080== Illegal opcode at address 0x4013E00 ==93080== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93080== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93080== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93080== by 0x40037A4: 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/7/valgrind297 ../src/curl -q --output log/7/curl297.out --include --trace-ascii log/7/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:34277/first/second/third/297 > log/7/stdout297 2> log/7/stderr297 297: 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 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/7/valgrind297 ../src/curl -q --output log/7/curl297.out --include --trace-ascii log/7/trace297 --trace-time --ftp-method singlecwd ftp://127.0.0.1:34277/first/second/third/297 > log/7/stdout297 2> log/7/stderr297 === End of file commands.log === Start of file ftp_server.log 19:00:38.720635 ====> Client connect 19:00:38.720886 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:38.721218 < "USER anonymous" 19:00:38.721256 > "331 We are happy you popped in![CR][LF]" 19:00:38.721434 < "PASS ftp@example.com" 19:00:38.721465 > "230 Welcome you silly person[CR][LF]" 19:00:38.721632 < "PWD" 19:00:38.721666 > "257 "/" is current directory[CR][LF]" 19:00:38.721846 < "EPSV" 19:00:38.721880 ====> Passive DATA channel requested by client 19:00:38.721897 DATA sockfilt for passive data channel starting... 19:00:38.724258 DATA sockfilt for passive data channel started (pid 93147) 19:00:38.724406 DATA sockfilt for passive data channel listens on port 41967 19:00:38.724499 > "229 Entering Passive Mode (|||41967|)[CR][LF]" 19:00:38.724518 Client has been notified that DATA conn will be accepted on port 41967 19:00:38.725119 Client connects to port 41967 19:00:38.725159 ====> Client established passive DATA connection on port 41967 19:00:38.725264 < "TYPE I" 19:00:38.725299 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:38.725779 < "SIZE verifiedserver" 19:00:38.725832 > "213 17[CR][LF]" 19:00:38.726000 < "RETR verifiedserver" 19:00:38.726033 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:38.726128 =====> Closing passive DATA connection... 19:00:38.726143 Server disconnects passive DATA connection 19:00:38.726397 Server disconnected passive DATA connection 19:00:38.726424 DATA sockfilt for passive data channel quits (pid 93147) 19:00:38.726689 DATA sockfilt for passive data channel quit (pid 93147) 19:00:38.726716 =====> Closed passive DATA connection 19:00:38.726747 > "226 File transfer complete[CR][LF]" 19:00:38.769198 < "QUIT" 19:00:38.769257 > "221 bye bye baby[CR][LF]" 19:00:38.770430 MAIN sockfilt said DISC 19:00:38.770479 ====> Client disconnected 19:00:38.770559 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:38.492531 ====> Client connect 19:00:38.492967 Received DATA (on stdin) 19:00:38.492984 > 160 bytes data, server => client 19:00:38.492999 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:38.493011 ' CMD (33792): ../libtool --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/valgrind299 ../src/curl -q --output log/15/curl299.out --include --trace-ascii log/15/trace299 --trace-time -x http://127.0.0.1:44531 -u michal:aybabtu ftp://host.com/we/want/299 > log/15/stdout299 2> log/15/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/18/valgrind315 ../src/curl -q --output log/18/curl315.out --include --trace-ascii log/18/trace315 --trace-time http://127.0.0.1:39771/315 --compressed > log/18/stdout315 2> log/18/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/22/valgrind298 ../src/curl -q --output log/22/curl298.out --include --trace-ascii log/22/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:36953/first/second/th%69rd/298 > log/22/stdout298 2> log/22/stderr298 CMD (33792): ../libtool --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/valgrind316 ../src/curl -q --output log/24/curl316.out --include --trace-ascii log/24/trace316 --trace-time http://127.0.0.1:39383/316 --compressed > log/24/stdout316 2> log/24/stderr316 \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:38.493023 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:38.493104 < 16 bytes data, client => server 19:00:38.493121 'USER anonymous\r\n' 19:00:38.493323 Received DATA (on stdin) 19:00:38.493336 > 33 bytes data, server => client 19:00:38.493348 '331 We are happy you popped in!\r\n' 19:00:38.493399 < 22 bytes data, client => server 19:00:38.493413 'PASS ftp@example.com\r\n' 19:00:38.493529 Received DATA (on stdin) 19:00:38.493542 > 30 bytes data, server => client 19:00:38.493554 '230 Welcome you silly person\r\n' 19:00:38.493604 < 5 bytes data, client => server 19:00:38.493618 'PWD\r\n' 19:00:38.493729 Received DATA (on stdin) 19:00:38.493742 > 30 bytes data, server => client 19:00:38.493754 '257 "/" is current directory\r\n' 19:00:38.493814 < 6 bytes data, client => server 19:00:38.493829 'EPSV\r\n' 19:00:38.496870 Received DATA (on stdin) 19:00:38.496891 > 39 bytes data, server => client 19:00:38.496904 '229 Entering Passive Mode (|||41967|)\r\n' 19:00:38.497117 < 8 bytes data, client => server 19:00:38.497133 'TYPE I\r\n' 19:00:38.497363 Received DATA (on stdin) 19:00:38.497376 > 33 bytes data, server => client 19:00:38.497388 '200 I modify TYPE as you wanted\r\n' 19:00:38.497450 < 21 bytes data, client => server 19:00:38.497463 'SIZE verifiedserver\r\n' 19:00:38.497895 Received DATA (on stdin) 19:00:38.497909 > 8 bytes data, server => client 19:00:38.497921 '213 17\r\n' 19:00:38.497975 < 21 bytes data, client => server 19:00:38.497987 'RETR verifiedserver\r\n' 19:00:38.498207 Received DATA (on stdin) 19:00:38.498219 > 29 bytes data, server => client 19:00:38.498231 '150 Binary junk (17 bytes).\r\n' 19:00:38.498813 Received DATA (on stdin) 19:00:38.498828 > 28 bytes data, server => client 19:00:38.498840 '226 File transfer complete\r\n' 19:00:38.541024 < 6 bytes data, client => server 19:00:38.541063 'QUIT\r\n' 19:00:38.541336 Received DATA (on stdin) 19:00:38.541351 > 18 bytes data, server => client 19:00:38.541362 '221 bye bye baby\r\n' 19:00:38.541801 ====> Client disconnect 19:00:38.542623 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:38.495668 Running IPv4 version 19:00:38.495741 Listening on port 41967 19:00:38.495771 Wrote pid 93147 to log/7/server/ftp_sockdata.pid 19:00:38.496256 Received PING (on stdin) 19:00:38.496337 Received PORT (on stdin) 19:00:38.497080 ====> Client connect 19:00:38.498259 Received DATA (on stdin) 19:00:38.498275 > 17 bytes data, server => client 19:00:38.498287 'WE ROOLZ: 89392\r\n' 19:00:38.498314 Received DISC (on stdin) 19:00:38.498327 ====> Client forcibly disconnected 19:00:38.498494 Received QUIT (on stdin) 19:00:38.498506 quits 19:00:38.498570 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 297 === End of file server.cmd === Start of file valgrind297 ==93157== ==93157== Process terminating with default action of signal 4 (SIGILL) ==93157== Illegal opcode at address 0x4013E00 ==93157== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93157== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93157== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93157== by 0x40037A4: main (tool_main.c:199) === End of file valgrind297 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/15/valgrind299 ../src/curl -q --output log/15/curl299.out --include --trace-ascii log/15/trace299 --trace-time -x http://127.0.0.1:44531 -u michal:aybabtu ftp://host.com/we/want/299 > log/15/stdout299 2> log/15/stderr299 299: 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 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/15/valgrind299 ../src/curl -q --output log/15/curl299.out --include --trace-ascii log/15/trace299 --trace-time -x http://127.0.0.1:44531 -u michal:aybabtu ftp://host.com/we/want/299 > log/15/stdout299 2> log/15/stderr299 === End of file commands.log === Start of file http_server.log 19:00:38.616892 ====> Client connect 19:00:38.616929 accept_connection 3 returned 4 19:00:38.616949 accept_connection 3 returned 0 19:00:38.616965 Read 93 bytes 19:00:38.616977 Process 93 bytes request 19:00:38.616993 Got request: GET /verifiedserver HTTP/1.1 19:00:38.617005 Are-we-friendly question received 19:00:38.617032 Wrote request (93 bytes) input to log/15/server.input 19:00:38.617051 Identifying ourselves as friends 19:00:38.617113 Response sent (56 bytes) and written to log/15/server.response 19:00:38.617127 special request received, no persistency 19:00:38.617138 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 48974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind299 ==93300== ==93300== Process terminating with default action of signal 4 (SIGILL) ==93300== Illegal opcode at address 0x4013E00 ==93300== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93300== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93300== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93300== by 0x40037A4: main (tool_main.c:199) === End of file valgrind299 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/18/valgrind315 ../src/curl -q --output log/18/curl315.out --include --trace-ascii log/18/trace315 --trace-time http://127.0.0.1:39771/315 --compressed > log/18/stdout315 2> log/18/stderr315 315: 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 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/18/valgrind315 ../src/curl -q --output log/18/curl315.out --include --trace-ascii log/18/trace315 --trace-time http://127.0.0.1:39771/315 --compressed > log/18/stdout315 2> log/18/stderr315 === End of file commands.log === Start of file http_server.log 19:00:38.625489 ====> Client connect 19:00:38.625534 accept_connection 3 returned 4 19:00:38.625555 accept_connection 3 returned 0 19:00:38.625574 Read 93 bytes 19:00:38.625586 Process 93 bytes request 19:00:38.625601 Got request: GET /verifiedserver HTTP/1.1 19:00:38.625612 Are-we-friendly question received 19:00:38.625645 Wrote request (93 bytes) input to log/18/server.input 19:00:38.625664 Identifying ourselves as friends 19:00:38.625741 Response sent (56 bytes) and written to log/18/server.response 19:00:38.625755 special request received, no persistency 19:00:38.625767 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * 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/16/valgrind318 ../src/curl -q --output log/16/curl318.out --include --trace-ascii log/16/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:42747 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/16/stdout318 2> log/16/stderr318 port 39771) from 127.0.0.1 port 37876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind315 ==93342== ==93342== Process terminating with default action of signal 4 (SIGILL) ==93342== Illegal opcode at address 0x4013E00 ==93342== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93342== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93342== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93342== by 0x40037A4: main (tool_main.c:199) === End of file valgrind315 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/16/valgrind318 ../src/curl -q --output log/16/curl318.out --include --trace-ascii log/16/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:42747 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/16/stdout318 2> log/16/stderr318 318: 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 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/16/valgrind318 ../src/curl -q --output log/16/curl318.out --include --trace-ascii log/16/trace318 --trace-time http://first.host.it.is/we/want/that/page/318 -x 127.0.0.1:42747 -H "Authorization: s3cr3t" --proxy-user testing:this --location-trusted > log/16/stdout318 2> log/16/stderr318 === End of file commands.log === Start of file http_server.log 19:00:39.648442 ====> Client connect 19:00:39.648478 accept_connection 3 returned 4 19:00:39.648495 accept_connection 3 returned 0 19:00:39.648510 Read 93 bytes 19:00:39.648520 Process 93 bytes request 19:00:39.648533 Got request: GET /verifiedserver HTTP/1.1 19:00:39.648544 Are-we-friendly question received 19:00:39.648570 Wrote request (93 bytes) input to log/16/server.input 19:00:39.648588 Identifying ourselves as friends 19:00:39.648650 Response sent (56 bytes) and written to log/16/server.response 19:00:39.648661 special request received, no persistency 19:00:39.648670 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 54504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind318 ==93459== ==93459== Process terminating with default action of signal 4 (SIGILL) ==93459== Illegal opcode at address 0x4013E00 ==93459== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93459== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93459== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93459== by 0x40037A4: main (tool_main.c:199) === End of file valgrind318 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/22/valgrind298 ../src/curl -q --output log/22/curl298.out --include --trace-ascii log/22/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:36953/first/second/th%69rd/298 > log/22/stdout298 2> log/22/stderr298 298: 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 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/22/valgrind298 ../src/curl -q --output log/22/curl298.out --include --trace-ascii log/22/trace298 --trace-time --ftp-method nocwd ftp://127.0.0.1:36953/first/second/th%69rd/298 > log/22/stdout298 2> log/22/stderr298 === End of file commands.log === Start of file ftp_server.log 19:00:38.841216 ====> Client connect 19:00:38.841390 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:38.841678 < "USER anonymous" 19:00:38.841717 > "331 We are happy you popped in![CR][LF]" 19:00:38.841887 < "PASS ftp@example.com" 19:00:38.841914 > "230 Welcome you silly person[CR][LF]" 19:00:38.842082 < "PWD" 19:00:38.842113 > "257 "/" is current directory[CR][LF]" 19:00:38.842269 < "EPSV" 19:00:38.842291 ====> Passive DATA channel requested by client 19:00:38.842303 DATA sockfilt for passive data channel starting... 19:00:38.844601 DATA sockfilt for passive data channel started (pid 93266) 19:00:38.844755 DATA sockfilt for passive data channel listens on port 36467 19:00:38.844812 > "229 Entering Passive Mode (|||36467|)[CR][LF]" 19:00:38.844834 Client has been notified that DATA conn will be accepted on port 36467 19:00:38.845103 Client connects to port 36467 19:00:38.845136 ====> Client established passive DATA connection on port 36467 19:00:38.845273 < "TYPE I" 19:00:38.845309 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:38.845490 < "SIZE verifiedserver" 19:00:38.845530 > "213 17[CR][LF]" 19:00:38.845696 < "RETR verifiedserver" 19:00:38.845733 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:38.845832 =====> Closing passive DATA connection... 19:00:38.845853 Server disconnects passive DATA connection 19:00:38.846104 Server disconnected passive DATA connection 19:00:38.846133 DATA sockfilt for passive data channel quits (pid 93266) 19:00:38.846401 DATA sockfilt for passive data channel quit (pid 93266) 19:00:38.846424 =====> Closed passive DATA connection 19:00:38.846450 > "226 File transfer complete[CR][LF]" 19:00:38.892454 < "QUIT" 19:00:38.892515 > "221 bye bye baby[CR][LF]" 19:00:38.893488 MAIN sockfilt said DISC 19:00:38.893534 ====> Client disconnected 19:00:38.893624 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:39.613173 ====> Client connect 19:00:39.613464 Received DATA (on stdin) 19:00:39.613481 > 160 bytes data, server => client 19:00:39.613495 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:39.613506 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:39.613518 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:39.613598 < 16 bytes data, client => server 19:00:39.613611 'USER anonymous\r\n' 19:00:39.613781 Received DATA (on stdin) 19:00:39.613794 > 33 bytes data, server => client 19:00:39.613806 '331 We are happy you popped in!\r\n' 19:00:39.613857 < 22 bytes data, client => server 19:00:39.613868 'PASS ftp@example.com\r\n' 19:00:39.613977 Received DATA (on stdin) 19:00:39.613990 > 30 bytes data, server => client 19:00:39.614001 '230 Welcome you silly person\r\n' 19:00:39.614048 CMD (33792): ../libtool --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/valgrind317 ../src/curl -q --output log/12/curl317.out --include --trace-ascii log/12/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:46819 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/12/stdout317 2> log/12/stderr317 < 5 bytes data, client => server 19:00:39.614059 'PWD\r\n' 19:00:39.614175 Received DATA (on stdin) 19:00:39.614188 > 30 bytes data, server => client 19:00:39.614198 '257 "/" is current directory\r\n' 19:00:39.614253 < 6 bytes data, client => server 19:00:39.614263 'EPSV\r\n' 19:00:39.616907 Received DATA (on stdin) 19:00:39.616926 > 39 bytes data, server => client 19:00:39.616940 '229 Entering Passive Mode (|||36467|)\r\n' 19:00:39.617217 < 8 bytes data, client => server 19:00:39.617231 'TYPE I\r\n' 19:00:39.617374 Received DATA (on stdin) 19:00:39.617388 > 33 bytes data, server => client 19:00:39.617400 '200 I modify TYPE as you wanted\r\n' 19:00:39.617461 < 21 bytes data, client => server 19:00:39.617474 'SIZE verifiedserver\r\n' 19:00:39.617594 Received DATA (on stdin) 19:00:39.617607 > 8 bytes data, server => client 19:00:39.617619 '213 17\r\n' 19:00:39.617670 < 21 bytes data, client => server 19:00:39.617683 'RETR verifiedserver\r\n' 19:00:39.617920 Received DATA (on stdin) 19:00:39.617934 > 29 bytes data, server => client 19:00:39.617946 '150 Binary junk (17 bytes).\r\n' 19:00:39.618511 Received DATA (on stdin) 19:00:39.618524 > 28 bytes data, server => client 19:00:39.618536 '226 File transfer complete\r\n' 19:00:39.664310 < 6 bytes data, client => server 19:00:39.664345 'QUIT\r\n' 19:00:39.664589 Received DATA (on stdin) 19:00:39.664606 > 18 bytes data, server => client 19:00:39.664619 '221 bye bye baby\r\n' 19:00:39.665487 ====> Client disconnect 19:00:39.665693 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:38.616467 Running IPv4 version 19:00:38.616535 Listening on port 36467 19:00:38.616577 Wrote pid 93266 to log/22/server/ftp_sockdata.pid 19:00:38.616600 Received PING (on stdin) 19:00:38.616704 Received PORT (on stdin) 19:00:38.617111 ====> Client connect 19:00:38.617973 Received DATA (on stdin) 19:00:38.617986 > 17 bytes data, server => client 19:00:38.617998 'WE ROOLZ: 80850\r\n' 19:00:38.618021 Received DISC (on stdin) 19:00:38.618032 ====> Client forcibly disconnected 19:00:38.618203 Received QUIT (on stdin) 19:00:38.618216 quits 19:00:38.618306 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 298 === End of file server.cmd === Start of file valgrind298 ==93507== ==93507== Process terminating with default action of signal 4 (SIGILL) ==93507== Illegal opcode at address 0x4013E00 ==93507== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93507== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93507== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93507== by 0x40037A4: main (tool_main.c:199) === End of file valgrind298 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/24/valgrind316 ../src/curl -q --output log/24/curl316.out --include --trace-ascii log/24/trace316 --trace-time http://127.0.0.1:39383/316 --compressed > log/24/stdout316 2> log/24/stderr316 316: 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 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/24/valgrind316 ../src/curl -q --output log/24/curl316.out --include --trace-ascii log/24/trace316 --trace-time http://127.0.0.1:39383/316 --compressed > log/24/stdout316 2> log/24/stderr316 === End of file commands.log === Start of file http_server.log 19:00:38.636843 ====> Client connect 19:00:38.636870 accept_connection 3 returned 4 19:00:38.636884 accept_connection 3 returned 0 19:00:38.636897 Read 93 bytes 19:00:38.636906 Process 93 bytes request 19:00:38.636919 Got request: GET /verifiedserver HTTP/1.1 19:00:38.636929 Are-we-friendly question received 19:00:38.636953 Wrote request (93 bytes) input to log/24/server.input 19:00:38.636971 Identifying ourselves as friends 19:00:38.637029 Response sent (56 bytes) and written to log/24/server.response 19:00:38.637041 special request received, no persistency 19:00:38.637051 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54306 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind316 ==93372== ==93372== Process terminating with default action of signal 4 (SIGILL) ==93372== Illegal opcode at address 0x4013E00 ==93372== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93372== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93372== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93372== by 0x40037A4: main (tool_main.c:199) === End of file valgrind316 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/12/valgrind317 ../src/curl -q --output log/12/curl317.out --include --trace-ascii log/12/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:46819 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/12/stdout317 2> log/12/stderr317 317: 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 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/12/valgrind317 ../src/curl -q --output log/12/curl317.out --include --trace-ascii log/12/trace317 --trace-time http://first.host.it.is/we/want/that/page/317 -x 127.0.0.1:46819 -H "Authorization: s3cr3t" --proxy-user testing:this --location > log/12/stdout317 2> log/12/stderr317 === End of file commands.log === Start of file http_server.log 19:00:38.643993 ====> Client connect 19:00:38.644043 accept_connection 3 returned 4 19:00:38.644062 accept_connection 3 returned 0 19:00:38.644081 Read 93 bytes 19:00:38.644093 Process 93 bytes request 19:00:38.644120 Got request: GET /verifiedserver HTTP/1.1 19:00:38.644131 Are-we-friendly question received 19:00:38.644160 Wrote request (93 bytes) input to log/12/server.input 19:00:38.644179 Identifying ourselves as friends 19:00:38.644263 Response sent (56 bytes) and written to log/12/server.response 19:00:38.644274 special request received, no persistency 19:00:38.644284 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 57372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === End of file http_verify.out === Start of file server.cmd Testnum 317 === 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/19/valgrind314 ../src/curl -q --output log/19/curl314.out --include --trace-ascii log/19/trace314 --trace-time http://127.0.0.1:41761/314 --compressed > log/19/stdout314 2> log/19/stderr314 CMD (33792): ../libtool --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/valgrind283 ../src/curl -q --output log/3/curl283.out --include --trace-ascii log/3/trace283 --trace-time tftp://127.0.0.1:54040//invalid-file --tftp-blksize 1024 > log/3/stdout283 2> log/3/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/23/valgrind284 ../src/curl -q --output log/23/curl284.out --include --trace-ascii log/23/trace284 --trace-time tftp://127.0.0.1:48895//284 > log/23/stdout284 2> log/23/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/14/valgrind286 ../src/curl -q --output log/14/curl286.out --include --trace-ascii log/14/trace286 --trace-time -T log/14/test286.txt tftp://127.0.0.1:44117// > log/14/stdout286 2> log/14/stderr286 ile server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76272 === End of file server.response === Start of file valgrind317 ==93402== ==93402== Process terminating with default action of signal 4 (SIGILL) ==93402== Illegal opcode at address 0x4013E00 ==93402== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93402== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93402== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93402== by 0x40037A4: main (tool_main.c:199) === End of file valgrind317 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/19/valgrind314 ../src/curl -q --output log/19/curl314.out --include --trace-ascii log/19/trace314 --trace-time http://127.0.0.1:41761/314 --compressed > log/19/stdout314 2> log/19/stderr314 314: 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 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/19/valgrind314 ../src/curl -q --output log/19/curl314.out --include --trace-ascii log/19/trace314 --trace-time http://127.0.0.1:41761/314 --compressed > log/19/stdout314 2> log/19/stderr314 === End of file commands.log === Start of file http_server.log 19:00:38.625219 ====> Client connect 19:00:38.625369 accept_connection 3 returned 4 19:00:38.625400 accept_connection 3 returned 0 19:00:38.625433 Read 93 bytes 19:00:38.625450 Process 93 bytes request 19:00:38.625473 Got request: GET /verifiedserver HTTP/1.1 19:00:38.625489 Are-we-friendly question received 19:00:38.625529 Wrote request (93 bytes) input to log/19/server.input 19:00:38.625556 Identifying ourselves as friends 19:00:38.625620 Response sent (56 bytes) and written to log/19/server.response 19:00:38.625633 special request received, no persistency 19:00:38.625643 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 60952 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind314 ==93381== ==93381== Process terminating with default action of signal 4 (SIGILL) ==93381== Illegal opcode at address 0x4013E00 ==93381== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93381== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93381== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93381== by 0x40037A4: main (tool_main.c:199) === End of file valgrind314 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/3/server/tftp_server.pid" --portfile "log/3/server/tftp_server.port" --logfile "log/3/tftp_server.log" --logdir "log/3" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 92364 port 54040 * pid tftp => 92364 92364 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/3/valgrind283 ../src/curl -q --output log/3/curl283.out --include --trace-ascii log/3/trace283 --trace-time tftp://127.0.0.1:54040//invalid-file --tftp-blksize 1024 > log/3/stdout283 2> log/3/stderr283 283: 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 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/3/valgrind283 ../src/curl -q --output log/3/curl283.out --include --trace-ascii log/3/trace283 --trace-time tftp://127.0.0.1:54040//invalid-file --tftp-blksize 1024 > log/3/stdout283 2> log/3/stderr283 === End of file commands.log === Start of file server.cmd Testnum 283 === End of file server.cmd === Start of file tftp_server.log 19:00:38.837113 Wrote pid 92364 to log/3/server/tftp_server.pid 19:00:38.837168 Wrote port 54040 to log/3/server/tftp_server.port 19:00:38.837181 Running IPv4 version on port UDP/54040 === End of file tftp_server.log === Start of file valgrind283 ==93685== ==93685== Process terminating with default action of signal 4 (SIGILL) ==93685== Illegal opcode at address 0x4013E00 ==93685== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93685== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93685== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93685== by 0x40037A4: 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/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 92367 port 48895 * pid tftp => 92367 92367 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/23/valgrind284 ../src/curl -q --output log/23/curl284.out --include --trace-ascii log/23/trace284 --trace-time tftp://127.0.0.1:48895//284 > log/23/stdout284 2> log/23/stderr284 284: 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 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/23/valgrind284 ../src/curl -q --output log/23/curl284.out --include --trace-ascii log/23/trace284 --trace-time tftp://127.0.0.1:48895//284 > log/23/stdout284 2> log/23/stderr284 === End of file commands.log === Start of file server.cmd Testnum 284 === End of file server.cmd === Start of file tftp_server.log 19:00:38.842842 Wrote pid 92367 to log/23/server/tftp_server.pid 19:00:38.842904 Wrote port 48895 to log/23/server/tftp_server.port 19:00:38.842918 Running IPv4 version on port UDP/48895 === End of file tftp_server.log === Start of file valgrind284 ==93699== ==93699== Process terminating with default action of signal 4 (SIGILL) ==93699== Illegal opcode at address 0x4013E00 ==93699== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93699== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93699== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93699== by 0x40037A4: 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/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 92369 port 44117 * pid tftp => 92369 92369 test 0286...[TFTP send of boundary case 512 byte 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/11/valgrind319 ../src/curl -q --output log/11/curl319.out --trace-ascii log/11/trace319 --trace-time http://127.0.0.1:46317/319 --raw > log/11/stdout319 2> log/11/stderr319 CMD (33792): ../libtool --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/valgrind285 ../src/curl -q --output log/4/curl285.out --include --trace-ascii log/4/trace285 --trace-time -T log/4/test285.txt tftp://127.0.0.1:60958// --connect-timeout 549 > log/4/stdout285 2> log/4/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/21/valgrind328 ../src/curl -q --output log/21/curl328.out --include --trace-ascii log/21/trace328 --trace-time http://127.0.0.1:35043/hello/328 --compressed > log/21/stdout328 2> log/21/stderr328 --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind286 ../src/curl -q --output log/14/curl286.out --include --trace-ascii log/14/trace286 --trace-time -T log/14/test286.txt tftp://127.0.0.1:44117// > log/14/stdout286 2> log/14/stderr286 286: 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 286 === Start of file commands.log ../libtool --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/valgrind286 ../src/curl -q --output log/14/curl286.out --include --trace-ascii log/14/trace286 --trace-time -T log/14/test286.txt tftp://127.0.0.1:44117// > log/14/stdout286 2> log/14/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 19:00:38.915554 Wrote pid 92369 to log/14/server/tftp_server.pid 19:00:38.915616 Wrote port 44117 to log/14/server/tftp_server.port 19:00:38.915632 Running IPv4 version on port UDP/44117 === End of file tftp_server.log === Start of file valgrind286 ==93937== ==93937== Process terminating with default action of signal 4 (SIGILL) ==93937== Illegal opcode at address 0x4013E00 ==93937== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93937== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93937== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93937== by 0x40037A4: main (tool_main.c:199) === End of file valgrind286 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/11/valgrind319 ../src/curl -q --output log/11/curl319.out --trace-ascii log/11/trace319 --trace-time http://127.0.0.1:46317/319 --raw > log/11/stdout319 2> log/11/stderr319 319: 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 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/11/valgrind319 ../src/curl -q --output log/11/curl319.out --trace-ascii log/11/trace319 --trace-time http://127.0.0.1:46317/319 --raw > log/11/stdout319 2> log/11/stderr319 === End of file commands.log === Start of file http_server.log 19:00:38.862763 ====> Client connect 19:00:38.862821 accept_connection 3 returned 4 19:00:38.862854 accept_connection 3 returned 0 19:00:38.862872 Read 93 bytes 19:00:38.862883 Process 93 bytes request 19:00:38.862903 Got request: GET /verifiedserver HTTP/1.1 19:00:38.862913 Are-we-friendly question received 19:00:38.862941 Wrote request (93 bytes) input to log/11/server.input 19:00:38.862961 Identifying ourselves as friends 19:00:38.863018 Response sent (56 bytes) and written to log/11/server.response 19:00:38.863029 special request received, no persistency 19:00:38.863040 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 33294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind319 ==93822== ==93822== Process terminating with default action of signal 4 (SIGILL) ==93822== Illegal opcode at address 0x4013E00 ==93822== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93822== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93822== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93822== by 0x40037A4: main (tool_main.c:199) === End of file valgrind319 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 92368 port 60958 * pid tftp => 92368 92368 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/4/valgrind285 ../src/curl -q --output log/4/curl285.out --include --trace-ascii log/4/trace285 --trace-time -T log/4/test285.txt tftp://127.0.0.1:60958// --connect-timeout 549 > log/4/stdout285 2> log/4/stderr285 285: 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 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/4/valgrind285 ../src/curl -q --output log/4/curl285.out --include --trace-ascii log/4/trace285 --trace-time -T log/4/test285.txt tftp://127.0.0.1:60958// --connect-timeout 549 > log/4/stdout285 2> log/4/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 19:00:38.844358 Wrote pid 92368 to log/4/server/tftp_server.pid 19:00:38.844421 Wrote port 60958 to log/4/server/tftp_server.port 19:00:38.844437 Running IPv4 version on port UDP/60958 === End of file tftp_server.log === Start of file valgrind285 ==93708== ==93708== Process terminating with default action of signal 4 (SIGILL) ==93708== Illegal opcode at address 0x4013E00 ==93708== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93708== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93708== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93708== by 0x40037A4: main (tool_main.c:199) === End of file valgrind285 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/21/valgrind328 ../src/curl -q --output log/21/curl328.out --include --trace-ascii log/21/trace328 --trace-time http://127.0.0.1:35043/hello/328 --compressed > log/21/stdout328 2> log/21/stderr328 328: 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 328 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/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/5/valgrind327 ../src/curl -q --output log/5/curl327.out --include --trace-ascii log/5/trace327 --trace-time http://127.0.0.1:46771/we/want/327 -b none -c log/5/cookies327 http://127.0.0.1:46771/we/want/3270002 > log/5/stdout327 2> log/5/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/6/valgrind326 ../src/curl -q --output log/6/curl326.out --trace-ascii log/6/trace326 --trace-time http://127.0.0.1:41595/326 --raw > log/6/stdout326 2> log/6/stderr326 CMD (33792): ../libtool --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/valgrind329 ../src/curl -q --output log/1/curl329.out --include --trace-ascii log/1/trace329 --trace-time http://127.0.0.1:40353/we/want/329 -b log/1/jar329.txt -b log/1/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:40353/we/want/3290002 > log/1/stdout329 2> log/1/stderr329 valgrind.supp --num-callers=16 --log-file=log/21/valgrind328 ../src/curl -q --output log/21/curl328.out --include --trace-ascii log/21/trace328 --trace-time http://127.0.0.1:35043/hello/328 --compressed > log/21/stdout328 2> log/21/stderr328 === End of file commands.log === Start of file http_server.log 19:00:38.917844 ====> Client connect 19:00:38.917878 accept_connection 3 returned 4 19:00:38.917896 accept_connection 3 returned 0 19:00:38.917913 Read 93 bytes 19:00:38.917925 Process 93 bytes request 19:00:38.917940 Got request: GET /verifiedserver HTTP/1.1 19:00:38.917950 Are-we-friendly question received 19:00:38.917977 Wrote request (93 bytes) input to log/21/server.input 19:00:38.917996 Identifying ourselves as friends 19:00:38.918051 Response sent (56 bytes) and written to log/21/server.response 19:00:38.918062 special request received, no persistency 19:00:38.918073 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 47434 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind328 ==94016== ==94016== Process terminating with default action of signal 4 (SIGILL) ==94016== Illegal opcode at address 0x4013E00 ==94016== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94016== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94016== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94016== by 0x40037A4: main (tool_main.c:199) === End of file valgrind328 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/5/valgrind327 ../src/curl -q --output log/5/curl327.out --include --trace-ascii log/5/trace327 --trace-time http://127.0.0.1:46771/we/want/327 -b none -c log/5/cookies327 http://127.0.0.1:46771/we/want/3270002 > log/5/stdout327 2> log/5/stderr327 327: 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 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/5/valgrind327 ../src/curl -q --output log/5/curl327.out --include --trace-ascii log/5/trace327 --trace-time http://127.0.0.1:46771/we/want/327 -b none -c log/5/cookies327 http://127.0.0.1:46771/we/want/3270002 > log/5/stdout327 2> log/5/stderr327 === End of file commands.log === Start of file http_server.log 19:00:38.898930 ====> Client connect 19:00:38.898968 accept_connection 3 returned 4 19:00:38.898988 accept_connection 3 returned 0 19:00:38.899004 Read 93 bytes 19:00:38.899016 Process 93 bytes request 19:00:38.899030 Got request: GET /verifiedserver HTTP/1.1 19:00:38.899040 Are-we-friendly question received 19:00:38.899066 Wrote request (93 bytes) input to log/5/server.input 19:00:38.899084 Identifying ourselves as friends 19:00:38.899147 Response sent (56 bytes) and written to log/5/server.response 19:00:38.899159 special request received, no persistency 19:00:38.899169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 33656 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind327 ==93970== ==93970== Process terminating with default action of signal 4 (SIGILL) ==93970== Illegal opcode at address 0x4013E00 ==93970== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93970== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93970== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93970== by 0x40037A4: main (tool_main.c:199) === End of file valgrind327 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/6/valgrind326 ../src/curl -q --output log/6/curl326.out --trace-ascii log/6/trace326 --trace-time http://127.0.0.1:41595/326 --raw > log/6/stdout326 2> log/6/stderr326 326: 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 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/6/valgrind326 ../src/curl -q --output log/6/curl326.out --trace-ascii log/6/trace326 --trace-time http://127.0.0.1:41595/326 --raw > log/6/stdout326 2> log/6/stderr326 === End of file commands.log === Start of file http_server.log 19:00:38.870824 ====> Client connect 19:00:38.870864 accept_connection 3 returned 4 19:00:38.870883 accept_connection 3 returned 0 19:00:38.871011 Read 93 bytes 19:00:38.871029 Process 93 bytes request 19:00:38.871045 Got request: GET /verifiedserver HTTP/1.1 19:00:38.871057 Are-we-friendly question received 19:00:38.871089 Wrote request (93 bytes) input to log/6/server.input 19:00:38.871109 Identifying ourselves as friends 19:00:38.871170 Response sent (56 bytes) and written to log/6/server.response 19:00:38.871183 special request received, no persistency 19:00:38.871193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 56464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind326 ==93863== ==93863== Process terminating with default action of signal 4 (SIGILL) ==93863== Illegal opcode at address 0x4013E00 ==93863== at 0x4013E00: getparameter (tool_getparam.c:2846) ==93863== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==93863== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==93863== by 0x40037A4: main (tool_main.c:199) === End of file valgrind326 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/1/valgrind329CMD (33792): ../libtool --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:36745 -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/8/valgrind331 ../src/curl -q --output log/8/curl331.out --include --trace-ascii log/8/trace331 --trace-time -x http://127.0.0.1:43853 http://moo/we/want/331 -b none http://moo/we/want/3310002 > log/8/stdout331 2> log/8/stderr331 ../src/curl -q --output log/1/curl329.out --include --trace-ascii log/1/trace329 --trace-time http://127.0.0.1:40353/we/want/329 -b log/1/jar329.txt -b log/1/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:40353/we/want/3290002 > log/1/stdout329 2> log/1/stderr329 329: 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 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/1/valgrind329 ../src/curl -q --output log/1/curl329.out --include --trace-ascii log/1/trace329 --trace-time http://127.0.0.1:40353/we/want/329 -b log/1/jar329.txt -b log/1/jar329-2.txt -H "Host: host.foo.com" http://127.0.0.1:40353/we/want/3290002 > log/1/stdout329 2> log/1/stderr329 === End of file commands.log === Start of file http_server.log 19:00:39.040827 ====> Client connect 19:00:39.040861 accept_connection 3 returned 4 19:00:39.040879 accept_connection 3 returned 0 19:00:39.041011 Read 93 bytes 19:00:39.041026 Process 93 bytes request 19:00:39.041039 Got request: GET /verifiedserver HTTP/1.1 19:00:39.041050 Are-we-friendly question received 19:00:39.041078 Wrote request (93 bytes) input to log/1/server.input 19:00:39.041097 Identifying ourselves as friends 19:00:39.041152 Response sent (56 bytes) and written to log/1/server.response 19:00:39.041164 special request received, no persistency 19:00:39.041174 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 37772 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind329 ==94210== ==94210== Process terminating with default action of signal 4 (SIGILL) ==94210== Illegal opcode at address 0x4013E00 ==94210== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94210== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94210== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94210== by 0x40037A4: main (tool_main.c:199) === End of file valgrind329 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:36745 -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:36745 -H "Cookie: test=yes" --location > log/9/stdout330 2> log/9/stderr330 === End of file commands.log === Start of file http_server.log 19:00:39.039224 ====> Client connect 19:00:39.039260 accept_connection 3 returned 4 19:00:39.039278 accept_connection 3 returned 0 19:00:39.039294 Read 93 bytes 19:00:39.039305 Process 93 bytes request 19:00:39.039319 Got request: GET /verifiedserver HTTP/1.1 19:00:39.039329 Are-we-friendly question received 19:00:39.039356 Wrote request (93 bytes) input to log/9/server.input 19:00:39.039374 Identifying ourselves as friends 19:00:39.039431 Response sent (56 bytes) and written to log/9/server.response 19:00:39.039442 special request received, no persistency 19:00:39.039452 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 52784 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind330 ==94194== ==94194== Process terminating with default action of signal 4 (SIGILL) ==94194== Illegal opcode at address 0x4013E00 ==94194== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94194== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94194== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94194== by 0x40037A4: main (tool_main.c:199) === End of file valgrind330 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:43853 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:43853 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 19:00:39.062151 ====> Client connect 19:00:39.062194 accept_connection 3 returned 4 19:00:39.062214 accept_connection 3 returned 0 19:00:39.062231 Read 93 bytes 19:00:39.062243 Process 93 bytes request 19:00:39.062259 Got request: GET /verifiedserver HTTP/1.1 19:00:39.062271 Are-we-friendly question received 19:00:39.062299 Wrote request (93 bytes) input to log/8/server.input 19:00:39.062319 Identifying ourselves as friends 19:00:39.062381 Response sent (56 bytes) and written to log/8/server.response 19:00:39.062394 special request received, no persistency 19:00:39.062405 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 37472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to 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/13/valgrind334 ../src/curl -q --output log/13/curl334.out --include --trace-ascii log/13/trace334 --trace-time http://127.0.0.1:35301/want/334 > log/13/stdout334 2> log/13/stderr334 CMD (33792): ../libtool --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/valgrind335 ../src/curl -q --output log/2/curl335.out --include --trace-ascii log/2/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:44325 --proxy-digest --digest > log/2/stdout335 2> log/2/stderr335 CMD (33792): ../libtool --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/valgrind333 ../src/curl -q --output log/20/curl333.out --include --trace-ascii log/20/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/20/stdout333 2> log/20/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/10/valgrind336 ../src/curl -q --output log/10/curl336.out --include --trace-ascii log/10/trace336 --trace-time ftp://127.0.0.1:42709/336 --range 3-6 > log/10/stdout336 2> log/10/stderr336 43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind331 ==94213== ==94213== Process terminating with default action of signal 4 (SIGILL) ==94213== Illegal opcode at address 0x4013E00 ==94213== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94213== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94213== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94213== by 0x40037A4: main (tool_main.c:199) === End of file valgrind331 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/13/valgrind334 ../src/curl -q --output log/13/curl334.out --include --trace-ascii log/13/trace334 --trace-time http://127.0.0.1:35301/want/334 > log/13/stdout334 2> log/13/stderr334 334: 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 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/13/valgrind334 ../src/curl -q --output log/13/curl334.out --include --trace-ascii log/13/trace334 --trace-time http://127.0.0.1:35301/want/334 > log/13/stdout334 2> log/13/stderr334 === End of file commands.log === Start of file http_server.log 19:00:39.336690 ====> Client connect 19:00:39.336725 accept_connection 3 returned 4 19:00:39.336741 accept_connection 3 returned 0 19:00:39.336756 Read 93 bytes 19:00:39.336766 Process 93 bytes request 19:00:39.336780 Got request: GET /verifiedserver HTTP/1.1 19:00:39.336790 Are-we-friendly question received 19:00:39.336815 Wrote request (93 bytes) input to log/13/server.input 19:00:39.336831 Identifying ourselves as friends 19:00:39.336884 Response sent (56 bytes) and written to log/13/server.response 19:00:39.336895 special request received, no persistency 19:00:39.336906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 55422 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind334 ==94415== ==94415== Process terminating with default action of signal 4 (SIGILL) ==94415== Illegal opcode at address 0x4013E00 ==94415== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94415== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94415== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94415== by 0x40037A4: main (tool_main.c:199) === End of file valgrind334 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/2/valgrind335 ../src/curl -q --output log/2/curl335.out --include --trace-ascii log/2/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:44325 --proxy-digest --digest > log/2/stdout335 2> log/2/stderr335 335: 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 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/2/valgrind335 ../src/curl -q --output log/2/curl335.out --include --trace-ascii log/2/trace335 --trace-time http://digest:a-lot@data.from.server.requiring.digest.hohoho.com/335 --proxy http://foo:bar@127.0.0.1:44325 --proxy-digest --digest > log/2/stdout335 2> log/2/stderr335 === End of file commands.log === Start of file http_server.log 19:00:40.365544 ====> Client connect 19:00:40.365585 accept_connection 3 returned 4 19:00:40.365605 accept_connection 3 returned 0 19:00:40.365623 Read 93 bytes 19:00:40.365635 Process 93 bytes request 19:00:40.365649 Got request: GET /verifiedserver HTTP/1.1 19:00:40.365660 Are-we-friendly question received 19:00:40.365686 Wrote request (93 bytes) input to log/2/server.input 19:00:40.365705 Identifying ourselves as friends 19:00:40.365764 Response sent (56 bytes) and written to log/2/server.response 19:00:40.365776 special request received, no persistency 19:00:40.365787 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 47014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind335 ==94480== ==94480== Process terminating with default action of signal 4 (SIGILL) ==94480== Illegal opcode at address 0x4013E00 ==94480== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94480== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94480== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94480== by 0x40037A4: main (tool_main.c:199) === End of file valgrind335 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/20/valgrind333 ../src/curl -q --output log/20/curl333.out --include --trace-ascii log/20/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/20/stdout333 2> log/20/stderr333 curl returned 132, when expecting 2 333: exit FAILED == Contents of files in the log/20/ 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/20/valgrind333 ../src/curl -q --output log/20/curl333.out --include --trace-ascii log/20/trace333 --trace-time --no-proxy "hey" http://127.0.0.1:47/333 > log/20/stdout333 2> log/20/stderr333 === End of file commands.log === Start of file server.cmd Testnum 333 === End of file server.cmd === Start of file valgrind333 ==94372== ==94372== Process terminating with default action of signal 4 (SIGILL) ==94372== Illegal opcode at address 0x4013E00 ==94372== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94372== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94372== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94372== by 0x40037A4: main (tool_main.c:199) === End of file valgrind333 test 0336...[FTP CMD (33792): ../libtool --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/valgrind337 ../src/curl -q --output log/7/curl337.out --include --trace-ascii log/7/trace337 --trace-time ftp://127.0.0.1:34277/337 --range 3-6 > log/7/stdout337 2> log/7/stderr337 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/10/valgrind336 ../src/curl -q --output log/10/curl336.out --include --trace-ascii log/10/trace336 --trace-time ftp://127.0.0.1:42709/336 --range 3-6 > log/10/stdout336 2> log/10/stderr336 336: 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 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/10/valgrind336 ../src/curl -q --output log/10/curl336.out --include --trace-ascii log/10/trace336 --trace-time ftp://127.0.0.1:42709/336 --range 3-6 > log/10/stdout336 2> log/10/stderr336 === End of file commands.log === Start of file ftp_server.log 19:00:39.672475 ====> Client connect 19:00:39.672650 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:39.672963 < "USER anonymous" 19:00:39.673001 > "331 We are happy you popped in![CR][LF]" 19:00:39.673193 < "PASS ftp@example.com" 19:00:39.673221 > "230 Welcome you silly person[CR][LF]" 19:00:39.673400 < "PWD" 19:00:39.673438 > "257 "/" is current directory[CR][LF]" 19:00:39.673628 < "EPSV" 19:00:39.673654 ====> Passive DATA channel requested by client 19:00:39.673669 DATA sockfilt for passive data channel starting... 19:00:39.675713 DATA sockfilt for passive data channel started (pid 94577) 19:00:39.675832 DATA sockfilt for passive data channel listens on port 44927 19:00:39.675880 > "229 Entering Passive Mode (|||44927|)[CR][LF]" 19:00:39.675903 Client has been notified that DATA conn will be accepted on port 44927 19:00:39.676153 Client connects to port 44927 19:00:39.676184 ====> Client established passive DATA connection on port 44927 19:00:39.676265 < "TYPE I" 19:00:39.676300 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:39.676479 < "SIZE verifiedserver" 19:00:39.676519 > "213 17[CR][LF]" 19:00:39.676695 < "RETR verifiedserver" 19:00:39.676732 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:39.676828 =====> Closing passive DATA connection... 19:00:39.676847 Server disconnects passive DATA connection 19:00:39.677107 Server disconnected passive DATA connection 19:00:39.677136 DATA sockfilt for passive data channel quits (pid 94577) 19:00:39.677384 DATA sockfilt for passive data channel quit (pid 94577) 19:00:39.677411 =====> Closed passive DATA connection 19:00:39.677442 > "226 File transfer complete[CR][LF]" 19:00:39.722394 < "QUIT" 19:00:39.722455 > "221 bye bye baby[CR][LF]" 19:00:39.724012 MAIN sockfilt said DISC 19:00:39.724048 ====> Client disconnected 19:00:39.724130 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:40.444415 ====> Client connect 19:00:40.444732 Received DATA (on stdin) 19:00:40.444749 > 160 bytes data, server => client 19:00:40.444764 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:40.444777 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:40.444789 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:40.444867 < 16 bytes data, client => server 19:00:40.444884 'USER anonymous\r\n' 19:00:40.445070 Received DATA (on stdin) 19:00:40.445086 > 33 bytes data, server => client 19:00:40.445099 '331 We are happy you popped in!\r\n' 19:00:40.445155 < 22 bytes data, client => server 19:00:40.445171 'PASS ftp@example.com\r\n' 19:00:40.445286 Received DATA (on stdin) 19:00:40.445300 > 30 bytes data, server => client 19:00:40.445313 '230 Welcome you silly person\r\n' 19:00:40.445366 < 5 bytes data, client => server 19:00:40.445381 'PWD\r\n' 19:00:40.445504 Received DATA (on stdin) 19:00:40.445519 > 30 bytes data, server => client 19:00:40.445532 '257 "/" is current directory\r\n' 19:00:40.445596 < 6 bytes data, client => server 19:00:40.445611 'EPSV\r\n' 19:00:40.447973 Received DATA (on stdin) 19:00:40.447989 > 39 bytes data, server => client 19:00:40.448002 '229 Entering Passive Mode (|||44927|)\r\n' 19:00:40.448155 < 8 bytes data, client => server 19:00:40.448170 'TYPE I\r\n' 19:00:40.448365 Received DATA (on stdin) 19:00:40.448380 > 33 bytes data, server => client 19:00:40.448393 '200 I modify TYPE as you wanted\r\n' 19:00:40.448447 < 21 bytes data, client => server 19:00:40.448462 'SIZE verifiedserver\r\n' 19:00:40.448584 Received DATA (on stdin) 19:00:40.448599 > 8 bytes data, server => client 19:00:40.448611 '213 17\r\n' 19:00:40.448664 < 21 bytes data, client => server 19:00:40.448679 'RETR verifiedserver\r\n' 19:00:40.448914 Received DATA (on stdin) 19:00:40.448929 > 29 bytes data, server => client 19:00:40.448942 '150 Binary junk (17 bytes).\r\n' 19:00:40.449507 Received DATA (on stdin) 19:00:40.449523 > 28 bytes data, server => client 19:00:40.449536 '226 File transfer complete\r\n' 19:00:40.494250 < 6 bytes data, client => server 19:00:40.494285 'QUIT\r\n' 19:00:40.494524 Received DATA (on stdin) 19:00:40.494540 > 18 bytes data, server => client 19:00:40.494552 '221 bye bye baby\r\n' 19:00:40.495564 ====> Client disconnect 19:00:40.496198 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:39.447284 Running IPv4 version 19:00:39.447342 Listening on port 44927 19:00:39.447387 Wrote pid 94577 to log/10/server/ftp_sockdata.pid 19:00:39.447712 Received PING (on stdin) 19:00:39.447802 Received PORT (on stdin) 19:00:39.448121 ====> Client connect 19:00:39.448970 Received DATA (on stdin) 19:00:39.448986 > 17 bytes data, server => client 19:00:39.448998 'WE ROOLZ: 80847\r\n' 19:00:39.449023 Received DISC (on stdin) 19:00:39.449037 ====> Client forcibly disconnected 19:00:39.449211 Received QUIT (on stdin) 19:00:39.449225 quits 19:00:39.449282 ============> 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 ==94591== ==94591== Process terminating with default action of signal 4 (SIGILL) ==94591== Illegal opcode at address 0x4013E00 ==94591== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94591== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94591== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94591== by 0x40037A4: main (tool_main.c:199) === End of file valgrind336 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/7/valgrind337 ../src/curl -q --output log/7/curl337.out --include --trace-ascii log/7/trace337 --trace-time ftp://127.0.0.1:34277/337 --range 3-6 > log/7/stdout337 2> log/7/stderr337 337: 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 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/7/valgrind337 ../src/curl -q --output log/7/curl337.out --include --trace-ascii log/7/trace337 --trace-time ftp://127.0.0.1:34277/337 --range 3-6 > log/7/stdout337 2> log/7/stderr337 === End of file commands.log === Start of file ftp_server.log 19:00:39.841423 ====> Client connect 19:00:39.841601 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:39.841937 < "USER anonymous" 19:00:39.841977 > "331 We are 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/15/valgrind338 ../src/curl -q --output log/15/curl338.out --include --trace-ascii log/15/trace338 --trace-time http://127.0.0.1:44531/338 --next http://127.0.0.1:44531/338 --anyauth -u foo:moo > log/15/stdout338 2> log/15/stderr338 appy you popped in![CR][LF]" 19:00:39.842595 < "PASS ftp@example.com" 19:00:39.842625 > "230 Welcome you silly person[CR][LF]" 19:00:39.842801 < "PWD" 19:00:39.842836 > "257 "/" is current directory[CR][LF]" 19:00:39.843026 < "EPSV" 19:00:39.843054 ====> Passive DATA channel requested by client 19:00:39.843069 DATA sockfilt for passive data channel starting... 19:00:39.848044 DATA sockfilt for passive data channel started (pid 94656) 19:00:39.848179 DATA sockfilt for passive data channel listens on port 37021 19:00:39.848227 > "229 Entering Passive Mode (|||37021|)[CR][LF]" 19:00:39.848248 Client has been notified that DATA conn will be accepted on port 37021 19:00:39.848523 Client connects to port 37021 19:00:39.848553 ====> Client established passive DATA connection on port 37021 19:00:39.848636 < "TYPE I" 19:00:39.848665 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:39.848845 < "SIZE verifiedserver" 19:00:39.848888 > "213 17[CR][LF]" 19:00:39.849191 < "RETR verifiedserver" 19:00:39.849227 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:39.849546 =====> Closing passive DATA connection... 19:00:39.849570 Server disconnects passive DATA connection 19:00:39.849595 Fancy that; client wants to DISC, too 19:00:39.849685 Server disconnected passive DATA connection 19:00:39.849706 DATA sockfilt for passive data channel quits (pid 94656) 19:00:39.849929 DATA sockfilt for passive data channel quit (pid 94656) 19:00:39.849954 =====> Closed passive DATA connection 19:00:39.849983 > "226 File transfer complete[CR][LF]" 19:00:39.892496 < "QUIT" 19:00:39.892551 > "221 bye bye baby[CR][LF]" 19:00:39.893017 MAIN sockfilt said DISC 19:00:39.893047 ====> Client disconnected 19:00:39.893108 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:39.613344 ====> Client connect 19:00:39.613681 Received DATA (on stdin) 19:00:39.613698 > 160 bytes data, server => client 19:00:39.613712 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:39.613725 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:39.613737 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:39.613840 < 16 bytes data, client => server 19:00:39.613858 'USER anonymous\r\n' 19:00:39.614451 Received DATA (on stdin) 19:00:39.614473 > 33 bytes data, server => client 19:00:39.614487 '331 We are happy you popped in!\r\n' 19:00:39.614547 < 22 bytes data, client => server 19:00:39.614563 'PASS ftp@example.com\r\n' 19:00:39.614688 Received DATA (on stdin) 19:00:39.614701 > 30 bytes data, server => client 19:00:39.614714 '230 Welcome you silly person\r\n' 19:00:39.614768 < 5 bytes data, client => server 19:00:39.614782 'PWD\r\n' 19:00:39.614900 Received DATA (on stdin) 19:00:39.614915 > 30 bytes data, server => client 19:00:39.614928 '257 "/" is current directory\r\n' 19:00:39.614992 < 6 bytes data, client => server 19:00:39.615007 'EPSV\r\n' 19:00:39.620317 Received DATA (on stdin) 19:00:39.620333 > 39 bytes data, server => client 19:00:39.620346 '229 Entering Passive Mode (|||37021|)\r\n' 19:00:39.620498 < 8 bytes data, client => server 19:00:39.620514 'TYPE I\r\n' 19:00:39.620727 Received DATA (on stdin) 19:00:39.620740 > 33 bytes data, server => client 19:00:39.620753 '200 I modify TYPE as you wanted\r\n' 19:00:39.620818 < 21 bytes data, client => server 19:00:39.620832 'SIZE verifiedserver\r\n' 19:00:39.620950 Received DATA (on stdin) 19:00:39.621008 > 8 bytes data, server => client 19:00:39.621069 '213 17\r\n' 19:00:39.621136 < 21 bytes data, client => server 19:00:39.621150 'RETR verifiedserver\r\n' 19:00:39.621365 Received DATA (on stdin) 19:00:39.621385 > 29 bytes data, server => client 19:00:39.621398 '150 Binary junk (17 bytes).\r\n' 19:00:39.622046 Received DATA (on stdin) 19:00:39.622061 > 28 bytes data, server => client 19:00:39.622073 '226 File transfer complete\r\n' 19:00:39.664389 < 6 bytes data, client => server 19:00:39.664413 'QUIT\r\n' 19:00:39.664618 Received DATA (on stdin) 19:00:39.664631 > 18 bytes data, server => client 19:00:39.664643 '221 bye bye baby\r\n' 19:00:39.665026 ====> Client disconnect 19:00:39.665170 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:39.616460 Running IPv4 version 19:00:39.616516 Listening on port 37021 19:00:39.616551 Wrote pid 94656 to log/7/server/ftp_sockdata.pid 19:00:39.617712 Received PING (on stdin) 19:00:39.620146 Received PORT (on stdin) 19:00:39.620536 ====> Client connect 19:00:39.621426 Received DATA (on stdin) 19:00:39.621441 > 17 bytes data, server => client 19:00:39.621453 'WE ROOLZ: 89392\r\n' 19:00:39.621557 ====> Client disconnect 19:00:39.621660 Received DISC (on stdin) 19:00:39.621672 Crikey! Client also wants to disconnect 19:00:39.621685 Received ACKD (on stdin) 19:00:39.621775 Received QUIT (on stdin) 19:00:39.621788 quits 19:00:39.621848 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file 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 ==94758== ==94758== Process terminating with default action of signal 4 (SIGILL) ==94758== Illegal opcode at address 0x4013E00 ==94758== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94758== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94758== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94758== by 0x40037A4: main (tool_main.c:199) === End of file valgrind337 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/15/valgrind338 ../src/curl -q --output log/15/curl338.out --include --trace-ascii log/15/trace338 --trace-time http://127.0.0.1:44531/338 --next http://127.0.0.1:44531/338 --anyauth -u foo:moo > log/15/stdout338 2> log/15/stderr338 338: 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 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/15/valgrind338 ../src/curl -q --output log/15/curl338.out --include --trace-ascii log/15/trace338 --trace-time http://127.0.0.1:44531/338 --next http://127.0.0.1:44531/338 --anyauth -u foo:moo > log/15/stdout338 2> log/15/stderr338 === End of file commands.log === Start of file http_server.log 19:00:39.652114 ====> Client connect 19:00:39.652150 accept_connection 3 returned 4 19:00:39.652167 accept_connection 3 returned 0 19:00:39.652184 Read 93 bytes 19:00:39.652194 Process 93 bytes request 19:00:39.652210 Got request: GET /verifiedserver HTTP/1.1 19:00:39.652220 Are-we-friendly question received 19:00:39.652245 Wrote request (93 bytes) input to log/15/server.input 19:00:39.652264 Identifying ourselves as friends 19:00:39.652319 Response sent (56 bytes) and written to log/15/server.response 19:00:39.652330 special request received, no persistency 19:00:39.652340 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 48976 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind338 ==94CMD (33792): ../libtool --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/valgrind341 ../src/curl -q --output log/12/curl341.out --include --trace-ascii log/12/trace341 --trace-time http://127.0.0.1:46819/341 --etag-compare log/12/etag341 > log/12/stdout341 2> log/12/stderr341 CMD (33792): ../libtool --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/valgrind339 ../src/curl -q --output log/18/curl339.out --include --trace-ascii log/18/trace339 --trace-time http://127.0.0.1:39771/339 --etag-save log/18/etag339 > log/18/stdout339 2> log/18/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/16/valgrind343 ../src/curl -q --output log/16/curl343.out --include --trace-ascii log/16/trace343 --trace-time http://127.0.0.1:42747/343 --etag-compare log/16/etag343 --etag-save log/16/out343 > log/16/stdout343 2> log/16/stderr343 730== ==94730== Process terminating with default action of signal 4 (SIGILL) ==94730== Illegal opcode at address 0x4013E00 ==94730== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94730== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94730== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94730== by 0x40037A4: 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/12/valgrind341 ../src/curl -q --output log/12/curl341.out --include --trace-ascii log/12/trace341 --trace-time http://127.0.0.1:46819/341 --etag-compare log/12/etag341 > log/12/stdout341 2> log/12/stderr341 341: 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 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/12/valgrind341 ../src/curl -q --output log/12/curl341.out --include --trace-ascii log/12/trace341 --trace-time http://127.0.0.1:46819/341 --etag-compare log/12/etag341 > log/12/stdout341 2> log/12/stderr341 === End of file commands.log === Start of file http_server.log 19:00:39.670815 ====> Client connect 19:00:39.670849 accept_connection 3 returned 4 19:00:39.670865 accept_connection 3 returned 0 19:00:39.670954 Read 93 bytes 19:00:39.670966 Process 93 bytes request 19:00:39.670980 Got request: GET /verifiedserver HTTP/1.1 19:00:39.670990 Are-we-friendly question received 19:00:39.671017 Wrote request (93 bytes) input to log/12/server.input 19:00:39.671033 Identifying ourselves as friends 19:00:39.671087 Response sent (56 bytes) and written to log/12/server.response 19:00:39.671098 special request received, no persistency 19:00:39.671107 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 57382 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind341 ==94786== ==94786== Process terminating with default action of signal 4 (SIGILL) ==94786== Illegal opcode at address 0x4013E00 ==94786== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94786== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94786== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94786== by 0x40037A4: main (tool_main.c:199) === End of file valgrind341 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/18/valgrind339 ../src/curl -q --output log/18/curl339.out --include --trace-ascii log/18/trace339 --trace-time http://127.0.0.1:39771/339 --etag-save log/18/etag339 > log/18/stdout339 2> log/18/stderr339 339: 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 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/18/valgrind339 ../src/curl -q --output log/18/curl339.out --include --trace-ascii log/18/trace339 --trace-time http://127.0.0.1:39771/339 --etag-save log/18/etag339 > log/18/stdout339 2> log/18/stderr339 === End of file commands.log === Start of file http_server.log 19:00:39.663735 ====> Client connect 19:00:39.663777 accept_connection 3 returned 4 19:00:39.663795 accept_connection 3 returned 0 19:00:39.663810 Read 93 bytes 19:00:39.663819 Process 93 bytes request 19:00:39.663834 Got request: GET /verifiedserver HTTP/1.1 19:00:39.663844 Are-we-friendly question received 19:00:39.663867 Wrote request (93 bytes) input to log/18/server.input 19:00:39.663884 Identifying ourselves as friends 19:00:39.663934 Response sent (56 bytes) and written to log/18/server.response 19:00:39.663945 special request received, no persistency 19:00:39.663954 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 37884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind339 ==94757== ==94757== Process terminating with default action of signal 4 (SIGILL) ==94757== Illegal opcode at address 0x4013E00 ==94757== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94757== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94757== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94757== by 0x40037A4: main (tool_main.c:199) === End of file valgrind339 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/16/valgrind343 ../src/curl -q --output log/16/curl343.out --include --trace-ascii log/16/trace343 --trace-time http://127.0.0.1:42747/343 --etag-compare log/16/etag343 --etag-save log/16/out343 > log/16/stdout343 2> log/16/stderr343 343: 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 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/16/valgrind343 ../src/curl -q --output log/16/curl343.out --include --trace-ascii log/16/trace343 --trace-time http://127.0.0.1:42747/343 --etag-compare log/16/etag343 --etag-save log/16/out343 > log/16/stdout343 2> log/16/stderr343 === End of file commands.log === Start of file etag343 "21025-dc7-39462498" === End of file etag343 === Start of file http_server.log 19:00:40.693593 ====> Client connect 19:00:40.693629 accept_connection 3 returned 4 19:00:40.693649 accept_connection 3 returned 0 19:00:40.693665 Read 93 bytes 19:00:40.693677 Process 93 bytes request 19:00:40.693692 Got request: GET /verifiedserver HTTP/1.1 19:00:40.693703 Are-we-friendly question received 19:00:40.693734 Wrote request (93 bytes) input to log/16/server.input 19:00:40.693753 Identifying ourselves as friends 19:00:40.693818 Response sent (56 bytes) and written to log/16/server.response 19:00:40.693831 special request received, no persistency 19:00:40.693842 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * TryiCMD (33792): ../libtool --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/valgrind342 ../src/curl -q --output log/22/curl342.out --include --trace-ascii log/22/trace342 --trace-time http://127.0.0.1:41061/342 --etag-compare log/22/etag342 > log/22/stdout342 2> log/22/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/19/valgrind344 ../src/curl -q --output log/19/curl344.out --include --trace-ascii log/19/trace344 --trace-time http://127.0.0.1:41761/344 --etag-compare log/19/etag344 --etag-save log/19/etag344 > log/19/stdout344 2> log/19/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/24/valgrind340 ../src/curl -q --output log/24/curl340.out --include --trace-ascii log/24/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:41217/%00first/second/third/340 > log/24/stdout340 2> log/24/stderr340 ng 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 59440 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind343 ==94881== ==94881== Process terminating with default action of signal 4 (SIGILL) ==94881== Illegal opcode at address 0x4013E00 ==94881== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94881== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94881== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94881== by 0x40037A4: main (tool_main.c:199) === End of file valgrind343 test 0342...[Check if --etag-compare set correct etag 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/22/valgrind342 ../src/curl -q --output log/22/curl342.out --include --trace-ascii log/22/trace342 --trace-time http://127.0.0.1:41061/342 --etag-compare log/22/etag342 > log/22/stdout342 2> log/22/stderr342 342: 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 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/22/valgrind342 ../src/curl -q --output log/22/curl342.out --include --trace-ascii log/22/trace342 --trace-time http://127.0.0.1:41061/342 --etag-compare log/22/etag342 > log/22/stdout342 2> log/22/stderr342 === End of file commands.log === Start of file etag342 "21025-dc7-39462498" === End of file etag342 === Start of file http_server.log 19:00:39.688824 ====> Client connect 19:00:39.688859 accept_connection 3 returned 4 19:00:39.688876 accept_connection 3 returned 0 19:00:39.688891 Read 93 bytes 19:00:39.688902 Process 93 bytes request 19:00:39.688917 Got request: GET /verifiedserver HTTP/1.1 19:00:39.688928 Are-we-friendly question received 19:00:39.688986 Wrote request (93 bytes) input to log/22/server.input 19:00:39.689006 Identifying ourselves as friends 19:00:39.689062 Response sent (56 bytes) and written to log/22/server.response 19:00:39.689074 special request received, no persistency 19:00:39.689085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 55488 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind342 ==94855== ==94855== Process terminating with default action of signal 4 (SIGILL) ==94855== Illegal opcode at address 0x4013E00 ==94855== at 0x4013E00: getparameter (tool_getparam.c:2846) ==94855== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==94855== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==94855== by 0x40037A4: main (tool_main.c:199) === End of file valgrind342 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/19/valgrind344 ../src/curl -q --output log/19/curl344.out --include --trace-ascii log/19/trace344 --trace-time http://127.0.0.1:41761/344 --etag-compare log/19/etag344 --etag-save log/19/etag344 > log/19/stdout344 2> log/19/stderr344 344: 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 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/19/valgrind344 ../src/curl -q --output log/19/curl344.out --include --trace-ascii log/19/trace344 --trace-time http://127.0.0.1:41761/344 --etag-compare log/19/etag344 --etag-save log/19/etag344 > log/19/stdout344 2> log/19/stderr344 === End of file commands.log === Start of file http_server.log 19:00:39.756076 ====> Client connect 19:00:39.756111 accept_connection 3 returned 4 19:00:39.756128 accept_connection 3 returned 0 19:00:39.756144 Read 93 bytes 19:00:39.756154 Process 93 bytes request 19:00:39.756170 Got request: GET /verifiedserver HTTP/1.1 19:00:39.756180 Are-we-friendly question received 19:00:39.756203 Wrote request (93 bytes) input to log/19/server.input 19:00:39.756220 Identifying ourselves as friends 19:00:39.756270 Response sent (56 bytes) and written to log/19/server.response 19:00:39.756281 special request received, no persistency 19:00:39.756291 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 52752 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind344 ==95089== ==95089== Process terminating with default action of signal 4 (SIGILL) ==95089== Illegal opcode at address 0x4013E00 ==95089== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95089== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95089== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95089== by 0x40037A4: main (tool_main.c:199) === End of file valgrind344 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/24/valgrind340 ../src/curl -q --output log/24/curl340.out --include --trace-ascii log/24/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:41217/%00first/second/third/340 > log/24/stdout340 2> log/24/stderr340 340: 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 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/24/valgrind340 ../src/curl -q --output log/24/curl340.out --include --trace-ascii log/24/trace340 --trace-time --ftp-method singlecwd ftp://127.0.0.1:41217/%00first/second/third/340 > log/24/stdout340 2> log/24/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/23/valgrind346 ../src/curl -q --output log/23/curl346.out --include --trace-ascii log/23/trace346 --trace-time -x http://127.0.0.1:35243/346 -U puser: -u suser: http://remote.example/346 > log/23/stdout346 2> log/23/stderr346 End of file commands.log === Start of file ftp_server.log 19:00:39.898819 ====> Client connect 19:00:39.898971 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:39.899255 < "USER anonymous" 19:00:39.899290 > "331 We are happy you popped in![CR][LF]" 19:00:39.899472 < "PASS ftp@example.com" 19:00:39.899499 > "230 Welcome you silly person[CR][LF]" 19:00:39.899669 < "PWD" 19:00:39.899707 > "257 "/" is current directory[CR][LF]" 19:00:39.899887 < "EPSV" 19:00:39.899914 ====> Passive DATA channel requested by client 19:00:39.899930 DATA sockfilt for passive data channel starting... 19:00:39.902584 DATA sockfilt for passive data channel started (pid 94744) 19:00:39.902721 DATA sockfilt for passive data channel listens on port 39179 19:00:39.902770 > "229 Entering Passive Mode (|||39179|)[CR][LF]" 19:00:39.902789 Client has been notified that DATA conn will be accepted on port 39179 19:00:39.903046 Client connects to port 39179 19:00:39.903076 ====> Client established passive DATA connection on port 39179 19:00:39.903156 < "TYPE I" 19:00:39.903185 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:39.903359 < "SIZE verifiedserver" 19:00:39.903400 > "213 17[CR][LF]" 19:00:39.903567 < "RETR verifiedserver" 19:00:39.903600 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:39.903694 =====> Closing passive DATA connection... 19:00:39.903712 Server disconnects passive DATA connection 19:00:39.904014 Server disconnected passive DATA connection 19:00:39.904042 DATA sockfilt for passive data channel quits (pid 94744) 19:00:39.904279 DATA sockfilt for passive data channel quit (pid 94744) 19:00:39.904306 =====> Closed passive DATA connection 19:00:39.904335 > "226 File transfer complete[CR][LF]" 19:00:39.946583 < "QUIT" 19:00:39.946640 > "221 bye bye baby[CR][LF]" 19:00:39.947851 MAIN sockfilt said DISC 19:00:39.947892 ====> Client disconnected 19:00:39.948031 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:39.670771 ====> Client connect 19:00:39.671046 Received DATA (on stdin) 19:00:39.671063 > 160 bytes data, server => client 19:00:39.671078 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:39.671091 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:39.671104 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:39.671177 < 16 bytes data, client => server 19:00:39.671192 'USER anonymous\r\n' 19:00:39.671357 Received DATA (on stdin) 19:00:39.671371 > 33 bytes data, server => client 19:00:39.671384 '331 We are happy you popped in!\r\n' 19:00:39.671438 < 22 bytes data, client => server 19:00:39.671452 'PASS ftp@example.com\r\n' 19:00:39.671561 Received DATA (on stdin) 19:00:39.671575 > 30 bytes data, server => client 19:00:39.671588 '230 Welcome you silly person\r\n' 19:00:39.671643 < 5 bytes data, client => server 19:00:39.671656 'PWD\r\n' 19:00:39.671770 Received DATA (on stdin) 19:00:39.671784 > 30 bytes data, server => client 19:00:39.671797 '257 "/" is current directory\r\n' 19:00:39.671860 < 6 bytes data, client => server 19:00:39.671874 'EPSV\r\n' 19:00:39.674858 Received DATA (on stdin) 19:00:39.674875 > 39 bytes data, server => client 19:00:39.674888 '229 Entering Passive Mode (|||39179|)\r\n' 19:00:39.675025 < 8 bytes data, client => server 19:00:39.675041 'TYPE I\r\n' 19:00:39.675250 Received DATA (on stdin) 19:00:39.675264 > 33 bytes data, server => client 19:00:39.675276 '200 I modify TYPE as you wanted\r\n' 19:00:39.675329 < 21 bytes data, client => server 19:00:39.675343 'SIZE verifiedserver\r\n' 19:00:39.675463 Received DATA (on stdin) 19:00:39.675477 > 8 bytes data, server => client 19:00:39.675489 '213 17\r\n' 19:00:39.675540 < 21 bytes data, client => server 19:00:39.675553 'RETR verifiedserver\r\n' 19:00:39.675777 Received DATA (on stdin) 19:00:39.675791 > 29 bytes data, server => client 19:00:39.675802 '150 Binary junk (17 bytes).\r\n' 19:00:39.676398 Received DATA (on stdin) 19:00:39.676413 > 28 bytes data, server => client 19:00:39.676425 '226 File transfer complete\r\n' 19:00:39.718049 < 6 bytes data, client => server 19:00:39.718140 'QUIT\r\n' 19:00:39.719532 Received DATA (on stdin) 19:00:39.719565 > 18 bytes data, server => client 19:00:39.719578 '221 bye bye baby\r\n' 19:00:39.719854 ====> Client disconnect 19:00:39.720024 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:39.673717 Running IPv4 version 19:00:39.673788 Listening on port 39179 19:00:39.673828 Wrote pid 94744 to log/24/server/ftp_sockdata.pid 19:00:39.673853 Received PING (on stdin) 19:00:39.674683 Received PORT (on stdin) 19:00:39.675061 ====> Client connect 19:00:39.675832 Received DATA (on stdin) 19:00:39.675847 > 17 bytes data, server => client 19:00:39.675859 'WE ROOLZ: 81247\r\n' 19:00:39.675940 Received DISC (on stdin) 19:00:39.675953 ====> Client forcibly disconnected 19:00:39.676110 Received QUIT (on stdin) 19:00:39.676123 quits 19:00:39.676176 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 340 === End of file server.cmd === Start of file valgrind340 ==95000== ==95000== Process terminating with default action of signal 4 (SIGILL) ==95000== Illegal opcode at address 0x4013E00 ==95000== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95000== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95000== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95000== by 0x40037A4: main (tool_main.c:199) === End of file valgrind340 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/23/valgrind346 ../src/curl -q --output log/23/curl346.out --include --trace-ascii log/23/trace346 --trace-time -x http://127.0.0.1:35243/346 -U puser: -u suser: http://remote.example/346 > log/23/stdout346 2> log/23/stderr346 346: 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 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/23/valgrind346 ../src/curl -q --output log/23/curl346.out --include --trace-ascii log/23/trace346 --trace-time -x http://127.0.0.1:35243/346 -U puser: -u suser: http://remote.example/346 > log/23/stdout346 2> log/23/stderr346 === End of file commands.log === Start of file http_server.log 19:00:39.891081 ====> Client connect 19:00:39.891115 accept_connection 3 returned 4 19:00:39.891143 accept_connection 3 returned 0 19:00:39.891159 Read 93 bytes 19:00:39.891170 Process 93 bytes request 19:00:39.891182 Got request: GET /verifiedserver HTTP/1.1 19:00:39.891192 Are-we-friendly question received 19:00:39.891219 Wrote request (93 bytes) input to log/23/server.input 19:00:39.891237 Identifying ourselves as friends 19:00:39.891297 Response sent (56 bytes) and written to log/23/server.response 19:00:39.891309 special request received, no persistency 19:00:39.891319 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 45452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === End of file http_verify.out === Start of file server.cmd Testnum 346 === End of file server.cmd === Start ofCMD (33792): ../libtool --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/valgrind345 ../src/curl -q --output log/3/curl345.out --include --trace-ascii log/3/trace345 --trace-time http://127.0.0.1:46261/345 --etag-compare log/3/etag345 --etag-save log/3/etag345 > log/3/stdout345 2> log/3/stderr345 CMD (33792): ../libtool --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/valgrind347 ../src/curl -q --output log/14/curl347.out --include --trace-ascii log/14/trace347 --trace-time http://127.0.0.1:36759/347 --etag-save log/14/etag347 > log/14/stdout347 2> log/14/stderr347 CMD (33792): ../libtool --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/valgrind349 ../src/curl -q --output log/4/curl349.out --include --trace-ascii log/4/trace349 --trace-time http://127.0.0.1:37985/349 --fail-with-body > log/4/stdout349 2> log/4/stderr349 file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74418 === End of file server.response === Start of file valgrind346 ==95225== ==95225== Process terminating with default action of signal 4 (SIGILL) ==95225== Illegal opcode at address 0x4013E00 ==95225== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95225== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95225== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95225== by 0x40037A4: main (tool_main.c:199) === End of file valgrind346 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/3/valgrind345 ../src/curl -q --output log/3/curl345.out --include --trace-ascii log/3/trace345 --trace-time http://127.0.0.1:46261/345 --etag-compare log/3/etag345 --etag-save log/3/etag345 > log/3/stdout345 2> log/3/stderr345 345: 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 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/3/valgrind345 ../src/curl -q --output log/3/curl345.out --include --trace-ascii log/3/trace345 --trace-time http://127.0.0.1:46261/345 --etag-compare log/3/etag345 --etag-save log/3/etag345 > log/3/stdout345 2> log/3/stderr345 === End of file commands.log === Start of file etag345 "21025-dc7-39462498" === End of file etag345 === Start of file http_server.log 19:00:40.888256 ====> Client connect 19:00:40.888309 accept_connection 3 returned 4 19:00:40.888330 accept_connection 3 returned 0 19:00:40.888348 Read 93 bytes 19:00:40.888359 Process 93 bytes request 19:00:40.888374 Got request: GET /verifiedserver HTTP/1.1 19:00:40.888385 Are-we-friendly question received 19:00:40.888413 Wrote request (93 bytes) input to log/3/server.input 19:00:40.888432 Identifying ourselves as friends 19:00:40.888499 Response sent (56 bytes) and written to log/3/server.response 19:00:40.888511 special request received, no persistency 19:00:40.888521 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 58192 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind345 ==95227== ==95227== Process terminating with default action of signal 4 (SIGILL) ==95227== Illegal opcode at address 0x4013E00 ==95227== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95227== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95227== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95227== by 0x40037A4: main (tool_main.c:199) === End of file valgrind345 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/14/valgrind347 ../src/curl -q --output log/14/curl347.out --include --trace-ascii log/14/trace347 --trace-time http://127.0.0.1:36759/347 --etag-save log/14/etag347 > log/14/stdout347 2> log/14/stderr347 347: 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 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/14/valgrind347 ../src/curl -q --output log/14/curl347.out --include --trace-ascii log/14/trace347 --trace-time http://127.0.0.1:36759/347 --etag-save log/14/etag347 > log/14/stdout347 2> log/14/stderr347 === End of file commands.log === Start of file http_server.log 19:00:39.902257 ====> Client connect 19:00:39.902293 accept_connection 3 returned 4 19:00:39.902311 accept_connection 3 returned 0 19:00:39.902326 Read 93 bytes 19:00:39.902337 Process 93 bytes request 19:00:39.902352 Got request: GET /verifiedserver HTTP/1.1 19:00:39.902361 Are-we-friendly question received 19:00:39.902391 Wrote request (93 bytes) input to log/14/server.input 19:00:39.902409 Identifying ourselves as friends 19:00:39.902468 Response sent (56 bytes) and written to log/14/server.response 19:00:39.904363 special request received, no persistency 19:00:39.904397 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 46498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind347 ==95397== ==95397== Process terminating with default action of signal 4 (SIGILL) ==95397== Illegal opcode at address 0x4013E00 ==95397== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95397== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95397== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95397== by 0x40037A4: main (tool_main.c:199) === End of file valgrind347 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/4/valgrind349 ../src/curl -q --output log/4/curl349.out --include --trace-ascii log/4/trace349 --trace-time http://127.0.0.1:37985/349 --fail-with-body > log/4/stdout349 2> log/4/stderr349 349: 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 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/4/valgrind349 ../src/curl -q --output log/4/curl349.out --include --trace-ascii log/4/trace349 --trace-time http://127.0.0.1:37985/349 --fail-with-body > log/4/stdout349 2> log/4/stderr349 === End of file commands.log === Start of file http_server.log 19:00:40.943582 ====> Client connect 19:00:40.943617 accept_connection 3 returned 4 19:00:40.943634 accept_connection 3 returned 0 19:00:40.943650 Read 93 bytes 19:00:40.943660 Process 93 bytes request 19:00:40.943676 Got request: GET /verifiedserver HTTP/1.1 19:00:40.943686 Are-we-friendly question received 19:00:40.943712 Wrote request (93 bytes) input to log/4/server.input 19:00:40.943730 Identifying ourselves as friends 19:00:40.943786 Response sent (56 bytes) and written to log/4/server.response 19:00:40.943799 special request received, no persistency 19:00:40.943809 ====> Client 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/11/valgrind348 ../src/curl -q --output log/11/curl348.out --include --trace-ascii log/11/trace348 --trace-time ftp://127.0.0.1:35787/348 -T log/11/test348.txt > log/11/stdout348 2> log/11/stderr348 CMD (33792): ../libtool --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/valgrind350 ../src/curl -q --output log/21/curl350.out --include --trace-ascii log/21/trace350 --trace-time ftp://127.0.0.1:35487// --ftp-method multicwd > log/21/stdout350 2> log/21/stderr350 isconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 53270 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind349 ==95358== ==95358== Process terminating with default action of signal 4 (SIGILL) ==95358== Illegal opcode at address 0x4013E00 ==95358== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95358== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95358== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95358== by 0x40037A4: main (tool_main.c:199) === End of file valgrind349 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/11/valgrind348 ../src/curl -q --output log/11/curl348.out --include --trace-ascii log/11/trace348 --trace-time ftp://127.0.0.1:35787/348 -T log/11/test348.txt > log/11/stdout348 2> log/11/stderr348 348: 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 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/11/valgrind348 ../src/curl -q --output log/11/curl348.out --include --trace-ascii log/11/trace348 --trace-time ftp://127.0.0.1:35787/348 -T log/11/test348.txt > log/11/stdout348 2> log/11/stderr348 === End of file commands.log === Start of file ftp_server.log 19:00:40.158977 ====> Client connect 19:00:40.159141 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:40.159479 < "USER anonymous" 19:00:40.159525 > "331 We are happy you popped in![CR][LF]" 19:00:40.159730 < "PASS ftp@example.com" 19:00:40.159764 > "230 Welcome you silly person[CR][LF]" 19:00:40.159935 < "PWD" 19:00:40.159968 > "257 "/" is current directory[CR][LF]" 19:00:40.160138 < "EPSV" 19:00:40.160165 ====> Passive DATA channel requested by client 19:00:40.160180 DATA sockfilt for passive data channel starting... 19:00:40.162180 DATA sockfilt for passive data channel started (pid 95300) 19:00:40.162296 DATA sockfilt for passive data channel listens on port 45199 19:00:40.162338 > "229 Entering Passive Mode (|||45199|)[CR][LF]" 19:00:40.162356 Client has been notified that DATA conn will be accepted on port 45199 19:00:40.162596 Client connects to port 45199 19:00:40.162629 ====> Client established passive DATA connection on port 45199 19:00:40.162714 < "TYPE I" 19:00:40.162746 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:40.162919 < "SIZE verifiedserver" 19:00:40.162956 > "213 17[CR][LF]" 19:00:40.163109 < "RETR verifiedserver" 19:00:40.163142 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:40.163230 =====> Closing passive DATA connection... 19:00:40.163246 Server disconnects passive DATA connection 19:00:40.163485 Server disconnected passive DATA connection 19:00:40.163516 DATA sockfilt for passive data channel quits (pid 95300) 19:00:40.163771 DATA sockfilt for passive data channel quit (pid 95300) 19:00:40.163797 =====> Closed passive DATA connection 19:00:40.163827 > "226 File transfer complete[CR][LF]" 19:00:40.205898 < "QUIT" 19:00:40.205954 > "221 bye bye baby[CR][LF]" 19:00:40.206707 MAIN sockfilt said DISC 19:00:40.206755 ====> Client disconnected 19:00:40.206831 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:39.930926 ====> Client connect 19:00:39.931219 Received DATA (on stdin) 19:00:39.931237 > 160 bytes data, server => client 19:00:39.931253 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:39.931264 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:39.931274 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:39.931363 < 16 bytes data, client => server 19:00:39.931376 'USER anonymous\r\n' 19:00:39.931593 Received DATA (on stdin) 19:00:39.931609 > 33 bytes data, server => client 19:00:39.931623 '331 We are happy you popped in!\r\n' 19:00:39.931681 < 22 bytes data, client => server 19:00:39.931696 'PASS ftp@example.com\r\n' 19:00:39.931827 Received DATA (on stdin) 19:00:39.931840 > 30 bytes data, server => client 19:00:39.931852 '230 Welcome you silly person\r\n' 19:00:39.931904 < 5 bytes data, client => server 19:00:39.931916 'PWD\r\n' 19:00:39.932029 Received DATA (on stdin) 19:00:39.932041 > 30 bytes data, server => client 19:00:39.932052 '257 "/" is current directory\r\n' 19:00:39.932111 < 6 bytes data, client => server 19:00:39.932124 'EPSV\r\n' 19:00:39.934423 Received DATA (on stdin) 19:00:39.934437 > 39 bytes data, server => client 19:00:39.934450 '229 Entering Passive Mode (|||45199|)\r\n' 19:00:39.934569 < 8 bytes data, client => server 19:00:39.934586 'TYPE I\r\n' 19:00:39.934811 Received DATA (on stdin) 19:00:39.934826 > 33 bytes data, server => client 19:00:39.934838 '200 I modify TYPE as you wanted\r\n' 19:00:39.934891 < 21 bytes data, client => server 19:00:39.934903 'SIZE verifiedserver\r\n' 19:00:39.935017 Received DATA (on stdin) 19:00:39.935030 > 8 bytes data, server => client 19:00:39.935040 '213 17\r\n' 19:00:39.935087 < 21 bytes data, client => server 19:00:39.935100 'RETR verifiedserver\r\n' 19:00:39.935396 Received DATA (on stdin) 19:00:39.935409 > 29 bytes data, server => client 19:00:39.935421 '150 Binary junk (17 bytes).\r\n' 19:00:39.935892 Received DATA (on stdin) 19:00:39.935907 > 28 bytes data, server => client 19:00:39.935920 '226 File transfer complete\r\n' 19:00:39.977784 < 6 bytes data, client => server 19:00:39.977810 'QUIT\r\n' 19:00:39.978024 Received DATA (on stdin) 19:00:39.978039 > 18 bytes data, server => client 19:00:39.978052 '221 bye bye baby\r\n' 19:00:39.978695 ====> Client disconnect 19:00:39.978894 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:40.933911 Running IPv4 version 19:00:40.933967 Listening on port 45199 19:00:40.934020 Wrote pid 95300 to log/11/server/ftp_sockdata.pid 19:00:40.934182 Received PING (on stdin) 19:00:40.934269 Received PORT (on stdin) 19:00:40.934609 ====> Client connect 19:00:40.935309 Received DATA (on stdin) 19:00:40.935322 > 17 bytes data, server => client 19:00:40.935333 'WE ROOLZ: 80684\r\n' 19:00:40.935359 Received DISC (on stdin) 19:00:40.935371 ====> Client forcibly disconnected 19:00:40.935589 Received QUIT (on stdin) 19:00:40.935603 quits 19:00:40.935666 ============> 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 ==95471== ==95471== Process terminating with default action of signal 4 (SIGILL) ==95471== Illegal opcode at address 0x4013E00 ==95471== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95471== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95471== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95471== by 0x40037A4: main (tool_main.c:199) === End of file valgrind348 test 0350...[FTP root dir list multicwd] ../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/5/valgrind351 ../src/curl -q --output log/5/curl351.out --include --trace-ascii log/5/trace351 --trace-time ftp://127.0.0.1:41821// --ftp-method nocwd > log/5/stdout351 2> log/5/stderr351 --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/valgrind350 ../src/curl -q --output log/21/curl350.out --include --trace-ascii log/21/trace350 --trace-time ftp://127.0.0.1:35487// --ftp-method multicwd > log/21/stdout350 2> log/21/stderr350 350: 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 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/21/valgrind350 ../src/curl -q --output log/21/curl350.out --include --trace-ascii log/21/trace350 --trace-time ftp://127.0.0.1:35487// --ftp-method multicwd > log/21/stdout350 2> log/21/stderr350 === End of file commands.log === Start of file ftp_server.log 19:00:40.195423 ====> Client connect 19:00:40.195597 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:40.195900 < "USER anonymous" 19:00:40.195942 > "331 We are happy you popped in![CR][LF]" 19:00:40.196120 < "PASS ftp@example.com" 19:00:40.196153 > "230 Welcome you silly person[CR][LF]" 19:00:40.196327 < "PWD" 19:00:40.196363 > "257 "/" is current directory[CR][LF]" 19:00:40.196536 < "EPSV" 19:00:40.196561 ====> Passive DATA channel requested by client 19:00:40.196576 DATA sockfilt for passive data channel starting... 19:00:40.198640 DATA sockfilt for passive data channel started (pid 95411) 19:00:40.198851 DATA sockfilt for passive data channel listens on port 44119 19:00:40.198902 > "229 Entering Passive Mode (|||44119|)[CR][LF]" 19:00:40.198923 Client has been notified that DATA conn will be accepted on port 44119 19:00:40.199249 Client connects to port 44119 19:00:40.199302 ====> Client established passive DATA connection on port 44119 19:00:40.199451 < "TYPE I" 19:00:40.199493 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:40.199668 < "SIZE verifiedserver" 19:00:40.199704 > "213 17[CR][LF]" 19:00:40.199851 < "RETR verifiedserver" 19:00:40.199887 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:40.199987 =====> Closing passive DATA connection... 19:00:40.200005 Server disconnects passive DATA connection 19:00:40.200284 Server disconnected passive DATA connection 19:00:40.200311 DATA sockfilt for passive data channel quits (pid 95411) 19:00:40.200582 DATA sockfilt for passive data channel quit (pid 95411) 19:00:40.200609 =====> Closed passive DATA connection 19:00:40.200639 > "226 File transfer complete[CR][LF]" 19:00:40.247577 < "QUIT" 19:00:40.247627 > "221 bye bye baby[CR][LF]" 19:00:40.248588 MAIN sockfilt said DISC 19:00:40.248627 ====> Client disconnected 19:00:40.248697 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:39.967341 ====> Client connect 19:00:39.967675 Received DATA (on stdin) 19:00:39.967695 > 160 bytes data, server => client 19:00:39.967708 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:39.967720 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:39.967731 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:39.967813 < 16 bytes data, client => server 19:00:39.967827 'USER anonymous\r\n' 19:00:39.968008 Received DATA (on stdin) 19:00:39.968022 > 33 bytes data, server => client 19:00:39.968034 '331 We are happy you popped in!\r\n' 19:00:39.968087 < 22 bytes data, client => server 19:00:39.968099 'PASS ftp@example.com\r\n' 19:00:39.968214 Received DATA (on stdin) 19:00:39.968227 > 30 bytes data, server => client 19:00:39.968239 '230 Welcome you silly person\r\n' 19:00:39.968291 < 5 bytes data, client => server 19:00:39.968303 'PWD\r\n' 19:00:39.968425 Received DATA (on stdin) 19:00:39.968439 > 30 bytes data, server => client 19:00:39.968451 '257 "/" is current directory\r\n' 19:00:39.968511 < 6 bytes data, client => server 19:00:39.968524 'EPSV\r\n' 19:00:39.971024 Received DATA (on stdin) 19:00:39.971051 > 39 bytes data, server => client 19:00:39.971065 '229 Entering Passive Mode (|||44119|)\r\n' 19:00:39.971246 < 8 bytes data, client => server 19:00:39.971259 'TYPE I\r\n' 19:00:39.971557 Received DATA (on stdin) 19:00:39.971571 > 33 bytes data, server => client 19:00:39.971583 '200 I modify TYPE as you wanted\r\n' 19:00:39.971640 < 21 bytes data, client => server 19:00:39.971654 'SIZE verifiedserver\r\n' 19:00:39.971764 Received DATA (on stdin) 19:00:39.971775 > 8 bytes data, server => client 19:00:39.971786 '213 17\r\n' 19:00:39.971832 < 21 bytes data, client => server 19:00:39.971843 'RETR verifiedserver\r\n' 19:00:39.972072 Received DATA (on stdin) 19:00:39.972086 > 29 bytes data, server => client 19:00:39.972098 '150 Binary junk (17 bytes).\r\n' 19:00:39.972702 Received DATA (on stdin) 19:00:39.972717 > 28 bytes data, server => client 19:00:39.972729 '226 File transfer complete\r\n' 19:00:40.019473 < 6 bytes data, client => server 19:00:40.019498 'QUIT\r\n' 19:00:40.019712 Received DATA (on stdin) 19:00:40.019726 > 18 bytes data, server => client 19:00:40.019737 '221 bye bye baby\r\n' 19:00:40.020591 ====> Client disconnect 19:00:40.020757 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:40.970379 Running IPv4 version 19:00:40.970444 Listening on port 44119 19:00:40.970481 Wrote pid 95411 to log/21/server/ftp_sockdata.pid 19:00:40.970644 Received PING (on stdin) 19:00:40.970725 Received PORT (on stdin) 19:00:40.971209 ====> Client connect 19:00:40.972168 Received DATA (on stdin) 19:00:40.972183 > 17 bytes data, server => client 19:00:40.972197 'WE ROOLZ: 81255\r\n' 19:00:40.972226 Received DISC (on stdin) 19:00:40.972239 ====> Client forcibly disconnected 19:00:40.972382 Received QUIT (on stdin) 19:00:40.972395 quits 19:00:40.972454 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 350 === End of file server.cmd === Start of file valgrind350 ==95549== ==95549== Process terminating with default action of signal 4 (SIGILL) ==95549== Illegal opcode at address 0x4013E00 ==95549== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95549== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95549== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95549== by 0x40037A4: 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/5/valgrind351 ../src/curl -q --output log/5/curl351.out --include --trace-ascii log/5/trace351 --trace-time ftp://127.0.0.1:41821// --ftp-method nocwd > log/5/stdout351 2> log/5/stderr351 351: 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 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/5/valgrind351 ../src/curl -q --output log/5/curl351.out --include --trace-ascii log/5/trace351 --trace-time ftp://127.0.0.1:41821// --ftp-method nocwd > log/5/stdout351 2> log/5/stderr351 === End of file commands.log === Start of file ftp_server.log 19:00:40.197231 ====> Client connect 19:00:40.197374 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:40.197647 < "USER anonymous" 19:00:40.197688 > "331 We are happy you popped in![CR][LF]" 19:00:40.197867 < "PASS ftp@example.com" 19:00:40.197894 > "230 Welcome you silly 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/6/valgrind352 ../src/curl -q --output log/6/curl352.out --include --trace-ascii log/6/trace352 --trace-time ftp://127.0.0.1:36475// --ftp-method singlecwd > log/6/stdout352 2> log/6/stderr352 erson[CR][LF]" 19:00:40.198046 < "PWD" 19:00:40.198076 > "257 "/" is current directory[CR][LF]" 19:00:40.198235 < "EPSV" 19:00:40.198259 ====> Passive DATA channel requested by client 19:00:40.198273 DATA sockfilt for passive data channel starting... 19:00:40.200528 DATA sockfilt for passive data channel started (pid 95420) 19:00:40.200654 DATA sockfilt for passive data channel listens on port 46661 19:00:40.200703 > "229 Entering Passive Mode (|||46661|)[CR][LF]" 19:00:40.200722 Client has been notified that DATA conn will be accepted on port 46661 19:00:40.200919 Client connects to port 46661 19:00:40.200949 ====> Client established passive DATA connection on port 46661 19:00:40.201055 < "TYPE I" 19:00:40.201096 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:40.201362 < "SIZE verifiedserver" 19:00:40.201428 > "213 17[CR][LF]" 19:00:40.201622 < "RETR verifiedserver" 19:00:40.201664 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:40.201753 =====> Closing passive DATA connection... 19:00:40.201771 Server disconnects passive DATA connection 19:00:40.201970 Server disconnected passive DATA connection 19:00:40.202016 DATA sockfilt for passive data channel quits (pid 95420) 19:00:40.202335 DATA sockfilt for passive data channel quit (pid 95420) 19:00:40.202368 =====> Closed passive DATA connection 19:00:40.202399 > "226 File transfer complete[CR][LF]" 19:00:40.242401 < "QUIT" 19:00:40.242461 > "221 bye bye baby[CR][LF]" 19:00:40.242979 MAIN sockfilt said DISC 19:00:40.243041 ====> Client disconnected 19:00:40.243125 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:39.969198 ====> Client connect 19:00:39.969447 Received DATA (on stdin) 19:00:39.969463 > 160 bytes data, server => client 19:00:39.969476 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:39.969488 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:39.969500 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:39.969572 < 16 bytes data, client => server 19:00:39.969586 'USER anonymous\r\n' 19:00:39.969754 Received DATA (on stdin) 19:00:39.969768 > 33 bytes data, server => client 19:00:39.969780 '331 We are happy you popped in!\r\n' 19:00:39.969832 < 22 bytes data, client => server 19:00:39.969845 'PASS ftp@example.com\r\n' 19:00:39.969954 Received DATA (on stdin) 19:00:39.969966 > 30 bytes data, server => client 19:00:39.969978 '230 Welcome you silly person\r\n' 19:00:39.970024 < 5 bytes data, client => server 19:00:39.970035 'PWD\r\n' 19:00:39.970137 Received DATA (on stdin) 19:00:39.970148 > 30 bytes data, server => client 19:00:39.970160 '257 "/" is current directory\r\n' 19:00:39.970215 < 6 bytes data, client => server 19:00:39.970226 'EPSV\r\n' 19:00:39.972775 Received DATA (on stdin) 19:00:39.972791 > 39 bytes data, server => client 19:00:39.972803 '229 Entering Passive Mode (|||46661|)\r\n' 19:00:39.972953 < 8 bytes data, client => server 19:00:39.972965 'TYPE I\r\n' 19:00:39.973169 Received DATA (on stdin) 19:00:39.973192 > 33 bytes data, server => client 19:00:39.973205 '200 I modify TYPE as you wanted\r\n' 19:00:39.973299 < 21 bytes data, client => server 19:00:39.973316 'SIZE verifiedserver\r\n' 19:00:39.973493 Received DATA (on stdin) 19:00:39.973508 > 8 bytes data, server => client 19:00:39.973520 '213 17\r\n' 19:00:39.973579 < 21 bytes data, client => server 19:00:39.973592 'RETR verifiedserver\r\n' 19:00:39.973842 Received DATA (on stdin) 19:00:39.973858 > 29 bytes data, server => client 19:00:39.973870 '150 Binary junk (17 bytes).\r\n' 19:00:39.974468 Received DATA (on stdin) 19:00:39.974484 > 28 bytes data, server => client 19:00:39.974497 '226 File transfer complete\r\n' 19:00:40.014253 < 6 bytes data, client => server 19:00:40.014289 'QUIT\r\n' 19:00:40.014530 Received DATA (on stdin) 19:00:40.014545 > 18 bytes data, server => client 19:00:40.014557 '221 bye bye baby\r\n' 19:00:40.014957 ====> Client disconnect 19:00:40.015195 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:40.972205 Running IPv4 version 19:00:40.972271 Listening on port 46661 19:00:40.972315 Wrote pid 95420 to log/5/server/ftp_sockdata.pid 19:00:40.972526 Received PING (on stdin) 19:00:40.972621 Received PORT (on stdin) 19:00:40.972917 ====> Client connect 19:00:40.973906 Received DATA (on stdin) 19:00:40.973925 > 17 bytes data, server => client 19:00:40.973938 'WE ROOLZ: 80429\r\n' 19:00:40.973974 Received DISC (on stdin) 19:00:40.973988 ====> Client forcibly disconnected 19:00:40.974117 Received QUIT (on stdin) 19:00:40.974132 quits 19:00:40.974202 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 351 === End of file server.cmd === Start of file valgrind351 ==95539== ==95539== Process terminating with default action of signal 4 (SIGILL) ==95539== Illegal opcode at address 0x4013E00 ==95539== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95539== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95539== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95539== by 0x40037A4: main (tool_main.c:199) === End of file valgrind351 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/6/valgrind352 ../src/curl -q --output log/6/curl352.out --include --trace-ascii log/6/trace352 --trace-time ftp://127.0.0.1:36475// --ftp-method singlecwd > log/6/stdout352 2> log/6/stderr352 352: 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 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/6/valgrind352 ../src/curl -q --output log/6/curl352.out --include --trace-ascii log/6/trace352 --trace-time ftp://127.0.0.1:36475// --ftp-method singlecwd > log/6/stdout352 2> log/6/stderr352 === End of file commands.log === Start of file ftp_server.log 19:00:40.213275 ====> Client connect 19:00:40.213468 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:40.213827 < "USER anonymous" 19:00:40.213888 > "331 We are happy you popped in![CR][LF]" 19:00:40.214098 < "PASS ftp@example.com" 19:00:40.214127 > "230 Welcome you silly person[CR][LF]" 19:00:40.214287 < "PWD" 19:00:40.214323 > "257 "/" is current directory[CR][LF]" 19:00:40.214486 < "EPSV" 19:00:40.214512 ====> Passive DATA channel requested by client 19:00:40.214526 DATA sockfilt for passive data channel starting... 19:00:40.216657 DATA sockfilt for passive data channel started (pid 95465) 19:00:40.216800 DATA sockfilt for passive data channel listens on port 35711 19:00:40.216850 > "229 Entering Passive Mode (|||35711|)[CR][LF]" 19:00:40.216871 Client has been notified that DATA conn will be accepted on port 35711 19:00:40.217181 Client connects to port 35711 19:00:40.217211 ====> Client established passive DATA connection on port 35711 19:00:40.217302 < "TYPE I" 19:00:40.217338 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:40.217499 < "SIZE verifiedserver" 19:00:40.217534 > "213 17[CR][LF]" 19:00:40.217687 < "RETR verifiedserver" 19:00:40.217718 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:40.217805 =====> Closing passive DATA connection... 19:00:40.217821 Server disconnects passive DATA connection 19:00:40.218065 Server disconnected passive DATA connection 19:00:40.218094 DATA sockfilt for passive data channel quits (pid 95465) 19:00:40.218332 DATA sockfilt for passive data channel quit (pid 95465) 19:00:40.218356 =====> Closed passive DATA connection 19:00:40.218385 > "226 File transfer complete[CR][LF]" 19:00:40.263591 < "QUIT" 19:00:40.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/17/valgrind332 ../src/curl -q --output log/17/curl332.out --include --trace-ascii log/17/trace332 --trace-time tftp://127.0.0.1:46415//332 --tftp-blksize 400 > log/17/stdout332 2> log/17/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/valgrind355 ../src/curl -q --output log/8/curl355.out --include --trace-ascii log/8/trace355 --trace-time http://127.0.0.1:43853/355 --alt-svc "" > log/8/stdout355 2> log/8/stderr355 63650 > "221 bye bye baby[CR][LF]" 19:00:40.264477 MAIN sockfilt said DISC 19:00:40.264523 ====> Client disconnected 19:00:40.264603 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:40.985177 ====> Client connect 19:00:40.985552 Received DATA (on stdin) 19:00:40.985571 > 160 bytes data, server => client 19:00:40.985586 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:40.985598 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:40.985610 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:40.985702 < 16 bytes data, client => server 19:00:40.985716 'USER anonymous\r\n' 19:00:40.985961 Received DATA (on stdin) 19:00:40.985977 > 33 bytes data, server => client 19:00:40.985990 '331 We are happy you popped in!\r\n' 19:00:40.986051 < 22 bytes data, client => server 19:00:40.986064 'PASS ftp@example.com\r\n' 19:00:40.986190 Received DATA (on stdin) 19:00:40.986203 > 30 bytes data, server => client 19:00:40.986215 '230 Welcome you silly person\r\n' 19:00:40.986263 < 5 bytes data, client => server 19:00:40.986275 'PWD\r\n' 19:00:40.986384 Received DATA (on stdin) 19:00:40.986397 > 30 bytes data, server => client 19:00:40.986409 '257 "/" is current directory\r\n' 19:00:40.986466 < 6 bytes data, client => server 19:00:40.986478 'EPSV\r\n' 19:00:40.988946 Received DATA (on stdin) 19:00:40.988965 > 39 bytes data, server => client 19:00:40.988978 '229 Entering Passive Mode (|||35711|)\r\n' 19:00:40.989158 < 8 bytes data, client => server 19:00:40.989174 'TYPE I\r\n' 19:00:40.989401 Received DATA (on stdin) 19:00:40.989415 > 33 bytes data, server => client 19:00:40.989427 '200 I modify TYPE as you wanted\r\n' 19:00:40.989477 < 21 bytes data, client => server 19:00:40.989489 'SIZE verifiedserver\r\n' 19:00:40.989595 Received DATA (on stdin) 19:00:40.989608 > 8 bytes data, server => client 19:00:40.989619 '213 17\r\n' 19:00:40.989666 < 21 bytes data, client => server 19:00:40.989678 'RETR verifiedserver\r\n' 19:00:40.989885 Received DATA (on stdin) 19:00:40.989898 > 29 bytes data, server => client 19:00:40.989909 '150 Binary junk (17 bytes).\r\n' 19:00:40.990447 Received DATA (on stdin) 19:00:40.990461 > 28 bytes data, server => client 19:00:40.990474 '226 File transfer complete\r\n' 19:00:41.035459 < 6 bytes data, client => server 19:00:41.035491 'QUIT\r\n' 19:00:41.035719 Received DATA (on stdin) 19:00:41.035733 > 18 bytes data, server => client 19:00:41.035746 '221 bye bye baby\r\n' 19:00:41.036477 ====> Client disconnect 19:00:41.036671 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:40.988306 Running IPv4 version 19:00:40.988391 Listening on port 35711 19:00:40.988428 Wrote pid 95465 to log/6/server/ftp_sockdata.pid 19:00:40.988648 Received PING (on stdin) 19:00:40.988760 Received PORT (on stdin) 19:00:40.989195 ====> Client connect 19:00:40.989935 Received DATA (on stdin) 19:00:40.989949 > 17 bytes data, server => client 19:00:40.989961 'WE ROOLZ: 80654\r\n' 19:00:40.989984 Received DISC (on stdin) 19:00:40.989996 ====> Client forcibly disconnected 19:00:40.990161 Received QUIT (on stdin) 19:00:40.990174 quits 19:00:40.990229 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 352 === End of file server.cmd === Start of file valgrind352 ==95587== ==95587== Process terminating with default action of signal 4 (SIGILL) ==95587== Illegal opcode at address 0x4013E00 ==95587== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95587== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95587== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95587== by 0x40037A4: main (tool_main.c:199) === End of file valgrind352 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/17/server/tftp_server.pid" --portfile "log/17/server/tftp_server.port" --logfile "log/17/tftp_server.log" --logdir "log/17" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 94306 port 46415 * pid tftp => 94306 94306 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/17/valgrind332 ../src/curl -q --output log/17/curl332.out --include --trace-ascii log/17/trace332 --trace-time tftp://127.0.0.1:46415//332 --tftp-blksize 400 > log/17/stdout332 2> log/17/stderr332 332: 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 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/17/valgrind332 ../src/curl -q --output log/17/curl332.out --include --trace-ascii log/17/trace332 --trace-time tftp://127.0.0.1:46415//332 --tftp-blksize 400 > log/17/stdout332 2> log/17/stderr332 === End of file commands.log === Start of file server.cmd Testnum 332 === End of file server.cmd === Start of file tftp_server.log 19:00:39.168521 Wrote pid 94306 to log/17/server/tftp_server.pid 19:00:39.168586 Wrote port 46415 to log/17/server/tftp_server.port 19:00:39.168601 Running IPv4 version on port UDP/46415 === End of file tftp_server.log === Start of file valgrind332 ==95717== ==95717== Process terminating with default action of signal 4 (SIGILL) ==95717== Illegal opcode at address 0x4013E00 ==95717== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95717== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95717== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95717== by 0x40037A4: main (tool_main.c:199) === End of file valgrind332 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/8/valgrind355 ../src/curl -q --output log/8/curl355.out --include --trace-ascii log/8/trace355 --trace-time http://127.0.0.1:43853/355 --alt-svc "" > log/8/stdout355 2> log/8/stderr355 355: 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 355 === Start of file altsvc-355 h1 example.com 80 h1 127.0.0.1 43853 "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/8/valgrind355 ../src/curl -q --output log/8/curl355.out --include --trace-ascii log/8/trace355 --trace-time http://127.0.0.1:43853/355 --alt-svc "" > log/8/stdout355 2> log/8/stderr355 === End of file commands.log === Start of file http_server.log 19:00:40.209642 ====> Client connect 19:00:40.209676 accept_connection 3 returned 4 19:00:40.209693 accept_connection 3 returned 0 19:00:40.209835 Read 93 bytes 19:00:40.209849 Process 93 bytes request 19:00:40.209862 Got request: GET /verifiedserver HTTP/1.1 19:00:40.209872 Are-we-friendly question received 19:00:40.209898 Wrote request (93 bytes) input to log/8/server.input 19:00:40.209916 Identifying ourselves as friends 19:00:40.209966 Response sent (56 bytes) and written to log/8/server.response 19:00:40.209977 special request received, no persistency 19:00:40.209986 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 48734 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * 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/1/valgrind353 ../src/curl -q --output log/1/curl353.out --include --trace-ascii log/1/trace353 --trace-time ftp://127.0.0.1:41393/ --ftp-method singlecwd > log/1/stdout353 2> log/1/stderr353 CMD (33792): ../libtool --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:41525/354 > log/9/stdout354 2> log/9/stderr354 #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind355 ==95810== ==95810== Process terminating with default action of signal 4 (SIGILL) ==95810== Illegal opcode at address 0x4013E00 ==95810== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95810== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95810== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95810== by 0x40037A4: main (tool_main.c:199) === End of file valgrind355 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/1/valgrind353 ../src/curl -q --output log/1/curl353.out --include --trace-ascii log/1/trace353 --trace-time ftp://127.0.0.1:41393/ --ftp-method singlecwd > log/1/stdout353 2> log/1/stderr353 353: 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 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/1/valgrind353 ../src/curl -q --output log/1/curl353.out --include --trace-ascii log/1/trace353 --trace-time ftp://127.0.0.1:41393/ --ftp-method singlecwd > log/1/stdout353 2> log/1/stderr353 === End of file commands.log === Start of file ftp_server.log 19:00:40.407280 ====> Client connect 19:00:40.407469 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:40.407782 < "USER anonymous" 19:00:40.407820 > "331 We are happy you popped in![CR][LF]" 19:00:40.407997 < "PASS ftp@example.com" 19:00:40.408022 > "230 Welcome you silly person[CR][LF]" 19:00:40.408181 < "PWD" 19:00:40.408213 > "257 "/" is current directory[CR][LF]" 19:00:40.408377 < "EPSV" 19:00:40.408401 ====> Passive DATA channel requested by client 19:00:40.408415 DATA sockfilt for passive data channel starting... 19:00:40.410136 DATA sockfilt for passive data channel started (pid 95751) 19:00:40.410234 DATA sockfilt for passive data channel listens on port 43079 19:00:40.410273 > "229 Entering Passive Mode (|||43079|)[CR][LF]" 19:00:40.410292 Client has been notified that DATA conn will be accepted on port 43079 19:00:40.410502 Client connects to port 43079 19:00:40.410531 ====> Client established passive DATA connection on port 43079 19:00:40.410601 < "TYPE I" 19:00:40.410625 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:40.410771 < "SIZE verifiedserver" 19:00:40.410805 > "213 17[CR][LF]" 19:00:40.410943 < "RETR verifiedserver" 19:00:40.410972 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:40.411043 =====> Closing passive DATA connection... 19:00:40.411057 Server disconnects passive DATA connection 19:00:40.411269 Server disconnected passive DATA connection 19:00:40.411294 DATA sockfilt for passive data channel quits (pid 95751) 19:00:40.411486 DATA sockfilt for passive data channel quit (pid 95751) 19:00:40.411509 =====> Closed passive DATA connection 19:00:40.411534 > "226 File transfer complete[CR][LF]" 19:00:40.453338 < "QUIT" 19:00:40.453395 > "221 bye bye baby[CR][LF]" 19:00:40.454994 MAIN sockfilt said DISC 19:00:40.455032 ====> Client disconnected 19:00:40.455113 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:41.179237 ====> Client connect 19:00:41.179547 Received DATA (on stdin) 19:00:41.179564 > 160 bytes data, server => client 19:00:41.179578 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:41.179590 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:41.179601 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:41.179682 < 16 bytes data, client => server 19:00:41.179697 'USER anonymous\r\n' 19:00:41.179885 Received DATA (on stdin) 19:00:41.179899 > 33 bytes data, server => client 19:00:41.179911 '331 We are happy you popped in!\r\n' 19:00:41.179965 < 22 bytes data, client => server 19:00:41.179978 'PASS ftp@example.com\r\n' 19:00:41.180085 Received DATA (on stdin) 19:00:41.180097 > 30 bytes data, server => client 19:00:41.180109 '230 Welcome you silly person\r\n' 19:00:41.180158 < 5 bytes data, client => server 19:00:41.180169 'PWD\r\n' 19:00:41.180274 Received DATA (on stdin) 19:00:41.180286 > 30 bytes data, server => client 19:00:41.180298 '257 "/" is current directory\r\n' 19:00:41.180355 < 6 bytes data, client => server 19:00:41.180366 'EPSV\r\n' 19:00:41.182356 Received DATA (on stdin) 19:00:41.182369 > 39 bytes data, server => client 19:00:41.182381 '229 Entering Passive Mode (|||43079|)\r\n' 19:00:41.182486 < 8 bytes data, client => server 19:00:41.182501 'TYPE I\r\n' 19:00:41.182685 Received DATA (on stdin) 19:00:41.182697 > 33 bytes data, server => client 19:00:41.182708 '200 I modify TYPE as you wanted\r\n' 19:00:41.182754 < 21 bytes data, client => server 19:00:41.182765 'SIZE verifiedserver\r\n' 19:00:41.182865 Received DATA (on stdin) 19:00:41.182876 > 8 bytes data, server => client 19:00:41.182886 '213 17\r\n' 19:00:41.182929 < 21 bytes data, client => server 19:00:41.182939 'RETR verifiedserver\r\n' 19:00:41.183118 Received DATA (on stdin) 19:00:41.183129 > 29 bytes data, server => client 19:00:41.183140 '150 Binary junk (17 bytes).\r\n' 19:00:41.183597 Received DATA (on stdin) 19:00:41.183611 > 28 bytes data, server => client 19:00:41.183623 '226 File transfer complete\r\n' 19:00:41.225175 < 6 bytes data, client => server 19:00:41.225208 'QUIT\r\n' 19:00:41.225813 Received DATA (on stdin) 19:00:41.225832 > 18 bytes data, server => client 19:00:41.225843 '221 bye bye baby\r\n' 19:00:41.226695 ====> Client disconnect 19:00:41.227176 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:40.181909 Running IPv4 version 19:00:40.181960 Listening on port 43079 19:00:40.181996 Wrote pid 95751 to log/1/server/ftp_sockdata.pid 19:00:40.182139 Received PING (on stdin) 19:00:40.182217 Received PORT (on stdin) 19:00:40.182520 ====> Client connect 19:00:40.183163 Received DATA (on stdin) 19:00:40.183175 > 17 bytes data, server => client 19:00:40.183186 'WE ROOLZ: 80887\r\n' 19:00:40.183206 Received DISC (on stdin) 19:00:40.183217 ====> Client forcibly disconnected 19:00:40.183362 Received QUIT (on stdin) 19:00:40.183375 quits 19:00:40.183430 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 353 === End of file server.cmd === Start of file valgrind353 ==95828== ==95828== Process terminating with default action of signal 4 (SIGILL) ==95828== Illegal opcode at address 0x4013E00 ==95828== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95828== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95828== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95828== by 0x40037A4: main (tool_main.c:199) === End of file valgrind353 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:41525/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 --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/20/valgrind361 ../src/curl -q --output log/20/curl361.out --include --trace-ascii log/20/trace361 --trace-time http://127.0.0.1:38583/361 http://127.0.0.1:38583/361 --fail-with-body > log/20/stdout361 2> log/20/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/2/valgrind360 ../src/curl -q --output log/2/curl360.out --include --trace-ascii log/2/trace360 --trace-time http://127.0.0.1:44325/360 --fail-with-body --fail --no-progress-meter > log/2/stdout360 2> log/2/stderr360 ol=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:41525/354 > log/9/stdout354 2> log/9/stderr354 === End of file commands.log === Start of file ftp_server.log 19:00:40.420760 ====> Client connect 19:00:40.420904 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:40.421198 < "USER anonymous" 19:00:40.421234 > "331 We are happy you popped in![CR][LF]" 19:00:40.421409 < "PASS ftp@example.com" 19:00:40.421435 > "230 Welcome you silly person[CR][LF]" 19:00:40.421587 < "PWD" 19:00:40.421616 > "257 "/" is current directory[CR][LF]" 19:00:40.421770 < "EPSV" 19:00:40.421792 ====> Passive DATA channel requested by client 19:00:40.421806 DATA sockfilt for passive data channel starting... 19:00:40.423510 DATA sockfilt for passive data channel started (pid 95773) 19:00:40.423618 DATA sockfilt for passive data channel listens on port 45869 19:00:40.423657 > "229 Entering Passive Mode (|||45869|)[CR][LF]" 19:00:40.423676 Client has been notified that DATA conn will be accepted on port 45869 19:00:40.423894 Client connects to port 45869 19:00:40.423923 ====> Client established passive DATA connection on port 45869 19:00:40.423996 < "TYPE I" 19:00:40.424024 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:40.424176 < "SIZE verifiedserver" 19:00:40.424211 > "213 17[CR][LF]" 19:00:40.424354 < "RETR verifiedserver" 19:00:40.424385 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:40.424463 =====> Closing passive DATA connection... 19:00:40.424478 Server disconnects passive DATA connection 19:00:40.424711 Server disconnected passive DATA connection 19:00:40.424736 DATA sockfilt for passive data channel quits (pid 95773) 19:00:40.424938 DATA sockfilt for passive data channel quit (pid 95773) 19:00:40.424960 =====> Closed passive DATA connection 19:00:40.424985 > "226 File transfer complete[CR][LF]" 19:00:40.466603 < "QUIT" 19:00:40.466655 > "221 bye bye baby[CR][LF]" 19:00:40.467516 MAIN sockfilt said DISC 19:00:40.467558 ====> Client disconnected 19:00:40.467625 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:40.192711 ====> Client connect 19:00:40.192978 Received DATA (on stdin) 19:00:40.192994 > 160 bytes data, server => client 19:00:40.193008 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:40.193019 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:40.193031 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:40.193120 < 16 bytes data, client => server 19:00:40.193133 'USER anonymous\r\n' 19:00:40.193299 Received DATA (on stdin) 19:00:40.193313 > 33 bytes data, server => client 19:00:40.193325 '331 We are happy you popped in!\r\n' 19:00:40.193377 < 22 bytes data, client => server 19:00:40.193389 'PASS ftp@example.com\r\n' 19:00:40.193496 Received DATA (on stdin) 19:00:40.193508 > 30 bytes data, server => client 19:00:40.193520 '230 Welcome you silly person\r\n' 19:00:40.193567 < 5 bytes data, client => server 19:00:40.193579 'PWD\r\n' 19:00:40.193675 Received DATA (on stdin) 19:00:40.193687 > 30 bytes data, server => client 19:00:40.193700 '257 "/" is current directory\r\n' 19:00:40.193753 < 6 bytes data, client => server 19:00:40.193764 'EPSV\r\n' 19:00:40.195742 Received DATA (on stdin) 19:00:40.195757 > 39 bytes data, server => client 19:00:40.195769 '229 Entering Passive Mode (|||45869|)\r\n' 19:00:40.195876 < 8 bytes data, client => server 19:00:40.195890 'TYPE I\r\n' 19:00:40.196084 Received DATA (on stdin) 19:00:40.196097 > 33 bytes data, server => client 19:00:40.196109 '200 I modify TYPE as you wanted\r\n' 19:00:40.196157 < 21 bytes data, client => server 19:00:40.196169 'SIZE verifiedserver\r\n' 19:00:40.196271 Received DATA (on stdin) 19:00:40.196283 > 8 bytes data, server => client 19:00:40.196294 '213 17\r\n' 19:00:40.196338 < 21 bytes data, client => server 19:00:40.196349 'RETR verifiedserver\r\n' 19:00:40.196540 Received DATA (on stdin) 19:00:40.196552 > 29 bytes data, server => client 19:00:40.196564 '150 Binary junk (17 bytes).\r\n' 19:00:40.197048 Received DATA (on stdin) 19:00:40.197061 > 28 bytes data, server => client 19:00:40.197074 '226 File transfer complete\r\n' 19:00:40.238497 < 6 bytes data, client => server 19:00:40.238523 'QUIT\r\n' 19:00:40.238721 Received DATA (on stdin) 19:00:40.238735 > 18 bytes data, server => client 19:00:40.238747 '221 bye bye baby\r\n' 19:00:40.239518 ====> Client disconnect 19:00:40.241415 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:40.195277 Running IPv4 version 19:00:40.195328 Listening on port 45869 19:00:40.195363 Wrote pid 95773 to log/9/server/ftp_sockdata.pid 19:00:40.195515 Received PING (on stdin) 19:00:40.195594 Received PORT (on stdin) 19:00:40.195911 ====> Client connect 19:00:40.196588 Received DATA (on stdin) 19:00:40.196602 > 17 bytes data, server => client 19:00:40.196613 'WE ROOLZ: 80682\r\n' 19:00:40.196637 Received DISC (on stdin) 19:00:40.196649 ====> Client forcibly disconnected 19:00:40.196805 Received QUIT (on stdin) 19:00:40.196817 quits 19:00:40.196873 ============> 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 ==95852== ==95852== Process terminating with default action of signal 4 (SIGILL) ==95852== Illegal opcode at address 0x4013E00 ==95852== at 0x4013E00: getparameter (tool_getparam.c:2846) ==95852== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==95852== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==95852== by 0x40037A4: main (tool_main.c:199) === End of file valgrind354 CMD (33792): ../libtool --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/valgrind357 ../src/curl -q --output log/13/curl357.out --include --trace-ascii log/13/trace357 --trace-time http://127.0.0.1:35301/we/want/357 -T log/13/test357.txt --expect100-timeout 99 > log/13/stdout357 2> log/13/stderr357 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/2/valgrind360 ../src/curl -q --output log/2/curl360.out --include --trace-ascii log/2/trace360 --trace-time http://127.0.0.1:44325/360 --fail-with-body --fail --no-progress-meter > log/2/stdout360 2> log/2/stderr360 360: stderr FAILED: --- log/2/check-expected 2025-11-13 19:00:41.812724375 +0000 +++ log/2/check-generated 2025-11-13 19:00:41.812724375 +0000 @@ -1 +0,0 @@ -Warning: --fail deselects --fail-with-body here[CR][LF] == Contents of files in the log/2/ dir after test 360 === Start of file check-expected Warning: --fail deselects --fail-with-body here[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/valgrind360 ../src/curl -q --output log/2/curl360.out --include --trace-ascii log/2/trace360 --trace-time http://127.0.0.1:44325/360 --fail-with-body --fail --no-progress-meter > log/2/stdout360 2> log/2/stderr360 === End of file commands.log === Start of file http_server.log 19:00:41.480108 ====> Client connect 19:00:41.480141 accept_connection 3 returned 4 19:00:41.480160 accept_connection 3 returned 0 19:00:41.480176 Read 93 bytes 19:00:41.480187 Process 93 bytes request 19:00:41.480201 Got request: GET /verifiedserver HTTP/1.1 19:00:41.480211 Are-we-friendly question received 19:00:41.480234 Wrote request (93 bytes) input to log/2/server.input 19:00:41.480250 Identifying ourselves as friends 19:00:41.480301 Response sent (56 bytes) and written to log/2/server.response 19:00:41.480312 special request received, no persistency 19:00:41.480321 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 46538 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind360 ==96038== ==96038== Process terminating with default action of signal 4 (SIGILL) ==96038== Illegal opcode at address 0x4013E00 ==96038== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96038== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96038== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96038== by 0x40037A4: main (tool_main.c:199) === End of file valgrind360 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/20/valgrind361 ../src/curl -q --output log/20/curl361.out --include --trace-ascii log/20/trace361 --trace-time http://127.0.0.1:38583/361 http://127.0.0.1:38583/361 --fail-with-body > log/20/stdout361 2> log/20/stderr361 361: 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 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/20/valgrind361 ../src/curl -q --output log/20/curl361.out --include --trace-ascii log/20/trace361 --trace-time http://127.0.0.1:38583/361 http://127.0.0.1:38583/361 --fail-with-body > log/20/stdout361 2> log/20/stderr361 === End of file commands.log === Start of file http_server.log 19:00:40.475760 ====> Client connect 19:00:40.475796 accept_connection 3 returned 4 19:00:40.475815 accept_connection 3 returned 0 19:00:40.475832 Read 93 bytes 19:00:40.475844 Process 93 bytes request 19:00:40.475860 Got request: GET /verifiedserver HTTP/1.1 19:00:40.475871 Are-we-friendly question received 19:00:40.475897 Wrote request (93 bytes) input to log/20/server.input 19:00:40.475915 Identifying ourselves as friends 19:00:40.475974 Response sent (56 bytes) and written to log/20/server.response 19:00:40.475987 special request received, no persistency 19:00:40.475998 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 57580 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind361 ==96039== ==96039== Process terminating with default action of signal 4 (SIGILL) ==96039== Illegal opcode at address 0x4013E00 ==96039== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96039== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96039== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96039== by 0x40037A4: main (tool_main.c:199) === End of file valgrind361 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/13/valgrind357 ../src/curl -q --output log/13/curl357.out --include --trace-ascii log/13/trace357 --trace-time http://127.0.0.1:35301/we/want/357 -T log/13/test357.txt --expect100-timeout 99 > log/13/stdout357 2> log/13/stderr357 357: 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 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/13/valgrind357 ../src/curl -q --output log/13/curl357.out --include --trace-ascii log/13/trace357 --trace-time http://127.0.0.1:35301/we/want/357 -T log/13/test357.txt --expect100-timeout 99 > log/13/stdout357 2> log/13/stderr357 === End of file commands.log === Start of file http_server.log 19:00:40.463099 ====> Client connect 19:00:40.463134 accept_connection 3 returned 4 19:00:40.463152 accept_connection 3 returned 0 19:00:40.463168 Read 93 bytes 19:00:40.463179 Process 93 bytes request 19:00:40.463195 Got request: GET /verifiedserver HTTP/1.1 19:00:40.463205 Are-we-friendly question received 19:00:40.463231 Wrote request (93 bytes) input to log/13/server.input 19:00:40.463249 Identifying ourselves as friends 19:00:40.463304 Response sent (56 bytes) and written to log/13/server.response 19:00:40.463315 special request received, no persistency 19:00:40.463325 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 43250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file test357.txt xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (33792): ../libtool --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/valgrind362 ../src/curl -q --output log/10/curl362.out --include --trace-ascii log/10/trace362 --trace-time ftp://127.0.0.1:42709/362 -T log/10/test362.txt --continue-at - > log/10/stdout362 2> log/10/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/7/valgrind365 ../src/curl -q --output log/7/curl365.out --include --trace-ascii log/7/trace365 --trace-time http://127.0.0.1:41017/365 > log/7/stdout365 2> log/7/stderr365 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file test357.txt === Start of file valgrind357 ==96036== ==96036== Process terminating with default action of signal 4 (SIGILL) ==96036== Illegal opcode at address 0x4013E00 ==96036== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96036== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96036== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96036== by 0x40037A4: main (tool_main.c:199) === End of file valgrind357 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/10/valgrind362 ../src/curl -q --output log/10/curl362.out --include --trace-ascii log/10/trace362 --trace-time ftp://127.0.0.1:42709/362 -T log/10/test362.txt --continue-at - > log/10/stdout362 2> log/10/stderr362 362: 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 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/10/valgrind362 ../src/curl -q --output log/10/curl362.out --include --trace-ascii log/10/trace362 --trace-time ftp://127.0.0.1:42709/362 -T log/10/test362.txt --continue-at - > log/10/stdout362 2> log/10/stderr362 === End of file commands.log === Start of file ftp_server.log 19:00:40.867506 ====> Client connect 19:00:40.867689 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:40.868013 < "USER anonymous" 19:00:40.868058 > "331 We are happy you popped in![CR][LF]" 19:00:40.868262 < "PASS ftp@example.com" 19:00:40.868296 > "230 Welcome you silly person[CR][LF]" 19:00:40.868477 < "PWD" 19:00:40.868514 > "257 "/" is current directory[CR][LF]" 19:00:40.868703 < "EPSV" 19:00:40.868738 ====> Passive DATA channel requested by client 19:00:40.868770 DATA sockfilt for passive data channel starting... 19:00:40.873724 DATA sockfilt for passive data channel started (pid 96208) 19:00:40.873852 DATA sockfilt for passive data channel listens on port 40319 19:00:40.873901 > "229 Entering Passive Mode (|||40319|)[CR][LF]" 19:00:40.873922 Client has been notified that DATA conn will be accepted on port 4031CMD (33792): ../libtool --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/valgrind366 ../src/curl -q --output log/15/curl366.out --include --trace-ascii log/15/trace366 --trace-time http://127.0.0.1:44531/366 --retry 2 --retry-max-time 10 > log/15/stdout366 2> log/15/stderr366 9 19:00:40.874221 Client connects to port 40319 19:00:40.874250 ====> Client established passive DATA connection on port 40319 19:00:40.874338 < "TYPE I" 19:00:40.874370 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:40.874532 < "SIZE verifiedserver" 19:00:40.874568 > "213 17[CR][LF]" 19:00:40.874733 < "RETR verifiedserver" 19:00:40.874769 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:40.874852 =====> Closing passive DATA connection... 19:00:40.874868 Server disconnects passive DATA connection 19:00:40.875112 Server disconnected passive DATA connection 19:00:40.875137 DATA sockfilt for passive data channel quits (pid 96208) 19:00:40.875353 DATA sockfilt for passive data channel quit (pid 96208) 19:00:40.875375 =====> Closed passive DATA connection 19:00:40.875411 > "226 File transfer complete[CR][LF]" 19:00:40.920894 < "QUIT" 19:00:40.920948 > "221 bye bye baby[CR][LF]" 19:00:40.921925 MAIN sockfilt said DISC 19:00:40.921967 ====> Client disconnected 19:00:40.922034 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:41.639435 ====> Client connect 19:00:41.639771 Received DATA (on stdin) 19:00:41.639792 > 160 bytes data, server => client 19:00:41.639807 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:41.639819 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:41.639831 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:41.639915 < 16 bytes data, client => server 19:00:41.639933 'USER anonymous\r\n' 19:00:41.640127 Received DATA (on stdin) 19:00:41.640143 > 33 bytes data, server => client 19:00:41.640156 '331 We are happy you popped in!\r\n' 19:00:41.640214 < 22 bytes data, client => server 19:00:41.640230 'PASS ftp@example.com\r\n' 19:00:41.640361 Received DATA (on stdin) 19:00:41.640376 > 30 bytes data, server => client 19:00:41.640389 '230 Welcome you silly person\r\n' 19:00:41.640443 < 5 bytes data, client => server 19:00:41.640458 'PWD\r\n' 19:00:41.640579 Received DATA (on stdin) 19:00:41.640593 > 30 bytes data, server => client 19:00:41.640606 '257 "/" is current directory\r\n' 19:00:41.640670 < 6 bytes data, client => server 19:00:41.640685 'EPSV\r\n' 19:00:41.645992 Received DATA (on stdin) 19:00:41.646012 > 39 bytes data, server => client 19:00:41.646025 '229 Entering Passive Mode (|||40319|)\r\n' 19:00:41.646197 < 8 bytes data, client => server 19:00:41.646213 'TYPE I\r\n' 19:00:41.646432 Received DATA (on stdin) 19:00:41.646445 > 33 bytes data, server => client 19:00:41.646457 '200 I modify TYPE as you wanted\r\n' 19:00:41.646508 < 21 bytes data, client => server 19:00:41.646521 'SIZE verifiedserver\r\n' 19:00:41.646629 Received DATA (on stdin) 19:00:41.646642 > 8 bytes data, server => client 19:00:41.646653 '213 17\r\n' 19:00:41.646706 < 21 bytes data, client => server 19:00:41.646720 'RETR verifiedserver\r\n' 19:00:41.646933 Received DATA (on stdin) 19:00:41.646946 > 29 bytes data, server => client 19:00:41.646958 '150 Binary junk (17 bytes).\r\n' 19:00:41.647475 Received DATA (on stdin) 19:00:41.647489 > 28 bytes data, server => client 19:00:41.647502 '226 File transfer complete\r\n' 19:00:41.692788 < 6 bytes data, client => server 19:00:41.692815 'QUIT\r\n' 19:00:41.693014 Received DATA (on stdin) 19:00:41.693029 > 18 bytes data, server => client 19:00:41.693040 '221 bye bye baby\r\n' 19:00:41.693927 ====> Client disconnect 19:00:41.694105 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:40.645397 Running IPv4 version 19:00:40.645486 Listening on port 40319 19:00:40.645547 Wrote pid 96208 to log/10/server/ftp_sockdata.pid 19:00:40.645727 Received PING (on stdin) 19:00:40.645819 Received PORT (on stdin) 19:00:40.646235 ====> Client connect 19:00:40.646983 Received DATA (on stdin) 19:00:40.646997 > 17 bytes data, server => client 19:00:40.647009 'WE ROOLZ: 80847\r\n' 19:00:40.647033 Received DISC (on stdin) 19:00:40.647045 ====> Client forcibly disconnected 19:00:40.647208 Received QUIT (on stdin) 19:00:40.647220 quits 19:00:40.647277 ============> 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 ==96247== ==96247== Process terminating with default action of signal 4 (SIGILL) ==96247== Illegal opcode at address 0x4013E00 ==96247== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96247== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96247== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96247== by 0x40037A4: main (tool_main.c:199) === End of file valgrind362 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/7/valgrind365 ../src/curl -q --output log/7/curl365.out --include --trace-ascii log/7/trace365 --trace-time http://127.0.0.1:41017/365 > log/7/stdout365 2> log/7/stderr365 365: 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 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/7/valgrind365 ../src/curl -q --output log/7/curl365.out --include --trace-ascii log/7/trace365 --trace-time http://127.0.0.1:41017/365 > log/7/stdout365 2> log/7/stderr365 === End of file commands.log === Start of file http_server.log 19:00:40.690938 ====> Client connect 19:00:40.690982 accept_connection 3 returned 4 19:00:40.691340 accept_connection 3 returned 0 19:00:40.691399 Read 93 bytes 19:00:40.692309 Process 93 bytes request 19:00:40.692326 Got request: GET /verifiedserver HTTP/1.1 19:00:40.692337 Are-we-friendly question received 19:00:40.692368 Wrote request (93 bytes) input to log/7/server.input 19:00:40.692387 Identifying ourselves as friends 19:00:40.692447 Response sent (56 bytes) and written to log/7/server.response 19:00:40.692458 special request received, no persistency 19:00:40.692469 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 34628 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind365 ==96246== ==96246== Process terminating with default action of signal 4 (SIGILL) ==96246== Illegal opcode at address 0x4013E00 ==96246== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96246== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96246== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96246== by 0x40037A4: 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/15/valgrind366 ../src/curl -q --output log/15/curl366.out --include --trace-ascii log/15/trace366 --trace-time http://127.0.0.1:44531/366 --retry 2 --retry-max-time 10 > log/15/stdout366 2> log/15/stderr366 366: protocol FAILED! There was no content at all in the file 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/12/valgrind367 ../src/curl -q --output log/12/curl367.out --include --trace-ascii log/12/trace367 --trace-time http://:example@127.0.0.1:46819/367 > log/12/stdout367 2> log/12/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/16/valgrind369 ../src/curl -q --output log/16/curl369.out --include --trace-ascii log/16/trace369 --trace-time http://127.0.0.1:42747/369 --etag-save log/16/nowhere/etag369 --next http://127.0.0.1:42747/369 --include --output log/16/curl369.out > log/16/stdout369 2> log/16/stderr369 15/server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/15/ 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/15/valgrind366 ../src/curl -q --output log/15/curl366.out --include --trace-ascii log/15/trace366 --trace-time http://127.0.0.1:44531/366 --retry 2 --retry-max-time 10 > log/15/stdout366 2> log/15/stderr366 === End of file commands.log === Start of file http_server.log 19:00:40.710114 ====> Client connect 19:00:40.710151 accept_connection 3 returned 4 19:00:40.710169 accept_connection 3 returned 0 19:00:40.710185 Read 93 bytes 19:00:40.710196 Process 93 bytes request 19:00:40.710212 Got request: GET /verifiedserver HTTP/1.1 19:00:40.710223 Are-we-friendly question received 19:00:40.710248 Wrote request (93 bytes) input to log/15/server.input 19:00:40.710266 Identifying ourselves as friends 19:00:40.710321 Response sent (56 bytes) and written to log/15/server.response 19:00:40.710332 special request received, no persistency 19:00:40.710342 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 40718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind366 ==96255== ==96255== Process terminating with default action of signal 4 (SIGILL) ==96255== Illegal opcode at address 0x4013E00 ==96255== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96255== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96255== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96255== by 0x40037A4: 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/12/valgrind367 ../src/curl -q --output log/12/curl367.out --include --trace-ascii log/12/trace367 --trace-time http://:example@127.0.0.1:46819/367 > log/12/stdout367 2> log/12/stderr367 367: 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 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/12/valgrind367 ../src/curl -q --output log/12/curl367.out --include --trace-ascii log/12/trace367 --trace-time http://:example@127.0.0.1:46819/367 > log/12/stdout367 2> log/12/stderr367 === End of file commands.log === Start of file http_server.log 19:00:40.748378 ====> Client connect 19:00:40.748416 accept_connection 3 returned 4 19:00:40.748435 accept_connection 3 returned 0 19:00:40.748452 Read 93 bytes 19:00:40.748464 Process 93 bytes request 19:00:40.748479 Got request: GET /verifiedserver HTTP/1.1 19:00:40.748489 Are-we-friendly question received 19:00:40.748519 Wrote request (93 bytes) input to log/12/server.input 19:00:40.748537 Identifying ourselves as friends 19:00:40.748599 Response sent (56 bytes) and written to log/12/server.response 19:00:40.748612 special request received, no persistency 19:00:40.748623 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 48158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind367 ==96399== ==96399== Process terminating with default action of signal 4 (SIGILL) ==96399== Illegal opcode at address 0x4013E00 ==96399== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96399== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96399== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96399== by 0x40037A4: main (tool_main.c:199) === End of file valgrind367 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/16/valgrind369 ../src/curl -q --output log/16/curl369.out --include --trace-ascii log/16/trace369 --trace-time http://127.0.0.1:42747/369 --etag-save log/16/nowhere/etag369 --next http://127.0.0.1:42747/369 --include --output log/16/curl369.out > log/16/stdout369 2> log/16/stderr369 369: 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 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/16/valgrind369 ../src/curl -q --output log/16/curl369.out --include --trace-ascii log/16/trace369 --trace-time http://127.0.0.1:42747/369 --etag-save log/16/nowhere/etag369 --next http://127.0.0.1:42747/369 --include --output log/16/curl369.out > log/16/stdout369 2> log/16/stderr369 === End of file commands.log === Start of file http_server.log 19:00:41.765290 ====> Client connect 19:00:41.765329 accept_connection 3 returned 4 19:00:41.765349 accept_connection 3 returned 0 19:00:41.765366 Read 93 bytes 19:00:41.765378 Process 93 bytes request 19:00:41.765393 Got request: GET /verifiedserver HTTP/1.1 19:00:41.765404 Are-we-friendly question received 19:00:41.765435 Wrote request (93 bytes) input to log/16/server.input 19:00:41.765455 Identifying ourselves as friends 19:00:41.765519 Response sent (56 bytes) and written to log/16/server.response 19:00:41.765532 special request received, no persistency 19:00:41.765543 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 59448 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind369 ==96451== ==96451== Process terminating with default action of signal 4 (SIGILL) ==96451== Illegal opcode at address 0x4013E00 ==96451== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96451== by 0x40037A4: 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/18/valgrind368 ../src/curl -q --output log/18/curl368.out --include --trace-ascii log/18/trace368 --trace-time http://127.0.0.1:39771/368 -r 4 > log/18/stdout368 2> log/18/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/22/valgrind370 ../src/curl -q --output log/22/curl370.out --include --trace-ascii log/22/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/22/nowhere/etag370 > log/22/stdout370 2> log/22/stderr370 CMD (33792): ../libtool --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/valgrind372 ../src/curl -q --output log/24/curl372.out --include --trace-ascii log/24/trace372 --trace-time --raw http://127.0.0.1:39383/binary-zero-in-data-section/372 > log/24/stdout372 2> log/24/stderr372 CMD (33792): ../libtool --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/valgrind371 ../src/curl -q --output log/19/curl371.out --include --trace-ascii log/19/trace371 --trace-time http://127.0.0.1:41761/371 -o log/19/dump -o log/19/dump2 --no-progress-meter > log/19/stdout371 2> log/19/stderr371 n (tool_getparam.c:3029) ==96451== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96451== by 0x40037A4: 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/18/valgrind368 ../src/curl -q --output log/18/curl368.out --include --trace-ascii log/18/trace368 --trace-time http://127.0.0.1:39771/368 -r 4 > log/18/stdout368 2> log/18/stderr368 368: 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 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/18/valgrind368 ../src/curl -q --output log/18/curl368.out --include --trace-ascii log/18/trace368 --trace-time http://127.0.0.1:39771/368 -r 4 > log/18/stdout368 2> log/18/stderr368 === End of file commands.log === Start of file http_server.log 19:00:40.752294 ====> Client connect 19:00:40.752330 accept_connection 3 returned 4 19:00:40.752348 accept_connection 3 returned 0 19:00:40.752364 Read 93 bytes 19:00:40.752375 Process 93 bytes request 19:00:40.752390 Got request: GET /verifiedserver HTTP/1.1 19:00:40.752401 Are-we-friendly question received 19:00:40.752428 Wrote request (93 bytes) input to log/18/server.input 19:00:40.752446 Identifying ourselves as friends 19:00:40.752551 Response sent (56 bytes) and written to log/18/server.response 19:00:40.752564 special request received, no persistency 19:00:40.752577 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 54214 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind368 ==96410== ==96410== Process terminating with default action of signal 4 (SIGILL) ==96410== Illegal opcode at address 0x4013E00 ==96410== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96410== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96410== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96410== by 0x40037A4: main (tool_main.c:199) === End of file valgrind368 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/22/valgrind370 ../src/curl -q --output log/22/curl370.out --include --trace-ascii log/22/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/22/nowhere/etag370 > log/22/stdout370 2> log/22/stderr370 curl returned 132, when expecting 26 370: exit FAILED == Contents of files in the log/22/ 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/22/valgrind370 ../src/curl -q --output log/22/curl370.out --include --trace-ascii log/22/trace370 --trace-time http://127.0.0.1:47/370 --etag-save log/22/nowhere/etag370 > log/22/stdout370 2> log/22/stderr370 === End of file commands.log === Start of file server.cmd Testnum 370 === End of file server.cmd === Start of file valgrind370 ==96562== ==96562== Process terminating with default action of signal 4 (SIGILL) ==96562== Illegal opcode at address 0x4013E00 ==96562== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96562== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96562== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96562== by 0x40037A4: main (tool_main.c:199) === End of file valgrind370 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/24/valgrind372 ../src/curl -q --output log/24/curl372.out --include --trace-ascii log/24/trace372 --trace-time --raw http://127.0.0.1:39383/binary-zero-in-data-section/372 > log/24/stdout372 2> log/24/stderr372 372: 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 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/24/valgrind372 ../src/curl -q --output log/24/curl372.out --include --trace-ascii log/24/trace372 --trace-time --raw http://127.0.0.1:39383/binary-zero-in-data-section/372 > log/24/stdout372 2> log/24/stderr372 === End of file commands.log === Start of file http_server.log 19:00:40.860065 ====> Client connect 19:00:40.860101 accept_connection 3 returned 4 19:00:40.860119 accept_connection 3 returned 0 19:00:40.860134 Read 93 bytes 19:00:40.860146 Process 93 bytes request 19:00:40.860158 Got request: GET /verifiedserver HTTP/1.1 19:00:40.860169 Are-we-friendly question received 19:00:40.860195 Wrote request (93 bytes) input to log/24/server.input 19:00:40.860213 Identifying ourselves as friends 19:00:40.860268 Response sent (56 bytes) and written to log/24/server.response 19:00:40.860280 special request received, no persistency 19:00:40.860290 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 45788 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind372 ==96653== ==96653== Process terminating with default action of signal 4 (SIGILL) ==96653== Illegal opcode at address 0x4013E00 ==96653== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96653== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96653== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96653== by 0x40037A4: main (tool_main.c:199) === End of file valgrind372 CMD (33792): ../libtool --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/valgrind373 ../src/curl -q --output log/23/curl373.out --include --trace-ascii log/23/trace373 --trace-time http://127.0.0.1:35243/chunked-transfer-encoding/373 > log/23/stdout373 2> log/23/stderr373 CMD (33792): ../libtool --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/valgrind374 ../src/curl -q --output log/3/curl374.out --include --trace-ascii log/3/trace374 --trace-time http://127.0.0.1:46261/gif/374 > log/3/stdout374 2> log/3/stderr374 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/19/valgrind371 ../src/curl -q --output log/19/curl371.out --include --trace-ascii log/19/trace371 --trace-time http://127.0.0.1:41761/371 -o log/19/dump -o log/19/dump2 --no-progress-meter > log/19/stdout371 2> log/19/stderr371 371: stderr FAILED: --- log/19/check-expected 2025-11-13 19:00:42.182724379 +0000 +++ log/19/check-generated 2025-11-13 19:00:42.182724379 +0000 @@ -1 +0,0 @@ -Warning: Got more output options than URLs[CR][LF] == Contents of files in the log/19/ 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/19/valgrind371 ../src/curl -q --output log/19/curl371.out --include --trace-ascii log/19/trace371 --trace-time http://127.0.0.1:41761/371 -o log/19/dump -o log/19/dump2 --no-progress-meter > log/19/stdout371 2> log/19/stderr371 === End of file commands.log === Start of file http_server.log 19:00:40.856378 ====> Client connect 19:00:40.856414 accept_connection 3 returned 4 19:00:40.856433 accept_connection 3 returned 0 19:00:40.856574 Read 93 bytes 19:00:40.856599 Process 93 bytes request 19:00:40.856616 Got request: GET /verifiedserver HTTP/1.1 19:00:40.856627 Are-we-friendly question received 19:00:40.856667 Wrote request (93 bytes) input to log/19/server.input 19:00:40.856689 Identifying ourselves as friends 19:00:40.856777 Response sent (56 bytes) and written to log/19/server.response 19:00:40.856790 special request received, no persistency 19:00:40.856801 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 52756 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind371 ==96659== ==96659== Process terminating with default action of signal 4 (SIGILL) ==96659== Illegal opcode at address 0x4013E00 ==96659== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96659== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96659== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96659== by 0x40037A4: main (tool_main.c:199) === End of file valgrind371 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/23/valgrind373 ../src/curl -q --output log/23/curl373.out --include --trace-ascii log/23/trace373 --trace-time http://127.0.0.1:35243/chunked-transfer-encoding/373 > log/23/stdout373 2> log/23/stderr373 373: 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 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/23/valgrind373 ../src/curl -q --output log/23/curl373.out --include --trace-ascii log/23/trace373 --trace-time http://127.0.0.1:35243/chunked-transfer-encoding/373 > log/23/stdout373 2> log/23/stderr373 === End of file commands.log === Start of file http_server.log 19:00:40.951884 ====> Client connect 19:00:40.951920 accept_connection 3 returned 4 19:00:40.951939 accept_connection 3 returned 0 19:00:40.951957 Read 93 bytes 19:00:40.951969 Process 93 bytes request 19:00:40.951983 Got request: GET /verifiedserver HTTP/1.1 19:00:40.951994 Are-we-friendly question received 19:00:40.952022 Wrote request (93 bytes) input to log/23/server.input 19:00:40.952041 Identifying ourselves as friends 19:00:40.952191 Response sent (56 bytes) and written to log/23/server.response 19:00:40.952209 special request received, no persistency 19:00:40.952220 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 45458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind373 ==96802== ==96802== Process terminating with default action of signal 4 (SIGILL) ==96802== Illegal opcode at address 0x4013E00 ==96802== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96802== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96802== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96802== by 0x40037A4: main (tool_main.c:199) === End of file valgrind373 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/3/valgrind374 ../src/curl -q --output log/3/curl374.out --include --trace-ascii log/3/trace374 --trace-time http://127.0.0.1:46261/gif/374 > log/3/stdout374 2> log/3/stderr374 374: 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 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/3/valgrind374 ../src/curl -q --output log/3/curl374.out --include --trace-ascii log/3/trace374 --trace-time http://127.0.0.1:46261/gif/374 > log/3/stdout374 2> log/3/stderr374 === End of file commands.log === Start of file http_server.log 19:00:41.956545 ====> Client connect 19:00:41.956579 accept_connection 3 returned 4 19:00:41.956597 accept_connection 3 returned 0 19:00:41.956613 Read 93 bytes 19:00:41.956624 Process 93 bytes request 19:00:41.956637 Got request: GET /verifiedserver HTTP/1.1 19:00:41.956648 Are-we-friendly question received 19:00:41.956675 Wrote request (93 bytes) input to log/3/server.input 19:00:41.956693 Identifying ourselves as friends 19:00:41.956747 Response sent (56 bytes) and written to log/3/server.response 19:00:41.956758 special request received, no persistency 19:00:41.956769 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 58196 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.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/valgrind378 ../src/curl -q --output log/4/curl378.out --include --trace-ascii log/4/trace378 --trace-time -T log/4/378 -d input http://never-accessed > log/4/stdout378 2> log/4/stderr378 7.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind374 ==96806== ==96806== Process terminating with default action of signal 4 (SIGILL) ==96806== Illegal opcode at address 0x4013E00 ==96806== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96806== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96806== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96806== by 0x40037A4: main (tool_main.c:199) === End of file valgrind374 CMD (33792): ../libtool --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/valgrind376 ../src/curl -q --include --trace-ascii log/14/trace376 --trace-time http://127.0.0.1:36759/376 -o log/14/save-376 --remove-on-error > log/14/stdout376 2> log/14/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/11/valgrind379 ../src/curl -q --include --trace-ascii log/11/trace379 --trace-time http://127.0.0.1:46317/379 -o log/11/save --remove-on-error --no-clobber > log/11/stdout379 2> log/11/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/6/valgrind383 ../src/curl -q --output log/6/curl383.out --include --trace-ascii log/6/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:41595/383 > log/6/stdout383 2> log/6/stderr383 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/4/valgrind378 ../src/curl -q --output log/4/curl378.out --include --trace-ascii log/4/trace378 --trace-time -T log/4/378 -d input http://never-accessed > log/4/stdout378 2> log/4/stderr378 378: stderr FAILED: --- log/4/check-expected 2025-11-13 19:00:42.306057713 +0000 +++ log/4/check-generated 2025-11-13 19:00:42.306057713 +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/4/ 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/4/valgrind378 ../src/curl -q --output log/4/curl378.out --include --trace-ascii log/4/trace378 --trace-time -T log/4/378 -d input http://never-accessed > log/4/stdout378 2> log/4/stderr378 === End of file commands.log === Start of file server.cmd Testnum 378 === End of file server.cmd === Start of file valgrind378 ==96843== ==96843== Process terminating with default action of signal 4 (SIGILL) ==96843== Illegal opcode at address 0x4013E00 ==96843== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96843== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96843== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96843== by 0x40037A4: main (tool_main.c:199) === End of file valgrind378 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/14/valgrind376 ../src/curl -q --include --trace-ascii log/14/trace376 --trace-time http://127.0.0.1:36759/376 -o log/14/save-376 --remove-on-error > log/14/stdout376 2> log/14/stderr376 376: 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 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/14/valgrind376 ../src/curl -q --include --trace-ascii log/14/trace376 --trace-time http://127.0.0.1:36759/376 -o log/14/save-376 --remove-on-error > log/14/stdout376 2> log/14/stderr376 === End of file commands.log === Start of file http_server.log 19:00:41.005883 ====> Client connect 19:00:41.005917 accept_connection 3 returned 4 19:00:41.005935 accept_connection 3 returned 0 19:00:41.005952 Read 93 bytes 19:00:41.005963 Process 93 bytes request 19:00:41.005978 Got request: GET /verifiedserver HTTP/1.1 19:00:41.005989 Are-we-friendly question received 19:00:41.006015 Wrote request (93 bytes) input to log/14/server.input 19:00:41.006034 Identifying ourselves as friends 19:00:41.006080 Response sent (56 bytes) and written to log/14/server.response 19:00:41.006092 special request received, no persistency 19:00:41.006102 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 46506 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind376 ==96923== ==96923== Process terminating with default action of signal 4 (SIGILL) ==96923== Illegal opcode at address 0x4013E00 ==96923== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96923== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96923== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96923== by 0x40037A4: main (tool_main.c:199) === End of file valgrind376 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/11/valgrind379 ../src/curl -q --include --trace-ascii log/11/trace379 --trace-time http://127.0.0.1:46317/379 -o log/11/save --remove-on-error --no-clobber > log/11/stdout379 2> log/11/stderr379 379: 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 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/11/valgrind379 ../src/curl -q --include --trace-ascii log/11/trace379 --trace-time http://127.0.0.1:46317/379 -o log/11/save --remove-on-error --no-clobber > log/11/stdout379 2> log/11/stderr379 === End of file commands.log === Start of file http_server.log 19:00:41.010875 ====> Client connect 19:00:41.010924 accept_connection 3 returned 4 19:00:41.010942 accept_connection 3 returned 0 19:00:41.011067 Read 93 bytes 19:00:41.011081 Process 93 bytes request 19:00:41.011094 Got request: GET /verifiedserver HTTP/1.1 19:00:41.011105 Are-we-friendly question received 19:00:41.011132 Wrote request (93 bytes) input to log/11/server.input 19:00:41.011151 Identifying ourselves as friends 19:00:41.011204 Response sent (56 bytes) and written to log/11/server.response 19:00:41.011215 special request received, no persistency 19:00:41.011226 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 45210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind379 ==96954== ==96954== Process terminating with default action of signal 4 (SIGILL) ==96954== Illegal opcode at address 0x4013E00 ==96954== at 0x4013E00: getparameter (tool_getparam.c:2846) ==96954== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==96954== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==96954== by 0x40037A4: main (tool_main.c:199) === End of file valgrind379 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/6/valgrind383 ../src/curl -q --output log/6/curl383.out --include --trace-ascii log/6/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:41595/383 > log/6/stdout383 2> log/6/stderr383 383: protocol FAILED! There was no content at all in the file log/6/CMD (33792): ../libtool --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/valgrind381 ../src/curl -q --output log/5/curl381.out --include --trace-ascii log/5/trace381 --trace-time --netrc-optional --netrc-file log/5/netrc381 ftp://mary:drfrank@127.0.0.1:41821/ > log/5/stdout381 2> log/5/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/21/valgrind380 ../src/curl -q --output log/21/curl380.out --include --trace-ascii log/21/trace380 --trace-time --netrc --netrc-file log/21/netrc380 ftp://mary@127.0.0.1:35487/ > log/21/stdout380 2> log/21/stderr380 server.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/6/ 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/6/valgrind383 ../src/curl -q --output log/6/curl383.out --include --trace-ascii log/6/trace383 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:41595/383 > log/6/stdout383 2> log/6/stderr383 === End of file commands.log === Start of file http_server.log 19:00:41.143104 ====> Client connect 19:00:41.143241 accept_connection 3 returned 4 19:00:41.143261 accept_connection 3 returned 0 19:00:41.143278 Read 93 bytes 19:00:41.143290 Process 93 bytes request 19:00:41.143306 Got request: GET /verifiedserver HTTP/1.1 19:00:41.143317 Are-we-friendly question received 19:00:41.143347 Wrote request (93 bytes) input to log/6/server.input 19:00:41.143367 Identifying ourselves as friends 19:00:41.143431 Response sent (56 bytes) and written to log/6/server.response 19:00:41.143444 special request received, no persistency 19:00:41.143455 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 36062 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind383 ==97134== ==97134== Process terminating with default action of signal 4 (SIGILL) ==97134== Illegal opcode at address 0x4013E00 ==97134== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97134== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97134== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97134== by 0x40037A4: main (tool_main.c:199) === End of file valgrind383 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/5/valgrind381 ../src/curl -q --output log/5/curl381.out --include --trace-ascii log/5/trace381 --trace-time --netrc-optional --netrc-file log/5/netrc381 ftp://mary:drfrank@127.0.0.1:41821/ > log/5/stdout381 2> log/5/stderr381 381: 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 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/5/valgrind381 ../src/curl -q --output log/5/curl381.out --include --trace-ascii log/5/trace381 --trace-time --netrc-optional --netrc-file log/5/netrc381 ftp://mary:drfrank@127.0.0.1:41821/ > log/5/stdout381 2> log/5/stderr381 === End of file commands.log === Start of file ftp_server.log 19:00:41.335534 ====> Client connect 19:00:41.335702 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:41.336939 < "USER anonymous" 19:00:41.336993 > "331 We are happy you popped in![CR][LF]" 19:00:41.337232 < "PASS ftp@example.com" 19:00:41.337286 > "230 Welcome you silly person[CR][LF]" 19:00:41.337471 < "PWD" 19:00:41.337507 > "257 "/" is current directory[CR][LF]" 19:00:41.337674 < "EPSV" 19:00:41.337699 ====> Passive DATA channel requested by client 19:00:41.337713 DATA sockfilt for passive data channel starting... 19:00:41.340139 DATA sockfilt for passive data channel started (pid 97115) 19:00:41.340269 DATA sockfilt for passive data channel listens on port 37113 19:00:41.340310 > "229 Entering Passive Mode (|||37113|)[CR][LF]" 19:00:41.340330 Client has been notified that DATA conn will be accepted on port 37113 19:00:41.340650 Client connects to port 37113 19:00:41.340684 ====> Client established passive DATA connection on port 37113 19:00:41.340776 < "TYPE I" 19:00:41.340808 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:41.340983 < "SIZE verifiedserver" 19:00:41.341023 > "213 17[CR][LF]" 19:00:41.341177 < "RETR verifiedserver" 19:00:41.341210 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:41.341291 =====> Closing passive DATA connection... 19:00:41.341307 Server disconnects passive DATA connection 19:00:41.341550 Server disconnected passive DATA connection 19:00:41.341576 DATA sockfilt for passive data channel quits (pid 97115) 19:00:41.341842 DATA sockfilt for passive data channel quit (pid 97115) 19:00:41.341865 =====> Closed passive DATA connection 19:00:41.341892 > "226 File transfer complete[CR][LF]" 19:00:41.382547 < "QUIT" 19:00:41.382606 > "221 bye bye baby[CR][LF]" 19:00:41.382784 MAIN sockfilt said DISC 19:00:41.382820 ====> Client disconnected 19:00:41.382915 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:41.107470 ====> Client connect 19:00:41.107778 Received DATA (on stdin) 19:00:41.107794 > 160 bytes data, server => client 19:00:41.107809 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:41.107821 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:41.107833 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:41.108794 < 16 bytes data, client => server 19:00:41.108822 'USER anonymous\r\n' 19:00:41.109068 Received DATA (on stdin) 19:00:41.109085 > 33 bytes data, server => client 19:00:41.109098 '331 We are happy you popped in!\r\n' 19:00:41.109161 < 22 bytes data, client => server 19:00:41.109175 'PASS ftp@example.com\r\n' 19:00:41.109351 Received DATA (on stdin) 19:00:41.109365 > 30 bytes data, server => client 19:00:41.109377 '230 Welcome you silly person\r\n' 19:00:41.109431 < 5 bytes data, client => server 19:00:41.109442 'PWD\r\n' 19:00:41.109568 Received DATA (on stdin) 19:00:41.109580 > 30 bytes data, server => client 19:00:41.109592 '257 "/" is current directory\r\n' 19:00:41.109649 < 6 bytes data, client => server 19:00:41.109661 'EPSV\r\n' 19:00:41.112399 Received DATA (on stdin) 19:00:41.112418 > 39 bytes data, server => client 19:00:41.112429 '229 Entering Passive Mode (|||37113|)\r\n' 19:00:41.112624 < 8 bytes data, client => server 19:00:41.112641 'TYPE I\r\n' 19:00:41.112871 Received DATA (on stdin) 19:00:41.112884 > 33 bytes data, server => client 19:00:41.112896 '200 I modify TYPE as you wanted\r\n' 19:00:41.112950 < 21 bytes data, client => server 19:00:41.112962 'SIZE verifiedserver\r\n' 19:00:41.113084 Received DATA (on stdin) 19:00:41.113096 > 8 bytes data, server => client 19:00:41.113107 '213 17\r\n' 19:00:41.113156 < 21 bytes data, client => server 19:00:41.113168 'RETR verifiedserver\r\n' 19:00:41.113371 Received DATA (on stdin) 19:00:41.113383 > 29 bytes data, server => client 19:00:41.113395 '150 Binary junk (17 bytes).\r\n' 19:00:41.113955 Received DATA (on stdin) 19:00:41.113969 > 28 bytes data, server => client 19:00:41.113981 '226 File transfer complete\r\n' 19:00:41.154364 < 6 bytes data, client => server 19:00:41.154408 'QUIT\r\n' 19:00:41.154679 Received DATA (on stdin) 19:00:41.154697 > 18 bytes data, server => client 19:00:41.154710 '221 bye bye baby\r\n' 19:00:41.154788 ====> Client disconnect 19:00:41.154983 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:41.111824 Running IPv4 version 19:00:41.111906 Listening on port 37113 19:00:41.111954 Wrote pid 97115 to log/5/server/ftp_sockdata.pid 19:00:41.112140 Received PING (on stdin) 19:00:41.112232 Received PORT (on stdin) 19:00:41.112663 ====> Client connect 19:00:41.113420 Received DATA (on stdin) 19:00:41.113434 > 17 bytes data, server => client 19:00:41.113446 'WE ROOLZ: 80429\r\n' 19:00:41.113470 Received DISC (on stdin) 19:00:41.113482 ====> Client forcibly disconnected 19:00:41.113645 Received QUIT (on stdin) 19:00:41.113657 quits 19:00:41.113726 ============> 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 ==97148== ==97148== Process terminating with default action of signal 4 (SIGILL) ==97148== Illegal opcode at address 0x4013E00 ==97148== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97148== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97148== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97148== by 0x40037A4: main (tool_main.c:199) === End of file valgrind381 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/21/valgrind380 ../src/curl -q --output log/21/curl380.out --include --trace-ascii log/21/trace380 --trace-time --netrc --netrc-file log/21/netrc380 ftp://mary@127.0.0.1:35487/ > log/21/stdout380 2> log/21/stderr380 380: 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 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/21/valgrind380 ../src/curl -q --output log/21/curl380.out --include --trace-ascii log/21/trace380 --trace-time --netrc --netrc-file log/21/netrc380 ftp://mary@127.0.0.1:35487/ > log/21/stdout380 2> log/21/stderr380 === End of file commands.log === Start of file ftp_server.log 19:00:41.305670 ====> Client connect 19:00:41.305901 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:41.306300 < "USER anonymous" 19:00:41.306366 > "331 We are happy you popped in![CR][LF]" 19:00:41.306599 < "PASS ftp@example.com" 19:00:41.306639 > "230 Welcome you silly person[CR][LF]" 19:00:41.307141 < "PWD" 19:00:41.307187 > "257 "/" is current directory[CR][LF]" 19:00:41.308041 < "EPSV" 19:00:41.308071 ====> Passive DATA channel requested by client 19:00:41.308086 DATA sockfilt for passive data channel starting... 19:00:41.318196 DATA sockfilt for passive data channel started (pid 97086) 19:00:41.318353 DATA sockfilt for passive data channel listens on port 39809 19:00:41.318404 > "229 Entering Passive Mode (|||39809|)[CR][LF]" 19:00:41.318426 Client has been notified that DATA conn will be accepted on port 39809 19:00:41.322079 Client connects to port 39809 19:00:41.322128 ====> Client established passive DATA connection on port 39809 19:00:41.322515 < "TYPE I" 19:00:41.322562 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:41.324012 < "SIZE verifiedserver" 19:00:41.324067 > "213 17[CR][LF]" 19:00:41.324260 < "RETR verifiedserver" 19:00:41.324306 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:41.324409 =====> Closing passive DATA connection... 19:00:41.324429 Server disconnects passive DATA connection 19:00:41.324627 Server disconnected passive DATA connection 19:00:41.324658 DATA sockfilt for passive data channel quits (pid 97086) 19:00:41.324923 DATA sockfilt for passive data channel quit (pid 97086) 19:00:41.324955 =====> Closed passive DATA connection 19:00:41.324994 > "226 File transfer complete[CR][LF]" 19:00:41.372378 < "QUIT" 19:00:41.372442 > "221 bye bye baby[CR][LF]" 19:00:41.373483 MAIN sockfilt said DISC 19:00:41.373526 ====> Client disconnected 19:00:41.373607 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:41.077580 ====> Client connect 19:00:41.077977 Received DATA (on stdin) 19:00:41.077993 > 160 bytes data, server => client 19:00:41.078007 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:41.078019 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:41.078030 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:41.078132 < 16 bytes data, client => server 19:00:41.078163 'USER anonymous\r\n' 19:00:41.078441 Received DATA (on stdin) 19:00:41.078460 > 33 bytes data, server => client 19:00:41.078472 '331 We are happy you popped in!\r\n' 19:00:41.078537 < 22 bytes data, client => server 19:00:41.078552 'PASS ftp@example.com\r\n' 19:00:41.078706 Received DATA (on stdin) 19:00:41.078721 > 30 bytes data, server => client 19:00:41.078734 '230 Welcome you silly person\r\n' 19:00:41.078791 < 5 bytes data, client => server 19:00:41.078806 'PWD\r\n' 19:00:41.079254 Received DATA (on stdin) 19:00:41.079270 > 30 bytes data, server => client 19:00:41.079282 '257 "/" is current directory\r\n' 19:00:41.079984 < 6 bytes data, client => server 19:00:41.080007 'EPSV\r\n' 19:00:41.091038 Received DATA (on stdin) 19:00:41.091063 > 39 bytes data, server => client 19:00:41.091076 '229 Entering Passive Mode (|||39809|)\r\n' 19:00:41.094218 < 8 bytes data, client => server 19:00:41.094235 'TYPE I\r\n' 19:00:41.094628 Received DATA (on stdin) 19:00:41.094644 > 33 bytes data, server => client 19:00:41.094655 '200 I modify TYPE as you wanted\r\n' 19:00:41.095943 < 21 bytes data, client => server 19:00:41.095965 'SIZE verifiedserver\r\n' 19:00:41.096133 Received DATA (on stdin) 19:00:41.096147 > 8 bytes data, server => client 19:00:41.096159 '213 17\r\n' 19:00:41.096218 < 21 bytes data, client => server 19:00:41.096234 'RETR verifiedserver\r\n' 19:00:41.096608 Received DATA (on stdin) 19:00:41.096623 > 29 bytes data, server => client 19:00:41.096636 '150 Binary junk (17 bytes).\r\n' 19:00:41.097062 Received DATA (on stdin) 19:00:41.097077 > 28 bytes data, server => client 19:00:41.097089 '226 File transfer complete\r\n' 19:00:41.144227 < 6 bytes data, client => server 19:00:41.144266 'QUIT\r\n' 19:00:41.144521 Received DATA (on stdin) 19:00:41.144538 > 18 bytes data, server => client 19:00:41.144550 '221 bye bye baby\r\n' 19:00:41.145480 ====> Client disconnect 19:00:41.145670 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:41.088102 Running IPv4 version 19:00:41.088182 Listening on port 39809 19:00:41.088222 Wrote pid 97086 to log/21/server/ftp_sockdata.pid 19:00:41.090183 Received PING (on stdin) 19:00:41.090302 Received PORT (on stdin) 19:00:41.091263 ====> Client connect 19:00:41.096498 Received DATA (on stdin) 19:00:41.096516 > 17 bytes data, server => client 19:00:41.096529 'WE ROOLZ: 81255\r\n' 19:00:41.096561 Received DISC (on stdin) 19:00:41.096577 ====> Client forcibly disconnected 19:00:41.096737 Received QUIT (on stdin) 19:00:41.096751 quits 19:00:41.096826 ============> 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 ==97142== ==97142== Process terminating with default action of signal 4 (SIGILL) ==97142== Illegal opcode at address 0x4013E00 ==97142== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97142== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97142== by 0x40037A4: UCMD (33792): ../libtool --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/valgrind384 ../src/curl -q --output log/17/curl384.out --include --trace-ascii log/17/trace384 --trace-time --json @- http://127.0.0.1:40515/384 -H "Accept: foobar/*" log/17/stdout384 2> log/17/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/8/valgrind385 ../src/curl -q --output log/8/curl385.out --include --trace-ascii log/8/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:43853/385 -H "Content-Type: drinks/hot" > log/8/stdout385 2> log/8/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/9/valgrind387 ../src/curl -q --output log/9/curl387.out --include --trace-ascii log/9/trace387 --trace-time http://127.0.0.1:36745/387 -sS --tr-encoding > log/9/stdout387 2> log/9/stderr387 nknownInlinedFun (tool_operate.c:2237) ==97142== by 0x40037A4: main (tool_main.c:199) === End of file valgrind380 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/17/valgrind384 ../src/curl -q --output log/17/curl384.out --include --trace-ascii log/17/trace384 --trace-time --json @- http://127.0.0.1:40515/384 -H "Accept: foobar/*" log/17/stdout384 2> log/17/stderr384 384: 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 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/17/valgrind384 ../src/curl -q --output log/17/curl384.out --include --trace-ascii log/17/trace384 --trace-time --json @- http://127.0.0.1:40515/384 -H "Accept: foobar/*" log/17/stdout384 2> log/17/stderr384 === End of file commands.log === Start of file http_server.log 19:00:42.226712 ====> Client connect 19:00:42.226748 accept_connection 3 returned 4 19:00:42.226767 accept_connection 3 returned 0 19:00:42.226782 Read 93 bytes 19:00:42.226793 Process 93 bytes request 19:00:42.226809 Got request: GET /verifiedserver HTTP/1.1 19:00:42.226820 Are-we-friendly question received 19:00:42.226857 Wrote request (93 bytes) input to log/17/server.input 19:00:42.226875 Identifying ourselves as friends 19:00:42.226934 Response sent (56 bytes) and written to log/17/server.response 19:00:42.226946 special request received, no persistency 19:00:42.226956 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 36414 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file stdin-for-384 { "drink": "coffee" } === End of file stdin-for-384 === Start of file valgrind384 ==97300== ==97300== Process terminating with default action of signal 4 (SIGILL) ==97300== Illegal opcode at address 0x4013E00 ==97300== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97300== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97300== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97300== by 0x40037A4: main (tool_main.c:199) === End of file valgrind384 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/8/valgrind385 ../src/curl -q --output log/8/curl385.out --include --trace-ascii log/8/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:43853/385 -H "Content-Type: drinks/hot" > log/8/stdout385 2> log/8/stderr385 385: 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 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/8/valgrind385 ../src/curl -q --output log/8/curl385.out --include --trace-ascii log/8/trace385 --trace-time --json '{ "drink": "coffee",' --json ' "crunch": "cookie" }' http://127.0.0.1:43853/385 -H "Content-Type: drinks/hot" > log/8/stdout385 2> log/8/stderr385 === End of file commands.log === Start of file http_server.log 19:00:41.326514 ====> Client connect 19:00:41.326547 accept_connection 3 returned 4 19:00:41.326565 accept_connection 3 returned 0 19:00:41.326581 Read 93 bytes 19:00:41.326592 Process 93 bytes request 19:00:41.326607 Got request: GET /verifiedserver HTTP/1.1 19:00:41.326618 Are-we-friendly question received 19:00:41.326642 Wrote request (93 bytes) input to log/8/server.input 19:00:41.326660 Identifying ourselves as friends 19:00:41.326713 Response sent (56 bytes) and written to log/8/server.response 19:00:41.326724 special request received, no persistency 19:00:41.326734 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 48750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind385 ==97411== ==97411== Process terminating with default action of signal 4 (SIGILL) ==97411== Illegal opcode at address 0x4013E00 ==97411== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97411== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97411== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97411== by 0x40037A4: main (tool_main.c:199) === End of file valgrind385 CMD (33792): ../libtool --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/valgrind386 ../src/curl -q --output log/1/curl386.out --include --trace-ascii log/1/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:40353/386 --next http://127.0.0.1:40353/3860002 > log/1/stdout386 2> log/1/stderr386 CMD (33792): ../libtool --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/valgrind389 ../src/curl -q --output log/13/curl389.out --include --trace-ascii log/13/trace389 --trace-time -4 http://curlmachine.localhost:35301/389 > log/13/stdout389 2> log/13/stderr389 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:36745/387 -sS --tr-encoding > log/9/stdout387 2> log/9/stderr387 387: stderr FAILED: --- log/9/check-expected 2025-11-13 19:00:42.689391050 +0000 +++ log/9/check-generated 2025-11-13 19:00:42.689391050 +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:36745/387 -sS --tr-encoding > log/9/stdout387 2> log/9/stderr387 === End of file commands.log === Start of file http_server.log 19:00:41.354159 ====> Client connect 19:00:41.354197 accept_connection 3 returned 4 19:00:41.354217 accept_connection 3 returned 0 19:00:41.354235 Read 93 bytes 19:00:41.354247 Process 93 bytes request 19:00:41.354261 Got request: GET /verifiedserver HTTP/1.1 19:00:41.354272 Are-we-friendly question received 19:00:41.354301 Wrote request (93 bytes) input to log/9/server.input 19:00:41.354320 Identifying ourselves as friends 19:00:41.354424 Response sent (56 bytes) and written to log/9/server.response 19:00:41.354438 special request received, no persistency 19:00:41.354449 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 32820 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind387 ==97444== ==97444== Process terminating with default action of signal 4 (SIGILL) ==97444== Illegal opcode at address 0x4013E00 ==97444== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97444== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97444== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97444== by 0x40037A4: main (tool_main.c:199) === End of file valgrind387 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/1/valgrind386 ../src/curl -q --output log/1/curl386.out --include --trace-ascii log/1/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:40353/386 --next http://127.0.0.1:40353/3860002 > log/1/stdout386 2> log/1/stderr386 386: 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 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/1/valgrind386 ../src/curl -q --output log/1/curl386.out --include --trace-ascii log/1/trace386 --trace-time --json '{ "drink": "coffee" }' http://127.0.0.1:40353/386 --next http://127.0.0.1:40353/3860002 > log/1/stdout386 2> log/1/stderr386 === End of file commands.log === Start of file http_server.log 19:00:41.335342 ====> Client connect 19:00:41.335377 accept_connection 3 returned 4 19:00:41.335394 accept_connection 3 returned 0 19:00:41.335409 Read 93 bytes 19:00:41.335421 Process 93 bytes request 19:00:41.335436 Got request: GET /verifiedserver HTTP/1.1 19:00:41.335447 Are-we-friendly question received 19:00:41.335471 Wrote request (93 bytes) input to log/1/server.input 19:00:41.335488 Identifying ourselves as friends 19:00:41.335542 Response sent (56 bytes) and written to log/1/server.response 19:00:41.335554 special request received, no persistency 19:00:41.335565 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48062 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind386 ==97421== ==97421== Process terminating with default action of signal 4 (SIGILL) ==97421== Illegal opcode at address 0x4013E00 ==97421== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97421== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97421== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97421== by 0x40037A4: main (tool_main.c:199) === End of file valgrind386 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/13/valgrind389 ../src/curl -q --output log/13/curl389.out --include --trace-ascii log/13/trace389 --trace-time -4 http://curlmachine.localhost:35301/389 > log/13/stdout389 2> log/13/stderr389 389: 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 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/13/valgrind389 ../src/curl -q --output log/13/curl389.out --include --trace-ascii log/13/trace389 --trace-time -4 http://curlmachine.localhost:35301/389 > log/13/stdout389 2> log/13/stderr389 === End of file commands.log === Start of file http_server.log 19:00:41.645073 ====> Client connect 19:00:41.645109 accept_connection 3 returned 4 19:00:41.645126 accept_connection 3 returned 0 19:00:41.645141 Read 93 bytes 19:00:41.645152 Process 93 bytes request 19:00:41.645166 Got request: GET /verifiedserver HTTP/1.1 19:00:41.645177 Are-we-friendly question received 19:00:41.645201 Wrote request (93 bytes) input to log/13/server.input 19:00:41.645218 Identifying ourselves as friends 19:00:41.645273 Response sent (56 bytes) and written to log/13/server.response 19:00:41.645283 special request received, no persistency 19:00:41.645294 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 43264 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 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/20/valgrind388 ../src/curl -q --include --trace-ascii log/20/trace388 --trace-time http://127.0.0.1:38583/3880001 -u testuser:testpass --digest http://127.0.0.1:38583/3880002 > log/20/stdout388 2> log/20/stderr388 0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind389 ==97624== ==97624== Process terminating with default action of signal 4 (SIGILL) ==97624== Illegal opcode at address 0x4013E00 ==97624== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97624== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97624== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97624== by 0x40037A4: main (tool_main.c:199) === End of file valgrind389 CMD (33792): ../libtool --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/valgrind392 ../src/curl -q --output log/7/curl392.out --include --trace-ascii log/7/trace392 --trace-time -4 http://localhost:41017/392 -b none http://localhost:41017/392 > log/7/stdout392 2> log/7/stderr392 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/20/valgrind388 ../src/curl -q --include --trace-ascii log/20/trace388 --trace-time http://127.0.0.1:38583/3880001 -u testuser:testpass --digest http://127.0.0.1:38583/3880002 > log/20/stdout388 2> log/20/stderr388 388: stdout FAILED: --- log/20/check-expected 2025-11-13 19:00:42.962724387 +0000 +++ log/20/check-generated 2025-11-13 19:00:42.962724387 +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/20/ 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/20/valgrind388 ../src/curl -q --include --trace-ascii log/20/trace388 --trace-time http://127.0.0.1:38583/3880001 -u testuser:testpass --digest http://127.0.0.1:38583/3880002 > log/20/stdout388 2> log/20/stderr388 === End of file commands.log === Start of file http_server.log 19:00:41.665214 ====> Client connect 19:00:41.665246 accept_connection 3 returned 4 19:00:41.665263 accept_connection 3 returned 0 19:00:41.665279 Read 93 bytes 19:00:41.665290 Process 93 bytes request 19:00:41.665306 Got request: GET /verifiedserver HTTP/1.1 19:00:41.665316 Are-we-friendly question received 19:00:41.665339 Wrote request (93 bytes) input to log/20/server.input 19:00:41.665356 Identifying ourselves as friends 19:00:41.665407 Response sent (56 bytes) and written to log/20/server.response 19:00:41.665418 special request received, no persistency 19:00:41.665428 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 57586 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind388 ==97663== ==97663== Process terminating with default action of signal 4 (SIGILL) ==97663== Illegal opcode at address 0x4013E00 ==97663== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97663== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97663== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97663== by 0x40037A4: main (tool_main.c:199) === End of file valgrind388 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/7/valgrind392 ../src/curl -q --output log/7/curl392.out --include --trace-ascii log/7/trace392 --trace-time -4 http://localhost:41017/392 -b none http://localhost:41017/392 > log/7/stdout392 2> log/7/stderr392 392: 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 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/7/valgrind392 ../src/curl -q --output log/7/curl392.out --include --trace-ascii log/7/trace392 --trace-time -4 http://localhost:41017/392 -b none http://localhost:41017/392 > log/7/stdout392 2> log/7/stderr392 === End of file commands.log === Start of file http_server.log 19:00:41.797937 ====> Client connect 19:00:41.797966 accept_connection 3 returned 4 19:00:41.797982 accept_connection 3 returned 0 19:00:41.797995 Read 93 bytes 19:00:41.798006 Process 93 bytes request 19:00:41.798018 Got request: GET /verifiedserver HTTP/1.1 19:00:41.798029 Are-we-friendly question received 19:00:41.798054 Wrote request (93 bytes) input to log/7/server.input 19:00:41.798070 Identifying ourselves as friends 19:00:41.798125 Response sent (56 bytes) and written to log/7/server.response 19:00:41.798136 special request received, no persistency 19:00:41.798146 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 34644 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind392 ==97825== ==97825== Process terminating with default action of signal 4 (SIGILL) ==97825== Illegal opcode at address 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/valgrind391 ../src/curl -q --output log/10/curl391.out --include --trace-ascii log/10/trace391 --trace-time http://127.0.0.1:37879/../../391 --path-as-is -L > log/10/stdout391 2> log/10/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/2/valgrind390 ../src/curl -q --include --trace-ascii log/2/trace390 --trace-time http://127.0.0.1:44325/390 file://localhost/startdir/src/build-curl/tests/log/2/test390.txt ftp://127.0.0.1:37089/3900002 --parallel -o log/2/390.a -o log/2/390.b -o log/2/390.c > log/2/stdout390 2> log/2/stderr390 3E00 ==97825== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97825== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97825== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97825== by 0x40037A4: main (tool_main.c:199) === End of file valgrind392 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/10/valgrind391 ../src/curl -q --output log/10/curl391.out --include --trace-ascii log/10/trace391 --trace-time http://127.0.0.1:37879/../../391 --path-as-is -L > log/10/stdout391 2> log/10/stderr391 391: 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 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/10/valgrind391 ../src/curl -q --output log/10/curl391.out --include --trace-ascii log/10/trace391 --trace-time http://127.0.0.1:37879/../../391 --path-as-is -L > log/10/stdout391 2> log/10/stderr391 === End of file commands.log === Start of file http_server.log 19:00:41.797416 ====> Client connect 19:00:41.797457 accept_connection 3 returned 4 19:00:41.797475 accept_connection 3 returned 0 19:00:41.797493 Read 93 bytes 19:00:41.797504 Process 93 bytes request 19:00:41.797519 Got request: GET /verifiedserver HTTP/1.1 19:00:41.797530 Are-we-friendly question received 19:00:41.797557 Wrote request (93 bytes) input to log/10/server.input 19:00:41.797576 Identifying ourselves as friends 19:00:41.797633 Response sent (56 bytes) and written to log/10/server.response 19:00:41.797645 special request received, no persistency 19:00:41.797655 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 56134 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind391 ==97828== ==97828== Process terminating with default action of signal 4 (SIGILL) ==97828== Illegal opcode at address 0x4013E00 ==97828== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97828== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97828== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97828== by 0x40037A4: main (tool_main.c:199) === End of file valgrind391 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/2/valgrind390 ../src/curl -q --include --trace-ascii log/2/trace390 --trace-time http://127.0.0.1:44325/390 file://localhost/startdir/src/build-curl/tests/log/2/test390.txt ftp://127.0.0.1:37089/3900002 --parallel -o log/2/390.a -o log/2/390.b -o log/2/390.c > log/2/stdout390 2> log/2/stderr390 curl returned 132, when expecting 0 390: exit FAILED == Contents of files in the log/2/ 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/2/valgrind390 ../src/curl -q --include --trace-ascii log/2/trace390 --trace-time http://127.0.0.1:44325/390 file://localhost/startdir/src/build-curl/tests/log/2/test390.txt ftp://127.0.0.1:37089/3900002 --parallel -o log/2/390.a -o log/2/390.b -o log/2/390.c > log/2/stdout390 2> log/2/stderr390 === End of file commands.log === Start of file ftp_server.log 19:00:41.950640 ====> Client connect 19:00:41.950808 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:41.951680 < "USER anonymous" 19:00:41.951723 > "331 We are happy you popped in![CR][LF]" 19:00:41.952156 < "PASS ftp@example.com" 19:00:41.952193 > "230 Welcome you silly person[CR][LF]" 19:00:41.952364 < "PWD" 19:00:41.952397 > "257 "/" is current directory[CR][LF]" 19:00:41.952566 < "EPSV" 19:00:41.952590 ====> Passive DATA channel requested by client 19:00:41.952606 DATA sockfilt for passive data channel starting... 19:00:41.954720 DATA sockfilt for passive data channel started (pid 97733) 19:00:41.954832 DATA sockfilt for passive data channel listens on port 45203 19:00:41.954877 > "229 Entering Passive Mode (|||45203|)[CR][LF]" 19:00:41.954896 Client has been notified that DATA conn will be accepted on port 45203 19:00:41.955138 Client connects to port 45203 19:00:41.955169 ====> Client established passive DATA connection on port 45203 19:00:41.955248 < "TYPE I" 19:00:41.955274 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:41.955444 < "SIZE verifiedserver" 19:00:41.955481 > "213 17[CR][LF]" 19:00:41.955638 < "RETR verifiedserver" 19:00:41.955670 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:41.955759 =====> Closing passive DATA connection... 19:00:41.955776 Server disconnects passive DATA connection 19:00:41.956021 Server disconnected passive DATA connection 19:00:41.956053 DATA sockfilt for passive data channel quits (pid 97733) 19:00:41.956356 DATA sockfilt for passive data channel quit (pid 97733) 19:00:41.956384 =====> Closed passive DATA connection 19:00:41.956414 > "226 File transfer complete[CR][LF]" 19:00:42.000644 < "QUIT" 19:00:42.000702 > "221 bye bye baby[CR][LF]" 19:00:42.001784 MAIN sockfilt said DISC 19:00:42.001830 ====> Client disconnected 19:00:42.001901 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:41.722577 ====> Client connect 19:00:41.722883 Received DATA (on stdin) 19:00:41.722899 > 160 bytes data, server => client 19:00:41.722914 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:41.722926 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:41.722938 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:41.723579 < 16 bytes data, client => server 19:00:41.723604 'USER anonymous\r\n' 19:00:41.723788 Received DATA (on stdin) 19:00:41.723802 > 33 bytes data, server => client 19:00:41.723814 '331 We are happy you popped in!\r\n' 19:00:41.723868 < 22 bytes data, client => server 19:00:41.723880 'PASS ftp@example.com\r\n' 19:00:41.724257 Received DATA (on stdin) 19:00:41.724272 > 30 bytes data, server => client 19:00:41.724285 '230 Welcome you silly person\r\n' 19:00:41.724338 < 5 bytes data, client => server 19:00:41.724350 'PWD\r\n' 19:00:41.724458 Received DATA (on stdin) 19:00:41.724471 > 30 bytes data, server => client 19:00:41.724483 '257 "/" is current directory\r\n' 19:00:41.724540 < 6 bytes data, client => server 19:00:41.724553 'EPSV\r\n' 19:00:41.726964 Received DATA (on stdin) 19:00:41.726979 > 39 bytes data, server => client 19:00:41.726992 '229 Entering Passive Mode (|||45203|)\r\n' 19:00:41.727116 < 8 bytes data, client => server 19:00:41.727131 'TYPE I\r\n' 19:00:41.727335 Received DATA (on stdin) 19:00:41.727349 > 33 bytes data, server => client 19:00:41.727361 '200 I modify TYPE as you wanted\r\n' 19:00:41.727410 < 21 bytes data, client => server 19:00:41.727422 'SIZE verifiedserver\r\n' 19:00:41.727544 Received DATA (on stdin) 19:00:41.727557 > 8 bytes data, server => client 19:00:41.727568 '213 17\r\n' 19:00:41.727617 < 21 bytes data, client => server 19:00:41.727630 'RETR verifiedserver\r\n' 19:00:41.727839 Received DATA (on stdin) 19:00:41.727853 > 29 bytes data, server => client 19:00:41.727866 '150 Binary junk (17 bytes).\r\n' 19:00:41.728479 Received DATA (on stdin) 19:00:41.728495 > 28 bytes data, server => client 19:00:41.728508 '226 File transfer complete\r\n' 19:00:41.772514 < 6 bytes data, client => server 19:00:41.772545 'QUIT\r\n' 19:00:41.772773 Received DATA (on stdin) 19:00:41.772791 > 18 bytes data, server => client 19:00:41.772803 '221 bye bye baby\r\n' 19:00:41.773780 ====> Client disconnect 19:00:41.773966 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:41.726438 Running IPv4 version 19:00:41.726508 Listening on port 45203 19:00:41.726549 Wrote pid 97733 to log/2/server/ftp_sockdata.pid 19:00:41.726720 Received PING (on stdin) 19:00:41.726806 Received PORT (on stdin) 19:00:41.727154 ====> Client connect 19:00:41.727925 Received DATA (on stdin) 19:00:41.727943 > 17 bytes data, server => client 19:00:41.727955 'WE ROOLZ: 80680\r\n' 19:00:41.727984 Received DISC (on stdin) 19:00:41.728120 ====> Client forcibly disconnected 19:00:41.728158 Received QUIT (on stdin) 19:00:41.728171 quits 19:00:41.728238 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:00:42.691386 ====> Client connect 19:00:42.691422 accept_connection 3 returned 4 19:00:42.691441 accept_connection 3 returned 0 19:00:42.691456 Read 93 bytes 19:00:42.691466 Process 93 bytes request 19:00:42.691480 Got request: GET /verifiedserver HTTP/1.1 19:00:42.691491 Are-we-friendly question received 19:00:42.691514 Wrote request (93 bytes) input to log/2/server.input 19:00:42.691531 Identifying ourselves as friends 19:00:42.691592 Response sent (56 bytes) and written to log/2/server.response 19:00:42.691606 special request received, no persistency 19:00:42.691621 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 46540 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === 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!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofilCMD (33792): ../libtool --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/valgrind395 ../src/curl -q --output log/16/curl395.out --include --trace-ascii log/16/trace395 --trace-time http://127.0.0.1:42747/395 > log/16/stdout395 2> log/16/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/18/valgrind396 ../src/curl -q --output log/18/curl396.out --include --trace-ascii log/18/trace396 --trace-time http://127.0.0.1:39771/396 --compressed > log/18/stdout396 2> log/18/stderr396 e!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!hellofile!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 ==97776== ==97776== Process terminating with default action of signal 4 (SIGILL) ==97776== Illegal opcode at address 0x4013E00 ==97776== at 0x4013E00: getparameter (tool_getparam.c:2846) ==97776== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97776== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97776== by 0x40037A4: main (tool_main.c:199) === End of file valgrind390 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/16/valgrind395 ../src/curl -q --output log/16/curl395.out --include --trace-ascii log/16/trace395 --trace-time http://127.0.0.1:42747/395 > log/16/stdout395 2> log/16/stderr395 395: 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 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/16/valgrind395 ../src/curl -q --output log/16/curl395.out --include --trace-ascii log/16/trace395 --trace-time http://127.0.0.1:42747/395 > log/16/stdout395 2> log/16/stderr395 === End of file commands.log === Start of file http_server.log 19:00:42.860022 ====> Client connect 19:00:42.860066 accept_connection 3 returned 4 19:00:42.860086 accept_connection 3 returned 0 19:00:42.860108 Read 93 bytes 19:00:42.860121 Process 93 bytes request 19:00:42.860136 Got request: GET /verifiedserver HTTP/1.1 19:00:42.860148 Are-we-friendly question received 19:00:42.860178 Wrote request (93 bytes) input to log/16/server.input 19:00:42.861319 Identifying ourselves as friends 19:00:42.861406 Response sent (56 bytes) and written to log/16/server.response 19:00:42.861418 special request received, no persistency 19:00:42.861429 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 59452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind395 ==98021== ==98021== Process terminating with default action of signal 4 (SIGILL) ==98021== Illegal opcode at address 0x4013E00 ==98021== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98021== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98021== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98021== by 0x40037A4: main (tool_main.c:199) === End of file valgrind395 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/18/valgrind396 ..CMD (33792): ../libtool --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/valgrind394 ../src/curl -q --output log/12/curl394.out --include --trace-ascii log/12/trace394 --trace-time http://127.0.0.1:46819/394 > log/12/stdout394 2> log/12/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/15/valgrind393 ../src/curl -q --output log/15/curl393.out --include --trace-ascii log/15/trace393 --trace-time http://127.0.0.1:44531/393 --max-filesize 2000000 > log/15/stdout393 2> log/15/stderr393 /src/curl -q --output log/18/curl396.out --include --trace-ascii log/18/trace396 --trace-time http://127.0.0.1:39771/396 --compressed > log/18/stdout396 2> log/18/stderr396 396: 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 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/18/valgrind396 ../src/curl -q --output log/18/curl396.out --include --trace-ascii log/18/trace396 --trace-time http://127.0.0.1:39771/396 --compressed > log/18/stdout396 2> log/18/stderr396 === End of file commands.log === Start of file http_server.log 19:00:41.875809 ====> Client connect 19:00:41.875845 accept_connection 3 returned 4 19:00:41.875863 accept_connection 3 returned 0 19:00:41.875880 Read 93 bytes 19:00:41.875891 Process 93 bytes request 19:00:41.875906 Got request: GET /verifiedserver HTTP/1.1 19:00:41.875917 Are-we-friendly question received 19:00:41.875944 Wrote request (93 bytes) input to log/18/server.input 19:00:41.875962 Identifying ourselves as friends 19:00:41.876017 Response sent (56 bytes) and written to log/18/server.response 19:00:41.876028 special request received, no persistency 19:00:41.876039 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 54222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind396 ==98094== ==98094== Process terminating with default action of signal 4 (SIGILL) ==98094== Illegal opcode at address 0x4013E00 ==98094== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98094== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98094== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98094== by 0x40037A4: main (tool_main.c:199) === End of file valgrind396 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/12/valgrind394 ../src/curl -q --output log/12/curl394.out --include --trace-ascii log/12/trace394 --trace-time http://127.0.0.1:46819/394 > log/12/stdout394 2> log/12/stderr394 394: 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 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/12/valgrind394 ../src/curl -q --output log/12/curl394.out --include --trace-ascii log/12/trace394 --trace-time http://127.0.0.1:46819/394 > log/12/stdout394 2> log/12/stderr394 === End of file commands.log === Start of file http_server.log 19:00:41.859512 ====> Client connect 19:00:41.859549 accept_connection 3 returned 4 19:00:41.859567 accept_connection 3 returned 0 19:00:41.859583 Read 93 bytes 19:00:41.859595 Process 93 bytes request 19:00:41.859611 Got request: GET /verifiedserver HTTP/1.1 19:00:41.859621 Are-we-friendly question received 19:00:41.859650 Wrote request (93 bytes) input to log/12/server.input 19:00:41.859668 Identifying ourselves as friends 19:00:41.859727 Response sent (56 bytes) and written to log/12/server.response 19:00:41.859738 special request received, no persistency 19:00:41.859748 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 48164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind394 ==98014== ==98014== Process terminating with default action of signal 4 (SIGILL) ==98014== Illegal opcode at address 0x4013E00 ==98014== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98014== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98014== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98014== by 0x40037A4: main (tool_main.c:199) === End of file valgrind394 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/15/valgrind393 ../src/curl -q --output log/15/curl393.out --include --trace-ascii log/15/trace393 --trace-time http://127.0.0.1:44531/393 --max-filesize 2000000 > log/15/stdout393 2> log/15/stderr393 393: 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 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/15/valgrind393 ../src/curl -q --output log/15/curl393.out --include --trace-ascii log/15/trace393 --trace-time http://127.0.0.1:44531/393 --max-filesize 2000000 > log/15/stdout393 2> log/15/stderr393 === End of file commands.log === Start of file http_server.log 19:00:41.809609 ====> Client connect 19:00:41.809643 accept_connection 3 returned 4 19:00:41.809659 accept_connection 3 returned 0 19:00:41.809674 Read 93 bytes 19:00:41.809685 Process 93 bytes request 19:00:41.809700 Got request: GET /verifiedserver HTTP/1.1 19:00:41.809709 Are-we-friendly question received 19:00:41.809735 Wrote request (93 bytes) input to log/15/server.input 19:00:41.809752 Identifying ourselves as friends 19:00:41.809803 Response sent (56 bytes) and written to log/15/server.response 19:00:41.809814 special request received, no persistency 19:00:41.809824 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 40728 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind393 ==97905== ==97905== Process terminating with default action of signal 4 (SIGILL) ==97905== Illegal opcode at address 0x4013E00 ==97905== at 0x4013E00: getparameter (tool_getparam.c:2846CMD (33792): ../libtool --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/valgrind397 ../src/curl -q --output log/22/curl397.out --include --trace-ascii log/22/trace397 --trace-time http://127.0.0.1:41061/397 --compressed > log/22/stdout397 2> log/22/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/24/valgrind398 ../src/curl -q --output log/24/curl398.out --include --trace-ascii log/24/trace398 --trace-time http://127.0.0.1:39383/398 > log/24/stdout398 2> log/24/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/19/valgrind399 ../src/curl -q --output log/19/curl399.out --include --trace-ascii log/19/trace399 --trace-time -K log/19/input%TESTNUM > log/19/stdout399 2> log/19/stderr399 ) ==97905== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==97905== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==97905== by 0x40037A4: main (tool_main.c:199) === End of file valgrind393 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/24/valgrind398 ../src/curl -q --output log/24/curl398.out --include --trace-ascii log/24/trace398 --trace-time http://127.0.0.1:39383/398 > log/24/stdout398 2> log/24/stderr398 398: 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 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/24/valgrind398 ../src/curl -q --output log/24/curl398.out --include --trace-ascii log/24/trace398 --trace-time http://127.0.0.1:39383/398 > log/24/stdout398 2> log/24/stderr398 === End of file commands.log === Start of file http_server.log 19:00:41.982305 ====> Client connect 19:00:41.982338 accept_connection 3 returned 4 19:00:41.982356 accept_connection 3 returned 0 19:00:41.982371 Read 93 bytes 19:00:41.982383 Process 93 bytes request 19:00:41.982397 Got request: GET /verifiedserver HTTP/1.1 19:00:41.982407 Are-we-friendly question received 19:00:41.982432 Wrote request (93 bytes) input to log/24/server.input 19:00:41.982450 Identifying ourselves as friends 19:00:41.982504 Response sent (56 bytes) and written to log/24/server.response 19:00:41.982515 special request received, no persistency 19:00:41.982525 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 45796 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind398 ==98273== ==98273== Process terminating with default action of signal 4 (SIGILL) ==98273== Illegal opcode at address 0x4013E00 ==98273== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98273== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98273== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98273== by 0x40037A4: main (tool_main.c:199) === End of file valgrind398 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/22/valgrind397 ../src/curl -q --output log/22/curl397.out --include --trace-ascii log/22/trace397 --trace-time http://127.0.0.1:41061/397 --compressed > log/22/stdout397 2> log/22/stderr397 397: 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 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/22/valgrind397 ../src/curl -q --output log/22/curl397.out --include --trace-ascii log/22/trace397 --trace-time http://127.0.0.1:41061/397 --compressed > log/22/stdout397 2> log/22/stderr397 === End of file commands.log === Start of file http_server.log 19:00:41.974962 ====> Client connect 19:00:41.974995 accept_connection 3 returned 4 19:00:41.975013 accept_connection 3 returned 0 19:00:41.975028 Read 93 bytes 19:00:41.975040 Process 93 bytes request 19:00:41.975053 Got request: GET /verifiedserver HTTP/1.1 19:00:41.975064 Are-we-friendly question received 19:00:41.975088 Wrote request (93 bytes) input to log/22/server.input 19:00:41.975106 Identifying ourselves as friends 19:00:41.975163 Response sent (56 bytes) and written to log/22/server.response 19:00:41.975173 special request received, no persistency 19:00:41.975184 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 55498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind397 ==98261== ==98261== Process terminating with default action of signal 4 (SIGILL) ==98261== Illegal opcode at address 0x4013E00 ==98261== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98261== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98261== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98261== by 0x40037A4: main (tool_main.c:199) === End of file valgrind397 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/19/valgrind399 ../src/curl -q --output log/19/curl399.out --include --trace-ascii log/19/trace399 --trace-time -K log/19/input%TESTNUM > log/19/stdout399 2> log/19/stderr399 curl returned 132, when expecting 3 399: exit FAILED == Contents of files in the log/19/ 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/19/valgrind399 ../src/curl -q --output log/19/curl399.out --include --trace-ascii log/19/trace399 --trace-time -K log/19/input%TESTNUM > log/19/stdout399 2> log/19/stderr399 === End of file commands.log === Start of file http_server.log 19:00:41.986447 ====> Client connect 19:00:41.986480 accept_connection 3 returned 4 19:00:41.986497 accept_connection 3 returned 0 19:00:41.986511 Read 93 bytes 19:00:41.986522 Process 93 bytes request 19:00:41.986535 Got request: GET /verifiedserver HTTP/1.1 19:00:41.986545 Are-we-friendly question received 19:00:41.986571 Wrote request (93 bytes) input to log/19/server.input 19:00:41.986589 Identifying ourselves as friends 19:00:41.986642 Response sent (56 bytes) and written to log/19/server.response 19:00:41.986653 special request received, no persistency 19:00:41.986663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 52768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === End of file http_verify.out === Start of file input%TESTNUM url = http://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/399 === 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/23/valgrind402 ../src/curl -q --output log/23/curl402.out --include --trace-ascii log/23/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:45397/402 > log/23/stdout402 2> log/23/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/14/valgrind411 ../src/curl -q --output log/14/curl411.out --include --trace-ascii log/14/trace411 --trace-time -K log/14/missing http://localhost > log/14/stdout411 2> log/14/stderr411 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: 74422 === End of file server.response === Start of file valgrind399 ==98277== ==98277== Process terminating with default action of signal 4 (SIGILL) ==98277== Illegal opcode at address 0x4013E00 ==98277== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98277== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98277== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98277== by 0x40037A4: main (tool_main.c:199) === End of file valgrind399 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/14/valgrind411 ../src/curl -q --output log/14/curl411.out --include --trace-ascii log/14/trace411 --trace-time -K log/14/missing http://localhost > log/14/stdout411 2> log/14/stderr411 411: stderr FAILED: --- log/14/check-expected 2025-11-13 19:00:43.402724391 +0000 +++ log/14/check-generated 2025-11-13 19:00:43.402724391 +0000 @@ -1,3 +0,0 @@ -curl: cannot read config from 'log/14/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/14/ dir after test 411 === Start of file check-expected curl: cannot read config from 'log/14/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/14/valgrind411 ../src/curl -q --output log/14/curl411.out --include --trace-ascii log/14/trace411 --trace-time -K log/14/missing http://localhost > log/14/stdout411 2> log/14/stderr411 === End of file commands.log === Start of file server.cmd Testnum 411 === End of file server.cmd === Start of file valgrind411 ==98452== ==98452== Process terminating with default action of signal 4 (SIGILL) ==98452== Illegal opcode at address 0x4013E00 ==98452== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98452== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98452== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98452== by 0x40037A4: main (tool_main.c:199) === End of file valgrind411 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/23/valgrind402 ../src/curl -q --output log/23/curl402.out --include --trace-ascii log/23/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:45397/402 > log/23/stdout402 2> log/23/stderr402 402: 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 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/23/valgrind402 ../src/curl -q --output log/23/curl402.out --include --trace-ascii log/23/trace402 --trace-time --insecure --ftp-ssl-reqd ftp://127.0.0.1:45397/402 > log/23/stdout402 2> log/23/stderr402 === End of file commands.log === Start of file ftp_server.log 19:00:42.217878 ====> Client connect 19:00:42.218028 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:42.218312 < "USER anonymous" 19:00:42.218344 > "331 We are happy you popped in![CR][LF]" 19:00:42.218520 < "PASS ftp@example.com" 19:00:42.218547 > "230 Welcome you silly person[CR][LF]" 19:00:42.218698 < "PWD" 19:00:42.218739 > "257 "/" is current directory[CR][LF]" 19:00:42.218897 < "EPSV" 19:00:42.218923 ====> Passive DATA channel requested by client 19:00:42.218936 DATA sockfilt for passive data channel starting... 19:00:42.223568 DATA sockfilt for passive data channel started (pid 98263) 19:00:42.223704 DATA sockfilt for passive data channel listens on port 41911 19:00:42.223765 > "229 Entering Passive Mode (|||41911|)[CR][LF]" 19:00:42.223790 Client has been notified that DATA conn will be accepted on port 41911 19:00:42.224111 Client connects to port 41911 19:00:42.224147 ====> Client established passive DATA connection on port 41911 19:00:42.224250 < "TYPE I" 19:00:42.224288 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:42.224477 < "SIZE verifiedserver" 19:00:42.224521 > "213 17[CR][LF]" 19:00:42.224700 < "RETR verifiedserver" 19:00:42.224740 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:42.224832 =====> Closing passive DATA connection... 19:00:42.224853 Server disconnects passive DATA connection 19:00:42.225120 Server disconnected passive DATA connection 19:00:42.225151 DATA sockfilt for passive data channel quits (pid 98263) 19:00:42.225407 DATA sockfilt for passive data channel quit (pid 98263) 19:00:42.225437 =====> Closed passive DATA connection 19:00:42.225468 > "226 File transfer complete[CR][LF]" 19:00:42.268081 < "QUIT" 19:00:42.268139 > "221 bye bye baby[CR][LF]" 19:00:42.270974 MAIN sockfilt said DISC 19:00:42.271033 ====> Client disconnected 19:00:42.271114 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:41.989827 ====> Client connect 19:00:41.990100 Received DATA (on stdin) 19:00:41.990116 > 160 bytes data, server => client 19:00:41.990130 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:41.990143 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:41.990155 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:41.990231 < 16 bytes data, client => server 19:00:41.990245 'USER anonymous\r\n' 19:00:41.990407 Received DATA (on stdin) 19:00:41.990420 > 33 bytes data, server => client 19:00:41.990432 '331 We are happy you popped in!\r\n' 19:00:41.990481 < 22 bytes data, client => server 19:00:41.990493 'PASS ftp@example.com\r\n' 19:00:41.990608 Received DATA (on stdin) 19:00:41.990621 > 30 bytes data, server => client 19:00:41.990633 '230 Welcome you silly person\r\n' 19:00:41.990679 < 5 bytes data, client => server 19:00:41.990691 'PWD\r\n' 19:00:41.990799 Received DATA (on stdin) 19:00:41.990811 > 30 bytes data, server => client 19:00:41.990823 '257 "/" is current directory\r\n' 19:00:41.990879 < 6 bytes data, client => server 19:00:41.990890 'EPSV\r\n' 19:00:41.995866 Received DATA (on stdin) 19:00:41.995885 > 39 bytes data, server => client 19:00:41.995898 '229 Entering Passive Mode (|||41911|)\r\n' 19:00:41.996082 < 8 bytes data, client => server 19:00:41.996102 'TYPE I\r\n' 19:00:41.996356 Received DATA (on stdin) 19:00:41.996371 > 33 bytes data, server => client 19:00:41.996384 '200 I modify TYPE as you wanted\r\n' 19:00:41.996440 < 21 bytes data, client => server 19:00:41.996456 'SIZE verifiedserver\r\n' 19:00:41.996588 Received DATA (on stdin) 19:00:41.996603 > 8 bytes data, server => client 19:00:41.996614 '213 17\r\n' 19:00:41.996668 < 21 bytes data, client => server 19:00:41.996682 'RETR verifiedserver\r\n' 19:00:41.996921 Received DATA (on stdin) 19:00:41.996936 > 29 bytes data, server => client 19:00:41.996948 '150 Binary junk (17 bytes).\r\n' 19:00:41.997532 Received DATA (on stdin) 19:00:41.997548 > 28 bytes data, server => client 19:00:41.997560 '226 File transfer complete\r\n' 19:00:42.039855 < 6 bytes data, client => server 19:00:42.039973 'QUIT\r\n' 19:00:42.040204 Received DATA (on stdin) 19:00:42.040219 > 18 bytes data, server => client 19:00:42.040231 '221 bye bye baby\r\n' 19:00:42.042954 ====> Client disconnect 19:00:42.043177 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:42.995282 Running IPv4 version 19:00:42.995345 Listening on port 41911 19:00:42.995389 Wrote pid 98263 to log/23/server/ftp_sockdata.pid 19:00:42.995559 Received PING (on stdin) 19:00:42.995664 Received PORT (on stdin) 19:00:42.996126 ====> Client connect 19:00:42.996978 Received DATA (on stdin) 19:00:42.996993 > 17 bytes data, server => client 19:00:42.997006 'WE ROOLZ: 80691\r\n' 19:00:42.997033 Received DISC (on stdin) 19:00:42.997048 ====> Client forcibly disconnected 19:00:42.997223 Received QUIT (on stdin) 19:00:42.997238 quits 19:00:42.997304 ==========CMD (33792): ../libtool --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/valgrind415 ../src/curl -q --output log/11/curl415.out --include --trace-ascii log/11/trace415 --trace-time http://127.0.0.1:46317/415 > log/11/stdout415 2> log/11/stderr415 CMD (33792): ../libtool --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/valgrind405 ../src/curl -q --output log/3/curl405.out --include --trace-ascii log/3/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:36301/path/to/file/405 > log/3/stdout405 2> log/3/stderr405 ==> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 402 === End of file server.cmd === Start of file valgrind402 ==98432== ==98432== Process terminating with default action of signal 4 (SIGILL) ==98432== Illegal opcode at address 0x4013E00 ==98432== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98432== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98432== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98432== by 0x40037A4: 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/11/valgrind415 ../src/curl -q --output log/11/curl415.out --include --trace-ascii log/11/trace415 --trace-time http://127.0.0.1:46317/415 > log/11/stdout415 2> log/11/stderr415 415: 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 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/11/valgrind415 ../src/curl -q --output log/11/curl415.out --include --trace-ascii log/11/trace415 --trace-time http://127.0.0.1:46317/415 > log/11/stdout415 2> log/11/stderr415 === End of file commands.log === Start of file http_server.log 19:00:42.180492 ====> Client connect 19:00:42.180523 accept_connection 3 returned 4 19:00:42.180544 accept_connection 3 returned 0 19:00:42.180560 Read 93 bytes 19:00:42.180570 Process 93 bytes request 19:00:42.180585 Got request: GET /verifiedserver HTTP/1.1 19:00:42.180595 Are-we-friendly question received 19:00:42.180619 Wrote request (93 bytes) input to log/11/server.input 19:00:42.180636 Identifying ourselves as friends 19:00:42.180687 Response sent (56 bytes) and written to log/11/server.response 19:00:42.180697 special request received, no persistency 19:00:42.180707 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 45222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind415 ==98565== ==98565== Process terminating with default action of signal 4 (SIGILL) ==98565== Illegal opcode at address 0x4013E00 ==98565== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98565== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98565== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98565== by 0x40037A4: main (tool_main.c:199) === End of file valgrind415 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/3/valgrind405 ../src/curl -q --output log/3/curl405.out --include --trace-ascii log/3/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:36301/path/to/file/405 > log/3/stdout405 2> log/3/stderr405 curl returned 132, when expecting 35,28 405: exit FAILED == Contents of files in the log/3/ 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/3/valgrind405 ../src/curl -q --output log/3/curl405.out --include --trace-ascii log/3/trace405 --trace-time -m 5 --insecure ftps://127.0.0.1:36301/path/to/file/405 > log/3/stdout405 2> log/3/stderr405 === End of file commands.log === Start of file ftp_server.log 19:00:42.346242 ====> Client connect 19:00:42.346386 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:42.346674 < "USER anonymous" 19:00:42.346710 > "331 We are happy you popped in![CR][LF]" 19:00:42.346884 < "PASS ftp@example.com" 19:00:42.346912 > "230 Welcome you silly person[CR][LF]" 19:00:42.347072 < "PWD" 19:00:42.347103 > "257 "/" is current directory[CR][LF]" 19:00:42.347265 < "EPSV" 19:00:42.347289 ====> Passive DATA channel requested by client 19:00:42.347304 DATA sockfilt for passive data channel starting... 19:00:42.348960 DATA sockfilt for passive data channel started (pid 98448) 19:00:42.349074 DATA sockfilt for passive data channel listens on port 37309 19:00:42.349119 > "229 Entering Passive Mode (|||37309|)[CR][LF]" 19:00:42.349139 Client has been notified that DATA conn will be accepted on port 37309 19:00:42.349367 Client connects to port 37309 19:00:42.349397 ====> Client established passive DATA connection on port 37309 19:00:42.349476 < "TYPE I" 19:00:42.349502 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:42.349658 < "SIZE verifiedserver" 19:00:42.349695 > "213 17[CR][LF]" 19:00:42.349841 < "RETR verifiedserver" 19:00:42.349871 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:42.349951 =====> Closing passive DATA connection... 19:00:42.349966 Server disconnects passive DATA connection 19:00:42.350319 Server disconnected passive DATA connection 19:00:42.350344 DATA sockfilt for passive data channel quits (pid 98448) 19:00:42.350588 DATA sockfilt for passive data channel quit (pid 98448) 19:00:42.350613 =====> Closed passive DATA connection 19:00:42.350638 > "226 File transfer complete[CR][LF]" 19:00:42.392879 < "QUIT" 19:00:42.392944 > "221 bye bye baby[CR][LF]" 19:00:42.395105 MAIN sockfilt said DISC 19:00:42.395165 ====> Client disconnected 19:00:42.395248 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:42.118200 ====> Client connect 19:00:42.118459 Received DATA (on stdin) 19:00:42.118475 > 160 bytes data, server => client 19:00:42.118489 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:42.118501 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:42.118513 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:42.118591 < 16 bytes data, client => server 19:00:42.118605 'USER anonymous\r\n' 19:00:42.118774 Received DATA (on stdin) 19:00:42.118787 > 33 bytes data, server => client 19:00:42.118799 '331 We are happy you popped in!\r\n' 19:00:42.118852 < 22 bytes data, client => server 19:00:42.118864 'PASS ftp@example.com\r\n' 19:00:42.118974 Received DATA (on stdin) 19:00:42.118987 > 30 bytes data, server => client 19:00:42.118999 '230 Welcome you silly person\r\n' 19:00:42.119048 < 5 bytes data, client => server 19:00:42.119061 'PWD\r\n' 19:00:42.119163 Received DATA (on stdin) 19:00:42.119176 > 30 bytes data, server => client 19:00:42.119188 '257 "/" is current directory\r\n' 19:00:42.119244 < 6 bytes data, client => server 19:00:42.119256 'EPSV\r\n' 19:00:42.121205 Received DATA (on stdin) 19:00:42.121220 > 39 bytes data, server => client 19:00:42.121233 '229 Entering Passive Mode (|||37309|)\r\n' 19:00:42.121350 < 8 bytes data, client => server 19:00:42.121365 'TYPE I\r\n' 19:00:42.121563 Received DATA (on stdin) 19:00:42.121576 > 33 bytes data, server => client 19:00:42.121588 '200 I modify TYPE as you wanted\r\n' 19:00:42.121637 < 21 bytes data, client => server 19:00:42.121650 'SIZE verifiedserver\r\n' 19:00:42.121755 Received DATA (on stdin) 19:00:42.121767 > CMD (33792): ../libtool --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/valgrind418 ../src/curl -q --output log/5/curl418.out --include --trace-ascii log/5/trace418 --trace-time http://127.0.0.1:46771/418 -sS --tr-encoding > log/5/stdout418 2> log/5/stderr418 CMD (33792): ../libtool --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/valgrind416 ../src/curl -q --output log/4/curl416.out --include --trace-ascii log/4/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:35791/416 > log/4/stdout416 2> log/4/stderr416 8 bytes data, server => client 19:00:42.121778 '213 17\r\n' 19:00:42.121823 < 21 bytes data, client => server 19:00:42.121835 'RETR verifiedserver\r\n' 19:00:42.122029 Received DATA (on stdin) 19:00:42.122042 > 29 bytes data, server => client 19:00:42.122054 '150 Binary junk (17 bytes).\r\n' 19:00:42.122700 Received DATA (on stdin) 19:00:42.122714 > 28 bytes data, server => client 19:00:42.122727 '226 File transfer complete\r\n' 19:00:42.164519 < 6 bytes data, client => server 19:00:42.164563 'QUIT\r\n' 19:00:42.165012 Received DATA (on stdin) 19:00:42.165027 > 18 bytes data, server => client 19:00:42.165039 '221 bye bye baby\r\n' 19:00:42.166427 ====> Client disconnect 19:00:42.167313 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:42.120846 Running IPv4 version 19:00:42.120905 Listening on port 37309 19:00:42.120940 Wrote pid 98448 to log/3/server/ftp_sockdata.pid 19:00:42.120962 Received PING (on stdin) 19:00:42.121050 Received PORT (on stdin) 19:00:42.121385 ====> Client connect 19:00:42.122078 Received DATA (on stdin) 19:00:42.122092 > 17 bytes data, server => client 19:00:42.122104 'WE ROOLZ: 80615\r\n' 19:00:42.122239 Received DISC (on stdin) 19:00:42.122251 ====> Client forcibly disconnected 19:00:42.122414 Received QUIT (on stdin) 19:00:42.122427 quits 19:00:42.122486 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 405 === End of file server.cmd === Start of file valgrind405 ==98604== ==98604== Process terminating with default action of signal 4 (SIGILL) ==98604== Illegal opcode at address 0x4013E00 ==98604== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98604== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98604== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98604== by 0x40037A4: main (tool_main.c:199) === End of file valgrind405 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/5/valgrind418 ../src/curl -q --output log/5/curl418.out --include --trace-ascii log/5/trace418 --trace-time http://127.0.0.1:46771/418 -sS --tr-encoding > log/5/stdout418 2> log/5/stderr418 418: stderr FAILED: --- log/5/check-expected 2025-11-13 19:00:43.692724394 +0000 +++ log/5/check-generated 2025-11-13 19:00:43.692724394 +0000 @@ -1 +0,0 @@ -curl: (61) Reject response due to more than 5 content encodings[CR][LF] == Contents of files in the log/5/ 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/5/valgrind418 ../src/curl -q --output log/5/curl418.out --include --trace-ascii log/5/trace418 --trace-time http://127.0.0.1:46771/418 -sS --tr-encoding > log/5/stdout418 2> log/5/stderr418 === End of file commands.log === Start of file http_server.log 19:00:42.287522 ====> Client connect 19:00:42.287562 accept_connection 3 returned 4 19:00:42.287582 accept_connection 3 returned 0 19:00:42.289169 Read 93 bytes 19:00:42.289195 Process 93 bytes request 19:00:42.289212 Got request: GET /verifiedserver HTTP/1.1 19:00:42.289223 Are-we-friendly question received 19:00:42.289256 Wrote request (93 bytes) input to log/5/server.input 19:00:42.289277 Identifying ourselves as friends 19:00:42.289333 Response sent (56 bytes) and written to log/5/server.response 19:00:42.289345 special request received, no persistency 19:00:42.289355 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 32828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind418 ==98769== ==98769== Process terminating with default action of signal 4 (SIGILL) ==98769== Illegal opcode at address 0x4013E00 ==98769== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98769== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98769== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98769== by 0x40037A4: main (tool_main.c:199) === End of file valgrind418 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/4/valgrind416 ../src/curl -q --output log/4/curl416.out --include --trace-ascii log/4/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:35791/416 > log/4/stdout416 2> log/4/stderr416 416: 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 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/4/valgrind416 ../src/curl -q --output log/4/curl416.out --include --trace-ascii log/4/trace416 --trace-time --ignore-content-length ftp://127.0.0.1:35791/416 > log/4/stdout416 2> log/4/stderr416 === End of file commands.log === Start of file ftp_server.log 19:00:42.446442 ====> Client connect 19:00:42.446596 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:42.446836 < "USER anonymous" 19:00:42.446868 > "331 We are happy you popped in![CR][LF]" 19:00:42.446997 < "PASS ftp@example.com" 19:00:42.447018 > "230 Welcome you silly person[CR][LF]" 19:00:42.447132 < "PWD" 19:00:42.447155 > "257 "/" is current directory[CR][LF]" 19:00:42.447276 < "EPSV" 19:00:42.447300 ====> Passive DATA channel requested by client 19:00:42.447311 DATA sockfilt for passive data channel starting... 19:00:42.462057 DATA sockfilt for passive data channel started (pid 98597) 19:00:42.462216 DATA sockfilt for passive data channel listens on port 43075 19:00:42.462275 > "229 Entering Passive Mode (|||43075|)[CR][LF]" 19:00:42.462294 Client has been notified that DATA conn will be accepted on port 43075 19:00:42.462608 Client connects to port 43075 19:00:42.462638 ====> Client established passive DATA connection on port 43075 19:00:42.462735 < "TYPE I" 19:00:42.462766 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:42.462929 < "SIZE verifiedserver" 19:00:42.462965 > "213 17[CR][LF]" 19:00:42.463119 < "RETR verifiedserver" 19:00:42.463153 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:42.463239 =====> Closing passive DATA connection... 19:00:42.463255 Server disconnects passive DATA connection 19:00:42.463501 Server disconnected passive DATA connection 19:00:42.463528 DATA sockfilt for passive data channel quits (pid 98597) 19:00:42.463756 DATA sockfilt for passive data channel quit (pid 98597) 19:00:42.463780 =====> Closed passive DATA connection 19:00:42.463810 > "226 File transfer complete[CR][LF]" 19:00:42.510831 < "QUIT" 19:00:42.510891 > "221 bye bye baby[CR][LF]" 19:00:42.511878 MAIN sockfilt said DISC 19:00:42.511908 ====> Client disconnected 19:00:42.511974 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:42.218389 ====> Client connect 19:00:42.218663 Received DATA (on stdin) 19:00:42.218674 > 160 bytes data, server => client 19:00:42.218684 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:42.218693 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:42.218701 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:42.218760 < 16 bytes data, client => server 19:00:42.218770 'USER anonymous\r\n' 19:00:42.218926 Received DATA (on stdin) 19:00:42.218936 > 33 bytes data, server => client 19:00:42.218945 '331 We are happy you popped in!\r\n' 19:00:42.218984 < 22 bytes data, client => server 19:00:42.218993 'PASS ftp@example.com\r\n' 19:00:42.219073 Received DATA (on stdin) 19:00:42.219082 > 30 bytes data, server => client 19:00:42.219091 '230 Welcome you silly person\r\n' 19:00:42.219127 < 5 bytes data, client => server 19:00:42.219135 'PWD\r\n' 19:00:42.219209 Received DATA (on stdin) 19:00:42.219218 > 30 bytes data, server => client 19:00:42.219227 '257 "/" is current directory\r\n' 19:00:42.219272 < 6 bytes data, client => server 19:00:42.219281 'EPSV\r\n' 19:00:42.234369 Received DATA (on stdin) 19:00:42.234388 > 39 bytes data, server => client 19:00:42.234401 '229 Entering Passive Mode (|||43075|)\r\n' 19:00:42.234616 < 8 bytes data, client => server 19:00:42.234629 'TYPE I\r\n' 19:00:42.234829 Received DATA (on stdin) 19:00:42.234842 > 33 bytes data, server => client 19:00:42.234853 '200 I modify TYPE as you wanted\r\n' 19:00:42.234904 < 21 bytes data, client => server 19:00:42.234917 'SIZE verifiedserver\r\n' 19:00:42.235027 Received DATA (on stdin) 19:00:42.235040 > 8 bytes data, server => client 19:00:42.235051 '213 17\r\n' 19:00:42.235098 < 21 bytes data, client => server 19:00:42.235111 'RETR verifiedserver\r\n' 19:00:42.235408 Received DATA (on stdin) 19:00:42.235421 > 29 bytes data, server => client 19:00:42CMD (33792): ../libtool --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/valgrind419 ../src/curl -q --output log/21/curl419.out --include --trace-ascii log/21/trace419 --trace-time http://127.0.0.1:35043/419 -D loggg/save-here/fails > log/21/stdout419 2> log/21/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/17/valgrind421 ../src/curl -q --output log/17/curl421.out --include --trace-ascii log/17/trace421 --trace-time http://127.0.0.1:40515/421 -w '%{stderr}%{header_json}\n' -s > log/17/stdout421 2> log/17/stderr421 .235433 '150 Binary junk (17 bytes).\r\n' 19:00:42.235872 Received DATA (on stdin) 19:00:42.235886 > 28 bytes data, server => client 19:00:42.235898 '226 File transfer complete\r\n' 19:00:42.282675 < 6 bytes data, client => server 19:00:42.282705 'QUIT\r\n' 19:00:42.282959 Received DATA (on stdin) 19:00:42.282972 > 18 bytes data, server => client 19:00:42.282985 '221 bye bye baby\r\n' 19:00:42.283878 ====> Client disconnect 19:00:42.284035 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:42.233879 Running IPv4 version 19:00:42.233977 Listening on port 43075 19:00:42.234020 Wrote pid 98597 to log/4/server/ftp_sockdata.pid 19:00:42.234047 Received PING (on stdin) 19:00:42.234172 Received PORT (on stdin) 19:00:42.234586 ====> Client connect 19:00:42.235319 Received DATA (on stdin) 19:00:42.235333 > 17 bytes data, server => client 19:00:42.235345 'WE ROOLZ: 80681\r\n' 19:00:42.235371 Received DISC (on stdin) 19:00:42.235383 ====> Client forcibly disconnected 19:00:42.235597 Received QUIT (on stdin) 19:00:42.235610 quits 19:00:42.235671 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd RETRSIZE 7 Testnum 416 === End of file server.cmd === Start of file valgrind416 ==98721== ==98721== Process terminating with default action of signal 4 (SIGILL) ==98721== Illegal opcode at address 0x4013E00 ==98721== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98721== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98721== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98721== by 0x40037A4: main (tool_main.c:199) === End of file valgrind416 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/21/valgrind419 ../src/curl -q --output log/21/curl419.out --include --trace-ascii log/21/trace419 --trace-time http://127.0.0.1:35043/419 -D loggg/save-here/fails > log/21/stdout419 2> log/21/stderr419 curl returned 132, when expecting 23 419: exit FAILED == Contents of files in the log/21/ 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/21/valgrind419 ../src/curl -q --output log/21/curl419.out --include --trace-ascii log/21/trace419 --trace-time http://127.0.0.1:35043/419 -D loggg/save-here/fails > log/21/stdout419 2> log/21/stderr419 === End of file commands.log === Start of file http_server.log 19:00:42.291933 ====> Client connect 19:00:42.291965 accept_connection 3 returned 4 19:00:42.291982 accept_connection 3 returned 0 19:00:42.291997 Read 93 bytes 19:00:42.292008 Process 93 bytes request 19:00:42.292021 Got request: GET /verifiedserver HTTP/1.1 19:00:42.292031 Are-we-friendly question received 19:00:42.292058 Wrote request (93 bytes) input to log/21/server.input 19:00:42.292075 Identifying ourselves as friends 19:00:42.292132 Response sent (56 bytes) and written to log/21/server.response 19:00:42.292144 special request received, no persistency 19:00:42.292155 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 33600 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind419 ==98737== ==98737== Process terminating with default action of signal 4 (SIGILL) ==98737== Illegal opcode at address 0x4013E00 ==98737== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98737== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98737== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98737== by 0x40037A4: 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/6/valgrind420 ../src/curl -q --output log/6/curl420.out --include --trace-ascii log/6/trace420 --trace-time http://127.0.0.1:41595/func_test/del_cookie -b log/6/cookie420 -c log/6/save420 > log/6/stdout420 2> log/6/stderr420 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/17/valgrind421 ../src/curl -q --output log/17/curl421.out --include --trace-ascii log/17/trace421 --trace-time http://127.0.0.1:40515/421 -w '%{stderr}%{header_json}\n' -s > log/17/stdout421 2> log/17/stderr421 421: stderr FAILED: --- log/17/check-expected 2025-11-13 19:00:43.712724393 +0000 +++ log/17/check-generated 2025-11-13 19:00:43.712724393 +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/17/ 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/17/valgrind421 ../src/curl -q --output log/17/curl421.out --include --trace-ascii log/17/trace421 --trace-time http://127.0.0.1:40515/421 -w '%{stderr}%{header_json}\n' -s > log/17/stdout421 2> log/17/stderr421 === End of file commands.log === Start of file http_server.log 19:00:43.340229 ====> Client connect 19:00:43.340267 accept_connection 3 returned 4 19:00:43.340284 accept_connection 3 returned 0 19:00:43.340298 Read 93 bytes 19:00:43.340308 Process 93 bytes request 19:00:43.340323 Got request: GET /verifiedserver HTTP/1.1 19:00:43.340333 Are-we-friendly question received 19:00:43.340358 Wrote request (93 bytes) input to log/17/server.input 19:00:43.340376 Identifying ourselves as friends 19:00:43.340436 Response sent (56 bytes) and written to log/17/server.response 19:00:43.340447 special request received, no persistency 19:00:43.340458 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 36428 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind421 ==98886== ==98886== Process terminating with default action of signal 4 (SIGILL) ==98886== Illegal opcode at address 0x4013E00 ==98886== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98886== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98886== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98886== by 0x40037A4: main (tool_main.c:199) === End of file valgrind421 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/6/valgrind420 ../src/curl -q --output log/6/curl420.out --include --trace-ascii log/6/trace420 --trace-time http://127.0.0.1:41595/func_test/del_cookie -b log/6/cookie420 -c log/6/save420 > log/6/stdout420 2> log/6/stderr420 420: 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 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/6/valgrind420 ../src/curl -q --output log/6/curl420.out --include --trace-ascii log/6/trace420 --trace-time http://127.0.0.1:41595/func_test/del_cookie -b log/6/cookie420 -c log/6/save420 > log/6/stdout420 2> log/6/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 19:00:42.310830 ====> Client connect 19:00:42.310867 accept_connection 3 returned 4 19:00:42.310885 accept_connection 3 returned 0 19:00:42.310902 Read 93 bytes 19:00:42.310913 Process 93 bytes request 19:00:42.310928 Got request: GET /verifiedserver HTTP/1.1 19:00:42.310939 Are-we-friendly question received 19:00:42.310966 Wrote request (93 bytes) input to log/6/server.input 19:00:42.310988 Identifying ourselves as friends 19:00:42.311046 Response sent (56 bytes) and written to log/6/server.response 19:00:42.311057 special request received, no persistency 19:00:42.311067 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 36080 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE CMD (33792): ../libtool --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/valgrind423 ../src/curl -q --trace-ascii log/9/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:36745/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:36745/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/9/stdout423 2> log/9/stderr423 CMD (33792): ../libtool --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/valgrind422 ../src/curl -q --output log/8/curl422.out --include --trace-ascii log/8/trace422 --trace-time -O -I --next http://127.0.0.1:43853/422 > log/8/stdout422 2> log/8/stderr422 ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind420 ==98813== ==98813== Process terminating with default action of signal 4 (SIGILL) ==98813== Illegal opcode at address 0x4013E00 ==98813== at 0x4013E00: getparameter (tool_getparam.c:2846) ==98813== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==98813== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==98813== by 0x40037A4: main (tool_main.c:199) === End of file valgrind420 CMD (33792): ../libtool --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/valgrind424 ../src/curl -q --trace-ascii log/1/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:40353/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:40353/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:40353/ -L > log/1/stdout424 2> log/1/stderr424 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/9/valgrind423 ../src/curl -q --trace-ascii log/9/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:36745/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:36745/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/9/stdout423 2> log/9/stderr423 423: stdout FAILED: --- log/9/check-expected 2025-11-13 19:00:43.902724396 +0000 +++ log/9/check-generated 2025-11-13 19:00:43.902724396 +0000 @@ -1,4 +0,0 @@ -127.0.0.1+/423+http+uuuu+pppp+36745+qqqq+ffff[LF] -hello2000+/423+h55p+++1+qqqq+ffff[LF] -+++++++[LF] -127.0.0.1+/423+http+u22u+p22p+36745+qqqq+ffff[LF] == Contents of files in the log/9/ dir after test 423 === Start of file check-expected 127.0.0.1+/423+http+uuuu+pppp+36745+qqqq+ffff[LF] hello2000+/423+h55p+++1+qqqq+ffff[LF] +++++++[LF] 127.0.0.1+/423+http+u22u+p22p+36745+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/9/valgrind423 ../src/curl -q --trace-ascii log/9/trace423 --trace-time "http://uuuu:pppp@127.0.0.1:36745/423?qqqq#ffff" "h55p://hello2000:1/423?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:36745/423?qqqq#ffff" -w '%{url.host}+%{url.path}+%{url.scheme}+%{url.user}+%{url.password}+%{url.port}+%{url.query}+%{url.fragment}\n' > log/9/stdout423 2> log/9/stderr423 === End of file commands.log === Start of file http_server.log 19:00:42.510625 ====> Client connect 19:00:42.510672 accept_connection 3 returned 4 19:00:42.510694 accept_connection 3 returned 0 19:00:42.510712 Read 93 bytes 19:00:42.510723 Process 93 bytes request 19:00:42.510739 Got request: GET /verifiedserver HTTP/1.1 19:00:42.510749 Are-we-friendly question received 19:00:42.510793 Wrote request (93 bytes) input to log/9/server.input 19:00:42.510812 Identifying ourselves as friends 19:00:42.510890 Response sent (56 bytes) and written to log/9/server.response 19:00:42.510901 special request received, no persistency 19:00:42.510911 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 32828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind423 ==99077== ==99077== Process terminating with default action of signal 4 (SIGILL) ==99077== Illegal opcode at address 0x4013E00 ==99077== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99077== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99077== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99077== by 0x40037A4: main (tool_main.c:199) === End of file valgrind423 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/1/valgrind424 ../src/curl -q --trace-ascii log/1/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:40353/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:40353/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:40353/ -L > log/1/stdout424 2> log/1/stderr424 424: stdout FAILED: --- log/1/check-expected 2025-11-13 19:00:43.912724396 +0000 +++ log/1/check-generated 2025-11-13 19:00:43.912724396 +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/1/ 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/1/valgrind424 ../src/curl -q --trace-ascii log/1/trace424 --trace-time "http://uuuu:pppp@127.0.0.1:40353/424?qqqq#ffff" "h55p://hello2000:1/424?qqqq#ffff" "local host" "http://u22u:p22p@127.0.0.1:40353/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:40353/ -L > log/1/stdout424 2> log/1/stderr424 === End of file commands.log === Start of file http_server.log 19:00:42.513494 ====> Client connect 19:00:42.513530 accept_connection 3 returned 4 19:00:42.513548 accept_connection 3 returned 0 19:00:42.513564 Read 93 bytes 19:00:42.513575 Process 93 bytes request 19:00:42.513590 Got request: GET /verifiedserver HTTP/1.1 19:00:42.513601 Are-we-friendly question received 19:00:42.513627 Wrote request (93 bytes) input to log/1/server.input 19:00:42.513647 Identifying ourselves as friends 19:00:42.513717 Response sent (56 bytes) and written to log/1/server.response 19:00:42.513729 special request received, no persistency 19:00:42.513740 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind424 ==99085== ==99085== Process terminating with default action of signal 4 (SIGILL) ==99085== Illegal opcode at address 0x4013E00 ==99085== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99085== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99085== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99085== by 0x40037A4: main (tool_main.c:199) === End of file valgrind424 CMD (33792): ../libtool --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/valgrind425 ../src/curl -q --output log/13/curl425.out --include --trace-ascii log/13/trace425 --trace-time -T log/13/up425 http://127.0.0.1:35301/425/?fullpath > log/13/stdout425 2> log/13/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/20/valgrind426 ../src/curl -q --output log/20/curl426.out --include --trace-ascii log/20/trace426 --trace-time http://127.0.0.1:38583/426 -d foobar -C 3 > log/20/stdout426 2> log/20/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/7/valgrind427 ../src/curl -q --output log/7/curl427.out --include --trace-ascii log/7/trace427 --trace-time http://127.0.0.1:41017/427 -c log/7/cookies427 -L > log/7/stdout427 2> log/7/stderr427 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/8/valgrind422 ../src/curl -q --output log/8/curl422.out --include --trace-ascii log/8/trace422 --trace-time -O -I --next http://127.0.0.1:43853/422 > log/8/stdout422 2> log/8/stderr422 422: stderr FAILED: --- log/8/check-expected 2025-11-13 19:00:43.922724396 +0000 +++ log/8/check-generated 2025-11-13 19:00:43.922724396 +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/8/ 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/8/valgrind422 ../src/curl -q --output log/8/curl422.out --include --trace-ascii log/8/trace422 --trace-time -O -I --next http://127.0.0.1:43853/422 > log/8/stdout422 2> log/8/stderr422 === End of file commands.log === Start of file server.cmd Testnum 422 === End of file server.cmd === Start of file valgrind422 ==99017== ==99017== Process terminating with default action of signal 4 (SIGILL) ==99017== Illegal opcode at address 0x4013E00 ==99017== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99017== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99017== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99017== by 0x40037A4: main (tool_main.c:199) === End of file valgrind422 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/13/valgrind425 ../src/curl -q --output log/13/curl425.out --include --trace-ascii log/13/trace425 --trace-time -T log/13/up425 http://127.0.0.1:35301/425/?fullpath > log/13/stdout425 2> log/13/stderr425 425: 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 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/13/valgrind425 ../src/curl -q --output log/13/curl425.out --include --trace-ascii log/13/trace425 --trace-time -T log/13/up425 http://127.0.0.1:35301/425/?fullpath > log/13/stdout425 2> log/13/stderr425 === End of file commands.log === Start of file http_server.log 19:00:42.760129 ====> Client connect 19:00:42.760174 accept_connection 3 returned 4 19:00:42.760195 accept_connection 3 returned 0 19:00:42.760212 Read 93 bytes 19:00:42.760224 Process 93 bytes request 19:00:42.760240 Got request: GET /verifiedserver HTTP/1.1 19:00:42.760251 Are-we-friendly question received 19:00:42.760281 Wrote request (93 bytes) input to log/13/server.input 19:00:42.760301 Identifying ourselves as friends 19:00:42.760381 Response sent (56 bytes) and written to log/13/server.response 19:00:42.760395 special request received, no persistency 19:00:42.760406 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 43278 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file up425 content === End of file up425 === Start of file valgrind425 ==99256== ==99256== Process terminating with default action of signal 4 (SIGILL) ==99256== Illegal opcode at address 0x4013E00 ==99256== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99256== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99256== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99256== by 0x40037A4: main (tool_main.c:199) === End of file valgrind425 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/20/valgrind426 ../src/curl -q --output log/20/curl426.out --include --trace-ascii log/20/trace426 --trace-time http://127.0.0.1:38583/426 -d foobar -C 3 > log/20/stdout426 2> log/20/stderr426 curl returned 132, when expecting 2 426: exit FAILED == Contents of files in the log/20/ 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/20/valgrind426 ../src/curl -q --output log/20/curl426.out --include --trace-ascii log/20/trace426 --trace-time http://127.0.0.1:38583/426 -d foobar -C 3 > log/20/stdout426 2> log/20/stderr426 === End of file commands.log === Start of file http_server.log 19:00:42.783054 ====> Client connect 19:00:42.783087 accept_connection 3 returned 4 19:00:42.783104 accept_connection 3 returned 0 19:00:42.783119 Read 93 bytes 19:00:42.783130 Process 93 bytes request 19:00:42.783146 Got request: GET /verifiedserver HTTP/1.1 19:00:42.783156 Are-we-friendly question received 19:00:42.783179 Wrote request (93 bytes) input to log/20/server.input 19:00:42.783195 Identifying ourselves as friends 19:00:42.783246 Response sent (56 bytes) and written to log/20/server.response 19:00:42.783257 special request received, no persistency 19:00:42.783267 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 57592 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind426 ==99266== ==99266== Process terminating with default action of signal 4 (SIGILL) ==99266== Illegal opcode at address 0x4013E00 ==99266== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99266== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99266== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99266== by 0x40037A4: main (tool_main.c:199) === End of file valgrind426 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/7/valgrind427 ../src/curl -q --output log/7/curl427.out --include --trace-ascii log/7/trace427 --trace-time http://127.0.0.1:41017/427 -c log/7/cookies427 -L > log/7/stdout427 2> log/7/stderr427 427: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? CMD (33792): ../libtool --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/valgrind429 ../src/curl -q --output log/2/curl429.out --include --trace-ascii log/2/trace429 --trace-time http://127.0.0.1:44325/429 -K log/2/cmd > log/2/stdout429 2> log/2/stderr429 CMD (33792): ../libtool --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/valgrind428 ../src/curl -q --output log/10/curl428.out --include --trace-ascii log/10/trace428 --trace-time http://127.0.0.1:37879/428 -K log/10/cmd > log/10/stdout428 2> log/10/stderr428 Total curl failure? Returned: 132 == Contents of files in the log/7/ 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/7/valgrind427 ../src/curl -q --output log/7/curl427.out --include --trace-ascii log/7/trace427 --trace-time http://127.0.0.1:41017/427 -c log/7/cookies427 -L > log/7/stdout427 2> log/7/stderr427 === End of file commands.log === Start of file http_server.log 19:00:42.866380 ====> Client connect 19:00:42.866418 accept_connection 3 returned 4 19:00:42.866437 accept_connection 3 returned 0 19:00:42.866454 Read 93 bytes 19:00:42.866465 Process 93 bytes request 19:00:42.866480 Got request: GET /verifiedserver HTTP/1.1 19:00:42.866491 Are-we-friendly question received 19:00:42.866518 Wrote request (93 bytes) input to log/7/server.input 19:00:42.866536 Identifying ourselves as friends 19:00:42.866595 Response sent (56 bytes) and written to log/7/server.response 19:00:42.866608 special request received, no persistency 19:00:42.866619 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 34658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind427 ==99408== ==99408== Process terminating with default action of signal 4 (SIGILL) ==99408== Illegal opcode at address 0x4013E00 ==99408== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99408== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99408== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99408== by 0x40037A4: main (tool_main.c:199) === End of file valgrind427 setenv FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF = contents2023 test 0429...[Expand environment variable 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/2/valgrind429 ../src/curl -q --output log/2/curl429.out --include --trace-ascii log/2/trace429 --trace-time http://127.0.0.1:44325/429 -K log/2/cmd > log/2/stdout429 2> log/2/stderr429 429: 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 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/2/valgrind429 ../src/curl -q --output log/2/curl429.out --include --trace-ascii log/2/trace429 --trace-time http://127.0.0.1:44325/429 -K log/2/cmd > log/2/stdout429 2> log/2/stderr429 === End of file commands.log === Start of file http_server.log 19:00:43.883282 ====> Client connect 19:00:43.883314 accept_connection 3 returned 4 19:00:43.883331 accept_connection 3 returned 0 19:00:43.883345 Read 93 bytes 19:00:43.883356 Process 93 bytes request 19:00:43.883368 Got request: GET /verifiedserver HTTP/1.1 19:00:43.883379 Are-we-friendly question received 19:00:43.883402 Wrote request (93 bytes) input to log/2/server.input 19:00:43.883419 Identifying ourselves as friends 19:00:43.883472 Response sent (56 bytes) and written to log/2/server.response 19:00:43.883483 special request received, no persistency 19:00:43.883493 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 46552 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind429 ==99427== ==99427== Process terminating with default action of signal 4 (SIGILL) ==99427== Illegal opcode at address 0x4013E00 ==99427== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99427== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99427== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99427== by 0x40037A4: main (tool_main.c:199) === End of file valgrind429 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/10/valgrind428 ../src/curl -q --output log/10/curl428.out --include --trace-ascii log/10/trace428 --trace-time http://127.0.0.1:37879/428 -K log/10/cmd > log/10/stdout428 2> log/10/stderr428 428: 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 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/10/valgrind428 ../src/curl -q --output log/10/curl428.out --include --trace-ascii log/10/trace428 --trace-time http://127.0.0.1:37879/428 -K log/10/cmd > log/10/stdout428 2> log/10/stderr428 === End of file commands.log === Start of file http_server.log 19:00:42.881003 ====> Client connect 19:00:42.881045 accept_connection 3 returned 4 19:00:42.881063 accept_connection 3 returned 0 19:00:42.881080 Read 93 bytes 19:00:42.881091 Process 93 bytes request 19:00:42.881107 Got request: GET /verifiedserver HTTP/1.1 19:00:42.881117 Are-we-friendly question received 19:00:42.881143 Wrote request (93 bytes) input to log/10/server.input 19:00:42.881160 Identifying ourselves as friends 19:00:42.881216 Response sent (56 bytes) and written to log/10/server.response 19:00:42.881227 special request received, no persistency 19:00:42.881237 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 56150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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/16/valgrind430 ../src/curl -q --output log/16/curl430.out --include --trace-ascii log/16/trace430 --trace-time -K log/16/config430-a -K log/16/config430-b -K log/16/config430-c > log/16/stdout430 2> log/16/stderr430 CMD (33792): ../libtool --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/valgrind432 ../src/curl -q --output log/12/curl432.out --include --trace-ascii log/12/trace432 --trace-time -K log/12/config432 > log/12/stdout432 2> log/12/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/valgrind431 ../src/curl -q --output log/18/curl431.out --include --trace-ascii log/18/trace431 --trace-time -K log/18/config431-a -K log/18/config431-b --next -d c 127.0.0.1:39771/4310003 -H "c: c" > log/18/stdout431 2> log/18/stderr431 Testnum 428 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74578 === End of file server.response === Start of file valgrind428 ==99430== ==99430== Process terminating with default action of signal 4 (SIGILL) ==99430== Illegal opcode at address 0x4013E00 ==99430== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99430== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99430== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99430== by 0x40037A4: main (tool_main.c:199) === End of file valgrind428 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/16/valgrind430 ../src/curl -q --output log/16/curl430.out --include --trace-ascii log/16/trace430 --trace-time -K log/16/config430-a -K log/16/config430-b -K log/16/config430-c > log/16/stdout430 2> log/16/stderr430 430: 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 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/16/valgrind430 ../src/curl -q --output log/16/curl430.out --include --trace-ascii log/16/trace430 --trace-time -K log/16/config430-a -K log/16/config430-b -K log/16/config430-c > log/16/stdout430 2> log/16/stderr430 === End of file commands.log === Start of file config430-a --next url = 127.0.0.1:42747/4300001 header = "a: a" data = "a" === End of file config430-a === Start of file config430-b --next url = 127.0.0.1:42747/4300002 header = "b: b" data = "b" === End of file config430-b === Start of file config430-c --next url = 127.0.0.1:42747/4300003 header = "c: c" data = "c" === End of file config430-c === Start of file http_server.log 19:00:43.975929 ====> Client connect 19:00:43.975967 accept_connection 3 returned 4 19:00:43.975984 accept_connection 3 returned 0 19:00:43.976000 Read 93 bytes 19:00:43.976011 Process 93 bytes request 19:00:43.976024 Got request: GET /verifiedserver HTTP/1.1 19:00:43.976034 Are-we-friendly question received 19:00:43.976060 Wrote request (93 bytes) input to log/16/server.input 19:00:43.976077 Identifying ourselves as friends 19:00:43.976136 Response sent (56 bytes) and written to log/16/server.response 19:00:43.976147 special request received, no persistency 19:00:43.976157 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 59454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind430 ==99613== ==99613== Process terminating with default action of signal 4 (SIGILL) ==99613== Illegal opcode at address 0x4013E00 ==99613== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99613== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99613== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99613== by 0x40037A4: main (tool_main.c:199) === End of file valgrind430 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/12/valgrind432 ../src/curl -q --output log/12/curl432.out --include --trace-ascii log/12/trace432 --trace-time -K log/12/config432 > log/12/stdout432 2> log/12/stderr432 432: 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 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/12/valgrind432 ../src/curl -q --output log/12/curl432.out --include --trace-ascii log/12/trace432 --trace-time -K log/12/config432 > log/12/stdout432 2> log/12/stderr432 === End of file commands.log === Start of file config432 --next url = 127.0.0.1:46819/4320001 header = "a: a" data = "a" --next url = 127.0.0.1:46819/4320002 header = "b: b" data = "b" config = "log/12/config432-c" === End of file config432 === Start of file config432-c --next url = 127.0.0.1:46819/4320003 header = "c: c" data = "c" === End of file config432-c === Start of file http_server.log 19:00:42.995441 ====> Client connect 19:00:42.995476 accept_connection 3 returned 4 19:00:42.995493 accept_connection 3 returned 0 19:00:42.995508 Read 93 bytes 19:00:42.995519 Process 93 bytes request 19:00:42.995535 Got request: GET /verifiedserver HTTP/1.1 19:00:42.995545 Are-we-friendly question received 19:00:42.995572 Wrote request (93 bytes) input to log/12/server.input 19:00:42.995589 Identifying ourselves as friends 19:00:42.995643 Response sent (56 bytes) and written to log/12/server.response 19:00:42.995654 special request received, no persistency 19:00:42.995664 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 48176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind432 ==99636== ==99636== Process terminating with default action of signal 4 (SIGILL) ==99636== Illegal opcode at address 0x4013E00 ==99636== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99636== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99636== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99636== by 0x40037A4: main (tool_main.c:199) === End of file valgrind432 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/18/valgrind431 ../src/curl -q --output log/18/curl431.out --include --trace-ascii log/18/trace431 --trace-time -K log/18/config431-a -K log/18/config431-b --next -d c 127.0.0.1:39771/4310003 -H "c: c" > log/18/stdout431 2> log/18/stderr431 431: 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 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/18/valgrind431 ../src/curl -q --output log/18/curl431.out --include --trace-ascii log/18/trace431 --trace-time -K log/18/config431-a -K log/18/config431-b --next -d c 127.0.0.1:39771/4310003 -H "c: c" > 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/24/valgrind435 ../src/curl -q --include --trace-ascii log/24/trace435 --trace-time http://127.0.0.1:39383/435 http://127.0.0.1:39383/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/24/stdout435 2> log/24/stderr435 CMD (33792): ../libtool --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/valgrind434 ../src/curl -q --output log/15/curl434.out --include --trace-ascii log/15/trace434 --trace-time -K log/15/config434 > log/15/stdout434 2> log/15/stderr434 18/stdout431 2> log/18/stderr431 === End of file commands.log === Start of file config431-a --next url = 127.0.0.1:39771/4310001 header = "a: a" data = "a" === End of file config431-a === Start of file config431-b --next url = 127.0.0.1:39771/4310002 header = "b: b" data = "b" === End of file config431-b === Start of file http_server.log 19:00:42.992045 ====> Client connect 19:00:42.992082 accept_connection 3 returned 4 19:00:42.992100 accept_connection 3 returned 0 19:00:42.992115 Read 93 bytes 19:00:42.992126 Process 93 bytes request 19:00:42.992140 Got request: GET /verifiedserver HTTP/1.1 19:00:42.992151 Are-we-friendly question received 19:00:42.992178 Wrote request (93 bytes) input to log/18/server.input 19:00:42.992197 Identifying ourselves as friends 19:00:42.992251 Response sent (56 bytes) and written to log/18/server.response 19:00:42.992262 special request received, no persistency 19:00:42.992272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 54224 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind431 ==99627== ==99627== Process terminating with default action of signal 4 (SIGILL) ==99627== Illegal opcode at address 0x4013E00 ==99627== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99627== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99627== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99627== by 0x40037A4: main (tool_main.c:199) === End of file valgrind431 CMD (33792): ../libtool --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/valgrind436 ../src/curl --output log/22/curl436.out --include --trace-ascii log/22/trace436 --trace-time 127.0.0.1:41061/436 > log/22/stdout436 2> log/22/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/19/valgrind440 ../src/curl -q --include --trace-ascii log/19/trace440 --trace-time -x http://127.0.0.1:41761 http://this.hsts.example./440 --hsts log/19/input440 -w '%{url_effective}\n' > log/19/stdout440 2> log/19/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/24/valgrind435 ../src/curl -q --include --trace-ascii log/24/trace435 --trace-time http://127.0.0.1:39383/435 http://127.0.0.1:39383/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/24/stdout435 2> log/24/stderr435 435: stdout FAILED: --- log/24/check-expected 2025-11-13 19:00:44.412724400 +0000 +++ log/24/check-generated 2025-11-13 19:00:44.412724400 +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 == 39383[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 == 39383[LF] == Contents of files in the log/24/ 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 == 39383[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 == 39383[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/valgrind435 ../src/curl -q --include --trace-ascii log/24/trace435 --trace-time http://127.0.0.1:39383/435 http://127.0.0.1:39383/435 -w 'local port == %{local_port}\nlocal ip == %{local_ip}\nremote_ip == %{remote_ip}\nremote_port == %{remote_port}\n' > log/24/stdout435 2> log/24/stderr435 === End of file commands.log === Start of file http_server.log 19:00:43.099080 ====> Client connect 19:00:43.099119 accept_connection 3 returned 4 19:00:43.099138 accept_connection 3 returned 0 19:00:43.099153 Read 93 bytes 19:00:43.099164 Process 93 bytes request 19:00:43.099176 Got request: GET /verifiedserver HTTP/1.1 19:00:43.099187 Are-we-friendly question received 19:00:43.099216 Wrote request (93 bytes) input to log/24/server.input 19:00:43.099234 Identifying ourselves as friends 19:00:43.099291 Response sent (56 bytes) and written to log/24/server.response 19:00:43.099302 special request received, no persistency 19:00:43.099311 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 45802 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind435 ==99855== ==99855== Process terminating with default action of signal 4 (SIGILL) ==99855== Illegal opcode at address 0x4013E00 ==99855== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99855== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99855== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99855== by 0x40037A4: 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/15/valgrind434 ../src/curl -q --output log/15/curl434.out --include --trace-ascii log/15/trace434 --trace-time -K log/15/config434 > log/15/stdout434 2> log/15/stderr434 434: 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 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/15/valgrind434 ../src/curl -q --output log/15/curl434.out --include --trace-ascii log/15/trace434 --trace-time -K log/15/config434 > log/15/stdout434 2> log/15/stderr434 === End of file commands.log === Start of file config434 url = 127.0.0.1:44531/434 === End of file config434 === Start of file http_server.log 19:00:43.073672 ====> Client connect 19:00:43.073711 accept_connection 3 returned 4 19:00:43.073728 accept_connection 3 returned 0 19:00:43.073744 Read 93 bytes 19:00:43.073755 Process 93 bytes request 19:00:43.073771 Got request: GET /verifiedserver HTTP/1.1 19:00:43.073781 Are-we-friendly question received 19:00:43.073805 Wrote request (93 bytes) input to log/15/server.input 19:00:43.073823 Identifying ourselves as friends 19:00:43.073880 Response sent (56 bytes) and written to log/15/server.response 19:00:43.073892 special request received, no persistency 19:00:43.073902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 40742 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind434 ==99814== ==99814== Process terminating with default action of signal 4 (SIGILL) ==99814== Illegal opcode at address 0x4013E00 ==99814== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99814== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99814== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99814== by 0x40037A4: 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/23/valgrind441 ../src/curl -q --include --trace-ascii log/23/trace441 --trace-time -x http://127.0.0.1:35243 http://this.hsts.example/441 --hsts log/23/input441 -w '%{url_effective}\n' > log/23/stdout441 2> log/23/stderr441 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/19/valgrind440 ../src/curl -q --include --trace-ascii log/19/trace440 --trace-time -x http://127.0.0.1:41761 http://this.hsts.example./440 --hsts log/19/input440 -w '%{url_effective}\n' > log/19/stdout440 2> log/19/stderr440 440: stdout FAILED: --- log/19/check-expected 2025-11-13 19:00:44.422724400 +0000 +++ log/19/check-generated 2025-11-13 19:00:44.422724400 +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/19/ 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/19/valgrind440 ../src/curl -q --include --trace-ascii log/19/trace440 --trace-time -x http://127.0.0.1:41761 http://this.hsts.example./440 --hsts log/19/input440 -w '%{url_effective}\n' > log/19/stdout440 2> log/19/stderr440 === End of file commands.log === Start of file http_server.log 19:00:43.123461 ====> Client connect 19:00:43.123507 accept_connection 3 returned 4 19:00:43.123527 accept_connection 3 returned 0 19:00:43.123545 Read 93 bytes 19:00:43.123557 Process 93 bytes request 19:00:43.123573 Got request: GET /verifiedserver HTTP/1.1 19:00:43.123584 Are-we-friendly question received 19:00:43.123612 Wrote request (93 bytes) input to log/19/server.input 19:00:43.123630 Identifying ourselves as friends 19:00:43.123688 Response sent (56 bytes) and written to log/19/server.response 19:00:43.123700 special request received, no persistency 19:00:43.123710 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 52782 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind440 ==99919== ==99919== Process terminating with default action of signal 4 (SIGILL) ==99919== Illegal opcode at address 0x4013E00 ==99919== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99919== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==99919== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==99919== by 0x40037A4: main (tool_main.c:199) === End of file valgrind440 setenv CURL_HOME = /startdir/src/build-curl/tests/log/22 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/22/valgrind436 ../src/curl --output log/22/curl436.out --include --trace-ascii log/22/trace436 --trace-time 127.0.0.1:41061/436 > log/22/stdout436 2> log/22/stderr436 436: 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 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/22/valgrind436 ../src/curl --output log/22/curl436.out --include --trace-ascii log/22/trace436 --trace-time 127.0.0.1:41061/436 > log/22/stdout436 2> log/22/stderr436 === End of file commands.log === Start of file http_server.log 19:00:43.099078 ====> Client connect 19:00:43.099116 accept_connection 3 returned 4 19:00:43.099133 accept_connection 3 returned 0 19:00:43.099149 Read 93 bytes 19:00:43.099159 Process 93 bytes request 19:00:43.099175 Got request: GET /verifiedserver HTTP/1.1 19:00:43.099186 Are-we-friendly question received 19:00:43.099213 Wrote request (93 bytes) input to log/22/server.input 19:00:43.099231 Identifying ourselves as friends 19:00:43.099289 Response sent (56 bytes) and written to log/22/server.response 19:00:43.099299 special request received, no persistency 19:00:43.099309 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 55504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind436 ==99865== ==99865== Process terminating with default action of signal 4 (SIGILL) ==99865== Illegal opcode at address 0x4013E00 ==99865== at 0x4013E00: getparameter (tool_getparam.c:2846) ==99865== by 0x401E464: parseconfig (tool_parsecfg.c:211) ==99865== by 0x4003372: UnknownInlinedFun (tool_operate.c:2224) ==99865== by 0x4003372: main (tool_main.c:199) === End of file valgrind436 CMD (33792): ../libtool --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/valgrind442 ../src/curl -q --output log/14/curl442.out --include --trace-ascii log/14/trace442 --trace-time http://attack.invalid:36759/a/b/442 -b log/14/cookie442 --resolve attack.invalid:36759:127.0.0.1 -L > log/14/stdout442 2> log/14/stderr442 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/23/valgrind441 ../src/curl -q --include --trace-ascii log/23/trace441 --trace-time -x http://127.0.0.1:35243 http://this.hsts.example/441 --hsts log/23/input441 -w '%{url_effective}\n' > log/23/stdout441 2> log/23/stderr441 441: stdout FAILED: --- log/23/check-expected 2025-11-13 19:00:44.536057736 +0000 +++ log/23/check-generated 2025-11-13 19:00:44.536057736 +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/23/ 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/23/valgrind441 ../src/curl -q --include --trace-ascii log/23/trace441 --trace-time -x http://127.0.0.1:35243 http://this.hsts.example/441 --hsts log/23/input441 -w '%{url_effective}\n' > log/23/stdout441 2> log/23/stderr441 === End of file commands.log === Start of file http_server.log 19:00:43.214370 ====> Client connect 19:00:43.214403 accept_connection 3 returned 4 19:00:43.214421 accept_connection 3 returned 0 19:00:43.214436 Read 93 bytes 19:00:43.214446 Process 93 bytes request 19:00:43.214459 Got request: GET /verifiedserver HTTP/1.1 19:00:43.214469 Are-we-friendly question received 19:00:43.214495 Wrote request (93 bytes) input to log/23/server.input 19:00:43.214517 Identifying ourselves as friends 19:00:43.214569 Response sent (56 bytes) and written to log/23/server.response 19:00:43.214580 special request received, no persistency 19:00:43.214590 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 45470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind441 ==100069== ==100069== Process terminating with default action of signal 4 (SIGILL) ==100069== Illegal opcode at address 0x4013E00 ==100069== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100069== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100069== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100069== by 0x40037A4: main (tool_main.c:199) === End of file valgrind441 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/14/valgrind442 ../src/curl -q --output log/14/curl442.out --include --trace-ascii log/14/trace442 --trace-time http://attack.invalid:36759/a/b/442 -b log/14/cookie442 --resolve attack.invalid:36759:127.0.0.1 -L > log/14/stdout442 2> log/14/stderr442 442: 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 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/14/valgrind442 ../src/curl -q --output log/14/curl442.out --include --trace-ascii log/14/trace442 --trace-time http://attack.invalid:36759/a/b/442 -b log/14/cookie442 --resolve attack.invalid:36759:127.0.0.1 -L > log/14/stdout442 2> log/14/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 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/11/valgrind443 ../src/curl -q --output log/11/curl443.out --include --trace-ascii log/11/trace443 --trace-time http://attack.invalid:46317/a/b/443 -b log/11/cookie443 --resolve attack.invalid:46317:127.0.0.1 -L > log/11/stdout443 2> log/11/stderr443 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 19:00:43.274203 ====> Client connect 19:00:43.274243 accept_connection 3 returned 4 19:00:43.274265 accept_connection 3 returned 0 19:00:43.274281 Read 93 bytes 19:00:43.274292 Process 93 bytes request 19:00:43.274308 Got request: GET /verifiedserver HTTP/1.1 19:00:43.274319 Are-we-friendly question received 19:00:43.274347 Wrote request (93 bytes) input to log/14/server.input 19:00:43.274365 Identifying ourselves as friends 19:00:43.274428 Response sent (56 bytes) and written to log/14/server.response 19:00:43.274441 special request received, no persistency 19:00:43.274452 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 46520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind442 ==100132== ==100132== Process terminating with default action of signal 4 (SIGILL) ==100132== Illegal opcode at address 0x4013E00 ==100132== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100132== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100132== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100132== by 0x40037A4: main (tool_main.c:199) === End of file valgrind442 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/11/valgrind443 ../src/curl -q --output log/11/curl443.out --include --trace-ascii log/11/trace443 --trace-time http://attack.invalid:46317/a/b/443 -b log/11/cookie443 --resolve attack.invalid:46317:127.0.0.1 -L > log/11/stdout443 2> log/11/stderr443 443: 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 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/11/valgrind443 ../src/curl -q --output log/11/curl443.out --include --trace-ascii log/11/trace443 --trace-time http://attack.invalid:46317/a/b/443 -b log/11/cookie443 --resolve attack.invalid:46317:127.0.0.1 -L > log/11/stdout443 2> log/11/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 TRUCMD (33792): ../libtool --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/valgrind452 ../src/curl -q --output log/6/curl452.out --include --trace-ascii log/6/trace452 --trace-time http://127.0.0.1:41595/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/6/stdout452 2> log/6/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/3/valgrind444 ../src/curl -q --output log/3/curl444.out --include --trace-ascii log/3/trace444 --trace-time http://attack.invalid:46261/a/b/444 -c log/3/cookie444 --resolve attack.invalid:46261:127.0.0.1 > log/3/stdout444 2> log/3/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/21/valgrind450 ../src/curl -q --output log/21/curl450.out --include --trace-ascii log/21/trace450 --trace-time http://127.0.0.1:35043/450 --variable what@log/21/junk --expand-data "{{what:trim:url}}" > log/21/stdout450 2> log/21/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/4/valgrind449 ../src/curl -q --output log/4/curl449.out --include --trace-ascii log/4/trace449 --trace-time http://127.0.0.1:37985/449 -K log/4/cmd > log/4/stdout449 2> log/4/stderr449 CMD (33792): ../libtool --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/valgrind448 ../src/curl -q --output log/5/curl448.out --include --trace-ascii log/5/trace448 --trace-time http://127.0.0.1:46771/448 -K log/5/cmd > log/5/stdout448 2> log/5/stderr448 E / 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 19:00:43.349519 ====> Client connect 19:00:43.349554 accept_connection 3 returned 4 19:00:43.349573 accept_connection 3 returned 0 19:00:43.349589 Read 93 bytes 19:00:43.349601 Process 93 bytes request 19:00:43.349615 Got request: GET /verifiedserver HTTP/1.1 19:00:43.349626 Are-we-friendly question received 19:00:43.349656 Wrote request (93 bytes) input to log/11/server.input 19:00:43.349675 Identifying ourselves as friends 19:00:43.349735 Response sent (56 bytes) and written to log/11/server.response 19:00:43.349747 special request received, no persistency 19:00:43.349760 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 45238 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind443 ==100206== ==100206== Process terminating with default action of signal 4 (SIGILL) ==100206== Illegal opcode at address 0x4013E00 ==100206== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100206== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100206== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100206== by 0x40037A4: main (tool_main.c:199) === End of file valgrind443 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/6/valgrind452 ../src/curl -q --output log/6/curl452.out --include --trace-ascii log/6/trace452 --trace-time http://127.0.0.1:41595/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/6/stdout452 2> log/6/stderr452 curl returned 132, when expecting 2 452: exit FAILED == Contents of files in the log/6/ 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/6/valgrind452 ../src/curl -q --output log/6/curl452.out --include --trace-ascii log/6/trace452 --trace-time http://127.0.0.1:41595/452 --variable what=hello --expand-data "--{{what:trim:super}}" > log/6/stdout452 2> log/6/stderr452 === End of file commands.log === Start of file http_server.log 19:00:43.528081 ====> Client connect 19:00:43.528117 accept_connection 3 returned 4 19:00:43.528139 accept_connection 3 returned 0 19:00:43.528154 Read 93 bytes 19:00:43.528164 Process 93 bytes request 19:00:43.528179 Got request: GET /verifiedserver HTTP/1.1 19:00:43.528190 Are-we-friendly question received 19:00:43.528219 Wrote request (93 bytes) input to log/6/server.input 19:00:43.528237 Identifying ourselves as friends 19:00:43.528295 Response sent (56 bytes) and written to log/6/server.response 19:00:43.528305 special request received, no persistency 19:00:43.528315 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 36094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind452 ==100415== ==100415== Process terminating with default action of signal 4 (SIGILL) ==100415== Illegal opcode at address 0x4013E00 ==100415== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100415== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100415== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100415== by 0x40037A4: main (tool_main.c:199) === End of file valgrind452 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/3/valgrind444 ../src/curl -q --output log/3/curl444.out --include --trace-ascii log/3/trace444 --trace-time http://attack.invalid:46261/a/b/444 -c log/3/cookie444 --resolve attack.invalid:46261:127.0.0.1 > log/3/stdout444 2> log/3/stderr444 444: 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 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/3/valgrind444 ../src/curl -q --output log/3/curl444.out --include --trace-ascii log/3/trace444 --trace-time http://attack.invalid:46261/a/b/444 -c log/3/cookie444 --resolve attack.invalid:46261:127.0.0.1 > log/3/stdout444 2> log/3/stderr444 === End of file commands.log === Start of file http_server.log 19:00:44.487214 ====> Client connect 19:00:44.487248 accept_connection 3 returned 4 19:00:44.487266 accept_connection 3 returned 0 19:00:44.487282 Read 93 bytes 19:00:44.487293 Process 93 bytes request 19:00:44.487308 Got request: GET /verifiedserver HTTP/1.1 19:00:44.487318 Are-we-friendly question received 19:00:44.487344 Wrote request (93 bytes) input to log/3/server.input 19:00:44.487362 Identifying ourselves as friends 19:00:44.487414 Response sent (56 bytes) and written to log/3/server.response 19:00:44.487425 special request received, no persistency 19:00:44.487444 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 58210 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind444 ==100363== ==100363== Process terminating with default action of signal 4 (SIGILL) ==100363== Illegal opcode at address 0x4013E00 ==100363== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100363== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100363== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100363== by 0x40037A4: main (tool_main.c:199) === End of file valgrind444 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/4/valgrind449 ../src/curl -q --output log/4/curl449.out --include --trace-ascii log/4/trace449 --trace-time http://127.0.0.1:37985/449 -K log/4/cmd > log/4/stdout449 2> log/4/stderr449 449: 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 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 ../libtool --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/valgrind449 ../src/curl -q --output log/4/curl449.out --include --trace-ascii log/4/trace449 --trace-time http://127.0.0.1:37985/449 -K log/4/cmd > log/4/stdout449 2> log/4/stderr449 === End of file commands.log === Start of file http_server.log 19:00:44.516398 ====> Client connect 19:00:44.516433 accept_connection 3 returned 4 19:00:44.516452 accept_connection 3 returned 0 19:00:44.516468 Read 93 bytes 19:00:44.516479 Process 93 bytes request 19:00:44.516492 Got request: GET /verifiedserver HTTP/1.1 19:00:44.516502 Are-we-friendly question received 19:00:44.516527 Wrote request (93 bytes) input to log/4/server.input 19:00:44.516546 Identifying ourselves as friends 19:00:44.516605 Response sent (56 bytes) and written to log/4/server.response 19:00:44.516618 special request received, no persistency 19:00:44.516628 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 53284 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind449 ==100388== ==100388== Process terminating with default action of signal 4 (SIGILL) ==100388== Illegal opcode at address 0x4013E00 ==100388== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100388== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100388== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100388== by 0x40037A4: 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/21/valgrind450 ../src/curl -q --output log/21/curl450.out --include --trace-ascii log/21/trace450 --trace-time http://127.0.0.1:35043/450 --variable what@log/21/junk --expand-data "{{what:trim:url}}" > log/21/stdout450 2> log/21/stderr450 450: 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 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/21/valgrind450 ../src/curl -q --output log/21/curl450.out --include --trace-ascii log/21/trace450 --trace-time http://127.0.0.1:35043/450 --variable what@log/21/junk --expand-data "{{what:trim:url}}" > log/21/stdout450 2> log/21/stderr450 === End of file commands.log === Start of file http_server.log 19:00:43.516031 ====> Client connect 19:00:43.516072 accept_connection 3 returned 4 19:00:43.516092 accept_connection 3 returned 0 19:00:43.516113 Read 93 bytes 19:00:43.516125 Process 93 bytes request 19:00:43.516139 Got request: GET /verifiedserver HTTP/1.1 19:00:43.516150 Are-we-friendly question received 19:00:43.516178 Wrote request (93 bytes) input to log/21/server.input 19:00:43.516197 Identifying ourselves as friends 19:00:43.516263 Response sent (56 bytes) and written to log/21/server.response 19:00:43.516276 special request received, no persistency 19:00:43.516287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 33608 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind450 ==100385== ==100385== Process terminating with default action of signal 4 (SIGILL) ==100385== Illegal opcode at address 0x4013E00 ==100385== at 0x4013E00: getparameter (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/17/valgrind451 ../src/curl -q --output log/17/curl451.out --include --trace-ascii log/17/trace451 --trace-time http://127.0.0.1:40515/451 --variable what@log/17/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/17/stdout451 2> log/17/stderr451 CMD (33792): ../libtool --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/valgrind453 ../src/curl -q --output log/9/curl453.out --include --trace-ascii log/9/trace453 --trace-time http://127.0.0.1:36745/453 --variable what@log/9/junk --expand-data "{{what}}" > log/9/stdout453 2> log/9/stderr453 .c:2846) ==100385== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100385== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100385== by 0x40037A4: main (tool_main.c:199) === End of file valgrind450 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/5/valgrind448 ../src/curl -q --output log/5/curl448.out --include --trace-ascii log/5/trace448 --trace-time http://127.0.0.1:46771/448 -K log/5/cmd > log/5/stdout448 2> log/5/stderr448 448: 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 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/5/valgrind448 ../src/curl -q --output log/5/curl448.out --include --trace-ascii log/5/trace448 --trace-time http://127.0.0.1:46771/448 -K log/5/cmd > log/5/stdout448 2> log/5/stderr448 === End of file commands.log === Start of file http_server.log 19:00:43.514180 ====> Client connect 19:00:43.514218 accept_connection 3 returned 4 19:00:43.514236 accept_connection 3 returned 0 19:00:43.514253 Read 93 bytes 19:00:43.514264 Process 93 bytes request 19:00:43.514278 Got request: GET /verifiedserver HTTP/1.1 19:00:43.514289 Are-we-friendly question received 19:00:43.514312 Wrote request (93 bytes) input to log/5/server.input 19:00:43.514334 Identifying ourselves as friends 19:00:43.514409 Response sent (56 bytes) and written to log/5/server.response 19:00:43.514420 special request received, no persistency 19:00:43.514430 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 32842 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind448 ==100389== ==100389== Process terminating with default action of signal 4 (SIGILL) ==100389== Illegal opcode at address 0x4013E00 ==100389== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100389== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100389== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100389== by 0x40037A4: main (tool_main.c:199) === End of file valgrind448 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/17/valgrind451 ../src/curl -q --output log/17/curl451.out --include --trace-ascii log/17/trace451 --trace-time http://127.0.0.1:40515/451 --variable what@log/17/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/17/stdout451 2> log/17/stderr451 451: 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 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/17/valgrind451 ../src/curl -q --output log/17/curl451.out --include --trace-ascii log/17/trace451 --trace-time http://127.0.0.1:40515/451 --variable what@log/17/junk --variable second=hello --variable second=again --expand-data "--{{what:trim:json}}22{{none}}--{{second}}{{what:trim:url}}" > log/17/stdout451 2> log/17/stderr451 === End of file commands.log === Start of file http_server.log 19:00:44.537485 ====> Client connect 19:00:44.537517 accept_connection 3 returned 4 19:00:44.537534 accept_connection 3 returned 0 19:00:44.537548 Read 93 bytes 19:00:44.537558 Process 93 bytes request 19:00:44.537570 Got request: GET /verifiedserver HTTP/1.1 19:00:44.537580 Are-we-friendly question received 19:00:44.537602 Wrote request (93 bytes) input to log/17/server.input 19:00:44.537618 Identifying ourselves as friends 19:00:44.537666 Response sent (56 bytes) and written to log/17/server.response 19:00:44.537675 special request received, no persistency 19:00:44.537685 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 36442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind451 ==100464== ==100464== Process terminating with default action of signal 4 (SIGILL) ==100464== Illegal opcode at address 0x4013E00 ==100464== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100464== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100464== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100464== by 0x40037A4: main (tool_main.c:199) === End of file valgrind451 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/9/valgrind453 ../src/curl -q --output log/9/curl453.out --include --trace-ascii log/9/trace453 --trace-time http://127.0.0.1:36745/453 --variable what@log/9/junk --expand-data "{{what}}" > log/9/stdout453 2> log/9/stderr453 curl returned 132, when expecting 2 453: exit FAILED == Contents of files in the log/9/ 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/9/valgrind453 ../src/curl -q --output log/9/curl453.out --include --trace-ascii log/9/trace453 --trace-time http://127.0.0.1:36745/453 --variable what@log/9/junk --expand-data "{{what}}" > log/9/stdout453 2> log/9/stderr453 === End of file commands.log === Start of file http_server.log 19:00:43.711557 ====> Client connect 19:00:43.711592 accept_connection 3 returned 4 19:00:43.711610 accept_connection 3 returned 0 19:00:43.711627 Read 93 bytes 19:00:43.711639 Process 93 bytes request 19:00:43.711653 Got request: GET /verifiedserver HTTP/1.1 19:00:43.711664 Are-we-friendly question received 19:00:43.711691 Wrote request (93 bytes) input to log/9/server.input 19:00:43.711709 Identifying ourselves as friends 19:00:43.711767 Response sent (56 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/valgrind455 ../src/curl -q --output log/1/curl455.out --include --trace-ascii log/1/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:40353/{{moby:b64}}/{{what:64dec}}/455" > log/1/stdout455 2> log/1/stderr455 CMD (33792): ../libtool --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/valgrind454 ../src/curl -q --output log/8/curl454.out --include --trace-ascii log/8/trace454 --trace-time http://127.0.0.1:43853/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/8/stdout454 2> log/8/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/20/valgrind457 ../src/curl -q --output log/20/curl457.out --include --trace-ascii log/20/trace457 --trace-time http://127.0.0.1:38583/457 --max-filesize 143 > log/20/stdout457 2> log/20/stderr457 ytes) and written to log/9/server.response 19:00:43.711780 special request received, no persistency 19:00:43.711790 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 32836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind453 ==100716== ==100716== Process terminating with default action of signal 4 (SIGILL) ==100716== Illegal opcode at address 0x4013E00 ==100716== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100716== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100716== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100716== by 0x40037A4: 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/1/valgrind455 ../src/curl -q --output log/1/curl455.out --include --trace-ascii log/1/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:40353/{{moby:b64}}/{{what:64dec}}/455" > log/1/stdout455 2> log/1/stderr455 455: 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 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/1/valgrind455 ../src/curl -q --output log/1/curl455.out --include --trace-ascii log/1/trace455 --trace-time --variable moby="Call me Ishmael" --variable what=d2hpdGUtd2hhbGU= --expand-url "http://127.0.0.1:40353/{{moby:b64}}/{{what:64dec}}/455" > log/1/stdout455 2> log/1/stderr455 === End of file commands.log === Start of file http_server.log 19:00:43.762059 ====> Client connect 19:00:43.762099 accept_connection 3 returned 4 19:00:43.762117 accept_connection 3 returned 0 19:00:43.762134 Read 93 bytes 19:00:43.762145 Process 93 bytes request 19:00:43.762163 Got request: GET /verifiedserver HTTP/1.1 19:00:43.762174 Are-we-friendly question received 19:00:43.762201 Wrote request (93 bytes) input to log/1/server.input 19:00:43.762220 Identifying ourselves as friends 19:00:43.762277 Response sent (56 bytes) and written to log/1/server.response 19:00:43.762289 special request received, no persistency 19:00:43.762299 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48080 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind455 ==100795== ==100795== Process terminating with default action of signal 4 (SIGILL) ==100795== Illegal opcode at address 0x4013E00 ==100795== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100795== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100795== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100795== by 0x40037A4: main (tool_main.c:199) === End of file valgrind455 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/8/valgrind454 ../src/curl -q --output log/8/curl454.out --include --trace-ascii log/8/trace454 --trace-time http://127.0.0.1:43853/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/8/stdout454 2> log/8/stderr454 curl returned 132, when expecting 2 454: exit FAILED == Contents of files in the log/8/ 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/8/valgrind454 ../src/curl -q --output log/8/curl454.out --include --trace-ascii log/8/trace454 --trace-time http://127.0.0.1:43853/454 --variable what=hello --expand-data "--{{what:trim,url}}" > log/8/stdout454 2> log/8/stderr454 === End of file commands.log === Start of file http_server.log 19:00:43.751337 ====> Client connect 19:00:43.751379 accept_connection 3 returned 4 19:00:43.751397 accept_connection 3 returned 0 19:00:43.751413 Read 93 bytes 19:00:43.751424 Process 93 bytes request 19:00:43.751439 Got request: GET /verifiedserver HTTP/1.1 19:00:43.751450 Are-we-friendly question received 19:00:43.751474 Wrote request (93 bytes) input to log/8/server.input 19:00:43.751491 Identifying ourselves as friends 19:00:43.751545 Response sent (56 bytes) and written to log/8/server.response 19:00:43.751558 special request received, no persistency 19:00:43.751568 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 48752 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind454 ==100771== ==100771== Process terminating with default action of signal 4 (SIGILL) ==100771== Illegal opcode at address 0x4013E00 ==100771== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100771== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100771== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100771== by 0x40037A4: main (tool_main.c:199) === End of file valgrind454 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/20/valgrind457 ../src/curl -q --output log/20/curl457.out --include --trace-ascii log/20/trace457 --trace-time http://127.0.0.1:38583/457 --max-filesize 143 > log/20/stdout457 2> log/20/stderr457 457: 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 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/20/valgrind457 ../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/13/valgrind456 ../src/curl -q --output log/13/curl456.out --include --trace-ascii log/13/trace456 --trace-time http://127.0.0.1:35301/456 --variable what@log/13/junk --expand-data "{{what}}" > log/13/stdout456 2> log/13/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/7/valgrind458 ../src/curl -q --include --trace-ascii log/7/trace458 --trace-time http://127.0.0.1:41017/458 -K log/7/cmd > log/7/stdout458 2> log/7/stderr458 CMD (33792): ../libtool --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/valgrind460 ../src/curl -q --output log/10/curl460.out --include --trace-ascii log/10/trace460 --trace-time --expand-url > log/10/stdout460 2> log/10/stderr460 url -q --output log/20/curl457.out --include --trace-ascii log/20/trace457 --trace-time http://127.0.0.1:38583/457 --max-filesize 143 > log/20/stdout457 2> log/20/stderr457 === End of file commands.log === Start of file http_server.log 19:00:43.886224 ====> Client connect 19:00:43.886256 accept_connection 3 returned 4 19:00:43.886274 accept_connection 3 returned 0 19:00:43.886289 Read 93 bytes 19:00:43.886300 Process 93 bytes request 19:00:43.886316 Got request: GET /verifiedserver HTTP/1.1 19:00:43.886326 Are-we-friendly question received 19:00:43.886352 Wrote request (93 bytes) input to log/20/server.input 19:00:43.886369 Identifying ourselves as friends 19:00:43.886423 Response sent (56 bytes) and written to log/20/server.response 19:00:43.886434 special request received, no persistency 19:00:43.886445 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 57604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind457 ==100951== ==100951== Process terminating with default action of signal 4 (SIGILL) ==100951== Illegal opcode at address 0x4013E00 ==100951== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100951== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100951== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100951== by 0x40037A4: main (tool_main.c:199) === End of file valgrind457 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/13/valgrind456 ../src/curl -q --output log/13/curl456.out --include --trace-ascii log/13/trace456 --trace-time http://127.0.0.1:35301/456 --variable what@log/13/junk --expand-data "{{what}}" > log/13/stdout456 2> log/13/stderr456 curl returned 132, when expecting 2 456: exit FAILED == Contents of files in the log/13/ 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/13/valgrind456 ../src/curl -q --output log/13/curl456.out --include --trace-ascii log/13/trace456 --trace-time http://127.0.0.1:35301/456 --variable what@log/13/junk --expand-data "{{what}}" > log/13/stdout456 2> log/13/stderr456 === End of file commands.log === Start of file http_server.log 19:00:43.889976 ====> Client connect 19:00:43.890010 accept_connection 3 returned 4 19:00:43.890027 accept_connection 3 returned 0 19:00:43.890042 Read 93 bytes 19:00:43.890053 Process 93 bytes request 19:00:43.890065 Got request: GET /verifiedserver HTTP/1.1 19:00:43.890076 Are-we-friendly question received 19:00:43.890102 Wrote request (93 bytes) input to log/13/server.input 19:00:43.890121 Identifying ourselves as friends 19:00:43.890176 Response sent (56 bytes) and written to log/13/server.response 19:00:43.890187 special request received, no persistency 19:00:43.890197 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 43292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind456 ==100946== ==100946== Process terminating with default action of signal 4 (SIGILL) ==100946== Illegal opcode at address 0x4013E00 ==100946== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100946== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100946== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100946== by 0x40037A4: main (tool_main.c:199) === End of file valgrind456 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/7/valgrind458 ../src/curl -q --include --trace-ascii log/7/trace458 --trace-time http://127.0.0.1:41017/458 -K log/7/cmd > log/7/stdout458 2> log/7/stderr458 458: 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 458 === Start of file cmd --variable %FUNVALUE --expand-output log/7/{{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/7/valgrind458 ../src/curl -q --include --trace-ascii log/7/trace458 --trace-time http://127.0.0.1:41017/458 -K log/7/cmd > log/7/stdout458 2> log/7/stderr458 === End of file commands.log === Start of file http_server.log 19:00:43.898079 ====> Client connect 19:00:43.898108 accept_connection 3 returned 4 19:00:43.898124 accept_connection 3 returned 0 19:00:43.898137 Read 93 bytes 19:00:43.898146 Process 93 bytes request 19:00:43.898158 Got request: GET /verifiedserver HTTP/1.1 19:00:43.898168 Are-we-friendly question received 19:00:43.898192 Wrote request (93 bytes) input to log/7/server.input 19:00:43.898208 Identifying ourselves as friends 19:00:43.898257 Response sent (56 bytes) and written to log/7/server.response 19:00:43.898268 special request received, no persistency 19:00:43.898277 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 34672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind458 ==100961== ==100961== Process terminating with default action of signal 4 (SIGILL) ==100961== Illegal opcode at address 0x4013E00 ==100961== at 0x4013E00: getparameter (tool_getparam.c:2846) ==100961== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==100961== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==100961== by 0x40037A4: 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 CMD (33792): ../libtool --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/valgrind459 ../src/curl -q --output log/2/curl459.out --include --trace-ascii log/2/trace459 --trace-time http://127.0.0.1:44325/459 --config log/2/config --silent > log/2/stdout459 2> log/2/stderr459 --log-file=log/10/valgrind460 ../src/curl -q --output log/10/curl460.out --include --trace-ascii log/10/trace460 --trace-time --expand-url > log/10/stdout460 2> log/10/stderr460 curl returned 132, when expecting 2 460: exit FAILED == Contents of files in the log/10/ 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/10/valgrind460 ../src/curl -q --output log/10/curl460.out --include --trace-ascii log/10/trace460 --trace-time --expand-url > log/10/stdout460 2> log/10/stderr460 === End of file commands.log === Start of file server.cmd Testnum 460 === End of file server.cmd === Start of file valgrind460 ==101061== ==101061== Process terminating with default action of signal 4 (SIGILL) ==101061== Illegal opcode at address 0x4013E00 ==101061== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101061== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101061== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101061== by 0x40037A4: main (tool_main.c:199) === End of file valgrind460 CMD (33792): ../libtool --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/valgrind462 ../src/curl -q --output log/12/curl462.out --include --trace-ascii log/12/trace462 --trace-time http://127.0.0.1:46819/462 -K log/12/cmd > log/12/stdout462 2> log/12/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/16/valgrind461 ../src/curl -q --output log/16/curl461.out --include --trace-ascii log/16/trace461 --trace-time http://127.0.0.1:42747/461 -H host: > log/16/stdout461 2> log/16/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:39771/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/2/valgrind459 ../src/curl -q --output log/2/curl459.out --include --trace-ascii log/2/trace459 --trace-time http://127.0.0.1:44325/459 --config log/2/config --silent > log/2/stdout459 2> log/2/stderr459 459: stderr FAILED: --- log/2/check-expected 2025-11-13 19:00:45.322724409 +0000 +++ log/2/check-generated 2025-11-13 19:00:45.322724409 +0000 @@ -1,2 +0,0 @@ -Warning: log/2/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/2/ dir after test 459 === Start of file check-expected Warning: log/2/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/2/valgrind459 ../src/curl -q --output log/2/curl459.out --include --trace-ascii log/2/trace459 --trace-time http://127.0.0.1:44325/459 --config log/2/config --silent > log/2/stdout459 2> log/2/stderr459 === End of file commands.log === Start of file config data = arg with space === End of file config === Start of file http_server.log 19:00:44.998613 ====> Client connect 19:00:44.998648 accept_connection 3 returned 4 19:00:44.998667 accept_connection 3 returned 0 19:00:44.998686 Read 93 bytes 19:00:44.998698 Process 93 bytes request 19:00:44.998714 Got request: GET /verifiedserver HTTP/1.1 19:00:44.998725 Are-we-friendly question received 19:00:44.998752 Wrote request (93 bytes) input to log/2/server.input 19:00:44.998772 Identifying ourselves as friends 19:00:44.998835 Response sent (56 bytes) and written to log/2/server.response 19:00:44.998849 special request received, no persistency 19:00:44.998860 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 46558 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind459 ==101138== ==101138== Process terminating with default action of signal 4 (SIGILL) ==101138== Illegal opcode at address 0x4013E00 ==101138== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101138== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101138== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101138== by 0x40037A4: main (tool_main.c:199) === End of file valgrind459 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/12/valgrind462 ../src/curl -q --output log/12/curl462.out --include --trace-ascii log/12/trace462 --trace-time http://127.0.0.1:46819/462 -K log/12/cmd > log/12/stdout462 2> log/12/stderr462 curl returned 132, when expecting 2 462: exit FAILED == Contents of files in the log/12/ 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/12/valgrind462 ../src/curl -q --output log/12/curl462.out --include --trace-ascii log/12/trace462 --trace-time http://127.0.0.1:46819/462 -K log/12/cmd > log/12/stdout462 2> log/12/stderr462 === End of file commands.log === Start of file server.cmd Testnum 462 === End of file server.cmd === Start of file valgrind462 ==101240== ==101240== Process terminating with default action of signal 4 (SIGILL) ==101240== Illegal opcode at address 0x4013E00 ==101240== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101240== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101240== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101240== by 0x40037A4: main (tool_main.c:199) === End of file valgrind462 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/16/valgrind461 ../src/curl -q --output log/16/curl461.out --include --trace-ascii log/16/trace461 --trace-time http://127.0.0.1:42747/461 -H host: > log/16/stdout461 2> log/16/stderr461 461: 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 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/16/valgrind461 ../src/curl -q --output log/16/curl461.out --include --trace-ascii log/16/trace461 --trace-time http://127.0.0.1:42747/461 -H host: > log/16/stdout461 2> log/16/stderr461 === End of file commands.log === Start of file http_server.log 19:00:45.115701 ====> Client connect 19:00:45.115734 accept_connection 3 returned 4 19:00:45.115752 accept_connection 3 returned 0 19:00:45.115767 Read 93 bytes 19:00:45.115778 Process 93 bytes request 19:00:45.115792 Got request: GET /verifiedserver HTTP/1.1 19:00:45.115802 Are-we-friendly question received 19:00:45.115826 Wrote request (93 bytes) input to log/16/server.input 19:00:45.115843 Identifying ourselves as friends 19:00:45.115894 Response sent (56 bytes) and written to log/16/server.response 19:00:45.115904 special request received, no persistency 19:00:45.115914 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 59470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind461 ==101280== ==101280== Process terminating with default action of signal 4 (SIGILL) ==101280== Illegal opcode at address 0x4013E00 ==101280== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101280== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101280== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101280== by 0x40037A4: 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 CMD (33792): ../libtool --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/valgrind467 ../src/curl -q --output log/24/curl467.out --include --trace-ascii log/24/trace467 --trace-time curl -v http://example.com > log/24/stdout467 2> log/24/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/19/valgrind469 ../src/curl -q --output log/19/curl469.out --include --trace-ascii log/19/trace469 --trace-time -H “host: 127.0.0.1:41761/“ -s > log/19/stdout469 2> log/19/stderr469 -d @log/18/input463 http://127.0.0.1:39771/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:39771/463 > log/18/stdout463 2> log/18/stderr463 === End of file commands.log === Start of file http_server.log 19:00:44.128410 ====> Client connect 19:00:44.128447 accept_connection 3 returned 4 19:00:44.128466 accept_connection 3 returned 0 19:00:44.128483 Read 93 bytes 19:00:44.128495 Process 93 bytes request 19:00:44.128509 Got request: GET /verifiedserver HTTP/1.1 19:00:44.128520 Are-we-friendly question received 19:00:44.128550 Wrote request (93 bytes) input to log/18/server.input 19:00:44.128569 Identifying ourselves as friends 19:00:44.128632 Response sent (56 bytes) and written to log/18/server.response 19:00:44.128646 special request received, no persistency 19:00:44.128656 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 54240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind463 ==101301== ==101301== Process terminating with default action of signal 4 (SIGILL) ==101301== Illegal opcode at address 0x4013E00 ==101301== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101301== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101301== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101301== by 0x40037A4: 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/24/valgrind467 ../src/curl -q --output log/24/curl467.out --include --trace-ascii log/24/trace467 --trace-time curl -v http://example.com > log/24/stdout467 2> log/24/stderr467 curl returned 132, when expecting 2 467: exit FAILED == Contents of files in the log/24/ 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/24/valgrind467 ../src/curl -q --output log/24/curl467.out --include --trace-ascii log/24/trace467 --trace-time curl -v http://example.com > log/24/stdout467 2> log/24/stderr467 === End of file commands.log === Start of file server.cmd Testnum 467 === End of file server.cmd === Start of file valgrind467 ==101418== ==101418== Process terminating with default action of signal 4 (SIGILL) ==101418== Illegal opcode at address 0x4013E00 ==101418== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101418== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101418== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101418== by 0x40037A4: 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/15/valgrind470 ../src/curl -q --output log/15/curl470.out --include --trace-ascii log/15/trace470 --trace-time 127.0.0.1:44531 --no-progress-meter -K "log/15/input470" > log/15/stdout470 2> log/15/stderr470 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/19/valgrind469 ../src/curl -q --output log/19/curl469.out --include --trace-ascii log/19/trace469 --trace-time -H “host: 127.0.0.1:41761/“ -s > log/19/stdout469 2> log/19/stderr469 469: stderr FAILED: --- log/19/check-expected 2025-11-13 19:00:45.516057745 +0000 +++ log/19/check-generated 2025-11-13 19:00:45.516057745 +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/19/ 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/19/valgrind469 ../src/curl -q --output log/19/curl469.out --include --trace-ascii log/19/trace469 --trace-time -H “host: 127.0.0.1:41761/“ -s > log/19/stdout469 2> log/19/stderr469 === End of file commands.log === Start of file http_server.log 19:00:44.239855 ====> Client connect 19:00:44.239891 accept_connection 3 returned 4 19:00:44.239910 accept_connection 3 returned 0 19:00:44.239926 Read 93 bytes 19:00:44.239937 Process 93 bytes request 19:00:44.239951 Got request: GET /verifiedserver HTTP/1.1 19:00:44.239961 Are-we-friendly question received 19:00:44.239988 Wrote request (93 bytes) input to log/19/server.input 19:00:44.240006 Identifying ourselves as friends 19:00:44.240063 Response sent (56 bytes) and written to log/19/server.response 19:00:44.240075 special request received, no persistency 19:00:44.240085 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 52798 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind469 ==101471== ==101471== Process terminating with default action of signal 4 (SIGILL) ==101471== Illegal opcode at address 0x4013E00 ==101471== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101471== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101471== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101471== by 0x40037A4: 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/22/valgrind468 ../src/curl -q --trace-ascii log/22/trace468 --trace-time http://127.0.0.1:41061/468 -K log/22/cmd468 -w "" > log/22/stdout468 2> log/22/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/15/valgrind470 ../src/curl -q --output log/15/curl470.out --include --trace-ascii log/15/trace470 --trace-time 127.0.0.1:44531 --no-progress-meter -K "log/15/input470" > log/15/stdout470 2> log/15/stderr470 470: stderr FAILED: --- log/15/check-expected 2025-11-13 19:00:45.559391077 +0000 +++ log/15/check-generated 2025-11-13 19:00:45.559391077 +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/15/ 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/15/valgrind470 ../src/curl -q --output log/15/curl470.out --include --trace-ascii log/15/trace470 --trace-time 127.0.0.1:44531 --no-progress-meter -K "log/15/input470" > log/15/stdout470 2> log/15/stderr470 === End of file commands.log === Start of file http_server.log 19:00:44.285141 ====> Client connect 19:00:44.285180 accept_connection 3 returned 4 19:00:44.285199 accept_connection 3 returned 0 19:00:44.285357 Read 93 bytes 19:00:44.285373 Process 93 bytes request 19:00:44.285390 Got request: GET /verifiedserver HTTP/1.1 19:00:44.285402 Are-we-friendly question received 19:00:44.285434 Wrote request (93 bytes) input to log/15/server.input 19:00:44.285453 Identifying ourselves as friends 19:00:44.285508 Response sent (56 bytes) and written to log/15/server.response 19:00:44.285519 special request received, no persistency 19:00:44.285530 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 40758 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind470 ==101551== ==101551== Process terminating with default action of signal 4 (SIGILL) ==101551== Illegal opcode at address 0x4013E00 ==101551== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101551== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101551== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101551== by 0x40037A4: main (tool_main.c:199) === End of file valgrind470 CMD (33792): ../libtool --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/valgrind471 ../src/curl -q --include --trace-ascii log/23/trace471 --trace-time "http://127.0.0.1:35243/{471,4710001}" -o "log/23/dumpit#1.dump" > log/23/stdout471 2> log/23/stderr471 CMD (33792): ../libtool --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/valgrind473 ../src/curl -q --output log/14/curl473.out --include --trace-ascii log/14/trace473 --trace-time http://127.0.0.1:36759/473 --etag-save log/14/etag473 > log/14/stdout473 2> log/14/stderr473 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/22/valgrind468 ../src/curl -q --trace-ascii log/22/trace468 --trace-time http://127.0.0.1:41061/468 -K log/22/cmd468 -w "" > log/22/stdout468 2> log/22/stderr468 468: stdout FAILED: --- log/22/check-expected 2025-11-13 19:00:45.566057745 +0000 +++ log/22/check-generated 2025-11-13 19:00:45.566057745 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/22/ 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/22/valgrind468 ../src/curl -q --trace-ascii log/22/trace468 --trace-time http://127.0.0.1:41061/468 -K log/22/cmd468 -w "" > log/22/stdout468 2> log/22/stderr468 === End of file commands.log === Start of file http_server.log 19:00:44.249624 ====> Client connect 19:00:44.249657 accept_connection 3 returned 4 19:00:44.249675 accept_connection 3 returned 0 19:00:44.249689 Read 93 bytes 19:00:44.249699 Process 93 bytes request 19:00:44.249713 Got request: GET /verifiedserver HTTP/1.1 19:00:44.249723 Are-we-friendly question received 19:00:44.249745 Wrote request (93 bytes) input to log/22/server.input 19:00:44.249762 Identifying ourselves as friends 19:00:44.249812 Response sent (56 bytes) and written to log/22/server.response 19:00:44.249823 special request received, no persistency 19:00:44.249834 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 55516 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind468 ==101500== ==101500== Process terminating with default action of signal 4 (SIGILL) ==101500== Illegal opcode at address 0x4013E00 ==101500== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101500== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101500== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101500== by 0x40037A4: main (tool_main.c:199) === End of file valgrind468 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/23/valgrind471 ../src/curl -q --include --trace-ascii log/23/trace471 --trace-time "http://127.0.0.1:35243/{471,4710001}" -o "log/23/dumpit#1.dump" > log/23/stdout471 2> log/23/stderr471 471: 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 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/23/valgrind471 ../src/curl -q --include --trace-ascii log/23/trace471 --trace-time "http://127.0.0.1:35243/{471,4710001}" -o "log/23/dumpit#1.dump" > log/23/stdout471 2> log/23/stderr471 === End of file commands.log === Start of file http_server.log 19:00:44.355989 ====> Client connect 19:00:44.356024 accept_connection 3 returned 4 19:00:44.356042 accept_connection 3 returned 0 19:00:44.356059 Read 93 bytes 19:00:44.356071 Process 93 bytes request 19:00:44.356085 Got request: GET /verifiedserver HTTP/1.1 19:00:44.356096 Are-we-friendly question received 19:00:44.356123 Wrote request (93 bytes) input to log/23/server.input 19:00:44.356141 Identifying ourselves as friends 19:00:44.356197 Response sent (56 bytes) and written to log/23/server.response 19:00:44.356209 special request received, no persistency 19:00:44.356219 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 45478 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === End of file http_verify.out === Start 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: 74418 === End of file server.response === Start of file valgrind471 ==101685== ==101685== Process terminating with default action of signal 4 (SIGILL) ==101685== Illegal opcode at address 0x4013E00 ==101685== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101685== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101685== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101685== by 0x40037A4: main (tool_main.c:199) === End of file valgrind471 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/14/valgrind473 ../src/curl -q --output log/14/curl473.out --include --trace-ascii log/14/trace473 --trace-time http://127.0.0.1:36759/473 --etag-save log/14/etag473 > log/14/stdout473 2> log/14/stderr473 473: 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 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/14/valgrind473 ../src/curl -q --output log/14/curl473.out --include --trace-ascii log/14/trace473 --trace-time http://127.0.0.1:36759/473 --etag-save log/14/etag473 > log/14/stdout473 2> log/14/stderr473 === End of file commands.log === Start of file http_server.log 19:00:44.458261 ====> Client connect 19:00:44.458294 accept_connection 3 returned 4 19:00:44.458311 accept_connection 3 returned 0 19:00:44.458326 Read 93 bytes 19:00:44.458337 Process 93 bytes request 19:00:44.458349 Got request: GET /verifiedserver HTTP/1.1 19:00:44.458360 Are-we-friendly question received 19:00:44.458386 Wrote request (93 bytes) input to log/14/server.input 19:00:44.458403 Identifying ourselves as friends 19:00:44.458457 Response sent (56 bytes) and written to log/14/server.response 19:00:44.458468 special request received, no persistency 19:00:44.458478 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 46528 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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/11/valgrind475 ../src/curl -q --output log/11/curl475.out --include --trace-ascii log/11/trace475 --trace-time "ftp://127.0.0.1:35787/475;type=a" -T log/11/test475.txt > log/11/stdout475 2> log/11/stderr475 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: 74428 === End of file server.response === Start of file valgrind473 ==101784== ==101784== Process terminating with default action of signal 4 (SIGILL) ==101784== Illegal opcode at address 0x4013E00 ==101784== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101784== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101784== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101784== by 0x40037A4: main (tool_main.c:199) === End of file valgrind473 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/11/valgrind475 ../src/curl -q --output log/11/curl475.out --include --trace-ascii log/11/trace475 --trace-time "ftp://127.0.0.1:35787/475;type=a" -T log/11/test475.txt > log/11/stdout475 2> log/11/stderr475 475: 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 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/11/valgrind475 ../src/curl -q --output log/11/curl475.out --include --trace-ascii log/11/trace475 --trace-time "ftp://127.0.0.1:35787/475;type=a" -T log/11/test475.txt > log/11/stdout475 2> log/11/stderr475 === End of file commands.log === Start of file ftp_server.log 19:00:44.708514 ====> Client connect 19:00:44.708685 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:44.709027 < "USER anonymous" 19:00:44.709075 > "331 We are happy you popped in![CR][LF]" 19:00:44.709294 < "PASS ftp@example.com" 19:00:44.709332 > "230 Welcome you silly person[CR][LF]" 19:00:44.709507 < "PWD" 19:00:44.709537 > "257 "/" is current directory[CR][LF]" 19:00:44.709730 < "EPSV" 19:00:44.709757 ====> Passive DATA channel requested by client 19:00:44.709771 DATA sockfilt for passive data channel starting... 19:00:44.711420 DATA sockfilt for passive data channel started (pid 101791) 19:00:44.711530 DATA sockfilt for passive data channel listens on port 39351 19:00:44.711572 > "229 Entering Passive Mode (|||39351|)[CR][LF]" 19:00:44.711591 Client has been notified that DATA conn will be accepted on port 39351 19:00:44.711821 Client connects to port 39351 19:00:44.711851 ====> Client established passive DATA connection on port 39351 19:00:44.711931 < "TYPE I" 19:00:44.711959 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:44.712138 < "SIZE verifiedserver" 19:00:44.712177 > "213 17[CR][LF]" 19:00:44.712337 < "RETR verifiedserver" 19:00:44.712371 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:44.712454 =====> Closing passive DATA connection... 19:00:44.712471 Server disconnects passive DATA connection 19:00:44.712715 Server disconnected passive DATA connection 19:00:44.712741 DATA sockfilt for passive data channel quits (pid 101791) 19:00:44.712972 DATA sockfilt for passive data channel quit (pid 101791) 19:00:44.712996 =====> Closed passive DATA connection 19:00:44.713025 > "226 File transfer complete[CR][LF]" 19:00:44.760850 < "QUIT" 19:00:44.760926 > "221 bye bye baby[CR][LF]" 19:00:44.761523 MAIN sockfilt said DISC 19:00:44.761588 ====> Client disconnected 19:00:44.761675 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:44.480463 ====> Client connect 19:00:44.480776 Received DATA (on stdin) 19:00:44.480797 > 160 bytes data, server => client 19:00:44.480811 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:44.480823 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:44.480834 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:44.480923 < 16 bytes data, client => server 19:00:44.480939 'USER anonymous\r\n' 19:00:44.481146 Received DATA (on stdin) 19:00:44.481161 > 33 bytes data, server => client 19:00:44.481173 '331 We are happy you popped in!\r\n' 19:00:44.481232 < 22 bytes data, client => server 19:00:44.481246 'PASS ftp@example.com\r\n' 19:00:44.481398 Received DATA (on stdin) 19:00:44.481412 > 30 bytes data, server => client 19:00:44.481424 '230 Welcome you silly person\r\n' 19:00:44.481482 < 5 bytes data, client => server 19:00:44.481493 'PWD\r\n' 19:00:44.481601 Received DATA (on stdin) 19:00:44.481621 > 30 bytes data, server => client 19:00:44.481633 '257 "/" is current directory\r\n' 19:00:44.481700 < 6 bytes data, client => server 19:00:44.481712 'EPSV\r\n' 19:00:44.483658 Received DATA (on stdin) 19:00:44.483673 > 39 bytes data, server => client 19:00:44.483686 '229 Entering Passive Mode (|||39351|)\r\n' 19:00:44.483828 < 8 bytes data, client => server 19:00:44.483840 'TYPE I\r\n' 19:00:44.484022 Received DATA (on stdin) 19:00:44.484035 > 33 bytes data, server => client 19:00:44.484047 '200 I modify TYPE as you wanted\r\n' 19:00:44.484103 < 21 bytes data, client => server 19:00:44.484116 'SIZE verifiedserver\r\n' 19:00:44.484238 Received DATA (on stdin) 19:00:44.484251 > 8 bytes data, server => client 19:00:44.484262 '213 17\r\n' 19:00:44.484315 < 21 bytes data, client => server 19:00:44.484327 'RETR verifiedserver\r\n' 19:00:44.484535 Received DATA (on stdin) 19:00:44.484548 > 29 bytes data, server => client 19:00:44.484560 '150 Binary junk (17 bytes).\r\n' 19:00:44.485087 Received DATA (on stdin) 19:00:44.485101 > 28 bytes data, server => client 19:00:44.485114 '226 File transfer complete\r\n' 19:00:44.532723 < 6 bytes data, client => server 19:00:44.532759 'QUIT\r\n' 19:00:44.532996 Received DATA (on stdin) 19:00:44.533012 > 18 bytes data, server => client 19:00:44.533024 '221 bye bye baby\r\n' 19:00:44.533182 ====> Client disconnect 19:00:44.533740 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:44.483267 Running IPv4 version 19:00:44.483332 Listening on port 39351 19:00:44.483400 Wrote pid 101791 to log/11/server/ftp_sockdata.pid 19:00:44.483423 Received PING (on stdin) 19:00:44.483505 Received PORT (on stdin) 19:00:44.483799 ====> Client connect 19:00:44.484587 Received DATA (on stdin) 19:00:44.484601 > 17 bytes data, server => client 19:00:44.484613 'WE ROOLZ: 80684\r\n' 19:00:44.484638 Received DISC (on stdin) 19:00:44.484651 ====> Client forcibly disconnected 19:00:44.484810 Received QUIT (on stdin) 19:00:44.484823 quits 19:00:44.484881 ============> 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 textCMD (33792): ../libtool --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/valgrind478 ../src/curl -q --output log/5/curl478.out --include --trace-ascii log/5/trace478 --trace-time --netrc --netrc-file log/5/netrc478 -x http://127.0.0.1:46771/ http://debbie@github.com/ > log/5/stdout478 2> log/5/stderr478 used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this 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 ==101845== ==101845== Process terminating with default action of signal 4 (SIGILL) ==101845== Illegal opcode at address 0x4013E00 ==101845== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101845== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101845== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101845== by 0x40037A4: main (tool_main.c:199) === End of file valgrind475 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/5/valgrind478 ../src/curl -q --output log/5/curl478.out --include --trace-ascii log/5/trace478 --trace-time --netrc --netrc-file log/5/netrc478 -x http://127.0.0.1:46771/ http://debbie@github.com/ > log/5/stdout478 2> log/5/stderr478 478: 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 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/5/valgrind478 ../src/curl -q --output log/5/curl478.out --include --trace-ascii log/5/trace478 --trace-time --netrc --netrc-file log/5/netrc478 -x http://127.0.0.1:46771/ http://debbie@github.com/ > log/5/stdout478 2> log/5/stderr478 === End of file commands.log === Start of file http_server.log 19:00:44.664124 ====> Client connect 19:00:44.664158 accept_connection 3 returned 4 19:00:44.664175 accept_connection 3 returned 0 19:00:44.664191 Read 93 bytes 19:00:44.664200 Process 93 bytes request 19:00:44.664213 Got request: GET /verifiedserver HTTP/1.1 19:00:44.664222 Are-we-friendly question received 19:00:44.664245 Wrote request (93 bytes) input to log/5/server.input 19:00:44.664261 Identifying ourselves as friends 19:00:44.664312 Response sent (56 bytes) and written to log/5/server.response 19:00:44.664323 special request received, no persistency 19:00:44.664333 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) CMD (33792): ../libtool --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/valgrind477 ../src/curl -q --output log/21/curl477.out --include --trace-ascii log/21/trace477 --trace-time http://127.0.0.1:35043/477 --max-filesize 5 -L > log/21/stdout477 2> log/21/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/17/valgrind479 ../src/curl -q --output log/17/curl479.out --include --trace-ascii log/17/trace479 --trace-time --netrc --netrc-file log/17/netrc479 -L -x http://127.0.0.1:40515/ http://a.com/ > log/17/stdout479 2> log/17/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/6/valgrind476 ../src/curl -q --output log/6/curl476.out --include --trace-ascii log/6/trace476 --trace-time "ftp://127.0.0.1:36475/476;type=a" -T log/6/test476.txt > log/6/stdout476 2> log/6/stderr476 from 127.0.0.1 port 32854 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind478 ==101964== ==101964== Process terminating with default action of signal 4 (SIGILL) ==101964== Illegal opcode at address 0x4013E00 ==101964== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101964== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101964== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101964== by 0x40037A4: main (tool_main.c:199) === End of file valgrind478 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/21/valgrind477 ../src/curl -q --output log/21/curl477.out --include --trace-ascii log/21/trace477 --trace-time http://127.0.0.1:35043/477 --max-filesize 5 -L > log/21/stdout477 2> log/21/stderr477 477: 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 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/21/valgrind477 ../src/curl -q --output log/21/curl477.out --include --trace-ascii log/21/trace477 --trace-time http://127.0.0.1:35043/477 --max-filesize 5 -L > log/21/stdout477 2> log/21/stderr477 === End of file commands.log === Start of file http_server.log 19:00:44.666579 ====> Client connect 19:00:44.666612 accept_connection 3 returned 4 19:00:44.666628 accept_connection 3 returned 0 19:00:44.666641 Read 93 bytes 19:00:44.666652 Process 93 bytes request 19:00:44.666664 Got request: GET /verifiedserver HTTP/1.1 19:00:44.666674 Are-we-friendly question received 19:00:44.666697 Wrote request (93 bytes) input to log/21/server.input 19:00:44.666713 Identifying ourselves as friends 19:00:44.666764 Response sent (56 bytes) and written to log/21/server.response 19:00:44.666775 special request received, no persistency 19:00:44.666785 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 33624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind477 ==101976== ==101976== Process terminating with default action of signal 4 (SIGILL) ==101976== Illegal opcode at address 0x4013E00 ==101976== at 0x4013E00: getparameter (tool_getparam.c:2846) ==101976== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==101976== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==101976== by 0x40037A4: main (tool_main.c:199) === End of file valgrind477 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/17/valgrind479 ../src/curl -q --output log/17/curl479.out --include --trace-ascii log/17/trace479 --trace-time --netrc --netrc-file log/17/netrc479 -L -x http://127.0.0.1:40515/ http://a.com/ > log/17/stdout479 2> log/17/stderr479 479: 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 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/17/valgrind479 ../src/curl -q --output log/17/curl479.out --include --trace-ascii log/17/trace479 --trace-time --netrc --netrc-file log/17/netrc479 -L -x http://127.0.0.1:40515/ http://a.com/ > log/17/stdout479 2> log/17/stderr479 === End of file commands.log === Start of file http_server.log 19:00:45.683677 ====> Client connect 19:00:45.683714 accept_connection 3 returned 4 19:00:45.683734 accept_connection 3 returned 0 19:00:45.683752 Read 93 bytes 19:00:45.683763 Process 93 bytes request 19:00:45.683777 Got request: GET /verifiedserver HTTP/1.1 19:00:45.683788 Are-we-friendly question received 19:00:45.683815 Wrote request (93 bytes) input to log/17/server.input 19:00:45.683834 Identifying ourselves as friends 19:00:45.683899 Response sent (56 bytes) and written to log/17/server.response 19:00:45.683913 special request received, no persistency 19:00:45.683923 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 36454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind479 ==102017== ==102017== Process terminating with default action of signal 4 (SIGILL) ==102017== Illegal opcode at address 0x4013E00 ==102017== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102017== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102017== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102017== by 0x40037A4: main (tool_main.c:199) === End of file valgrind479 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/6/valgrind476 ../src/curl -q --output log/6/curl476.out --include --trace-ascii log/6/trace476 --trace-time "ftp://127.0.0.1:36475/476;type=a" -T log/6/test476.txt > log/6/stdout476 2> log/6/stderr476 476: 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 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/6/valgrind476 ../src/curl -q --output log/6/curl476.out --include --trace-ascii log/6/trace476 --trace-time "ftp://127.0.0.1:36475/476;type=a" -T log/6/test476.txt > log/6/stdout476 2> log/6/stderr476 === End of file commands.log === Start of file ftp_server.log 19:00:44.869260 ====> Client connect 19:00:44.869410 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:44.869725 < "USER anonymous" 19:00:44.869759 > "331 We are happy you popped in![CR][LF]" 19:00:44.869929 < "PASS ftp@example.com" 19:00:44.869954 > "230 Welcome you silly person[CR][LF]" 19:00:44.870103 < "PWD" 19:00:44.870134 > "257 "/" is current directory[CR][LF]" 19:00:44.870350 < "EPSV" 19:00:44.870377 ====> Passive DATA channel requested by client 19:00:44.870392 DATA sockfilt for passive data channel starting... 19:00:44.872074 DATA sockfilt for passive data channel started (pid 101916) 19:00:44.872197 DATA sockfilt for passive data channel listens on port 37731 19:00:44.872241 > "229 Entering Passive Mode (|||37731|)[CR][LF]" 19:00:44.872262 Client has been notified that DATA conn will be accepted on port 37731 19:00:44.872482 Client connects to port 37731 19:00:44.872530 ====> Client established passive DATA connection on port 37731 19:00:44.872624 < "TYPE I" 19:00:44.872654 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:44.872871 < "SIZE verifiedserver" 19:00:44.872910 > "213 17[CR][LF]" 19:00:44.873078 < "RETR verifiedserver" 19:00:44.873112 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:44.873203 =====> Closing passive DATA connection... 19:00:44.873221 Server disconnects passive DATA connection 19:00:44.873299 Server disconnected passive DATA connection 19:00:44.873324 DATA sockfilt for passive data channel quits (pid 101916) 19:00:44.873578 DATA sockfilt for passive data channel quit (pid 101916) 19:00:44.873607 =====> Closed passive DATA connection 19:00:44.873642 > "226 File transfer complete[CR][LF]" 19:00:44.915824 < "QUIT" 19:00:44.915876 > "221 bye bye baby[CR][LF]" 19:00:44.916718 MAIN sockfilt said DISC 19:00:44.916752 ====> Client disconnected 19:00:44.916817 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:45.641205 ====> Client connect 19:00:45.641482 Received DATA (on stdin) 19:00:45.641497 > 160 bytes data, server => client 19:00:45.641511 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:45.641524 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:45.641536 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:45.641642 < 16 bytes data, client => server 19:00:45.641655 'USER anonymous\r\n' 19:00:45.641824 Received DATA (on stdin) 19:00:45.641838 > 33 bytes data, server => client 19:00:45.641850 '331 We are happy you popped in!\r\n' 19:00:45.641901 < 22 bytes data, client => server 19:00:45.641914 'PASS ftp@example.com\r\n' 19:00:45.642014 Received DATA (on stdin) 19:00:45.642026 > 30 bytes data, server => client 19:00:45.642038 '230 Welcome you silly person\r\n' 19:00:45.642084 < 5 bytes data, client => server 19:00:45.642095 'PWD\r\n' 19:00:45.642230 Received DATA (on stdin) 19:00:45.642244 > 30 bytes data, server => client 19:00:45.642256 '257 "/" is current directory\r\n' 19:00:45.642320 < 6 bytes data, client => server 19:00:45.642334 'EPSV\r\n' 19:00:45.644330 Received DATA (on stdin) 19:00:45.644346 > 39 bytes data, server => client 19:00:45.644359 '229 Entering Passive Mode (|||37731|)\r\n' 19:00:45.644517 < 8 bytes data, client => server 19:00:45.644531 'TYPE I\r\n' 19:00:45.644718 Received DATA (on stdin) 19:00:45.644749 > 33 bytes data, server => client 19:00:45.644763 '200 I modify TYPE as you wanted\r\n' 19:00:45.644836 < 21 bytes data, client => server 19:00:45.644852 'SIZE verifiedserver\r\n' 19:00:45.644974 Received DATA (on stdin) 19:00:45.644987 > 8 bytes data, server => client 19:00:45.644999 '213 17\r\n' 19:00:45.645053 < 21 bytes data, client => server 19:00:45.645260 'RETR verifiedserver\r\n' 19:00:45.645276 Received DATA (on stdin) 19:00:45.645288 > 29 bytes data, server => client 19:00:45.645300 '150 Binary junk (17 bytes).\r\n' 19:00:45.645707 Received DATA (on stdin) 19:00:45.645721 > 28 bytes data, server => client 19:00:45.645734 '226 File transfer complete\r\n' 19:00:45.687724 < 6 bytes data, client => server 19:00:45.687749 'QUIT\r\n' 19:00:45.687941 Received DATA (on stdin) 19:00:45.687955 > 18 bytes data, server => client 19:00:45.687966 '221 bye bye baby\r\n' 19:00:45.688724 ====> Client disconnect 19:00:45.688877 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:44.643950 Running IPv4 version 19:00:44.644009 Listening on port 37731 19:00:44.644046 Wrote pid 101916 to log/6/server/ftp_sockdata.pid 19:00:44.644069 Received PING (on stdin) 19:00:44.644165 Received PORT (on stdin) 19:00:44.644488 ====> Client connect 19:00:44.645187 Received DATA (on stdin) 19:00:44.645204 > 17 bytes data, server => client 19:00:44.645216 'WE ROOLZ: 80654\r\n' 19:00:44.645289 Received DISC (on stdin) 19:00:44.645304 ====> Client forcibly disconnected 19:00:44.645391 Received QUIT (on stdin) 19:00:44.645404 quits 19:00:44.645463 ============> 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 text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line 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/3/valgrind481 ../src/curl -q --trace-ascii log/3/trace481 --trace-time http://127.0.0.1:46261/481 --no-clobber -C 1 -o "log/3/481" > log/3/stdout481 2> log/3/stderr481 text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this a line of text used for verifying this 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 ==102072== ==102072== Process terminating with default action of signal 4 (SIGILL) ==102072== Illegal opcode at address 0x4013E00 ==102072== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102072== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102072== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102072== by 0x40037A4: main (tool_main.c:199) === End of file valgrind476 CMD (33792): ../libtool --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/valgrind484 ../src/curl -q --output log/8/curl484.out --include --trace-ascii log/8/trace484 --trace-time http://example.com/484 --etag-compare log/8/etag484 --etag-save log/8/etag484 --url http://example.net/fooo > log/8/stdout484 2> log/8/stderr484 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/3/valgrind481 ../src/curl -q --trace-ascii log/3/trace481 --trace-time http://127.0.0.1:46261/481 --no-clobber -C 1 -o "log/3/481" > log/3/stdout481 2> log/3/stderr481 481: stderr FAILED: --- log/3/check-expected 2025-11-13 19:00:46.009391083 +0000 +++ log/3/check-generated 2025-11-13 19:00:46.009391083 +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/3/ 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/3/valgrind481 ../src/curl -q --trace-ascii log/3/trace481 --trace-time http://127.0.0.1:46261/481 --no-clobber -C 1 -o "log/3/481" > log/3/stdout481 2> log/3/stderr481 === End of file commands.log === Start of file http_server.log 19:00:45.713904 ====> Client connect 19:00:45.713939 accept_connection 3 returned 4 19:00:45.713954 accept_connection 3 returned 0 19:00:45.713969 Read 93 bytes 19:00:45.713979 Process 93 bytes request 19:00:45.713994 Got request: GET /verifiedserver HTTP/1.1 19:00:45.714004 Are-we-friendly question received 19:00:45.714027 Wrote request (93 bytes) input to log/3/server.input 19:00:45.714043 Identifying ourselves as friends 19:00:45.714093 Response sent (56 bytes) and written to log/3/server.response 19:00:45.714848 special request received, no persistency 19:00:45.714858 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 58222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind481 ==102076== ==102076== Process terminating with default action of signal 4 (SIGILL) ==102076== Illegal opcode at address 0x4013E00 ==102076== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102076== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102076== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102076== by 0x40037A4: main (tool_main.c:199) === End of file valgrind481 CMD (33792): ../libtool --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/valgrind482 ../src/curl -q --trace-ascii log/9/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/9/482" > log/9/stdout482 2> log/9/stderr482 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/8/valgrind484 ../src/curl -q --output log/8/curl484.out --include --trace-ascii log/8/trace484 --trace-time http://example.com/484 --etag-compare log/8/etag484 --etag-save log/8/etag484 --url http://example.net/fooo > log/8/stdout484 2> log/8/stderr484 484: stderr FAILED: --- log/8/check-expected 2025-11-13 19:00:46.106057750 +0000 +++ log/8/check-generated 2025-11-13 19:00:46.106057750 +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/8/ 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/8/valgrind484 ../src/curl -q --output log/8/curl484.out --include --trace-ascii log/8/trace484 --trace-time http://example.com/484 --etag-compare log/8/etag484 --etag-save log/8/etag484 --url http://example.net/fooo > log/8/stdout484 2> log/8/stderr484 === End of file commands.log === Start of file server.cmd Testnum 484 === End of file server.cmd === Start of file valgrind484 ==102264== ==102264== Process terminating with default action of signal 4 (SIGILL) ==102264== Illegal opcode at address 0x4013E00 ==102264== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102264== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102264== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102264== by 0x40037A4: 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/1/valgrind483 ../src/curl -q --output log/1/curl483.out --include --trace-ascii log/1/trace483 --trace-time http://127.0.0.1:40353/483 -c log/1/c483 > log/1/stdout483 2> log/1/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/20/valgrind485 ../src/curl -q --output log/20/curl485.out --include --trace-ascii log/20/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/20/etag485 > log/20/stdout485 2> log/20/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/9/valgrind482 ../src/curl -q --trace-ascii log/9/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/9/482" > log/9/stdout482 2> log/9/stderr482 482: stderr FAILED: --- log/9/check-expected 2025-11-13 19:00:46.116057750 +0000 +++ log/9/check-generated 2025-11-13 19:00:46.116057750 +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/9/ 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/9/valgrind482 ../src/curl -q --trace-ascii log/9/trace482 --trace-time http://non-existing-host.haxx.se. --remove-on-error -C 1 -o "log/9/482" > log/9/stdout482 2> log/9/stderr482 === End of file commands.log === Start of file http_server.log 19:00:44.861077 ====> Client connect 19:00:44.861111 accept_connection 3 returned 4 19:00:44.861128 accept_connection 3 returned 0 19:00:44.861144 Read 93 bytes 19:00:44.861154 Process 93 bytes request 19:00:44.861168 Got request: GET /verifiedserver HTTP/1.1 19:00:44.861178 Are-we-friendly question received 19:00:44.861203 Wrote request (93 bytes) input to log/9/server.input 19:00:44.861221 Identifying ourselves as friends 19:00:44.861275 Response sent (56 bytes) and written to log/9/server.response 19:00:44.861286 special request received, no persistency 19:00:44.861295 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 32840 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind482 ==102315== ==102315== Process terminating with default action of signal 4 (SIGILL) ==102315== Illegal opcode at address 0x4013E00 ==102315== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102315== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102315== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102315== by 0x40037A4: main (tool_main.c:199) === End of file valgrind482 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/1/valgrind483 ../src/curl -q --output log/1/curl483.out --include --trace-ascii log/1/trace483 --trace-time http://127.0.0.1:40353/483 -c log/1/c483 > log/1/stdout483 2> log/1/stderr483 483: 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 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/1/valgrind483 ../src/curl -q --output log/1/curl483.out --include --trace-ascii log/1/trace483 --trace-time http://127.0.0.1:40353/483 -c log/1/c483 > log/1/stdout483 2> log/1/stderr483 === End of file commands.log === Start of file http_server.log 19:00:44.867959 ====> Client connect 19:00:44.867993 accept_connection 3 returned 4 19:00:44.868011 accept_connection 3 returned 0 19:00:44.868027 Read 93 bytes 19:00:44.868038 Process 93 bytes request 19:00:44.868052 Got request: GET /verifiedserver HTTP/1.1 19:00:44.868064 Are-we-friendly question received 19:00:44.868090 Wrote request (93 bytes) input to log/1/server.input 19:00:44.868110 Identifying ourselves as friends 19:00:44.868173 Response sent (56 bytes) and written to log/1/server.response 19:00:44.868186 special request received, no persistency 19:00:44.868197 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48094 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind483 ==102337== ==102337== Process terminating with default action of signal 4 (SIGILL) ==102337== Illegal opcode at address 0x4013E00 ==102337== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102337== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102337== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102337== by 0x40037A4: 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/7/valgrind487 ../src/curl -q --output log/7/curl487.out --include --trace-ascii log/7/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:41017/{{what:64dec}}/487" -g > log/7/stdout487 2> log/7/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/13/valgrind486 ../src/curl -q --output log/13/curl486.out --include --trace-ascii log/13/trace486 --trace-time --netrc --netrc-file log/13/netrc486 -L -x http://127.0.0.1:35301/ http://a.com/ > log/13/stdout486 2> log/13/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/10/valgrind488 ../src/curl -q --output log/10/curl488.out --include --trace-ascii log/10/trace488 --trace-time --output-dir log/10 --url @- log/10/stdout488 2> log/10/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/20/valgrind485 ../src/curl -q --output log/20/curl485.out --include --trace-ascii log/20/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/20/etag485 > log/20/stdout485 2> log/20/stderr485 485: stderr FAILED: --- log/20/check-expected 2025-11-13 19:00:46.262724418 +0000 +++ log/20/check-generated 2025-11-13 19:00:46.262724418 +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/20/ 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/20/valgrind485 ../src/curl -q --output log/20/curl485.out --include --trace-ascii log/20/trace485 --trace-time http://example.com/485 http://example.net/fooo --etag-save log/20/etag485 > log/20/stdout485 2> log/20/stderr485 === End of file commands.log === Start of file server.cmd Testnum 485 === End of file server.cmd === Start of file valgrind485 ==102442== ==102442== Process terminating with default action of signal 4 (SIGILL) ==102442== Illegal opcode at address 0x4013E00 ==102442== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102442== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102442== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102442== by 0x40037A4: main (tool_main.c:199) === End of file valgrind485 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/7/valgrind487 ../src/curl -q --output log/7/curl487.out --include --trace-ascii log/7/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:41017/{{what:64dec}}/487" -g > log/7/stdout487 2> log/7/stderr487 487: 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 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/7/valgrind487 ../src/curl -q --output log/7/curl487.out --include --trace-ascii log/7/trace487 --trace-time --variable what=not-base64-data --expand-url "http://127.0.0.1:41017/{{what:64dec}}/487" -g > log/7/stdout487 2> log/7/stderr487 === End of file commands.log === Start of file http_server.log 19:00:44.993117 ====> Client connect 19:00:44.993155 accept_connection 3 returned 4 19:00:44.993173 accept_connection 3 returned 0 19:00:44.993190 Read 93 bytes 19:00:44.993202 Process 93 bytes request 19:00:44.993217 Got request: GET /verifiedserver HTTP/1.1 19:00:44.993228 Are-we-friendly question received 19:00:44.993256 Wrote request (93 bytes) input to log/7/server.input 19:00:44.993275 Identifying ourselves as friends 19:00:44.993332 Response sent (56 bytes) and written to log/7/server.response 19:00:44.993344 special request received, no persistency 19:00:44.993355 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 34688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind487 ==102496== ==102496== Process terminating with default action of signal 4 (SIGILL) ==102496== Illegal opcode at address 0x4013E00 ==102496== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102496== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102496== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102496== by 0x40037A4: main (tool_main.c:199) === End of file valgrind487 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/13/valgrind486 ../src/curl -q --output log/13/curl486.out --include --trace-ascii log/13/trace486 --trace-time --netrc --netrc-file log/13/netrc486 -L -x http://127.0.0.1:35301/ http://a.com/ > log/13/stdout486 2> log/13/stderr486 486: 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 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/13/valgrind486 ../src/curl -q --output log/13/curl486.out --include --trace-ascii log/13/trace486 --trace-time --netrc --netrc-file log/13/netrc486 -L -x http://127.0.0.1:35301/ http://a.com/ > log/13/stdout486 2> log/13/stderr486 === End of file commands.log === Start of file http_server.log 19:00:45.005239 ====> Client connect 19:00:45.005276 accept_connection 3 returned 4 19:00:45.005294 accept_connection 3 returned 0 19:00:45.005311 Read 93 bytes 19:00:45.005321 Process 93 bytes request 19:00:45.005338 Got request: GET /verifiedserver HTTP/1.1 19:00:45.005348 Are-we-friendly question received 19:00:45.005376 Wrote request (93 bytes) input to log/13/server.input 19:00:45.005395 Identifying ourselves as friends 19:00:45.005453 Response sent (56 bytes) and written to log/13/server.response 19:00:45.005464 special request received, no persistency 19:00:45.005474 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 43294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind486 ==102551== ==102551== Process terminating with default action of signal 4 (SIGILL) ==102551== Illegal opcode at address 0x4013E00 ==102551== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102551== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102551== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102551== by 0x40037A4: main (tool_main.c:199) === End of file valgrind486 test 0488...[Download two URLCMD (33792): ../libtool --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/valgrind489 ../src/curl -q --output log/2/curl489.out --include --trace-ascii log/2/trace489 --trace-time --output-dir log/2 --url @log/2/urls > log/2/stdout489 2> log/2/stderr489 CMD (33792): ../libtool --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/valgrind490 ../src/curl -q --output log/12/curl490.out --include --trace-ascii log/12/trace490 --trace-time http://127.0.0.1:46819/490 -T '{log/12/in490,log/12/in490}' > log/12/stdout490 2> log/12/stderr490 s provided 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/10/valgrind488 ../src/curl -q --output log/10/curl488.out --include --trace-ascii log/10/trace488 --trace-time --output-dir log/10 --url @- log/10/stdout488 2> log/10/stderr488 488: 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 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/10/valgrind488 ../src/curl -q --output log/10/curl488.out --include --trace-ascii log/10/trace488 --trace-time --output-dir log/10 --url @- log/10/stdout488 2> log/10/stderr488 === End of file commands.log === Start of file http_server.log 19:00:45.023568 ====> Client connect 19:00:45.023603 accept_connection 3 returned 4 19:00:45.023622 accept_connection 3 returned 0 19:00:45.023639 Read 93 bytes 19:00:45.023650 Process 93 bytes request 19:00:45.023666 Got request: GET /verifiedserver HTTP/1.1 19:00:45.023677 Are-we-friendly question received 19:00:45.023704 Wrote request (93 bytes) input to log/10/server.input 19:00:45.023725 Identifying ourselves as friends 19:00:45.023783 Response sent (56 bytes) and written to log/10/server.response 19:00:45.023794 special request received, no persistency 19:00:45.023804 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 56152 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file stdin-for-488 http://127.0.0.1:37879/a http://127.0.0.1:37879/b === End of file stdin-for-488 === Start of file valgrind488 ==102582== ==102582== Process terminating with default action of signal 4 (SIGILL) ==102582== Illegal opcode at address 0x4013E00 ==102582== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102582== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102582== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102582== by 0x40037A4: 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/2/valgrind489 ../src/curl -q --output log/2/curl489.out --include --trace-ascii log/2/trace489 --trace-time --output-dir log/2 --url @log/2/urls > log/2/stdout489 2> log/2/stderr489 489: 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 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/2/valgrind489 ../src/curl -q --output log/2/curl489.out --include --trace-ascii log/2/trace489 --trace-time --output-dir log/2 --url @log/2/urls > log/2/stdout489 2> log/2/stderr489 === End of file commands.log === Start of file http_server.log 19:00:46.130426 ====> Client connect 19:00:46.130460 accept_connection 3 returned 4 19:00:46.130478 accept_connection 3 returned 0 19:00:46.130495 Read 93 bytes 19:00:46.130509 Process 93 bytes request 19:00:46.130523 Got request: GET /verifiedserver HTTP/1.1 19:00:46.130534 Are-we-friendly question received 19:00:46.130559 Wrote request (93 bytes) input to log/2/server.input 19:00:46.130577 Identifying ourselves as friends 19:00:46.130630 Response sent (56 bytes) and written to log/2/server.response 19:00:46.130642 special request received, no persistency 19:00:46.130652 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 46562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file urls http://127.0.0.1:44325/a http://127.0.0.1:44325/b === End of file urls === Start of file valgrind489 ==102723== ==102723== Process terminating with default action of signal 4 (SIGILL) ==102723== Illegal opcode at address 0x4013E00 ==102723== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102723== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102723== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102723== by 0x40037A4: 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/12/valgrind490 ../src/curl -q --output log/12/curl490.out --include --trace-ascii log/12/trace490 --trace-time http://127.0.0.1:46819/490 -T '{log/12/in490,log/12/in490}' > log/12/stdout490 2> log/12/stderr490 490: 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 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/12/valgrind490 ../src/curl -q --output log/12/curl490.out --include --trace-ascii log/12/trace490 --trace-time http://127.0.0.1:46819/490 -T '{log/12/in490,log/12/in490}' > log/12/stdout490 2> log/12/stderr490 === End of file commands.log === Start of file http_server.log 19:00:45.162497 ====> Client connect 19:00:45.162535 accept_connection 3 returned 4 19:00:45.162554 accept_connection 3 returned 0 19:00:45.162570 Read 93 bytes 19:00:45.162582 Process 93 bytes request 19:00:45.162598 Got request: GET /verifiedserver HTTP/1.1 19:00:45.162609 Are-we-friendly question received 19:00:45.162638 Wrote request (93 bytes) input to log/12/server.input 19:00:45.162657 Identifying ourselves as friends 19:00:45.162716 Response sent (56 bytes) and written to log/12/server.response 19:00:45.162727 special request received, no persistency 19:00:45.162737 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 48188 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLCMD (33792): ../libtool --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/valgrind491 ../src/curl -q --output log/16/curl491.out --include --trace-ascii log/16/trace491 --trace-time http://127.0.0.1:42747/491 -T '{log/16/in491,log/16/bad491}' > log/16/stdout491 2> log/16/stderr491 CMD (33792): ../libtool --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/valgrind492 ../src/curl -q --output log/18/curl492.out --include --trace-ascii log/18/trace492 --trace-time 'http://127.0.0.1:39771/{one,two}/' -T '{log/18/first492,log/18/second492}' -H "Testno: 492" > log/18/stdout492 2> log/18/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/24/valgrind493 ../src/curl -q --include --trace-ascii log/24/trace493 --trace-time -x http://127.0.0.1:39383 http://this.hsts.example/493 --hsts log/24/input493 -w '%{url_effective}\n' > log/24/stdout493 2> log/24/stderr493 Z: 76272 === End of file http_verify.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: 76272 === End of file server.response === Start of file valgrind490 ==102776== ==102776== Process terminating with default action of signal 4 (SIGILL) ==102776== Illegal opcode at address 0x4013E00 ==102776== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102776== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102776== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102776== by 0x40037A4: main (tool_main.c:199) === End of file valgrind490 test 0491...[Two globbed HTTP PUTs, the second 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/16/valgrind491 ../src/curl -q --output log/16/curl491.out --include --trace-ascii log/16/trace491 --trace-time http://127.0.0.1:42747/491 -T '{log/16/in491,log/16/bad491}' > log/16/stdout491 2> log/16/stderr491 491: 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 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/16/valgrind491 ../src/curl -q --output log/16/curl491.out --include --trace-ascii log/16/trace491 --trace-time http://127.0.0.1:42747/491 -T '{log/16/in491,log/16/bad491}' > log/16/stdout491 2> log/16/stderr491 === End of file commands.log === Start of file http_server.log 19:00:46.173952 ====> Client connect 19:00:46.173985 accept_connection 3 returned 4 19:00:46.174003 accept_connection 3 returned 0 19:00:46.174019 Read 93 bytes 19:00:46.174030 Process 93 bytes request 19:00:46.174045 Got request: GET /verifiedserver HTTP/1.1 19:00:46.174055 Are-we-friendly question received 19:00:46.174081 Wrote request (93 bytes) input to log/16/server.input 19:00:46.174148 Identifying ourselves as friends 19:00:46.174202 Response sent (56 bytes) and written to log/16/server.response 19:00:46.174212 special request received, no persistency 19:00:46.174221 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 59486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind491 ==102781== ==102781== Process terminating with default action of signal 4 (SIGILL) ==102781== Illegal opcode at address 0x4013E00 ==102781== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102781== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102781== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102781== by 0x40037A4: main (tool_main.c:199) === End of file valgrind491 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/18/valgrind492 ../src/curl -q --output log/18/curl492.out --include --trace-ascii log/18/trace492 --trace-time 'http://127.0.0.1:39771/{one,two}/' -T '{log/18/first492,log/18/second492}' -H "Testno: 492" > log/18/stdout492 2> log/18/stderr492 492: 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 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/18/valgrind492 ../src/curl -q --output log/18/curl492.out --include --trace-ascii log/18/trace492 --trace-time 'http://127.0.0.1:39771/{one,two}/' -T '{log/18/first492,log/18/second492}' -H "Testno: 492" > log/18/stdout492 2> log/18/stderr492 === End of file commands.log === Start of file first492 first 492 contents === End of file first492 === Start of file http_server.log 19:00:45.179076 ====> Client connect 19:00:45.179109 accept_connection 3 returned 4 19:00:45.179128 accept_connection 3 returned 0 19:00:45.179144 Read 93 bytes 19:00:45.179155 Process 93 bytes request 19:00:45.179169 Got request: GET /verifiedserver HTTP/1.1 19:00:45.179180 Are-we-friendly question received 19:00:45.179210 Wrote request (93 bytes) input to log/18/server.input 19:00:45.179229 Identifying ourselves as friends 19:00:45.179291 Response sent (56 bytes) and written to log/18/server.response 19:00:45.179306 special request received, no persistency 19:00:45.179317 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 54250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind492 ==102814== ==102814== Process terminating with default action of signal 4 (SIGILL) ==102814== Illegal opcode at address 0x4013E00 ==102814== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102814== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102814== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102814== by 0x40037A4: main (tool_main.c:199) === End of file valgrind492 CMD (33792): ../libtool --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/valgrind496 ../src/curl -q --output log/22/curl496.out --include --trace-ascii log/22/trace496 --trace-time 0 -Z -Tz > log/22/stdout496 2> log/22/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/19/valgrind494 ../src/curl -q --output log/19/curl494.out --include --trace-ascii log/19/trace494 --trace-time --netrc --netrc-file log/19/netrc494 ftp://127.0.0.1:33175/494 > log/19/stdout494 2> log/19/stderr494 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/24/valgrind493 ../src/curl -q --include --trace-ascii log/24/trace493 --trace-time -x http://127.0.0.1:39383 http://this.hsts.example/493 --hsts log/24/input493 -w '%{url_effective}\n' > log/24/stdout493 2> log/24/stderr493 493: stdout FAILED: --- log/24/check-expected 2025-11-13 19:00:46.556057753 +0000 +++ log/24/check-generated 2025-11-13 19:00:46.556057753 +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/24/ 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/24/valgrind493 ../src/curl -q --include --trace-ascii log/24/trace493 --trace-time -x http://127.0.0.1:39383 http://this.hsts.example/493 --hsts log/24/input493 -w '%{url_effective}\n' > log/24/stdout493 2> log/24/stderr493 === End of file commands.log === Start of file http_server.log 19:00:45.272370 ====> Client connect 19:00:45.272404 accept_connection 3 returned 4 19:00:45.272420 accept_connection 3 returned 0 19:00:45.272435 Read 93 bytes 19:00:45.272446 Process 93 bytes request 19:00:45.272459 Got request: GET /verifiedserver HTTP/1.1 19:00:45.272469 Are-we-friendly question received 19:00:45.272493 Wrote request (93 bytes) input to log/24/server.input 19:00:45.272509 Identifying ourselves as friends 19:00:45.272562 Response sent (56 bytes) and written to log/24/server.response 19:00:45.272572 special request received, no persistency 19:00:45.272581 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 45804 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind493 ==102975== ==102975== Process terminating with default action of signal 4 (SIGILL) ==102975== Illegal opcode at address 0x4013E00 ==102975== at 0x4013E00: getparameter (tool_getparam.c:2846) ==102975== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==102975== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==102975== by 0x40037A4: main (tool_main.c:199) === End of file valgrind493 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/22/valgrind496 ../src/curl -q --output log/22/curl496.out --include --trace-ascii log/22/trace496 --trace-time 0 -Z -Tz > log/22/stdout496 2> log/22/stderr496 curl returned 132, when expecting 26 496: exit FAILED == Contents of files in the log/22/ 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/22/valgrind496 ../src/curl -q --output log/22/curl496.out --include --trace-ascii log/22/trace496 --trace-time 0 -Z -Tz > log/22/stdout496 2> log/22/stderr496 === End of file commands.log === Start of file server.cmd Testnum 496 === End of file server.cmd === Start of file valgrind496 ==103059== ==103059== Process terminating with default action of signal 4 (SIGILL) ==103059== Illegal opcode at address 0x4013E00 ==103059== at 0x4013E00: getparameter (tool_getparam.c:2846) ==103059== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103059== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==103059== by 0x40037A4: main (tool_main.c:199) === End of file valgrind496 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/19/valgrind494 ../src/curl -q --output log/19/curl494.out --include --trace-ascii log/19/trace494 --trace-time --netrc --netrc-file log/19/netrc494 ftp://127.0.0.1:33175/494 > log/19/stdout494 2> log/19/stderr494 494: 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 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/19/valgrind494 ../src/curl -q --output log/19/curl494.out --include --trace-ascii log/19/trace494 --trace-time --netrc --netrc-file log/19/netrc494 ftp://127.0.0.1:33175/494 > log/19/stdout494 2> log/19/stderr494 === End of file commands.log === Start of file ftp_server.log 19:00:45.543079 ====> Client connect 19:00:45.543240 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:45.543524 < "USER anonymous" 19:00:45.543560 > "331 We are happy you popped in![CR][LF]" 19:00:45.543728 < "PASS ftp@example.com" 19:00:45.543752 > "230 Welcome you silly person[CR][LF]" 19:00:45.543901 < "PWD" 19:00:45.543932 > "257 "/" is current directory[CR][LF]" 19:00:45.544096 < "EPSV" 19:00:45.544123 ====> Passive DATA channel requested by client 19:00:45.544137 DATA sockfilt for passive data channel starting... 19:00:45.546118 DATA sockfilt for passive data channel started (pid 103022) 19:00:45.546225 DATA sockfilt for passive data channel listens on port 36433 19:00:45.546271 > "229 Entering Passive Mode (|||36433|)[CR][LF]" 19:00:45.546290 Client has been notified that DATA conn will be accepted on port 36433 19:00:45.546523 Client connects to port 36433 19:00:45.546550 ====> Client established passive DATA connection on port 36433 19:00:45.546620 < "TYPE I" 19:00:45.546647 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:45.546800 < "SIZE verifiedserver" 19:00:45.546839 > "213 17[CR][LF]" 19:00:45.546986 < "RETR verifiedserver" 19:00:45.547017 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:45.547102 =====> Closing passive DATA connection... 19:00:45.547120 Server disconnects passive DATA connection 19:00:45.547365 Server disconnected passive DATA connection 19:00:45.547392 DATA sockfilt for passive data channel quits (pid 103022) 19:00:45.547603 DATA sockfilt for passive data channel quit (pid 103022) 19:00:45.547625 =====> Closed passive DATA connection 19:00:45.547650 > "226 File transfer complete[CR][LF]" 19:00:45.589239 < "QUIT" 19:00:45.589294 > "221 bye bye baby[CR][LF]" 19:00:45.594213 MAIN sockfilt said DISC 19:00:45.594265 ====> Client disconnected 19:00:45.594345 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctCMD (33792): ../libtool --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/valgrind495 ../src/curl -q --output log/15/curl495.out --include --trace-ascii log/15/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:44531/495 --netrc-optional > log/15/stdout495 2> log/15/stderr495 CMD (0): ./libtest/libtests lib518 http://127.0.0.1:41061/518 > log/22/stdout518 2> log/22/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/23/valgrind497 ../src/curl -q --output log/23/curl497.out --include --trace-ascii log/23/trace497 --trace-time http://127.0.0.1:35243/497 > log/23/stdout497 2> log/23/stderr497 rl.log 19:00:46.315012 ====> Client connect 19:00:46.315314 Received DATA (on stdin) 19:00:46.315330 > 160 bytes data, server => client 19:00:46.315343 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:46.315354 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:46.315365 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:46.315438 < 16 bytes data, client => server 19:00:46.315451 'USER anonymous\r\n' 19:00:46.315625 Received DATA (on stdin) 19:00:46.315638 > 33 bytes data, server => client 19:00:46.315650 '331 We are happy you popped in!\r\n' 19:00:46.315701 < 22 bytes data, client => server 19:00:46.315714 'PASS ftp@example.com\r\n' 19:00:46.315812 Received DATA (on stdin) 19:00:46.315824 > 30 bytes data, server => client 19:00:46.315836 '230 Welcome you silly person\r\n' 19:00:46.315882 < 5 bytes data, client => server 19:00:46.315893 'PWD\r\n' 19:00:46.315991 Received DATA (on stdin) 19:00:46.316003 > 30 bytes data, server => client 19:00:46.316015 '257 "/" is current directory\r\n' 19:00:46.316071 < 6 bytes data, client => server 19:00:46.316083 'EPSV\r\n' 19:00:46.318355 Received DATA (on stdin) 19:00:46.318369 > 39 bytes data, server => client 19:00:46.318382 '229 Entering Passive Mode (|||36433|)\r\n' 19:00:46.318525 < 8 bytes data, client => server 19:00:46.318539 'TYPE I\r\n' 19:00:46.318708 Received DATA (on stdin) 19:00:46.318720 > 33 bytes data, server => client 19:00:46.318732 '200 I modify TYPE as you wanted\r\n' 19:00:46.318780 < 21 bytes data, client => server 19:00:46.318791 'SIZE verifiedserver\r\n' 19:00:46.318900 Received DATA (on stdin) 19:00:46.318912 > 8 bytes data, server => client 19:00:46.318923 '213 17\r\n' 19:00:46.318968 < 21 bytes data, client => server 19:00:46.318980 'RETR verifiedserver\r\n' 19:00:46.319183 Received DATA (on stdin) 19:00:46.319196 > 29 bytes data, server => client 19:00:46.319207 '150 Binary junk (17 bytes).\r\n' 19:00:46.319711 Received DATA (on stdin) 19:00:46.319725 > 28 bytes data, server => client 19:00:46.319737 '226 File transfer complete\r\n' 19:00:46.361095 < 6 bytes data, client => server 19:00:46.361131 'QUIT\r\n' 19:00:46.361360 Received DATA (on stdin) 19:00:46.361373 > 18 bytes data, server => client 19:00:46.361385 '221 bye bye baby\r\n' 19:00:46.366201 ====> Client disconnect 19:00:46.366413 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:45.317905 Running IPv4 version 19:00:45.318067 Listening on port 36433 19:00:45.318103 Wrote pid 103022 to log/19/server/ftp_sockdata.pid 19:00:45.318124 Received PING (on stdin) 19:00:45.318202 Received PORT (on stdin) 19:00:45.318497 ====> Client connect 19:00:45.319232 Received DATA (on stdin) 19:00:45.319245 > 17 bytes data, server => client 19:00:45.319256 'WE ROOLZ: 80854\r\n' 19:00:45.319286 Received DISC (on stdin) 19:00:45.319298 ====> Client forcibly disconnected 19:00:45.319461 Received QUIT (on stdin) 19:00:45.319473 quits 19:00:45.319531 ============> 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 ==103100== ==103100== Process terminating with default action of signal 4 (SIGILL) ==103100== Illegal opcode at address 0x4013E00 ==103100== at 0x4013E00: getparameter (tool_getparam.c:2846) ==103100== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103100== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==103100== by 0x40037A4: main (tool_main.c:199) === End of file valgrind494 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/15/valgrind495 ../src/curl -q --output log/15/curl495.out --include --trace-ascii log/15/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:44531/495 --netrc-optional > log/15/stdout495 2> log/15/stderr495 495: 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 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/15/valgrind495 ../src/curl -q --output log/15/curl495.out --include --trace-ascii log/15/trace495 --trace-time http://foo%40bar:secret@127.0.0.1:44531/495 --netrc-optional > log/15/stdout495 2> log/15/stderr495 === End of file commands.log === Start of file http_server.log 19:00:45.371261 ====> Client connect 19:00:45.371299 accept_connection 3 returned 4 19:00:45.371317 accept_connection 3 returned 0 19:00:45.371536 Read 93 bytes 19:00:45.371554 Process 93 bytes request 19:00:45.371569 Got request: GET /verifiedserver HTTP/1.1 19:00:45.371580 Are-we-friendly question received 19:00:45.371609 Wrote request (93 bytes) input to log/15/server.input 19:00:45.371629 Identifying ourselves as friends 19:00:45.371692 Response sent (56 bytes) and written to log/15/server.response 19:00:45.371705 special request received, no persistency 19:00:45.371716 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 40766 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind495 ==103101== ==103101== Process terminating with default action of signal 4 (SIGILL) ==103101== Illegal opcode at address 0x4013E00 ==103101== at 0x4013E00: getparameter (tool_getparam.c:2846) ==103101== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103101== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==103101== by 0x40037A4: main (tool_main.c:199) === End of file valgrind495 prechecked ./libtest/libtests lib518 check test 0518...[HTTP GET with more than FD_SETSIZE descriptors open] ./libtest/libtests lib518 http://127.0.0.1:41061/518 > log/22/stdout518 2> log/22/stderr518 valgrind SKIPPED --pd---e--- OK (494 out of 1746, remaining: 02:17, took 0.084s, duration: 00:54) 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/23/valgrind497 ../src/curl -q --output log/23/curl497.out --include --trace-ascii log/23/trace497 --trace-time http://127.0.0.1:35243/497 > log/23/stdout497 2> log/23/stderr497 497: 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 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/23/valgrind497 ../src/curl -q --output log/23/curl497.out --include --trace-ascii log/23/trace497 --trace-time http://127.0.0.1:35243/497 > log/23/stdout497 2> log/23/stderr497 === End of file commands.log === Start of file http_server.log 19:00:45.514182 ====> Client connect 19:00:45.51422CMD (33792): ../libtool --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/valgrind498 ../src/curl -q --output log/14/curl498.out --include --trace-ascii log/14/trace498 --trace-time http://127.0.0.1:36759/498 --max-redirs 400 --location > log/14/stdout498 2> log/14/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/4/valgrind480 ../src/curl -q --output log/4/curl480.out --include --trace-ascii log/4/trace480 --trace-time --netrc --netrc-file log/4/netrc480 pop3://127.0.0.1:43099/480 > log/4/stdout480 2> log/4/stderr480 CMD (33792): ../libtool --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/valgrind499 ../src/curl -q --output log/11/curl499.out --include --trace-ascii log/11/trace499 --trace-time http://127.0.0.1:46317/499 -I > log/11/stdout499 2> log/11/stderr499 7 accept_connection 3 returned 4 19:00:45.514248 accept_connection 3 returned 0 19:00:45.514267 Read 93 bytes 19:00:45.514279 Process 93 bytes request 19:00:45.514293 Got request: GET /verifiedserver HTTP/1.1 19:00:45.514304 Are-we-friendly question received 19:00:45.514332 Wrote request (93 bytes) input to log/23/server.input 19:00:45.514352 Identifying ourselves as friends 19:00:45.514433 Response sent (56 bytes) and written to log/23/server.response 19:00:45.514446 special request received, no persistency 19:00:45.514457 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 45480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind497 ==103262== ==103262== Process terminating with default action of signal 4 (SIGILL) ==103262== Illegal opcode at address 0x4013E00 ==103262== at 0x4013E00: getparameter (tool_getparam.c:2846) ==103262== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103262== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==103262== by 0x40037A4: main (tool_main.c:199) === End of file valgrind497 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/14/valgrind498 ../src/curl -q --output log/14/curl498.out --include --trace-ascii log/14/trace498 --trace-time http://127.0.0.1:36759/498 --max-redirs 400 --location > log/14/stdout498 2> log/14/stderr498 curl returned 132, when expecting 56 498: exit FAILED == Contents of files in the log/14/ 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/14/valgrind498 ../src/curl -q --output log/14/curl498.out --include --trace-ascii log/14/trace498 --trace-time http://127.0.0.1:36759/498 --max-redirs 400 --location > log/14/stdout498 2> log/14/stderr498 === End of file commands.log === Start of file http_server.log 19:00:45.544025 ====> Client connect 19:00:45.544062 accept_connection 3 returned 4 19:00:45.544081 accept_connection 3 returned 0 19:00:45.544105 Read 93 bytes 19:00:45.544118 Process 93 bytes request 19:00:45.544133 Got request: GET /verifiedserver HTTP/1.1 19:00:45.544145 Are-we-friendly question received 19:00:45.544173 Wrote request (93 bytes) input to log/14/server.input 19:00:45.544192 Identifying ourselves as friends 19:00:45.544249 Response sent (56 bytes) and written to log/14/server.response 19:00:45.544261 special request received, no persistency 19:00:45.544272 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 46542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind498 ==103307== ==103307== Process terminating with default action of signal 4 (SIGILL) ==103307== Illegal opcode at address 0x4013E00 ==103307== at 0x4013E00: getparameter (tool_getparam.c:2846) ==103307== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103307== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==103307== by 0x40037A4: main (tool_main.c:199) === End of file valgrind498 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 "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 43099 (log/4/server/pop3_server.port) RUN: POP3 server is PID 101960 port 43099 * pid pop3 => 101960 101960 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/4/valgrind480 ../src/curl -q --output log/4/curl480.out --include --trace-ascii log/4/trace480 --trace-time --netrc --netrc-file log/4/netrc480 pop3://127.0.0.1:43099/480 > log/4/stdout480 2> log/4/stderr480 curl returned 132, when expecting 26 480: exit FAILED == Contents of files in the log/4/ 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/4/valgrind480 ../src/curl -q --output log/4/curl480.out --include --trace-ascii log/4/trace480 --trace-time --netrc --netrc-file log/4/netrc480 pop3://127.0.0.1:43099/480 > log/4/stdout480 2> log/4/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 19:00:44.946292 POP3 server listens on port IPv4/43099 19:00:44.946395 logged pid 101960 in log/4/server/pop3_server.pid 19:00:44.946435 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:00:44.717785 Running IPv4 version 19:00:44.717847 Listening on port 43099 19:00:44.717884 Wrote pid 102044 to log/4/server/pop3_sockfilt.pid 19:00:44.717912 Wrote port 43099 to log/4/server/pop3_server.port 19:00:44.718243 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 ==103383== ==103383== Process terminating with default action of signal 4 (SIGILL) ==103383== Illegal opcode at address 0x4013E00 ==103383== at 0x4013E00: getparameter (tool_getparam.c:2846) ==103383== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103383== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==103383== by 0x40037A4: main (tool_main.c:199) === End of file valgrind480 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/11/valgrind499 ../src/curl -q --output log/11/curl499.out --include --trace-ascii log/11/trace499 --trace-time http://127.0.0.1:46317/499 -I > log/11/stdout499 2> log/11/stderr499 499: 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 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/11/valgrind499 ../src/curl -q --output log/11/curl499.out --include --trace-ascii log/11/trace499 --trace-time http://127.0.0.1:4631CMD (33792): ../libtool --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/valgrind501 ./libtest/libtests lib501 - > log/21/stdout501 2> log/21/stderr501 CMD (33792): ../libtool --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/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/17/test502.txt > log/17/stdout502 2> log/17/stderr502 7/499 -I > log/11/stdout499 2> log/11/stderr499 === End of file commands.log === Start of file http_server.log 19:00:45.684167 ====> Client connect 19:00:45.684205 accept_connection 3 returned 4 19:00:45.684225 accept_connection 3 returned 0 19:00:45.684244 Read 93 bytes 19:00:45.684255 Process 93 bytes request 19:00:45.684269 Got request: GET /verifiedserver HTTP/1.1 19:00:45.684279 Are-we-friendly question received 19:00:45.684304 Wrote request (93 bytes) input to log/11/server.input 19:00:45.684322 Identifying ourselves as friends 19:00:45.684381 Response sent (56 bytes) and written to log/11/server.response 19:00:45.684394 special request received, no persistency 19:00:45.684404 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 45250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.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:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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-Length: 17 WE ROOLZ: 74579 === End of file server.response === Start of file valgrind499 ==103400== ==103400== Process terminating with default action of signal 4 (SIGILL) ==103400== Illegal opcode at address 0x4013E00 ==103400== at 0x4013E00: getparameter (tool_getparam.c:2846) ==103400== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==103400== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==103400== by 0x40037A4: 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/21/valgrind501 ./libtest/libtests lib501 - > log/21/stdout501 2> log/21/stderr501 libtests returned 132, when expecting 3 501: exit FAILED == Contents of files in the log/21/ 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/21/valgrind501 ./libtest/libtests lib501 - > log/21/stdout501 2> log/21/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 ==103467== ==103467== Process terminating with default action of signal 4 (SIGILL) ==103467== Illegal opcode at address 0x51D5F1F ==103467== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103467== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103467== by 0x51D5F1F: Curl_open (url.c:525) ==103467== by 0x514F6EF: curl_easy_init (easy.c:371) ==103467== by 0x4009A61: test_lib501.lto_priv.0 (lib501.c:40) ==103467== by 0x400347F: main (first.c:280) ==103467== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103467== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103467== by 0x51D5EBD: Curl_open (url.c:504) ==103467== by 0x514F6EF: curl_easy_init (easy.c:371) ==103467== by 0x4009A61: test_lib501.lto_priv.0 (lib501.c:40) ==103467== by 0x400347F: main (first.c:280) ==103467== === 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/5/valgrind500 ./libtest/libtests lib500 http://127.0.0.1:46771/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/3/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/3/stdout504 2> log/3/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/9/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/9/stdout507 2> log/9/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/17/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/17/test502.txt > log/17/stdout502 2> log/17/stderr502 502: data FAILED: --- log/17/check-expected 2025-11-13 19:00:47.059391091 +0000 +++ log/17/check-generated 2025-11-13 19:00:47.059391091 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar swsclose[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/17/ 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/17/valgrind502 ./libtest/libtests lib502 file:///startdir/src/build-curl/tests/log/17/test502.txt > log/17/stdout502 2> log/17/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/17/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 ==103555== ==103555== Process terminating with default action of signal 4 (SIGILL) ==103555== Illegal opcode at address 0x51D5F1F ==103555== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103555== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103555== by 0x51D5F1F: Curl_open (url.c:525) ==103555== by 0x514F6EF: curl_easy_init (easy.c:371) ==103555== by 0x4062CB5: test_lib502.part.0.lto_priv.0 (lib502.c:43) ==103555== by 0x400347F: main (first.c:280) ==103555== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103555== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103555== by 0x51D5EBD: Curl_open (url.c:504) ==103555== by 0x514F6EF: curl_easy_init (easy.c:371) ==103555== by 0x4062CB5: test_lib502.part.0.lto_priv.0 (lib502.c:43) ==103555== by 0x400347F: main (first.c:280) ==103555== === End of file valgrind502 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/3/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/3/stdout504 2> log/3/stderr504 libtests returned 132, when expecting 41 504: exit FAILED == Contents of files in the log/3/ 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/3/valgrind504 ./libtest/libtests lib504 http://127.0.0.1:47/504 127.0.0.1:47 > log/3/stdout504 2> log/3/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 ==103595== ==103595== Process terminating with default action of signal 4 (SIGILL) ==103595== Illegal opcode at address 0x51D5F1F ==103595== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103595== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103595== by 0x51D5F1F: Curl_open (url.c:525) ==103595== by 0x514F6EF: curl_easy_init (easy.c:371) ==103595== by 0x4061AB5: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==103595== by 0x400347F: main (first.c:280) ==103595== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103595== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103595== by 0x51D5EBD: Curl_open (url.c:504) ==103595== by 0x514F6EF: curl_easy_init (easy.c:371) ==103595== by 0x4061AB5: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==103595== by 0x400347F: main (first.c:280) ==103595== === End of file valgrind504 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:46771/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:46771/500 log/5/ip500 > log/5/stdout500 2> log/5/stderr500 === End of file commands.log === Start of file http_server.log 19:00:45.744071 ====> Client connect 19:00:45.744114 accept_connection 3 returned 4 19:00:45.744131 accept_connection 3 returned 0 19:00:45.744146 Read 93 bytes 19:00:45.744156 Process 93 bytes request 19:00:45.744169 Got request: GET /verifiedserver HTTP/1.1 19:00:45.744178 Are-we-friendly question received 19:00:45.744201 Wrote request (93 bytes) input to log/5/server.input 19:00:45.744218 Identifying ourselves as friends 19:00:45.744270 Response sent (56 bytes) and written to log/5/server.response 19:00:45.744280 special request received, no persistency 19:00:45.744289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 32870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file stderr500 URL: http://127.0.0.1:46771/500 === End of file stderr500 === Start of file valgrind500 ==103552== ==103552== Process terminating with default action of signal 4 (SIGILL) ==103552== Illegal opcode at address 0x51D5F1F ==103552== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103552== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103552== by 0x51D5F1F: Curl_open (url.c:525) ==103552== by 0x514F6EF: curl_easy_init (easy.c:371) ==103552== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==103552== by 0x400347F: main (first.c:280) ==103552== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103552== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103552== by 0x51D5EBD: Curl_open (url.c:504) ==103552== by 0x514F6EF: curl_easy_init (easy.c:371) ==103552== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==103552== by 0x400347F: main (first.c:280) ==103552== === End of file valgrind500 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/9/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/9/stdout507 2> log/9/stderr507 libtests returned 132, when expecting 6 507: exit FAILED == Contents of files in the log/9/ 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-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/1/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:40353/508 > log/1/stdout508 2> log/1/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/8/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:40963/505 log/8/upload505 > log/8/stdout505 2> log/8/stderr505 e=log/9/valgrind507 ./libtest/libtests lib507 http://non-existing-host.haxx.se/ > log/9/stdout507 2> log/9/stderr507 === End of file commands.log === Start of file http_server.log 19:00:45.935797 ====> Client connect 19:00:45.935834 accept_connection 3 returned 4 19:00:45.935854 accept_connection 3 returned 0 19:00:45.935870 Read 93 bytes 19:00:45.935881 Process 93 bytes request 19:00:45.935896 Got request: GET /verifiedserver HTTP/1.1 19:00:45.935907 Are-we-friendly question received 19:00:45.935935 Wrote request (93 bytes) input to log/9/server.input 19:00:45.935955 Identifying ourselves as friends 19:00:45.936016 Response sent (56 bytes) and written to log/9/server.response 19:00:45.936029 special request received, no persistency 19:00:45.936040 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 32852 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file stderr507 URL: http://non-existing-host.haxx.se/ === End of file stderr507 === Start of file valgrind507 ==103779== ==103779== Process terminating with default action of signal 4 (SIGILL) ==103779== Illegal opcode at address 0x519E800 ==103779== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==103779== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==103779== by 0x519E800: Curl_multi_handle (multi.c:247) ==103779== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==103779== by 0x400347F: main (first.c:280) ==103779== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==103779== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103779== by 0x519E794: Curl_multi_handle (multi.c:239) ==103779== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==103779== by 0x400347F: main (first.c:280) ==103779== === End of file valgrind507 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/1/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:40353/508 > log/1/stdout508 2> log/1/stderr508 508: 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 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/1/valgrind508 ./libtest/libtests lib508 http://127.0.0.1:40353/508 > log/1/stdout508 2> log/1/stderr508 === End of file commands.log === Start of file http_server.log 19:00:45.933204 ====> Client connect 19:00:45.933239 accept_connection 3 returned 4 19:00:45.933271 accept_connection 3 returned 0 19:00:45.933287 Read 93 bytes 19:00:45.933299 Process 93 bytes request 19:00:45.933314 Got request: GET /verifiedserver HTTP/1.1 19:00:45.933325 Are-we-friendly question received 19:00:45.933352 Wrote request (93 bytes) input to log/1/server.input 19:00:45.933370 Identifying ourselves as friends 19:00:45.933426 Response sent (56 bytes) and written to log/1/server.response 19:00:45.933437 special request received, no persistency 19:00:45.933448 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48096 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file stderr508 URL: http://127.0.0.1:40353/508 === End of file stderr508 === Start of file valgrind508 ==103775== ==103775== Process terminating with default action of signal 4 (SIGILL) ==103775== Illegal opcode at address 0x51D5F1F ==103775== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103775== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103775== by 0x51D5F1F: Curl_open (url.c:525) ==103775== by 0x514F6EF: curl_easy_init (easy.c:371) ==103775== by 0x4009B6A: test_lib508.lto_priv.0 (lib508.c:68) ==103775== by 0x400347F: main (first.c:280) ==103775== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103775== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103775== by 0x51D5EBD: Curl_open (url.c:504) ==103775== by 0x514F6EF: curl_easy_init (easy.c:371) ==103775== by 0x4009B6A: test_lib508.lto_priv.0 (lib508.c:68) ==103775== by 0x400347F: main (first.c:280) ==103775== === End of file valgrind508 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/8/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:40963/505 log/8/upload505 > log/8/stdout505 2> log/8/stderr505 505: 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 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/8/valgrind505 ./libtest/libtests lib505 ftp://127.0.0.1:40963/505 log/8/upload505 > log/8/stdout505 2> log/8/stderr505 === End of file commands.log === Start of file ftp_server.log 19:00:46.151064 ====> Client connect 19:00:46.151240 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:46.151550 < "USER anonymous" 19:00:46.151591 > "331 We are happy you popped in![CR][LF]" 19:00:46.151784 < "PASS ftp@example.com" 19:00:46.151815 > "230 Welcome you silly person[CR][LF]" 19:00:46.151989 < "PWD" 19:00:46.152024 > "257 "/" is current directory[CR][LF]" 19:00:46.152369 < "EPSV" 19:00:46.152396 ====> Passive DATA channel requested by client 19:00:46.152412 DATA sockfilt for passive data channel starting... 19:00:46.159869 DATA sockfilt for passive data channel started (pid 103764) 19:00:46.159984 DATA sockfilt for passive data channel listens on port 36659 19:00:46.160027 > "229 Entering Passive Mode (|||36659|)[CR][LF]" 19:00:46.160051 Client has been notified that DATA conn will be accepted on port 36659 19:00:46.160333 Client connects to port 36659 19:00:46.160363 ====> Client established passive DATA connection on port 36659 19:00:46.160452 < "TYPE I" 19:00:46.160481 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:46.160644 < "SIZE verifiedserver" 19:00:46.160683 > "213 17[CR][LF]" 19:00:46.160830 < "RETR verifiedserver" 19:00:46.160862 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:46.160944 =====> Closing passive DATA connection... 19:00:46.160960 Server disconnects passive DATA connecCMD (33792): ../libtool --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/valgrind509 ./libtest/libtests lib509 - > log/20/stdout509 2> log/20/stderr509 tion 19:00:46.161122 Server disconnected passive DATA connection 19:00:46.161142 DATA sockfilt for passive data channel quits (pid 103764) 19:00:46.161404 DATA sockfilt for passive data channel quit (pid 103764) 19:00:46.161426 =====> Closed passive DATA connection 19:00:46.161453 > "226 File transfer complete[CR][LF]" 19:00:46.202629 < "QUIT" 19:00:46.202683 > "221 bye bye baby[CR][LF]" 19:00:46.203624 MAIN sockfilt said DISC 19:00:46.203667 ====> Client disconnected 19:00:46.203764 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:45.923004 ====> Client connect 19:00:45.923318 Received DATA (on stdin) 19:00:45.923335 > 160 bytes data, server => client 19:00:45.923349 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:45.923362 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:45.923374 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:45.923453 < 16 bytes data, client => server 19:00:45.923470 'USER anonymous\r\n' 19:00:45.923659 Received DATA (on stdin) 19:00:45.923675 > 33 bytes data, server => client 19:00:45.923691 '331 We are happy you popped in!\r\n' 19:00:45.923747 < 22 bytes data, client => server 19:00:45.923762 'PASS ftp@example.com\r\n' 19:00:45.923877 Received DATA (on stdin) 19:00:45.923891 > 30 bytes data, server => client 19:00:45.923903 '230 Welcome you silly person\r\n' 19:00:45.923957 < 5 bytes data, client => server 19:00:45.923971 'PWD\r\n' 19:00:45.924087 Received DATA (on stdin) 19:00:45.924257 > 30 bytes data, server => client 19:00:45.924271 '257 "/" is current directory\r\n' 19:00:45.924336 < 6 bytes data, client => server 19:00:45.924350 'EPSV\r\n' 19:00:45.932120 Received DATA (on stdin) 19:00:45.932135 > 39 bytes data, server => client 19:00:45.932147 '229 Entering Passive Mode (|||36659|)\r\n' 19:00:45.932312 < 8 bytes data, client => server 19:00:45.932328 'TYPE I\r\n' 19:00:45.932542 Received DATA (on stdin) 19:00:45.932555 > 33 bytes data, server => client 19:00:45.932566 '200 I modify TYPE as you wanted\r\n' 19:00:45.932620 < 21 bytes data, client => server 19:00:45.932631 'SIZE verifiedserver\r\n' 19:00:45.932742 Received DATA (on stdin) 19:00:45.932753 > 8 bytes data, server => client 19:00:45.932764 '213 17\r\n' 19:00:45.932810 < 21 bytes data, client => server 19:00:45.932821 'RETR verifiedserver\r\n' 19:00:45.933111 Received DATA (on stdin) 19:00:45.933124 > 29 bytes data, server => client 19:00:45.933135 '150 Binary junk (17 bytes).\r\n' 19:00:45.933515 Received DATA (on stdin) 19:00:45.933529 > 28 bytes data, server => client 19:00:45.933541 '226 File transfer complete\r\n' 19:00:45.974495 < 6 bytes data, client => server 19:00:45.974530 'QUIT\r\n' 19:00:45.974750 Received DATA (on stdin) 19:00:45.974764 > 18 bytes data, server => client 19:00:45.974775 '221 bye bye baby\r\n' 19:00:45.975621 ====> Client disconnect 19:00:45.975827 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:46.931588 Running IPv4 version 19:00:46.931653 Listening on port 36659 19:00:46.931692 Wrote pid 103764 to log/8/server/ftp_sockdata.pid 19:00:46.931867 Received PING (on stdin) 19:00:46.931955 Received PORT (on stdin) 19:00:46.932348 ====> Client connect 19:00:46.933023 Received DATA (on stdin) 19:00:46.933037 > 17 bytes data, server => client 19:00:46.933048 'WE ROOLZ: 80760\r\n' 19:00:46.933074 Received DISC (on stdin) 19:00:46.933086 ====> Client forcibly disconnected 19:00:46.933211 Received QUIT (on stdin) 19:00:46.933223 quits 19:00:46.933293 ============> 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:40963/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 ==103862== ==103862== Process terminating with default action of signal 4 (SIGILL) ==103862== Illegal opcode at address 0x51D5F1F ==103862== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103862== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103862== by 0x51D5F1F: Curl_open (url.c:525) ==103862== by 0x514F6EF: curl_easy_init (easy.c:371) ==103862== by 0x400EB38: test_lib505.lto_priv.0 (lib505.c:92) ==103862== by 0x400347F: main (first.c:280) ==103862== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==103862== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103862== by 0x51D5EBD: Curl_open (url.c:504) ==103862== by 0x514F6EF: curl_easy_init (easy.c:371) ==103862== by 0x400EB38: test_lib505.lto_priv.0 (lib505.c:92) ==103862== by 0x400347F: main (first.c:280) ==103862== === End of file valgrind505 CMD (33792): ../libtool --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/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:41017/510 > log/7/stdout510 2> log/7/stderr510 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/valgrind517 ./libtest/libtests lib517 - > log/24/stdout517 2> log/24/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/10/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:37879/512 > log/10/stdout512 2> log/10/stderr512 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/20/valgrind509 ./libtest/libtests lib509 - > log/20/stdout509 2> log/20/stderr509 509: stdout FAILED: --- log/20/check-expected 2025-11-13 19:00:47.249391095 +0000 +++ log/20/check-generated 2025-11-13 19:00:47.249391095 +0000 @@ -1 +0,0 @@ -Callbacks were invoked![LF] == Contents of files in the log/20/ 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/20/valgrind509 ./libtest/libtests lib509 - > log/20/stdout509 2> log/20/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 ==103924== ==103924== Process terminating with default action of signal 4 (SIGILL) ==103924== Illegal opcode at address 0x51D5F1F ==103924== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==103924== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==103924== by 0x51D5F1F: Curl_open (url.c:525) ==103924== by 0x514F6EF: curl_easy_init (easy.c:371) ==103924== by 0x400DB0A: test_lib509.lto_priv.0 (lib509.c:91) ==103924== by 0x400347F: main (first.c:280) ==103924== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==103924== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==103924== by 0x51D5EBD: Curl_open (url.c:504) ==103924== by 0x514F6EF: curl_easy_init (easy.c:371) ==103924== by 0x400DB0A: test_lib509.lto_priv.0 (lib509.c:91) ==103924== by 0x400347F: main (first.c:280) ==103924== === End of file valgrind509 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/7/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:41017/510 > log/7/stdout510 2> log/7/stderr510 510: 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 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/7/valgrind510 ./libtest/libtests lib510 http://127.0.0.1:41017/510 > log/7/stdout510 2> log/7/stderr510 === End of file commands.log === Start of file http_server.log 19:00:46.084169 ====> Client connect 19:00:46.084209 accept_connection 3 returned 4 19:00:46.084228 accept_connection 3 returned 0 19:00:46.084245 Read 93 bytes 19:00:46.084256 Process 93 bytes request 19:00:46.084269 Got request: GET /verifiedserver HTTP/1.1 19:00:46.084279 Are-we-friendly question received 19:00:46.084303 Wrote request (93 bytes) input to log/7/server.input 19:00:46.084319 Identifying ourselves as friends 19:00:46.084394 Response sent (56 bytes) and written to log/7/server.response 19:00:46.084405 special request received, no persistency 19:00:46.084414 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 34690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file stderr510 URL: http://127.0.0.1:41017/510 === End of file stderr510 === Start of file valgrind510 ==104000== ==104000== Process terminating with default action of signal 4 (SIGILL) ==104000== Illegal opcode at address 0x51D5F1F ==104000== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104000== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104000== by 0x51D5F1F: Curl_open (url.c:525) ==104000== by 0x514F6EF: curl_easy_init (easy.c:371) ==104000== by 0x4009D00: test_lib510.lto_priv.0 (lib510.c:76) ==104000== by 0x400347F: main (first.c:280) ==104000== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104000== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104000== by 0x51D5EBD: Curl_open (url.c:504) ==104000== by 0x514F6EF: curl_easy_init (easy.c:371) ==104000== by 0x4009D00: test_lib510.lto_priv.0 (lib510.c:76) ==104000== by 0x400347F: main (first.c:280) ==104000== === End of file valgrind510 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/10/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:37879/512 > log/10/stdout512 2> log/10/stderr512 512: 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 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/10/valgrind512 ./libtest/libtests lib512 http://127.0.0.1:37879/512 > log/10/stdout512 2> log/10/stderr512 === End of file commands.log === Start of file http_server.log 19:00:46.094472 ====> Client connect 19:00:46.094522 accept_connection 3 returned 4 19:00:46.094540 accept_connection 3 returned 0 19:00:46.094555 Read 93 bytes 19:00:46.094566 Process 93 bytes request 19:00:46.094581 Got request: GET /verifiedserver HTTP/1.1 19:00:46.094592 Are-we-friendly question received 19:00:46.094617 Wrote request (93 bytes) input to log/10/server.input 19:00:46.094635 Identifying ourselves as friends 19:00:46.094693 Response sent (56 bytes) and written to log/10/server.response 19:00:46.094704 special request received, no persistency 19:00:46.094714 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 56156 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file stderr512 URL: http://127.0.0.1:37879/512 === End of file stderr512 === Start of file valgrind512 ==104026== ==104026== Process terminating with default action of signal 4 (SIGILL) ==104026== Illegal opcode at address 0x51D5F1F ==104026== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104026== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104026== by 0x51D5F1F: Curl_open (url.c:525) ==104026== by 0x514F6EF: curl_easy_init (easy.c:371) ==104026== by 0x400DC35: test_lib512.lto_priv.0 (lib512.c:38) ==104026== by 0x400347CMD (33792): ../libtool --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/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:40887/511 > log/13/stdout511 2> log/13/stderr511 CMD (33792): ../libtool --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/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:42747/515 > log/16/stdout515 2> log/16/stderr515 F: main (first.c:280) ==104026== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104026== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104026== by 0x51D5EBD: Curl_open (url.c:504) ==104026== by 0x514F6EF: curl_easy_init (easy.c:371) ==104026== by 0x400DC35: test_lib512.lto_priv.0 (lib512.c:38) ==104026== by 0x400347F: main (first.c:280) ==104026== === End of file valgrind512 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/24/valgrind517 ./libtest/libtests lib517 - > log/24/stdout517 2> log/24/stderr517 -------e-v- OK (493 out of 1746, remaining: 02:19, took 0.739s, duration: 00:55) test 0511...[FTP with FILETIME and NOBODY but 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/13/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:40887/511 > log/13/stdout511 2> log/13/stderr511 511: 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 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/13/valgrind511 ./libtest/libtests lib511 ftp://127.0.0.1:40887/511 > log/13/stdout511 2> log/13/stderr511 === End of file commands.log === Start of file ftp_server.log 19:00:46.314708 ====> Client connect 19:00:46.314860 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:46.315136 < "USER anonymous" 19:00:46.315170 > "331 We are happy you popped in![CR][LF]" 19:00:46.315336 < "PASS ftp@example.com" 19:00:46.315362 > "230 Welcome you silly person[CR][LF]" 19:00:46.315528 < "PWD" 19:00:46.315560 > "257 "/" is current directory[CR][LF]" 19:00:46.315720 < "EPSV" 19:00:46.315743 ====> Passive DATA channel requested by client 19:00:46.315756 DATA sockfilt for passive data channel starting... 19:00:46.317612 DATA sockfilt for passive data channel started (pid 103989) 19:00:46.317715 DATA sockfilt for passive data channel listens on port 33595 19:00:46.317759 > "229 Entering Passive Mode (|||33595|)[CR][LF]" 19:00:46.317776 Client has been notified that DATA conn will be accepted on port 33595 19:00:46.318001 Client connects to port 33595 19:00:46.318031 ====> Client established passive DATA connection on port 33595 19:00:46.318102 < "TYPE I" 19:00:46.318134 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:46.318300 < "SIZE verifiedserver" 19:00:46.318335 > "213 17[CR][LF]" 19:00:46.318498 < "RETR verifiedserver" 19:00:46.318532 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:46.318617 =====> Closing passive DATA connection... 19:00:46.318635 Server disconnects passive DATA connection 19:00:46.318887 Server disconnected passive DATA connection 19:00:46.318917 DATA sockfilt for passive data channel quits (pid 103989) 19:00:46.319179 DATA sockfilt for passive data channel quit (pid 103989) 19:00:46.319203 =====> Closed passive DATA connection 19:00:46.319231 > "226 File transfer complete[CR][LF]" 19:00:46.360066 < "QUIT" 19:00:46.360677 > "221 bye bye baby[CR][LF]" 19:00:46.361342 MAIN sockfilt said DISC 19:00:46.362050 ====> Client disconnected 19:00:46.362580 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:46.086250 ====> Client connect 19:00:46.086932 Received DATA (on stdin) 19:00:46.086948 > 160 bytes data, server => client 19:00:46.086962 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:46.086974 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:46.086985 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:46.087061 < 16 bytes data, client => server 19:00:46.087073 'USER anonymous\r\n' 19:00:46.087233 Received DATA (on stdin) 19:00:46.087246 > 33 bytes data, server => client 19:00:46.087257 '331 We are happy you popped in!\r\n' 19:00:46.087308 < 22 bytes data, client => server 19:00:46.087319 'PASS ftp@example.com\r\n' 19:00:46.087421 Received DATA (on stdin) 19:00:46.087444 > 30 bytes data, server => client 19:00:46.087455 '230 Welcome you silly person\r\n' 19:00:46.087505 < 5 bytes data, client => server 19:00:46.087516 'PWD\r\n' 19:00:46.087619 Received DATA (on stdin) 19:00:46.087631 > 30 bytes data, server => client 19:00:46.087642 '257 "/" is current directory\r\n' 19:00:46.087696 < 6 bytes data, client => server 19:00:46.087708 'EPSV\r\n' 19:00:46.089841 Received DATA (on stdin) 19:00:46.089855 > 39 bytes data, server => client 19:00:46.089866 '229 Entering Passive Mode (|||33595|)\r\n' 19:00:46.090007 < 8 bytes data, client => server 19:00:46.090020 'TYPE I\r\n' 19:00:46.090199 Received DATA (on stdin) 19:00:46.090213 > 33 bytes data, server => client 19:00:46.090225 '200 I modify TYPE as you wanted\r\n' 19:00:46.090275 < 21 bytes data, client => server 19:00:46.090288 'SIZE verifiedserver\r\n' 19:00:46.090395 Received DATA (on stdin) 19:00:46.090408 > 8 bytes data, server => client 19:00:46.090419 '213 17\r\n' 19:00:46.090470 < 21 bytes data, client => server 19:00:46.090483 'RETR verifiedserver\r\n' 19:00:46.090698 Received DATA (on stdin) 19:00:46.090712 > 29 bytes data, server => client 19:00:46.090723 '150 Binary junk (17 bytes).\r\n' 19:00:46.091295 Received DATA (on stdin) 19:00:46.091308 > 28 bytes data, server => client 19:00:46.091320 '226 File transfer complete\r\n' 19:00:46.131040 < 6 bytes data, client => server 19:00:46.131071 'QUIT\r\n' 19:00:46.133004 Received DATA (on stdin) 19:00:46.133026 > 18 bytes data, server => client 19:00:46.133038 '221 bye bye baby\r\n' 19:00:46.133344 ====> Client disconnect 19:00:46.134138 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:46.089320 Running IPv4 version 19:00:46.089379 Listening on port 33595 19:00:46.089461 Wrote pid 103989 to log/13/server/ftp_sockdata.pid 19:00:46.089614 Received PING (on stdin) 19:00:46.089694 Received PORT (on stdin) 19:00:46.089976 ====> Client connect 19:00:46.090749 Received DATA (on stdin) 19:00:46.090772 > 17 bytes data, server => client 19:00:46.090784 'WE ROOLZ: 80703\r\n' 19:00:46.090811 Received DISC (on stdin) 19:00:46.090824 ====> Client forcibly disconnected 19:00:46.090988 Received QUIT (on stdin) 19:00:46.091001 quits 19:00:46.091089 ============> 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:40887/511 === End of file stderr511 === Start of file valgrind511 ==104112== ==104112== Process terminating with default action of signal 4 (SIGILL) ==104112== Illegal opcode at address 0x51D5F1F ==104112== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104112== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104112== by 0x51D5F1F: Curl_open (url.c:525) ==104112== by 0x514F6EF: curl_easy_init (easy.c:371) ==104112== by 0x4009F2A: test_lib511.lto_priv.0 (lib511.c:38) ==104112== by 0x400347F: main (first.c:280) ==104112== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104112== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104112== by 0x51D5EBD: Curl_open (url.c:504) ==104112== by 0x514F6EF: curl_easy_init (easy.c:371) ==104112== by 0x4009F2A: test_lib511.lto_priv.0 (lib511.c:38) ==104112== by 0x400347F: main (first.c:280) ==104112== === End of file valgrind511 test 0515...[make a POSTFIELDS set to NULL with POSTFIELDSIZE set to zero] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --CMD (33792): ../libtool --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/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:46819/514 > log/12/stdout514 2> log/12/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/2/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:44325/513 > log/2/stdout513 2> log/2/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/18/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:39771/516 > log/18/stdout516 2> log/18/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/19/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:41761/519 > log/19/stdout519 2> log/19/stderr519 leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/16/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:42747/515 > log/16/stdout515 2> log/16/stderr515 515: 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 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/16/valgrind515 ./libtest/libtests lib515 http://127.0.0.1:42747/515 > log/16/stdout515 2> log/16/stderr515 === End of file commands.log === Start of file http_server.log 19:00:47.209081 ====> Client connect 19:00:47.209112 accept_connection 3 returned 4 19:00:47.209129 accept_connection 3 returned 0 19:00:47.209143 Read 93 bytes 19:00:47.209153 Process 93 bytes request 19:00:47.209165 Got request: GET /verifiedserver HTTP/1.1 19:00:47.209176 Are-we-friendly question received 19:00:47.209201 Wrote request (93 bytes) input to log/16/server.input 19:00:47.209219 Identifying ourselves as friends 19:00:47.209274 Response sent (56 bytes) and written to log/16/server.response 19:00:47.209286 special request received, no persistency 19:00:47.209295 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 59500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file stderr515 URL: http://127.0.0.1:42747/515 === End of file stderr515 === Start of file valgrind515 ==104225== ==104225== Process terminating with default action of signal 4 (SIGILL) ==104225== Illegal opcode at address 0x51D5F1F ==104225== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104225== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104225== by 0x51D5F1F: Curl_open (url.c:525) ==104225== by 0x514F6EF: curl_easy_init (easy.c:371) ==104225== by 0x400A30A: test_lib515.lto_priv.0 (lib515.c:38) ==104225== by 0x400347F: main (first.c:280) ==104225== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104225== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104225== by 0x51D5EBD: Curl_open (url.c:504) ==104225== by 0x514F6EF: curl_easy_init (easy.c:371) ==104225== by 0x400A30A: test_lib515.lto_priv.0 (lib515.c:38) ==104225== by 0x400347F: main (first.c:280) ==104225== === End of file valgrind515 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/18/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:39771/516 > log/18/stdout516 2> log/18/stderr516 516: 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 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/18/valgrind516 ./libtest/libtests lib516 http://127.0.0.1:39771/516 > log/18/stdout516 2> log/18/stderr516 === End of file commands.log === Start of file http_server.log 19:00:46.240514 ====> Client connect 19:00:46.240545 accept_connection 3 returned 4 19:00:46.240562 accept_connection 3 returned 0 19:00:46.240576 Read 93 bytes 19:00:46.240586 Process 93 bytes request 19:00:46.240599 Got request: GET /verifiedserver HTTP/1.1 19:00:46.240609 Are-we-friendly question received 19:00:46.240635 Wrote request (93 bytes) input to log/18/server.input 19:00:46.240652 Identifying ourselves as friends 19:00:46.240701 Response sent (56 bytes) and written to log/18/server.response 19:00:46.240711 special request received, no persistency 19:00:46.240720 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 54262 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file stderr516 URL: http://127.0.0.1:39771/516 === End of file stderr516 === Start of file valgrind516 ==104347== ==104347== Process terminating with default action of signal 4 (SIGILL) ==104347== Illegal opcode at address 0x51D5F1F ==104347== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104347== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104347== by 0x51D5F1F: Curl_open (url.c:525) ==104347== by 0x514F6EF: curl_easy_init (easy.c:371) ==104347== by 0x400A42A: test_lib516.lto_priv.0 (lib516.c:38) ==104347== by 0x400347F: main (first.c:280) ==104347== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104347== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104347== by 0x51D5EBD: Curl_open (url.c:504) ==104347== by 0x514F6EF: curl_easy_init (easy.c:371) ==104347== by 0x400A42A: test_lib516.lto_priv.0 (lib516.c:38) ==104347== by 0x400347F: main (first.c:280) ==104347== === End of file valgrind516 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/19/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:41761/519 > log/19/stdout519 2> log/19/stderr519 519: 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 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/19/valgrind519 ./libtest/libtests lib519 http://127.0.0.1:41761/519 > log/19/stdout519 2> log/19/stderr519 === End of file commands.log === Start of file http_server.log 19:00:46.391086 ====> Client connect 19:00:46.391120 accept_connection 3 returned 4 19:00:46.391139 accept_connection 3 returned 0 19:00:46.391156 Read 93 bytes 19:00:46.391168 Process 93 bytes request 19:00:46.391182 Got request: GET /verifiedserver HTTP/1.1 19:00:46.391193 Are-we-friendly question received 19:00:46.391220 Wrote request (93 bytes) input to log/19/server.input 19:00:46.391238 Identifying ourselves as friends 19:00:46.391297 Response sent (56 bytes) and written to log/19/server.response 19:00:46.391309 special request received, no persistency 19:00:46.391319 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 52810 * using HTTP/1.x > GET /verifiedserver 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/15/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:36561/520 > log/15/stdout520 2> log/15/stderr520 1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file stderr519 URL: http://127.0.0.1:41761/519 === End of file stderr519 === Start of file valgrind519 ==104526== ==104526== Process terminating with default action of signal 4 (SIGILL) ==104526== Illegal opcode at address 0x51D5F1F ==104526== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104526== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104526== by 0x51D5F1F: Curl_open (url.c:525) ==104526== by 0x514F6EF: curl_easy_init (easy.c:371) ==104526== by 0x400A54A: test_lib519.lto_priv.0 (lib519.c:38) ==104526== by 0x400347F: main (first.c:280) ==104526== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104526== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104526== by 0x51D5EBD: Curl_open (url.c:504) ==104526== by 0x514F6EF: curl_easy_init (easy.c:371) ==104526== by 0x400A54A: test_lib519.lto_priv.0 (lib519.c:38) ==104526== by 0x400347F: main (first.c:280) ==104526== === End of file valgrind519 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/15/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:36561/520 > log/15/stdout520 2> log/15/stderr520 520: 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 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/15/valgrind520 ./libtest/libtests lib520 ftp://127.0.0.1:36561/520 > log/15/stdout520 2> log/15/stderr520 === End of file commands.log === Start of file ftp_server.log 19:00:46.638587 ====> Client connect 19:00:46.638798 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:46.639271 < "USER anonymous" 19:00:46.639316 > "331 We are happy you popped in![CR][LF]" 19:00:46.639508 < "PASS ftp@example.com" 19:00:46.639536 > "230 Welcome you silly person[CR][LF]" 19:00:46.639701 < "PWD" 19:00:46.639734 > "257 "/" is current directory[CR][LF]" 19:00:46.639908 < "EPSV" 19:00:46.639934 ====> Passive DATA channel requested by client 19:00:46.639948 DATA sockfilt for passive data channel starting... 19:00:46.642211 DATA sockfilt for passive data channel started (pid 104538) 19:00:46.642408 DATA sockfilt for passive data channel listens on port 34667 19:00:46.642470 > "229 Entering Passive Mode (|||34667|)[CR][LF]" 19:00:46.642492 Client has been notified that DATA conn will be accepted on port 34667 19:00:46.642826 Client connects to port 34667 19:00:46.642862 ====> Client established passive DATA connection on port 34667 19:00:46.642967 < "TYPE I" 19:00:46.643007 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:46.643207 < "SIZE verifiedserver" 19:00:46.643254 > "213 17[CR][LF]" 19:00:46.643438 < "RETR verifiedserver" 19:00:46.643477 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:46.643578 =====> Closing passive DATA connection... 19:00:46.643597 Server disconnects passive DATA connection 19:00:46.643868 Server disconnected passive DATA connection 19:00:46.643899 DATA sockfilt for passive data channel quits (pid 104538) 19:00:46.644168 DATA sockfilt for passive data channel quit (pid 104538) 19:00:46.644195 =====> Closed passive DATA connection 19:00:46.644226 > "226 File transfer complete[CR][LF]" 19:00:46.686449 < "QUIT" 19:00:46.686507 > "221 bye bye baby[CR][LF]" 19:00:46.687886 MAIN sockfilt said DISC 19:00:46.687930 ====> Client disconnected 19:00:46.688022 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:46.410486 ====> Client connect 19:00:46.410884 Received DATA (on stdin) 19:00:46.410904 > 160 bytes data, server => client 19:00:46.410919 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:46.410932 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:46.410944 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:46.411154 < 16 bytes data, client => server 19:00:46.411168 'USER anonymous\r\n' 19:00:46.411383 Received DATA (on stdin) 19:00:46.411397 > 33 bytes data, server => client 19:00:46.411410 '331 We are happy you popped in!\r\n' 19:00:46.411465 < 22 bytes data, client => server 19:00:46.411479 'PASS ftp@example.com\r\n' 19:00:46.411598 Received DATA (on stdin) 19:00:46.411611 > 30 bytes data, server => client 19:00:46.411623 '230 Welcome you silly person\r\n' 19:00:46.411672 < 5 bytes data, client => server 19:00:46.411684 'PWD\r\n' 19:00:46.411796 Received DATA (on stdin) 19:00:46.411809 > 30 bytes data, server => client 19:00:46.411821 '257 "/" is current directory\r\n' 19:00:46.411881 < 6 bytes data, client => server 19:00:46.411894 'EPSV\r\n' 19:00:46.414567 Received DATA (on stdin) 19:00:46.414587 > 39 bytes data, server => client 19:00:46.414600 '229 Entering Passive Mode (|||34667|)\r\n' 19:00:46.414787 < 8 bytes data, client => server 19:00:46.414806 'TYPE I\r\n' 19:00:46.415074 Received DATA (on stdin) 19:00:46.415089 > 33 bytes data, server => client 19:00:46.415102 '200 I modify TYPE as you wanted\r\n' 19:00:46.415165 < 21 bytes data, client => server 19:00:46.415180 'SIZE verifiedserver\r\n' 19:00:46.415318 Received DATA (on stdin) 19:00:46.415332 > 8 bytes data, server => client 19:00:46.415343 '213 17\r\n' 19:00:46.415401 < 21 bytes data, client => server 19:00:46.415415 'RETR verifiedserver\r\n' 19:00:46.415662 Received DATA (on stdin) 19:00:46.415675 > 29 bytes data, server => client 19:00:46.415688 '150 Binary junk (17 bytes).\r\n' 19:00:46.416292 Received DATA (on stdin) 19:00:46.416306 > 28 bytes data, server => client 19:00:46.416319 '226 File transfer complete\r\n' 19:00:46.458313 < 6 bytes data, client => server 19:00:46.458346 'QUIT\r\n' 19:00:46.458580 Received DATA (on stdin) 19:00:46.458596 > 18 bytes data, server => client 19:00:46.458607 '221 bye bye baby\r\n' 19:00:46.459613 ====> Client disconnect 19:00:46.460088 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:46.413677 Running IPv4 version 19:00:46.413737 Listening on port 34667 19:00:46.413773 Wrote pid 104538 to log/15/server/ftp_sockdata.pid 19:00:46.413797 Received PING (on stdin) 19:00:46.414347 Received PORT (on stdin) 19:00:46.414835 ====> Client connect 19:00:46.415720 Received DATA (on stdin) 19:00:46.415736 > 17 bytes data, server => client 19:00:46.415748 'WE ROOLZ: 81045\r\n' 19:00:46.415775 Received DISC (on stdin) 19:00:46.415788 ====> Client forcibly disconnected 19:00:46.415972 Received QUIT (on stdin) 19:00:46.415987 quits 19:00:46.416060 ============> 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:36561/520 === End of file stderr520 === Start of file valgrind520 ==104615== ==104615== Process terminating with default action of signal 4 (SIGILL) ==104615== Illegal opcode at address 0x51D5F1F ==104615== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104615== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104615== by 0x51D5F1F: Curl_open (url.c:525) ==104615== by 0x514F6EF: curl_easy_CMD (33792): ../libtool --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/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 36953 > log/22/stdout521 2> log/22/stderr521 CMD (33792): ../libtool --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/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 35243 > log/23/stdout522 2> log/23/stderr522 init (easy.c:371) ==104615== by 0x400A68A: test_lib520.lto_priv.0 (lib520.c:38) ==104615== by 0x400347F: main (first.c:280) ==104615== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104615== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104615== by 0x51D5EBD: Curl_open (url.c:504) ==104615== by 0x514F6EF: curl_easy_init (easy.c:371) ==104615== by 0x400A68A: test_lib520.lto_priv.0 (lib520.c:38) ==104615== by 0x400347F: main (first.c:280) ==104615== === End of file valgrind520 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/22/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 36953 > log/22/stdout521 2> log/22/stderr521 521: 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 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/22/valgrind521 ./libtest/libtests lib521 ftp://127.0.0.1/521/ 36953 > log/22/stdout521 2> log/22/stderr521 === End of file commands.log === Start of file ftp_server.log 19:00:46.699395 ====> Client connect 19:00:46.699540 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:46.699851 < "USER anonymous" 19:00:46.699890 > "331 We are happy you popped in![CR][LF]" 19:00:46.700078 < "PASS ftp@example.com" 19:00:46.700106 > "230 Welcome you silly person[CR][LF]" 19:00:46.700278 < "PWD" 19:00:46.700310 > "257 "/" is current directory[CR][LF]" 19:00:46.700491 < "EPSV" 19:00:46.700516 ====> Passive DATA channel requested by client 19:00:46.700531 DATA sockfilt for passive data channel starting... 19:00:46.702945 DATA sockfilt for passive data channel started (pid 104617) 19:00:46.703069 DATA sockfilt for passive data channel listens on port 32927 19:00:46.703117 > "229 Entering Passive Mode (|||32927|)[CR][LF]" 19:00:46.703138 Client has been notified that DATA conn will be accepted on port 32927 19:00:46.703427 Client connects to port 32927 19:00:46.703459 ====> Client established passive DATA connection on port 32927 19:00:46.703543 < "TYPE I" 19:00:46.703575 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:46.703762 < "SIZE verifiedserver" 19:00:46.703800 > "213 17[CR][LF]" 19:00:46.703978 < "RETR verifiedserver" 19:00:46.704019 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:46.704107 =====> Closing passive DATA connection... 19:00:46.704127 Server disconnects passive DATA connection 19:00:46.704417 Server disconnected passive DATA connection 19:00:46.704477 DATA sockfilt for passive data channel quits (pid 104617) 19:00:46.704792 DATA sockfilt for passive data channel quit (pid 104617) 19:00:46.704825 =====> Closed passive DATA connection 19:00:46.704864 > "226 File transfer complete[CR][LF]" 19:00:46.751281 < "QUIT" 19:00:46.751336 > "221 bye bye baby[CR][LF]" 19:00:46.752334 MAIN sockfilt said DISC 19:00:46.752363 ====> Client disconnected 19:00:46.752448 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:47.471348 ====> Client connect 19:00:47.471612 Received DATA (on stdin) 19:00:47.471628 > 160 bytes data, server => client 19:00:47.471642 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:47.471654 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:47.471666 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:47.471752 < 16 bytes data, client => server 19:00:47.471768 'USER anonymous\r\n' 19:00:47.471956 Received DATA (on stdin) 19:00:47.471971 > 33 bytes data, server => client 19:00:47.471984 '331 We are happy you popped in!\r\n' 19:00:47.472041 < 22 bytes data, client => server 19:00:47.472056 'PASS ftp@example.com\r\n' 19:00:47.472169 Received DATA (on stdin) 19:00:47.472183 > 30 bytes data, server => client 19:00:47.472195 '230 Welcome you silly person\r\n' 19:00:47.472247 < 5 bytes data, client => server 19:00:47.472261 'PWD\r\n' 19:00:47.472372 Received DATA (on stdin) 19:00:47.472386 > 30 bytes data, server => client 19:00:47.472398 '257 "/" is current directory\r\n' 19:00:47.472461 < 6 bytes data, client => server 19:00:47.472474 'EPSV\r\n' 19:00:47.475206 Received DATA (on stdin) 19:00:47.475222 > 39 bytes data, server => client 19:00:47.475235 '229 Entering Passive Mode (|||32927|)\r\n' 19:00:47.475428 < 8 bytes data, client => server 19:00:47.475442 'TYPE I\r\n' 19:00:47.475640 Received DATA (on stdin) 19:00:47.475655 > 33 bytes data, server => client 19:00:47.475667 '200 I modify TYPE as you wanted\r\n' 19:00:47.475722 < 21 bytes data, client => server 19:00:47.475742 'SIZE verifiedserver\r\n' 19:00:47.475865 Received DATA (on stdin) 19:00:47.475879 > 8 bytes data, server => client 19:00:47.475891 '213 17\r\n' 19:00:47.475946 < 21 bytes data, client => server 19:00:47.475961 'RETR verifiedserver\r\n' 19:00:47.476075 Received DATA (on stdin) 19:00:47.476115 > 29 bytes data, server => client 19:00:47.476130 '150 Binary junk (17 bytes).\r\n' 19:00:47.477395 Received DATA (on stdin) 19:00:47.477419 > 28 bytes data, server => client 19:00:47.477443 '226 File transfer complete\r\n' 19:00:47.523135 < 6 bytes data, client => server 19:00:47.523171 'QUIT\r\n' 19:00:47.523424 Received DATA (on stdin) 19:00:47.523438 > 18 bytes data, server => client 19:00:47.523450 '221 bye bye baby\r\n' 19:00:47.524339 ====> Client disconnect 19:00:47.524510 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:46.474281 Running IPv4 version 19:00:46.474350 Listening on port 32927 19:00:46.474393 Wrote pid 104617 to log/22/server/ftp_sockdata.pid 19:00:46.474938 Received PING (on stdin) 19:00:46.475034 Received PORT (on stdin) 19:00:46.475395 ====> Client connect 19:00:46.476254 Received DATA (on stdin) 19:00:46.476278 > 17 bytes data, server => client 19:00:46.476291 'WE ROOLZ: 80850\r\n' 19:00:46.476325 Received DISC (on stdin) 19:00:46.476339 ====> Client forcibly disconnected 19:00:46.476553 Received QUIT (on stdin) 19:00:46.476568 quits 19:00:46.476649 ============> 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 ==104665== ==104665== Process terminating with default action of signal 4 (SIGILL) ==104665== Illegal opcode at address 0x51D5F1F ==104665== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104665== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104665== by 0x51D5F1F: Curl_open (url.c:525) ==104665== by 0x514F6EF: curl_easy_init (easy.c:371) ==104665== by 0x400A78A: test_lib521.lto_priv.0 (lib521.c:38) ==104665== by 0x400347F: main (first.c:280) ==104665== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104665== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104665== by 0x51D5EBD: Curl_open (url.c:504) ==104665== by 0x514F6EF: curl_easy_init (easy.c:371) ==104665== by 0x400A78A: test_lib521.lto_priv.0 (lib521.c:38) ==104665== by 0x400347F: main (first.c:280) ==104665== === End of file valgrind521 CMD (33792): ../libtool --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/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:36759 > log/14/stdout523 2> log/14/stderr523 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/23/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 35243 > log/23/stdout522 2> log/23/stderr522 522: stdout FAILED: --- log/23/check-expected 2025-11-13 19:00:47.866057767 +0000 +++ log/23/check-generated 2025-11-13 19:00:47.866057767 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/23/ 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/23/valgrind522 ./libtest/libtests lib521 http://127.0.0.1/522 35243 > log/23/stdout522 2> log/23/stderr522 === End of file commands.log === Start of file http_server.log 19:00:46.577663 ====> Client connect 19:00:46.577695 accept_connection 3 returned 4 19:00:46.577713 accept_connection 3 returned 0 19:00:46.577730 Read 93 bytes 19:00:46.577741 Process 93 bytes request 19:00:46.577755 Got request: GET /verifiedserver HTTP/1.1 19:00:46.577765 Are-we-friendly question received 19:00:46.577790 Wrote request (93 bytes) input to log/23/server.input 19:00:46.577808 Identifying ourselves as friends 19:00:46.577859 Response sent (56 bytes) and written to log/23/server.response 19:00:46.577869 special request received, no persistency 19:00:46.577880 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 45492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file stderr522 URL: http://127.0.0.1/522 === End of file stderr522 === Start of file valgrind522 ==104734== ==104734== Process terminating with default action of signal 4 (SIGILL) ==104734== Illegal opcode at address 0x51D5F1F ==104734== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104734== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104734== by 0x51D5F1F: Curl_open (url.c:525) ==104734== by 0x514F6EF: curl_easy_init (easy.c:371) ==104734== by 0x400A78A: test_lib521.lto_priv.0 (lib521.c:38) ==104734== by 0x400347F: main (first.c:280) ==104734== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104734== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104734== by 0x51D5EBD: Curl_open (url.c:504) ==104734== by 0x514F6EF: curl_easy_init (easy.c:371) ==104734== by 0x400A78A: test_lib521.lto_priv.0 (lib521.c:38) ==104734== by 0x400347F: main (first.c:280) ==104734== === 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/6/valgrind503 ./libtest/libtests lib503 http://machine.503:41595/503 127.0.0.1:42771 > log/6/stdout503 2> log/6/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/21/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:35487/path/526 > log/21/stdout526 2> log/21/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/14/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:36759 > log/14/stdout523 2> log/14/stderr523 523: stdout FAILED: --- log/14/check-expected 2025-11-13 19:00:47.872724434 +0000 +++ log/14/check-generated 2025-11-13 19:00:47.872724434 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/14/ 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/14/valgrind523 ./libtest/libtests lib523 http://www.example.com:999/523 http://127.0.0.1:36759 > log/14/stdout523 2> log/14/stderr523 === End of file commands.log === Start of file http_server.log 19:00:46.636285 ====> Client connect 19:00:46.636321 accept_connection 3 returned 4 19:00:46.636339 accept_connection 3 returned 0 19:00:46.636355 Read 93 bytes 19:00:46.636366 Process 93 bytes request 19:00:46.636382 Got request: GET /verifiedserver HTTP/1.1 19:00:46.636392 Are-we-friendly question received 19:00:46.636419 Wrote request (93 bytes) input to log/14/server.input 19:00:46.636438 Identifying ourselves as friends 19:00:46.636497 Response sent (56 bytes) and written to log/14/server.response 19:00:46.636509 special request received, no persistency 19:00:46.636520 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 46552 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file stderr523 URL: http://www.example.com:999/523 === End of file stderr523 === Start of file valgrind523 ==104800== ==104800== Process terminating with default action of signal 4 (SIGILL) ==104800== Illegal opcode at address 0x51D5F1F ==104800== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104800== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104800== by 0x51D5F1F: Curl_open (url.c:525) ==104800== by 0x514F6EF: curl_easy_init (easy.c:371) ==104800== by 0x400A8CA: test_lib523.lto_priv.0 (lib523.c:38) ==104800== by 0x400347F: main (first.c:280) ==104800== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104800== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104800== by 0x51D5EBD: Curl_open (url.c:504) ==104800== by 0x514F6EF: curl_easy_init (easy.c:371) ==104800== by 0x400A8CA: test_lib523.lto_priv.0 (lib523.c:38) ==104800== by 0x400347F: main (first.c:280) ==104800== === End of file valgrind523 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 103605 port 42771 * pid http-proxy => 103605 103605 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/6/valgrind503 ./libtest/libtests lib503 http://machine.503:41595/503 127.0.0.1:42771 > log/6/stdout503 2> log/6/stderr503 503: 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 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/6/valgrind503 ./libtest/libtests lib503 http://machine.503:41595/503 127.0.0.1:42771 > log/6/stdout503 2> log/6/stderr503 === End of file commands.log === Start of file http2_server.log 19:00:46.832473 Run as proxy, CONNECT to host 127.0.0.1 19:00:46.832607 Running HTTP IPv4 version on port 42771 19:00:46.832651 Wrote pid 103605 to log/6/server/http2_server.pid 19:00:46.832682 Wrote port 42771 to log/6/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:00:45.805104 ====> Client connect 19:00:45.805144 accept_connection 3 returned 4 19:00:45.805163 accept_connection 3 returned 0 19:00:45.805180 Read 93 bytes 19:00:45.805191 Process 93 bytes request 19:00:45.805208 Got request: GET /verifiedserver HTTP/1.1 19:00:45.805219 Are-we-friendly question received 19:00:45.805247 Wrote request (93 bytes) input to log/6/server.input 19:00:45.805265 Identifying ourselves as friends 19:00:45.805325 Response sent (56 bytes) and written to log/6/server.response 19:00:45.805337 special request received, no persistency 19:00:45.805348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 36108 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file stderr503 URL: http://machine.503:41595/503 === End of file stderr503 === Start of file test503.txt foo bar bar foo moo === End of file test503.txt === Start of file valgrind503 ==104973== ==104973== Process terminating with default action of signal 4 (SIGILL) ==104973== Illegal opcode at address 0x51D5F1F ==104973== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104973== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104973== by 0x51D5F1F: Curl_open (url.c:525) ==104973== by 0x514F6EF: curl_easy_init (easy.c:371) ==104973== by 0x4062515: test_lib503.part.0.lto_priv.0 (lib503.c:47) ==104973== by 0x400347F: main (first.c:280) ==104973== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104973== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104973== by 0x51D5EBD: Curl_open (url.c:504) ==104973== by 0x514F6EF: curl_easy_init (easy.c:371) ==104973== by 0x4062515: test_lib503.part.0.lto_priv.0 (lib503.c:47) ==104973== by 0x400347F: main (first.c:280) ==104973== === End of file valgrind503 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/21/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:35487/path/526 > log/21/stdout526 2> log/21/stderr526 526: 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 CMD (33792): ../libtool --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/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:35791/path/to/ > log/4/stdout524 2> log/4/stderr524 log/21/ 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/21/valgrind526 ./libtest/libtests lib526 ftp://127.0.0.1:35487/path/526 > log/21/stdout526 2> log/21/stderr526 === End of file commands.log === Start of file ftp_server.log 19:00:46.972374 ====> Client connect 19:00:46.972534 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:46.972832 < "USER anonymous" 19:00:46.972873 > "331 We are happy you popped in![CR][LF]" 19:00:46.973048 < "PASS ftp@example.com" 19:00:46.973080 > "230 Welcome you silly person[CR][LF]" 19:00:46.973236 < "PWD" 19:00:46.973272 > "257 "/" is current directory[CR][LF]" 19:00:46.973436 < "EPSV" 19:00:46.973468 ====> Passive DATA channel requested by client 19:00:46.973484 DATA sockfilt for passive data channel starting... 19:00:46.975335 DATA sockfilt for passive data channel started (pid 104905) 19:00:46.975463 DATA sockfilt for passive data channel listens on port 41597 19:00:46.975511 > "229 Entering Passive Mode (|||41597|)[CR][LF]" 19:00:46.975527 Client has been notified that DATA conn will be accepted on port 41597 19:00:46.975766 Client connects to port 41597 19:00:46.975797 ====> Client established passive DATA connection on port 41597 19:00:46.975874 < "TYPE I" 19:00:46.975903 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:46.976059 < "SIZE verifiedserver" 19:00:46.976097 > "213 17[CR][LF]" 19:00:46.976251 < "RETR verifiedserver" 19:00:46.976284 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:46.976377 =====> Closing passive DATA connection... 19:00:46.976392 Server disconnects passive DATA connection 19:00:46.976637 Server disconnected passive DATA connection 19:00:46.976662 DATA sockfilt for passive data channel quits (pid 104905) 19:00:46.976881 DATA sockfilt for passive data channel quit (pid 104905) 19:00:46.976903 =====> Closed passive DATA connection 19:00:46.976929 > "226 File transfer complete[CR][LF]" 19:00:47.022728 < "QUIT" 19:00:47.022791 > "221 bye bye baby[CR][LF]" 19:00:47.023423 MAIN sockfilt said DISC 19:00:47.023455 ====> Client disconnected 19:00:47.023533 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:46.744134 ====> Client connect 19:00:46.744611 Received DATA (on stdin) 19:00:46.744630 > 160 bytes data, server => client 19:00:46.744644 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:46.744657 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:46.744669 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:46.744744 < 16 bytes data, client => server 19:00:46.744757 'USER anonymous\r\n' 19:00:46.744937 Received DATA (on stdin) 19:00:46.744950 > 33 bytes data, server => client 19:00:46.744963 '331 We are happy you popped in!\r\n' 19:00:46.745014 < 22 bytes data, client => server 19:00:46.745027 'PASS ftp@example.com\r\n' 19:00:46.745141 Received DATA (on stdin) 19:00:46.745154 > 30 bytes data, server => client 19:00:46.745166 '230 Welcome you silly person\r\n' 19:00:46.745214 < 5 bytes data, client => server 19:00:46.745225 'PWD\r\n' 19:00:46.745332 Received DATA (on stdin) 19:00:46.745345 > 30 bytes data, server => client 19:00:46.745357 '257 "/" is current directory\r\n' 19:00:46.745414 < 6 bytes data, client => server 19:00:46.745426 'EPSV\r\n' 19:00:46.747597 Received DATA (on stdin) 19:00:46.747612 > 39 bytes data, server => client 19:00:46.747624 '229 Entering Passive Mode (|||41597|)\r\n' 19:00:46.747740 < 8 bytes data, client => server 19:00:46.747756 'TYPE I\r\n' 19:00:46.747963 Received DATA (on stdin) 19:00:46.747976 > 33 bytes data, server => client 19:00:46.747988 '200 I modify TYPE as you wanted\r\n' 19:00:46.748038 < 21 bytes data, client => server 19:00:46.748050 'SIZE verifiedserver\r\n' 19:00:46.748157 Received DATA (on stdin) 19:00:46.748170 > 8 bytes data, server => client 19:00:46.748181 '213 17\r\n' 19:00:46.748228 < 21 bytes data, client => server 19:00:46.748239 'RETR verifiedserver\r\n' 19:00:46.748455 Received DATA (on stdin) 19:00:46.748468 > 29 bytes data, server => client 19:00:46.748480 '150 Binary junk (17 bytes).\r\n' 19:00:46.748991 Received DATA (on stdin) 19:00:46.749005 > 28 bytes data, server => client 19:00:46.749017 '226 File transfer complete\r\n' 19:00:46.794317 < 6 bytes data, client => server 19:00:46.794590 'QUIT\r\n' 19:00:46.794877 Received DATA (on stdin) 19:00:46.794940 > 18 bytes data, server => client 19:00:46.794956 '221 bye bye baby\r\n' 19:00:46.795434 ====> Client disconnect 19:00:46.795596 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:46.747218 Running IPv4 version 19:00:46.747276 Listening on port 41597 19:00:46.747315 Wrote pid 104905 to log/21/server/ftp_sockdata.pid 19:00:46.747337 Received PING (on stdin) 19:00:46.747423 Received PORT (on stdin) 19:00:46.747777 ====> Client connect 19:00:46.748506 Received DATA (on stdin) 19:00:46.748521 > 17 bytes data, server => client 19:00:46.748533 'WE ROOLZ: 81255\r\n' 19:00:46.748559 Received DISC (on stdin) 19:00:46.748571 ====> Client forcibly disconnected 19:00:46.748732 Received QUIT (on stdin) 19:00:46.748745 quits 19:00:46.748803 ============> 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:35487/path/526 === End of file stderr526 === Start of file valgrind526 ==104978== ==104978== Process terminating with default action of signal 4 (SIGILL) ==104978== Illegal opcode at address 0x51D5F1F ==104978== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104978== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104978== by 0x51D5F1F: Curl_open (url.c:525) ==104978== by 0x514F6EF: curl_easy_init (easy.c:371) ==104978== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==104978== by 0x400347F: main (first.c:280) ==104978== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104978== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104978== by 0x51D5EBD: Curl_open (url.c:504) ==104978== by 0x514F6EF: curl_easy_init (easy.c:371) ==104978== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==104978== by 0x400347F: main (first.c:280) ==104978== === End of file valgrind526 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/4/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:35791/path/to/ > log/4/stdout524 2> log/4/stderr524 524: 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 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/4/valgrind524 ./libtest/libtests lib524 ftp://127.0.0.1:35791/path/to/ > log/4/stdout524 2> log/4/stderr524 === End of file commands.log === Start of file ftp_server.log 19:00:46.948976 ====> Client connect 19:00:46.949211 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:46.949596 < "USER anonymous" 19:00:46.949648 > "331 We are happy you popped in![CR][LF]" 19:00:46.949859 < "PASS ftp@example.com" 19:00:46.949896 > "230 Welcome you silly person[CR][LF]" 19:00:46.950073 < "PWD" 19:00:46.950111 > "257 "/" is current directory[CR][LF]" 19:00:46.950293 < "EPSV" 19:00:46.950319 ====> Passive DATA channelCMD (33792): ../libtool --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/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:35787/path/525 log/11/upload525 > log/11/stdout525 2> log/11/stderr525 requested by client 19:00:46.950334 DATA sockfilt for passive data channel starting... 19:00:46.953988 DATA sockfilt for passive data channel started (pid 104885) 19:00:46.954141 DATA sockfilt for passive data channel listens on port 46115 19:00:46.954195 > "229 Entering Passive Mode (|||46115|)[CR][LF]" 19:00:46.954217 Client has been notified that DATA conn will be accepted on port 46115 19:00:46.954484 Client connects to port 46115 19:00:46.954524 ====> Client established passive DATA connection on port 46115 19:00:46.954626 < "TYPE I" 19:00:46.954662 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:46.954971 < "SIZE verifiedserver" 19:00:46.955026 > "213 17[CR][LF]" 19:00:46.955215 < "RETR verifiedserver" 19:00:46.955259 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:46.955353 =====> Closing passive DATA connection... 19:00:46.955370 Server disconnects passive DATA connection 19:00:46.955593 Server disconnected passive DATA connection 19:00:46.955626 DATA sockfilt for passive data channel quits (pid 104885) 19:00:46.955903 DATA sockfilt for passive data channel quit (pid 104885) 19:00:46.955929 =====> Closed passive DATA connection 19:00:46.955960 > "226 File transfer complete[CR][LF]" 19:00:47.002520 < "QUIT" 19:00:47.002581 > "221 bye bye baby[CR][LF]" 19:00:47.003514 MAIN sockfilt said DISC 19:00:47.003547 ====> Client disconnected 19:00:47.003633 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:46.720897 ====> Client connect 19:00:46.721299 Received DATA (on stdin) 19:00:46.721320 > 160 bytes data, server => client 19:00:46.721335 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:46.721347 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:46.721359 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:46.721450 < 16 bytes data, client => server 19:00:46.721466 'USER anonymous\r\n' 19:00:46.721718 Received DATA (on stdin) 19:00:46.721733 > 33 bytes data, server => client 19:00:46.721746 '331 We are happy you popped in!\r\n' 19:00:46.721805 < 22 bytes data, client => server 19:00:46.721819 'PASS ftp@example.com\r\n' 19:00:46.721960 Received DATA (on stdin) 19:00:46.721973 > 30 bytes data, server => client 19:00:46.721985 '230 Welcome you silly person\r\n' 19:00:46.722036 < 5 bytes data, client => server 19:00:46.722049 'PWD\r\n' 19:00:46.722172 Received DATA (on stdin) 19:00:46.722185 > 30 bytes data, server => client 19:00:46.722197 '257 "/" is current directory\r\n' 19:00:46.722264 < 6 bytes data, client => server 19:00:46.722278 'EPSV\r\n' 19:00:46.726290 Received DATA (on stdin) 19:00:46.726309 > 39 bytes data, server => client 19:00:46.726323 '229 Entering Passive Mode (|||46115|)\r\n' 19:00:46.726511 < 8 bytes data, client => server 19:00:46.726528 'TYPE I\r\n' 19:00:46.726727 Received DATA (on stdin) 19:00:46.726743 > 33 bytes data, server => client 19:00:46.726775 '200 I modify TYPE as you wanted\r\n' 19:00:46.726910 < 21 bytes data, client => server 19:00:46.726928 'SIZE verifiedserver\r\n' 19:00:46.727093 Received DATA (on stdin) 19:00:46.727107 > 8 bytes data, server => client 19:00:46.727120 '213 17\r\n' 19:00:46.727178 < 21 bytes data, client => server 19:00:46.727192 'RETR verifiedserver\r\n' 19:00:46.727468 Received DATA (on stdin) 19:00:46.727485 > 29 bytes data, server => client 19:00:46.727498 '150 Binary junk (17 bytes).\r\n' 19:00:46.728025 Received DATA (on stdin) 19:00:46.728039 > 28 bytes data, server => client 19:00:46.728052 '226 File transfer complete\r\n' 19:00:46.774352 < 6 bytes data, client => server 19:00:46.774382 'QUIT\r\n' 19:00:46.774650 Received DATA (on stdin) 19:00:46.774665 > 18 bytes data, server => client 19:00:46.774678 '221 bye bye baby\r\n' 19:00:46.775519 ====> Client disconnect 19:00:46.775702 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:46.725816 Running IPv4 version 19:00:46.725907 Listening on port 46115 19:00:46.725948 Wrote pid 104885 to log/4/server/ftp_sockdata.pid 19:00:46.725973 Received PING (on stdin) 19:00:46.726096 Received PORT (on stdin) 19:00:46.726486 ====> Client connect 19:00:46.727445 Received DATA (on stdin) 19:00:46.727466 > 17 bytes data, server => client 19:00:46.727480 'WE ROOLZ: 80681\r\n' 19:00:46.727511 Received DISC (on stdin) 19:00:46.727524 ====> Client forcibly disconnected 19:00:46.727705 Received QUIT (on stdin) 19:00:46.727723 quits 19:00:46.727786 ============> 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:35791/path/to/ === End of file stderr524 === Start of file valgrind524 ==104912== ==104912== Process terminating with default action of signal 4 (SIGILL) ==104912== Illegal opcode at address 0x51D5F1F ==104912== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104912== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104912== by 0x51D5F1F: Curl_open (url.c:525) ==104912== by 0x514F6EF: curl_easy_init (easy.c:371) ==104912== by 0x400AA0A: test_lib524.lto_priv.0 (lib524.c:38) ==104912== by 0x400347F: main (first.c:280) ==104912== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104912== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104912== by 0x51D5EBD: Curl_open (url.c:504) ==104912== by 0x514F6EF: curl_easy_init (easy.c:371) ==104912== by 0x400AA0A: test_lib524.lto_priv.0 (lib524.c:38) ==104912== by 0x400347F: main (first.c:280) ==104912== === End of file valgrind524 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/11/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:35787/path/525 log/11/upload525 > log/11/stdout525 2> log/11/stderr525 525: 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 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/11/valgrind525 ./libtest/libtests lib525 ftp://127.0.0.1:35787/path/525 log/11/upload525 > log/11/stdout525 2> log/11/stderr525 === End of file commands.log === Start of file ftp_server.log 19:00:46.957609 ====> Client connect 19:00:46.957761 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:46.962212 < "USER anonymous" 19:00:46.962273 > "331 We are happy you popped in![CR][LF]" 19:00:46.962624 < "PASS ftp@example.com" 19:00:46.962666 > "230 Welcome you silly person[CR][LF]" 19:00:46.962856 < "PWD" 19:00:46.962900 > "257 "/" is current directory[CR][LF]" 19:00:46.963071 < "EPSV" 19:00:46.963097 ====> Passive DATA channel requested by client 19:00:46.963111 DATA sockfilt for passive data channel starting... 19:00:46.965119 DATA sockfilt for passive data channel started (pid 104900) 19:00:46.965236 DATA sockfilt for passive data channel listens on port 44891 19:00:46.965278 > "229 Entering Passive Mode (|||44891|)[CR][LF]" 19:00:46.965297 Client has been notified that DATA conn will be accepted on port 44891 19:00:46.965575 Client connects to port 44891 19:00:46.965609 ====> Client established passive DATA connection on port 44891 19:00:46.965696 < "TYPE I" 19:00:46.965729 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:46.965893 < "SIZE verifiedserver" 19:00:46.965933 > "213 17[CR][LF]" 19:00:46.966083 < "RETR verifiedserver" 19:00:46.966116 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:46.966201 =====> Closing passive DATA connection... 19:00:46.966217 Server disconnects passive DATA connection 19:00:46.966472 Server disconnected passive 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/5/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:46771/path/528 > log/5/stdout528 2> log/5/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/17/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:32811/path/527 > log/17/stdout527 2> log/17/stderr527 n 19:00:46.966499 DATA sockfilt for passive data channel quits (pid 104900) 19:00:46.966716 DATA sockfilt for passive data channel quit (pid 104900) 19:00:46.966739 =====> Closed passive DATA connection 19:00:46.966769 > "226 File transfer complete[CR][LF]" 19:00:47.012441 < "QUIT" 19:00:47.012534 > "221 bye bye baby[CR][LF]" 19:00:47.013534 MAIN sockfilt said DISC 19:00:47.013569 ====> Client disconnected 19:00:47.013648 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:46.729569 ====> Client connect 19:00:46.729838 Received DATA (on stdin) 19:00:46.729857 > 160 bytes data, server => client 19:00:46.729871 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:46.729884 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:46.729896 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:46.729979 < 16 bytes data, client => server 19:00:46.729996 'USER anonymous\r\n' 19:00:46.734423 Received DATA (on stdin) 19:00:46.734443 > 33 bytes data, server => client 19:00:46.734457 '331 We are happy you popped in!\r\n' 19:00:46.734542 < 22 bytes data, client => server 19:00:46.734555 'PASS ftp@example.com\r\n' 19:00:46.734730 Received DATA (on stdin) 19:00:46.734743 > 30 bytes data, server => client 19:00:46.734756 '230 Welcome you silly person\r\n' 19:00:46.734811 < 5 bytes data, client => server 19:00:46.734823 'PWD\r\n' 19:00:46.734962 Received DATA (on stdin) 19:00:46.734974 > 30 bytes data, server => client 19:00:46.734986 '257 "/" is current directory\r\n' 19:00:46.735047 < 6 bytes data, client => server 19:00:46.735058 'EPSV\r\n' 19:00:46.737364 Received DATA (on stdin) 19:00:46.737379 > 39 bytes data, server => client 19:00:46.737392 '229 Entering Passive Mode (|||44891|)\r\n' 19:00:46.737547 < 8 bytes data, client => server 19:00:46.737563 'TYPE I\r\n' 19:00:46.737790 Received DATA (on stdin) 19:00:46.737804 > 33 bytes data, server => client 19:00:46.737816 '200 I modify TYPE as you wanted\r\n' 19:00:46.737869 < 21 bytes data, client => server 19:00:46.737881 'SIZE verifiedserver\r\n' 19:00:46.737993 Received DATA (on stdin) 19:00:46.738005 > 8 bytes data, server => client 19:00:46.738016 '213 17\r\n' 19:00:46.738062 < 21 bytes data, client => server 19:00:46.738074 'RETR verifiedserver\r\n' 19:00:46.738281 Received DATA (on stdin) 19:00:46.738294 > 29 bytes data, server => client 19:00:46.738306 '150 Binary junk (17 bytes).\r\n' 19:00:46.738831 Received DATA (on stdin) 19:00:46.738846 > 28 bytes data, server => client 19:00:46.738858 '226 File transfer complete\r\n' 19:00:46.784292 < 6 bytes data, client => server 19:00:46.784320 'QUIT\r\n' 19:00:46.784650 Received DATA (on stdin) 19:00:46.784680 > 18 bytes data, server => client 19:00:46.784690 '221 bye bye baby\r\n' 19:00:46.785111 ====> Client disconnect 19:00:46.785614 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:46.736859 Running IPv4 version 19:00:46.736916 Listening on port 44891 19:00:46.736955 Wrote pid 104900 to log/11/server/ftp_sockdata.pid 19:00:46.737121 Received PING (on stdin) 19:00:46.737206 Received PORT (on stdin) 19:00:46.737587 ====> Client connect 19:00:46.738332 Received DATA (on stdin) 19:00:46.738348 > 17 bytes data, server => client 19:00:46.738360 'WE ROOLZ: 80684\r\n' 19:00:46.738384 Received DISC (on stdin) 19:00:46.738398 ====> Client forcibly disconnected 19:00:46.738569 Received QUIT (on stdin) 19:00:46.738582 quits 19:00:46.738643 ============> 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:35787/path/525 === End of file stderr525 === Start of file upload525 Moooooooooooo upload this === End of file upload525 === Start of file valgrind525 ==104927== ==104927== Process terminating with default action of signal 4 (SIGILL) ==104927== Illegal opcode at address 0x51D5F1F ==104927== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104927== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104927== by 0x51D5F1F: Curl_open (url.c:525) ==104927== by 0x514F6EF: curl_easy_init (easy.c:371) ==104927== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==104927== by 0x400347F: main (first.c:280) ==104927== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==104927== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104927== by 0x51D5EBD: Curl_open (url.c:504) ==104927== by 0x514F6EF: curl_easy_init (easy.c:371) ==104927== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==104927== by 0x400347F: main (first.c:280) ==104927== === End of file valgrind525 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/5/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:46771/path/528 > log/5/stdout528 2> log/5/stderr528 528: 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 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/5/valgrind528 ./libtest/libtests lib526 http://127.0.0.1:46771/path/528 > log/5/stdout528 2> log/5/stderr528 === End of file commands.log === Start of file http_server.log 19:00:46.863580 ====> Client connect 19:00:46.863613 accept_connection 3 returned 4 19:00:46.863632 accept_connection 3 returned 0 19:00:46.863648 Read 93 bytes 19:00:46.863660 Process 93 bytes request 19:00:46.863675 Got request: GET /verifiedserver HTTP/1.1 19:00:46.863686 Are-we-friendly question received 19:00:46.863711 Wrote request (93 bytes) input to log/5/server.input 19:00:46.863730 Identifying ourselves as friends 19:00:46.863784 Response sent (56 bytes) and written to log/5/server.response 19:00:46.863796 special request received, no persistency 19:00:46.863807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 32886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file stderr528 URL: http://127.0.0.1:46771/path/528 === End of file stderr528 === Start of file valgrind528 ==105139== ==105139== Process terminating with default action of signal 4 (SIGILL) ==105139== Illegal opcode at address 0x51D5F1F ==105139== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105139== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105139== by 0x51D5F1F: Curl_open (url.c:525) ==105139== by 0x514F6EF: curl_easy_init (easy.c:371) ==105139== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==105139== by 0x400347F: main (first.c:280) ==105139== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105139== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105139== by 0x51D5EBD: Curl_open (url.c:504) ==105139== by 0x514F6EF: curl_easy_init (easy.c:371) ==105139== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==105139== by 0x400347F: main (first.c:280) ==105139== === End of file valgrind528 test 0527...[FTP RETR same file using different handles but same connCMD (33792): ../libtool --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/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:36301/path/529 log/3/upload529 > log/3/stdout529 2> log/3/stderr529 ection] ../libtool --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/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:32811/path/527 > log/17/stdout527 2> log/17/stderr527 527: 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 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/17/valgrind527 ./libtest/libtests lib526 ftp://127.0.0.1:32811/path/527 > log/17/stdout527 2> log/17/stderr527 === End of file commands.log === Start of file ftp_server.log 19:00:47.088707 ====> Client connect 19:00:47.088937 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:47.089303 < "USER anonymous" 19:00:47.089345 > "331 We are happy you popped in![CR][LF]" 19:00:47.089536 < "PASS ftp@example.com" 19:00:47.089564 > "230 Welcome you silly person[CR][LF]" 19:00:47.089714 < "PWD" 19:00:47.089747 > "257 "/" is current directory[CR][LF]" 19:00:47.089903 < "EPSV" 19:00:47.089927 ====> Passive DATA channel requested by client 19:00:47.089941 DATA sockfilt for passive data channel starting... 19:00:47.092101 DATA sockfilt for passive data channel started (pid 105114) 19:00:47.092230 DATA sockfilt for passive data channel listens on port 37333 19:00:47.092284 > "229 Entering Passive Mode (|||37333|)[CR][LF]" 19:00:47.092307 Client has been notified that DATA conn will be accepted on port 37333 19:00:47.092569 Client connects to port 37333 19:00:47.092603 ====> Client established passive DATA connection on port 37333 19:00:47.092689 < "TYPE I" 19:00:47.092722 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:47.092905 < "SIZE verifiedserver" 19:00:47.092951 > "213 17[CR][LF]" 19:00:47.093118 < "RETR verifiedserver" 19:00:47.093156 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:47.093255 =====> Closing passive DATA connection... 19:00:47.093273 Server disconnects passive DATA connection 19:00:47.093540 Server disconnected passive DATA connection 19:00:47.093572 DATA sockfilt for passive data channel quits (pid 105114) 19:00:47.093802 DATA sockfilt for passive data channel quit (pid 105114) 19:00:47.093829 =====> Closed passive DATA connection 19:00:47.093860 > "226 File transfer complete[CR][LF]" 19:00:47.136085 < "QUIT" 19:00:47.136136 > "221 bye bye baby[CR][LF]" 19:00:47.137130 MAIN sockfilt said DISC 19:00:47.137162 ====> Client disconnected 19:00:47.137248 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:46.860644 ====> Client connect 19:00:46.861014 Received DATA (on stdin) 19:00:46.861032 > 160 bytes data, server => client 19:00:46.861046 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:46.861059 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:46.861071 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:46.861184 < 16 bytes data, client => server 19:00:46.861198 'USER anonymous\r\n' 19:00:46.861411 Received DATA (on stdin) 19:00:46.861424 > 33 bytes data, server => client 19:00:46.861437 '331 We are happy you popped in!\r\n' 19:00:46.861491 < 22 bytes data, client => server 19:00:46.861505 'PASS ftp@example.com\r\n' 19:00:46.861624 Received DATA (on stdin) 19:00:46.861636 > 30 bytes data, server => client 19:00:46.861648 '230 Welcome you silly person\r\n' 19:00:46.861693 < 5 bytes data, client => server 19:00:46.861705 'PWD\r\n' 19:00:46.861806 Received DATA (on stdin) 19:00:46.861817 > 30 bytes data, server => client 19:00:46.861829 '257 "/" is current directory\r\n' 19:00:46.861884 < 6 bytes data, client => server 19:00:46.861895 'EPSV\r\n' 19:00:46.864384 Received DATA (on stdin) 19:00:46.864404 > 39 bytes data, server => client 19:00:46.864415 '229 Entering Passive Mode (|||37333|)\r\n' 19:00:46.864537 < 8 bytes data, client => server 19:00:46.864556 'TYPE I\r\n' 19:00:46.864786 Received DATA (on stdin) 19:00:46.864800 > 33 bytes data, server => client 19:00:46.864812 '200 I modify TYPE as you wanted\r\n' 19:00:46.864869 < 21 bytes data, client => server 19:00:46.864884 'SIZE verifiedserver\r\n' 19:00:46.865013 Received DATA (on stdin) 19:00:46.865027 > 8 bytes data, server => client 19:00:46.865039 '213 17\r\n' 19:00:46.865092 < 21 bytes data, client => server 19:00:46.865105 'RETR verifiedserver\r\n' 19:00:46.865337 Received DATA (on stdin) 19:00:46.865350 > 29 bytes data, server => client 19:00:46.865361 '150 Binary junk (17 bytes).\r\n' 19:00:46.865924 Received DATA (on stdin) 19:00:46.865939 > 28 bytes data, server => client 19:00:46.865951 '226 File transfer complete\r\n' 19:00:46.907955 < 6 bytes data, client => server 19:00:46.907982 'QUIT\r\n' 19:00:46.908202 Received DATA (on stdin) 19:00:46.908215 > 18 bytes data, server => client 19:00:46.908227 '221 bye bye baby\r\n' 19:00:46.909138 ====> Client disconnect 19:00:46.909311 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:47.863807 Running IPv4 version 19:00:47.863872 Listening on port 37333 19:00:47.863916 Wrote pid 105114 to log/17/server/ftp_sockdata.pid 19:00:47.864092 Received PING (on stdin) 19:00:47.864195 Received PORT (on stdin) 19:00:47.864580 ====> Client connect 19:00:47.865413 Received DATA (on stdin) 19:00:47.865427 > 17 bytes data, server => client 19:00:47.865439 'WE ROOLZ: 80755\r\n' 19:00:47.865472 Received DISC (on stdin) 19:00:47.865486 ====> Client forcibly disconnected 19:00:47.865644 Received QUIT (on stdin) 19:00:47.865658 quits 19:00:47.865716 ============> 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:32811/path/527 === End of file stderr527 === Start of file valgrind527 ==105204== ==105204== Process terminating with default action of signal 4 (SIGILL) ==105204== Illegal opcode at address 0x51D5F1F ==105204== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105204== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105204== by 0x51D5F1F: Curl_open (url.c:525) ==105204== by 0x514F6EF: curl_easy_init (easy.c:371) ==105204== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==105204== by 0x400347F: main (first.c:280) ==105204== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105204== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105204== by 0x51D5EBD: Curl_open (url.c:504) ==105204== by 0x514F6EF: curl_easy_init (easy.c:371) ==105204== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==105204== by 0x400347F: main (first.c:280) ==105204== === End of file valgrind527 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/3/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:36301/path/529 log/3/upload529 > log/3/stdout529 2> log/3/stderr529 529: 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 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/3/valgrind529 ./libtest/libtests lib525 ftp://127.0.0.1:36301/path/529 log/3/upload529 > log/3/stdout529 2> log/3/stderr529 === End of file commands.log === Start of file ftp_server.log 19:00:47.127879 ====> Client connect 19:00:47.128050 > "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/9/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:36745/file530 > log/9/stdout530 2> log/9/stderr530 [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:47.128347 < "USER anonymous" 19:00:47.128382 > "331 We are happy you popped in![CR][LF]" 19:00:47.128564 < "PASS ftp@example.com" 19:00:47.128592 > "230 Welcome you silly person[CR][LF]" 19:00:47.128776 < "PWD" 19:00:47.128812 > "257 "/" is current directory[CR][LF]" 19:00:47.128993 < "EPSV" 19:00:47.129020 ====> Passive DATA channel requested by client 19:00:47.129034 DATA sockfilt for passive data channel starting... 19:00:47.130625 DATA sockfilt for passive data channel started (pid 105181) 19:00:47.130733 DATA sockfilt for passive data channel listens on port 37495 19:00:47.130774 > "229 Entering Passive Mode (|||37495|)[CR][LF]" 19:00:47.130792 Client has been notified that DATA conn will be accepted on port 37495 19:00:47.131019 Client connects to port 37495 19:00:47.131048 ====> Client established passive DATA connection on port 37495 19:00:47.131126 < "TYPE I" 19:00:47.131155 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:47.131316 < "SIZE verifiedserver" 19:00:47.131352 > "213 17[CR][LF]" 19:00:47.131508 < "RETR verifiedserver" 19:00:47.131542 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:47.131622 =====> Closing passive DATA connection... 19:00:47.131639 Server disconnects passive DATA connection 19:00:47.131839 Server disconnected passive DATA connection 19:00:47.131908 DATA sockfilt for passive data channel quits (pid 105181) 19:00:47.132227 DATA sockfilt for passive data channel quit (pid 105181) 19:00:47.132262 =====> Closed passive DATA connection 19:00:47.132289 > "226 File transfer complete[CR][LF]" 19:00:47.178930 < "QUIT" 19:00:47.178988 > "221 bye bye baby[CR][LF]" 19:00:47.185582 MAIN sockfilt said DISC 19:00:47.185660 ====> Client disconnected 19:00:47.185741 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:46.899796 ====> Client connect 19:00:46.900126 Received DATA (on stdin) 19:00:46.900143 > 160 bytes data, server => client 19:00:46.900157 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:46.900169 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:46.900180 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:46.900258 < 16 bytes data, client => server 19:00:46.900274 'USER anonymous\r\n' 19:00:46.900447 Received DATA (on stdin) 19:00:46.900461 > 33 bytes data, server => client 19:00:46.900473 '331 We are happy you popped in!\r\n' 19:00:46.900528 < 22 bytes data, client => server 19:00:46.900543 'PASS ftp@example.com\r\n' 19:00:46.900654 Received DATA (on stdin) 19:00:46.900667 > 30 bytes data, server => client 19:00:46.900679 '230 Welcome you silly person\r\n' 19:00:46.900730 < 5 bytes data, client => server 19:00:46.900744 'PWD\r\n' 19:00:46.900875 Received DATA (on stdin) 19:00:46.900888 > 30 bytes data, server => client 19:00:46.900900 '257 "/" is current directory\r\n' 19:00:46.900962 < 6 bytes data, client => server 19:00:46.900977 'EPSV\r\n' 19:00:46.902856 Received DATA (on stdin) 19:00:46.902870 > 39 bytes data, server => client 19:00:46.902882 '229 Entering Passive Mode (|||37495|)\r\n' 19:00:46.902995 < 8 bytes data, client => server 19:00:46.903012 'TYPE I\r\n' 19:00:46.903216 Received DATA (on stdin) 19:00:46.903229 > 33 bytes data, server => client 19:00:46.903240 '200 I modify TYPE as you wanted\r\n' 19:00:46.903291 < 21 bytes data, client => server 19:00:46.903304 'SIZE verifiedserver\r\n' 19:00:46.903413 Received DATA (on stdin) 19:00:46.903426 > 8 bytes data, server => client 19:00:46.903437 '213 17\r\n' 19:00:46.903485 < 21 bytes data, client => server 19:00:46.903498 'RETR verifiedserver\r\n' 19:00:46.903703 Received DATA (on stdin) 19:00:46.903715 > 29 bytes data, server => client 19:00:46.903727 '150 Binary junk (17 bytes).\r\n' 19:00:46.904352 Received DATA (on stdin) 19:00:46.904366 > 28 bytes data, server => client 19:00:46.904378 '226 File transfer complete\r\n' 19:00:46.950794 < 6 bytes data, client => server 19:00:46.950822 'QUIT\r\n' 19:00:46.954117 Received DATA (on stdin) 19:00:46.954145 > 18 bytes data, server => client 19:00:46.954159 '221 bye bye baby\r\n' 19:00:46.957562 ====> Client disconnect 19:00:46.957808 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:47.902480 Running IPv4 version 19:00:47.902536 Listening on port 37495 19:00:47.902605 Wrote pid 105181 to log/3/server/ftp_sockdata.pid 19:00:47.902628 Received PING (on stdin) 19:00:47.902712 Received PORT (on stdin) 19:00:47.903033 ====> Client connect 19:00:47.903787 Received DATA (on stdin) 19:00:47.903803 > 17 bytes data, server => client 19:00:47.903815 'WE ROOLZ: 80615\r\n' 19:00:47.903842 Received DISC (on stdin) 19:00:47.903855 ====> Client forcibly disconnected 19:00:47.903996 Received QUIT (on stdin) 19:00:47.904018 quits 19:00:47.904104 ============> 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:36301/path/529 === End of file stderr529 === Start of file upload529 Moooooooooooo upload this === End of file upload529 === Start of file valgrind529 ==105257== ==105257== Process terminating with default action of signal 4 (SIGILL) ==105257== Illegal opcode at address 0x51D5F1F ==105257== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105257== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105257== by 0x51D5F1F: Curl_open (url.c:525) ==105257== by 0x514F6EF: curl_easy_init (easy.c:371) ==105257== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==105257== by 0x400347F: main (first.c:280) ==105257== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==105257== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105257== by 0x51D5EBD: Curl_open (url.c:504) ==105257== by 0x514F6EF: curl_easy_init (easy.c:371) ==105257== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==105257== by 0x400347F: main (first.c:280) ==105257== === End of file valgrind529 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/9/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:36745/file530 > log/9/stdout530 2> log/9/stderr530 libtests returned 132, when expecting 0 530: exit FAILED == Contents of files in the log/9/ 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/9/valgrind530 ./libtest/libtests lib530 http://127.0.0.1:36745/file530 > log/9/stdout530 2> log/9/stderr530 === End of file commands.log === Start of file http_server.log 19:00:46.996694 ====> Client connect 19:00:46.996730 accept_connection 3 returned 4 19:00:46.996750 accept_connection 3 returned 0 19:00:46.997256 Read 93 bytes 19:00:46.997275 Process 93 bytes request 19:00:46.997291 Got request: GET /verifiedserver HTTP/1.1 19:00:46.997302 Are-we-friendly question received 19:00:46.997333 Wrote request (93 bytes) input to log/9/server.input 19:00:46.997353 Identifying ourselves as friends 19:00:46.997410 Response sent (56 bytes) and written to log/9/server.response 19:00:46.997422 special request received, no persistency 19:00:46.997989 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 32866 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 lefCMD (33792): ../libtool --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/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:41393/path/531 log/1/upload531 > log/1/stdout531 2> log/1/stderr531 t intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file stderr530 URL: http://127.0.0.1:36745/file530 [T530-0-0] [0/0] start === End of file stderr530 === Start of file valgrind530 ==105320== ==105320== Process terminating with default action of signal 4 (SIGILL) ==105320== Illegal opcode at address 0x51D5F1F ==105320== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105320== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105320== by 0x51D5F1F: Curl_open (url.c:525) ==105320== by 0x514F6EF: curl_easy_init (easy.c:371) ==105320== by 0x40115A2: testone (lib530.c:307) ==105320== by 0x4012278: test_lib530.lto_priv.0 (lib530.c:405) ==105320== by 0x400347F: main (first.c:280) ==105320== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105320== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105320== by 0x51D5EBD: Curl_open (url.c:504) ==105320== by 0x514F6EF: curl_easy_init (easy.c:371) ==105320== by 0x40115A2: testone (lib530.c:307) ==105320== by 0x4012278: test_lib530.lto_priv.0 (lib530.c:405) ==105320== by 0x400347F: main (first.c:280) ==105320== === End of file valgrind530 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/1/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:41393/path/531 log/1/upload531 > log/1/stdout531 2> log/1/stderr531 531: 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 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/1/valgrind531 ./libtest/libtests lib525 ftp://127.0.0.1:41393/path/531 log/1/upload531 > log/1/stdout531 2> log/1/stderr531 === End of file commands.log === Start of file ftp_server.log 19:00:47.224294 ====> Client connect 19:00:47.224474 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:47.224784 < "USER anonymous" 19:00:47.224824 > "331 We are happy you popped in![CR][LF]" 19:00:47.225018 < "PASS ftp@example.com" 19:00:47.225047 > "230 Welcome you silly person[CR][LF]" 19:00:47.225224 < "PWD" 19:00:47.225263 > "257 "/" is current directory[CR][LF]" 19:00:47.225479 < "EPSV" 19:00:47.225507 ====> Passive DATA channel requested by client 19:00:47.225523 DATA sockfilt for passive data channel starting... 19:00:47.227493 DATA sockfilt for passive data channel started (pid 105307) 19:00:47.227644 DATA sockfilt for passive data channel listens on port 37019 19:00:47.227692 > "229 Entering Passive Mode (|||37019|)[CR][LF]" 19:00:47.227712 Client has been notified that DATA conn will be accepted on port 37019 19:00:47.228007 Client connects to port 37019 19:00:47.228042 ====> Client established passive DATA connection on port 37019 19:00:47.228144 < "TYPE I" 19:00:47.228177 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:47.228349 < "SIZE verifiedserver" 19:00:47.228394 > "213 17[CR][LF]" 19:00:47.228577 < "RETR verifiedserver" 19:00:47.228613 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:47.228703 =====> Closing passive DATA connection... 19:00:47.228720 Server disconnects passive DATA connection 19:00:47.229005 Server disconnected passive DATA connection 19:00:47.229035 DATA sockfilt for passive data channel quits (pid 105307) 19:00:47.229309 DATA sockfilt for passive data channel quit (pid 105307) 19:00:47.229334 =====> Closed passive DATA connection 19:00:47.229363 > "226 File transfer complete[CR][LF]" 19:00:47.272946 < "QUIT" 19:00:47.273006 > "221 bye bye baby[CR][LF]" 19:00:47.273462 MAIN sockfilt said DISC 19:00:47.273505 ====> Client disconnected 19:00:47.273575 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:47.996239 ====> Client connect 19:00:47.996550 Received DATA (on stdin) 19:00:47.996568 > 160 bytes data, server => client 19:00:47.996583 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:47.996595 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:47.996607 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:47.996687 < 16 bytes data, client => server 19:00:47.996703 'USER anonymous\r\n' 19:00:47.996893 Received DATA (on stdin) 19:00:47.996907 > 33 bytes data, server => client 19:00:47.996920 '331 We are happy you popped in!\r\n' 19:00:47.996975 < 22 bytes data, client => server 19:00:47.996990 'PASS ftp@example.com\r\n' 19:00:47.997111 Received DATA (on stdin) 19:00:47.997125 > 30 bytes data, server => client 19:00:47.997138 '230 Welcome you silly person\r\n' 19:00:47.997191 < 5 bytes data, client => server 19:00:47.997205 'PWD\r\n' 19:00:47.997327 Received DATA (on stdin) 19:00:47.997341 > 30 bytes data, server => client 19:00:47.997353 '257 "/" is current directory\r\n' 19:00:47.997416 < 6 bytes data, client => server 19:00:47.997431 'EPSV\r\n' 19:00:47.999782 Received DATA (on stdin) 19:00:47.999802 > 39 bytes data, server => client 19:00:47.999823 '229 Entering Passive Mode (|||37019|)\r\n' 19:00:48.000012 < 8 bytes data, client => server 19:00:48.000025 'TYPE I\r\n' 19:00:48.000240 Received DATA (on stdin) 19:00:48.000254 > 33 bytes data, server => client 19:00:48.000266 '200 I modify TYPE as you wanted\r\n' 19:00:48.000319 < 21 bytes data, client => server 19:00:48.000331 'SIZE verifiedserver\r\n' 19:00:48.000458 Received DATA (on stdin) 19:00:48.000473 > 8 bytes data, server => client 19:00:48.000486 '213 17\r\n' 19:00:48.000545 < 21 bytes data, client => server 19:00:48.000559 'RETR verifiedserver\r\n' 19:00:48.000796 Received DATA (on stdin) 19:00:48.000810 > 29 bytes data, server => client 19:00:48.000822 '150 Binary junk (17 bytes).\r\n' 19:00:48.001427 Received DATA (on stdin) 19:00:48.001441 > 28 bytes data, server => client 19:00:48.001453 '226 File transfer complete\r\n' 19:00:48.044803 < 6 bytes data, client => server 19:00:48.044843 'QUIT\r\n' 19:00:48.045051 Received DATA (on stdin) 19:00:48.045070 > 18 bytes data, server => client 19:00:48.045082 '221 bye bye baby\r\n' 19:00:48.045464 ====> Client disconnect 19:00:48.045636 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:47.999344 Running IPv4 version 19:00:47.999414 Listening on port 37019 19:00:47.999454 Wrote pid 105307 to log/1/server/ftp_sockdata.pid 19:00:47.999478 Received PING (on stdin) 19:00:47.999603 Received PORT (on stdin) 19:00:47.999981 ====> Client connect 19:00:48.000853 Received DATA (on stdin) 19:00:48.000869 > 17 bytes data, server => client 19:00:48.000881 'WE ROOLZ: 80887\r\n' 19:00:48.000912 Received DISC (on stdin) 19:00:48.000925 ====> Client forcibly disconnected 19:00:48.001109 Received QUIT (on stdin) 19:00:48.001123 quits 19:00:48.001187 ============> 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:41393/path/531 === End of file stderr531 === Start of file upload531 Moooooooooooo don't upload this === End of file upload531 === Start of file valgrind531 ==105425== ==105425== Process terminating with default action of signal 4 (SIGILL) ==105425== Illegal opcode at address 0x51D5F1F ==105425== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105425== by 0x51D5F1F: UnknownInlinedFun (reqCMD (33792): ../libtool --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/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:40963/path/532 > log/8/stdout532 2> log/8/stderr532 CMD (33792): ../libtool --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/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:39091/path/533 ftp://127.0.0.1:39091/path/533 > log/20/stdout533 2> log/20/stderr533 uest.c:45) ==105425== by 0x51D5F1F: Curl_open (url.c:525) ==105425== by 0x514F6EF: curl_easy_init (easy.c:371) ==105425== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==105425== by 0x400347F: main (first.c:280) ==105425== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==105425== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105425== by 0x51D5EBD: Curl_open (url.c:504) ==105425== by 0x514F6EF: curl_easy_init (easy.c:371) ==105425== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==105425== by 0x400347F: main (first.c:280) ==105425== === End of file valgrind531 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/8/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:40963/path/532 > log/8/stdout532 2> log/8/stderr532 532: 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 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/8/valgrind532 ./libtest/libtests lib526 ftp://127.0.0.1:40963/path/532 > log/8/stdout532 2> log/8/stderr532 === End of file commands.log === Start of file ftp_server.log 19:00:47.274071 ====> Client connect 19:00:47.274212 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:47.274475 < "USER anonymous" 19:00:47.274509 > "331 We are happy you popped in![CR][LF]" 19:00:47.274670 < "PASS ftp@example.com" 19:00:47.274696 > "230 Welcome you silly person[CR][LF]" 19:00:47.274843 < "PWD" 19:00:47.274872 > "257 "/" is current directory[CR][LF]" 19:00:47.275027 < "EPSV" 19:00:47.275053 ====> Passive DATA channel requested by client 19:00:47.275067 DATA sockfilt for passive data channel starting... 19:00:47.276920 DATA sockfilt for passive data channel started (pid 105416) 19:00:47.277018 DATA sockfilt for passive data channel listens on port 41099 19:00:47.277055 > "229 Entering Passive Mode (|||41099|)[CR][LF]" 19:00:47.277076 Client has been notified that DATA conn will be accepted on port 41099 19:00:47.277288 Client connects to port 41099 19:00:47.277316 ====> Client established passive DATA connection on port 41099 19:00:47.277389 < "TYPE I" 19:00:47.277415 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:47.277566 < "SIZE verifiedserver" 19:00:47.277602 > "213 17[CR][LF]" 19:00:47.277746 < "RETR verifiedserver" 19:00:47.277777 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:47.277863 =====> Closing passive DATA connection... 19:00:47.277878 Server disconnects passive DATA connection 19:00:47.278101 Server disconnected passive DATA connection 19:00:47.278126 DATA sockfilt for passive data channel quits (pid 105416) 19:00:47.278321 DATA sockfilt for passive data channel quit (pid 105416) 19:00:47.278344 =====> Closed passive DATA connection 19:00:47.278369 > "226 File transfer complete[CR][LF]" 19:00:47.325591 < "QUIT" 19:00:47.325646 > "221 bye bye baby[CR][LF]" 19:00:47.326502 MAIN sockfilt said DISC 19:00:47.326534 ====> Client disconnected 19:00:47.326607 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:47.046030 ====> Client connect 19:00:47.046283 Received DATA (on stdin) 19:00:47.046298 > 160 bytes data, server => client 19:00:47.046312 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:47.046323 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:47.046334 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:47.046402 < 16 bytes data, client => server 19:00:47.046414 'USER anonymous\r\n' 19:00:47.046571 Received DATA (on stdin) 19:00:47.046584 > 33 bytes data, server => client 19:00:47.046595 '331 We are happy you popped in!\r\n' 19:00:47.046644 < 22 bytes data, client => server 19:00:47.046657 'PASS ftp@example.com\r\n' 19:00:47.046756 Received DATA (on stdin) 19:00:47.046768 > 30 bytes data, server => client 19:00:47.046778 '230 Welcome you silly person\r\n' 19:00:47.046824 < 5 bytes data, client => server 19:00:47.046836 'PWD\r\n' 19:00:47.046931 Received DATA (on stdin) 19:00:47.046943 > 30 bytes data, server => client 19:00:47.046954 '257 "/" is current directory\r\n' 19:00:47.047009 < 6 bytes data, client => server 19:00:47.047020 'EPSV\r\n' 19:00:47.049142 Received DATA (on stdin) 19:00:47.049157 > 39 bytes data, server => client 19:00:47.049168 '229 Entering Passive Mode (|||41099|)\r\n' 19:00:47.049271 < 8 bytes data, client => server 19:00:47.049287 'TYPE I\r\n' 19:00:47.049476 Received DATA (on stdin) 19:00:47.049488 > 33 bytes data, server => client 19:00:47.049499 '200 I modify TYPE as you wanted\r\n' 19:00:47.049547 < 21 bytes data, client => server 19:00:47.049559 'SIZE verifiedserver\r\n' 19:00:47.049662 Received DATA (on stdin) 19:00:47.049674 > 8 bytes data, server => client 19:00:47.049684 '213 17\r\n' 19:00:47.049729 < 21 bytes data, client => server 19:00:47.049740 'RETR verifiedserver\r\n' 19:00:47.049941 Received DATA (on stdin) 19:00:47.049953 > 29 bytes data, server => client 19:00:47.049964 '150 Binary junk (17 bytes).\r\n' 19:00:47.050429 Received DATA (on stdin) 19:00:47.050443 > 28 bytes data, server => client 19:00:47.050454 '226 File transfer complete\r\n' 19:00:47.097462 < 6 bytes data, client => server 19:00:47.097489 'QUIT\r\n' 19:00:47.097713 Received DATA (on stdin) 19:00:47.097727 > 18 bytes data, server => client 19:00:47.097739 '221 bye bye baby\r\n' 19:00:47.098513 ====> Client disconnect 19:00:47.098669 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:47.048704 Running IPv4 version 19:00:47.048754 Listening on port 41099 19:00:47.048790 Wrote pid 105416 to log/8/server/ftp_sockdata.pid 19:00:47.048927 Received PING (on stdin) 19:00:47.049000 Received PORT (on stdin) 19:00:47.049306 ====> Client connect 19:00:47.049988 Received DATA (on stdin) 19:00:47.050001 > 17 bytes data, server => client 19:00:47.050012 'WE ROOLZ: 80760\r\n' 19:00:47.050033 Received DISC (on stdin) 19:00:47.050045 ====> Client forcibly disconnected 19:00:47.050193 Received QUIT (on stdin) 19:00:47.050206 quits 19:00:47.050260 ============> 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:40963/path/532 === End of file stderr532 === Start of file valgrind532 ==105513== ==105513== Process terminating with default action of signal 4 (SIGILL) ==105513== Illegal opcode at address 0x51D5F1F ==105513== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105513== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105513== by 0x51D5F1F: Curl_open (url.c:525) ==105513== by 0x514F6EF: curl_easy_init (easy.c:371) ==105513== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==105513== by 0x400347F: main (first.c:280) ==105513== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105513== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105513== by 0x51D5EBD: Curl_open (url.c:504) ==105513== by 0x514F6EF: curl_easy_init (easy.c:371) ==105513== by 0x4010A29: test_lib526.lto_priv.0 (lib526.c:65) ==105513== by 0x400347F: main (first.c:280) ==105513== === End of file valgrind532 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/20/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:39091/path/533 ftp://127.0.0.1:39091/path/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/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:39383/535 http://127.0.0.1:39383/5350001 > log/24/stdout535 2> log/24/stderr535 33 > log/20/stdout533 2> log/20/stderr533 533: 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 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/20/valgrind533 ./libtest/libtests lib533 ftp://127.0.0.1:39091/path/533 ftp://127.0.0.1:39091/path/533 > log/20/stdout533 2> log/20/stderr533 === End of file commands.log === Start of file ftp_server.log 19:00:47.278006 ====> Client connect 19:00:47.278141 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:47.278417 < "USER anonymous" 19:00:47.278452 > "331 We are happy you popped in![CR][LF]" 19:00:47.278613 < "PASS ftp@example.com" 19:00:47.278637 > "230 Welcome you silly person[CR][LF]" 19:00:47.278799 < "PWD" 19:00:47.278829 > "257 "/" is current directory[CR][LF]" 19:00:47.278983 < "EPSV" 19:00:47.279007 ====> Passive DATA channel requested by client 19:00:47.279021 DATA sockfilt for passive data channel starting... 19:00:47.280534 DATA sockfilt for passive data channel started (pid 105421) 19:00:47.280766 DATA sockfilt for passive data channel listens on port 44127 19:00:47.280816 > "229 Entering Passive Mode (|||44127|)[CR][LF]" 19:00:47.280834 Client has been notified that DATA conn will be accepted on port 44127 19:00:47.281044 Client connects to port 44127 19:00:47.281071 ====> Client established passive DATA connection on port 44127 19:00:47.281138 < "TYPE I" 19:00:47.281165 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:47.281314 < "SIZE verifiedserver" 19:00:47.281348 > "213 17[CR][LF]" 19:00:47.281489 < "RETR verifiedserver" 19:00:47.281520 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:47.281591 =====> Closing passive DATA connection... 19:00:47.281606 Server disconnects passive DATA connection 19:00:47.281820 Server disconnected passive DATA connection 19:00:47.281846 DATA sockfilt for passive data channel quits (pid 105421) 19:00:47.282025 DATA sockfilt for passive data channel quit (pid 105421) 19:00:47.282047 =====> Closed passive DATA connection 19:00:47.282080 > "226 File transfer complete[CR][LF]" 19:00:47.326660 < "QUIT" 19:00:47.326713 > "221 bye bye baby[CR][LF]" 19:00:47.327059 MAIN sockfilt said DISC 19:00:47.327105 ====> Client disconnected 19:00:47.327168 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:47.049964 ====> Client connect 19:00:47.050211 Received DATA (on stdin) 19:00:47.050226 > 160 bytes data, server => client 19:00:47.050239 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:47.050251 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:47.050263 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:47.050352 < 16 bytes data, client => server 19:00:47.050365 'USER anonymous\r\n' 19:00:47.050516 Received DATA (on stdin) 19:00:47.050529 > 33 bytes data, server => client 19:00:47.050541 '331 We are happy you popped in!\r\n' 19:00:47.050589 < 22 bytes data, client => server 19:00:47.050601 'PASS ftp@example.com\r\n' 19:00:47.050696 Received DATA (on stdin) 19:00:47.050708 > 30 bytes data, server => client 19:00:47.050720 '230 Welcome you silly person\r\n' 19:00:47.050774 < 5 bytes data, client => server 19:00:47.050786 'PWD\r\n' 19:00:47.050888 Received DATA (on stdin) 19:00:47.050900 > 30 bytes data, server => client 19:00:47.050911 '257 "/" is current directory\r\n' 19:00:47.050966 < 6 bytes data, client => server 19:00:47.050978 'EPSV\r\n' 19:00:47.052900 Received DATA (on stdin) 19:00:47.052914 > 39 bytes data, server => client 19:00:47.052925 '229 Entering Passive Mode (|||44127|)\r\n' 19:00:47.053027 < 8 bytes data, client => server 19:00:47.053041 'TYPE I\r\n' 19:00:47.053225 Received DATA (on stdin) 19:00:47.053237 > 33 bytes data, server => client 19:00:47.053248 '200 I modify TYPE as you wanted\r\n' 19:00:47.053294 < 21 bytes data, client => server 19:00:47.053306 'SIZE verifiedserver\r\n' 19:00:47.053407 Received DATA (on stdin) 19:00:47.053418 > 8 bytes data, server => client 19:00:47.053429 '213 17\r\n' 19:00:47.053473 < 21 bytes data, client => server 19:00:47.053484 'RETR verifiedserver\r\n' 19:00:47.053668 Received DATA (on stdin) 19:00:47.053680 > 29 bytes data, server => client 19:00:47.053691 '150 Binary junk (17 bytes).\r\n' 19:00:47.054141 Received DATA (on stdin) 19:00:47.054155 > 28 bytes data, server => client 19:00:47.054166 '226 File transfer complete\r\n' 19:00:47.098558 < 6 bytes data, client => server 19:00:47.098583 'QUIT\r\n' 19:00:47.098778 Received DATA (on stdin) 19:00:47.098792 > 18 bytes data, server => client 19:00:47.098803 '221 bye bye baby\r\n' 19:00:47.099054 ====> Client disconnect 19:00:47.099230 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:47.052441 Running IPv4 version 19:00:47.052492 Listening on port 44127 19:00:47.052525 Wrote pid 105421 to log/20/server/ftp_sockdata.pid 19:00:47.052545 Received PING (on stdin) 19:00:47.052742 Received PORT (on stdin) 19:00:47.053059 ====> Client connect 19:00:47.053715 Received DATA (on stdin) 19:00:47.053727 > 17 bytes data, server => client 19:00:47.053738 'WE ROOLZ: 80693\r\n' 19:00:47.053759 Received DISC (on stdin) 19:00:47.053770 ====> Client forcibly disconnected 19:00:47.053912 Received QUIT (on stdin) 19:00:47.053923 quits 19:00:47.053969 ============> 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:39091/path/533 === End of file stderr533 === Start of file valgrind533 ==105510== ==105510== Process terminating with default action of signal 4 (SIGILL) ==105510== Illegal opcode at address 0x51D5F1F ==105510== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105510== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105510== by 0x51D5F1F: Curl_open (url.c:525) ==105510== by 0x514F6EF: curl_easy_init (easy.c:371) ==105510== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105510== by 0x400347F: main (first.c:280) ==105510== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105510== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105510== by 0x51D5EBD: Curl_open (url.c:504) ==105510== by 0x514F6EF: curl_easy_init (easy.c:371) ==105510== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105510== by 0x400347F: main (first.c:280) ==105510== === End of file valgrind533 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/24/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:39383/535 http://127.0.0.1:39383/5350001 > log/24/stdout535 2> log/24/stderr535 535: 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 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/24/valgrind535 ./libtest/libtests lib533 http://127.0.0.1:39383/535 http://127.0.0.1:39383/5350001 > log/24/stdout535 2> log/24/stderr535 === End of file commands.log === Start of file http_server.log 19:00:47.097709 ====> Client connect 19:00:47.097742 accept_connection 3 returned 4 19:00:47.097761 accept_connection 3 returned 0 19:00:47.097776 Read 93 bytes 19:00:47.097787 Process 93 bytes reqCMD (33792): ../libtool --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/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:37879 goingdirect.com:37879 goingdirect.com:37879:127.0.0.1 > log/10/stdout536 2> log/10/stderr536 uest 19:00:47.097803 Got request: GET /verifiedserver HTTP/1.1 19:00:47.097814 Are-we-friendly question received 19:00:47.097841 Wrote request (93 bytes) input to log/24/server.input 19:00:47.097860 Identifying ourselves as friends 19:00:47.097919 Response sent (56 bytes) and written to log/24/server.response 19:00:47.097931 special request received, no persistency 19:00:47.097946 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 45810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file stderr535 URL: http://127.0.0.1:39383/535 === End of file stderr535 === Start of file valgrind535 ==105516== ==105516== Process terminating with default action of signal 4 (SIGILL) ==105516== Illegal opcode at address 0x51D5F1F ==105516== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105516== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105516== by 0x51D5F1F: Curl_open (url.c:525) ==105516== by 0x514F6EF: curl_easy_init (easy.c:371) ==105516== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105516== by 0x400347F: main (first.c:280) ==105516== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105516== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105516== by 0x51D5EBD: Curl_open (url.c:504) ==105516== by 0x514F6EF: curl_easy_init (easy.c:371) ==105516== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105516== by 0x400347F: main (first.c:280) ==105516== === End of file valgrind535 CMD (33792): ../libtool --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/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:34277/path/534 > log/7/stdout534 2> log/7/stderr534 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/10/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:37879 goingdirect.com:37879 goingdirect.com:37879:127.0.0.1 > log/10/stdout536 2> log/10/stderr536 536: stdout FAILED: --- log/10/check-expected 2025-11-13 19:00:48.369391105 +0000 +++ log/10/check-generated 2025-11-13 19:00:48.369391105 +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/10/ 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/10/valgrind536 ./libtest/libtests lib536 http://127.0.0.1:37879 goingdirect.com:37879 goingdirect.com:37879:127.0.0.1 > log/10/stdout536 2> log/10/stderr536 === End of file commands.log === Start of file http_server.log 19:00:47.124914 ====> Client connect 19:00:47.124951 accept_connection 3 returned 4 19:00:47.124969 accept_connection 3 returned 0 19:00:47.124989 Read 93 bytes 19:00:47.125001 Process 93 bytes request 19:00:47.125014 Got request: GET /verifiedserver HTTP/1.1 19:00:47.125025 Are-we-friendly question received 19:00:47.125050 Wrote request (93 bytes) input to log/10/server.input 19:00:47.125068 Identifying ourselves as friends 19:00:47.125125 Response sent (56 bytes) and written to log/10/server.response 19:00:47.125137 special request received, no persistency 19:00:47.125147 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 56170 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file stderr536 URL: http://127.0.0.1:37879 === End of file stderr536 === Start of file valgrind536 ==105617== ==105617== Process terminating with default action of signal 4 (SIGILL) ==105617== Illegal opcode at address 0x51D5F1F ==105617== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105617== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105617== by 0x51D5F1F: Curl_open (url.c:525) ==105617== by 0x514F6EF: curl_easy_init (easy.c:371) ==105617== by 0x400C982: test_lib536.lto_priv.0 (lib536.c:51) ==105617== by 0x400347F: main (first.c:280) ==105617== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105617== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105617== by 0x51D5EBD: Curl_open (url.c:504) ==105617== by 0x514F6EF: curl_easy_init (easy.c:371) ==105617== by 0x400C982: test_lib536.lto_priv.0 (lib536.c:51) ==105617== by 0x400347F: main (first.c:280) ==105617== === End of file valgrind536 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/7/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:34277/path/534 > log/7/stdout534 2> log/7/stderr534 534: 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 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/7/valgrind534 ./libtest/libtests lib533 ftp://non-existing-host.haxx.se/path/534 ftp://127.0.0.1:34277/path/534 > log/7/stdout534 2> log/7/stderr534 === End of file commands.log === Start of file ftp_server.log 19:00:47.319621 ====> Client connect 19:00:47.319776 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:47.320067 < "USER anonymous" 19:00:47.320108 > "331 We are happy you popped in![CR][LF]" 19:00:47.320278 < "PASS ftp@example.com" 19:00:47.320308 > "230 Welcome you silly person[CR][LF]" 19:00:47.320453 < "PWD" 19:00:47.320484 > "257 "/" is current directory[CR][LF]" 19:00:47.320639 < "EPSV" 19:00:47.320666 ====> Passive DATA channel requested by client 19:00:47.320679 DATA sockfilt for passive data channel starting... 19:00:47.322251 DATA sockfilt for passive data channel started (pid 105485) 19:00:47.322345 DATA sockfilt for passive data channel listens on port 35257 19:00:47.322388 > "229 Entering Passive Mode (|||35257|)[CR][LF]" 19:00:47.322407 Client has been notified that DATA conn will be accepted on port 35257 19:00:47.322633 Client connects to port 35257 19:00:47.322660 ====> Client established passive DATA connection on port 35257 19:00:47.322739 < "TYPE I" 19:00:47.322769 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:47.322944 < "SIZE verifiedserver" 19:00:47.322984 > "213 17[CR][LF]" 19:00:47.323144 < "RETR verifiedserver" 19:00:47.323177 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:47.323256 =====> Closing passive DATA connection... 19:00:47.323273 Server disconnects passive DATA connection 19:00:47.323477 Server disconnected passive DATA connection 19:00:47.323499 DATA sockfilt for passive data channel quits (pid 105485) 19:00:47.323674 DATA sockfilt for passive data channel quit (pid 105485) 19:00:47.323691 =====> Closed passive DATA connection 19:00:47.323712 > "226 File transfer complete[CR][LF]" 19:00:47.366307 < "QUIT" 19:00:47.366362 > "221 bye bye baby[CR][LF]" 19:00:47.366915 MAIN sockfilt said DISC 19:00:47.366972 ====> Client disconnected 19:00:47.367050 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:47.091559 ====> Client connect 19:00:47.091853 Received DATA (on stdin) 19:00:47.091869 > 160 bytes data, server => client 19:00:47.091882 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:47.091893 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:47.091903 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:47.091977 < 16 bytes data, client => server 19:00:47.091990 'USER anonymous\r\n' 19:00:47.092172 Received DATA (on stdin) 19:00:47.092184 > 33 bytes data, server => client 19:00:47.092196 '331 We are happy you popped in!\r\n' 19:00:47.092245 < 22 bytes data, client => server 19:00:47.092257 'PASS ftp@example.com\r\n' 19:00:47.092367 Received DATA (on stdin) 19:00:47.092378 > 30 bytes data, server => client 19:00:47.092389 '230 Welcome you silly person\r\n' 19:00:47.092434 < 5 bytes data, client => server 19:00:47.092445 'PWD\r\n' 19:00:47.092542 Received DATA (on stdin) 19:00:47.092554 > 30 bytes data, server => client 19:00:47.092565 '257 "/" is current directory\r\n' 19:00:47.092618 < 6 bytes data, client => server 19:00:47.092630 'EPSV\r\n' 19:00:47.094471 Received DATA (on stdin) 19:00:47.094485 > 39 bytes data, server => client 19:00:47.094497 '229 Entering Passive Mode (|||35257|)\r\n' 19:00:47.094640 < 8 bytes data, client => server 19:00:47.094652 'TYPE I\r\n' 19:00:47.094833 Received DATA (on stdin) 19:00:47.094846 > 33 bytes data, server => client 19:00:47.094858 '200 I modify TYPE as you wanted\r\n' 19:00:47.094911 < 21 bytes data, client => server 19:00:47.094925 'SIZE verifiedserver\r\n' 19:00:47.095045 Received DATA (on stdin) 19:00:47.095058 > 8 bytes data, server => client 19:00:47.095069 '213 17\r\n' 19:00:47.095118 < 21 bytes data, client => server 19:00:47.095131 'RETR verifiedserver\r\n' 19:00:47.095335 Received DATA (on stdin) 19:00:47.095349 > 29 bytes data, server => client 19:00:47.095360 '150 Binary junk (17 bytes).\r\n' 19:00:47.095769 Received DATA (on stdin) 19:00:47.095781 > 28 bytes data, server => client 19:00:47.095790 '226 File transfer complete\r\n' 19:00:47.138191 < 6 bytes data, client => server 19:00:47.138219 'QUIT\r\n' 19:00:47.138428 Received DATA (on stdin) 19:00:47.138442 > 18 bytes data, server => client 19:00:47.138454 '221 bye bye baby\r\n' 19:00:47.138897 ====> Client disconnect 19:00:47.139113 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:47.094158 Running IPv4 version 19:00:47.094215 Listening on port 35257 19:00:47.094243 Wrote pid 105485 to log/7/server/ftp_sockdata.pid 19:00:47.094260 Received PING (on stdin) 19:00:47.094328 Received PORT (on stdin) 19:00:47.094613 ====> Client connect 19:00:47.095385 Received DATA (on stdin) 19:00:47.095396 > 17 bytes data, server => client 19:00:47.095405 'WE ROOLZ: 89392\r\n' 19:00:47.095424 Received DISC (on stdin) 19:00:47.095433 ====> Client forcibly disconnected 19:00:47.095561 Received QUIT (on stdin) 19:00:47.095571 quits 19:00:47.095618 ============> 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 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 ==105672== ==105672== Process terminating with default action of signal 4 (SIGILL) ==105672== Illegal opcode at address 0x51D5F1F ==105672== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105672== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105672== by 0x51D5F1F: Curl_open (url.c:525) ==105672== by 0x514F6EF: curl_easy_init (easy.c:371) ==105672== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105672== by 0x400347F: main (first.c:280) ==105672== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105672== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105672== by 0x51D5EBD: Curl_open (url.c:504) ==105672== by 0x514F6EF: curl_easy_init (easy.c:371) ==105672== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==105672== by 0x400347F: main (first.c:280) ==105672== === 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/12/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:46819/514 > log/12/stdout514 2> log/12/stderr514 514: 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 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/12/valgrind514 ./libtest/libtests lib514 http://127.0.0.1:46819/514 > log/12/stdout514 2> log/12/stderr514 === End of file commands.log === Start of file http_server.log 19:00:46.201314 ====> Client connect 19:00:46.201341 accept_connection 3 returned 4 19:00:46.201355 accept_connection 3 returned 0 19:00:46.201501 Read 93 bytes 19:00:46.201519 Process 93 bytes request 19:00:46.201532 Got request: GET /verifiedserver HTTP/1.1 19:00:46.201543 Are-we-friendly question received 19:00:46.201574 Wrote request (93 bytes) input to log/12/server.input 19:00:46.201593 Identifying ourselves as friends 19:00:46.201650 Response sent (56 bytes) and written to log/12/server.response 19:00:46.201661 special request received, no persistency 19:00:46.201671 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 48190 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file stderr514 URL: http://127.0.0.1:46819/514 === End of file stderr514 === Start of file valgrind514 ==104209== ==104209== Process terminating with default action of signal 4 (SIGILL) ==104209== Illegal opcode at address 0x51D5F1F ==104209== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104209== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104209== by 0x51D5F1F: Curl_open (url.c:525) ==104209== by 0x514F6EF: curl_easy_init (easy.c:371) ==104209== by 0x400A1AA: test_lib514.lto_priv.0 (lib514.c:38) ==104209== by 0x400347F: main (first.c:280) ==104209== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104209== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104209== by 0x51D5EBD: Curl_open (url.c:504) ==104209== by 0x514F6EF: curl_easy_init (easy.c:371) ==104209== by 0x400A1AA: test_lib514.lto_priv.0 (lib514.c:38) ==104209== by 0x400347F: main (first.c:280) ==104209== === 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/2/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:44325/513 > log/2/stdout513 2> log/2/stderr513 libtests returned 132, when expecting 42 513: exit FAILED == Contents of files in the log/2/ 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/2/valgrind513 ./libtest/libtests lib513 http://127.0.0.1:44325/513 > log/2/stdout513 2> log/2/stderr513 === End of file commands.log === Start of file http_server.log 19:00:47.199745 ====> Client connect 19:00:47.199867 accept_connection 3 returned 4 19:00:47.199887 accept_connection 3 returned 0 19:00:47.199903 Read 93 bytes 19:00:47.199914 Process 93 bytes request 19:00:47.199928 Got request: GET /verifiedserver HTTP/1.1 19:00:47.199938 Are-we-friendly question received 19:00:47.199963 Wrote request (93 bytes) input to log/2/server.input 19:00:47.199981 Identifying ourselves as friends 19:00:47.200037 Response sent (56 bytes) and written to log/2/server.response 19:00:47.200048 special request received, no persistency 19:00:47.200059 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 46572 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === End of file http_verify.out === 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/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:35319/538 > log/16/stdout538 2> log/16/stderr538 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: 74946 === End of file server.response === Start of file stderr513 URL: http://127.0.0.1:44325/513 === End of file stderr513 === Start of file valgrind513 ==104208== ==104208== Process terminating with default action of signal 4 (SIGILL) ==104208== Illegal opcode at address 0x51D5F1F ==104208== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==104208== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==104208== by 0x51D5F1F: Curl_open (url.c:525) ==104208== by 0x514F6EF: curl_easy_init (easy.c:371) ==104208== by 0x400A04A: test_lib513.lto_priv.0 (lib513.c:47) ==104208== by 0x400347F: main (first.c:280) ==104208== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==104208== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==104208== by 0x51D5EBD: Curl_open (url.c:504) ==104208== by 0x514F6EF: curl_easy_init (easy.c:371) ==104208== by 0x400A04A: test_lib513.lto_priv.0 (lib513.c:47) ==104208== by 0x400347F: main (first.c:280) ==104208== === End of file valgrind513 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/16/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:35319/538 > log/16/stdout538 2> log/16/stderr538 538: 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 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/16/valgrind538 ./libtest/libtests lib504 ftp://127.0.0.1:35319/538 > log/16/stdout538 2> log/16/stderr538 === End of file commands.log === Start of file ftp_server.log 19:00:47.447270 ====> Client connect 19:00:47.447435 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:47.447720 < "USER anonymous" 19:00:47.447755 > "331 We are happy you popped in![CR][LF]" 19:00:47.447927 < "PASS ftp@example.com" 19:00:47.447955 > "230 Welcome you silly person[CR][LF]" 19:00:47.448114 < "PWD" 19:00:47.448147 > "257 "/" is current directory[CR][LF]" 19:00:47.448316 < "EPSV" 19:00:47.448340 ====> Passive DATA channel requested by client 19:00:47.448354 DATA sockfilt for passive data channel starting... 19:00:47.450277 DATA sockfilt for passive data channel started (pid 105795) 19:00:47.450391 DATA sockfilt for passive data channel listens on port 34523 19:00:47.450427 > "229 Entering Passive Mode (|||34523|)[CR][LF]" 19:00:47.450443 Client has been notified that DATA conn will be accepted on port 34523 19:00:47.450656 Client connects to port 34523 19:00:47.450682 ====> Client established passive DATA connection on port 34523 19:00:47.450756 < "TYPE I" 19:00:47.450781 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:47.450909 < "SIZE verifiedserver" 19:00:47.450937 > "213 17[CR][LF]" 19:00:47.451055 < "RETR verifiedserver" 19:00:47.451085 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:47.451152 =====> Closing passive DATA connection... 19:00:47.451164 Server disconnects passive DATA connection 19:00:47.451351 Server disconnected passive DATA connection 19:00:47.451373 DATA sockfilt for passive data channel quits (pid 105795) 19:00:47.451563 DATA sockfilt for passive data channel quit (pid 105795) 19:00:47.451583 =====> Closed passive DATA connection 19:00:47.451604 > "226 File transfer complete[CR][LF]" 19:00:47.495903 < "QUIT" 19:00:47.495960 > "221 bye bye baby[CR][LF]" 19:00:47.496989 MAIN sockfilt said DISC 19:00:47.497017 ====> Client disconnected 19:00:47.497096 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:47.219205 ====> Client connect 19:00:47.219506 Received DATA (on stdin) 19:00:47.219523 > 160 bytes data, server => client 19:00:47.219537 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:47.219549 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:47.219561 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:47.219635 < 16 bytes data, client => server 19:00:47.219648 'USER anonymous\r\n' 19:00:47.219820 Received DATA (on stdin) 19:00:47.219834 > 33 bytes data, server => client 19:00:47.219846 '331 We are happy you popped in!\r\n' 19:00:47.219899 < 22 bytes data, client => server 19:00:47.219912 'PASS ftp@example.com\r\n' 19:00:47.220017 Received DATA (on stdin) 19:00:47.220030 > 30 bytes data, server => client 19:00:47.220043 '230 Welcome you silly person\r\n' 19:00:47.220091 < 5 bytes data, client => server 19:00:47.220103 'PWD\r\n' 19:00:47.220208 Received DATA (on stdin) 19:00:47.220221 > 30 bytes data, server => client 19:00:47.220234 '257 "/" is current directory\r\n' 19:00:47.220292 < 6 bytes data, client => server 19:00:47.220305 'EPSV\r\n' 19:00:47.222506 Received DATA (on stdin) 19:00:47.222522 > 39 bytes data, server => client 19:00:47.222531 '229 Entering Passive Mode (|||34523|)\r\n' 19:00:47.222646 < 8 bytes data, client => server 19:00:47.222659 'TYPE I\r\n' 19:00:47.222837 Received DATA (on stdin) 19:00:47.222848 > 33 bytes data, server => client 19:00:47.222857 '200 I modify TYPE as you wanted\r\n' 19:00:47.222899 < 21 bytes data, client => server 19:00:47.222908 'SIZE verifiedserver\r\n' 19:00:47.222993 Received DATA (on stdin) 19:00:47.223003 > 8 bytes data, server => client 19:00:47.223012 '213 17\r\n' 19:00:47.223049 < 21 bytes data, client => server 19:00:47.223058 'RETR verifiedserver\r\n' 19:00:47.223223 Received DATA (on stdin) 19:00:47.223234 > 29 bytes data, server => client 19:00:47.223242 '150 Binary junk (17 bytes).\r\n' 19:00:47.223662 Received DATA (on stdin) 19:00:47.223674 > 28 bytes data, server => client 19:00:47.223683 '226 File transfer complete\r\n' 19:00:47.267750 < 6 bytes data, client => server 19:00:47.267792 'QUIT\r\n' 19:00:47.268023 Received DATA (on stdin) 19:00:47.268036 > 18 bytes data, server => client 19:00:47.268048 '221 bye bye baby\r\n' 19:00:47.269002 ====> Client disconnect 19:00:47.269155 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:47.222165 Running IPv4 version 19:00:47.222227 Listening on port 34523 19:00:47.222256 Wrote pid 105795 to log/16/server/ftp_sockdata.pid 19:00:47.222273 Received PING (on stdin) 19:00:47.222370 Received PORT (on stdin) 19:00:47.222675 ====> Client connect 19:00:47.223262 Received DATA (on stdin) 19:00:47.223274 > 17 bytes data, server => client 19:00:47.223283 'WE ROOLZ: 80535\r\n' 19:00:47.223301 Received DISC (on stdin) 19:00:47.223310 ====> Client forcibly disconnected 19:00:47.223435 Received QUIT (on stdin) 19:00:47.223445 quits 19:00:47.223489 ============> 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:35319/538 === End of file stderr538 === Start of file valgrind538 ==105815== ==105815== Process terminating with default action of signal 4 (SIGILL) ==105815== Illegal opcode at address 0x51D5F1F ==105815== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105815== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105815== by 0x51D5F1F: Curl_open (url.c:525) ==105815== by 0x514F6EF: curl_easy_init (easy.c:371) ==105815== by 0x4061AB5: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==105815== by 0x400347F: main (first.c:280) ==105815== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105815== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105815== by 0x51D5ECMD (33792): ../libtool --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/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:38611/path/to/the/file/539 ftp://127.0.0.1:38611/path/to/the/file/5390001 > log/18/stdout539 2> log/18/stderr539 CMD (33792): ../libtool --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/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:41761 silly:person custom.set.host.name > log/19/stdout540 2> log/19/stderr540 BD: Curl_open (url.c:504) ==105815== by 0x514F6EF: curl_easy_init (easy.c:371) ==105815== by 0x4061AB5: test_lib504.part.0.lto_priv.0 (lib504.c:47) ==105815== by 0x400347F: main (first.c:280) ==105815== === 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/18/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:38611/path/to/the/file/539 ftp://127.0.0.1:38611/path/to/the/file/5390001 > log/18/stdout539 2> log/18/stderr539 539: 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 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/18/valgrind539 ./libtest/libtests lib539 ftp://127.0.0.1:38611/path/to/the/file/539 ftp://127.0.0.1:38611/path/to/the/file/5390001 > log/18/stdout539 2> log/18/stderr539 === End of file commands.log === Start of file ftp_server.log 19:00:47.530061 ====> Client connect 19:00:47.530365 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:47.530738 < "USER anonymous" 19:00:47.530779 > "331 We are happy you popped in![CR][LF]" 19:00:47.530967 < "PASS ftp@example.com" 19:00:47.530994 > "230 Welcome you silly person[CR][LF]" 19:00:47.531168 < "PWD" 19:00:47.531200 > "257 "/" is current directory[CR][LF]" 19:00:47.531385 < "EPSV" 19:00:47.531411 ====> Passive DATA channel requested by client 19:00:47.531426 DATA sockfilt for passive data channel starting... 19:00:47.533178 DATA sockfilt for passive data channel started (pid 105857) 19:00:47.533731 DATA sockfilt for passive data channel listens on port 42273 19:00:47.533782 > "229 Entering Passive Mode (|||42273|)[CR][LF]" 19:00:47.533805 Client has been notified that DATA conn will be accepted on port 42273 19:00:47.534052 Client connects to port 42273 19:00:47.534086 ====> Client established passive DATA connection on port 42273 19:00:47.534161 < "TYPE I" 19:00:47.534191 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:47.534366 < "SIZE verifiedserver" 19:00:47.534406 > "213 17[CR][LF]" 19:00:47.534577 < "RETR verifiedserver" 19:00:47.534609 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:47.534691 =====> Closing passive DATA connection... 19:00:47.534709 Server disconnects passive DATA connection 19:00:47.534957 Server disconnected passive DATA connection 19:00:47.534988 DATA sockfilt for passive data channel quits (pid 105857) 19:00:47.535202 DATA sockfilt for passive data channel quit (pid 105857) 19:00:47.535231 =====> Closed passive DATA connection 19:00:47.535258 > "226 File transfer complete[CR][LF]" 19:00:47.579266 < "QUIT" 19:00:47.579319 > "221 bye bye baby[CR][LF]" 19:00:47.580078 MAIN sockfilt said DISC 19:00:47.580107 ====> Client disconnected 19:00:47.580190 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:48.301996 ====> Client connect 19:00:48.302447 Received DATA (on stdin) 19:00:48.302466 > 160 bytes data, server => client 19:00:48.302481 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:48.302538 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:48.302558 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:48.302642 < 16 bytes data, client => server 19:00:48.302656 'USER anonymous\r\n' 19:00:48.302845 Received DATA (on stdin) 19:00:48.302859 > 33 bytes data, server => client 19:00:48.302871 '331 We are happy you popped in!\r\n' 19:00:48.302930 < 22 bytes data, client => server 19:00:48.302944 'PASS ftp@example.com\r\n' 19:00:48.303057 Received DATA (on stdin) 19:00:48.303071 > 30 bytes data, server => client 19:00:48.303083 '230 Welcome you silly person\r\n' 19:00:48.303137 < 5 bytes data, client => server 19:00:48.303150 'PWD\r\n' 19:00:48.303262 Received DATA (on stdin) 19:00:48.303276 > 30 bytes data, server => client 19:00:48.303288 '257 "/" is current directory\r\n' 19:00:48.303354 < 6 bytes data, client => server 19:00:48.303369 'EPSV\r\n' 19:00:48.305876 Received DATA (on stdin) 19:00:48.305891 > 39 bytes data, server => client 19:00:48.305904 '229 Entering Passive Mode (|||42273|)\r\n' 19:00:48.306025 < 8 bytes data, client => server 19:00:48.306043 'TYPE I\r\n' 19:00:48.306254 Received DATA (on stdin) 19:00:48.306268 > 33 bytes data, server => client 19:00:48.306280 '200 I modify TYPE as you wanted\r\n' 19:00:48.306333 < 21 bytes data, client => server 19:00:48.306350 'SIZE verifiedserver\r\n' 19:00:48.306468 Received DATA (on stdin) 19:00:48.306483 > 8 bytes data, server => client 19:00:48.306494 '213 17\r\n' 19:00:48.306547 < 21 bytes data, client => server 19:00:48.306561 'RETR verifiedserver\r\n' 19:00:48.306774 Received DATA (on stdin) 19:00:48.306788 > 29 bytes data, server => client 19:00:48.306800 '150 Binary junk (17 bytes).\r\n' 19:00:48.307324 Received DATA (on stdin) 19:00:48.307339 > 28 bytes data, server => client 19:00:48.307351 '226 File transfer complete\r\n' 19:00:48.351117 < 6 bytes data, client => server 19:00:48.351154 'QUIT\r\n' 19:00:48.351384 Received DATA (on stdin) 19:00:48.351398 > 18 bytes data, server => client 19:00:48.351410 '221 bye bye baby\r\n' 19:00:48.352089 ====> Client disconnect 19:00:48.352250 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:47.305058 Running IPv4 version 19:00:47.305120 Listening on port 42273 19:00:47.305159 Wrote pid 105857 to log/18/server/ftp_sockdata.pid 19:00:47.305183 Received PING (on stdin) 19:00:47.305690 Received PORT (on stdin) 19:00:47.306065 ====> Client connect 19:00:47.306828 Received DATA (on stdin) 19:00:47.306841 > 17 bytes data, server => client 19:00:47.306853 'WE ROOLZ: 80927\r\n' 19:00:47.306877 Received DISC (on stdin) 19:00:47.306890 ====> Client forcibly disconnected 19:00:47.307060 Received QUIT (on stdin) 19:00:47.307073 quits 19:00:47.307132 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 539 === End of file server.cmd === Start of file stderr539 URL: ftp://127.0.0.1:38611/path/to/the/file/539 === End of file stderr539 === Start of file valgrind539 ==105888== ==105888== Process terminating with default action of signal 4 (SIGILL) ==105888== Illegal opcode at address 0x51D5F1F ==105888== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==105888== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==105888== by 0x51D5F1F: Curl_open (url.c:525) ==105888== by 0x514F6EF: curl_easy_init (easy.c:371) ==105888== by 0x400AB0A: test_lib539.lto_priv.0 (lib539.c:40) ==105888== by 0x400347F: main (first.c:280) ==105888== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==105888== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105888== by 0x51D5EBD: Curl_open (url.c:504) ==105888== by 0x514F6EF: curl_easy_init (easy.c:371) ==105888== by 0x400AB0A: test_lib539.lto_priv.0 (lib539.c:40) ==105888== by 0x400347F: main (first.c:280) ==105888== === End of file valgrind539 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/19/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:41761 silly:person custom.set.host.name > log/19/stdout540 2> log/19/stderr540 540: 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 540 === CMD (33792): ../libtool --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/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:36561/541 log/15/upload541 > log/15/stdout541 2> log/15/stderr541 Start of file commands.log ../libtool --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/valgrind540 ./libtest/libtests lib540 http://test.remote.example.com/path/540 http://127.0.0.1:41761 silly:person custom.set.host.name > log/19/stdout540 2> log/19/stderr540 === End of file commands.log === Start of file http_server.log 19:00:47.434555 ====> Client connect 19:00:47.434592 accept_connection 3 returned 4 19:00:47.434610 accept_connection 3 returned 0 19:00:47.434625 Read 93 bytes 19:00:47.434637 Process 93 bytes request 19:00:47.434652 Got request: GET /verifiedserver HTTP/1.1 19:00:47.434663 Are-we-friendly question received 19:00:47.434689 Wrote request (93 bytes) input to log/19/server.input 19:00:47.434706 Identifying ourselves as friends 19:00:47.434762 Response sent (56 bytes) and written to log/19/server.response 19:00:47.434774 special request received, no persistency 19:00:47.434784 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 52822 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === 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 ==105958== ==105958== Process terminating with default action of signal 4 (SIGILL) ==105958== Illegal opcode at address 0x519E800 ==105958== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==105958== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==105958== by 0x519E800: Curl_multi_handle (multi.c:247) ==105958== by 0x4015510: test_lib540.lto_priv.0 (lib540.c:221) ==105958== by 0x400347F: main (first.c:280) ==105958== 712 bytes in 1 blocks are definitely lost in loss record 614 of 647 ==105958== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==105958== by 0x519E794: Curl_multi_handle (multi.c:239) ==105958== by 0x4015510: test_lib540.lto_priv.0 (lib540.c:221) ==105958== by 0x400347F: main (first.c:280) ==105958== === End of file valgrind540 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/15/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:36561/541 log/15/upload541 > log/15/stdout541 2> log/15/stderr541 541: 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 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/15/valgrind541 ./libtest/libtests lib541 ftp://127.0.0.1:36561/541 log/15/upload541 > log/15/stdout541 2> log/15/stderr541 === End of file commands.log === Start of file ftp_server.log 19:00:47.736775 ====> Client connect 19:00:47.736952 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:47.737239 < "USER anonymous" 19:00:47.737274 > "331 We are happy you popped in![CR][LF]" 19:00:47.737438 < "PASS ftp@example.com" 19:00:47.737465 > "230 Welcome you silly person[CR][LF]" 19:00:47.737614 < "PWD" 19:00:47.737644 > "257 "/" is current directory[CR][LF]" 19:00:47.737804 < "EPSV" 19:00:47.737827 ====> Passive DATA channel requested by client 19:00:47.737841 DATA sockfilt for passive data channel starting... 19:00:47.740157 DATA sockfilt for passive data channel started (pid 106024) 19:00:47.740281 DATA sockfilt for passive data channel listens on port 36417 19:00:47.740329 > "229 Entering Passive Mode (|||36417|)[CR][LF]" 19:00:47.740348 Client has been notified that DATA conn will be accepted on port 36417 19:00:47.740593 Client connects to port 36417 19:00:47.740624 ====> Client established passive DATA connection on port 36417 19:00:47.740707 < "TYPE I" 19:00:47.740736 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:47.740895 < "SIZE verifiedserver" 19:00:47.740933 > "213 17[CR][LF]" 19:00:47.741080 < "RETR verifiedserver" 19:00:47.741111 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:47.741197 =====> Closing passive DATA connection... 19:00:47.741212 Server disconnects passive DATA connection 19:00:47.741453 Server disconnected passive DATA connection 19:00:47.741480 DATA sockfilt for passive data channel quits (pid 106024) 19:00:47.741727 DATA sockfilt for passive data channel quit (pid 106024) 19:00:47.741750 =====> Closed passive DATA connection 19:00:47.741776 > "226 File transfer complete[CR][LF]" 19:00:47.783954 < "QUIT" 19:00:47.784012 > "221 bye bye baby[CR][LF]" 19:00:47.784865 MAIN sockfilt said DISC 19:00:47.784959 ====> Client disconnected 19:00:47.785173 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:47.508703 ====> Client connect 19:00:47.509025 Received DATA (on stdin) 19:00:47.509040 > 160 bytes data, server => client 19:00:47.509054 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:47.509067 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:47.509078 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:47.509153 < 16 bytes data, client => server 19:00:47.509166 'USER anonymous\r\n' 19:00:47.509338 Received DATA (on stdin) 19:00:47.509351 > 33 bytes data, server => client 19:00:47.509363 '331 We are happy you popped in!\r\n' 19:00:47.509413 < 22 bytes data, client => server 19:00:47.509425 'PASS ftp@example.com\r\n' 19:00:47.509524 Received DATA (on stdin) 19:00:47.509537 > 30 bytes data, server => client 19:00:47.509549 '230 Welcome you silly person\r\n' 19:00:47.509595 < 5 bytes data, client => server 19:00:47.509607 'PWD\r\n' 19:00:47.509703 Received DATA (on stdin) 19:00:47.509716 > 30 bytes data, server => client 19:00:47.509731 '257 "/" is current directory\r\n' 19:00:47.509785 < 6 bytes data, client => server 19:00:47.509797 'EPSV\r\n' 19:00:47.512416 Received DATA (on stdin) 19:00:47.512432 > 39 bytes data, server => client 19:00:47.512445 '229 Entering Passive Mode (|||36417|)\r\n' 19:00:47.512601 < 8 bytes data, client => server 19:00:47.512613 'TYPE I\r\n' 19:00:47.512798 Received DATA (on stdin) 19:00:47.512811 > 33 bytes data, server => client 19:00:47.512823 '200 I modify TYPE as you wanted\r\n' 19:00:47.512872 < 21 bytes data, client => server 19:00:47.512884 'SIZE verifiedserver\r\n' 19:00:47.512992 Received DATA (on stdin) 19:00:47.513004 > 8 bytes data, server => client 19:00:47.513015 '213 17\r\n' 19:00:47.513060 < 21 bytes data, client => server 19:00:47.513072 'RETR verifiedserver\r\n' 19:00:47.513364 Received DATA (on stdin) 19:00:47.513378 > 29 bytes data, server => client 19:00:47.513389 '150 Binary junk (17 bytes).\r\n' 19:00:47.513838 Received DATA (on stdin) 19:00:47.513852 > 28 bytes data, server => client 19:00:47.513864 '226 File transfer complete\r\n' 19:00:47.555779 < 6 bytes data, client => server 19:00:47.555814 'QUIT\r\n' 19:00:47.556065 Received DATA (on stdin) 19:00:47.556081 > 18 bytes data, server => client 19:00:47.556093 '221 bye bye baby\r\n' 19:00:47.556649 ====> Client disconnect 19:00:47.557006 ReceiveCMD (33792): ../libtool --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/valgrind543 ./libtest/libtests lib543 - > log/23/stdout543 2> log/23/stderr543 CMD (33792): ../libtool --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/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:36953/542 > log/22/stdout542 2> log/22/stderr542 d ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:47.512014 Running IPv4 version 19:00:47.512088 Listening on port 36417 19:00:47.512129 Wrote pid 106024 to log/15/server/ftp_sockdata.pid 19:00:47.512152 Received PING (on stdin) 19:00:47.512246 Received PORT (on stdin) 19:00:47.512571 ====> Client connect 19:00:47.513275 Received DATA (on stdin) 19:00:47.513289 > 17 bytes data, server => client 19:00:47.513301 'WE ROOLZ: 81045\r\n' 19:00:47.513327 Received DISC (on stdin) 19:00:47.513339 ====> Client forcibly disconnected 19:00:47.513548 Received QUIT (on stdin) 19:00:47.513561 quits 19:00:47.513632 ============> 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:36561/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 ==106038== ==106038== Process terminating with default action of signal 4 (SIGILL) ==106038== Illegal opcode at address 0x51D5F1F ==106038== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106038== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106038== by 0x51D5F1F: Curl_open (url.c:525) ==106038== by 0x514F6EF: curl_easy_init (easy.c:371) ==106038== by 0x40165D6: test_lib541.lto_priv.0 (lib541.c:83) ==106038== by 0x400347F: main (first.c:280) ==106038== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==106038== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106038== by 0x51D5EBD: Curl_open (url.c:504) ==106038== by 0x514F6EF: curl_easy_init (easy.c:371) ==106038== by 0x40165D6: test_lib541.lto_priv.0 (lib541.c:83) ==106038== by 0x400347F: main (first.c:280) ==106038== === End of file valgrind541 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/23/valgrind543 ./libtest/libtests lib543 - > log/23/stdout543 2> log/23/stderr543 543: stdout FAILED: --- log/23/check-expected 2025-11-13 19:00:48.876057776 +0000 +++ log/23/check-generated 2025-11-13 19:00:48.876057776 +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/23/ 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/23/valgrind543 ./libtest/libtests lib543 - > log/23/stdout543 2> log/23/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 ==106129== ==106129== Process terminating with default action of signal 4 (SIGILL) ==106129== Illegal opcode at address 0x51D5F1F ==106129== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106129== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106129== by 0x51D5F1F: Curl_open (url.c:525) ==106129== by 0x514F6EF: curl_easy_init (easy.c:371) ==106129== by 0x4016EE9: UnknownInlinedFun (lib543.c:42) ==106129== by 0x4016EE9: test_lib543.lto_priv.0 (lib543.c:30) ==106129== by 0x400347F: main (first.c:280) ==106129== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106129== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106129== by 0x51D5EBD: Curl_open (url.c:504) ==106129== by 0x514F6EF: curl_easy_init (easy.c:371) ==106129== by 0x4016EE9: UnknownInlinedFun (lib543.c:42) ==106129== by 0x4016EE9: test_lib543.lto_priv.0 (lib543.c:30) ==106129== by 0x400347F: main (first.c:280) ==106129== === End of file valgrind543 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/22/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:36953/542 > log/22/stdout542 2> log/22/stderr542 542: 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 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/22/valgrind542 ./libtest/libtests lib542 ftp://127.0.0.1:36953/542 > log/22/stdout542 2> log/22/stderr542 === End of file commands.log === Start of file ftp_server.log 19:00:47.808488 ====> Client connect 19:00:47.808655 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:47.808980 < "USER anonymous" 19:00:47.809015 > "331 We are happy you popped in![CR][LF]" 19:00:47.809273 < "PASS ftp@example.com" 19:00:47.809327 > "230 Welcome you silly person[CR][LF]" 19:00:47.809554 < "PWD" 19:00:47.809588 > "257 "/" is current directory[CR][LF]" 19:00:47.810125 < "EPSV" 19:00:47.810150 ====> Passive DATA channel requested by client 19:00:47.810164 DATA sockfilt for passive data channel starting... 19:00:47.812252 DATA sockfilt for passive data channel started (pid 106064) 19:00:47.812380 DATA sockfilt for passive data channel listens on port 37015 19:00:47.812431 > "229 Entering Passive Mode (|||37015|)[CR][LF]" 19:00:47.812451 Client has been notified that DATA conn will be accepted on port 37015 19:00:47.812721 Client connects to port 37015 19:00:47.812753 ====> Client established passive DATA connection on port 37015 19:00:47.812839 < "TYPE I" 19:00:47.812874 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:47.813047 < "SIZE verifiedserver" 19:00:47.813085 > "213 17[CR][LF]" 19:00:47.813252 < "RETR verifiedserver" 19:00:47.813289 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:47.813377 =====> Closing passive DATA connection... 19:00:47.813396 Server disconnects passive DATA connection 19:00:47.813645 Server disconnected passive DATA connection 19:00:47.813675 DATA sockfilt for passive data channel quits (pid 106064) 19:00:47.813889 DATA sockfilt for passive data channel quit (pid 106064) 19:00:47.813915 =====> Closed passive DATA connection 19:00:47.813946 > "226 File transfer complete[CR][LF]" 19:00:47.857109 < "QUIT" 19:00:47.857169 > "221 bye bye baby[CR][LF]" 19:00:47.857869 MAIN sockfilt said DISC 19:00:47.857934 ====> Client disconnected 19:00:47.858677 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:48.580418 ====> Client connect 19:00:48.580731 Received DATA (on stdin) 19:00:48.580748 > 160 bytes data, server => client 19:00:48.580769 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:48.580781 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:48.580792 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:48.580887 < 16 bytes data, client => server 19:00:48.580903 'USER anonymous\r\n' 19:00:48.581079 Received DATA (on stdin) 19:00:48.581093 > 33 bytes data, server => client 19:00:48.581105 '331 We are happy you popped in!\r\n' 19:00:48.581156 < 22 bytes data, client => server 19:00:48.581169 'PASS ftp@example.com\r\n' 19:00:48.581399 Received DATA (on stdin) 19:00:48.581421 > 30 bytes data, server => client 19:00:48.581434 '230 Welcome you silly person\r\n' 19:00:48.581524 < 5 bytes data, client => server 19:00:48.581538 'PWD\r\n' 19:00:48.581649 Received DATA (on stdin) 19:00:48.581663 > 30 bytes data, server => client 19:00:48.581675 '257 "/" is current directory\r\n' 19:00:48.582092 < 6 bytes data, client => server 19:00:48.582109 'EPSV\r\n' 19:00:48.584536 Received DATA (on stdin) 19:00:48.584555 > 39 bytes data, server => client 19:00:48.584568 '229 Entering Passive Mode (|||37015|)\r\n' 19:00:48.584724 < 8 bytes data, client => server 19:00:48.584738 'TYPE I\r\n' 19:00:48.584937 Received DATA (on stdin) 19:00:48.584952 > 33 bytes data, server => client 19:00:48.584964 '200 I modify TYPE as you wanted\r\n' 19:00:48.585016 < 21 bytes data, client => server 19:00:48.585030 'SIZE verifiedserver\r\n' 19:00:48.585147 Received DATA (on stdin) 19:00:48.585160 > 8 bytes data, server => client 19:00:48.585172 '213 17\r\n' 19:00:48.585223 < 21 bytes data, client => server 19:00:48.585236 'RETR verifiedserver\r\n' 19:00:48.585460 Received DATA (on stdin) 19:00:48.585474 > 29 bytes data, server => client 19:00:48.585486 '150 Binary junk (17 bytes).\r\n' 19:00:48.586009 Received DATA (on stdin) 19:00:48.586023 > 28 bytes data, server => client 19:00:48.586036 '226 File transfer complete\r\n' 19:00:48.628977 < 6 bytes data, client => server 19:00:48.629008 'QUIT\r\n' 19:00:48.629622 Received DATA (on stdin) 19:00:48.629651 > 18 bytes data, server => client 19:00:48.629665 '221 bye bye baby\r\n' 19:00:48.629834 ====> Client disconnect 19:00:48.630618 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:47.583869 Running IPv4 version 19:00:47.583925 Listening on port 37015 19:00:47.583962 Wrote pid 106064 to log/22/server/ftp_sockdata.pid 19:00:47.584244 Received PING (on stdin) 19:00:47.584339 Received PORT (on stdin) 19:00:47.584692 ====> Client connect 19:00:47.585513 Received DATA (on stdin) 19:00:47.585527 > 17 bytes data, server => client 19:00:47.585539 'WE ROOLZ: 80850\r\n' 19:00:47.585565 Received DISC (on stdin) 19:00:47.585578 ==CMD (33792): ../libtool --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/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:36759/544 > log/14/stdout544 2> log/14/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/13/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:35301/537 > log/13/stdout537 2> log/13/stderr537 ==> Client forcibly disconnected 19:00:47.585746 Received QUIT (on stdin) 19:00:47.585759 quits 19:00:47.585815 ============> 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:36953/542 === End of file stderr542 === Start of file valgrind542 ==106110== ==106110== Process terminating with default action of signal 4 (SIGILL) ==106110== Illegal opcode at address 0x51D5F1F ==106110== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106110== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106110== by 0x51D5F1F: Curl_open (url.c:525) ==106110== by 0x514F6EF: curl_easy_init (easy.c:371) ==106110== by 0x401570A: test_lib542.lto_priv.0 (lib542.c:43) ==106110== by 0x400347F: main (first.c:280) ==106110== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106110== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106110== by 0x51D5EBD: Curl_open (url.c:504) ==106110== by 0x514F6EF: curl_easy_init (easy.c:371) ==106110== by 0x401570A: test_lib542.lto_priv.0 (lib542.c:43) ==106110== by 0x400347F: main (first.c:280) ==106110== === End of file valgrind542 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/14/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:36759/544 > log/14/stdout544 2> log/14/stderr544 544: 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 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/14/valgrind544 ./libtest/libtests lib544 http://127.0.0.1:36759/544 > log/14/stdout544 2> log/14/stderr544 === End of file commands.log === Start of file http_server.log 19:00:47.673707 ====> Client connect 19:00:47.673751 accept_connection 3 returned 4 19:00:47.673773 accept_connection 3 returned 0 19:00:47.673792 Read 93 bytes 19:00:47.673803 Process 93 bytes request 19:00:47.673818 Got request: GET /verifiedserver HTTP/1.1 19:00:47.673829 Are-we-friendly question received 19:00:47.673857 Wrote request (93 bytes) input to log/14/server.input 19:00:47.673878 Identifying ourselves as friends 19:00:47.673958 Response sent (56 bytes) and written to log/14/server.response 19:00:47.673972 special request received, no persistency 19:00:47.673982 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 46560 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file stderr544 URL: http://127.0.0.1:36759/544 === End of file stderr544 === Start of file valgrind544 ==106208== ==106208== Process terminating with default action of signal 4 (SIGILL) ==106208== Illegal opcode at address 0x51D5F1F ==106208== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106208== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106208== by 0x51D5F1F: Curl_open (url.c:525) ==106208== by 0x514F6EF: curl_easy_init (easy.c:371) ==106208== by 0x4017B57: test_lib544.lto_priv.0 (lib544.c:48) ==106208== by 0x400347F: main (first.c:280) ==106208== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106208== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106208== by 0x51D5EBD: Curl_open (url.c:504) ==106208== by 0x514F6EF: curl_easy_init (easy.c:371) ==106208== by 0x4017B57: test_lib544.lto_priv.0 (lib544.c:48) ==106208== by 0x400347F: main (first.c:280) ==106208== === End of file valgrind544 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/13/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:35301/537 > log/13/stdout537 2> log/13/stderr537 537: 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 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/13/valgrind537 ./libtest/libtests lib537 http://127.0.0.1:35301/537 > log/13/stdout537 2> log/13/stderr537 === End of file commands.log === Start of file http_server.log 19:00:47.216886 ====> Client connect 19:00:47.216921 accept_connection 3 returned 4 19:00:47.216940 accept_connection 3 returned 0 19:00:47.216957 Read 93 bytes 19:00:47.216968 Process 93 bytes request 19:00:47.216987 Got request: GET /verifiedserver HTTP/1.1 19:00:47.216998 Are-we-friendly question received 19:00:47.217099 Wrote request (93 bytes) input to log/13/server.input 19:00:47.217119 Identifying ourselves as friends 19:00:47.217180 Response sent (56 bytes) and written to log/13/server.response 19:00:47.217191 special request received, no persistency 19:00:47.217201 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 43296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file stderr537 URL: http://127.0.0.1:35301/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 ==106272== ==106272== Process terminating with default action of signal 4 (SIGILL) ==106272== Illegal opcode at address 0x51D5F1F ==106272== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106272== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106272== by 0x51D5F1F: Curl_open (url.c:525) ==106272== by 0x514F6EF: curl_easy_init (easy.c:371) ==106272== by 0x4013492: UnknownInlinedFun (lib537.c:468) ==106272== by 0x4013492: 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/5/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:46771 > log/5/stdout549 2> log/5/stderr549 CMD (33792): ../libtool --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/valgrind557 ./libtest/libtests lib557 - > log/10/stdout557 2> log/10/stderr557 lib537.lto_priv.0 (lib537.c:440) ==106272== by 0x400347F: main (first.c:280) ==106272== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==106272== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106272== by 0x51D5EBD: Curl_open (url.c:504) ==106272== by 0x514F6EF: curl_easy_init (easy.c:371) ==106272== by 0x4013492: UnknownInlinedFun (lib537.c:468) ==106272== by 0x4013492: test_lib537.lto_priv.0 (lib537.c:440) ==106272== by 0x400347F: main (first.c:280) ==106272== === End of file valgrind537 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/5/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:46771 > log/5/stdout549 2> log/5/stderr549 549: stdout FAILED: --- log/5/check-expected 2025-11-13 19:00:49.109391111 +0000 +++ log/5/check-generated 2025-11-13 19:00:49.109391111 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/5/ 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/5/valgrind549 ./libtest/libtests lib549 ftp://www.example.com/moo/549 http://127.0.0.1:46771 > log/5/stdout549 2> log/5/stderr549 === End of file commands.log === Start of file http_server.log 19:00:47.911125 ====> Client connect 19:00:47.911190 accept_connection 3 returned 4 19:00:47.911207 accept_connection 3 returned 0 19:00:47.911221 Read 93 bytes 19:00:47.911232 Process 93 bytes request 19:00:47.911245 Got request: GET /verifiedserver HTTP/1.1 19:00:47.911254 Are-we-friendly question received 19:00:47.911280 Wrote request (93 bytes) input to log/5/server.input 19:00:47.911297 Identifying ourselves as friends 19:00:47.911351 Response sent (56 bytes) and written to log/5/server.response 19:00:47.911362 special request received, no persistency 19:00:47.911372 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 32902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file stderr549 URL: ftp://www.example.com/moo/549 === End of file stderr549 === Start of file valgrind549 ==106446== ==106446== Process terminating with default action of signal 4 (SIGILL) ==106446== Illegal opcode at address 0x51D5F1F ==106446== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106446== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106446== by 0x51D5F1F: Curl_open (url.c:525) ==106446== by 0x514F6EF: curl_easy_init (easy.c:371) ==106446== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==106446== by 0x400347F: main (first.c:280) ==106446== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106446== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106446== by 0x51D5EBD: Curl_open (url.c:504) ==106446== by 0x514F6EF: curl_easy_init (easy.c:371) ==106446== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==106446== by 0x400347F: main (first.c:280) ==106446== === End of file valgrind549 CMD (33792): ../libtool --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/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:46317 testuser:testpass > log/11/stdout548 2> log/11/stderr548 CMD (33792): ../libtool --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/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:41595/545 > log/6/stdout545 2> log/6/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/10/valgrind557 ./libtest/libtests lib557 - > log/10/stdout557 2> log/10/stderr557 557: stdout FAILED: --- log/10/check-expected 2025-11-13 19:00:49.116057779 +0000 +++ log/10/check-generated 2025-11-13 19:00:49.116057779 +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/10/ 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/10/valgrind557 ./libtest/libtests lib557 - > log/10/stdout557 2> log/10/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 ==106955== ==106955== Process terminating with default action of signal 4 (SIGILL) ==106955== Illegal opcode at address 0x4018A0A ==106955== at 0x4018A0A: UnknownInlinedFun (lib557.c:1110) ==106955== by 0x4018A0A: test_weird_arguments (lib557.c:1236) ==106955== by 0x401A6E1: test_lib557.lto_priv.0 (lib557.c:1551) ==106955== by 0x400347F: main (first.c:280) === End of file valgrind557 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/11/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:46317 testuser:testpass > log/11/stdout548 2> log/11/stderr548 548: 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 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/11/valgrind548 ./libtest/libtests lib547 http://test.remote.example.com/path/548 http://127.0.0.1:46317 testuser:testpass > log/11/stdout548 2> log/11/stderr548 === End of file commands.log === Start of file http_server.log 19:00:47.906920 ====> Client connect 19:00:47.906951 accept_connection 3 returned 4 19:00:47.906969 accept_connection 3 returned 0 19:00:47.906983 Read 93 bytes 19:00:47.906994 Process 93 bytes request 19:00:47.907007 Got request: GET /verifiedserver HTTP/1.1 19:00:47.907018 Are-we-friendly question received 19:00:47.907049 Wrote request (93 bytes) input to log/11/server.input 19:00:47.907069 Identifying ourselves as friends 19:00:47.907131 Response sent (56 bytes) and written to log/11/server.response 19:00:47.907142 special request received, no persistency 19:00:47.907152 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 45264 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === 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 ==106452== ==106452== Process terminating with default action of signal 4 (SIGILL) ==106452== Illegal opcode at address 0x51D5F1F ==106452== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106452== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106452== by 0x51D5F1F: Curl_open (url.c:525) ==106452== by 0x514F6EF: curl_easy_init (easy.c:371) ==106452== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106452== by 0x400347F: main (first.c:280) ==106452== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106452== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106452== by 0x51D5EBD: Curl_open (url.c:504) ==106452== by 0x514F6EF: curl_easy_init (easy.c:371) ==106452== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106452== by 0x400347F: main (first.c:280) ==106452== === End of file valgrind548 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/6/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:41595/545 > log/6/stdout545 2> log/6/stderr545 545: 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 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/6/valgrind545 ./libtest/libtests lib544 http://127.0.0.1:41595/545 > log/6/stdout545 2> log/6/stderr545 === End of file commands.log === Start of file http_server.log 19:00:47.897982 ====> Client connect 19:00:47.898017 accept_connection 3 returned 4 19:00:47.898035 accept_connection 3 returned 0 19:00:47.898051 Read 93 bytes 19:00:47.898063 Process 93 bytes request 19:00:47.898079 Got request: GET /verifiedserver HTTP/1.1 19:00:47.898090 Are-we-friendly question received 19:00:47.898116 Wrote request (93 bytes) input to log/6/server.input 19:00:47.898133 Identifying ourselves as friends 19:00:47.898194 Response sent (56 bytes) and written to log/6/server.response 19:00:47.898205 special request received, no persistency 19:00:47.898215 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 36114 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file stderr545 URL: http://127.0.0.1:41595/545 === End of file stderr545 === 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/4/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:37985 testuser:testpass > log/4/stdout547 2> log/4/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/21/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:35487/path/546 ftp://127.0.0.1:35487/path/546 > log/21/stdout546 2> log/21/stderr546 545 ==106421== ==106421== Process terminating with default action of signal 4 (SIGILL) ==106421== Illegal opcode at address 0x51D5F1F ==106421== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106421== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106421== by 0x51D5F1F: Curl_open (url.c:525) ==106421== by 0x514F6EF: curl_easy_init (easy.c:371) ==106421== by 0x4017B57: test_lib544.lto_priv.0 (lib544.c:48) ==106421== by 0x400347F: main (first.c:280) ==106421== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106421== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106421== by 0x51D5EBD: Curl_open (url.c:504) ==106421== by 0x514F6EF: curl_easy_init (easy.c:371) ==106421== by 0x4017B57: test_lib544.lto_priv.0 (lib544.c:48) ==106421== by 0x400347F: main (first.c:280) ==106421== === 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/4/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:37985 testuser:testpass > log/4/stdout547 2> log/4/stderr547 547: 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 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/4/valgrind547 ./libtest/libtests lib547 http://test.remote.example.com/path/547 http://127.0.0.1:37985 testuser:testpass > log/4/stdout547 2> log/4/stderr547 === End of file commands.log === Start of file http_server.log 19:00:48.905912 ====> Client connect 19:00:48.905944 accept_connection 3 returned 4 19:00:48.905963 accept_connection 3 returned 0 19:00:48.905978 Read 93 bytes 19:00:48.905989 Process 93 bytes request 19:00:48.906004 Got request: GET /verifiedserver HTTP/1.1 19:00:48.906015 Are-we-friendly question received 19:00:48.906041 Wrote request (93 bytes) input to log/4/server.input 19:00:48.906059 Identifying ourselves as friends 19:00:48.906113 Response sent (56 bytes) and written to log/4/server.response 19:00:48.906125 special request received, no persistency 19:00:48.906136 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 53290 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === 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 ==106447== ==106447== Process terminating with default action of signal 4 (SIGILL) ==106447== Illegal opcode at address 0x51D5F1F ==106447== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106447== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106447== by 0x51D5F1F: Curl_open (url.c:525) ==106447== by 0x514F6EF: curl_easy_init (easy.c:371) ==106447== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106447== by 0x400347F: main (first.c:280) ==106447== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106447== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106447== by 0x51D5EBD: Curl_open (url.c:504) ==106447== by 0x514F6EF: curl_easy_init (easy.c:371) ==106447== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106447== by 0x400347F: main (first.c:280) ==106447== === End of file valgrind547 CMD (33792): ../libtool --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/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:40515 ascii > log/17/stdout550 2> log/17/stderr550 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/21/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:35487/path/546 ftp://127.0.0.1:35487/path/546 > log/21/stdout546 2> log/21/stderr546 546: stdout FAILED: --- log/21/check-expected 2025-11-13 19:00:49.159391113 +0000 +++ log/21/check-generated 2025-11-13 19:00:49.159391113 +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/21/ 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/21/valgrind546 ./libtest/libtests lib533 ftp://127.0.0.1:35487/path/546 ftp://127.0.0.1:35487/path/546 > log/21/stdout546 2> log/21/stderr546 === End of file commands.log === Start of file ftp_server.log 19:00:48.130698 ====> Client connect 19:00:48.130842 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:48.131133 < "USER anonymous" 19:00:48.131173 > "331 We are happy you popped in![CR][LF]" 19:00:48.131368 < "PASS ftp@example.com" 19:00:48.131400 > "230 Welcome you silly person[CR][LF]" 19:00:48.131607 < "PWD" 19:00:48.131664 > "257 "/" is current directory[CR][LF]" 19:00:48.131885 < "EPSV" 19:00:48.131909 ====> Passive DATA channel requested by client 19:00:48.131924 DATA sockfilt for passive data channel starting... 19:00:48.133898 DATA sockfilt for passive data channel started (pid 106409) 19:00:48.134004 DATA sockfilt for passive data channel listens on port 37599 19:00:48.134050 > "229 Entering Passive Mode (|||37599|)[CR][LF]" 19:00:48.134069 Client has been notified that DATA conn will be accepted on port 37599 19:00:48.134300 Client connects to port 37599 19:00:48.134324 ====> Client established passive DATA connection on port 37599 19:00:48.134396 < "TYPE I" 19:00:48.134424 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:48.134722 < "SIZE verifiedserver" 19:00:48.134775 > "213 17[CR][LF]" 19:00:48.134951 < "RETR verifiedserver" 19:00:48.135000 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:48.135109 =====> Closing passive DATA connection... 19:00:48.135126 Server disconnects passive DATA connection 19:00:48.135381 Server disconnected passive DATA connection 19:00:48.135421 DATA sockfilt for passive data channel quits (pid 106409) 19:00:48.135679 DATA sockfilt for passive data channel quit (pid 106409) 19:00:48.135703 =====> Closed passive DATA connection 19:00:48.135733 > "226 File transfer complete[CR][LF]" 19:00:48.179287 < "QUIT" 19:00:48.179341 > "221 bye bye baby[CR][LF]" 19:00:48.180318 MAIN sockfilt said DISC 19:00:48.180359 ====> Client disconnected 19:00:48.180447 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:47.902653 ====> Client connect 19:00:47.902917 Received DATA (on stdin) 19:00:47.902936 > 160 bytes data, server => client 19:00:47.902950 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:47.902962 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:47.902973 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:47.903048 < 16 bytes data, client => server 19:00:47.903062 'USER anonymous\r\n' 19:00:47.903240 Received DATA (on stdin) 19:00:47.903254 > 33 bytes data, server => client 19:00:47.903267 '331 We are happy you popped in!\r\n' 19:00:47.903323 < 22 bytes data, client => server 19:00:47.903337 'PASS ftp@example.com\r\n' 19:00:47.903463 Received DATA (on stdin) 19:00:47.903476 > 30 bytes data, server => client 19:00:47.903492 '230 Welcome you silly person\r\n' 19:00:47.903541 < 5 bytes data, client => server 19:00:47.903555 'PWD\r\n' 19:00:47.903737 Received DATA (on stdin) 19:00:47.903756 > 30 bytes data, server => client 19:00:47.903769 '257 "/" is current directory\r\n' 19:00:47.903857 < 6 bytes data, client => server 19:00:47.903870 'EPSV\r\n' 19:00:47.906133 Received DATA (on stdin) 19:00:47.906156 > 39 bytes data, server => client 19:00:47.906170 '229 Entering Passive Mode (|||37599|)\r\n' 19:00:47.906341 < 8 bytes data, client => server 19:00:47.906355 'TYPE I\r\n' 19:00:47.906584 Received DATA (on stdin) 19:00:47.906600 > 33 bytes data, server => client 19:00:47.906612 '200 I modify TYPE as you wanted\r\n' 19:00:47.906667 < 21 bytes data, client => server 19:00:47.906679 'SIZE verifiedserver\r\n' 19:00:47.906840 Received DATA (on stdin) 19:00:47.906852 > 8 bytes data, server => client 19:00:47.906863 '213 17\r\n' 19:00:47.906913 < 21 bytes data, client => server 19:00:47.906926 'RETR verifiedserver\r\n' 19:00:47.907190 Received DATA (on stdin) 19:00:47.907203 > 29 bytes data, server => client 19:00:47.907215 '150 Binary junk (17 bytes).\r\n' 19:00:47.907796 Received DATA (on stdin) 19:00:47.907810 > 28 bytes data, server => client 19:00:47.907822 '226 File transfer complete\r\n' 19:00:47.951118 < 6 bytes data, client => server 19:00:47.951154 'QUIT\r\n' 19:00:47.951410 Received DATA (on stdin) 19:00:47.951425 > 18 bytes data, server => client 19:00:47.951437 '221 bye bye baby\r\n' 19:00:47.952316 ====> Client disconnect 19:00:47.952511 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:48.905698 Running IPv4 version 19:00:48.905764 Listening on port 37599 19:00:48.905807 Wrote pid 106409 to log/21/server/ftp_sockdata.pid 19:00:48.905893 Received PING (on stdin) 19:00:48.905981 Received PORT (on stdin) 19:00:48.906306 ====> Client connect 19:00:48.907244 Received DATA (on stdin) 19:00:48.907261 > 17 bytes data, server => client 19:00:48.907273 'WE ROOLZ: 81255\r\n' 19:00:48.907299 Received DISC (on stdin) 19:00:48.907312 ====> Client forcibly disconnected 19:00:48.907497 Received QUIT (on stdin) 19:00:48.907512 quits 19:00:48.907577 ============> 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:35487/path/546 === End of file stderr546 === Start of file valgrind546 ==106637== ==106637== Process terminating with default action of signal 4 (SIGILL) ==106637== Illegal opcode at address 0x51D5F1F ==106637== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106637== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106637== by 0x51D5F1F: Curl_open (url.c:525) ==106637== by 0x514F6EF: curl_easy_init (easy.c:371) ==106637== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==106637== by 0x400347F: main (first.c:280) ==106637== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106637== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106637== by 0x51D5EBD: Curl_open (url.c:504) ==106637== by 0x514F6EF: curl_easy_init (easy.c:371) ==106637== by 0x4060A35: test_lib533.part.0.lto_priv.0 (lib533.c:42) ==106637== by 0x400347F: main (first.c:280) ==106637== === 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/9/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:36745/ > log/9/stdout552 2> log/9/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/1/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:40353/path/553 > log/1/stdout553 2> log/1/stderr553 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/17/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:40515 ascii > log/17/stdout550 2> log/17/stderr550 550: stdout FAILED: --- log/17/check-expected 2025-11-13 19:00:49.166057778 +0000 +++ log/17/check-generated 2025-11-13 19:00:49.166057778 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/17/ 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/17/valgrind550 ./libtest/libtests lib549 ftp://www.example.com/moo/550 http://127.0.0.1:40515 ascii > log/17/stdout550 2> log/17/stderr550 === End of file commands.log === Start of file http_server.log 19:00:48.916372 ====> Client connect 19:00:48.916406 accept_connection 3 returned 4 19:00:48.916424 accept_connection 3 returned 0 19:00:48.916440 Read 93 bytes 19:00:48.916451 Process 93 bytes request 19:00:48.916463 Got request: GET /verifiedserver HTTP/1.1 19:00:48.916474 Are-we-friendly question received 19:00:48.916504 Wrote request (93 bytes) input to log/17/server.input 19:00:48.916524 Identifying ourselves as friends 19:00:48.916585 Response sent (56 bytes) and written to log/17/server.response 19:00:48.916599 special request received, no persistency 19:00:48.916609 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 36460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file stderr550 URL: ftp://www.example.com/moo/550 === End of file stderr550 === Start of file valgrind550 ==106463== ==106463== Process terminating with default action of signal 4 (SIGILL) ==106463== Illegal opcode at address 0x51D5F1F ==106463== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106463== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106463== by 0x51D5F1F: Curl_open (url.c:525) ==106463== by 0x514F6EF: curl_easy_init (easy.c:371) ==106463== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==106463== by 0x400347F: main (first.c:280) ==106463== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106463== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106463== by 0x51D5EBD: Curl_open (url.c:504) ==106463== by 0x514F6EF: curl_easy_init (easy.c:371) ==106463== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==106463== by 0x400347F: main (first.c:280) ==106463== === End of file valgrind550 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/9/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:36745/ > log/9/stdout552 2> log/9/stderr552 552: 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 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/9/valgrind552 ./libtest/libtests lib552 http://test.remote.example.com/path/552 http://s1lly:pers0n@127.0.0.1:36745/ > log/9/stdout552 2> log/9/stderr552 === End of file commands.log === Start of file http_server.log 19:00:48.010838 ====> Client connect 19:00:48.010881 accept_connection 3 returned 4 19:00:48.010900 accept_connection 3 returned 0 19:00:48.010919 Read 93 bytes 19:00:48.010931 Process 93 bytes request 19:00:48.010946 Got request: GET /verifiedserver HTTP/1.1 19:00:48.010961 Are-we-friendly question received 19:00:48.010991 Wrote request (93 bytes) input to log/9/server.input 19:00:48.011011 Identifying ourselves as friends 19:00:48.011088 Response sent (56 bytes) and written to log/9/server.response 19:00:48.011101 special request received, no persistency 19:00:48.011112 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 32882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === 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 ==106769== ==106769== Process terminating with default action of signal 4 (SIGILL) ==106769== Illegal opcode at address 0x51D5F1F ==106769== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106769== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106769== by 0x51D5F1F: Curl_open (url.c:525) ==106769== by 0x514F6EF: curl_easy_init (easy.c:371) ==106769== by 0x4015BF8: UnknownInlinedFun (lib552.c:81) ==106769== by 0x4015BF8: test_lib552.lto_priv.0 (lib552.c:70) ==106769== by 0x400347F: main (first.c:280) ==106769== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106769== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106769== by 0x51D5EBD: Curl_open (url.c:504) ==106769== by 0x514F6EF: curl_easy_init (easy.c:371) ==106769== by 0x4015BF8: UnknownInlinedFun (lib552.c:81) ==106769== by 0x4015BF8: test_lib552.lto_priv.0 (lib552.c:70) ==106769== by 0x400347F: main (first.c:280) ==106769== === End of file valgrind552 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/1/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:40353/path/553 > log/1/stdout553 2> log/1/stderr553 553: 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 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/1/valgrind553 ./libtest/libtests lib553 http://127.0.0.1:40353/path/553 > log/1/stdout553 2> log/1/stderr553 === End of file commands.log === Start of file http_server.log 19:00:48.013661 ====> Client connect 19:00:48.013693 accept_connection 3 returned 4 19:00:48.013710 accept_connection 3 returned 0 19:00:48.013725 Read 93 bytes 19:00:48.013736 Process 93 bytes request 19:00:48.013749 Got request:CMD (33792): ../libtool --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/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:46261 s1lly:pers0n > log/3/stdout551 2> log/3/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/20/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:38583 testuser:testpass > log/20/stdout555 2> log/20/stderr555 CMD (33792): ../libtool --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/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:43853/554 > log/8/stdout554 2> log/8/stderr554 GET /verifiedserver HTTP/1.1 19:00:48.013760 Are-we-friendly question received 19:00:48.013783 Wrote request (93 bytes) input to log/1/server.input 19:00:48.013801 Identifying ourselves as friends 19:00:48.013853 Response sent (56 bytes) and written to log/1/server.response 19:00:48.013863 special request received, no persistency 19:00:48.013874 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48106 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file stderr553 URL: http://127.0.0.1:40353/path/553 === End of file stderr553 === Start of file valgrind553 ==106768== ==106768== Process terminating with default action of signal 4 (SIGILL) ==106768== Illegal opcode at address 0x51D5F1F ==106768== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106768== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106768== by 0x51D5F1F: Curl_open (url.c:525) ==106768== by 0x514F6EF: curl_easy_init (easy.c:371) ==106768== by 0x4018011: test_lib553.lto_priv.0 (lib553.c:72) ==106768== by 0x400347F: main (first.c:280) ==106768== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106768== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106768== by 0x51D5EBD: Curl_open (url.c:504) ==106768== by 0x514F6EF: curl_easy_init (easy.c:371) ==106768== by 0x4018011: test_lib553.lto_priv.0 (lib553.c:72) ==106768== by 0x400347F: main (first.c:280) ==106768== === End of file valgrind553 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/3/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:46261 s1lly:pers0n > log/3/stdout551 2> log/3/stderr551 551: 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 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/3/valgrind551 ./libtest/libtests lib547 http://test.remote.example.com/path/551 http://127.0.0.1:46261 s1lly:pers0n > log/3/stdout551 2> log/3/stderr551 === End of file commands.log === Start of file http_server.log 19:00:49.000359 ====> Client connect 19:00:49.000396 accept_connection 3 returned 4 19:00:49.000412 accept_connection 3 returned 0 19:00:49.000429 Read 93 bytes 19:00:49.000440 Process 93 bytes request 19:00:49.000455 Got request: GET /verifiedserver HTTP/1.1 19:00:49.000466 Are-we-friendly question received 19:00:49.000491 Wrote request (93 bytes) input to log/3/server.input 19:00:49.000510 Identifying ourselves as friends 19:00:49.000567 Response sent (56 bytes) and written to log/3/server.response 19:00:49.000579 special request received, no persistency 19:00:49.000589 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 58234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === 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 ==106755== ==106755== Process terminating with default action of signal 4 (SIGILL) ==106755== Illegal opcode at address 0x51D5F1F ==106755== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106755== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106755== by 0x51D5F1F: Curl_open (url.c:525) ==106755== by 0x514F6EF: curl_easy_init (easy.c:371) ==106755== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106755== by 0x400347F: main (first.c:280) ==106755== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106755== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106755== by 0x51D5EBD: Curl_open (url.c:504) ==106755== by 0x514F6EF: curl_easy_init (easy.c:371) ==106755== by 0x401583E: test_lib547.lto_priv.0 (lib547.c:78) ==106755== by 0x400347F: main (first.c:280) ==106755== === End of file valgrind551 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/20/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:38583 testuser:testpass > log/20/stdout555 2> log/20/stderr555 555: 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 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/20/valgrind555 ./libtest/libtests lib555 http://test.remote.example.com/path/555 http://127.0.0.1:38583 testuser:testpass > log/20/stdout555 2> log/20/stderr555 === End of file commands.log === Start of file http_server.log 19:00:48.142650 ====> Client connect 19:00:48.142682 accept_connection 3 returned 4 19:00:48.142700 accept_connection 3 returned 0 19:00:48.142715 Read 93 bytes 19:00:48.142726 Process 93 bytes request 19:00:48.142738 Got request: GET /verifiedserver HTTP/1.1 19:00:48.142748 Are-we-friendly question received 19:00:48.142773 Wrote request (93 bytes) input to log/20/server.input 19:00:48.142790 Identifying ourselves as friends 19:00:48.142843 Response sent (56 bytes) and written to log/20/server.response 19:00:48.142854 special request received, no persistency 19:00:48.142864 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 57618 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === 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 ==106962== ==106962== Process terminating with default action of signal 4 (SIGILL) ==CMD (33792): ../libtool --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:39383 > 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/7/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:41017/559 > log/7/stdout559 2> log/7/stderr559 106962== Illegal opcode at address 0x51D5F1F ==106962== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106962== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106962== by 0x51D5F1F: Curl_open (url.c:525) ==106962== by 0x514F6EF: curl_easy_init (easy.c:371) ==106962== by 0x4014C7F: test_lib555.lto_priv.0 (lib555.c:83) ==106962== by 0x400347F: main (first.c:280) ==106962== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106962== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106962== by 0x51D5EBD: Curl_open (url.c:504) ==106962== by 0x514F6EF: curl_easy_init (easy.c:371) ==106962== by 0x4014C7F: test_lib555.lto_priv.0 (lib555.c:83) ==106962== by 0x400347F: main (first.c:280) ==106962== === End of file valgrind555 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/8/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:43853/554 > log/8/stdout554 2> log/8/stderr554 554: 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 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/8/valgrind554 ./libtest/libtests lib554 http://127.0.0.1:43853/554 > log/8/stdout554 2> log/8/stderr554 === End of file commands.log === Start of file http_server.log 19:00:48.142395 ====> Client connect 19:00:48.142430 accept_connection 3 returned 4 19:00:48.142452 accept_connection 3 returned 0 19:00:48.142470 Read 93 bytes 19:00:48.142481 Process 93 bytes request 19:00:48.142498 Got request: GET /verifiedserver HTTP/1.1 19:00:48.142510 Are-we-friendly question received 19:00:48.142536 Wrote request (93 bytes) input to log/8/server.input 19:00:48.142556 Identifying ourselves as friends 19:00:48.142619 Response sent (56 bytes) and written to log/8/server.response 19:00:48.142632 special request received, no persistency 19:00:48.142643 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 48768 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file stderr554 URL: http://127.0.0.1:43853/554 === End of file stderr554 === Start of file valgrind554 ==106958== ==106958== Process terminating with default action of signal 4 (SIGILL) ==106958== Illegal opcode at address 0x51D5F1F ==106958== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106958== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106958== by 0x51D5F1F: Curl_open (url.c:525) ==106958== by 0x514F6EF: curl_easy_init (easy.c:371) ==106958== by 0x40183E8: t554_test_once (lib554.c:147) ==106958== by 0x401866B: test_lib554.lto_priv.0 (lib554.c:204) ==106958== by 0x400347F: main (first.c:280) ==106958== 5,384 bytes in 1 blocks are definitely lost in loss record 659 of 661 ==106958== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106958== by 0x51D5EBD: Curl_open (url.c:504) ==106958== by 0x514F6EF: curl_easy_init (easy.c:371) ==106958== by 0x40183E8: t554_test_once (lib554.c:147) ==106958== by 0x401866B: test_lib554.lto_priv.0 (lib554.c:204) ==106958== by 0x400347F: main (first.c:280) ==106958== === 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:39383 > 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:39383 > log/24/stdout556 2> log/24/stderr556 === End of file commands.log === Start of file http_server.log 19:00:48.155869 ====> Client connect 19:00:48.155903 accept_connection 3 returned 4 19:00:48.155920 accept_connection 3 returned 0 19:00:48.155937 Read 93 bytes 19:00:48.155948 Process 93 bytes request 19:00:48.155965 Got request: GET /verifiedserver HTTP/1.1 19:00:48.155975 Are-we-friendly question received 19:00:48.156000 Wrote request (93 bytes) input to log/24/server.input 19:00:48.156018 Identifying ourselves as friends 19:00:48.156234 Response sent (56 bytes) and written to log/24/server.response 19:00:48.156248 special request received, no persistency 19:00:48.156259 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 45826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file stderr556 URL: http://127.0.0.1:39383 === End of file stderr556 === Start of file valgrind556 ==106978== ==106978== Process terminating with default action of signal 4 (SIGILL) ==106978== Illegal opcode at address 0x51D5F1F ==106978== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==106978== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==106978== by 0x51D5F1F: Curl_open (url.c:525) ==106978== by 0x514F6EF: curl_easy_init (easy.c:371) ==106978== by 0x4018700: test_lib556.lto_priv.0 (lib556.c:39) ==106978== by 0x400347F: main (first.c:280) ==106978== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==106978== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==106978== by 0x51D5EBD: Curl_open (url.c:504) ==106978== by 0x514F6EF: curl_easy_init (easy.c:371) ==106978== by 0x4018700: test_lib556.lto_priv.0 (lib556.c:39) ==106978== by 0x400347F: main (first.c:280) ==106978== === End of file valgrind556 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/7/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:41017/559 > log/7/stdout559 2> log/7/stderr559 559: data FAILED: --- log/7/check-expected 2025-11-13 19:00:49.366057781 +0000 +++ log/7/check-generated 2025-11-13 19:00:49.366057781 +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/7/ 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/7/valgrind559 ./libtest/libtests lib559 http://127.0.0.1:41017/559 > log/7/stdout559 2> log/7/stderr559 === End of file commands.log === Start of file http_server.log 19:00:48.185229 ====> Client connect 19:00:48.185275 accept_connection 3 returned 4 19:00:48.185293 accept_connection 3 returned 0 19:00:48.185309 Read 93 bytes 19:00:48.185321 Process 93 bytes request 19:00:48.185337 Got request: GET /verifiedserver HTTP/1.1 19:00:48.185348 Are-we-friendly question received 19:00:48.185374 Wrote request (93 bytes) input to log/7/server.input 19:00:48.185393 Identifying ourselves as friends 19:00:48.185502 Response sent (56 bytes) and written to log/7/server.response 19:00:48.185515 special request received, no persistency 19:00:48.185526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 34704 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file stderr559 URL: http://127.0.0.1:41017/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/2/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:44325 ascii > log/2/stdout561 2> log/2/stderr561 559 ==107109== ==107109== Process terminating with default action of signal 4 (SIGILL) ==107109== Illegal opcode at address 0x51D5F1F ==107109== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107109== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107109== by 0x51D5F1F: Curl_open (url.c:525) ==107109== by 0x514F6EF: curl_easy_init (easy.c:371) ==107109== by 0x4015EAA: test_lib559.lto_priv.0 (lib559.c:38) ==107109== by 0x400347F: main (first.c:280) ==107109== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107109== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107109== by 0x51D5EBD: Curl_open (url.c:504) ==107109== by 0x514F6EF: curl_easy_init (easy.c:371) ==107109== by 0x4015EAA: test_lib559.lto_priv.0 (lib559.c:38) ==107109== by 0x400347F: main (first.c:280) ==107109== === End of file valgrind559 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/12/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 35151 > log/12/stdout562 2> log/12/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/2/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:44325 ascii > log/2/stdout561 2> log/2/stderr561 561: stdout FAILED: --- log/2/check-expected 2025-11-13 19:00:49.379391114 +0000 +++ log/2/check-generated 2025-11-13 19:00:49.379391114 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/2/ 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/2/valgrind561 ./libtest/libtests lib549 "ftp://www.example.com/moo/561;type=i" http://127.0.0.1:44325 ascii > log/2/stdout561 2> log/2/stderr561 === End of file commands.log === Start of file http_server.log 19:00:49.230738 ====> Client connect 19:00:49.230794 accept_connection 3 returned 4 19:00:49.230814 accept_connection 3 returned 0 19:00:49.230832 Read 93 bytes 19:00:49.230843 Process 93 bytes request 19:00:49.230858 Got request: GET /verifiedserver HTTP/1.1 19:00:49.230868 Are-we-friendly question received 19:00:49.230895 Wrote request (93 bytes) input to log/2/server.input 19:00:49.230915 Identifying ourselves as friends 19:00:49.230976 Response sent (56 bytes) and written to log/2/server.response 19:00:49.230987 special request received, no persistency 19:00:49.230998 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 46578 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === 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 ==107227== ==107227== Process terminating with default action of signal 4 (SIGILL) ==107227== Illegal opcode at address 0x51D5F1F ==107227== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107227== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107227== by 0x51D5F1F: Curl_open (url.c:525) ==107227== by 0x514F6EF: curl_easy_init (easy.c:371) ==107227== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==107227== by 0x400347F: main (first.c:280) ==107227== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107227== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107227== by 0x51D5EBD: Curl_open (url.c:504) ==107227== by 0x514F6EF: curl_easy_init (easy.c:371) ==107227== by 0x4015AAA: test_lib549.lto_priv.0 (lib549.c:43) ==107227== by 0x400347F: main (first.c:280) ==107227== === 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/12/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 35151 > log/12/stdout562 2> log/12/stderr562 562: 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 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/12/valgrind562 ./libtest/libtests lib562 'ftp://127.0.0.1:23456/562;type=A' 35151 > log/12/stdout562 2> log/12/stderr562 === End of file commands.log === Start of file ftp_server.log 19:00:48.485107 ====> Client connect 19:00:48.485259 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:48.485690 < "USER anonymous" 19:00:48.485727 > "331 We are happy you popped in![CR][LF]" 19:00:48.485905 < "PASS ftp@example.com" 19:00:48.485936 > "230 Welcome you silly person[CR][LF]" 19:00:48.486106 < "PWD" 19:00:48.486140 > "257 "/" is current directory[CR][LF]" 19:00:48.486319 < "EPSV" 19:00:48.486343 ====> Passive DATA channel requested by client 19:00:48.486358 DATA sockfilt for passive data channel starting... 19:00:48.491244 DATA sockfilt for passive data channel started (pid 107250) 19:00:48.491361 DATA sockfilt for passive data channel listens on port 33027 19:00:48.491406 > "229 Entering Passive Mode (|||33027|)[CR][LF]" 19:00:48.491426 Client has been notified that DATA conn will be accepted on port 33027 19:00:48.491688 Client connects to port 33027 19:00:48.491720 ====> Client established passive DATA connection on port 33027 19:00:48.491797 < "TYPE I" 19:00:48.491830 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:48.492005 < "SIZE verifiedserver" 19:00:48.492043 > "213 17[CR][LF]" 19:00:48.492224 < "RETR verifiedserver" 19:00:48.492262 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:48.492361 =====> Closing passive DATA connection... 19:00:48.492381 Server disconnects passive DATA connection 19:00:48.492637 Server disconnected passive DATA connection 19:00:48.492667 DATA sockfilt for passive data channel quits (pid 107250) 19:00:48.492882 DATA sockfilt for passive data channel quit (pid 107250) 19:00:48.492907 =====> Closed passive DATA connection 19:00:48.492931 > "226 File transfer complete[CR][LF]" 19:00:48.539163 < "QUIT" 19:00:48.539231 > "221 bye bye baby[CR][LF]" 19:00:48.540213 MAIN sockfilt said DISC 19:00:48.540248 ====> Client disconnected 19:00:48.540334 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:48.257052 ====> Client connect 19:00:48.257334 Received DATA (on stdin) 19:00:48.257351 > 160 bytes data, server => client 19:00:48.257365 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:48.257377 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:48.257389 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:48.257600 < 16 bytes data, client => server 19:00:48.257619 'USER anonymous\r\n' 19:00:48.257792 Received DATA (on stdin) 19:00:48.257807 > 33 bytes data, server => client 19:00:48.257820 '331 We are happy you popped in!\r\n' 19:00:48.257874 < 22 bytes data, client => server 19:00:48.257887 'PASS ftp@example.com\r\n' 19:00:48.257997 Received DATA (on stdin) 19:00:48.258011 > 30 bytes data, server => client 19:00:48.258024 '230 Welcome you silly person\r\n' 19:00:48.258074 < 5 bytes data, client => server 19:00:48.258087 'PWD\r\n' 19:00:48.258202 Received DATA (on stdin) 19:00:48.258216 > 30 bytes data, server => client 19:00:48.258228 '257 "/" is current directory\r\n' 19:00:48.258289 < 6 bytes data, client => server 19:00:48.258302 'EPSV\r\n' 19:00:48.263494 Received DATA (on stdin) 19:00:48.263510 > 39 bytes data, server => client 19:00:48.263523 '229 Entering Passive Mode (|||33027|)\r\n' 19:00:48.263659 < 8 bytes data, client => server 19:00:48.263678 'TYPE I\r\n' 19:00:48.263893 Received DATA (on stdin) 19:00:48.263908 > 33 bytes data, server => client 19:00:48.263920 '200 I modify TYPE as you wanted\r\n' 19:00:48.263973 < 21 bytes data, client => server 19:00:48.263988 'SIZE verifiedserver\r\n' 19:00:48.264116 Received DATA (on stdin) 19:00:48.264130 > 8 CMD (33792): ../libtool --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/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 35319 > log/16/stdout563 2> log/16/stderr563 bytes data, server => client 19:00:48.264142 '213 17\r\n' 19:00:48.264194 < 21 bytes data, client => server 19:00:48.264207 'RETR verifiedserver\r\n' 19:00:48.264446 Received DATA (on stdin) 19:00:48.264460 > 29 bytes data, server => client 19:00:48.264473 '150 Binary junk (17 bytes).\r\n' 19:00:48.264994 Received DATA (on stdin) 19:00:48.265009 > 28 bytes data, server => client 19:00:48.265021 '226 File transfer complete\r\n' 19:00:48.311005 < 6 bytes data, client => server 19:00:48.311042 'QUIT\r\n' 19:00:48.311299 Received DATA (on stdin) 19:00:48.311313 > 18 bytes data, server => client 19:00:48.311326 '221 bye bye baby\r\n' 19:00:48.312216 ====> Client disconnect 19:00:48.312396 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:48.259852 Running IPv4 version 19:00:48.259909 Listening on port 33027 19:00:48.259947 Wrote pid 107250 to log/12/server/ftp_sockdata.pid 19:00:48.263238 Received PING (on stdin) 19:00:48.263334 Received PORT (on stdin) 19:00:48.263701 ====> Client connect 19:00:48.264501 Received DATA (on stdin) 19:00:48.264516 > 17 bytes data, server => client 19:00:48.264528 'WE ROOLZ: 80702\r\n' 19:00:48.264551 Received DISC (on stdin) 19:00:48.264564 ====> Client forcibly disconnected 19:00:48.264738 Received QUIT (on stdin) 19:00:48.264751 quits 19:00:48.264811 ============> 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 ==107323== ==107323== Process terminating with default action of signal 4 (SIGILL) ==107323== Illegal opcode at address 0x51D5F1F ==107323== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107323== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107323== by 0x51D5F1F: Curl_open (url.c:525) ==107323== by 0x514F6EF: curl_easy_init (easy.c:371) ==107323== by 0x401D5EA: test_lib562.lto_priv.0 (lib562.c:47) ==107323== by 0x400347F: main (first.c:280) ==107323== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107323== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107323== by 0x51D5EBD: Curl_open (url.c:504) ==107323== by 0x514F6EF: curl_easy_init (easy.c:371) ==107323== by 0x401D5EA: test_lib562.lto_priv.0 (lib562.c:47) ==107323== by 0x400347F: main (first.c:280) ==107323== === End of file valgrind562 setenv ftp_proxy = http://127.0.0.1:42747/ 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/16/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 35319 > log/16/stdout563 2> log/16/stderr563 563: 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 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/16/valgrind563 ./libtest/libtests lib562 "ftp://127.0.0.1:23456/563;type=A" 35319 > log/16/stdout563 2> log/16/stderr563 === End of file commands.log === Start of file ftp_server.log 19:00:48.523628 ====> Client connect 19:00:48.523803 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:48.525612 < "USER anonymous" 19:00:48.525657 > "331 We are happy you popped in![CR][LF]" 19:00:48.525918 < "PASS ftp@example.com" 19:00:48.525973 > "230 Welcome you silly person[CR][LF]" 19:00:48.526153 < "PWD" 19:00:48.526186 > "257 "/" is current directory[CR][LF]" 19:00:48.526350 < "EPSV" 19:00:48.526373 ====> Passive DATA channel requested by client 19:00:48.526388 DATA sockfilt for passive data channel starting... 19:00:48.528566 DATA sockfilt for passive data channel started (pid 107320) 19:00:48.528715 DATA sockfilt for passive data channel listens on port 42231 19:00:48.528783 > "229 Entering Passive Mode (|||42231|)[CR][LF]" 19:00:48.528806 Client has been notified that DATA conn will be accepted on port 42231 19:00:48.529110 Client connects to port 42231 19:00:48.529143 ====> Client established passive DATA connection on port 42231 19:00:48.529295 < "TYPE I" 19:00:48.529337 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:48.529522 < "SIZE verifiedserver" 19:00:48.529565 > "213 17[CR][LF]" 19:00:48.529742 < "RETR verifiedserver" 19:00:48.529784 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:48.529887 =====> Closing passive DATA connection... 19:00:48.529907 Server disconnects passive DATA connection 19:00:48.530194 Server disconnected passive DATA connection 19:00:48.530227 DATA sockfilt for passive data channel quits (pid 107320) 19:00:48.530512 DATA sockfilt for passive data channel quit (pid 107320) 19:00:48.530542 =====> Closed passive DATA connection 19:00:48.530572 > "226 File transfer complete[CR][LF]" 19:00:48.573258 < "QUIT" 19:00:48.573325 > "221 bye bye baby[CR][LF]" 19:00:48.574399 MAIN sockfilt said DISC 19:00:48.574429 ====> Client disconnected 19:00:48.574639 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:48.295572 ====> Client connect 19:00:48.295848 Received DATA (on stdin) 19:00:48.295899 > 160 bytes data, server => client 19:00:48.295914 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:48.295927 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:48.295938 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:48.297529 < 16 bytes data, client => server 19:00:48.297555 'USER anonymous\r\n' 19:00:48.297729 Received DATA (on stdin) 19:00:48.297749 > 33 bytes data, server => client 19:00:48.297762 '331 We are happy you popped in!\r\n' 19:00:48.297835 < 22 bytes data, client => server 19:00:48.297852 'PASS ftp@example.com\r\n' 19:00:48.298039 Received DATA (on stdin) 19:00:48.298056 > 30 bytes data, server => client 19:00:48.298068 '230 Welcome you silly person\r\n' 19:00:48.298130 < 5 bytes data, client => server 19:00:48.298142 'PWD\r\n' 19:00:48.298246 Received DATA (on stdin) 19:00:48.298258 > 30 bytes data, server => client 19:00:48.298270 '257 "/" is current directory\r\n' 19:00:48.298331 < 6 bytes data, client => server 19:00:48.298342 'EPSV\r\n' 19:00:48.300880 Received DATA (on stdin) 19:00:48.300899 > 39 bytes data, server => client 19:00:48.300913 '229 Entering Passive Mode (|||42231|)\r\n' 19:00:48.301227 < 8 bytes data, client => server 19:00:48.301243 'TYPE I\r\n' 19:00:48.301403 Received DATA (on stdin) 19:00:48.301417 > 33 bytes data, server => client 19:00:48.301431 '200 I modify TYPE as you wanted\r\n' 19:00:48.301488 < 21 bytes data, client => server 19:00:48.301502 'SIZE verifiedserver\r\n' 19:00:48.301628 Received DATA (on stdin) 19:00:48.301643 > 8 bytes data, server => client 19:00:48.301656 '213 17\r\n' 19:00:48.301709 < 21 bytes data, client => server 19:00:48.301725 'RETR verifiedserver\r\n' 19:00:48.301974 Received DATA (on stdin) 19:00:48.301989 > 29 bytes data, server => client 19:00:48.302002 '150 Binary junk (17 bytes).\r\n' 19:00:48.302636 Received DATA (on stdin) 19:00:48.302651 > 28 bytes data, server => client 19:00:48.302663 '226 File transfer complete\r\n' 19:00:48.345090 < 6 bytes data, client => server 19:00:48.345134 'QUIT\r\n' 19:00:48.345391 Received DATA (on stdin) 19:00:48.345405 > 18 bytes data, server => client 19:00:48.345418 '221 bye bye baby\r\n' 19:00:48.346409 ====> Client disconnect 19:00:48.346474 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:48.300263 Running IPv4 version 19:00:48.300334 Listening on port 42231 19:00:48.300372 Wrote pid 107320 to log/16/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/19/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:41761/565 > log/19/stdout565 2> log/19/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/15/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:44531/566 log/15/ip566 > log/15/stdout566 2> log/15/stderr566 ver/ftp_sockdata.pid 19:00:48.300560 Received PING (on stdin) 19:00:48.300670 Received PORT (on stdin) 19:00:48.301111 ====> Client connect 19:00:48.302065 Received DATA (on stdin) 19:00:48.302083 > 17 bytes data, server => client 19:00:48.302095 'WE ROOLZ: 80535\r\n' 19:00:48.302124 Received DISC (on stdin) 19:00:48.302137 ====> Client forcibly disconnected 19:00:48.302300 Received QUIT (on stdin) 19:00:48.302315 quits 19:00:48.302380 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:00:49.277085 ====> Client connect 19:00:49.277131 accept_connection 3 returned 4 19:00:49.277151 accept_connection 3 returned 0 19:00:49.277170 Read 93 bytes 19:00:49.277181 Process 93 bytes request 19:00:49.277195 Got request: GET /verifiedserver HTTP/1.1 19:00:49.277205 Are-we-friendly question received 19:00:49.277230 Wrote request (93 bytes) input to log/16/server.input 19:00:49.277249 Identifying ourselves as friends 19:00:49.277326 Response sent (56 bytes) and written to log/16/server.response 19:00:49.277338 special request received, no persistency 19:00:49.277348 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 59508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === 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 ==107353== ==107353== Process terminating with default action of signal 4 (SIGILL) ==107353== Illegal opcode at address 0x51D5F1F ==107353== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107353== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107353== by 0x51D5F1F: Curl_open (url.c:525) ==107353== by 0x514F6EF: curl_easy_init (easy.c:371) ==107353== by 0x401D5EA: test_lib562.lto_priv.0 (lib562.c:47) ==107353== by 0x400347F: main (first.c:280) ==107353== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107353== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107353== by 0x51D5EBD: Curl_open (url.c:504) ==107353== by 0x514F6EF: curl_easy_init (easy.c:371) ==107353== by 0x401D5EA: test_lib562.lto_priv.0 (lib562.c:47) ==107353== by 0x400347F: main (first.c:280) ==107353== === End of file valgrind563 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/19/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:41761/565 > log/19/stdout565 2> log/19/stderr565 565: 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 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/19/valgrind565 ./libtest/libtests lib510 http://127.0.0.1:41761/565 > log/19/stdout565 2> log/19/stderr565 === End of file commands.log === Start of file http_server.log 19:00:48.471288 ====> Client connect 19:00:48.471323 accept_connection 3 returned 4 19:00:48.471341 accept_connection 3 returned 0 19:00:48.471358 Read 93 bytes 19:00:48.471369 Process 93 bytes request 19:00:48.471384 Got request: GET /verifiedserver HTTP/1.1 19:00:48.471395 Are-we-friendly question received 19:00:48.471423 Wrote request (93 bytes) input to log/19/server.input 19:00:48.471442 Identifying ourselves as friends 19:00:48.471499 Response sent (56 bytes) and written to log/19/server.response 19:00:48.471511 special request received, no persistency 19:00:48.471522 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 52836 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file stderr565 URL: http://127.0.0.1:41761/565 === End of file stderr565 === Start of file valgrind565 ==107467== ==107467== Process terminating with default action of signal 4 (SIGILL) ==107467== Illegal opcode at address 0x51D5F1F ==107467== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107467== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107467== by 0x51D5F1F: Curl_open (url.c:525) ==107467== by 0x514F6EF: curl_easy_init (easy.c:371) ==107467== by 0x4009D00: test_lib510.lto_priv.0 (lib510.c:76) ==107467== by 0x400347F: main (first.c:280) ==107467== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107467== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107467== by 0x51D5EBD: Curl_open (url.c:504) ==107467== by 0x514F6EF: curl_easy_init (easy.c:371) ==107467== by 0x4009D00: test_lib510.lto_priv.0 (lib510.c:76) ==107467== by 0x400347F: main (first.c:280) ==107467== === End of file valgrind565 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/15/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:44531/566 log/15/ip566 > log/15/stdout566 2> log/15/stderr566 566: 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 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/15/valgrind566 ./libtest/libtests lib566 http://127.0.0.1:44531/566 log/15/ip566 > log/15/stdout566 2> log/15/stderr566 === End of file commands.log === Start of file http_server.log 19:00:48.615122 ====> Client connect 19:00:48.615157 accept_connection 3 returned 4 19:00:48.615175 accept_connection 3 returned 0 19:00:48.615190 Read 93 bytes 19:00:48.615200 Process 93 bytes request 19:00:48.615214 Got request: GET /verifiedserver HTTP/1.1 19:00:48.615225 Are-we-friendly question received 19:00:48.615250 Wrote request (93 bytes) input to log/15/server.input 19:00:48.615268 Identifying ourselves as friends 19:00:48.615323 Response sent (56 bytes) and written to log/15/server.response 19:00:48.615334 special request received, no persistency 19:00:48.615345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 40770 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 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/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:46317/573 > log/11/stdout573 2> log/11/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/1/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:40353/579 log/1/ip579 > log/1/stdout579 2> log/1/stderr579 K < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file stderr566 URL: http://127.0.0.1:44531/566 === End of file stderr566 === Start of file valgrind566 ==107540== ==107540== Process terminating with default action of signal 4 (SIGILL) ==107540== Illegal opcode at address 0x51D5F1F ==107540== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107540== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107540== by 0x51D5F1F: Curl_open (url.c:525) ==107540== by 0x514F6EF: curl_easy_init (easy.c:371) ==107540== by 0x401D862: test_lib566.lto_priv.0 (lib566.c:40) ==107540== by 0x400347F: main (first.c:280) ==107540== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107540== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107540== by 0x51D5EBD: Curl_open (url.c:504) ==107540== by 0x514F6EF: curl_easy_init (easy.c:371) ==107540== by 0x401D862: test_lib566.lto_priv.0 (lib566.c:40) ==107540== by 0x400347F: main (first.c:280) ==107540== === 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/11/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:46317/573 > log/11/stdout573 2> log/11/stderr573 573: 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 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/11/valgrind573 ./libtest/libtests lib573 http://127.0.0.1:46317/573 > log/11/stdout573 2> log/11/stderr573 === End of file commands.log === Start of file http_server.log 19:00:48.930161 ====> Client connect 19:00:48.930208 accept_connection 3 returned 4 19:00:48.930232 accept_connection 3 returned 0 19:00:48.930264 Read 93 bytes 19:00:48.930276 Process 93 bytes request 19:00:48.930324 Got request: GET /verifiedserver HTTP/1.1 19:00:48.930354 Are-we-friendly question received 19:00:48.930396 Wrote request (93 bytes) input to log/11/server.input 19:00:48.930410 Identifying ourselves as friends 19:00:48.930466 Response sent (56 bytes) and written to log/11/server.response 19:00:48.930477 special request received, no persistency 19:00:48.930487 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 45276 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.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:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file stderr573 URL: http://127.0.0.1:46317/573 === End of file stderr573 === Start of file valgrind573 ==107683== ==107683== Process terminating with default action of signal 4 (SIGILL) ==107683== Illegal opcode at address 0x51D5F1F ==107683== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107683== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107683== by 0x51D5F1F: Curl_open (url.c:525) ==107683== by 0x514F6EF: curl_easy_init (easy.c:371) ==107683== by 0x401DA90: test_lib573.lto_priv.0 (lib573.c:51) ==107683== by 0x400347F: main (first.c:280) ==107683== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107683== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107683== by 0x51D5EBD: Curl_open (url.c:504) ==107683== by 0x514F6EF: curl_easy_init (easy.c:371) ==107683== by 0x401DA90: test_lib573.lto_priv.0 (lib573.c:51) ==107683== by 0x400347F: main (first.c:280) ==107683== === End of file valgrind573 CMD (33792): ../libtool --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/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:46261/580 > log/3/stdout580 2> log/3/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/6/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:36475/fully_simulated/UNIX/*.txt > log/6/stdout574 2> log/6/stderr574 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/1/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:40353/579 log/1/ip579 > log/1/stdout579 2> log/1/stderr579 579: data FAILED: --- log/1/check-expected 2025-11-13 19:00:49.982724454 +0000 +++ log/1/check-generated 2025-11-13 19:00:49.982724454 +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/1/ 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/1/valgrind579 ./libtest/libtests lib579 http://127.0.0.1:40353/579 log/1/ip579 > log/1/stdout579 2> log/1/stderr579 === End of file commands.log === Start of file http_server.log 19:00:49.017477 ====> Client connect 19:00:49.017504 accept_connection 3 returned 4 19:00:49.017518 accept_connection 3 returned 0 19:00:49.017530 Read 93 bytes 19:00:49.017539 Process 93 bytes request 19:00:49.017552 Got request: GET /verifiedserver HTTP/1.1 19:00:49.017561 Are-we-friendly question received 19:00:49.017579 Wrote request (93 bytes) input to log/1/server.input 19:00:49.017596 Identifying ourselves as friends 19:00:49.017644 Response sent (56 bytes) and written to log/1/server.response 19:00:49.017652 special request received, no persistency 19:00:49.017660 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48116 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file stderr579 URL: http://127.0.0.1:40353/579 === End of file stderr579 === Start of file valgrind579 ==107892== ==107892== Process terminating with default action of signal 4 (SIGILL) ==107892== Illegal opcode at address 0x51D5F1F ==107892== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107892== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107892== by 0x51D5F1F: Curl_open (url.c:525) ==107892== by 0x514F6EF: curl_easy_init (easy.c:371) ==107892== by 0x4016900: test_lib579.lto_priv.0 (lib579.c:116) ==107892== by 0x400347F: main (first.c:280) ==107892== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107892== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107892== by 0x51D5EBD: Curl_open (url.c:504) ==107892== by 0x514F6EF: curl_easy_init (easy.c:371) ==107892== by 0x4016900: test_lib579.lto_priv.0 (lib579.c:116) ==107892== by 0x400347F: main (first.c:280) ==107892== === 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/3/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:46261/580 > log/3/stdout580 2> log/3/stderr580 580: 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 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/3/valgrind580 ./libtest/libtests lib507 http://127.0.0.1:46261/580 > log/3/stdout580 2> log/3/stderr580 === End of file commands.log === Start of file http_server.log 19:00:50.022633 ====> Client connect 19:00:50.022659 accept_connection 3 returned 4 19:00:50.022672 accept_connection 3 returned 0 19:00:50.022684 Read 93 bytes 19:00:50.022692 Process 93 bytes request 19:00:50.022701 Got request: GET /verifiedserver HTTP/1.1 19:00:50.022710 Are-we-friendly question received 19:00:50.022729 Wrote request (93 bytes) input to log/3/server.input 19:00:50.022743 Identifying ourselves as friends 19:00:50.022798 Response sent (56 bytes) and written to log/3/server.response 19:00:50.022809 special request received, no persistency 19:00:50.022820 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 58240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file stderr580 URL: http://127.0.0.1:46261/580 === End of file stderr580 === Start of file valgrind580 ==107908== ==107908== Process terminating with default action of signal 4 (SIGILL) ==107908== Illegal opcode at address 0x519E800 ==107908== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==107908== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==107908== by 0x519E800: Curl_multi_handle (multi.c:247) ==107908== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==107908== by 0x400347F: main (first.c:280) ==107908== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==107908== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107908== by 0x519E794: Curl_multi_handle (multi.c:239) ==107908== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==107908== by 0x400347F: main (first.c:280) ==107908== === 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/4/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:35791/fully_simulated/UNIX/* > log/4/stdout575 2> log/4/stderr575 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/6/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:36475/fully_simulated/UNIX/*.txt > log/6/stdout574 2> log/6/stderr574 574: stdout FAILED: --- log/6/check-expected 2025-11-13 19:00:50.002724454 +0000 +++ log/6/check-generated 2025-11-13 19:00:50.002724454 +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/6/ 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/6/valgrind574 ./libtest/libtests lib574 ftp://127.0.0.1:36475/fully_simulated/UNIX/*.txt > log/6/stdout574 2> log/6/stderr574 === End of file commands.log === Start of file ftp_server.log 19:00:49.157783 ====> Client connect 19:00:49.157952 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:49.158228 < "USER anonymous" 19:00:49.158262 > "331 We are happy you popped in![CR][LF]" 19:00:49.158429 < "PASS ftp@example.com" 19:00:49.158456 > "230 Welcome you silly person[CR][LF]" 19:00:49.158603 < "PWD" 19:00:49.158632 > "257 "/" is current directory[CR][LF]" 19:00:49.158790 < "EPSV" 19:00:49.158816 ====> Passive DATA channel requested by client 19:00:49.158829 DATA sockfilt for passive data channel starting... 19:00:49.160697 DATA sockfilt for passive data channel started (pid 107673) 19:00:49.160826 DATA sockfilt for passive data channel listens on port 37253 19:00:49.160870 > "229 Entering Passive Mode (|||37253|)[CR][LF]" 19:00:49.160888 Client has been notified that DATA conn will be accepted on port 37253 19:00:49.161110 Client connects to port 37253 19:00:49.161143 ====> Client established passive DATA connection on port 37253 19:00:49.161219 < "TYPE I" 19:00:49.161246 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:49.161379 < "SIZE verifiedserver" 19:00:49.161412 > "213 17[CR][LF]" 19:00:49.161530 < "RETR verifiedserver" 19:00:49.161554 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:49.161622 =====> Closing passive DATA connection... 19:00:49.161633 Server disconnects passive DATA connection 19:00:49.161818 Server disconnected passive DATA connection 19:00:49.161842 DATA sockfilt for passive data channel quits (pid 107673) 19:00:49.162009 DATA sockfilt for passive data channel quit (pid 107673) 19:00:49.162027 =====> Closed passive DATA connection 19:00:49.162049 > "226 File transfer complete[CR][LF]" 19:00:49.208980 < "QUIT" 19:00:49.209027 > "221 bye bye baby[CR][LF]" 19:00:49.210013 MAIN sockfilt said DISC 19:00:49.210045 ====> Client disconnected 19:00:49.210110 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:49.929720 ====> Client connect 19:00:49.930022 Received DATA (on stdin) 19:00:49.930037 > 160 bytes data, server => client 19:00:49.930049 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:49.930059 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:49.930069 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:49.930134 < 16 bytes data, client => server 19:00:49.930148 'USER anonymous\r\n' 19:00:49.930325 Received DATA (on stdin) 19:00:49.930338 > 33 bytes data, server => client 19:00:49.930350 '331 We are happy you popped in!\r\n' 19:00:49.930401 < 22 bytes data, client => server 19:00:49.930414 'PASS ftp@example.com\r\n' 19:00:49.930516 Received DATA (on stdin) 19:00:49.930530 > 30 bytes data, server => client 19:00:49.930542 '230 Welcome you silly person\r\n' 19:00:49.930586 < 5 bytes data, client => server 19:00:49.930597 'PWD\r\n' 19:00:49.930690 Received DATA (on stdin) 19:00:49.930702 > 30 bytes data, server => client 19:00:49.930713 '257 "/" is current directory\r\n' 19:00:49.930772 < 6 bytes data, client => server 19:00:49.930784 'EPSV\r\n' 19:00:49.932956 Received DATA (on stdin) 19:00:49.932974 > 39 bytes data, server => client 19:00:49.932985 '229 Entering Passive Mode (|||37253|)\r\n' 19:00:49.933121 < 8 bytes data, client => server 19:00:49.933138 'TYPE I\r\n' 19:00:49.933303 Received DATA (on stdin) 19:00:49.933313 > 33 bytes data, server => client 19:00:49.933322 '200 I modify TYPE as you wanted\r\n' 19:00:49.933367 < 21 bytes data, client => server 19:00:49.933377 'SIZE verifiedserver\r\n' 19:00:49.933468 Received DATA (on stdin) 19:00:49.933478 > 8 bytes data, server => client 19:00:49.933486 '213 17\r\n' 19:00:49.933524 < 21 bytes data, client => server 19:00:49.933532 'RETR verifiedserver\r\n' 19:00:49.933691 Received DATA (on stdin) 19:00:49.933701 > 29 bytes data, server => client 19:00:49.933709 '150 Binary junk (17 bytes).\r\n' 19:00:49.934214 Received DATA (on stdin) 19:00:49.934232 > 28 bytes data, server => client 19:00:49.934243 '226 File transfer complete\r\n' 19:00:49.980883 < 6 bytes data, client => server 19:00:49.980909 'QUIT\r\n' 19:00:49.981091 Received DATA (on stdin) 19:00:49.981104 > 18 bytes data, server => client 19:00:49.981116 '221 bye bye baby\r\n' 19:00:49.982024 ====> Client disconnect 19:00:49.982195 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:49.932560 Running IPv4 version 19:00:49.932639 Listening on port 37253 19:00:49.932671 Wrote pid 107673 to log/6/server/ftp_sockdata.pid 19:00:49.932691 Received PING (on stdin) 19:00:49.932796 Received PORT (on stdin) 19:00:49.933114 ====> Client connect 19:00:49.933729 Received DATA (on stdin) 19:00:49.933740 > 17 bytes data, server => client 19:00:49.933749 'WE ROOLZ: 80654\r\n' 19:00:49.933768 Received DISC (on stdin) 19:00:49.933777 ====> Client forcibly disconnected 19:00:49.933904 Received QUIT (on stdin) 19:00:49.933915 quits 19:00:49.933959 ============> 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:36475/fully_simulated/UNIX/*.txt === End of file stderr574 === Start of file valgrind574 ==107750== ==107750== Process terminating with default action of signal 4 (SIGILL) ==107750== Illegal opcode at address 0x51D5F1F ==107750== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107750== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107750== by 0x51D5F1F: Curl_open (url.c:525) ==107750== by 0x514F6EF: curl_easy_init (easy.c:371) ==107750== by 0x4016146: test_lib574.lto_priv.0 (lib574.c:47) ==107750== by 0x400347F: main (first.c:280) ==107750== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107750== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107750== by 0x51D5EBD: Curl_open (url.c:504) ==107750== by 0x514F6EF: curl_easy_init (easy.c:371) ==107750== by 0x4016146: test_lib574.lto_priv.0 (lib574.c:47) ==107750== by 0x400347F: main (first.c:280) ==107750== === End of file valgrind574 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/4/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:35791/fully_simulated/UNIX/* > log/4/stdout575 2> log/4/stderr575 575: stdout FAILED: --- log/4/check-expected 2025-11-13 19:00:50.009391121 +0000 +++ log/4/check-generated 2025-11-13 19:00:50.009391121 +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/4/ 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/4/valgrind575 ./libtest/libtests lib575 ftp://127.0.0.1:35791/fully_simulated/UNIX/* > log/4/stdout575 2> log/4/stderr575 === End of file commands.log === Start of file ftp_server.log 19:00:49.160975 ====> Client connect 19:00:49.161112 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:49.161368 < "USER anonymous" 19:00:49.161408 > "331 We are happy you popped in![CR][LF]" 19:00:49.161565 < "PASS ftp@example.com" 19:00:49.161588 > "230 Welcome you silly person[CR][LF]" 19:00:49.161718 < "PWD" 19:00:49.161745 > "257 "/" is current directory[CR][LF]" 19:00:49.161882 < "EPSV" 19:00:49.161904 ====> Passive DATA channel requested by client 19:00:49.161916 DATA sockfilt for passive data channel starting... 19:00:49.163331 DATA sockfilt for passive data channel started (pid 107675) 19:00:49.163426 DATA sockfilt for passive data channel listens on port 33777 19:00:49.163457 > "229 Entering Passive Mode (|||33777|)[CR][LF]" 19:00:49.163473 Client has been notified that DATA conn will be accepted on port 33777 19:00:49.163662 Client connects to port 33777 19:00:49.163686 ====> Client established passive DATA connection on port 33777 19:00:49.163748 < "TYPE I" 19:00:49.163768 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:49.163888 < "SIZE verifiedserver" 19:00:49.163918 > "213 17[CR][LF]" 19:00:49.164030 < "RETR verifiedserver" 19:00:49.164056 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:49.164121 =====> Closing passive DATA connection... 19:00:49.164133 Server disconnects passive DATA connection 19:00:49.164309 Server disconnected passive DATA connection 19:00:49.164331 DATA sockfilt for passive data channel quits (pid 107675) 19:00:49.164493 DATA sockfilt for passive data channel quit (pid 107675) 19:00:49.164511 =====> Closed passive DATA connection 19:00:49.164531 > "226 File transfer complete[CR][LF]" 19:00:49.206811 < "QUIT" 19:00:49.206870 > "221 bye bye baby[CR][LF]" 19:00:49.207754 MAIN sockfilt said DISC 19:00:49.207796 ====> Client disconnected 19:00:49.207878 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:48.932947 ====> Client connect 19:00:48.933186 Received DATA (on stdin) 19:00:48.933201 > 160 bytes data, server => client 19:00:48.933213 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:48.933223 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:48.933233 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:48.933295 < 16 bytes data, client => server 19:00:48.933306 'USER anonymous\r\n' 19:00:48.933469 Received DATA (on stdin) 19:00:48.933481 > 33 bytes data, server => client 19:00:48.933491 '331 We are happy you popped in!\r\n' 19:00:48.933536 < 22 bytes data, client => server 19:00:48.933546 'PASS ftp@example.com\r\n' 19:00:48.933645 Received DATA (on stdin) 19:00:48.933655 > 30 bytes data, server => client 19:00:48.933665 '230 Welcome you silly person\r\n' 19:00:48.933705 < 5 bytes data, client => server 19:00:48.933714 'PWD\r\n' 19:00:48.933803 Received DATA (on stdin) 19:00:48.933813 > 30 bytes data, server => client 19:00:48.933823 '257 "/" is current directory\r\n' 19:00:48.933871 < 6 bytes data, client => server 19:00:48.933881 'EPSV\r\n' 19:00:48.935535 Received DATA (on stdin) 19:00:48.935547 > 39 bytes data, server => client 19:00:48.935557 '229 Entering Passive Mode (|||33777|)\r\n' 19:00:48.935668 < 8 bytes data, client => server 19:00:48.935678 'TYPE I\r\n' 19:00:48.935823 Received DATA (on stdin) 19:00:48.935833 > 33 bytes data, server => client 19:00:48.935842 '200 I modify TYPE as you wanted\r\n' 19:00:48.935881 < 21 bytes data, client => server 19:00:48.935890 'SIZE verifiedserver\r\n' 19:00:48.935973 Received DATA (on stdin) 19:00:48.935982 > 8 bytes data, server => client 19:00:48.935990 '213 17\r\n' 19:00:48.936025 < 21 bytes data, client => server 19:00:48.936034 'RETR verifiedserver\r\n' 19:00:48.936189 Received DATA (on stdin) 19:00:48.936199 > 29 bytes data, server => client 19:00:48.936207 '150 Binary junk (17 bytes).\r\n' 19:00:48.936589 Received DATA (on stdin) 19:00:48.936599 > 28 bytes data, server => client 19:00:48.936608 '226 File transfer complete\r\n' 19:00:48.978619 < 6 bytes data, client => server 19:00:48.978650 'QUIT\r\n' 19:00:48.978937 Received DATA (on stdin) 19:00:48.978951 > 18 bytes data, server => client 19:00:48.978962 '221 bye bye baby\r\n' 19:00:48.979751 ====> Client disconnect 19:00:48.979943 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:49.935235 Running IPv4 version 19:00:49.935283 Listening on port 33777 19:00:49.935313 Wrote pid 107675 to log/4/server/ftp_sockdata.pid 19:00:49.935332 Received PING (on stdin) 19:00:49.935408 Received PORT (on stdin) 19:00:49.935644 ====> Client connect 19:00:49.936227 Received DATA (on stdin) 19:00:49.936237 > 17 bytes data, server => client 19:00:49.936246 'WE ROOLZ: 80681\r\n' 19:00:49.936266 Received DISC (on stdin) 19:00:49.936275 ====> Client forcibly disconnected 19:00:49.936392 Received QUIT (on stdin) 19:00:49.936402 quits 19:00:49.936443 ============> 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:35791/fully_simulated/UNIX/* === End of file stderr575 === Start of file valgrind575 ==107746== ==107746== Process terminating with default action of signal 4 (SIGILL) ==107746== Illegal opcode at address 0x51D5F1F ==107746== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107746== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107746== by 0x51D5F1F: Curl_open (url.c:525) ==107746== by 0x514F6EF: curl_easy_init (easy.c:371) ==107746== by 0x4017179: test_lib575.lto_priv.0 (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/21/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:35487/fully_simulated/UNIX/* > log/21/stdout576 2> log/21/stderr576 575.c:46) ==107746== by 0x400347F: main (first.c:280) ==107746== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107746== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107746== by 0x51D5EBD: Curl_open (url.c:504) ==107746== by 0x514F6EF: curl_easy_init (easy.c:371) ==107746== by 0x4017179: test_lib575.lto_priv.0 (lib575.c:46) ==107746== by 0x400347F: main (first.c:280) ==107746== === End of file valgrind575 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/21/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:35487/fully_simulated/UNIX/* > log/21/stdout576 2> log/21/stderr576 576: stdout FAILED: --- log/21/check-expected 2025-11-13 19:00:50.049391121 +0000 +++ log/21/check-generated 2025-11-13 19:00:50.049391121 +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/21/ 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/21/valgrind576 ./libtest/libtests lib576 ftp://127.0.0.1:35487/fully_simulated/UNIX/* > log/21/stdout576 2> log/21/stderr576 === End of file commands.log === Start of file ftp_server.log 19:00:49.181162 ====> Client connect 19:00:49.181272 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:49.181482 < "USER anonymous" 19:00:49.181515 > "331 We are happy you popped in![CR][LF]" 19:00:49.181647 < "PASS ftp@example.com" 19:00:49.181669 > "230 Welcome you silly person[CR][LF]" 19:00:49.181783 < "PWD" 19:00:49.181807 > "257 "/" is current directory[CR][LF]" 19:00:49.181926 < "EPSV" 19:00:49.181944 ====> Passive DATA channel requested by client 19:00:49.181955 DATA sockfilt for passive data channel starting... 19:00:49.184030 DATA sockfilt for passive data channel started (pid 107714) 19:00:49.184164 DATA sockfilt for passive data channel listens on port 33741 19:00:49.184212 > "229 Entering Passive Mode (|||33741|)[CR][LF]" 19:00:49.184233 Client has been notified that DATA conn will be accepted on port 33741 19:00:49.184522 Client connects to port 33741 19:00:49.184549 ====> Client established passive DATA connection on port 33741 19:00:49.184632 < "TYPE I" 19:00:49.184665 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:49.184821 < "SIZE verifiedserver" 19:00:49.184856 > "213 17[CR][LF]" 19:00:49.185003 < "RETR verifiedserver" 19:00:49.185035 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:49.185119 =====> Closing passive DATA connection... 19:00:49.185136 Server disconnects passive DATA connection 19:00:49.185365 Server disconnected passive DATA connection 19:00:49.185399 DATA sockfilt for passive data channel quits (pid 107714) 19:00:49.185634 DATA sockfilt for passive data channel quit (pid 107714) 19:00:49.185665 =====> Closed passive DATA connection 19:00:49.185698 > "226 File transfer complete[CR][LF]" 19:00:49.228997 < "QUIT" 19:00:49.229047 > "221 bye bye baby[CR][LF]" 19:00:49.229172 MAIN sockfilt said DISC 19:00:49.229198 ====> Client disconnected 19:00:49.229259 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:48.953138 ====> Client connect 19:00:48.953337 Received DATA (on stdin) 19:00:48.953349 > 160 bytes data, server => client 19:00:48.953359 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:48.953368 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:48.953376 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:48.953431 < 16 bytes data, client => server 19:00:48.953441 'USER anonymous\r\n' 19:00:48.953573 Received DATA (on stdin) 19:00:48.953584 > 33 bytes data, server => client 19:00:48.953593 '331 We are happy you popped in!\r\n' 19:00:48.953632 < 22 bytes data, client => server 19:00:48.953641 'PASS ftp@example.com\r\n' 19:00:48.953724 Received DATA (on stdin) 19:00:48.953733 > 30 bytes data, server => client 19:00:48.953742 '230 Welcome you silly person\r\n' 19:00:48.953777 < 5 bytes data, client => server 19:00:48.953785 'PWD\r\n' 19:00:48.953861 Received DATA (on stdin) 19:00:48.953870 > 30 bytes data, server => client 19:00:48.953879 '257 "/" is current directory\r\n' 19:00:48.953921 < 6 bytes data, client => server 19:00:48.953930 'EPSV\r\n' 19:00:48.956306 Received DATA (on stdin) 19:00:48.956325 > 39 bytes data, server => client 19:00:48.956338 '229 Entering Passive Mode (|||33741|)\r\n' 19:00:48.956530 < 8 bytes data, client => server 19:00:48.956542 'TYPE I\r\n' 19:00:48.956727 Received DATA (on stdin) 19:00:48.956739 > 33 bytes data, server => client 19:00:48.956751 '200 I modify TYPE as you wanted\r\n' 19:00:48.956800 < 21 bytes data, client => server 19:00:48.956813 'SIZE verifiedserver\r\n' 19:00:48.956916 Received DATA (on stdin) 19:00:48.956928 > 8 bytes data, server => client 19:00:48.956939 '213 17\r\n' 19:00:48.956984 < 21 bytes data, client => server 19:00:48.956996 'RETR verifiedserver\r\n' 19:00:48.957286 Received DATA (on stdin) 19:00:48.957299 > 29 bytes data, server => client 19:00:48.957310 '150 Binary junk (17 bytes).\r\n' 19:00:48.957762 Received DATA (on stdin) 19:00:48.957776 > 28 bytes data, server => client 19:00:48.957788 '226 File transfer coCMD (33792): ../libtool --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/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:36745/578 log/9/ip578 > log/9/stdout578 2> log/9/stderr578 mplete\r\n' 19:00:49.000918 < 6 bytes data, client => server 19:00:49.000947 'QUIT\r\n' 19:00:49.001113 Received DATA (on stdin) 19:00:49.001128 > 18 bytes data, server => client 19:00:49.001140 '221 bye bye baby\r\n' 19:00:49.001188 ====> Client disconnect 19:00:49.001317 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:49.955862 Running IPv4 version 19:00:49.955959 Listening on port 33741 19:00:49.955998 Wrote pid 107714 to log/21/server/ftp_sockdata.pid 19:00:49.956022 Received PING (on stdin) 19:00:49.956131 Received PORT (on stdin) 19:00:49.956503 ====> Client connect 19:00:49.957200 Received DATA (on stdin) 19:00:49.957213 > 17 bytes data, server => client 19:00:49.957223 'WE ROOLZ: 81255\r\n' 19:00:49.957250 Received DISC (on stdin) 19:00:49.957261 ====> Client forcibly disconnected 19:00:49.957471 Received QUIT (on stdin) 19:00:49.957483 quits 19:00:49.957539 ============> 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:35487/fully_simulated/UNIX/* === End of file stderr576 === Start of file valgrind576 ==107873== ==107873== Process terminating with default action of signal 4 (SIGILL) ==107873== Illegal opcode at address 0x51D5F1F ==107873== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107873== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107873== by 0x51D5F1F: Curl_open (url.c:525) ==107873== by 0x514F6EF: curl_easy_init (easy.c:371) ==107873== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==107873== by 0x400347F: main (first.c:280) ==107873== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107873== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107873== by 0x51D5EBD: Curl_open (url.c:504) ==107873== by 0x514F6EF: curl_easy_init (easy.c:371) ==107873== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==107873== by 0x400347F: main (first.c:280) ==107873== === End of file valgrind576 CMD (33792): ../libtool --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/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:38583/581 > log/20/stdout581 2> log/20/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/7/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:41017/584 > log/7/stdout584 2> log/7/stderr584 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/9/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:36745/578 log/9/ip578 > log/9/stdout578 2> log/9/stderr578 578: data FAILED: --- log/9/check-expected 2025-11-13 19:00:50.079391120 +0000 +++ log/9/check-generated 2025-11-13 19:00:50.079391120 +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/9/ 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/9/valgrind578 ./libtest/libtests lib578 http://127.0.0.1:36745/578 log/9/ip578 > log/9/stdout578 2> log/9/stderr578 === End of file commands.log === Start of file http_server.log 19:00:49.017480 ====> Client connect 19:00:49.017513 accept_connection 3 returned 4 19:00:49.017531 accept_connection 3 returned 0 19:00:49.017546 Read 93 bytes 19:00:49.017558 Process 93 bytes request 19:00:49.017571 Got request: GET /verifiedserver HTTP/1.1 19:00:49.017581 Are-we-friendly question received 19:00:49.017612 Wrote request (93 bytes) input to log/9/server.input 19:00:49.017630 Identifying ourselves as friends 19:00:49.017689 Response sent (56 bytes) and written to log/9/server.response 19:00:49.017701 special request received, no persistency 19:00:49.017711 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 32892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file stderr578 URL: http://127.0.0.1:36745/578 === End of file stderr578 === Start of file valgrind578 ==107880== ==107880== Process terminating with default action of signal 4 (SIGILL) ==107880== Illegal opcode at address 0x51D5F1F ==107880== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==107880== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==107880== by 0x51D5F1F: Curl_open (url.c:525) ==107880== by 0x514F6EF: curl_easy_init (easy.c:371) ==107880== by 0x40163EA: test_lib578.lto_priv.0 (lib578.c:63) ==107880== by 0x400347F: main (first.c:280) ==107880== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==107880== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==107880== by 0x51D5EBD: Curl_open (url.c:504) ==107880== by 0x514F6EF: curl_easy_init (easy.c:371) ==107880== by 0x40163EA: test_lib578.lto_priv.0 (lib578.c:63) ==107880== by 0x400347F: main (first.c:280) ==107880== === 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/20/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:38583/581 > log/20/stdout581 2> log/20/stderr581 581: 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 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/20/valgrind581 ./libtest/libtests lib507 http://127.0.0.1:38583/581 > log/20/stdout581 2> log/20/stderr581 === End of file commands.log === Start of file http_server.log 19:00:49.147874 ====> Client connect 19:00:49.147899 accept_connection 3 returned 4 19:00:49.147913 accept_connection 3 returned 0 19:00:49.147925 Read 93 bytes 19:00:49.147933 Process 93 bytes request 19:00:49.147945 Got request: GET /verifiedserver HTTP/1.1 19:00:49.147953 Are-we-friendly question received 19:00:49.147973 Wrote request (93 bytes) input to log/20/server.input 19:00:49.147986 Identifying ourselves as friends 19:00:49.148027 Response sent (56 bytes) and written to log/20/server.response 19:00:49.148037 special request received, no persistency 19:00:49.148045 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 57626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file stderr581 URL: http://127.0.0.1:38583/581 === End of file stderr581 === Start of file valgrind581 ==108109== ==108109== Process terminating with default action of signal 4 (SIGILL) ==108109== Illegal opcode at address 0x519E800 ==108109== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==108109== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==108109== by 0x519E800: Curl_multi_handle (multi.c:247) ==108109== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==108109== by 0x400347F: main (first.c:280) ==108109== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==108109== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108109== by 0x519E794: Curl_multi_handle (multi.c:239) ==108109== by 0x4061215: test_lib507.part.0.lto_priv.0 (lib507.c:41) ==108109== by 0x400347F: main (first.c:280) ==108109== === End of file valgrind581 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/7/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:41017/584 > log/7/stdout584 2> log/7/stderr584 584: 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 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/7/valgrind584 ./libtest/libtests lib589 http://127.0.0.1:41017/584 > log/7/stdout584 2> log/7/stderr584 === EnCMD (33792): ../libtool --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/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:44325/585 > log/2/stdout585 2> log/2/stderr585 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/16/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:42747/587 > log/16/stdout587 2> log/16/stderr587 CMD (33792): ../libtool --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/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:35151/586 > log/12/stdout586 2> log/12/stderr586 d of file commands.log === Start of file http_server.log 19:00:49.161595 ====> Client connect 19:00:49.161620 accept_connection 3 returned 4 19:00:49.161633 accept_connection 3 returned 0 19:00:49.161646 Read 93 bytes 19:00:49.161654 Process 93 bytes request 19:00:49.161665 Got request: GET /verifiedserver HTTP/1.1 19:00:49.161673 Are-we-friendly question received 19:00:49.161692 Wrote request (93 bytes) input to log/7/server.input 19:00:49.161706 Identifying ourselves as friends 19:00:49.161750 Response sent (56 bytes) and written to log/7/server.response 19:00:49.161759 special request received, no persistency 19:00:49.161767 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 34712 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file stderr584 URL: http://127.0.0.1:41017/584 === End of file stderr584 === Start of file valgrind584 ==108150== ==108150== Process terminating with default action of signal 4 (SIGILL) ==108150== Illegal opcode at address 0x51D5F1F ==108150== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108150== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108150== by 0x51D5F1F: Curl_open (url.c:525) ==108150== by 0x514F6EF: curl_easy_init (easy.c:371) ==108150== by 0x4021C2A: test_lib589.lto_priv.0 (lib589.c:38) ==108150== by 0x400347F: main (first.c:280) ==108150== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108150== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108150== by 0x51D5EBD: Curl_open (url.c:504) ==108150== by 0x514F6EF: curl_easy_init (easy.c:371) ==108150== by 0x4021C2A: test_lib589.lto_priv.0 (lib589.c:38) ==108150== by 0x400347F: main (first.c:280) ==108150== === 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/2/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:44325/585 > log/2/stdout585 2> log/2/stderr585 585: 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 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/2/valgrind585 ./libtest/libtests lib500 http://127.0.0.1:44325/585 > log/2/stdout585 2> log/2/stderr585 === End of file commands.log === Start of file http_server.log 19:00:50.176089 ====> Client connect 19:00:50.176113 accept_connection 3 returned 4 19:00:50.176126 accept_connection 3 returned 0 19:00:50.176138 Read 93 bytes 19:00:50.176146 Process 93 bytes request 19:00:50.176158 Got request: GET /verifiedserver HTTP/1.1 19:00:50.176166 Are-we-friendly question received 19:00:50.176183 Wrote request (93 bytes) input to log/2/server.input 19:00:50.176195 Identifying ourselves as friends 19:00:50.176234 Response sent (56 bytes) and written to log/2/server.response 19:00:50.176243 special request received, no persistency 19:00:50.176250 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 46594 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file stderr585 URL: http://127.0.0.1:44325/585 === End of file stderr585 === Start of file valgrind585 ==108185== ==108185== Process terminating with default action of signal 4 (SIGILL) ==108185== Illegal opcode at address 0x51D5F1F ==108185== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108185== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108185== by 0x51D5F1F: Curl_open (url.c:525) ==108185== by 0x514F6EF: curl_easy_init (easy.c:371) ==108185== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==108185== by 0x400347F: main (first.c:280) ==108185== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108185== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108185== by 0x51D5EBD: Curl_open (url.c:504) ==108185== by 0x514F6EF: curl_easy_init (easy.c:371) ==108185== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==108185== by 0x400347F: main (first.c:280) ==108185== === 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/12/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:35151/586 > log/12/stdout586 2> log/12/stderr586 586: 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 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/12/valgrind586 ./libtest/libtests lib500 ftp://127.0.0.1:35151/586 > log/12/stdout586 2> log/12/stderr586 === End of file commands.log === Start of file ftp_server.log 19:00:49.510186 ====> Client connect 19:00:49.510307 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:49.510517 < "USER anonymous" 19:00:49.510542 > "331 We are happy you popped in![CR][LF]" 19:00:49.510668 < "PASS ftp@example.com" 19:00:49.510689 > "230 Welcome you silly person[CR][LF]" 19:00:49.510804 < "PWD" 19:00:49.510828 > "257 "/" is current directory[CR][LF]" 19:00:49.510948 < "EPSV" 19:00:49.510966 ====> Passive DATA channel requested by client 19:00:49.510977 DATA sockfilt for passive data channel starting... 19:00:49.512279 DATA sockfilt for passive data channel started (pid 108293) 19:00:49.512360 DATA sockfilt for passive data channel listens on port 38249 19:00:49.512391 > "229 Entering Passive Mode (|||38249|)[CR][LF]" 19:00:49.512406 Client has been notified that DATA conn will be accepted on port 38249 19:00:49.512696 Client connects to port 38249 19:00:49.512739 ====> Client established passive DATA connection on port 38249 19:00:49.512822 < "TYPE I" 19:00:49.512852 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:49.513004 < "SIZE verifiedserver" 19:00:49.513039 > "213 17[CR][LF]" 19:00:49.513162 < "RETR verifiedserver" 19:00:49.513189 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:49.513256 =====> Closing passive DATA connection... 19:00:49.513269 Server disconnects passive DATA connection 19:00:49.513469 Server disconnected passive DATA connection 19:00:49.513491 DAcannot 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/19/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:33175/path/588 log/19/upload588 > log/19/stdout588 2> log/19/stderr588 TA sockfilt for passive data channel quits (pid 108293) 19:00:49.513695 DATA sockfilt for passive data channel quit (pid 108293) 19:00:49.513714 =====> Closed passive DATA connection 19:00:49.513737 > "226 File transfer complete[CR][LF]" 19:00:49.559213 < "QUIT" 19:00:49.559259 > "221 bye bye baby[CR][LF]" 19:00:49.559857 MAIN sockfilt said DISC 19:00:49.559894 ====> Client disconnected 19:00:49.559959 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:49.282155 ====> Client connect 19:00:49.282372 Received DATA (on stdin) 19:00:49.282384 > 160 bytes data, server => client 19:00:49.282394 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:49.282403 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:49.282411 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:49.282468 < 16 bytes data, client => server 19:00:49.282477 'USER anonymous\r\n' 19:00:49.282600 Received DATA (on stdin) 19:00:49.282610 > 33 bytes data, server => client 19:00:49.282619 '331 We are happy you popped in!\r\n' 19:00:49.282658 < 22 bytes data, client => server 19:00:49.282667 'PASS ftp@example.com\r\n' 19:00:49.282744 Received DATA (on stdin) 19:00:49.282754 > 30 bytes data, server => client 19:00:49.282762 '230 Welcome you silly person\r\n' 19:00:49.282798 < 5 bytes data, client => server 19:00:49.282807 'PWD\r\n' 19:00:49.282882 Received DATA (on stdin) 19:00:49.282892 > 30 bytes data, server => client 19:00:49.282900 '257 "/" is current directory\r\n' 19:00:49.282942 < 6 bytes data, client => server 19:00:49.282951 'EPSV\r\n' 19:00:49.284451 Received DATA (on stdin) 19:00:49.284483 > 39 bytes data, server => client 19:00:49.284498 '229 Entering Passive Mode (|||38249|)\r\n' 19:00:49.284696 < 8 bytes data, client => server 19:00:49.284709 'TYPE I\r\n' 19:00:49.284910 Received DATA (on stdin) 19:00:49.284920 > 33 bytes data, server => client 19:00:49.284930 '200 I modify TYPE as you wanted\r\n' 19:00:49.284977 < 21 bytes data, client => server 19:00:49.284986 'SIZE verifiedserver\r\n' 19:00:49.285095 Received DATA (on stdin) 19:00:49.285105 > 8 bytes data, server => client 19:00:49.285114 '213 17\r\n' 19:00:49.285151 < 21 bytes data, client => server 19:00:49.285160 'RETR verifiedserver\r\n' 19:00:49.285328 Received DATA (on stdin) 19:00:49.285337 > 29 bytes data, server => client 19:00:49.285346 '150 Binary junk (17 bytes).\r\n' 19:00:49.285795 Received DATA (on stdin) 19:00:49.285807 > 28 bytes data, server => client 19:00:49.285816 '226 File transfer complete\r\n' 19:00:49.331124 < 6 bytes data, client => server 19:00:49.331146 'QUIT\r\n' 19:00:49.331320 Received DATA (on stdin) 19:00:49.331333 > 18 bytes data, server => client 19:00:49.331343 '221 bye bye baby\r\n' 19:00:49.331858 ====> Client disconnect 19:00:49.332021 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:49.284197 Running IPv4 version 19:00:49.284247 Listening on port 38249 19:00:49.284275 Wrote pid 108293 to log/12/server/ftp_sockdata.pid 19:00:49.284291 Received PING (on stdin) 19:00:49.284353 Received PORT (on stdin) 19:00:49.284662 ====> Client connect 19:00:49.285369 Received DATA (on stdin) 19:00:49.285382 > 17 bytes data, server => client 19:00:49.285391 'WE ROOLZ: 80702\r\n' 19:00:49.285415 Received DISC (on stdin) 19:00:49.285425 ====> Client forcibly disconnected 19:00:49.285556 Received QUIT (on stdin) 19:00:49.285566 quits 19:00:49.285615 ============> 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:35151/586 === End of file stderr586 === Start of file valgrind586 ==108367== ==108367== Process terminating with default action of signal 4 (SIGILL) ==108367== Illegal opcode at address 0x51D5F1F ==108367== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108367== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108367== by 0x51D5F1F: Curl_open (url.c:525) ==108367== by 0x514F6EF: curl_easy_init (easy.c:371) ==108367== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==108367== by 0x400347F: main (first.c:280) ==108367== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108367== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108367== by 0x51D5EBD: Curl_open (url.c:504) ==108367== by 0x514F6EF: curl_easy_init (easy.c:371) ==108367== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==108367== by 0x400347F: main (first.c:280) ==108367== === 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/19/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:33175/path/588 log/19/upload588 > log/19/stdout588 2> log/19/stderr588 588: 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 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/19/valgrind588 ./libtest/libtests lib525 ftp://127.0.0.1:33175/path/588 log/19/upload588 > log/19/stdout588 2> log/19/stderr588 === End of file commands.log === Start of file ftp_server.log 19:00:49.547123 ====> Client connect 19:00:49.547229 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:49.547436 < "USER anonymous" 19:00:49.547464 > "331 We are happy you popped in![CR][LF]" 19:00:49.547591 < "PASS ftp@example.com" 19:00:49.547611 > "230 Welcome you silly person[CR][LF]" 19:00:49.547720 < "PWD" 19:00:49.547743 > "257 "/" is current directory[CR][LF]" 19:00:49.547859 < "EPSV" 19:00:49.547876 ====> Passive DATA channel requested by client 19:00:49.547887 DATA sockfilt for passive data channel starting... 19:00:49.549106 DATA sockfilt for passive data channel started (pid 108341) 19:00:49.549189 DATA sockfilt for passive data channel listens on port 37431 19:00:49.549222 > "229 Entering Passive Mode (|||37431|)[CR][LF]" 19:00:49.549236 Client has been notified that DATA conn will be accepted on port 37431 19:00:49.549409 Client connects to port 37431 19:00:49.549432 ====> Client established passive DATA connection on port 37431 19:00:49.549488 < "TYPE I" 19:00:49.549511 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:49.549628 < "SIZE verifiedserver" 19:00:49.549658 > "213 17[CR][LF]" 19:00:49.549769 < "RETR verifiedserver" 19:00:49.549791 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:49.549852 =====> Closing passive DATA connection... 19:00:49.549863 Server disconnects passive DATA connection 19:00:49.549986 Server disconnected passive DATA connection 19:00:49.550003 DATA sockfilt for passive data channel quits (pid 108341) 19:00:49.550181 DATA sockfilt for passive data channel quit (pid 108341) 19:00:49.550198 =====> Closed passive DATA connection 19:00:49.550219 > "226 File transfer complete[CR][LF]" 19:00:49.592494 < "QUIT" 19:00:49.592558 > "221 bye bye baby[CR][LF]" 19:00:49.593508 MAIN sockfilt said DISC 19:00:49.593549 ====> Client disconnected 19:00:49.593632 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:50.319099 ====> Client connect 19:00:50.319293 Received DATA (on stdin) 19:00:50.319305 > 160 bytes data, server => client 19:00:50.319315 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:50.319323 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:50.319332 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:50.319387 < 16 bytes data, client => server 19:00:50.319397 'USER anonymous\r\n' 19:00:CMD (33792): ../libtool --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/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:38611/path/564 127.0.0.1:41091 > log/18/stdout564 2> log/18/stderr564 50.319520 Received DATA (on stdin) 19:00:50.319530 > 33 bytes data, server => client 19:00:50.319539 '331 We are happy you popped in!\r\n' 19:00:50.319578 < 22 bytes data, client => server 19:00:50.319587 'PASS ftp@example.com\r\n' 19:00:50.319665 Received DATA (on stdin) 19:00:50.319674 > 30 bytes data, server => client 19:00:50.319683 '230 Welcome you silly person\r\n' 19:00:50.319716 < 5 bytes data, client => server 19:00:50.319725 'PWD\r\n' 19:00:50.319797 Received DATA (on stdin) 19:00:50.319806 > 30 bytes data, server => client 19:00:50.319814 '257 "/" is current directory\r\n' 19:00:50.319855 < 6 bytes data, client => server 19:00:50.319863 'EPSV\r\n' 19:00:50.321295 Received DATA (on stdin) 19:00:50.321306 > 39 bytes data, server => client 19:00:50.321315 '229 Entering Passive Mode (|||37431|)\r\n' 19:00:50.321425 < 8 bytes data, client => server 19:00:50.321435 'TYPE I\r\n' 19:00:50.321567 Received DATA (on stdin) 19:00:50.321576 > 33 bytes data, server => client 19:00:50.321585 '200 I modify TYPE as you wanted\r\n' 19:00:50.321622 < 21 bytes data, client => server 19:00:50.321631 'SIZE verifiedserver\r\n' 19:00:50.321712 Received DATA (on stdin) 19:00:50.321721 > 8 bytes data, server => client 19:00:50.321729 '213 17\r\n' 19:00:50.321764 < 21 bytes data, client => server 19:00:50.321773 'RETR verifiedserver\r\n' 19:00:50.321920 Received DATA (on stdin) 19:00:50.321930 > 29 bytes data, server => client 19:00:50.321938 '150 Binary junk (17 bytes).\r\n' 19:00:50.322275 Received DATA (on stdin) 19:00:50.322286 > 28 bytes data, server => client 19:00:50.322295 '226 File transfer complete\r\n' 19:00:50.364318 < 6 bytes data, client => server 19:00:50.364364 'QUIT\r\n' 19:00:50.364627 Received DATA (on stdin) 19:00:50.364643 > 18 bytes data, server => client 19:00:50.364655 '221 bye bye baby\r\n' 19:00:50.365509 ====> Client disconnect 19:00:50.365696 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:49.321028 Running IPv4 version 19:00:49.321074 Listening on port 37431 19:00:49.321101 Wrote pid 108341 to log/19/server/ftp_sockdata.pid 19:00:49.321117 Received PING (on stdin) 19:00:49.321180 Received PORT (on stdin) 19:00:49.321403 ====> Client connect 19:00:49.321957 Received DATA (on stdin) 19:00:49.321968 > 17 bytes data, server => client 19:00:49.321976 'WE ROOLZ: 80854\r\n' 19:00:49.321994 Received DISC (on stdin) 19:00:49.322004 ====> Client forcibly disconnected 19:00:49.322063 Received QUIT (on stdin) 19:00:49.322072 quits 19:00:49.322116 ============> 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:33175/path/588 === End of file stderr588 === Start of file upload588 Moooooooooooo upload this === End of file upload588 === Start of file valgrind588 ==108413== ==108413== Process terminating with default action of signal 4 (SIGILL) ==108413== Illegal opcode at address 0x51D5F1F ==108413== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108413== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108413== by 0x51D5F1F: Curl_open (url.c:525) ==108413== by 0x514F6EF: curl_easy_init (easy.c:371) ==108413== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==108413== by 0x400347F: main (first.c:280) ==108413== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==108413== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108413== by 0x51D5EBD: Curl_open (url.c:504) ==108413== by 0x514F6EF: curl_easy_init (easy.c:371) ==108413== by 0x40100BC: test_lib525.lto_priv.0 (lib525.c:76) ==108413== by 0x400347F: main (first.c:280) ==108413== === End of file valgrind588 CMD (33792): ../libtool --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/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:44531/589 > log/15/stdout589 2> log/15/stderr589 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 107444 * pid socks => 107444 107444 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/18/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:38611/path/564 127.0.0.1:41091 > log/18/stdout564 2> log/18/stderr564 564: stdout FAILED: --- log/18/check-expected 2025-11-13 19:00:50.579391126 +0000 +++ log/18/check-generated 2025-11-13 19:00:50.579391126 +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/18/ 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/18/valgrind564 ./libtest/libtests lib564 ftp://127.0.0.1:38611/path/564 127.0.0.1:41091 > log/18/stdout564 2> log/18/stderr564 === End of file commands.log === Start of file ftp_server.log 19:00:48.609629 ====> Client connect 19:00:48.609802 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:48.610116 < "USER anonymous" 19:00:48.610152 > "331 We are happy you popped in![CR][LF]" 19:00:48.610323 < "PASS ftp@example.com" 19:00:48.610349 > "230 Welcome you silly person[CR][LF]" 19:00:48.610505 < "PWD" 19:00:48.610533 > "257 "/" is current directory[CR][LF]" 19:00:48.610698 < "EPSV" 19:00:48.610722 ====> Passive DATA channel requested by client 19:00:48.610736 DATA sockfilt for passive data channel starting... 19:00:48.612620 DATA sockfilt for passive data channel started (pid 107414) 19:00:48.612726 DATA sockfilt for passive data channel listens on port 33179 19:00:48.612766 > "229 Entering Passive Mode (|||33179|)[CR][LF]" 19:00:48.612785 Client has been notified that DATA conn will be accepted on port 33179 19:00:48.612976 Client connects to port 33179 19:00:48.613007 ====> Client established passive DATA connection on port 33179 19:00:48.613118 < "TYPE I" 19:00:48.613147 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:48.613307 < "SIZE verifiedserver" 19:00:48.613347 > "213 17[CR][LF]" 19:00:48.613502 < "RETR verifiedserver" 19:00:48.613531 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:48.613612 =====> Closing passive DATA connection... 19:00:48.613629 Server disconnects passive DATA connection 19:00:48.613870 Server disconnected passive DATA connection 19:00:48.613898 DATA sockfilt for passive data channel quits (pid 107414) 19:00:48.614153 DATA sockfilt for passive data channel quit (pid 107414) 19:00:48.614177 =====> Closed passive DATA connection 19:00:48.614204 > "226 File transfer complete[CR][LF]" 19:00:48.657349 < "QUIT" 19:00:48.657402 > "221 bye bye baby[CR][LF]" 19:00:48.658334 MAIN sockfilt said DISC 19:00:48.658366 ====> Client disconnected 19:00:48.658458 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:49.381558 ====> Client connect 19:00:49.381876 Received DATA (on stdin) 19:00:49.381892 > 160 bytes data, server => client 19:00:49.381906 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:49.381918 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:49.381930 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:49.382028 < 16 bytes data, client => server 19:00:49.382042 'USER anonymous\r\n' 19:00:49.382217 Received DATA (on stdin) 19:00:49.382231 > 33 bytes data, server => client 19:00:49.382243 '331 We are happy you popped in!\r\n' 19:00:49.382294 < 22 bytes data, client => server 19:00:49.382307 'PASS ftp@example.com\r\n' 19:00:49.382409 Received DATA (on stdin) 19:00:49.382422 > 30 bytes data, server => client 19:00:49.382434 '230 Welcome you silly person\r\n' 19:00:49.382481 < 5 bytes data, client => server 19:00:49.382494 'PWD\r\n' 19:00:49.382593 Received DATA (on stdin) 19:00:49.382606 > 30 bytes data, server => client 19:00:49.382618 '257 "/" is current directory\r\n' 19:00:49.382676 < 6 bytes data, client => server 19:00:49.382688 'EPSV\r\n' 19:00:49.384850 Received DATA (on stdin) 19:00:49.384865 > 39 bytes data, server => client 19:00:49.384877 '229 Entering Passive Mode (|||33179|)\r\n' 19:00:49.385082 < 8 bytes data, client => server 19:00:49.385095 'TYPE I\r\n' 19:00:49.385208 Received DATA (on stdin) 19:00:49.385221 > 33 bytes data, server => client 19:00:49.385233 '200 I modify TYPE as you wanted\r\n' 19:00:49.385284 < 21 bytes data, client => server 19:00:49.385296 'SIZE verifiedserver\r\n' 19:00:49.385409 Received DATA (on stdin) 19:00:49.385422 > 8 bytes data, server => client 19:00:49.385433 '213 17\r\n' 19:00:49.385481 < 21 bytes data, client => server 19:00:49.385493 'RETR verifiedserver\r\n' 19:00:49.385692 Received DATA (on stdin) 19:00:49.385705 > 29 bytes data, server => client 19:00:49.385717 '150 Binary junk (17 bytes).\r\n' 19:00:49.386266 Received DATA (on stdin) 19:00:49.386280 > 28 bytes data, server => client 19:00:49.386292 '226 File transfer complete\r\n' 19:00:49.429204 < 6 bytes data, client => server 19:00:49.429244 'QUIT\r\n' 19:00:49.429467 Received DATA (on stdin) 19:00:49.429479 > 18 bytes data, server => client 19:00:49.429491 '221 bye bye baby\r\n' 19:00:49.430342 ====> Client disconnect 19:00:49.430517 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:48.384381 Running IPv4 version 19:00:48.384439 Listening on port 33179 19:00:48.384476 Wrote pid 107414 to log/18/server/ftp_sockdata.pid 19:00:48.384624 Received PING (on stdin) 19:00:48.384703 Received PORT (on stdin) 19:00:48.384986 ====> Client connect 19:00:48.385743 Received DATA (on stdin) 19:00:48.385756 > 17 bytes data, server => client 19:00:48.385769 'WE ROOLZ: 80927\r\n' 19:00:48.385792 Received DISC (on stdin) 19:00:48.385804 ====> Client forcibly disconnected 19:00:48.385968 Received QUIT (on stdin) 19:00:48.385981 quits 19:00:48.386043 ============> 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 19:00:48.440426 Running IPv4 version 19:00:48.440508 Listening on port 41091 19:00:48.440548 Wrote pid 107444 to log/18/server/socks_server.pid 19:00:48.440581 Wrote port 41091 to log/18/server/socks_server.port === End of file socks_server.log === Start of file stderr564 URL: ftp://127.0.0.1:38611/path/564 === End of file stderr564 === Start of file valgrind564 ==108475== ==108475== Process terminating with default action of signal 4 (SIGILL) ==108475== Illegal opcode at address 0x51D5F1F ==108475== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108475== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108475== by 0x51D5F1F: Curl_open (url.c:525) ==108475== by 0x514F6EF: curl_easy_init (easy.c:371) ==108475== by 0x40602F5: test_lib564.part.0.lto_priv.0 (lib564.c:43) ==108475== by 0x400347F: main (first.c:280) ==108475== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108475== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108475== by 0x51D5EBD: Curl_open (url.c:504) ==108475== by 0x514F6EF: curl_easy_init (easy.c:371) ==108475== by 0x40602F5: test_lib564.part.0.lto_priv.0 (lib564.c:43) ==108475== by 0x400347F: main (first.c:280) ==108475== === End of file valgrind564 test 0589...[make an HTTP MIME POST set to NULL] ../libtool --mode=execute /uscannot 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/22/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:45669/568 log/22/file568.txt > log/22/stdout568 2> log/22/stderr568 CMD (33792): ../libtool --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/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:36923/567 > log/23/stdout567 2> log/23/stderr567 r/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:44531/589 > log/15/stdout589 2> log/15/stderr589 589: 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 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/15/valgrind589 ./libtest/libtests lib589 http://127.0.0.1:44531/589 > log/15/stdout589 2> log/15/stderr589 === End of file commands.log === Start of file http_server.log 19:00:49.476297 ====> Client connect 19:00:49.476321 accept_connection 3 returned 4 19:00:49.476334 accept_connection 3 returned 0 19:00:49.476347 Read 93 bytes 19:00:49.476356 Process 93 bytes request 19:00:49.476367 Got request: GET /verifiedserver HTTP/1.1 19:00:49.476376 Are-we-friendly question received 19:00:49.476395 Wrote request (93 bytes) input to log/15/server.input 19:00:49.476407 Identifying ourselves as friends 19:00:49.476449 Response sent (56 bytes) and written to log/15/server.response 19:00:49.476457 special request received, no persistency 19:00:49.476465 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 40774 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file stderr589 URL: http://127.0.0.1:44531/589 === End of file stderr589 === Start of file valgrind589 ==108540== ==108540== Process terminating with default action of signal 4 (SIGILL) ==108540== Illegal opcode at address 0x51D5F1F ==108540== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108540== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108540== by 0x51D5F1F: Curl_open (url.c:525) ==108540== by 0x514F6EF: curl_easy_init (easy.c:371) ==108540== by 0x4021C2A: test_lib589.lto_priv.0 (lib589.c:38) ==108540== by 0x400347F: main (first.c:280) ==108540== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108540== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108540== by 0x51D5EBD: Curl_open (url.c:504) ==108540== by 0x514F6EF: curl_easy_init (easy.c:371) ==108540== by 0x4021C2A: test_lib589.lto_priv.0 (lib589.c:38) ==108540== by 0x400347F: main (first.c:280) ==108540== === End of file valgrind589 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/22/server/rtsp_server.pid" --portfile "log/22/server/rtsp_server.port" --logfile "log/22/rtsp_server.log" --logdir "log/22" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107572 port 45669 * pid rtsp => 107572 107572 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/22/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:45669/568 log/22/file568.txt > log/22/stdout568 2> log/22/stderr568 568: 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 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/22/valgrind568 ./libtest/libtests lib568 rtsp://127.0.0.1:45669/568 log/22/file568.txt > log/22/stdout568 2> log/22/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 19:00:48.683848 Running IPv4 version on port 45669 19:00:48.683937 Wrote pid 107572 to log/22/server/rtsp_server.pid 19:00:48.683971 Wrote port 45669 to log/22/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:45669/568 === End of file stderr568 === Start of file valgrind568 ==108613== ==108613== Process terminating with default action of signal 4 (SIGILL) ==108613== Illegal opcode at address 0x51D5F1F ==108613== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108613== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108613== by 0x51D5F1F: Curl_open (url.c:525) ==108613== by 0x514F6EF: curl_easy_init (easy.c:371) ==108613== by 0x401EE1E: test_lib568.lto_priv.0 (lib568.c:48) ==108613== by 0x400347F: main (first.c:280) ==108613== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108613== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108613== by 0x51D5EBD: Curl_open (url.c:504) ==108613== by 0x514F6EF: curl_easy_init (easy.c:371) ==108613== by 0x401EE1E: test_lib568.lto_priv.0 (lib568.c:48) ==108613== by 0x400347F: main (first.c:280) ==108613== === End of file valgrind568 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 107569 port 36923 * pid rtsp => 107569 107569 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/23/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:36923/567 > log/23/stdout567 2> log/23/stderr567 567: 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 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/23/valgrind567 ./libtest/libtests lib567 rtsp://127.0.0.1:36923/567 > log/23/stdout567 2> log/23/stderr567 === End of file commands.log === Start of file rtsp_server.log 19:00:48.681043 Running IPv4 version on port 36923 19:00:48.681145 Wrote pid 107569 to log/23/server/rtsp_server.pid 19:00:48.681171 Wrote port 36923 to log/23/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:36923/567 === End of file stderr567 === Start of file valgrind567 ==108604== ==108604== Process terminating with default action of signal 4 (SIGILL) ==108604== Illegal opcode at address 0x51D5F1F ==108604== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108604== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108604== by 0x51D5F1F: Curl_open (url.c:525) ==108604== by 0x514F6EF: curl_easy_init (easy.c:371) ==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/14/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:44857/569 log/14/idfile569.txt > log/14/stdout569 2> log/14/stderr569 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/11/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:46317 > log/11/stdout590 2> log/11/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/13/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:44205/570 > log/13/stdout570 2> log/13/stderr570 8604== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==108604== by 0x400347F: main (first.c:280) ==108604== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108604== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108604== by 0x51D5EBD: Curl_open (url.c:504) ==108604== by 0x514F6EF: curl_easy_init (easy.c:371) ==108604== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==108604== by 0x400347F: main (first.c:280) ==108604== === End of file valgrind567 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/14/server/rtsp_server.pid" --portfile "log/14/server/rtsp_server.port" --logfile "log/14/rtsp_server.log" --logdir "log/14" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107583 port 44857 * pid rtsp => 107583 107583 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/14/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:44857/569 log/14/idfile569.txt > log/14/stdout569 2> log/14/stderr569 569: 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 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/14/valgrind569 ./libtest/libtests lib569 rtsp://127.0.0.1:44857/569 log/14/idfile569.txt > log/14/stdout569 2> log/14/stderr569 === End of file commands.log === Start of file rtsp_server.log 19:00:48.692142 Running IPv4 version on port 44857 19:00:48.692310 Wrote pid 107583 to log/14/server/rtsp_server.pid 19:00:48.692352 Wrote port 44857 to log/14/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:44857/569 === End of file stderr569 === Start of file valgrind569 ==108641== ==108641== Process terminating with default action of signal 4 (SIGILL) ==108641== Illegal opcode at address 0x51D5F1F ==108641== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108641== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108641== by 0x51D5F1F: Curl_open (url.c:525) ==108641== by 0x514F6EF: curl_easy_init (easy.c:371) ==108641== by 0x401E2FE: test_lib569.lto_priv.0 (lib569.c:53) ==108641== by 0x400347F: main (first.c:280) ==108641== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==108641== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108641== by 0x51D5EBD: Curl_open (url.c:504) ==108641== by 0x514F6EF: curl_easy_init (easy.c:371) ==108641== by 0x401E2FE: test_lib569.lto_priv.0 (lib569.c:53) ==108641== by 0x400347F: main (first.c:280) ==108641== === 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/11/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:46317 > log/11/stdout590 2> log/11/stderr590 590: 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 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/11/valgrind590 ./libtest/libtests lib590 http://test.remote.example.com/path/590 http://127.0.0.1:46317 > log/11/stdout590 2> log/11/stderr590 === End of file commands.log === Start of file http_server.log 19:00:49.776363 ====> Client connect 19:00:49.776403 accept_connection 3 returned 4 19:00:49.776469 accept_connection 3 returned 0 19:00:49.776488 Read 93 bytes 19:00:49.776500 Process 93 bytes request 19:00:49.776579 Got request: GET /verifiedserver HTTP/1.1 19:00:49.776592 Are-we-friendly question received 19:00:49.776621 Wrote request (93 bytes) input to log/11/server.input 19:00:49.776641 Identifying ourselves as friends 19:00:49.776707 Response sent (56 bytes) and written to log/11/server.response 19:00:49.776720 special request received, no persistency 19:00:49.776730 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 33654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === 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 ==108843== ==108843== Process terminating with default action of signal 4 (SIGILL) ==108843== Illegal opcode at address 0x51D5F1F ==108843== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108843== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108843== by 0x51D5F1F: Curl_open (url.c:525) ==108843== by 0x514F6EF: curl_easy_init (easy.c:371) ==108843== by 0x402207F: test_lib590.lto_priv.0 (lib590.c:53) ==108843== by 0x400347F: main (first.c:280) ==108843== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108843== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108843== by 0x51D5EBD: Curl_open (url.c:504) ==108843== by 0x514F6EF: curl_easy_init (easy.c:371) ==108843== by 0x402207F: test_lib590.lto_priv.0 (lib590.c:53) ==108843== by 0x400347F: main (first.c:280) ==108843== === End of file valgrind590 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/13/server/rtsp_server.pid" --portfile "log/13/server/rtsp_server.port" --logfile "log/13/rtsp_server.log" --logdir "log/13" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107607 port 44205 * pid rtsp => 107607 107607 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/13/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:44205/570 > log/13/stdout570 2> log/13/stderr570 570: 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 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/13/valgrind570 ./libtest/libtests lib570 rtsp://127.0.0.1:44205/570 > log/13/stdout570 2> log/13/stderr570 === End of file commands.log === Start of file rtsp_server.log 19:00:48.770047 Running IPv4 version on port 44205 19:00:48.770152 Wrote pid 107607 to log/13/server/rtsp_server.pid 19:00:48.770183 Wrote port 44205 to log/13/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:44205/570 === End of file stderr570 === Start of file valgrind570 ==108769== ==108769== Process terminating with default action 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/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:36301/path/592 8 log/3/upload592 > log/3/stdout592 2> log/3/stderr592 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/1/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:41393/path/591 8 log/1/upload591 > log/1/stdout591 2> log/1/stderr591 of signal 4 (SIGILL) ==108769== Illegal opcode at address 0x51D5F1F ==108769== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108769== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108769== by 0x51D5F1F: Curl_open (url.c:525) ==108769== by 0x514F6EF: curl_easy_init (easy.c:371) ==108769== by 0x401E66A: test_lib570.lto_priv.0 (lib570.c:41) ==108769== by 0x400347F: main (first.c:280) ==108769== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==108769== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108769== by 0x51D5EBD: Curl_open (url.c:504) ==108769== by 0x514F6EF: curl_easy_init (easy.c:371) ==108769== by 0x401E66A: test_lib570.lto_priv.0 (lib570.c:41) ==108769== by 0x400347F: main (first.c:280) ==108769== === End of file valgrind570 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/3/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:36301/path/592 8 log/3/upload592 > log/3/stdout592 2> log/3/stderr592 592: 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 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/3/valgrind592 ./libtest/libtests lib591 ftp://127.0.0.1:36301/path/592 8 log/3/upload592 > log/3/stdout592 2> log/3/stderr592 === End of file commands.log === Start of file ftp_server.log 19:00:50.022177 ====> Client connect 19:00:50.022318 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:50.022594 < "USER anonymous" 19:00:50.022626 > "331 We are happy you popped in![CR][LF]" 19:00:50.022797 < "PASS ftp@example.com" 19:00:50.022823 > "230 Welcome you silly person[CR][LF]" 19:00:50.022978 < "PWD" 19:00:50.023008 > "257 "/" is current directory[CR][LF]" 19:00:50.023171 < "EPSV" 19:00:50.023194 ====> Passive DATA channel requested by client 19:00:50.023208 DATA sockfilt for passive data channel starting... 19:00:50.025037 DATA sockfilt for passive data channel started (pid 108827) 19:00:50.025150 DATA sockfilt for passive data channel listens on port 44913 19:00:50.025192 > "229 Entering Passive Mode (|||44913|)[CR][LF]" 19:00:50.025211 Client has been notified that DATA conn will be accepted on port 44913 19:00:50.025425 Client connects to port 44913 19:00:50.025455 ====> Client established passive DATA connection on port 44913 19:00:50.025572 < "TYPE I" 19:00:50.025599 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:50.025763 < "SIZE verifiedserver" 19:00:50.025798 > "213 17[CR][LF]" 19:00:50.025962 < "RETR verifiedserver" 19:00:50.025994 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:50.026073 =====> Closing passive DATA connection... 19:00:50.026090 Server disconnects passive DATA connection 19:00:50.026210 Server disconnected passive DATA connection 19:00:50.026233 DATA sockfilt for passive data channel quits (pid 108827) 19:00:50.026422 DATA sockfilt for passive data channel quit (pid 108827) 19:00:50.026442 =====> Closed passive DATA connection 19:00:50.026463 > "226 File transfer complete[CR][LF]" 19:00:50.069357 < "QUIT" 19:00:50.069410 > "221 bye bye baby[CR][LF]" 19:00:50.070328 MAIN sockfilt said DISC 19:00:50.070373 ====> Client disconnected 19:00:50.070457 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:49.794139 ====> Client connect 19:00:49.794390 Received DATA (on stdin) 19:00:49.794406 > 160 bytes data, server => client 19:00:49.794420 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:49.794432 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:49.794444 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:49.794517 < 16 bytes data, client => server 19:00:49.794531 'USER anonymous\r\n' 19:00:49.794689 Received DATA (on stdin) 19:00:49.794703 > 33 bytes data, server => client 19:00:49.794715 '331 We are happy you popped in!\r\n' 19:00:49.794769 < 22 bytes data, client => server 19:00:49.794782 'PASS ftp@example.com\r\n' 19:00:49.794884 Received DATA (on stdin) 19:00:49.794896 > 30 bytes data, server => client 19:00:49.794908 '230 Welcome you silly person\r\n' 19:00:49.794956 < 5 bytes data, client => server 19:00:49.794967 'PWD\r\n' 19:00:49.795068 Received DATA (on stdin) 19:00:49.795081 > 30 bytes data, server => client 19:00:49.795095 '257 "/" is current directory\r\n' 19:00:49.795151 < 6 bytes data, client => server 19:00:49.795162 'EPSV\r\n' 19:00:49.797278 Received DATA (on stdin) 19:00:49.797294 > 39 bytes data, server => client 19:00:49.797307 '229 Entering Passive Mode (|||44913|)\r\n' 19:00:49.797533 < 8 bytes data, client => server 19:00:49.797547 'TYPE I\r\n' 19:00:49.797660 Received DATA (on stdin) 19:00:49.797673 > 33 bytes data, server => client 19:00:49.797685 '200 I modify TYPE as you wanted\r\n' 19:00:49.797736 < 21 bytes data, client => server 19:00:49.797750 'SIZE verifiedserver\r\n' 19:00:49.797858 Received DATA (on stdin) 19:00:49.797871 > 8 bytes data, server => client 19:00:49.797883 '213 17\r\n' 19:00:49.797933 < 21 bytes data, client => server 19:00:49.797947 'RETR verifiedserver\r\n' 19:00:49.798117 Received DATA (on stdin) 19:00:49.798139 > 29 bytes data, server => client 19:00:49.798153 '150 Binary junk (17 bytes).\r\n' 19:00:49.798522 Received DATA (on stdin) 19:00:49.798536 > 28 bytes data, server => client 19:00:49.798546 '226 File transfer complete\r\n' 19:00:49.841005 < 6 bytes data, client => server 19:00:49.841032 'QUIT\r\n' 19:00:49.841477 Received DATA (on stdin) 19:00:49.841494 > 18 bytes data, server => client 19:00:49.841504 '221 bye bye baby\r\n' 19:00:49.842324 ====> Client disconnect 19:00:49.842520 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:50.796928 Running IPv4 version 19:00:50.796986 Listening on port 44913 19:00:50.797019 Wrote pid 108827 to log/3/server/ftp_sockdata.pid 19:00:50.797040 Received PING (on stdin) 19:00:50.797126 Received PORT (on stdin) 19:00:50.797424 ====> Client connect 19:00:50.798155 Received DATA (on stdin) 19:00:50.798169 > 17 bytes data, server => client 19:00:50.798181 'WE ROOLZ: 80615\r\n' 19:00:50.798207 Received DISC (on stdin) 19:00:50.798220 ====> Client forcibly disconnected 19:00:50.798301 Received QUIT (on stdin) 19:00:50.798313 quits 19:00:50.798364 ============> 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:36301/path/592 === End of file stderr592 === Start of file upload592 Moooooooooooo for 592 upload this === End of file upload592 === Start of file valgrind592 ==108954== ==108954== Process terminating with default action of signal 4 (SIGILL) ==108954== Illegal opcode at address 0x51D5F1F ==108954== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108954== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108954== by 0x51D5F1F: Curl_open (url.c:525) ==108954== by 0x514F6EF: curl_easy_init (easy.c:371) ==108954== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==108954== by 0x400347F: main (first.c:280) ==108954== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==108954== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108954== by 0x51D5EBD: Curl_open (url.c:504) ==108954== by 0x514F6EF: curl_easy_init (easy.c:371) ==108954== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==108954== by 0x400347F: main (first.c:280) ==108954== === End of file valgrind592 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/6/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:36475/path/593 8 log/6/upload593 > log/6/stdout593 2> log/6/stderr593 est 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/1/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:41393/path/591 8 log/1/upload591 > log/1/stdout591 2> log/1/stderr591 591: 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 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/1/valgrind591 ./libtest/libtests lib591 ftp://127.0.0.1:41393/path/591 8 log/1/upload591 > log/1/stdout591 2> log/1/stderr591 === End of file commands.log === Start of file ftp_server.log 19:00:50.020508 ====> Client connect 19:00:50.020856 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:50.021243 < "USER anonymous" 19:00:50.021301 > "331 We are happy you popped in![CR][LF]" 19:00:50.021527 < "PASS ftp@example.com" 19:00:50.021563 > "230 Welcome you silly person[CR][LF]" 19:00:50.021760 < "PWD" 19:00:50.021801 > "257 "/" is current directory[CR][LF]" 19:00:50.022004 < "EPSV" 19:00:50.022032 ====> Passive DATA channel requested by client 19:00:50.022049 DATA sockfilt for passive data channel starting... 19:00:50.024237 DATA sockfilt for passive data channel started (pid 108824) 19:00:50.024346 DATA sockfilt for passive data channel listens on port 33853 19:00:50.024392 > "229 Entering Passive Mode (|||33853|)[CR][LF]" 19:00:50.024413 Client has been notified that DATA conn will be accepted on port 33853 19:00:50.024650 Client connects to port 33853 19:00:50.024680 ====> Client established passive DATA connection on port 33853 19:00:50.024756 < "TYPE I" 19:00:50.024785 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:50.024971 < "SIZE verifiedserver" 19:00:50.025016 > "213 17[CR][LF]" 19:00:50.025205 < "RETR verifiedserver" 19:00:50.025242 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:50.025326 =====> Closing passive DATA connection... 19:00:50.025347 Server disconnects passive DATA connection 19:00:50.025625 Server disconnected passive DATA connection 19:00:50.025656 DATA sockfilt for passive data channel quits (pid 108824) 19:00:50.025911 DATA sockfilt for passive data channel quit (pid 108824) 19:00:50.025941 =====> Closed passive DATA connection 19:00:50.025971 > "226 File transfer complete[CR][LF]" 19:00:50.069103 < "QUIT" 19:00:50.069160 > "221 bye bye baby[CR][LF]" 19:00:50.071236 MAIN sockfilt said DISC 19:00:50.071281 ====> Client disconnected 19:00:50.071366 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:50.792412 ====> Client connect 19:00:50.792933 Received DATA (on stdin) 19:00:50.792955 > 160 bytes data, server => client 19:00:50.792970 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:50.793034 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:50.793048 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:50.793141 < 16 bytes data, client => server 19:00:50.793159 'USER anonymous\r\n' 19:00:50.793374 Received DATA (on stdin) 19:00:50.793390 > 33 bytes data, server => client 19:00:50.793403 '331 We are happy you popped in!\r\n' 19:00:50.793465 < 22 bytes data, client => server 19:00:50.793483 'PASS ftp@example.com\r\n' 19:00:50.793629 Received DATA (on stdin) 19:00:50.793644 > 30 bytes data, server => client 19:00:50.793656 '230 Welcome you silly person\r\n' 19:00:50.793716 < 5 bytes data, client => server 19:00:50.793733 'PWD\r\n' 19:00:50.793865 Received DATA (on stdin) 19:00:50.793880 > 30 bytes data, server => client 19:00:50.793893 '257 "/" is current directory\r\n' 19:00:50.793961 < 6 bytes data, client => server 19:00:50.793979 'EPSV\r\n' 19:00:50.796480 Received DATA (on stdin) 19:00:50.796494 > 39 bytes data, server => client 19:00:50.796506 '229 Entering Passive Mode (|||33853|)\r\n' 19:00:50.796625 < 8 bytes data, client => server 19:00:50.796642 'TYPE I\r\n' 19:00:50.796848 Received DATA (on stdin) 19:00:50.796862 > 33 bytes data, server => client 19:00:50.796874 '200 I modify TYPE as you wanted\r\n' 19:00:50.796931 < 21 bytes data, client => server 19:00:50.796947 'SIZE verifiedserver\r\n' 19:00:50.797086 Received DATA (on stdin) 19:00:50.797102 > 8 bytes data, server => client 19:00:50.797114 '213 17\r\n' 19:00:50.797169 < 21 bytes data, client => server 19:00:50.797184 'RETR verifiedserver\r\n' 19:00:50.797412 Received DATA (on stdin) 19:00:50.797427 > 29 bytes data, server => client 19:00:50.797451 '150 Binary junk (17 bytes).\r\n' 19:00:50.798036 Received DATA (on stdin) 19:00:50.798053 > 28 bytes data, server => client 19:00:50.798066 '226 File transfer complete\r\n' 19:00:50.841001 < 6 bytes data, client => server 19:00:50.841026 'QUIT\r\n' 19:00:50.842234 Received DATA (on stdin) 19:00:50.842253 > 18 bytes data, server => client 19:00:50.842265 '221 bye bye baby\r\n' 19:00:50.843242 ====> Client disconnect 19:00:50.843384 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:50.795963 Running IPv4 version 19:00:50.796031 Listening on port 33853 19:00:50.796072 Wrote pid 108824 to log/1/server/ftp_sockdata.pid 19:00:50.796236 Received PING (on stdin) 19:00:50.796318 Received PORT (on stdin) 19:00:50.796663 ====> Client connect 19:00:50.797482 Received DATA (on stdin) 19:00:50.797498 > 17 bytes data, server => client 19:00:50.797510 'WE ROOLZ: 80887\r\n' 19:00:50.797538 Received DISC (on stdin) 19:00:50.797551 ====> Client forcibly disconnected 19:00:50.797730 Received QUIT (on stdin) 19:00:50.797745 quits 19:00:50.797804 ============> 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:41393/path/591 === End of file stderr591 === Start of file upload591 Moooooooooooo for 591 upload this === End of file upload591 === Start of file valgrind591 ==108953== ==108953== Process terminating with default action of signal 4 (SIGILL) ==108953== Illegal opcode at address 0x51D5F1F ==108953== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108953== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108953== by 0x51D5F1F: Curl_open (url.c:525) ==108953== by 0x514F6EF: curl_easy_init (easy.c:371) ==108953== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==108953== by 0x400347F: main (first.c:280) ==108953== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==108953== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108953== by 0x51D5EBD: Curl_open (url.c:504) ==108953== by 0x514F6EF: curl_easy_init (easy.c:371) ==108953== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==108953== by 0x400347F: main (first.c:280) ==108953== === End of file valgrind591 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/6/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:36475/path/593 8 log/6/upload593 > log/6/stdout593 2> log/6/stderr593 593: 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 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/6/valgrind593 ./libtest/libtests lib591 ftp://127.0.0.1:36475/path/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/4/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:35791/595 log/4/ip595 > log/4/stdout595 2> log/4/stderr595 93 8 log/6/upload593 > log/6/stdout593 2> log/6/stderr593 === End of file commands.log === Start of file ftp_server.log 19:00:50.035237 ====> Client connect 19:00:50.035367 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:50.035643 < "USER anonymous" 19:00:50.035672 > "331 We are happy you popped in![CR][LF]" 19:00:50.035802 < "PASS ftp@example.com" 19:00:50.035821 > "230 Welcome you silly person[CR][LF]" 19:00:50.035935 < "PWD" 19:00:50.035959 > "257 "/" is current directory[CR][LF]" 19:00:50.036077 < "EPSV" 19:00:50.036097 ====> Passive DATA channel requested by client 19:00:50.036107 DATA sockfilt for passive data channel starting... 19:00:50.037794 DATA sockfilt for passive data channel started (pid 108875) 19:00:50.037940 DATA sockfilt for passive data channel listens on port 40633 19:00:50.037991 > "229 Entering Passive Mode (|||40633|)[CR][LF]" 19:00:50.038011 Client has been notified that DATA conn will be accepted on port 40633 19:00:50.038299 Client connects to port 40633 19:00:50.038332 ====> Client established passive DATA connection on port 40633 19:00:50.038426 < "TYPE I" 19:00:50.038457 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:50.038622 < "SIZE verifiedserver" 19:00:50.038660 > "213 17[CR][LF]" 19:00:50.038845 < "RETR verifiedserver" 19:00:50.038886 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:50.038986 =====> Closing passive DATA connection... 19:00:50.039010 Server disconnects passive DATA connection 19:00:50.039103 Server disconnected passive DATA connection 19:00:50.039134 DATA sockfilt for passive data channel quits (pid 108875) 19:00:50.039390 DATA sockfilt for passive data channel quit (pid 108875) 19:00:50.039421 =====> Closed passive DATA connection 19:00:50.039451 > "226 File transfer complete[CR][LF]" 19:00:50.082346 < "QUIT" 19:00:50.082401 > "221 bye bye baby[CR][LF]" 19:00:50.084027 MAIN sockfilt said DISC 19:00:50.084076 ====> Client disconnected 19:00:50.084144 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:50.807209 ====> Client connect 19:00:50.807444 Received DATA (on stdin) 19:00:50.807459 > 160 bytes data, server => client 19:00:50.807472 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:50.807484 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:50.807495 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:50.807560 < 16 bytes data, client => server 19:00:50.807572 'USER anonymous\r\n' 19:00:50.807730 Received DATA (on stdin) 19:00:50.807741 > 33 bytes data, server => client 19:00:50.807750 '331 We are happy you popped in!\r\n' 19:00:50.807790 < 22 bytes data, client => server 19:00:50.807800 'PASS ftp@example.com\r\n' 19:00:50.807875 Received DATA (on stdin) 19:00:50.807885 > 30 bytes data, server => client 19:00:50.807893 '230 Welcome you silly person\r\n' 19:00:50.807928 < 5 bytes data, client => server 19:00:50.807937 'PWD\r\n' 19:00:50.808013 Received DATA (on stdin) 19:00:50.808022 > 30 bytes data, server => client 19:00:50.808031 '257 "/" is current directory\r\n' 19:00:50.808072 < 6 bytes data, client => server 19:00:50.808080 'EPSV\r\n' 19:00:50.810080 Received DATA (on stdin) 19:00:50.810099 > 39 bytes data, server => client 19:00:50.810112 '229 Entering Passive Mode (|||40633|)\r\n' 19:00:50.810304 < 8 bytes data, client => server 19:00:50.810318 'TYPE I\r\n' 19:00:50.810519 Received DATA (on stdin) 19:00:50.810532 > 33 bytes data, server => client 19:00:50.810543 '200 I modify TYPE as you wanted\r\n' 19:00:50.810597 < 21 bytes data, client => server 19:00:50.810609 'SIZE verifiedserver\r\n' 19:00:50.810720 Received DATA (on stdin) 19:00:50.810732 > 8 bytes data, server => client 19:00:50.810743 '213 17\r\n' 19:00:50.810804 < 21 bytes data, client => server 19:00:50.810817 'RETR verifiedserver\r\n' 19:00:50.811079 Received DATA (on stdin) 19:00:50.811095 > 29 bytes data, server => client 19:00:50.811108 '150 Binary junk (17 bytes).\r\n' 19:00:50.811516 Received DATA (on stdin) 19:00:50.811532 > 28 bytes data, server => client 19:00:50.811544 '226 File transfer complete\r\n' 19:00:50.854245 < 6 bytes data, client => server 19:00:50.854272 'QUIT\r\n' 19:00:50.854902 Received DATA (on stdin) 19:00:50.854920 > 18 bytes data, server => client 19:00:50.854932 '221 bye bye baby\r\n' 19:00:50.856020 ====> Client disconnect 19:00:50.856168 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:50.809645 Running IPv4 version 19:00:50.809726 Listening on port 40633 19:00:50.809761 Wrote pid 108875 to log/6/server/ftp_sockdata.pid 19:00:50.809783 Received PING (on stdin) 19:00:50.809898 Received PORT (on stdin) 19:00:50.810273 ====> Client connect 19:00:50.810963 Received DATA (on stdin) 19:00:50.810977 > 17 bytes data, server => client 19:00:50.810989 'WE ROOLZ: 80654\r\n' 19:00:50.811076 Received DISC (on stdin) 19:00:50.811089 ====> Client forcibly disconnected 19:00:50.811207 Received QUIT (on stdin) 19:00:50.811223 quits 19:00:50.811284 ============> 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:36475/path/593 === End of file stderr593 === Start of file upload593 Moooooooooooo for 593 upload this === End of file upload593 === Start of file valgrind593 ==109000== ==109000== Process terminating with default action of signal 4 (SIGILL) ==109000== Illegal opcode at address 0x51D5F1F ==109000== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109000== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109000== by 0x51D5F1F: Curl_open (url.c:525) ==109000== by 0x514F6EF: curl_easy_init (easy.c:371) ==109000== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==109000== by 0x400347F: main (first.c:280) ==109000== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==109000== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109000== by 0x51D5EBD: Curl_open (url.c:504) ==109000== by 0x514F6EF: curl_easy_init (easy.c:371) ==109000== by 0x40226D1: test_lib591.lto_priv.0 (lib591.c:57) ==109000== by 0x400347F: main (first.c:280) ==109000== === End of file valgrind593 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/4/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:35791/595 log/4/ip595 > log/4/stdout595 2> log/4/stderr595 595: 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 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/4/valgrind595 ./libtest/libtests lib500 ftp://127.0.0.1:35791/595 log/4/ip595 > log/4/stdout595 2> log/4/stderr595 === End of file commands.log === Start of file ftp_server.log 19:00:50.040474 ====> Client connect 19:00:50.040619 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:50.040888 < "USER anonymous" 19:00:50.040926 > "331 We are happy you popped in![CR][LF]" 19:00:50.041129 < "PASS ftp@example.com" 19:00:50.041156 > "230 Welcome you silly person[CR][LF]" 19:00:50.041329 < "PWD" 19:00:50.041362 > "257 "/" is current directory[CR][LF]" 19:00:50.041570 < "EPSV" 19:00:50.041607 ====> Passive DATA channel requested by client 19:00:50.041622 DATA sockfilt for passive data channel starting... 19:00:50.043466 DATA sockfilt for passivCMD (33792): ../libtool --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/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:35487/596 log/21/ip596 activeftp > log/21/stdout596 2> log/21/stderr596 e data channel started (pid 108890) 19:00:50.043605 DATA sockfilt for passive data channel listens on port 43809 19:00:50.043656 > "229 Entering Passive Mode (|||43809|)[CR][LF]" 19:00:50.043679 Client has been notified that DATA conn will be accepted on port 43809 19:00:50.043922 Client connects to port 43809 19:00:50.043957 ====> Client established passive DATA connection on port 43809 19:00:50.044044 < "TYPE I" 19:00:50.044076 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:50.044248 < "SIZE verifiedserver" 19:00:50.044289 > "213 17[CR][LF]" 19:00:50.044437 < "RETR verifiedserver" 19:00:50.044469 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:50.044547 =====> Closing passive DATA connection... 19:00:50.044563 Server disconnects passive DATA connection 19:00:50.044710 Server disconnected passive DATA connection 19:00:50.044735 DATA sockfilt for passive data channel quits (pid 108890) 19:00:50.044968 DATA sockfilt for passive data channel quit (pid 108890) 19:00:50.044991 =====> Closed passive DATA connection 19:00:50.045015 > "226 File transfer complete[CR][LF]" 19:00:50.085922 < "QUIT" 19:00:50.085978 > "221 bye bye baby[CR][LF]" 19:00:50.086417 MAIN sockfilt said DISC 19:00:50.086450 ====> Client disconnected 19:00:50.086512 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:49.812439 ====> Client connect 19:00:49.812692 Received DATA (on stdin) 19:00:49.812708 > 160 bytes data, server => client 19:00:49.812722 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:49.812734 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:49.812746 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:49.812813 < 16 bytes data, client => server 19:00:49.812828 'USER anonymous\r\n' 19:00:49.812991 Received DATA (on stdin) 19:00:49.813015 > 33 bytes data, server => client 19:00:49.813028 '331 We are happy you popped in!\r\n' 19:00:49.813088 < 22 bytes data, client => server 19:00:49.813107 'PASS ftp@example.com\r\n' 19:00:49.813217 Received DATA (on stdin) 19:00:49.813231 > 30 bytes data, server => client 19:00:49.813243 '230 Welcome you silly person\r\n' 19:00:49.813296 < 5 bytes data, client => server 19:00:49.813312 'PWD\r\n' 19:00:49.813424 Received DATA (on stdin) 19:00:49.813437 > 30 bytes data, server => client 19:00:49.813449 '257 "/" is current directory\r\n' 19:00:49.813508 < 6 bytes data, client => server 19:00:49.813521 'EPSV\r\n' 19:00:49.815752 Received DATA (on stdin) 19:00:49.815770 > 39 bytes data, server => client 19:00:49.815783 '229 Entering Passive Mode (|||43809|)\r\n' 19:00:49.815959 < 8 bytes data, client => server 19:00:49.815973 'TYPE I\r\n' 19:00:49.816139 Received DATA (on stdin) 19:00:49.816153 > 33 bytes data, server => client 19:00:49.816165 '200 I modify TYPE as you wanted\r\n' 19:00:49.816219 < 21 bytes data, client => server 19:00:49.816232 'SIZE verifiedserver\r\n' 19:00:49.816349 Received DATA (on stdin) 19:00:49.816361 > 8 bytes data, server => client 19:00:49.816372 '213 17\r\n' 19:00:49.816418 < 21 bytes data, client => server 19:00:49.816430 'RETR verifiedserver\r\n' 19:00:49.816624 Received DATA (on stdin) 19:00:49.816636 > 29 bytes data, server => client 19:00:49.816648 '150 Binary junk (17 bytes).\r\n' 19:00:49.817075 Received DATA (on stdin) 19:00:49.817089 > 28 bytes data, server => client 19:00:49.817100 '226 File transfer complete\r\n' 19:00:49.857819 < 6 bytes data, client => server 19:00:49.857841 'QUIT\r\n' 19:00:49.858041 Received DATA (on stdin) 19:00:49.858053 > 18 bytes data, server => client 19:00:49.858065 '221 bye bye baby\r\n' 19:00:49.858419 ====> Client disconnect 19:00:49.858573 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:50.815323 Running IPv4 version 19:00:50.815397 Listening on port 43809 19:00:50.815438 Wrote pid 108890 to log/4/server/ftp_sockdata.pid 19:00:50.815461 Received PING (on stdin) 19:00:50.815566 Received PORT (on stdin) 19:00:50.815927 ====> Client connect 19:00:50.816542 Received DATA (on stdin) 19:00:50.816560 > 17 bytes data, server => client 19:00:50.816572 'WE ROOLZ: 80681\r\n' 19:00:50.816623 Received DISC (on stdin) 19:00:50.816637 ====> Client forcibly disconnected 19:00:50.816802 Received QUIT (on stdin) 19:00:50.816815 quits 19:00:50.816870 ============> 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:35791/595 === End of file stderr595 === Start of file valgrind595 ==109009== ==109009== Process terminating with default action of signal 4 (SIGILL) ==109009== Illegal opcode at address 0x51D5F1F ==109009== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109009== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109009== by 0x51D5F1F: Curl_open (url.c:525) ==109009== by 0x514F6EF: curl_easy_init (easy.c:371) ==109009== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==109009== by 0x400347F: main (first.c:280) ==109009== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109009== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109009== by 0x51D5EBD: Curl_open (url.c:504) ==109009== by 0x514F6EF: curl_easy_init (easy.c:371) ==109009== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==109009== by 0x400347F: main (first.c:280) ==109009== === End of file valgrind595 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/21/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:35487/596 log/21/ip596 activeftp > log/21/stdout596 2> log/21/stderr596 596: 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 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/21/valgrind596 ./libtest/libtests lib500 ftp://127.0.0.1:35487/596 log/21/ip596 activeftp > log/21/stdout596 2> log/21/stderr596 === End of file commands.log === Start of file ftp_server.log 19:00:50.078436 ====> Client connect 19:00:50.078583 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:50.078900 < "USER anonymous" 19:00:50.078935 > "331 We are happy you popped in![CR][LF]" 19:00:50.079106 < "PASS ftp@example.com" 19:00:50.079133 > "230 Welcome you silly person[CR][LF]" 19:00:50.079279 < "PWD" 19:00:50.079309 > "257 "/" is current directory[CR][LF]" 19:00:50.079461 < "EPSV" 19:00:50.079487 ====> Passive DATA channel requested by client 19:00:50.079501 DATA sockfilt for passive data channel starting... 19:00:50.081471 DATA sockfilt for passive data channel started (pid 108949) 19:00:50.081579 DATA sockfilt for passive data channel listens on port 38693 19:00:50.081621 > "229 Entering Passive Mode (|||38693|)[CR][LF]" 19:00:50.081637 Client has been notified that DATA conn will be accepted on port 38693 19:00:50.081877 Client connects to port 38693 19:00:50.081905 ====> Client established passive DATA connection on port 38693 19:00:50.081980 < "TYPE I" 19:00:50.082008 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:50.082183 < "SIZE verifiedserver" 19:00:50.082220 > "213 17[CR][LF]" 19:00:50.082362 < "RETR verifiedserver" 19:00:50.082390 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:50.082477 =====> Closing passive DATA connection... 19:00:50.082492 Server disconnects passive DATA connection 19:00:50.082618 Server disconnected passive DATA connection 19:00:50.082638 DATA sockfilt for passive data channel quits (pid 108949) 19:00:50.082854 DATA sockfilt for passive data channelcannot 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/9/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:41525 > log/9/stdout597 2> log/9/stderr597 quit (pid 108949) 19:00:50.082890 =====> Closed passive DATA connection 19:00:50.082923 > "226 File transfer complete[CR][LF]" 19:00:50.129695 < "QUIT" 19:00:50.129747 > "221 bye bye baby[CR][LF]" 19:00:50.130008 MAIN sockfilt said DISC 19:00:50.130065 ====> Client disconnected 19:00:50.130151 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:49.850388 ====> Client connect 19:00:49.850661 Received DATA (on stdin) 19:00:49.850678 > 160 bytes data, server => client 19:00:49.850692 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:49.850704 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:49.850714 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:49.850813 < 16 bytes data, client => server 19:00:49.850827 'USER anonymous\r\n' 19:00:49.850998 Received DATA (on stdin) 19:00:49.851011 > 33 bytes data, server => client 19:00:49.851022 '331 We are happy you popped in!\r\n' 19:00:49.851074 < 22 bytes data, client => server 19:00:49.851085 'PASS ftp@example.com\r\n' 19:00:49.851192 Received DATA (on stdin) 19:00:49.851209 > 30 bytes data, server => client 19:00:49.851219 '230 Welcome you silly person\r\n' 19:00:49.851263 < 5 bytes data, client => server 19:00:49.851273 'PWD\r\n' 19:00:49.851368 Received DATA (on stdin) 19:00:49.851378 > 30 bytes data, server => client 19:00:49.851389 '257 "/" is current directory\r\n' 19:00:49.851443 < 6 bytes data, client => server 19:00:49.851455 'EPSV\r\n' 19:00:49.853705 Received DATA (on stdin) 19:00:49.853719 > 39 bytes data, server => client 19:00:49.853729 '229 Entering Passive Mode (|||38693|)\r\n' 19:00:49.853882 < 8 bytes data, client => server 19:00:49.853894 'TYPE I\r\n' 19:00:49.854069 Received DATA (on stdin) 19:00:49.854081 > 33 bytes data, server => client 19:00:49.854092 '200 I modify TYPE as you wanted\r\n' 19:00:49.854156 < 21 bytes data, client => server 19:00:49.854168 'SIZE verifiedserver\r\n' 19:00:49.854278 Received DATA (on stdin) 19:00:49.854289 > 8 bytes data, server => client 19:00:49.854299 '213 17\r\n' 19:00:49.854345 < 21 bytes data, client => server 19:00:49.854355 'RETR verifiedserver\r\n' 19:00:49.854494 Received DATA (on stdin) 19:00:49.854516 > 29 bytes data, server => client 19:00:49.854528 '150 Binary junk (17 bytes).\r\n' 19:00:49.854988 Received DATA (on stdin) 19:00:49.855001 > 28 bytes data, server => client 19:00:49.855012 '226 File transfer complete\r\n' 19:00:49.901580 < 6 bytes data, client => server 19:00:49.901611 'QUIT\r\n' 19:00:49.901815 Received DATA (on stdin) 19:00:49.901830 > 18 bytes data, server => client 19:00:49.901842 '221 bye bye baby\r\n' 19:00:49.901991 ====> Client disconnect 19:00:49.902215 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:50.853319 Running IPv4 version 19:00:50.853383 Listening on port 38693 19:00:50.853422 Wrote pid 108949 to log/21/server/ftp_sockdata.pid 19:00:50.853469 Received PING (on stdin) 19:00:50.853560 Received PORT (on stdin) 19:00:50.853854 ====> Client connect 19:00:50.854558 Received DATA (on stdin) 19:00:50.854572 > 17 bytes data, server => client 19:00:50.854586 'WE ROOLZ: 81255\r\n' 19:00:50.854611 Received DISC (on stdin) 19:00:50.854624 ====> Client forcibly disconnected 19:00:50.854706 Received QUIT (on stdin) 19:00:50.854717 quits 19:00:50.854773 ============> 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:35487/596 === End of file stderr596 === Start of file valgrind596 ==109174== ==109174== Process terminating with default action of signal 4 (SIGILL) ==109174== Illegal opcode at address 0x51D5F1F ==109174== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109174== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109174== by 0x51D5F1F: Curl_open (url.c:525) ==109174== by 0x514F6EF: curl_easy_init (easy.c:371) ==109174== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==109174== by 0x400347F: main (first.c:280) ==109174== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109174== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109174== by 0x51D5EBD: Curl_open (url.c:504) ==109174== by 0x514F6EF: curl_easy_init (easy.c:371) ==109174== by 0x40094C1: test_lib500.lto_priv.0 (lib500.c:66) ==109174== by 0x400347F: main (first.c:280) ==109174== === End of file valgrind596 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/9/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:41525 > log/9/stdout597 2> log/9/stderr597 597: 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 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/9/valgrind597 ./libtest/libtests lib597 ftp://127.0.0.1:41525 > log/9/stdout597 2> log/9/stderr597 === End of file commands.log === Start of file ftp_server.log 19:00:50.105771 ====> Client connect 19:00:50.105946 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:00:50.106267 < "USER anonymous" 19:00:50.106309 > "331 We are happy you popped in![CR][LF]" 19:00:50.106502 < "PASS ftp@example.com" 19:00:50.106532 > "230 Welcome you silly person[CR][LF]" 19:00:50.106703 < "PWD" 19:00:50.106736 > "257 "/" is current directory[CR][LF]" 19:00:50.106917 < "EPSV" 19:00:50.106942 ====> Passive DATA channel requested by client 19:00:50.106957 DATA sockfilt for passive data channel starting... 19:00:50.109055 DATA sockfilt for passive data channel started (pid 109060) 19:00:50.109170 DATA sockfilt for passive data channel listens on port 45587 19:00:50.109214 > "229 Entering Passive Mode (|||45587|)[CR][LF]" 19:00:50.109235 Client has been notified that DATA conn will be accepted on port 45587 19:00:50.109516 Client connects to port 45587 19:00:50.109549 ====> Client established passive DATA connection on port 45587 19:00:50.109627 < "TYPE I" 19:00:50.109656 > "200 I modify TYPE as you wanted[CR][LF]" 19:00:50.109810 < "SIZE verifiedserver" 19:00:50.109846 > "213 17[CR][LF]" 19:00:50.110000 < "RETR verifiedserver" 19:00:50.110034 > "150 Binary junk (17 bytes).[CR][LF]" 19:00:50.110119 =====> Closing passive DATA connection... 19:00:50.110135 Server disconnects passive DATA connection 19:00:50.110386 Server disconnected passive DATA connection 19:00:50.110413 DATA sockfilt for passive data channel quits (pid 109060) 19:00:50.110646 DATA sockfilt for passive data channel quit (pid 109060) 19:00:50.110677 =====> Closed passive DATA connection 19:00:50.110713 > "226 File transfer complete[CR][LF]" 19:00:50.155872 < "QUIT" 19:00:50.155922 > "221 bye bye baby[CR][LF]" 19:00:50.156764 MAIN sockfilt said DISC 19:00:50.156825 ====> Client disconnected 19:00:50.156915 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:00:49.877709 ====> Client connect 19:00:49.878025 Received DATA (on stdin) 19:00:49.878044 > 160 bytes data, server => client 19:00:49.878058 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:00:49.878071 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:00:49.878082 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:00:49.878164 < 16 bytes data, client => server 19:00:49.878180 'USER anonymous\r\n' 19:00:49.878376 Received DATA (on stdin) 19:00:49.878391 > 33 bytes data, server => client 19:00:49.878403 '331 We are happy you popped in!\r\n' 19:00:49.878459 < 22 bytes data, client => server 19:00:49.87cannot 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/5/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:38199/571 log/5/protofile571.txt > log/5/stdout571 2> log/5/stderr571 8474 'PASS ftp@example.com\r\n' 19:00:49.878594 Received DATA (on stdin) 19:00:49.878607 > 30 bytes data, server => client 19:00:49.878619 '230 Welcome you silly person\r\n' 19:00:49.878671 < 5 bytes data, client => server 19:00:49.878685 'PWD\r\n' 19:00:49.878798 Received DATA (on stdin) 19:00:49.878812 > 30 bytes data, server => client 19:00:49.878824 '257 "/" is current directory\r\n' 19:00:49.878886 < 6 bytes data, client => server 19:00:49.878901 'EPSV\r\n' 19:00:49.881302 Received DATA (on stdin) 19:00:49.881316 > 39 bytes data, server => client 19:00:49.881329 '229 Entering Passive Mode (|||45587|)\r\n' 19:00:49.881494 < 8 bytes data, client => server 19:00:49.881510 'TYPE I\r\n' 19:00:49.881716 Received DATA (on stdin) 19:00:49.881729 > 33 bytes data, server => client 19:00:49.881741 '200 I modify TYPE as you wanted\r\n' 19:00:49.881789 < 21 bytes data, client => server 19:00:49.881801 'SIZE verifiedserver\r\n' 19:00:49.881906 Received DATA (on stdin) 19:00:49.881918 > 8 bytes data, server => client 19:00:49.881928 '213 17\r\n' 19:00:49.881976 < 21 bytes data, client => server 19:00:49.881988 'RETR verifiedserver\r\n' 19:00:49.882197 Received DATA (on stdin) 19:00:49.882210 > 29 bytes data, server => client 19:00:49.882221 '150 Binary junk (17 bytes).\r\n' 19:00:49.882781 Received DATA (on stdin) 19:00:49.882809 > 28 bytes data, server => client 19:00:49.882823 '226 File transfer complete\r\n' 19:00:49.927754 < 6 bytes data, client => server 19:00:49.927785 'QUIT\r\n' 19:00:49.927988 Received DATA (on stdin) 19:00:49.928002 > 18 bytes data, server => client 19:00:49.928015 '221 bye bye baby\r\n' 19:00:49.928740 ====> Client disconnect 19:00:49.928983 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:00:50.880741 Running IPv4 version 19:00:50.880841 Listening on port 45587 19:00:50.880877 Wrote pid 109060 to log/9/server/ftp_sockdata.pid 19:00:50.881052 Received PING (on stdin) 19:00:50.881140 Received PORT (on stdin) 19:00:50.881531 ====> Client connect 19:00:50.882247 Received DATA (on stdin) 19:00:50.882260 > 17 bytes data, server => client 19:00:50.882272 'WE ROOLZ: 80682\r\n' 19:00:50.882311 Received DISC (on stdin) 19:00:50.882324 ====> Client forcibly disconnected 19:00:50.882481 Received QUIT (on stdin) 19:00:50.882494 quits 19:00:50.882566 ============> 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:41525 === End of file stderr597 === Start of file valgrind597 ==109270== ==109270== Process terminating with default action of signal 4 (SIGILL) ==109270== Illegal opcode at address 0x51D5F1F ==109270== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109270== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109270== by 0x51D5F1F: Curl_open (url.c:525) ==109270== by 0x514F6EF: curl_easy_init (easy.c:371) ==109270== by 0x405FB55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==109270== by 0x400347F: main (first.c:280) ==109270== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109270== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109270== by 0x51D5EBD: Curl_open (url.c:504) ==109270== by 0x514F6EF: curl_easy_init (easy.c:371) ==109270== by 0x405FB55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==109270== by 0x400347F: main (first.c:280) ==109270== === End of file valgrind597 CMD (33792): ../libtool --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/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:45935/577 > log/17/stdout577 2> log/17/stderr577 CMD (33792): ../libtool --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/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:36857/572 log/10/file572.txt > log/10/stdout572 2> log/10/stderr572 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/5/server/rtsp_server.pid" --portfile "log/5/server/rtsp_server.port" --logfile "log/5/rtsp_server.log" --logdir "log/5" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107620 port 38199 * pid rtsp => 107620 107620 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/5/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:38199/571 log/5/protofile571.txt > log/5/stdout571 2> log/5/stderr571 571: stdout FAILED: --- log/5/check-expected 2025-11-13 19:00:50.999391130 +0000 +++ log/5/check-generated 2025-11-13 19:00:50.999391130 +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/5/ 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/5/valgrind571 ./libtest/libtests lib571 rtsp://127.0.0.1:38199/571 log/5/protofile571.txt > log/5/stdout571 2> log/5/stderr571 === End of file commands.log === Start of file rtsp_server.log 19:00:49.908938 Running IPv4 version on port 38199 19:00:49.909038 Wrote pid 107620 to log/5/server/rtsp_server.pid 19:00:49.909073 Wrote port 38199 to log/5/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:38199/571 === End of file stderr571 === Start of file valgrind571 ==109166== ==109166== Process terminating with default action of signal 4 (SIGILL) ==109166== Illegal opcode at address 0x51D5F1F ==109166== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109166== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109166== by 0x51D5F1F: Curl_open (url.c:525) ==109166== by 0x514F6EF: curl_easy_init (easy.c:371) ==109166== by 0x401E9AE: test_lib571.lto_priv.0 (lib571.c:110) ==109166== by 0x400347F: main (first.c:280) ==109166== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==109166== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109166== by 0x51D5EBD: Curl_open (url.c:504) ==109166== by 0x514F6EF: curl_easy_init (easy.c:371) ==109166== by 0x401E9AE: test_lib571.lto_priv.0 (lib571.c:110) ==109166== by 0x400347F: main (first.c:280) ==109166== === End of file valgrind571 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/17/server/rtsp_server.pid" --portfile "log/17/server/rtsp_server.port" --logfile "log/17/rtsp_server.log" --logdir "log/17" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107691 port 45935 * pid rtsp => 107691 107691 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/17/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:45935/577 > log/17/stdout577 2> log/17/stderr577 577: 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 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/17/valgrind577 ./libtest/libtests lib567 rtsp://127.0.0.1:45935/577 > log/17/stdout577 2> log/17/stderr577 === End of file commands.log === Start of file rtsp_server.log 19:00:49.959942 Running IPv4 version on port 45935 19:00:49.960015 Wrote pid 107691 to log/17/server/rtsp_server.pid 19:00:49.960041 Wrote port 45935 to log/17/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:45935/577 === End of file stderr577 === Start of file valgrind577 ==109360== ==109360== Process terminating with default action of signal 4 (SIGILL) ==109360== Illegal opcode at address 0x51D5F1F ==109360== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109360== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109360== by 0x51D5F1F: Curl_open (url.c:525) ==109360== by 0x514F6EF: curl_easy_init (easy.c:371) ==109360== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==109360== by 0x400347F: main (first.c:280) ==109360== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109360== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109360== by 0x51D5EBD: Curl_open (url.c:504) ==109360== by 0x514F6EF: curl_easy_init (easy.c:371) ==109360== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==109360== by 0x400347F: main (first.c:280) ==109360== === End of file valgrind577 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/10/server/rtsp_server.pid" --portfile "log/10/server/rtsp_server.port" --logfile "log/10/rtsp_server.log" --logdir "log/10" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 107624 port 36857 * pid rtsp => 107624 107624 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/10/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:36857/572 log/10/file572.txt > log/10/stdout572 2> log/10/stderr572 572: protocol FAILED! There was no content at all in the file log/10/server.input. Server glitch? Total curl faicannot 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/20/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:38583/598 > log/20/stdout598 2> log/20/stderr598 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/7/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:41017/599 log/7/ip599 > log/7/stdout599 2> log/7/stderr599 lure? Returned: 132 == Contents of files in the log/10/ 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/10/valgrind572 ./libtest/libtests lib572 rtsp://127.0.0.1:36857/572 log/10/file572.txt > log/10/stdout572 2> log/10/stderr572 === End of file commands.log === Start of file file572.txt scale speed === End of file file572.txt === Start of file rtsp_server.log 19:00:49.914321 Running IPv4 version on port 36857 19:00:49.914416 Wrote pid 107624 to log/10/server/rtsp_server.pid 19:00:49.914448 Wrote port 36857 to log/10/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:36857/572 === End of file stderr572 === Start of file valgrind572 ==109172== ==109172== Process terminating with default action of signal 4 (SIGILL) ==109172== Illegal opcode at address 0x51D5F1F ==109172== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109172== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109172== by 0x51D5F1F: Curl_open (url.c:525) ==109172== by 0x514F6EF: curl_easy_init (easy.c:371) ==109172== by 0x401F39E: test_lib572.lto_priv.0 (lib572.c:48) ==109172== by 0x400347F: main (first.c:280) ==109172== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109172== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109172== by 0x51D5EBD: Curl_open (url.c:504) ==109172== by 0x514F6EF: curl_easy_init (easy.c:371) ==109172== by 0x401F39E: test_lib572.lto_priv.0 (lib572.c:48) ==109172== by 0x400347F: main (first.c:280) ==109172== === End of file valgrind572 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/20/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:38583/598 > log/20/stdout598 2> log/20/stderr598 598: 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 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/20/valgrind598 ./libtest/libtests lib598 http://127.0.0.1:38583/598 > log/20/stdout598 2> log/20/stderr598 === End of file commands.log === Start of file http_server.log 19:00:49.944043 ====> Client connect 19:00:49.944075 accept_connection 3 returned 4 19:00:49.944091 accept_connection 3 returned 0 19:00:49.944114 Read 93 bytes 19:00:49.944124 Process 93 bytes request 19:00:49.944137 Got request: GET /verifiedserver HTTP/1.1 19:00:49.944146 Are-we-friendly question received 19:00:49.944171 Wrote request (93 bytes) input to log/20/server.input 19:00:49.944188 Identifying ourselves as friends 19:00:49.944238 Response sent (56 bytes) and written to log/20/server.response 19:00:49.944250 special request received, no persistency 19:00:49.944260 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 32818 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file stderr598 URL: http://127.0.0.1:38583/598 === End of file stderr598 === Start of file valgrind598 ==109362== ==109362== Process terminating with default action of signal 4 (SIGILL) ==109362== Illegal opcode at address 0x51D5F1F ==109362== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109362== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109362== by 0x51D5F1F: Curl_open (url.c:525) ==109362== by 0x514F6EF: curl_easy_init (easy.c:371) ==109362== by 0x402326C: test_lib598.lto_priv.0 (lib598.c:38) ==109362== by 0x400347F: main (first.c:280) ==109362== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109362== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109362== by 0x51D5EBD: Curl_open (url.c:504) ==109362== by 0x514F6EF: curl_easy_init (easy.c:371) ==109362== by 0x402326C: test_lib598.lto_priv.0 (lib598.c:38) ==109362== by 0x400347F: main (first.c:280) ==109362== === End of file valgrind598 cannot find sshd cannot find sshd 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/7/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:41017/599 log/7/ip599 > log/7/stdout599 2> log/7/stderr599 599: data FAILED: --- log/7/check-expected 2025-11-13 19:00:51.152724463 +0000 +++ log/7/check-generated 2025-11-13 19:00:51.152724463 +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/7/ 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/7/valgrind599 ./libtest/libtests lib599 http://127.0.0.1:41017/599 log/7/ip599 > log/7/stdout599 2> log/7/stderr599 === End of file commands.log === Start of file http_server.log 19:00:50.081784 ====> Client connect 19:00:50.081821 accept_connection 3 returned 4 19:00:50.081839 accept_connection 3 returned 0 19:00:50.081856 Read 93 bytes 19:00:50.081867 Process 93 bytes request 19:00:50.081882 Got request: GET /verifiedserver HTTP/1.1 19:00:50.081893 Are-we-friendly question received 19:00:50.081920 Wrote request (93 bytes) input to log/7/server.input 19:00:50.081939 Identifying ourselves as friends 19:00:50.081997 Response sent (56 bytes) and written to log/7/server.response 19:00:50.082009 special request received, no persistency 19:00:50.082020 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 49402 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file stderr599 URL: http://127.0.0.1:41017/599 === End of file stderr599 === Start of file valgrind599 ==109501== ==109501== Process terminating with default action of signal 4 (SIGILL) ==109501== Illegal opcode at address 0x51D5F1F ==109501== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109501== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109501== by 0x51D5F1F: Curl_open (url.c:525) ==109501== by 0x514F6EF: curl_easy_init (easy.c:371) ==109501== by 0x402227F: test_lib599.lto_priv.0 (lib599.c:55) ==109501== by 0x400347F: main (first.c:280) ==109501== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109501== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109501== by 0x51D5EBD: Curl_open (url.c:504) ==109501== by 0x514F6EF: curl_easy_init (easy.c:371) ==109501== by 0x402227F: test_lib599.lto_priv.0 (lib599.c:55) ==109501== by 0x400347F: main (first.c:280) ==109501== === End of file valgrind599 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/16/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:42747/587 > log/16/stdout587 2> log/16/stderr587 libtests returned 132, when expecting 42 587: exit FAILED == Contents of files in the log/16/ 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/16/valgrind587 ./libtest/libtests lib554 http://127.0.0.1:42747/587 > log/16/stdout587 2> log/16/stderr587 === End of file commands.log === Start of file http_server.log 19:00:50.293969 ====> Client connect 19:00:50.294000 accept_connection 3 returned 4 19:00:50.294017 accept_connection 3 returned 0 19:00:50.294032 Read 93 bytes 19:00:50.294043 Process 93 bytes request 19:00:50.294058 Got request: GET /verifiedserver HTTP/1.1 19:00:50.294069 Are-we-friendly question received 19:00:50.294093 Wrote request (93 bytes) input to log/16/server.input 19:00:50.294121 Identifying ourselves as friends 19:00:50.294176 Response sent (56 bytes) and written to log/16/server.response 19:00:50.294187 special request received, no persistency 19:00:50.294197 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 59520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file stderr587 URL: http://127.0.0.1:42747/587 === End of file stderr587 === Start of file valgrind587 ==108302== ==108302== Process terminating with default action of signal 4 (SIGILL) ==108302== Illegal opcode at address 0x51D5F1F ==108302== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==108302== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==108302== by 0x51D5F1F: Curl_open (url.c:525) ==108302== by 0x514F6EF: curl_easy_init (easy.c:371) ==108302== by 0x40183E8: t554_test_once (lib554.c:147) ==108302== by 0x401866B: test_lib554.lto_priv.0 (lib554.c:204) ==108302== by 0x400347F: main (first.c:280) ==108302== 5,384 bytes in 1 blocks are definitely lost in loss record 659 of 661 ==108302== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==108302== by 0x51D5EBD: Curl_open (url.c:504) ==108302== by 0x514F6EF: curl_easy_init (easy.c:371) ==108302== by 0x40183E8: t554_test_once (lib554.c:147) ==108302== by 0x401866B: test_lib554.lto_priv.0 (lib554.c:204) ==108302== by 0x400347F: main (first.c:280) ==108302== === 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 74393) running test 611 in state 3 Runner 2 (id 74394) running test 600 in state 3 Runner 3 (id 74395) running test 610 in state 3 Runner 4 (id 74396) running test 613 in state 3 Runner 5 (id 74397) running test 616 in state 3 Runner 6 (id 74398) running test 612 in state 3 Runner 7 (id 74399) 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/8/valgrind632 ../src/curl -q --output log/8/curl632.out --include --trace-ascii log/8/trace632 --trace-time --hostpubmd5 00 --key log/8/server/curl_client_key --pubkey log/8/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/8/irrelevant-file --insecure > log/8/stdout632 2> log/8/stderr632 CMD (33792): ../libtool --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/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:39383/643 > log/24/stdout643 2> log/24/stderr643 RUN: Process with pid 107444 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/8/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:43853/645 > log/8/stdout645 2> log/8/stderr645 unning test 620 in state 3 Runner 8 (id 74400) running test 582 in state 3 Runner 9 (id 74401) running test 615 in state 3 Runner 10 (id 74402) running test 618 in state 3 Runner 11 (id 74403) running test 608 in state 3 Runner 12 (id 74404) running test 601 in state 3 Runner 13 (id 74405) running test 609 in state 3 Runner 14 (id 74406) running test 607 in state 3 Runner 15 (id 74407) running test 604 in state 3 Runner 16 (id 74408) running test 621 in state 3 Runner 17 (id 74409) running test 617 in state 3 Runner 18 (id 74410) running test 603 in state 3 Runner 19 (id 74411) running test 602 in state 3 Runner 20 (id 74412) running test 619 in state 3 Runner 21 (id 74413) running test 614 in state 3 Runner 22 (id 74414) running test 605 in state 3 Runner 23 (id 74415) running test 606 in state 3 Runner 24 (id 74416) running test 583 in state 3 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 32837 startnew: child process has died, server might start up RUN: failed to start the SSH server on 32837 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/24/server/ssh_server.pid" --logdir "log/24" --ipv4 --addr "127.0.0.1" --user "builduser" --sshport 45969 startnew: child process has died, server might start up RUN: failed to start the SSH server on 45969 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/8/valgrind632 ../src/curl -q --output log/8/curl632.out --include --trace-ascii log/8/trace632 --trace-time --hostpubmd5 00 --key log/8/server/curl_client_key --pubkey log/8/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/8/irrelevant-file --insecure > log/8/stdout632 2> log/8/stderr632 curl returned 132, when expecting 2 632: exit FAILED == Contents of files in the log/8/ 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/8/valgrind632 ../src/curl -q --output log/8/curl632.out --include --trace-ascii log/8/trace632 --trace-time --hostpubmd5 00 --key log/8/server/curl_client_key --pubkey log/8/server/curl_client_key.pub -u builduser: sftp://127.0.0.1:47/startdir/src/build-curl/tests/log/8/irrelevant-file --insecure > log/8/stdout632 2> log/8/stderr632 === End of file commands.log === Start of file server.cmd Testnum 632 === End of file server.cmd === Start of file valgrind632 ==109630== ==109630== Process terminating with default action of signal 4 (SIGILL) ==109630== Illegal opcode at address 0x4013E00 ==109630== at 0x4013E00: getparameter (tool_getparam.c:2846) ==109630== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==109630== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==109630== by 0x40037A4: 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/24/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:39383/643 > log/24/stdout643 2> log/24/stderr643 643: 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 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/24/valgrind643 ./libtest/libtests lib643 http://127.0.0.1:39383/643 > log/24/stdout643 2> log/24/stderr643 === End of file commands.log === Start of file http_server.log 19:01:05.172681 ====> Client connect 19:01:05.172703 accept_connection 3 returned 4 19:01:05.172714 accept_connection 3 returned 0 19:01:05.172725 Read 93 bytes 19:01:05.172732 Process 93 bytes request 19:01:05.172742 Got request: GET /verifiedserver HTTP/1.1 19:01:05.172749 Are-we-friendly question received 19:01:05.172765 Wrote request (93 bytes) input to log/24/server.input 19:01:05.172777 Identifying ourselves as friends 19:01:05.172830 Response sent (56 bytes) and written to log/24/server.response 19:01:05.172837 special request received, no persistency 19:01:05.172844 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 38856 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file stderr643 URL: http://127.0.0.1:39383/643 === End of file stderr643 === Start of file valgrind643 ==109695== ==109695== Process terminating with default action of signal 4 (SIGILL) ==109695== Illegal opcode at address 0x51D5F1F ==109695== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109695== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109695== by 0x51D5F1F: Curl_open (url.c:525) ==109695== by 0x514F6EF: curl_easy_init (easy.c:371) ==109695== by 0x40234B3: t643_test_once (lib643.c:77) ==109695== by 0x4023977: test_lib643.lto_priv.0 (lib643.c:259) ==109695== by 0x400347F: main (first.c:280) ==109695== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109695== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109695== by 0x51D5EBD: Curl_open (url.c:504) ==109695== by 0x514F6EF: curl_easy_init (easy.c:371) ==109695== by 0x40234B3: t643_test_once (lib643.c:77) ==109695== by 0x4023977: test_lib643.lto_priv.0 (lib643.c:259) ==109695== by 0x400347F: main (first.c:280) ==109695== === End of file valgrind643 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 46739 startnew: child process has died, server might start up RUN: failed to start the SSH server on 46739 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 45759 startnew: child process has died, server might start up RUN: failed to start the SSH server on 45759 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 43927 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43927 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/8/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:43853/645 > log/8/stdout645 2> log/8/stderr645 645: protocol FAILRUN: Process with pid 107444 gracefully died ED! 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 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/8/valgrind645 ./libtest/libtests lib643 http://127.0.0.1:43853/645 > log/8/stdout645 2> log/8/stderr645 === End of file commands.log === Start of file http_server.log 19:01:05.773993 ====> Client connect 19:01:05.774014 accept_connection 3 returned 4 19:01:05.774026 accept_connection 3 returned 0 19:01:05.774036 Read 93 bytes 19:01:05.774044 Process 93 bytes request 19:01:05.774054 Got request: GET /verifiedserver HTTP/1.1 19:01:05.774061 Are-we-friendly question received 19:01:05.774077 Wrote request (93 bytes) input to log/8/server.input 19:01:05.774088 Identifying ourselves as friends 19:01:05.774193 Response sent (56 bytes) and written to log/8/server.response 19:01:05.774215 special request received, no persistency 19:01:05.774227 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 40052 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file stderr645 URL: http://127.0.0.1:43853/645 === End of file stderr645 === Start of file valgrind645 ==109767== ==109767== Process terminating with default action of signal 4 (SIGILL) ==109767== Illegal opcode at address 0x51D5F1F ==109767== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109767== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109767== by 0x51D5F1F: Curl_open (url.c:525) ==109767== by 0x514F6EF: curl_easy_init (easy.c:371) ==109767== by 0x40234B3: t643_test_once (lib643.c:77) ==109767== by 0x4023977: test_lib643.lto_priv.0 (lib643.c:259) ==109767== by 0x400347F: main (first.c:280) ==109767== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109767== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109767== by 0x51D5EBD: Curl_open (url.c:504) ==109767== by 0x514F6EF: curl_easy_init (easy.c:371) ==109767== by 0x40234B3: t643_test_once (lib643.c:77) ==109767== by 0x4023977: test_lib643.lto_priv.0 (lib643.c:259) ==109767== by 0x400347F: main (first.c:280) ==109767== === End of file valgrind645 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 39451 startnew: child process has died, server might start up RUN: failed to start the SSH server on 39451 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 34167 startnew: child process has died, server might start up RUN: failed to start the SSH server on 34167 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 40771 startnew: child process has died, server might start up RUN: failed to start the SSH server on 40771 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 35083 startnew: child process has died, server might start up RUN: failed to start the SSH server on 35083 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 43331 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43331 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 39457 startnew: child process has died, server might start up RUN: failed to start the SSH server on 39457 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 41027 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41027 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 42759 startnew: child process has died, server might start up RUN: failed to start the SSH server on 42759 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 43945 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43945 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 33603 startnew: child process has died, server might start up RUN: failed to start the SSH server on 33603 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 41247 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41247 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 39301 startnew: child process has died, server might start up RUN: failed to start the SSH server on 39301 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 38443 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38443 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 43235 startnew: child process has died, server might start up RUN: failed to start the SSH server on 43235 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 37817 startnew: child process has died, server might start up RUN: failed to start the SSH server on 37817 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 33291 startnew: child process has died, server might start up RUN: failed to 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/15/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:44531/651 log/15/test651.filedata log/15/stdout651 2> log/15/stderr651 CMD (33792): ../libtool --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/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:43853/650 log/8/test650.filedata log/8/stdout650 2> log/8/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/22/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:41061/654 log/22/file654.txt > log/22/stdout654 2> log/22/stderr654 art the SSH server on 33291 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 41149 startnew: child process has died, server might start up RUN: failed to start the SSH server on 41149 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/15/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:44531/651 log/15/test651.filedata log/15/stdout651 2> log/15/stderr651 651: 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 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/15/valgrind651 ./libtest/libtests lib651 http://127.0.0.1:44531/651 log/15/test651.filedata log/15/stdout651 2> log/15/stderr651 === End of file commands.log === Start of file http_server.log 19:01:06.400808 ====> Client connect 19:01:06.400831 accept_connection 3 returned 4 19:01:06.400844 accept_connection 3 returned 0 19:01:06.400854 Read 93 bytes 19:01:06.400862 Process 93 bytes request 19:01:06.400872 Got request: GET /verifiedserver HTTP/1.1 19:01:06.400879 Are-we-friendly question received 19:01:06.400896 Wrote request (93 bytes) input to log/15/server.input 19:01:06.400908 Identifying ourselves as friends 19:01:06.400951 Response sent (56 bytes) and written to log/15/server.response 19:01:06.400958 special request received, no persistency 19:01:06.400965 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 39018 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file stderr651 URL: http://127.0.0.1:44531/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 valgrind651 ==109853== ==109853== Process terminating with default action of signal 4 (SIGILL) ==109853== Illegal opcode at address 0x4024BB0 ==109853== at 0x4024BB0: UnknownInlinedFun (string_fortified.h:59) ==109853== by 0x4024BB0: test_lib651.lto_priv.0 (lib651.c:43) ==109853== by 0x400347F: main (first.c:280) === End of file valgrind651 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 44073 startnew: child process has died, server might start up RUN: failed to start the SSH server on 44073 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/8/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:43853/650 log/8/test650.filedata log/8/stdout650 2> log/8/stderr650 650: 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 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/8/valgrind650 ./libtest/libtests lib650 http://127.0.0.1:43853/650 log/8/test650.filedata log/8/stdout650 2> log/8/stderr650 === End of file commands.log === Start of file http_server.log 19:01:06.401246 ====> Client connect 19:01:06.401266 accept_connection 3 returned 4 19:01:06.401277 accept_connection 3 returned 0 19:01:06.401287 Read 93 bytes 19:01:06.401294 Process 93 bytes request 19:01:06.401304 Got request: GET /verifiedserver HTTP/1.1 19:01:06.401311 Are-we-friendly question received 19:01:06.401325 Wrote request (93 bytes) input to log/8/server.input 19:01:06.401336 Identifying ourselves as friends 19:01:06.401370 Response sent (56 bytes) and written to log/8/server.response 19:01:06.401377 special request received, no persistency 19:01:06.401384 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 40066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file stderr650 URL: http://127.0.0.1:43853/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 ==109870== ==109870== Process terminating with default action of signal 4 (SIGILL) ==109870== Illegal opcode at address 0x518AE15 ==109870== at 0x518AE15: UnknownInlinedFun (string_fortified.h:59) ==109870== by 0x518AE15: curl_mime_init (mime.c:1292) ==109870== by 0x5158048: Curl_getformdata.part.0 (formdata.c:800) ==109870== by 0x5158549: UnknownInlinedFun (formdata.c:797) ==109870== by 0x5158549: curl_formget (formdata.c:704) ==109870== by 0x402485E: test_lib650.lto_priv.0 (lib650.c:146) ==109870== by 0x400347F: main (first.c:280) ==109870== 96 bytes in 1 blocks are definitely lost in loss record 594 of 665 ==109870== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==109870== by 0x518ADEF: curl_mime_init (mime.c:1285) ==109870== by 0x5158048: Curl_getformdata.part.0 (formdata.c:800) ==109870== by 0x5158549: UnknownInlinedFun (formdata.c:797) ==109870== by 0x5158549: curl_formget (formdata.c:704) ==109870== by 0x402485E: test_lib650.lto_priv.0 (lib650.c:146) ==109870== by 0x400347F: main (first.c:280) ==109870== === End of file valgrind650 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 38095 startnew: child process has died, server might start up RUN: failed to start the SSH server on 38095 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/22/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:41061/654 log/22/file654.txt > log/22/stdout654 2> log/22/stderr654 654: protocol FAILED! There was no content 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/14/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:36759/655 > log/14/stdout655 2> log/14/stderr655 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 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/22/valgrind654 ./libtest/libtests lib654 http://127.0.0.1:41061/654 log/22/file654.txt > log/22/stdout654 2> log/22/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 19:01:06.637792 ====> Client connect 19:01:06.637925 accept_connection 3 returned 4 19:01:06.637944 accept_connection 3 returned 0 19:01:06.637954 Read 93 bytes 19:01:06.637962 Process 93 bytes request 19:01:06.637970 Got request: GET /verifiedserver HTTP/1.1 19:01:06.637977 Are-we-friendly question received 19:01:06.637995 Wrote request (93 bytes) input to log/22/server.input 19:01:06.638007 Identifying ourselves as friends 19:01:06.638043 Response sent (56 bytes) and written to log/22/server.response 19:01:06.638050 special request received, no persistency 19:01:06.638057 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 40330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file stderr654 URL: http://127.0.0.1:41061/654 === End of file stderr654 === Start of file valgrind654 ==109993== ==109993== Process terminating with default action of signal 4 (SIGILL) ==109993== Illegal opcode at address 0x51D5F1F ==109993== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109993== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109993== by 0x51D5F1F: Curl_open (url.c:525) ==109993== by 0x514F6EF: curl_easy_init (easy.c:371) ==109993== by 0x402603B: test_lib654.lto_priv.0 (lib654.c:84) ==109993== by 0x400347F: main (first.c:280) ==109993== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109993== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109993== by 0x51D5EBD: Curl_open (url.c:504) ==109993== by 0x514F6EF: curl_easy_init (easy.c:371) ==109993== by 0x402603B: test_lib654.lto_priv.0 (lib654.c:84) ==109993== by 0x400347F: main (first.c:280) ==109993== === 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/23/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:35243/653 > log/23/stdout653 2> log/23/stderr653 CMD (33792): ../libtool --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/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:46317 > log/11/stdout659 2> log/11/stderr659 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/14/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:36759/655 > log/14/stdout655 2> log/14/stderr655 655: data FAILED: --- log/14/check-expected 2025-11-13 19:01:07.719391290 +0000 +++ log/14/check-generated 2025-11-13 19:01:07.719391290 +0000 @@ -1 +0,0 @@ -hello[LF] == Contents of files in the log/14/ 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/14/valgrind655 ./libtest/libtests lib655 http://failthis/655 http://127.0.0.1:36759/655 > log/14/stdout655 2> log/14/stderr655 === End of file commands.log === Start of file http_server.log 19:01:06.656157 ====> Client connect 19:01:06.656181 accept_connection 3 returned 4 19:01:06.656193 accept_connection 3 returned 0 19:01:06.656203 Read 93 bytes 19:01:06.656211 Process 93 bytes request 19:01:06.656220 Got request: GET /verifiedserver HTTP/1.1 19:01:06.656227 Are-we-friendly question received 19:01:06.656244 Wrote request (93 bytes) input to log/14/server.input 19:01:06.656255 Identifying ourselves as friends 19:01:06.656293 Response sent (56 bytes) and written to log/14/server.response 19:01:06.656301 special request received, no persistency 19:01:06.656308 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 58942 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file stderr655 URL: http://failthis/655 === End of file stderr655 === Start of file valgrind655 ==110063== ==110063== Process terminating with default action of signal 4 (SIGILL) ==110063== Illegal opcode at address 0x51D5F1F ==110063== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110063== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110063== by 0x51D5F1F: Curl_open (url.c:525) ==110063== by 0x514F6EF: curl_easy_init (easy.c:371) ==110063== by 0x40211A6: test_lib655.lto_priv.0 (lib655.c:70) ==110063== by 0x400347F: main (first.c:280) ==110063== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110063== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110063== by 0x51D5EBD: Curl_open (url.c:504) ==110063== by 0x514F6EF: curl_easy_init (easy.c:371) ==110063== by 0x40211A6: test_lib655.lto_priv.0 (lib655.c:70) ==110063== by 0x400347F: main (first.c:280) ==110063== === End of file valgrind655 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/23/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:35243/653 > log/23/stdout653 2> log/23/stderr653 653: 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 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/23/valgrind653 ./libtest/libtests lib653 http://127.0.0.1:35243/653 > log/23/stdout653 2> log/23/stderr653 === End of file commands.log === Start of file http_server.log 19:01:06.637236 ====> Client connect 19:01:06.637258 accept_connection 3 returned 4 19:01:06.637269 accept_connection 3 returned 0 19:01:06.637284 Read 93 bytes 19:01:06.637291 Process 93 bytes request 19:01:06.637301 Got request: GET /verifiedserver HTTP/1.1 19:01:06.637308 Are-we-friendly question received 19:01:06.637325 Wrote request (93 bytes) input to log/23/server.input 19:01:06.637337 Identifying ourselves as friends 19:01:06.637374 Response sent (56 bytes) and written to log/23/server.response 19:01:06.637381 special request received, no persistency 19:01:06.637388 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 52654 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file stderr653 URL: http://127.0.0.1:35243/653 === End of file stderr653 === Start of file valgrind653 ==109988== ==109988== Process terminating with default action of signal 4 (SIGILL) ==109988== Illegal opcode at address 0x51D5F1F ==109988== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==109988== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==109988== by 0x51D5F1F: Curl_open (url.c:525) ==109988== by 0x514F6EF: curl_easy_init (easy.c:371) ==109988== by 0x4021DD0: UnknownInlinedFun (lib653.c:36) ==109988== by 0x4021DD0: test_lib653.lto_priv.0 (lib653.c:28) ==109988== by 0x400347F: main (first.c:280) ==109988== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==109988== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==109988== by 0x51D5EBD: Curl_open (url.c:504) ==109988== by 0x514F6EF: curl_easy_init (easy.c:371) ==109988== by 0x4021DD0: UnknownInlinedFun (lib653.c:36) ==109988== by 0x4021DD0: test_lib653.lto_priv.0 (lib653.c:28) ==109988== by 0x400347F: main (first.c:280) ==109988== === End of file valgrind653 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/11/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:46317 > log/11/stdout659 2> log/11/stderr659 659: 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 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/11/valgrind659 ./libtest/libtests lib659 http://127.0.0.1:46317 > log/11/stdout659 2> log/11/stderr659 === End of file commands.log === Start of file http_server.log 19:01:06.692340 ====> Client connect 19:01:06.692363 accept_connection 3 returned 4 19:01:06.692376 accept_connection 3 returned 0 19:01:06.692387 Read 93 bytes 19:01:06.692395 Process 93 bytes request 19:01:06.692406 Got request: GET /verifiedserver HTTP/1.1 19:01:06.692413 Are-we-friendly question received 19:01:06.692430 Wrote request (93 bytes) input to log/11/server.input 19:01:06.692442 Identifying ourselves as friends 19:01:06.692479 Response sent CMD (33792): ../libtool --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/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:35301/658 > log/13/stdout658 2> log/13/stderr658 CMD (33792): ../libtool --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/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:38583/671 > log/20/stdout671 2> log/20/stderr671 (56 bytes) and written to log/11/server.response 19:01:06.692486 special request received, no persistency 19:01:06.692493 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 57676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file stderr659 URL: http://127.0.0.1:46317 === End of file stderr659 === Start of file valgrind659 ==110177== ==110177== Process terminating with default action of signal 4 (SIGILL) ==110177== Illegal opcode at address 0x51D5F1F ==110177== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110177== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110177== by 0x51D5F1F: Curl_open (url.c:525) ==110177== by 0x514F6EF: curl_easy_init (easy.c:371) ==110177== by 0x402668C: UnknownInlinedFun (lib659.c:39) ==110177== by 0x402668C: test_lib659.lto_priv.0 (lib659.c:32) ==110177== by 0x400347F: main (first.c:280) ==110177== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110177== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110177== by 0x51D5EBD: Curl_open (url.c:504) ==110177== by 0x514F6EF: curl_easy_init (easy.c:371) ==110177== by 0x402668C: UnknownInlinedFun (lib659.c:39) ==110177== by 0x402668C: test_lib659.lto_priv.0 (lib659.c:32) ==110177== by 0x400347F: main (first.c:280) ==110177== === End of file valgrind659 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/13/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:35301/658 > log/13/stdout658 2> log/13/stderr658 658: 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 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/13/valgrind658 ./libtest/libtests lib658 http://127.0.0.1:35301/658 > log/13/stdout658 2> log/13/stderr658 === End of file commands.log === Start of file http_server.log 19:01:06.691177 ====> Client connect 19:01:06.691200 accept_connection 3 returned 4 19:01:06.691214 accept_connection 3 returned 0 19:01:06.691225 Read 93 bytes 19:01:06.691233 Process 93 bytes request 19:01:06.691244 Got request: GET /verifiedserver HTTP/1.1 19:01:06.691251 Are-we-friendly question received 19:01:06.691270 Wrote request (93 bytes) input to log/13/server.input 19:01:06.691282 Identifying ourselves as friends 19:01:06.691321 Response sent (56 bytes) and written to log/13/server.response 19:01:06.691329 special request received, no persistency 19:01:06.691336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 52896 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file stderr658 URL: http://127.0.0.1:35301/658 === End of file stderr658 === Start of file valgrind658 ==110175== ==110175== Process terminating with default action of signal 4 (SIGILL) ==110175== Illegal opcode at address 0x51D5F1F ==110175== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110175== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110175== by 0x51D5F1F: Curl_open (url.c:525) ==110175== by 0x514F6EF: curl_easy_init (easy.c:371) ==110175== by 0x402642C: UnknownInlinedFun (lib658.c:40) ==110175== by 0x402642C: test_lib658.lto_priv.0 (lib658.c:32) ==110175== by 0x400347F: main (first.c:280) ==110175== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110175== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110175== by 0x51D5EBD: Curl_open (url.c:504) ==110175== by 0x514F6EF: curl_easy_init (easy.c:371) ==110175== by 0x402642C: UnknownInlinedFun (lib658.c:40) ==110175== by 0x402642C: test_lib658.lto_priv.0 (lib658.c:32) ==110175== by 0x400347F: main (first.c:280) ==110175== === End of file valgrind658 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/20/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:38583/671 > log/20/stdout671 2> log/20/stderr671 671: 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 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/20/valgrind671 ./libtest/libtests lib670 http://127.0.0.1:38583/671 > log/20/stdout671 2> log/20/stderr671 === End of file commands.log === Start of file http_server.log 19:01:06.843421 ====> Client connect 19:01:06.843456 accept_connection 3 returned 4 19:01:06.843472 accept_connection 3 returned 0 19:01:06.843485 Read 93 bytes 19:01:06.843496 Process 93 bytes request 19:01:06.843509 Got request: GET /verifiedserver HTTP/1.1 19:01:06.843519 Are-we-friendly question received 19:01:06.843540 Wrote request (93 bytes) input to log/20/server.input 19:01:06.843556 Identifying ourselves as friends 19:01:06.843606 Response sent (56 bytes) and written to log/20/server.response 19:01:06.843616 special request received, no persistency 19:01:06.843625 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 54116 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file stderr671 URL: http://127.0.0.1:38583/671 === End of file stderr671 === Start of file valgrind671 ==110804== ==110804== Process terminating with default action of signal 4 (SIGILL) ==110804== Illegal opcode at address 0x51D5F1F ==110804== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110804== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110804== by 0x51D5F1F: Curl_open (url.c:525) ==110804== by 0x514F6ECMD (33792): ../libtool --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/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:46771/670 > log/5/stdout670 2> log/5/stderr670 CMD (33792): ../libtool --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/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:44531/672 > log/15/stdout672 2> log/15/stderr672 CMD (33792): ../libtool --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/valgrind662 ../src/curl -q --output log/6/curl662.out --include --trace-ascii log/6/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:41595 > log/6/stdout662 2> log/6/stderr662 F: curl_easy_init (easy.c:371) ==110804== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110804== by 0x400347F: main (first.c:280) ==110804== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110804== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110804== by 0x51D5EBD: Curl_open (url.c:504) ==110804== by 0x514F6EF: curl_easy_init (easy.c:371) ==110804== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110804== by 0x400347F: main (first.c:280) ==110804== === End of file valgrind671 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/5/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:46771/670 > log/5/stdout670 2> log/5/stderr670 670: 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 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/5/valgrind670 ./libtest/libtests lib670 http://127.0.0.1:46771/670 > log/5/stdout670 2> log/5/stderr670 === End of file commands.log === Start of file http_server.log 19:01:06.816743 ====> Client connect 19:01:06.816777 accept_connection 3 returned 4 19:01:06.816793 accept_connection 3 returned 0 19:01:06.816808 Read 93 bytes 19:01:06.816818 Process 93 bytes request 19:01:06.816832 Got request: GET /verifiedserver HTTP/1.1 19:01:06.816842 Are-we-friendly question received 19:01:06.816866 Wrote request (93 bytes) input to log/5/server.input 19:01:06.816882 Identifying ourselves as friends 19:01:06.816935 Response sent (56 bytes) and written to log/5/server.response 19:01:06.816947 special request received, no persistency 19:01:06.816957 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 43960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file stderr670 URL: http://127.0.0.1:46771/670 === End of file stderr670 === Start of file valgrind670 ==110663== ==110663== Process terminating with default action of signal 4 (SIGILL) ==110663== Illegal opcode at address 0x51D5F1F ==110663== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110663== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110663== by 0x51D5F1F: Curl_open (url.c:525) ==110663== by 0x514F6EF: curl_easy_init (easy.c:371) ==110663== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110663== by 0x400347F: main (first.c:280) ==110663== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110663== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110663== by 0x51D5EBD: Curl_open (url.c:504) ==110663== by 0x514F6EF: curl_easy_init (easy.c:371) ==110663== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110663== by 0x400347F: main (first.c:280) ==110663== === End of file valgrind670 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/15/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:44531/672 > log/15/stdout672 2> log/15/stderr672 672: 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 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/15/valgrind672 ./libtest/libtests lib670 http://127.0.0.1:44531/672 > log/15/stdout672 2> log/15/stderr672 === End of file commands.log === Start of file http_server.log 19:01:06.864594 ====> Client connect 19:01:06.864622 accept_connection 3 returned 4 19:01:06.864637 accept_connection 3 returned 0 19:01:06.864650 Read 93 bytes 19:01:06.864658 Process 93 bytes request 19:01:06.864669 Got request: GET /verifiedserver HTTP/1.1 19:01:06.864677 Are-we-friendly question received 19:01:06.864698 Wrote request (93 bytes) input to log/15/server.input 19:01:06.864711 Identifying ourselves as friends 19:01:06.864756 Response sent (56 bytes) and written to log/15/server.response 19:01:06.864764 special request received, no persistency 19:01:06.864771 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 39030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file stderr672 URL: http://127.0.0.1:44531/672 === End of file stderr672 === Start of file valgrind672 ==110892== ==110892== Process terminating with default action of signal 4 (SIGILL) ==110892== Illegal opcode at address 0x51D5F1F ==110892== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110892== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110892== by 0x51D5F1F: Curl_open (url.c:525) ==110892== by 0x514F6EF: curl_easy_init (easy.c:371) ==110892== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110892== by 0x400347F: main (first.c:280) ==110892== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110892== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110892== by 0x51D5EBD: Curl_open (url.c:504) ==110892== by 0x514F6EF: curl_easy_init (easy.c:371) ==110892== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110892== by 0x400347F: main (first.c:280) ==110892== === End of file valgrind672 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/6/valgrind662 ../src/curl -q --output log/6/curl662.out --include --trace-ascii log/6/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:41595 > log/6/stdout662 2> log/6/stderr662 662: 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 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/6/valgrind662 ../src/curl -q --output log/6/curl662.out --include --trace-ascii log/6/trace662 --trace-time http://example.com/please/gimme/662 -L -x http://127.0.0.1:41595 > log/6/stdout662 2> log/6/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/21/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:35043/666 > log/21/stdout666 2> log/21/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/24/valgrind646 ../src/curl -q --output log/24/curl646.out --include --trace-ascii log/24/trace646 --trace-time smtp://127.0.0.1:40091/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/24/headers646" -F "=)" -F "=@log/24/test646.txt;headers=" log/24/stdout646 2> log/24/stderr646 === End of file commands.log === Start of file http_server.log 19:01:06.769722 ====> Client connect 19:01:06.769747 accept_connection 3 returned 4 19:01:06.769760 accept_connection 3 returned 0 19:01:06.769771 Read 93 bytes 19:01:06.769779 Process 93 bytes request 19:01:06.769790 Got request: GET /verifiedserver HTTP/1.1 19:01:06.769797 Are-we-friendly question received 19:01:06.769817 Wrote request (93 bytes) input to log/6/server.input 19:01:06.769830 Identifying ourselves as friends 19:01:06.769870 Response sent (56 bytes) and written to log/6/server.response 19:01:06.769878 special request received, no persistency 19:01:06.769885 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 52000 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind662 ==110339== ==110339== Process terminating with default action of signal 4 (SIGILL) ==110339== Illegal opcode at address 0x4013E00 ==110339== at 0x4013E00: getparameter (tool_getparam.c:2846) ==110339== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==110339== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==110339== by 0x40037A4: main (tool_main.c:199) === End of file valgrind662 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/21/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:35043/666 > log/21/stdout666 2> log/21/stderr666 666: 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 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/21/valgrind666 ./libtest/libtests lib666 http://127.0.0.1:35043/666 > log/21/stdout666 2> log/21/stderr666 === End of file commands.log === Start of file http_server.log 19:01:06.775761 ====> Client connect 19:01:06.775794 accept_connection 3 returned 4 19:01:06.775806 accept_connection 3 returned 0 19:01:06.775817 Read 93 bytes 19:01:06.775825 Process 93 bytes request 19:01:06.775834 Got request: GET /verifiedserver HTTP/1.1 19:01:06.775842 Are-we-friendly question received 19:01:06.775861 Wrote request (93 bytes) input to log/21/server.input 19:01:06.775873 Identifying ourselves as friends 19:01:06.775914 Response sent (56 bytes) and written to log/21/server.response 19:01:06.775922 special request received, no persistency 19:01:06.775929 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 44204 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file stderr666 URL: http://127.0.0.1:35043/666 === End of file stderr666 === Start of file valgrind666 ==110493== ==110493== Process terminating with default action of signal 4 (SIGILL) ==110493== Illegal opcode at address 0x51D5F1F ==110493== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110493== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110493== by 0x51D5F1F: Curl_open (url.c:525) ==110493== by 0x514F6EF: curl_easy_init (easy.c:371) ==110493== by 0x4025192: test_lib666.lto_priv.0 (lib666.c:52) ==110493== by 0x400347F: main (first.c:280) ==110493== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110493== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110493== by 0x51D5EBD: Curl_open (url.c:504) ==110493== by 0x514F6EF: curl_easy_init (easy.c:371) ==110493== by 0x4025192: test_lib666.lto_priv.0 (lib666.c:52) ==110493== by 0x400347F: main (first.c:280) ==110493== === End of file valgrind666 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 40091 (log/24/server/smtp_server.port) RUN: SMTP server is PID 109754 port 40091 * pid smtp => 109754 109754 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/24/valgrind646 ../src/curl -q --output log/24/curl646.out --include --trace-ascii log/24/trace646 --trace-time smtp://127.0.0.1:40091/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/24/headers646" -F "=)" -F "=@log/24/test646.txt;headers=" log/24/stdout646 2> log/24/stderr646 646: 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 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/24/valgrind646 ../src/curl -q --output log/24/curl646.out --include --trace-ascii log/24/trace646 --trace-time smtp://127.0.0.1:40091/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/24/headers646" -F "=)" -F "=@log/24/test646.txt;headers=" log/24/stdout646 2> log/24/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 19:01:06.016808 SMTP server listens on port IPv4/40091 19:01:06.016864 logged pid 109754 in log/24/server/smtp_server.pid 19:01:06.016884 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:06.788676 Running IPv4 version 19:01:06.788721 Listening on port 40091 19: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/9/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:36745/667 > log/9/stdout667 2> log/9/stderr667 CMD (33792): ../libtool --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/valgrind669 ../src/curl -q --output log/17/curl669.out --include --trace-ascii log/17/trace669 --trace-time http://127.0.0.1:40515/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/17/stdout669 2> log/17/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/1/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:41393/ > log/1/stdout661 2> log/1/stderr661 1:06.788746 Wrote pid 109766 to log/24/server/smtp_sockfilt.pid 19:01:06.788767 Wrote port 40091 to log/24/server/smtp_server.port 19:01:06.788780 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 ==110335== ==110335== Process terminating with default action of signal 4 (SIGILL) ==110335== Illegal opcode at address 0x4013E00 ==110335== at 0x4013E00: getparameter (tool_getparam.c:2846) ==110335== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==110335== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==110335== by 0x40037A4: main (tool_main.c:199) === End of file valgrind646 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/9/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:36745/667 > log/9/stdout667 2> log/9/stderr667 667: 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 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/9/valgrind667 ./libtest/libtests lib667 http://127.0.0.1:36745/667 > log/9/stdout667 2> log/9/stderr667 === End of file commands.log === Start of file http_server.log 19:01:06.790629 ====> Client connect 19:01:06.790653 accept_connection 3 returned 4 19:01:06.790666 accept_connection 3 returned 0 19:01:06.790678 Read 93 bytes 19:01:06.790686 Process 93 bytes request 19:01:06.790697 Got request: GET /verifiedserver HTTP/1.1 19:01:06.790704 Are-we-friendly question received 19:01:06.790722 Wrote request (93 bytes) input to log/9/server.input 19:01:06.790735 Identifying ourselves as friends 19:01:06.790791 Response sent (56 bytes) and written to log/9/server.response 19:01:06.790799 special request received, no persistency 19:01:06.790807 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 52508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file stderr667 URL: http://127.0.0.1:36745/667 === End of file stderr667 === Start of file valgrind667 ==110477== ==110477== Process terminating with default action of signal 4 (SIGILL) ==110477== Illegal opcode at address 0x51D5F1F ==110477== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110477== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110477== by 0x51D5F1F: Curl_open (url.c:525) ==110477== by 0x514F6EF: curl_easy_init (easy.c:371) ==110477== by 0x4025459: test_lib667.lto_priv.0 (lib667.c:74) ==110477== by 0x400347F: main (first.c:280) ==110477== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110477== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110477== by 0x51D5EBD: Curl_open (url.c:504) ==110477== by 0x514F6EF: curl_easy_init (easy.c:371) ==110477== by 0x4025459: test_lib667.lto_priv.0 (lib667.c:74) ==110477== by 0x400347F: main (first.c:280) ==110477== === End of file valgrind667 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/17/valgrind669 ../src/curl -q --output log/17/curl669.out --include --trace-ascii log/17/trace669 --trace-time http://127.0.0.1:40515/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/17/stdout669 2> log/17/stderr669 669: 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 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/17/valgrind669 ../src/curl -q --output log/17/curl669.out --include --trace-ascii log/17/trace669 --trace-time http://127.0.0.1:40515/we/want/669 -H 'Content-type: multipart/form-data; charset=utf-8' -F name=daniel -F tool=curl > log/17/stdout669 2> log/17/stderr669 === End of file commands.log === Start of file http_server.log 19:01:07.807579 ====> Client connect 19:01:07.807636 accept_connection 3 returned 4 19:01:07.807669 accept_connection 3 returned 0 19:01:07.807687 Read 93 bytes 19:01:07.807699 Process 93 bytes request 19:01:07.807713 Got request: GET /verifiedserver HTTP/1.1 19:01:07.807723 Are-we-friendly question received 19:01:07.807759 Wrote request (93 bytes) input to log/17/server.input 19:01:07.807778 Identifying ourselves as friends 19:01:07.807844 Response sent (56 bytes) and written to log/17/server.response 19:01:07.807856 special request received, no persistency 19:01:07.807866 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 49770 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind669 ==110590== ==110590== Process terminating with default action of signal 4 (SIGILL) ==110590== Illegal opcode at address 0x4013E00 ==110590== at 0x4013E00: getparameter (tool_getparam.c:2846) ==110590== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==110590== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==110590== by 0x40037A4: main (tool_main.c:199) === End of file valgrind669 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/1/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:41393/ > log/1/stdout661 2> log/1/stderr661 661: 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 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/1/valgrind661 ./libtest/libtests lib661 ftp://127.0.0.1:41393/ > log/1/stdout661 2> log/1/stderr661 === End of file commands.log === Start of file ftp_server.log 19:01:06.990452 ====> Client connect 19:01:06.990600 > "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/4/valgrind663 ../src/curl -q --output log/4/curl663.out --include --trace-ascii log/4/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:37985 > log/4/stdout663 2> log/4/stderr663 | | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:06.990819 < "USER anonymous" 19:01:06.990847 > "331 We are happy you popped in![CR][LF]" 19:01:06.990971 < "PASS ftp@example.com" 19:01:06.990989 > "230 Welcome you silly person[CR][LF]" 19:01:06.991099 < "PWD" 19:01:06.991123 > "257 "/" is current directory[CR][LF]" 19:01:06.991291 < "EPSV" 19:01:06.991309 ====> Passive DATA channel requested by client 19:01:06.991320 DATA sockfilt for passive data channel starting... 19:01:06.992502 DATA sockfilt for passive data channel started (pid 110304) 19:01:06.992582 DATA sockfilt for passive data channel listens on port 46693 19:01:06.992613 > "229 Entering Passive Mode (|||46693|)[CR][LF]" 19:01:06.992629 Client has been notified that DATA conn will be accepted on port 46693 19:01:06.992799 Client connects to port 46693 19:01:06.992821 ====> Client established passive DATA connection on port 46693 19:01:06.992875 < "TYPE I" 19:01:06.992894 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:06.993010 < "SIZE verifiedserver" 19:01:06.993037 > "213 17[CR][LF]" 19:01:06.993151 < "RETR verifiedserver" 19:01:06.993175 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:06.993236 =====> Closing passive DATA connection... 19:01:06.993247 Server disconnects passive DATA connection 19:01:06.993365 Server disconnected passive DATA connection 19:01:06.993412 DATA sockfilt for passive data channel quits (pid 110304) 19:01:06.993692 DATA sockfilt for passive data channel quit (pid 110304) 19:01:06.993738 =====> Closed passive DATA connection 19:01:06.993763 > "226 File transfer complete[CR][LF]" 19:01:07.039032 < "QUIT" 19:01:07.039091 > "221 bye bye baby[CR][LF]" 19:01:07.039375 MAIN sockfilt said DISC 19:01:07.039422 ====> Client disconnected 19:01:07.039487 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:07.762425 ====> Client connect 19:01:07.762667 Received DATA (on stdin) 19:01:07.762680 > 160 bytes data, server => client 19:01:07.762690 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:07.762698 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:07.762706 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:07.762768 < 16 bytes data, client => server 19:01:07.762778 'USER anonymous\r\n' 19:01:07.762902 Received DATA (on stdin) 19:01:07.762912 > 33 bytes data, server => client 19:01:07.762921 '331 We are happy you popped in!\r\n' 19:01:07.762960 < 22 bytes data, client => server 19:01:07.762968 'PASS ftp@example.com\r\n' 19:01:07.763042 Received DATA (on stdin) 19:01:07.763051 > 30 bytes data, server => client 19:01:07.763059 '230 Welcome you silly person\r\n' 19:01:07.763094 < 5 bytes data, client => server 19:01:07.763102 'PWD\r\n' 19:01:07.763175 Received DATA (on stdin) 19:01:07.763183 > 30 bytes data, server => client 19:01:07.763192 '257 "/" is current directory\r\n' 19:01:07.763233 < 6 bytes data, client => server 19:01:07.763241 'EPSV\r\n' 19:01:07.764685 Received DATA (on stdin) 19:01:07.764696 > 39 bytes data, server => client 19:01:07.764705 '229 Entering Passive Mode (|||46693|)\r\n' 19:01:07.764812 < 8 bytes data, client => server 19:01:07.764822 'TYPE I\r\n' 19:01:07.764947 Received DATA (on stdin) 19:01:07.764956 > 33 bytes data, server => client 19:01:07.764965 '200 I modify TYPE as you wanted\r\n' 19:01:07.765002 < 21 bytes data, client => server 19:01:07.765011 'SIZE verifiedserver\r\n' 19:01:07.765090 Received DATA (on stdin) 19:01:07.765099 > 8 bytes data, server => client 19:01:07.765107 '213 17\r\n' 19:01:07.765145 < 21 bytes data, client => server 19:01:07.765153 'RETR verifiedserver\r\n' 19:01:07.765302 Received DATA (on stdin) 19:01:07.765312 > 29 bytes data, server => client 19:01:07.765320 '150 Binary junk (17 bytes).\r\n' 19:01:07.765819 Received DATA (on stdin) 19:01:07.765831 > 28 bytes data, server => client 19:01:07.765840 '226 File transfer complete\r\n' 19:01:07.810926 < 6 bytes data, client => server 19:01:07.810951 'QUIT\r\n' 19:01:07.811154 Received DATA (on stdin) 19:01:07.811167 > 18 bytes data, server => client 19:01:07.811178 '221 bye bye baby\r\n' 19:01:07.811365 ====> Client disconnect 19:01:07.811483 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:06.764424 Running IPv4 version 19:01:06.764470 Listening on port 46693 19:01:06.764497 Wrote pid 110304 to log/1/server/ftp_sockdata.pid 19:01:06.764512 Received PING (on stdin) 19:01:06.764573 Received PORT (on stdin) 19:01:06.764791 ====> Client connect 19:01:06.765339 Received DATA (on stdin) 19:01:06.765350 > 17 bytes data, server => client 19:01:06.765358 'WE ROOLZ: 80887\r\n' 19:01:06.765376 Received DISC (on stdin) 19:01:06.765385 ====> Client forcibly disconnected 19:01:06.765492 Received QUIT (on stdin) 19:01:06.765510 quits 19:01:06.765570 ============> 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:41393/ === End of file stderr661 === Start of file valgrind661 ==110612== ==110612== Process terminating with default action of signal 4 (SIGILL) ==110612== Illegal opcode at address 0x51D5F1F ==110612== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110612== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110612== by 0x51D5F1F: Curl_open (url.c:525) ==110612== by 0x514F6EF: curl_easy_init (easy.c:371) ==110612== by 0x4026B70: test_lib661.lto_priv.0 (lib661.c:40) ==110612== by 0x400347F: main (first.c:280) ==110612== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110612== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110612== by 0x51D5EBD: Curl_open (url.c:504) ==110612== by 0x514F6EF: curl_easy_init (easy.c:371) ==110612== by 0x4026B70: test_lib661.lto_priv.0 (lib661.c:40) ==110612== by 0x400347F: main (first.c:280) ==110612== === End of file valgrind661 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/4/valgrind663 ../src/curl -q --output log/4/curl663.out --include --trace-ascii log/4/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:37985 > log/4/stdout663 2> log/4/stderr663 663: 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 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/4/valgrind663 ../src/curl -q --output log/4/curl663.out --include --trace-ascii log/4/trace663 --trace-time http://example.com/please/../gimme/663?foobar#hello -L -x http://127.0.0.1:37985 > log/4/stdout663 2> log/4/stderr663 === End of file commands.log === Start of file http_server.log 19:01:07.771820 ====> Client connect 19:01:07.771844 accept_connection 3 returned 4 19:01:07.771856 accept_connection 3 returned 0 19:01:07.771867 Read 93 bytes 19:01:07.771875 Process 93 bytes request 19:01:07.771886 Got request: GET /verifiedserver HTTP/1.1 19:01:07.771893 Are-we-friendly question received 19:01:07.771911 Wrote request (93 bytes) input to log/4/server.input 19:01:07.771925 Identifying ourselves as friends 19:01:07.771965 Response sent (56 bytes) and written to log/4/server.response 19:01:07.771973 special request received, no persistency 19:01:07.771980 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 55306 * 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/10/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:37879/668 log/10/file668.txt > log/10/stdout668 2> log/10/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/7/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:41017/673 > log/7/stdout673 2> log/7/stderr673 CMD (33792): ../libtool --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/valgrind647 ../src/curl -q --output log/2/curl647.out --include --trace-ascii log/2/trace647 --trace-time imap://127.0.0.1:42853/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/2/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/2/stdout647 2> log/2/stderr647 Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind663 ==110356== ==110356== Process terminating with default action of signal 4 (SIGILL) ==110356== Illegal opcode at address 0x4013E00 ==110356== at 0x4013E00: getparameter (tool_getparam.c:2846) ==110356== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==110356== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==110356== by 0x40037A4: main (tool_main.c:199) === End of file valgrind663 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/10/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:37879/668 log/10/file668.txt > log/10/stdout668 2> log/10/stderr668 668: 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 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/10/valgrind668 ./libtest/libtests lib668 http://127.0.0.1:37879/668 log/10/file668.txt > log/10/stdout668 2> log/10/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 19:01:06.808606 ====> Client connect 19:01:06.808636 accept_connection 3 returned 4 19:01:06.808652 accept_connection 3 returned 0 19:01:06.808667 Read 93 bytes 19:01:06.808678 Process 93 bytes request 19:01:06.808692 Got request: GET /verifiedserver HTTP/1.1 19:01:06.808702 Are-we-friendly question received 19:01:06.808731 Wrote request (93 bytes) input to log/10/server.input 19:01:06.808748 Identifying ourselves as friends 19:01:06.808797 Response sent (56 bytes) and written to log/10/server.response 19:01:06.808807 special request received, no persistency 19:01:06.808817 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 53782 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file stderr668 URL: http://127.0.0.1:37879/668 === End of file stderr668 === Start of file valgrind668 ==110607== ==110607== Process terminating with default action of signal 4 (SIGILL) ==110607== Illegal opcode at address 0x51D5F1F ==110607== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110607== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110607== by 0x51D5F1F: Curl_open (url.c:525) ==110607== by 0x514F6EF: curl_easy_init (easy.c:371) ==110607== by 0x4025E19: test_lib668.lto_priv.0 (lib668.c:68) ==110607== by 0x400347F: main (first.c:280) ==110607== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110607== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110607== by 0x51D5EBD: Curl_open (url.c:504) ==110607== by 0x514F6EF: curl_easy_init (easy.c:371) ==110607== by 0x4025E19: test_lib668.lto_priv.0 (lib668.c:68) ==110607== by 0x400347F: main (first.c:280) ==110607== === End of file valgrind668 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/7/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:41017/673 > log/7/stdout673 2> log/7/stderr673 673: 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 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/7/valgrind673 ./libtest/libtests lib670 http://127.0.0.1:41017/673 > log/7/stdout673 2> log/7/stderr673 === End of file commands.log === Start of file http_server.log 19:01:06.962409 ====> Client connect 19:01:06.962446 accept_connection 3 returned 4 19:01:06.962465 accept_connection 3 returned 0 19:01:06.962482 Read 93 bytes 19:01:06.962494 Process 93 bytes request 19:01:06.962509 Got request: GET /verifiedserver HTTP/1.1 19:01:06.962520 Are-we-friendly question received 19:01:06.962578 Wrote request (93 bytes) input to log/7/server.input 19:01:06.962597 Identifying ourselves as friends 19:01:06.962666 Response sent (56 bytes) and written to log/7/server.response 19:01:06.962678 special request received, no persistency 19:01:06.962689 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 52820 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file stderr673 URL: http://127.0.0.1:41017/673 === End of file stderr673 === Start of file valgrind673 ==110977== ==110977== Process terminating with default action of signal 4 (SIGILL) ==110977== Illegal opcode at address 0x51D5F1F ==110977== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==110977== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==110977== by 0x51D5F1F: Curl_open (url.c:525) ==110977== by 0x514F6EF: curl_easy_init (easy.c:371) ==110977== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110977== by 0x400347F: main (first.c:280) ==110977== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==110977== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==110977== by 0x51D5EBD: Curl_open (url.c:504) ==110977== by 0x514F6EF: curl_easy_init (easy.c:371) ==110977== by 0x40273B0: test_lib670.lto_priv.0 (lib670.c:109) ==110977== by 0x400347F: main (first.c:280) ==110977== === End of file valgrind673 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 42853 (log/2/server/imap_server.port) RUN: IMAP server is PID 109814 port 42853 * pid imap => 109814 109814 test 0647...[IMAP APPEND multipart using mime API] ../libtool --mode=execute /usr/CMD (33792): ../libtool --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/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:43853/674 > log/8/stdout674 2> log/8/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/16/valgrind675 ../src/curl -q --output log/16/curl675.out --include --trace-ascii log/16/trace675 --trace-time http://user1:foo1@127.0.0.1:42747/user1/675 http://user2:foo2@127.0.0.1:42747/user2/675 > log/16/stdout675 2> log/16/stderr675 bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind647 ../src/curl -q --output log/2/curl647.out --include --trace-ascii log/2/trace647 --trace-time imap://127.0.0.1:42853/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/2/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/2/stdout647 2> log/2/stderr647 647: 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 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/2/valgrind647 ../src/curl -q --output log/2/curl647.out --include --trace-ascii log/2/trace647 --trace-time imap://127.0.0.1:42853/647 -F "=(;type=multipart/alternative" -F "= This is the html version;type=text/html" -F "=This is the plain text version" -F "=)" -F "=@log/2/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/2/stdout647 2> log/2/stderr647 === End of file commands.log === Start of file imap_server.log 19:01:06.329773 IMAP server listens on port IPv4/42853 19:01:06.329820 logged pid 109814 in log/2/server/imap_server.pid 19:01:06.329837 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:06.101621 Running IPv4 version 19:01:06.101680 Listening on port 42853 19:01:06.101729 Wrote pid 109815 to log/2/server/imap_sockfilt.pid 19:01:06.101749 Wrote port 42853 to log/2/server/imap_server.port 19:01:06.101764 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 ==111037== ==111037== Process terminating with default action of signal 4 (SIGILL) ==111037== Illegal opcode at address 0x4013E00 ==111037== at 0x4013E00: getparameter (tool_getparam.c:2846) ==111037== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111037== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111037== by 0x40037A4: main (tool_main.c:199) === End of file valgrind647 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/8/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:43853/674 > log/8/stdout674 2> log/8/stderr674 674: 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 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/8/valgrind674 ./libtest/libtests lib674 http://127.0.0.1:43853/674 > log/8/stdout674 2> log/8/stderr674 === End of file commands.log === Start of file http_server.log 19:01:07.154624 ====> Client connect 19:01:07.154658 accept_connection 3 returned 4 19:01:07.154677 accept_connection 3 returned 0 19:01:07.154692 Read 93 bytes 19:01:07.154703 Process 93 bytes request 19:01:07.154717 Got request: GET /verifiedserver HTTP/1.1 19:01:07.154727 Are-we-friendly question received 19:01:07.154751 Wrote request (93 bytes) input to log/8/server.input 19:01:07.154769 Identifying ourselves as friends 19:01:07.154825 Response sent (56 bytes) and written to log/8/server.response 19:01:07.154836 special request received, no persistency 19:01:07.154846 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 40078 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file stderr674 URL: http://127.0.0.1:43853/674 === End of file stderr674 === Start of file valgrind674 ==111113== ==111113== Process terminating with default action of signal 4 (SIGILL) ==111113== Illegal opcode at address 0x51D5F1F ==111113== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==111113== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==111113== by 0x51D5F1F: Curl_open (url.c:525) ==111113== by 0x514F6EF: curl_easy_init (easy.c:371) ==111113== by 0x4026910: UnknownInlinedFun (lib674.c:41) ==111113== by 0x4026910: test_lib674.lto_priv.0 (lib674.c:32) ==111113== by 0x400347F: main (first.c:280) ==111113== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==111113== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==111113== by 0x51D5EBD: Curl_open (url.c:504) ==111113== by 0x514F6EF: curl_easy_init (easy.c:371) ==111113== by 0x4026910: UnknownInlinedFun (lib674.c:41) ==111113== by 0x4026910: test_lib674.lto_priv.0 (lib674.c:32) ==111113== by 0x400347F: main (first.c:280) ==111113== === End of file valgrind674 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/16/valgrind675 ../src/curl -q --output log/16/curl675.out --include --trace-ascii log/16/trace675 --trace-time http://user1:foo1@127.0.0.1:42747/user1/675 http://user2:foo2@127.0.0.1:42747/user2/675 > log/16/stdout675 2> log/16/stderr675 675: 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 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/16/valgrind675 ../src/curl -q --output log/16/curl675.out --include --trace-ascii log/16/trace675 --trace-time http://user1:foo1@127.0.0.1:42747/user1/675 http://user2:foo2@127.0.0.1:42747/user2/675 > log/16/stdout675 2> log/16/stderr675 === End of file commands.log === Start of file http_server.log 19:01:08.187044 ====> Client connect 19:01:08.187077 accept_connection 3 returned 4 19:01:08.187094 accept_connection 3 returned 0 19:01:08.187110 Read 93 bytes 19:01:08.187121 Process 93 bytes request 19:01:08.187134 Got request: GET /verifiedserver HTTP/1.1 19:01:08.187145 Are-we-friendly question received 19:01:08.187169 Wrote request (93 bytes) input to log/16/server.input 19:01:08.187186 Identifying ourselves as friends 19:01:08.187243 Response sent (56 bytes) and written to log/16/server.response 19:01:08.187254 special request received, no persistency 19:01:08.187264 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) 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/12/valgrind648 ../src/curl -q --output log/12/curl648.out --include --trace-ascii log/12/trace648 --trace-time smtp://127.0.0.1:42749/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/12/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/12/stdout648 2> log/12/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/19/valgrind649 ../src/curl -q --output log/19/curl649.out --include --trace-ascii log/19/trace649 --trace-time smtp://127.0.0.1:33483/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/19/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/19/stdout649 2> log/19/stderr649 CMD (33792): ../libtool --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/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:34079/652 > log/18/stdout652 2> log/18/stderr652 27.0.0.1 port 39706 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind675 ==111169== ==111169== Process terminating with default action of signal 4 (SIGILL) ==111169== Illegal opcode at address 0x4013E00 ==111169== at 0x4013E00: getparameter (tool_getparam.c:2846) ==111169== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111169== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111169== by 0x40037A4: 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/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 42749 (log/12/server/smtp_server.port) RUN: SMTP server is PID 109817 port 42749 * pid smtp => 109817 109817 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/12/valgrind648 ../src/curl -q --output log/12/curl648.out --include --trace-ascii log/12/trace648 --trace-time smtp://127.0.0.1:42749/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/12/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/12/stdout648 2> log/12/stderr648 648: 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 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/12/valgrind648 ../src/curl -q --output log/12/curl648.out --include --trace-ascii log/12/trace648 --trace-time smtp://127.0.0.1:42749/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/12/test648.txt;encoder=base64" -H "From: different" -H "To: another" log/12/stdout648 2> log/12/stderr648 === End of file commands.log === Start of file server.cmd Testnum 648 === End of file server.cmd === Start of file smtp_server.log 19:01:06.447649 SMTP server listens on port IPv4/42749 19:01:06.447704 logged pid 109817 in log/12/server/smtp_server.pid 19:01:06.447723 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:06.219517 Running IPv4 version 19:01:06.219564 Listening on port 42749 19:01:06.219591 Wrote pid 109818 to log/12/server/smtp_sockfilt.pid 19:01:06.219612 Wrote port 42749 to log/12/server/smtp_server.port 19:01:06.219626 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 ==111188== ==111188== Process terminating with default action of signal 4 (SIGILL) ==111188== Illegal opcode at address 0x4013E00 ==111188== at 0x4013E00: getparameter (tool_getparam.c:2846) ==111188== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111188== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111188== by 0x40037A4: 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/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 33483 (log/19/server/smtp_server.port) RUN: SMTP server is PID 109820 port 33483 * pid smtp => 109820 109820 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/19/valgrind649 ../src/curl -q --output log/19/curl649.out --include --trace-ascii log/19/trace649 --trace-time smtp://127.0.0.1:33483/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/19/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/19/stdout649 2> log/19/stderr649 649: 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 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/19/valgrind649 ../src/curl -q --output log/19/curl649.out --include --trace-ascii log/19/trace649 --trace-time smtp://127.0.0.1:33483/649 --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@log/19/test649.txt;encoder=7bit" -H "From: different" -H "To: another" log/19/stdout649 2> log/19/stderr649 === End of file commands.log === Start of file server.cmd Testnum 649 === End of file server.cmd === Start of file smtp_server.log 19:01:06.623520 SMTP server listens on port IPv4/33483 19:01:06.623569 logged pid 109820 in log/19/server/smtp_server.pid 19:01:06.623586 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:06.395403 Running IPv4 version 19:01:06.395451 Listening on port 33483 19:01:06.395476 Wrote pid 109838 to log/19/server/smtp_sockfilt.pid 19:01:06.395495 Wrote port 33483 to log/19/server/smtp_server.port 19:01:06.395508 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 ==111305== ==111305== Process terminating with default action of signal 4 (SIGILL) ==111305== Illegal opcode at address 0x4013E00 ==111305== at 0x4013E00: getparameter (tool_getparam.c:2846) ==111305== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111305== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111305== by 0x40037A4: main (tool_main.c:199) === End of file valgrind649 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 34079 (log/18/server/smtp_server.port) RUN: SMTP server is PID 109952 port 34079 * pid smtp => 109952 109952 test 0652...[SMTP with encoded hugCMD (33792): ../libtool --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/valgrind680 ../src/curl -q --output log/11/curl680.out --include --trace-ascii log/11/trace680 --trace-time --netrc --netrc-file log/11/netrc680 http://user1@http.example/ > log/11/stdout680 2> log/11/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/22/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:41061/we/want/676 log/22/cookies676 > log/22/stdout676 2> log/22/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/23/valgrind679 ../src/curl -q --output log/23/curl679.out --include --trace-ascii log/23/trace679 --trace-time --netrc-optional --netrc-file log/23/netrc679 http://127.0.0.1:35243/ > log/23/stdout679 2> log/23/stderr679 e 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/18/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:34079/652 > log/18/stdout652 2> log/18/stderr652 652: 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 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/18/valgrind652 ./libtest/libtests lib652 smtp://127.0.0.1:34079/652 > log/18/stdout652 2> log/18/stderr652 === End of file commands.log === Start of file server.cmd Testnum 652 === End of file server.cmd === Start of file smtp_server.log 19:01:06.731792 SMTP server listens on port IPv4/34079 19:01:06.731854 logged pid 109952 in log/18/server/smtp_server.pid 19:01:06.731873 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:06.502945 Running IPv4 version 19:01:06.503016 Listening on port 34079 19:01:06.503042 Wrote pid 109953 to log/18/server/smtp_sockfilt.pid 19:01:06.503064 Wrote port 34079 to log/18/server/smtp_server.port 19:01:06.503778 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file stderr652 URL: smtp://127.0.0.1:34079/652 === End of file stderr652 === Start of file valgrind652 ==111392== ==111392== Process terminating with default action of signal 4 (SIGILL) ==111392== Illegal opcode at address 0x51D5F1F ==111392== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==111392== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==111392== by 0x51D5F1F: Curl_open (url.c:525) ==111392== by 0x514F6EF: curl_easy_init (easy.c:371) ==111392== by 0x402568D: test_lib652.lto_priv.0 (lib652.c:50) ==111392== by 0x400347F: main (first.c:280) ==111392== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==111392== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==111392== by 0x51D5EBD: Curl_open (url.c:504) ==111392== by 0x514F6EF: curl_easy_init (easy.c:371) ==111392== by 0x402568D: test_lib652.lto_priv.0 (lib652.c:50) ==111392== by 0x400347F: main (first.c:280) ==111392== === 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/11/valgrind680 ../src/curl -q --output log/11/curl680.out --include --trace-ascii log/11/trace680 --trace-time --netrc --netrc-file log/11/netrc680 http://user1@http.example/ > log/11/stdout680 2> log/11/stderr680 curl returned 132, when expecting 26 680: exit FAILED == Contents of files in the log/11/ 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/11/valgrind680 ../src/curl -q --output log/11/curl680.out --include --trace-ascii log/11/trace680 --trace-time --netrc --netrc-file log/11/netrc680 http://user1@http.example/ > log/11/stdout680 2> log/11/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 ==111511== ==111511== Process terminating with default action of signal 4 (SIGILL) ==111511== Illegal opcode at address 0x4013E00 ==111511== at 0x4013E00: getparameter (tool_getparam.c:2846) ==111511== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111511== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111511== by 0x40037A4: main (tool_main.c:199) === End of file valgrind680 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/22/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:41061/we/want/676 log/22/cookies676 > log/22/stdout676 2> log/22/stderr676 676: 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 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/22/valgrind676 ./libtest/libtests lib676 http://127.0.0.1:41061/we/want/676 log/22/cookies676 > log/22/stdout676 2> log/22/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 19:01:07.511661 ====> Client connect 19:01:07.511698 accept_connection 3 returned 4 19:01:07.511715 accept_connection 3 returned 0 19:01:07.511731 Read 93 bytes 19:01:07.511742 Process 93 bytes request 19:01:07.511758 Got request: GET /verifiedserver HTTP/1.1 19:01:07.511769 Are-we-friendly question received 19:01:07.511796 Wrote request (93 bytes) input to log/22/server.input 19:01:07.511814 Identifying ourselves as friends 19:01:07.511869 Response sent (56 bytes) and written to log/22/server.response 19:01:07.511880 special request received, no persistency 19:01:07.511890 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 40340 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file stderr676 URL: http://127.0.0.1:41061/we/want/676 === End of file stderr676 === Start of file valgrind676 ==111393== ==111393== Process terminating with default action of signal 4 (SIGILL) ==111393== Illegal opcode at address 0x51D5F1F ==111393== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==111393== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==111393== by 0x51D5F1F: Curl_open (url.c:525) ==111393== by 0x514F6EF: curl_easy_init (easy.c:371) ==111393== by 0x4021386: test_lib676.lto_priv.0 (lib676.c:38) ==111393== by 0x400347F: main (first.c:280) ==111393== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==111393== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==111393== by 0x51D5EBD: Curl_open (url.c:504) ==111393== by 0x514F6EF: curl_easy_init (easy.c:371) ==111393== by 0x4021386: test_lib676.lto_priv.0 (lib676.c:38) ==111393== by 0x400347F: main (first.c:280) ==111393== === End of file valgrind676 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/23/valgrind679 ../src/curl -q --output log/23/curl679.out --include --trace-ascii log/23/trace679 --trace-time --netrc-optional --netrc-file log/23/netrc679 http://127.0.0.1:35243/ > log/23/stdout679 2> log/23/stderr679 679: 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 CMD (33792): ../libtool --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/valgrind681 ../src/curl -q --trace-ascii log/13/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:35301/681 > log/13/stdout681 2> log/13/stderr681 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/23/valgrind679 ../src/curl -q --output log/23/curl679.out --include --trace-ascii log/23/trace679 --trace-time --netrc-optional --netrc-file log/23/netrc679 http://127.0.0.1:35243/ > log/23/stdout679 2> log/23/stderr679 === End of file commands.log === Start of file http_server.log 19:01:07.550711 ====> Client connect 19:01:07.550748 accept_connection 3 returned 4 19:01:07.550774 accept_connection 3 returned 0 19:01:07.550792 Read 93 bytes 19:01:07.550803 Process 93 bytes request 19:01:07.550817 Got request: GET /verifiedserver HTTP/1.1 19:01:07.550829 Are-we-friendly question received 19:01:07.550856 Wrote request (93 bytes) input to log/23/server.input 19:01:07.550874 Identifying ourselves as friends 19:01:07.550930 Response sent (56 bytes) and written to log/23/server.response 19:01:07.550941 special request received, no persistency 19:01:07.550951 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 52668 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind679 ==111472== ==111472== Process terminating with default action of signal 4 (SIGILL) ==111472== Illegal opcode at address 0x4013E00 ==111472== at 0x4013E00: getparameter (tool_getparam.c:2846) ==111472== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111472== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111472== by 0x40037A4: 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/3/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:46125/660 > log/3/stdout660 2> log/3/stderr660 CMD (33792): ../libtool --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/valgrind683 ../src/curl -q --output log/5/curl683.out --include --trace-ascii log/5/trace683 --trace-time --netrc-optional --netrc-file log/5/netrc683 http://user2@127.0.0.1:46771/ > log/5/stdout683 2> log/5/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/20/valgrind682 ../src/curl -q --output log/20/curl682.out --include --trace-ascii log/20/trace682 --trace-time --netrc-optional --netrc-file log/20/netrc682 http://user1@127.0.0.1:38583/ > log/20/stdout682 2> log/20/stderr682 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/13/valgrind681 ../src/curl -q --trace-ascii log/13/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:35301/681 > log/13/stdout681 2> log/13/stderr681 681: stdout FAILED: --- log/13/check-expected 2025-11-13 19:01:08.849391299 +0000 +++ log/13/check-generated 2025-11-13 19:01:08.849391299 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/13/ 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/13/valgrind681 ../src/curl -q --trace-ascii log/13/trace681 --trace-time --remote-name-all --no-remote-name --output-dir log http://127.0.0.1:35301/681 > log/13/stdout681 2> log/13/stderr681 === End of file commands.log === Start of file http_server.log 19:01:07.610075 ====> Client connect 19:01:07.610107 accept_connection 3 returned 4 19:01:07.610124 accept_connection 3 returned 0 19:01:07.610138 Read 93 bytes 19:01:07.610149 Process 93 bytes request 19:01:07.610162 Got request: GET /verifiedserver HTTP/1.1 19:01:07.610171 Are-we-friendly question received 19:01:07.610196 Wrote request (93 bytes) input to log/13/server.input 19:01:07.610213 Identifying ourselves as friends 19:01:07.610269 Response sent (56 bytes) and written to log/13/server.response 19:01:07.610279 special request received, no persistency 19:01:07.610288 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 52904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind681 ==111622== ==111622== Process terminating with default action of signal 4 (SIGILL) ==111622== Illegal opcode at address 0x4013E00 ==111622== at 0x4013E00: getparameter (tool_getparam.c:2846) ==111622== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111622== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111622== by 0x40037A4: main (tool_main.c:199) === End of file valgrind681 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 46125 (log/3/server/imap_server.port) RUN: IMAP server is PID 110266 port 46125 * pid imap => 110266 110266 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/3/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:46125/660 > log/3/stdout660 2> log/3/stderr660 660: 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 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/3/valgrind660 ./libtest/libtests lib597 imap://127.0.0.1:46125/660 > log/3/stdout660 2> log/3/stderr660 === End of file commands.log === Start of file imap_server.log 19:01:06.980372 IMAP server listens on port IPv4/46125 19:01:06.980444 logged pid 110266 in log/3/server/imap_server.pid 19:01:06.980470 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:06.752102 Running IPv4 version 19:01:06.752219 Listening on port 46125 19:01:06.752257 Wrote pid 110270 to log/3/server/imap_sockfilt.pid 19:01:06.752281 Wrote port 46125 to log/3/server/imap_server.port 19:01:06.752346 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:46125/660 === End of file stderr660 === Start of file valgrind660 ==111681== ==111681== Process terminating with default action of signal 4 (SIGILL) ==111681== Illegal opcode at address 0x51D5F1F ==111681== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==111681== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==111681== by 0x51D5F1F: Curl_open (url.c:525) ==111681== by 0x514F6EF: curl_easy_init (easy.c:371) ==111681== by 0x405FB55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==111681== by 0x400347F: main (first.c:280) ==111681== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==111681== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==111681== by 0x51D5EBD: Curl_open (url.c:504) ==111681== by 0x514F6EF: curl_easy_init (easy.c:371) ==111681== by 0x405FB55: test_lib597.part.0.lto_priv.0 (lib597.c:50) ==111681== by 0x400347F: main (first.c:280) ==111681== === End of file valgrind660 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/5/valgrind683 ../src/curl -q --output log/5/curl683.out --include --trace-ascii log/5/trace683 --trace-time --netrc-optional --netrc-file log/5/netrc683 http://user2@127.0.0.1:46771/ > log/5/stdout683 2> log/5/stderr683 683: 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 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/5/valgrind683 ../src/curl -q --output log/5/curl683.out --include --trace-ascii log/5/trace683 --trace-time --netrc-optional --netrc-file log/5/netrc683 http://user2@127.0.0.1:46771/ > log/5/stdout683 2> log/5/stderr683 === End of file commands.log === Start of file http_server.log 19:01:07.763285 ====> Client connect 19:01:07.763317 accept_connection 3 returned 4 19:01:07.763335 accept_connection 3 returned 0 19:01:07.763349 Read 93 bytes 19:01:07.763360 Process 93 bytes request 19:01:07.763374 Got request: GET /verifiedserver HTTP/1.1 19:01:07.763384 Are-we-friendly question received 19:01:07.763412 Wrote request (93 bytes) input to log/5/server.input 19:01:07.763429 Identifying ourselves as friends 19:01:07.763489 Response sent (56 bytes) and written to log/5/server.response 19:01:07.763500 special request received, no persistency 19:01:07.763681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 43972 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WECMD (33792): ../libtool --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/valgrind685 ../src/curl -q --output log/6/curl685.out --include --trace-ascii log/6/trace685 --trace-time --netrc-optional --netrc-file log/6/netrc685 http://user@127.0.0.1:41595/ > log/6/stdout685 2> log/6/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/21/valgrind686 ../src/curl -q --output log/21/curl686.out --include --trace-ascii log/21/trace686 --trace-time htdhdhdtp://localhost --next > log/21/stdout686 2> log/21/stderr686 ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind683 ==111762== ==111762== Process terminating with default action of signal 4 (SIGILL) ==111762== Illegal opcode at address 0x4013E00 ==111762== at 0x4013E00: getparameter (tool_getparam.c:2846) ==111762== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111762== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111762== by 0x40037A4: main (tool_main.c:199) === End of file valgrind683 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/20/valgrind682 ../src/curl -q --output log/20/curl682.out --include --trace-ascii log/20/trace682 --trace-time --netrc-optional --netrc-file log/20/netrc682 http://user1@127.0.0.1:38583/ > log/20/stdout682 2> log/20/stderr682 682: 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 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/20/valgrind682 ../src/curl -q --output log/20/curl682.out --include --trace-ascii log/20/trace682 --trace-time --netrc-optional --netrc-file log/20/netrc682 http://user1@127.0.0.1:38583/ > log/20/stdout682 2> log/20/stderr682 === End of file commands.log === Start of file http_server.log 19:01:07.759429 ====> Client connect 19:01:07.759465 accept_connection 3 returned 4 19:01:07.759481 accept_connection 3 returned 0 19:01:07.759494 Read 93 bytes 19:01:07.759502 Process 93 bytes request 19:01:07.759514 Got request: GET /verifiedserver HTTP/1.1 19:01:07.759522 Are-we-friendly question received 19:01:07.759542 Wrote request (93 bytes) input to log/20/server.input 19:01:07.759555 Identifying ourselves as friends 19:01:07.759613 Response sent (56 bytes) and written to log/20/server.response 19:01:07.759622 special request received, no persistency 19:01:07.759629 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 54126 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind682 ==111752== ==111752== Process terminating with default action of signal 4 (SIGILL) ==111752== Illegal opcode at address 0x4013E00 ==111752== at 0x4013E00: getparameter (tool_getparam.c:2846) ==111752== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111752== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111752== by 0x40037A4: main (tool_main.c:199) === End of file valgrind682 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/6/valgrind685 ../src/curl -q --output log/6/curl685.out --include --trace-ascii log/6/trace685 --trace-time --netrc-optional --netrc-file log/6/netrc685 http://user@127.0.0.1:41595/ > log/6/stdout685 2> log/6/stderr685 685: 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 685 === Start of file commands.log ../libtool --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/valgrind685 ../src/curl -q --output log/6/curl685.out --include --trace-ascii log/6/trace685 --trace-time --netrc-optional --netrc-file log/6/netrc685 http://user@127.0.0.1:41595/ > log/6/stdout685 2> log/6/stderr685 === End of file commands.log === Start of file http_server.log 19:01:07.801761 ====> Client connect 19:01:07.801796 accept_connection 3 returned 4 19:01:07.801813 accept_connection 3 returned 0 19:01:07.801828 Read 93 bytes 19:01:07.801839 Process 93 bytes request 19:01:07.801852 Got request: GET /verifiedserver HTTP/1.1 19:01:07.801862 Are-we-friendly question received 19:01:07.801889 Wrote request (93 bytes) input to log/6/server.input 19:01:07.801907 Identifying ourselves as friends 19:01:07.801963 Response sent (56 bytes) and written to log/6/server.response 19:01:07.801974 special request received, no persistency 19:01:07.801984 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 52016 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind685 ==111872== ==111872== Process terminating with default action of signal 4 (SIGILL) ==111872== Illegal opcode at address 0x4013E00 ==111872== at 0x4013E00: getparameter (tool_getparam.c:2846) ==111872== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111872== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111872== by 0x40037A4: main (tool_main.c:199) === End of file valgrind685 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/21/valgrind686 ../src/curl -q --output log/21/curl686.out --include --trace-ascii log/21/trace686 --trace-time htdhdhdtp://localhost --next > log/21/stdout686 2> log/21/stderr686 curl returned 132, when expecting 2 686: exit FAILED == Contents of files in the log/21/ 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/21/valgrind686 ../src/curl -q --output log/21/curl686.out --include --trace-ascii log/21/trace686 --trace-time htdhdhdtp://localhost --next > log/21/stdout686 2> log/21/stderr686 === End of file commands.log === Start of file server.cmd Testnum 686 === End of file server.cmd === Start of file valgrind686 ==111835== ==111835== Process terminating with default action of signal 4 (SIGILL) ==111835== Illegal opcode at address 0x4013E00 ==111835== at 0x4013E00: getparameter (toolCMD (33792): ../libtool --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/valgrind684 ../src/curl -q --output log/15/curl684.out --include --trace-ascii log/15/trace684 --trace-time --netrc-optional --netrc-file log/15/netrc684 http://127.0.0.1:44531/ > log/15/stdout684 2> log/15/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/1/valgrind692 ../src/curl -q --trace-ascii log/1/trace692 --trace-time http://127.0.0.1:40353/ -JO --output-dir log/1 > log/1/stdout692 2> log/1/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/9/valgrind690 ../src/curl -q --include --trace-ascii log/9/trace690 --trace-time http://127.0.0.1:36745/ -O --output-dir log/9 > log/9/stdout690 2> log/9/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/17/valgrind691 ../src/curl -q --include --trace-ascii log/17/trace691 --trace-time http://127.0.0.1:40515/path/to/here/ -O --output-dir log/17 > log/17/stdout691 2> log/17/stderr691 _getparam.c:2846) ==111835== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111835== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111835== by 0x40037A4: main (tool_main.c:199) === End of file valgrind686 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/1/valgrind692 ../src/curl -q --trace-ascii log/1/trace692 --trace-time http://127.0.0.1:40353/ -JO --output-dir log/1 > log/1/stdout692 2> log/1/stderr692 692: 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 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/1/valgrind692 ../src/curl -q --trace-ascii log/1/trace692 --trace-time http://127.0.0.1:40353/ -JO --output-dir log/1 > log/1/stdout692 2> log/1/stderr692 === End of file commands.log === Start of file http_server.log 19:01:07.834989 ====> Client connect 19:01:07.835021 accept_connection 3 returned 4 19:01:07.835039 accept_connection 3 returned 0 19:01:07.835174 Read 93 bytes 19:01:07.835190 Process 93 bytes request 19:01:07.835203 Got request: GET /verifiedserver HTTP/1.1 19:01:07.835213 Are-we-friendly question received 19:01:07.835241 Wrote request (93 bytes) input to log/1/server.input 19:01:07.835259 Identifying ourselves as friends 19:01:07.835315 Response sent (56 bytes) and written to log/1/server.response 19:01:07.835327 special request received, no persistency 19:01:07.835337 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 60974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind692 ==112070== ==112070== Process terminating with default action of signal 4 (SIGILL) ==112070== Illegal opcode at address 0x4013E00 ==112070== at 0x4013E00: getparameter (tool_getparam.c:2846) ==112070== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112070== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==112070== by 0x40037A4: main (tool_main.c:199) === End of file valgrind692 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/15/valgrind684 ../src/curl -q --output log/15/curl684.out --include --trace-ascii log/15/trace684 --trace-time --netrc-optional --netrc-file log/15/netrc684 http://127.0.0.1:44531/ > log/15/stdout684 2> log/15/stderr684 684: 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 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/15/valgrind684 ../src/curl -q --output log/15/curl684.out --include --trace-ascii log/15/trace684 --trace-time --netrc-optional --netrc-file log/15/netrc684 http://127.0.0.1:44531/ > log/15/stdout684 2> log/15/stderr684 === End of file commands.log === Start of file http_server.log 19:01:07.796091 ====> Client connect 19:01:07.796199 accept_connection 3 returned 4 19:01:07.796217 accept_connection 3 returned 0 19:01:07.796234 Read 93 bytes 19:01:07.796245 Process 93 bytes request 19:01:07.796261 Got request: GET /verifiedserver HTTP/1.1 19:01:07.796272 Are-we-friendly question received 19:01:07.796358 Wrote request (93 bytes) input to log/15/server.input 19:01:07.796379 Identifying ourselves as friends 19:01:07.796439 Response sent (56 bytes) and written to log/15/server.response 19:01:07.796450 special request received, no persistency 19:01:07.796461 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 39046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind684 ==111841== ==111841== Process terminating with default action of signal 4 (SIGILL) ==111841== Illegal opcode at address 0x4013E00 ==111841== at 0x4013E00: getparameter (tool_getparam.c:2846) ==111841== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==111841== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==111841== by 0x40037A4: main (tool_main.c:199) === End of file valgrind684 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/9/valgrind690 ../src/curl -q --include --trace-ascii log/9/trace690 --trace-time http://127.0.0.1:36745/ -O --output-dir log/9 > log/9/stdout690 2> log/9/stderr690 690: 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 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/9/valgrind690 ../src/curl -q --include --trace-ascii log/9/trace690 --trace-time http://127.0.0.1:36745/ -O --output-dir log/9 > log/9/stdout690 2> log/9/stderr690 === End of file commands.log === Start of file http_server.log 19:01:07.836994 ====> Client connect 19:01:07.837027 accept_connection 3 returned 4 19:01:07.837044 accept_connection 3 returned 0 19:01:07.837166 Read 93 bytes 19:01:07.837180 Process 93 bytes request 19:01:07.837194 Got request: GET /verifiedserver HTTP/1.1 19:01:07.837204 Are-we-friendly question received 19:01:07.837232 Wrote request (93 bytes) input to log/9/server.input 19:01:07.837250 Identifying ourselves as friends 19:01:07.837301 Response sent (56 bytes) and written to log/9/server.response 19:01:07.837311 special request received, no persistency 19:01:07.837321 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 52522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verCMD (33792): ../libtool --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/valgrind693 ../src/curl -q --output log/4/curl693.out --include --trace-ascii log/4/trace693 --trace-time http://127.0.0.1:37985/693 --etag-save log/4/moo/boo/etag693 --create-dirs > log/4/stdout693 2> log/4/stderr693 CMD (33792): ../libtool --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/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:37879/path/mine http://127.0.0.1:37879/path/6940010 > log/10/stdout694 2> log/10/stderr694 ify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind690 ==112096== ==112096== Process terminating with default action of signal 4 (SIGILL) ==112096== Illegal opcode at address 0x4013E00 ==112096== at 0x4013E00: getparameter (tool_getparam.c:2846) ==112096== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112096== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==112096== by 0x40037A4: 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/17/valgrind691 ../src/curl -q --include --trace-ascii log/17/trace691 --trace-time http://127.0.0.1:40515/path/to/here/ -O --output-dir log/17 > log/17/stdout691 2> log/17/stderr691 691: 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 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/17/valgrind691 ../src/curl -q --include --trace-ascii log/17/trace691 --trace-time http://127.0.0.1:40515/path/to/here/ -O --output-dir log/17 > log/17/stdout691 2> log/17/stderr691 === End of file commands.log === Start of file http_server.log 19:01:08.833490 ====> Client connect 19:01:08.833544 accept_connection 3 returned 4 19:01:08.833564 accept_connection 3 returned 0 19:01:08.833582 Read 93 bytes 19:01:08.833593 Process 93 bytes request 19:01:08.833609 Got request: GET /verifiedserver HTTP/1.1 19:01:08.833619 Are-we-friendly question received 19:01:08.833648 Wrote request (93 bytes) input to log/17/server.input 19:01:08.833666 Identifying ourselves as friends 19:01:08.833738 Response sent (56 bytes) and written to log/17/server.response 19:01:08.833748 special request received, no persistency 19:01:08.833758 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 49776 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind691 ==112076== ==112076== Process terminating with default action of signal 4 (SIGILL) ==112076== Illegal opcode at address 0x4013E00 ==112076== at 0x4013E00: getparameter (tool_getparam.c:2846) ==112076== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112076== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==112076== by 0x40037A4: main (tool_main.c:199) === End of file valgrind691 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/4/valgrind693 ../src/curl -q --output log/4/curl693.out --include --trace-ascii log/4/trace693 --trace-time http://127.0.0.1:37985/693 --etag-save log/4/moo/boo/etag693 --create-dirs > log/4/stdout693 2> log/4/stderr693 693: 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 693 === Start of file commands.log ../libtool --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/valgrind693 ../src/curl -q --output log/4/curl693.out --include --trace-ascii log/4/trace693 --trace-time http://127.0.0.1:37985/693 --etag-save log/4/moo/boo/etag693 --create-dirs > log/4/stdout693 2> log/4/stderr693 === End of file commands.log === Start of file http_server.log 19:01:08.842239 ====> Client connect 19:01:08.842273 accept_connection 3 returned 4 19:01:08.842291 accept_connection 3 returned 0 19:01:08.842306 Read 93 bytes 19:01:08.842317 Process 93 bytes request 19:01:08.842331 Got request: GET /verifiedserver HTTP/1.1 19:01:08.842342 Are-we-friendly question received 19:01:08.842367 Wrote request (93 bytes) input to log/4/server.input 19:01:08.842386 Identifying ourselves as friends 19:01:08.842445 Response sent (56 bytes) and written to log/4/server.response 19:01:08.842456 special request received, no persistency 19:01:08.842467 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 55322 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind693 ==112132== ==112132== Process terminating with default action of signal 4 (SIGILL) ==112132== Illegal opcode at address 0x4013E00 ==112132== at 0x4013E00: getparameter (tool_getparam.c:2846) ==112132== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112132== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==112132== by 0x40037A4: main (tool_main.c:199) === End of file valgrind693 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/10/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:37879/path/mine http://127.0.0.1:37879/path/6940010 > log/10/stdout694 2> log/10/stderr694 694: 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 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/10/valgrind694 ./libtest/libtests lib694 http://127.0.0.1:37879/path/mine http://127.0.0.1:37879/path/6940010 > log/10/stdout694 2> log/10/stderr694 === End of file commands.log === Start of file http_server.log 19:01:07.840146 ====> Client connect 19:01:07.840179 accept_connection 3 returned 4 19:01:07.840198 accept_connection 3 returned 0 19:01:07.840213 Read 93 bytes 19:01:07.840224 Process 93 bytes request 19:01:07.840237 Got request: GET /verifiedserver HTTP/1.1 19:01:07.840248 Are-we-friendly question received 19:01:07.840274 Wrote request (93 bytes) input to log/10/server.input 19:01:07.840292 Identifying ourselves as friends 19:01:07.840348 Response sent (56 bytes) and written to log/10/server.response 19:01:07.840359 special request received, no persistency 19:01:07.840370 ====> Client disconnect 0 === End of file http_server.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/7/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:41017/we/want/695 > log/7/stdout695 2> log/7/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/8/valgrind697 ../src/curl -q --output log/8/curl697.out --include --trace-ascii log/8/trace697 --trace-time --netrc --netrc-file log/8/netrc697 http://user1@http.example/ > log/8/stdout697 2> log/8/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/2/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:44325 > log/2/stdout696 2> log/2/stderr696 art of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 53794 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file stderr694 URL: http://127.0.0.1:37879/path/mine === End of file stderr694 === Start of file valgrind694 ==112154== ==112154== Process terminating with default action of signal 4 (SIGILL) ==112154== Illegal opcode at address 0x51D5F1F ==112154== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==112154== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==112154== by 0x51D5F1F: Curl_open (url.c:525) ==112154== by 0x514F6EF: curl_easy_init (easy.c:371) ==112154== by 0x4022481: test_lib694.lto_priv.0 (lib694.c:40) ==112154== by 0x400347F: main (first.c:280) ==112154== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==112154== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==112154== by 0x51D5EBD: Curl_open (url.c:504) ==112154== by 0x514F6EF: curl_easy_init (easy.c:371) ==112154== by 0x4022481: test_lib694.lto_priv.0 (lib694.c:40) ==112154== by 0x400347F: main (first.c:280) ==112154== === End of file valgrind694 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/7/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:41017/we/want/695 > log/7/stdout695 2> log/7/stderr695 695: 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 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/7/valgrind695 ./libtest/libtests lib695 http://127.0.0.1:41017/we/want/695 > log/7/stdout695 2> log/7/stderr695 === End of file commands.log === Start of file http_server.log 19:01:08.016077 ====> Client connect 19:01:08.016113 accept_connection 3 returned 4 19:01:08.016131 accept_connection 3 returned 0 19:01:08.016148 Read 93 bytes 19:01:08.016160 Process 93 bytes request 19:01:08.016176 Got request: GET /verifiedserver HTTP/1.1 19:01:08.016187 Are-we-friendly question received 19:01:08.016213 Wrote request (93 bytes) input to log/7/server.input 19:01:08.016233 Identifying ourselves as friends 19:01:08.016293 Response sent (56 bytes) and written to log/7/server.response 19:01:08.016304 special request received, no persistency 19:01:08.016315 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 52828 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file stderr695 URL: http://127.0.0.1:41017/we/want/695 === End of file stderr695 === Start of file valgrind695 ==112383== ==112383== Process terminating with default action of signal 4 (SIGILL) ==112383== Illegal opcode at address 0x51D5F1F ==112383== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==112383== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==112383== by 0x51D5F1F: Curl_open (url.c:525) ==112383== by 0x514F6EF: curl_easy_init (easy.c:371) ==112383== by 0x402598A: test_lib695.lto_priv.0 (lib695.c:53) ==112383== by 0x400347F: main (first.c:280) ==112383== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==112383== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==112383== by 0x51D5EBD: Curl_open (url.c:504) ==112383== by 0x514F6EF: curl_easy_init (easy.c:371) ==112383== by 0x402598A: test_lib695.lto_priv.0 (lib695.c:53) ==112383== by 0x400347F: main (first.c:280) ==112383== === End of file valgrind695 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/8/valgrind697 ../src/curl -q --output log/8/curl697.out --include --trace-ascii log/8/trace697 --trace-time --netrc --netrc-file log/8/netrc697 http://user1@http.example/ > log/8/stdout697 2> log/8/stderr697 curl returned 132, when expecting 26 697: exit FAILED == Contents of files in the log/8/ 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/8/valgrind697 ../src/curl -q --output log/8/curl697.out --include --trace-ascii log/8/trace697 --trace-time --netrc --netrc-file log/8/netrc697 http://user1@http.example/ > log/8/stdout697 2> log/8/stderr697 === End of file commands.log === Start of file server.cmd Testnum 697 === End of file server.cmd === Start of file valgrind697 ==112439== ==112439== Process terminating with default action of signal 4 (SIGILL) ==112439== Illegal opcode at address 0x4013E00 ==112439== at 0x4013E00: getparameter (tool_getparam.c:2846) ==112439== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112439== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==112439== by 0x40037A4: main (tool_main.c:199) === End of file valgrind697 CMD (33792): ../libtool --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/valgrind698 ../src/curl -q --output log/16/curl698.out --include --trace-ascii log/16/trace698 --trace-time ftp://127.0.0.1:35319/698 --ftp-account "one count" ftp://127.0.0.1:35319/698 > log/16/stdout698 2> log/16/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/2/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:44325 > log/2/stdout696 2> log/2/stderr696 696: stdout FAILED: --- log/2/check-expected 2025-11-13 19:01:09.326057971 +0000 +++ log/2/check-generated 2025-11-13 19:01:09.326057971 +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/2/ 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/2/valgrind696 ./libtest/libtests lib556 http://127.0.0.1:44325 > log/2/stdout696 2> log/2/stderr696 === End of file commands.log === Start of file http_server.log 19:01:09.150822 ====> Client connect 19:01:09.150858 accept_connection 3 returned 4 19:01:09.150915 accept_connection 3 returned 0 19:01:09.150932 Read 93 bytes 19:01:09.150943 Process 93 bytes request 19:01:09.150959 Got request: GET /verifiedserver HTTP/1.1 19:01:09.150969 Are-we-friendly question received 19:01:09.150995 Wrote request (93 bytes) input to log/2/server.input 19:01:09.151024 Identifying ourselves as friends 19:01:09.151087 Response sent (56 bytes) and written to log/2/server.response 19:01:09.151098 special request received, no persistency 19:01:09.151109 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 42446 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file stderr696 URL: http://127.0.0.1:44325 === End of file stderr696 === Start of file valgrind696 ==112502== ==112502== Process terminating with default action of signal 4 (SIGILL) ==112502== Illegal opcode at address 0x51D5F1F ==112502== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==112502== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==112502== by 0x51D5F1F: Curl_open (url.c:525) ==112502== by 0x514F6EF: curl_easy_init (easy.c:371) ==112502== by 0x4018700: test_lib556.lto_priv.0 (lib556.c:39) ==112502== by 0x400347F: main (first.c:280) ==112502== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==112502== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==112502== by 0x51D5EBD: Curl_open (url.c:504) ==112502== by 0x514F6EF: curl_easy_init (easy.c:371) ==112502== by 0x4018700: test_lib556.lto_priv.0 (lib556.c:39) ==112502== by 0x400347F: main (first.c:280) ==112502== === End of file valgrind696 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/16/valgrind698 ../src/curl -q --output log/16/curl698.out --include --trace-ascii log/16/trace698 --trace-time ftp://127.0.0.1:35319/698 --ftp-account "one count" ftp://127.0.0.1:35319/698 > log/16/stdout698 2> log/16/stderr698 698: 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 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/16/valgrind698 ../src/curl -q --output log/16/curl698.out --include --trace-ascii log/16/trace698 --trace-time ftp://127.0.0.1:35319/698 --ftp-account "one count" ftp://127.0.0.1:35319/698 > log/16/stdout698 2> log/16/stderr698 === End of file commands.log === Start of file ftp_server.log 19:01:08.398891 ====> Client connect 19:01:08.399065 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:08.399440 < "USER anonymous" 19:01:08.399495 > "331 We are happy you popped in![CR][LF]" 19:01:08.400398 < "PASS ftp@example.com" 19:01:08.400453 > "230 Welcome you silly person[CR][LF]" 19:01:08.400639 < "PWD" 19:01:08.400679 > "257 "/" is current directory[CR][LF]" 19:01:08.400865 < "EPSV" 19:01:08.400889 ====> Passive DATA channel requested by client 19:01:08.400903 DATA sockfilt for passive data channel starting... 19:01:08.408940 DATA sockfilt for passive data channel started (pid 112506) 19:01:08.409063 DATA sockfilt for passive data channel listens on port 46713 19:01:08.409112 > "229 Entering Passive Mode (|||46713|)[CR][LF]" 19:01:08.409132 Client has been notified that DATA conn will be accepted on port 46713 19:01:08.409426 Client connects to port 46713 19:01:08.409456 ====> Client established passive DATA connection on port 46713 19:01:08.409545 < "TYPE I" 19:01:08.409579 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:08.409744 < "SIZE verifiedserver" 19:01:08.409781 > "213 17[CR][LF]" 19:01:08.409930 < "RETR verifiedserver" 19:01:08.409965 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:08.410055 =====> Closing passive DATA connection... 19:01:08.410071 Server disconnects passive DATA connection 19:01:08.410273 Server disconnected passive DATA connection 19:01:08.410298 DATA sockfilt for passive data channel quits (pid 112506) 19:01:08.410599 DATA sockfilt for passive data channel quit (pid 112506) 19:01:08.410625 =====> Closed passive DATA connection 19:01:08.410652 > "226 File transfer complete[CR][LF]" 19:01:08.455726 < "QUIT" 19:01:08.455790 > "221 bye bye baby[CR][LF]" 19:01:08.456793 MAIN sockfilt said DISC 19:01:08.456838 ====> Client disconnected 19:01:08.456928 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:08.170800 ====> Client connect 19:01:08.171136 Received DATA (on stdin) 19:01:08.171152 > 160 bytes data, server => client 19:01:08.171167 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:08.171179 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:08.171191 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:08.171313 < 16 bytes data, client => server 19:01:08.171328 'USER anonymous\r\n' 19:01:08.171567 Received DATA (on stdin) 19:01:08.171588 > 33 bytes data, server => client 19:01:08.171601 '331 We are happy you popped in!\r\n' 19:01:08.172313 < 22 bytes data, client => server 19:01:08.172335 'PASS ftp@example.com\r\n' 19:01:08.172515 Received DATA (on stdin) 19:01:08.172528 > 30 bytes data, server => client 19:01:08.172540 '230 Welcome yoCMD (33792): ../libtool --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/valgrind699 ../src/curl -q --output log/12/curl699.out --include --trace-ascii log/12/trace699 --trace-time http://127.0.0.1:46819/699 -K log/12/cmd > log/12/stdout699 2> log/12/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/14/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:43691/677 > log/14/stdout677 2> log/14/stderr677 u silly person\r\n' 19:01:08.172596 < 5 bytes data, client => server 19:01:08.172608 'PWD\r\n' 19:01:08.172737 Received DATA (on stdin) 19:01:08.172750 > 30 bytes data, server => client 19:01:08.172762 '257 "/" is current directory\r\n' 19:01:08.172821 < 6 bytes data, client => server 19:01:08.172833 'EPSV\r\n' 19:01:08.181197 Received DATA (on stdin) 19:01:08.181218 > 39 bytes data, server => client 19:01:08.181231 '229 Entering Passive Mode (|||46713|)\r\n' 19:01:08.181399 < 8 bytes data, client => server 19:01:08.181414 'TYPE I\r\n' 19:01:08.181639 Received DATA (on stdin) 19:01:08.181652 > 33 bytes data, server => client 19:01:08.181665 '200 I modify TYPE as you wanted\r\n' 19:01:08.181718 < 21 bytes data, client => server 19:01:08.181731 'SIZE verifiedserver\r\n' 19:01:08.181839 Received DATA (on stdin) 19:01:08.181852 > 8 bytes data, server => client 19:01:08.181863 '213 17\r\n' 19:01:08.181909 < 21 bytes data, client => server 19:01:08.181920 'RETR verifiedserver\r\n' 19:01:08.182133 Received DATA (on stdin) 19:01:08.182146 > 29 bytes data, server => client 19:01:08.182158 '150 Binary junk (17 bytes).\r\n' 19:01:08.182713 Received DATA (on stdin) 19:01:08.182728 > 28 bytes data, server => client 19:01:08.182740 '226 File transfer complete\r\n' 19:01:08.227565 < 6 bytes data, client => server 19:01:08.227609 'QUIT\r\n' 19:01:08.227862 Received DATA (on stdin) 19:01:08.227880 > 18 bytes data, server => client 19:01:08.227894 '221 bye bye baby\r\n' 19:01:08.228790 ====> Client disconnect 19:01:08.228994 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:08.174809 Running IPv4 version 19:01:08.174876 Listening on port 46713 19:01:08.174913 Wrote pid 112506 to log/16/server/ftp_sockdata.pid 19:01:08.180934 Received PING (on stdin) 19:01:08.181032 Received PORT (on stdin) 19:01:08.181436 ====> Client connect 19:01:08.182213 Received DATA (on stdin) 19:01:08.182231 > 17 bytes data, server => client 19:01:08.182243 'WE ROOLZ: 80535\r\n' 19:01:08.182269 Received DISC (on stdin) 19:01:08.182282 ====> Client forcibly disconnected 19:01:08.182425 Received QUIT (on stdin) 19:01:08.182438 quits 19:01:08.182503 ============> 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 ==112599== ==112599== Process terminating with default action of signal 4 (SIGILL) ==112599== Illegal opcode at address 0x4013E00 ==112599== at 0x4013E00: getparameter (tool_getparam.c:2846) ==112599== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112599== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==112599== by 0x40037A4: 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/12/valgrind699 ../src/curl -q --output log/12/curl699.out --include --trace-ascii log/12/trace699 --trace-time http://127.0.0.1:46819/699 -K log/12/cmd > log/12/stdout699 2> log/12/stderr699 699: 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 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/12/valgrind699 ../src/curl -q --output log/12/curl699.out --include --trace-ascii log/12/trace699 --trace-time http://127.0.0.1:46819/699 -K log/12/cmd > log/12/stdout699 2> log/12/stderr699 === End of file commands.log === Start of file http_server.log 19:01:08.205832 ====> Client connect 19:01:08.205869 accept_connection 3 returned 4 19:01:08.205886 accept_connection 3 returned 0 19:01:08.205902 Read 93 bytes 19:01:08.205913 Process 93 bytes request 19:01:08.205928 Got request: GET /verifiedserver HTTP/1.1 19:01:08.205939 Are-we-friendly question received 19:01:08.205966 Wrote request (93 bytes) input to log/12/server.input 19:01:08.205984 Identifying ourselves as friends 19:01:08.206040 Response sent (56 bytes) and written to log/12/server.response 19:01:08.206051 special request received, no persistency 19:01:08.206061 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 40206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind699 ==112574== ==112574== Process terminating with default action of signal 4 (SIGILL) ==112574== Illegal opcode at address 0x4013E00 ==112574== at 0x4013E00: getparameter (tool_getparam.c:2846) ==112574== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112574== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==112574== by 0x40037A4: 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/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 43691 (log/14/server/imap_server.port) RUN: IMAP server is PID 111383 port 43691 * pid imap => 111383 111383 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/14/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:43691/677 > log/14/stdout677 2> log/14/stderr677 677: 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 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/14/valgrind677 ./libtest/libtests lib677 imap://127.0.0.1:43691/677 > log/14/stdout677 2> log/14/stderr677 === End of file commands.log === Start of file imap_server.log 19:01:07.774959 IMAP server listens on port IPv4/43691 19:01:07.775044 logged pid 111383 in log/14/server/imap_server.pid 19:01:07.775070 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:07.546757 Running IPv4 version 19:01:07.546848 Listening on port 43691 19:01:07.546886 Wrote pid 111429 to log/14/server/imap_sockfilt.pid 19:01:07.546914 Wrote port 43691 to log/14/server/imap_server.port 19:01:07.546936 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:43691/677 === End of file stderr677 === Start of file valgrind677 ==112734== ==112734== Process terminating with default action of signal 4 (SIGILL) ==112734== Illegal opcode at address 0x519E800 ==112734== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==112734== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==112734CMD (33792): ../libtool --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/valgrind704 ../src/curl -q --output log/23/curl704.out --include --trace-ascii log/23/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:35243/704 > log/23/stdout704 2> log/23/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/13/valgrind705 ../src/curl -q --output log/13/curl705.out --include --trace-ascii log/13/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:35301/705 > log/13/stdout705 2> log/13/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/24/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:38555/689 > log/24/stdout689 2> log/24/stderr689 == by 0x519E800: Curl_multi_handle (multi.c:247) ==112734== by 0x4027B0F: test_lib677.lto_priv.0 (lib677.c:43) ==112734== by 0x400347F: main (first.c:280) ==112734== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==112734== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==112734== by 0x519E794: Curl_multi_handle (multi.c:239) ==112734== by 0x4027B0F: test_lib677.lto_priv.0 (lib677.c:43) ==112734== by 0x400347F: main (first.c:280) ==112734== === 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/23/valgrind704 ../src/curl -q --output log/23/curl704.out --include --trace-ascii log/23/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:35243/704 > log/23/stdout704 2> log/23/stderr704 curl returned 132, when expecting 7 704: exit FAILED == Contents of files in the log/23/ 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/23/valgrind704 ../src/curl -q --output log/23/curl704.out --include --trace-ascii log/23/trace704 --trace-time --socks4 127.0.0.1:47 http://127.0.0.1:35243/704 > log/23/stdout704 2> log/23/stderr704 === End of file commands.log === Start of file http_server.log 19:01:08.618516 ====> Client connect 19:01:08.618565 accept_connection 3 returned 4 19:01:08.618584 accept_connection 3 returned 0 19:01:08.618601 Read 93 bytes 19:01:08.618612 Process 93 bytes request 19:01:08.618629 Got request: GET /verifiedserver HTTP/1.1 19:01:08.618640 Are-we-friendly question received 19:01:08.618665 Wrote request (93 bytes) input to log/23/server.input 19:01:08.618684 Identifying ourselves as friends 19:01:08.618741 Response sent (56 bytes) and written to log/23/server.response 19:01:08.618753 special request received, no persistency 19:01:08.618763 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 52672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind704 ==112822== ==112822== Process terminating with default action of signal 4 (SIGILL) ==112822== Illegal opcode at address 0x4013E00 ==112822== at 0x4013E00: getparameter (tool_getparam.c:2846) ==112822== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112822== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==112822== by 0x40037A4: 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/13/valgrind705 ../src/curl -q --output log/13/curl705.out --include --trace-ascii log/13/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:35301/705 > log/13/stdout705 2> log/13/stderr705 curl returned 132, when expecting 7 705: exit FAILED == Contents of files in the log/13/ 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/13/valgrind705 ../src/curl -q --output log/13/curl705.out --include --trace-ascii log/13/trace705 --trace-time --socks5 127.0.0.1:47 http://127.0.0.1:35301/705 > log/13/stdout705 2> log/13/stderr705 === End of file commands.log === Start of file http_server.log 19:01:08.652152 ====> Client connect 19:01:08.652186 accept_connection 3 returned 4 19:01:08.652204 accept_connection 3 returned 0 19:01:08.652220 Read 93 bytes 19:01:08.652231 Process 93 bytes request 19:01:08.652247 Got request: GET /verifiedserver HTTP/1.1 19:01:08.652257 Are-we-friendly question received 19:01:08.652283 Wrote request (93 bytes) input to log/13/server.input 19:01:08.652301 Identifying ourselves as friends 19:01:08.652355 Response sent (56 bytes) and written to log/13/server.response 19:01:08.652366 special request received, no persistency 19:01:08.652376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 52920 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind705 ==112867== ==112867== Process terminating with default action of signal 4 (SIGILL) ==112867== Illegal opcode at address 0x4013E00 ==112867== at 0x4013E00: getparameter (tool_getparam.c:2846) ==112867== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==112867== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==112867== by 0x40037A4: main (tool_main.c:199) === End of file valgrind705 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/rtspserver.pl --pidfile "log/24/server/rtsp_server.pid" --portfile "log/24/server/rtsp_server.port" --logfile "log/24/rtsp_server.log" --logdir "log/24" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: RTSP server PID 111832 port 38555 * pid rtsp => 111832 111832 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/24/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:38555/689 > log/24/stdout689 2> log/24/stderr689 689: 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 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/24/valgrind689 ./libtest/libtests lib567 rtsp://127.0.0.1:38555/689 > log/24/stdout689 2> log/24/stderr689 === End of file commands.log === Start of file rtsp_server.log 19:01:08.821256 Running IPv4 version on port 38555 19:01:08.821343 Wrote pid 111832 to log/24/server/rtsp_server.pid 19:01:08.821371 Wrote port 38555 to log/24/server/rtsp_server.port === End of file rtsp_server.log === Start of file server.cmd Testnum 689 === End of file server.cmd === Start of file stderr689 URL: rtsp://127.0.0.1:38555/689 === End of file stderr689 === Start of file valgrind689 ==113012== ==113012== Process terminating with default action of signal 4 (SIGILL) ==113012== Illegal opcode at address 0x51D5F1F ==113012== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==113012== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==113012== by 0x51D5F1F: Curl_open (url.c:525) ==113012== by 0x514F6EF: curl_easy_iCMD (33792): ../libtool --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/valgrind714 ../src/curl -q --output log/10/curl714.out --include --trace-ascii log/10/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:42709 --proxytunnel --proxy http://127.0.0.1:41379 > log/10/stdout714 2> log/10/stderr714 nit (easy.c:371) ==113012== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==113012== by 0x400347F: main (first.c:280) ==113012== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==113012== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==113012== by 0x51D5EBD: Curl_open (url.c:504) ==113012== by 0x514F6EF: curl_easy_init (easy.c:371) ==113012== by 0x4015FAA: test_lib567.lto_priv.0 (lib567.c:42) ==113012== by 0x400347F: main (first.c:280) ==113012== === End of file valgrind689 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/10/valgrind714 ../src/curl -q --output log/10/curl714.out --include --trace-ascii log/10/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:42709 --proxytunnel --proxy http://127.0.0.1:41379 > log/10/stdout714 2> log/10/stderr714 714: 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 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/10/valgrind714 ../src/curl -q --output log/10/curl714.out --include --trace-ascii log/10/trace714 --trace-time ftp://ftp.example.com.714/714 --connect-to ::connect.example.com.714:42709 --proxytunnel --proxy http://127.0.0.1:41379 > log/10/stdout714 2> log/10/stderr714 === End of file commands.log === Start of file ftp_server.log 19:01:09.116197 ====> Client connect 19:01:09.116316 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:09.116517 < "USER anonymous" 19:01:09.116542 > "331 We are happy you popped in![CR][LF]" 19:01:09.116663 < "PASS ftp@example.com" 19:01:09.116680 > "230 Welcome you silly person[CR][LF]" 19:01:09.116787 < "PWD" 19:01:09.116810 > "257 "/" is current directory[CR][LF]" 19:01:09.116922 < "EPSV" 19:01:09.116939 ====> Passive DATA channel requested by client 19:01:09.116949 DATA sockfilt for passive data channel starting... 19:01:09.122080 DATA sockfilt for passive data channel started (pid 113136) 19:01:09.122227 DATA sockfilt for passive data channel listens on port 36283 19:01:09.122277 > "229 Entering Passive Mode (|||36283|)[CR][LF]" 19:01:09.122295 Client has been notified that DATA conn will be accepted on port 36283 19:01:09.122506 Client connects to port 36283 19:01:09.122563 ====> Client established passive DATA connection on port 36283 19:01:09.122665 < "TYPE I" 19:01:09.122704 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:09.122901 < "SIZE verifiedserver" 19:01:09.122938 > "213 17[CR][LF]" 19:01:09.123090 < "RETR verifiedserver" 19:01:09.123125 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:09.123220 =====> Closing passive DATA connection... 19:01:09.123237 Server disconnects passive DATA connection 19:01:09.123321 Server disconnected passive DATA connection 19:01:09.123341 DATA sockfilt for passive data channel quits (pid 113136) 19:01:09.123586 DATA sockfilt for passive data channel quit (pid 113136) 19:01:09.123608 =====> Closed passive DATA connection 19:01:09.123633 > "226 File transfer complete[CR][LF]" 19:01:09.169001 < "QUIT" 19:01:09.169059 > "221 bye bye baby[CR][LF]" 19:01:09.169903 MAIN sockfilt said DISC 19:01:09.169933 ====> Client disconnected 19:01:09.170009 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:09.888152 ====> Client connect 19:01:09.888379 Received DATA (on stdin) 19:01:09.888391 > 160 bytes data, server => client 19:01:09.888400 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:09.888408 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:09.888416 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:09.888469 < 16 bytes data, client => server 19:01:09.888478 'USER anonymous\r\n' 19:01:09.888598 Received DATA (on stdin) 19:01:09.888607 > 33 bytes data, server => client 19:01:09.888616 '331 We are happy you popped in!\r\n' 19:01:09.888653 < 22 bytes data, client => server 19:01:09.888662 'PASS ftp@example.com\r\n' 19:01:09.888732 Received DATA (on stdin) 19:01:09.888741 > 30 bytes data, server => client 19:01:09.888749 '230 Welcome you silly person\r\n' 19:01:09.888782 < 5 bytes data, client => server 19:01:09.888790 'PWD\r\n' 19:01:09.888862 Received DATA (on stdin) 19:01:09.888870 > 30 bytes data, server => client 19:01:09.888878 '257 "/" is current directory\r\n' 19:01:09.888917 < 6 bytes data, client => server 19:01:09.888925 'EPSV\r\n' 19:01:09.894359 Received DATA (on stdin) 19:01:09.894374 > 39 bytes data, server => client 19:01:09.894386 '229 Entering Passive Mode (|||36283|)\r\n' 19:01:09.894534 < 8 bytes data, client => server 19:01:09.894546 'TYPE I\r\n' 19:01:09.894768 Received DATA (on stdin) 19:01:09.894787 > 33 bytes data, server => client 19:01:09.894800 '200 I modify TYPE as you wanted\r\n' 19:01:09.894872 < 21 bytes data, client => server 19:01:09.894886 'SIZE verifiedserver\r\n' 19:01:09.894996 Received DATA (on stdin) 19:01:09.895008 > 8 bytes data, server => client 19:01:09.895020 '213 17\r\n' 19:01:09.895067 < 21 bytes data, client => server 19:01:09.895079 'RETR verifiedserver\r\n' 19:01:09.895302 Received DATA (on stdin) 19:01:09.895315 > 29 bytes data, server => client 19:01:09.895328 '150 Binary junk (17 bytes).\r\n' 19:01:09.895692 Received DATA (on stdin) 19:01:09.895706 > 28 bytes data, server => client 19:01:09.895718 '226 File transfer complete\r\n' 19:01:09.940884 < 6 bytes data, client => server 19:01:09.940909 'QUIT\r\n' 19:01:09.941123 Received DATA (on stdin) 19:01:09.941138 > 18 bytes data, server => client 19:01:09.941150 '221 bye bye baby\r\n' 19:01:09.941911 ====> Client disconnect 19:01:09.942072 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:09.890616 Running IPv4 version 19:01:09.890683 Listening on port 36283 19:01:09.890717 Wrote pid 113136 to log/10/server/ftp_sockdata.pid 19:01:09.890740 Received PING (on stdin) 19:01:09.894177 Received PORT (on stdin) 19:01:09.894507 ====> Client connect 19:01:09.895199 Received DATA (on stdin) 19:01:09.895213 > 17 bytes data, server => client 19:01:09.895224 'WE ROOLZ: 80847\r\n' 19:01:09.895299 Received DISC (on stdin) 19:01:09.895314 ====> Client forcibly disconnected 19:01:09.895413 Received QUIT (on stdin) 19:01:09.895430 quits 19:01:09.895486 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 19:01:08.958746 ====> Client connect 19:01:08.958780 accept_connection 3 returned 4 19:01:08.958798 accept_connection 3 returned 0 19:01:08.958814 Read 93 bytes 19:01:08.958826 Process 93 bytes request 19:01:08.958840 Got request: GET /verifiedserver HTTP/1.1 19:01:08.958851 Are-we-friendly question received 19:01:08.958877 Wrote request (93 bytes) input to log/10/proxy.input 19:01:08.958901 Identifying ourselves as friends 19:01:08.958965 Response sent (56 bytes) and written to log/10/proxy.response 19:01:08.958981 special request received, no persistency 19:01:08.958991 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:41379... * Established connection to 127.0.0.1 (127.0.0.1 port 41379) from 127.0.0.1 port 36670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41379 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41379 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 91837 === 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/1/valgrind716 ../src/curl -q --output log/1/curl716.out --include --trace-ascii log/1/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:35677 > log/1/stdout716 2> log/1/stderr716 CMD (33792): ../libtool --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/valgrind718 ../src/curl -q --output log/8/curl718.out --include --trace-ascii log/8/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:43853 --proxytunnel > log/8/stdout718 2> log/8/stderr718 CMD (33792): ../libtool --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/valgrind722 ../src/curl -q --output log/14/curl722.out --include --trace-ascii log/14/trace722 --trace-time --ipfs-gateway http://127.0.0.1:36759 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout722 2> log/14/stderr722 e http2_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 91837 === End of file proxy.response === Start of file server.cmd Testnum 714 === End of file server.cmd === Start of file valgrind714 ==113162== ==113162== Process terminating with default action of signal 4 (SIGILL) ==113162== Illegal opcode at address 0x4013E00 ==113162== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113162== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113162== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113162== by 0x40037A4: main (tool_main.c:199) === End of file valgrind714 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 113231 * pid socks => 113231 113231 test 0716...[SOCKS5 proxy with too 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/1/valgrind716 ../src/curl -q --output log/1/curl716.out --include --trace-ascii log/1/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:35677 > log/1/stdout716 2> log/1/stderr716 curl returned 132, when expecting 97 716: exit FAILED == Contents of files in the log/1/ 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/1/valgrind716 ../src/curl -q --output log/1/curl716.out --include --trace-ascii log/1/trace716 --trace-time http://hohoho.example.com:99/716 -x socks5://AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:b@127.0.0.1:35677 > log/1/stdout716 2> log/1/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 19:01:09.072844 Running IPv4 version 19:01:09.072908 Listening on port 35677 19:01:09.072946 Wrote pid 113231 to log/1/server/socks_server.pid 19:01:09.072973 Wrote port 35677 to log/1/server/socks_server.port === End of file socks_server.log === Start of file valgrind716 ==113233== ==113233== Process terminating with default action of signal 4 (SIGILL) ==113233== Illegal opcode at address 0x4013E00 ==113233== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113233== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113233== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113233== by 0x40037A4: main (tool_main.c:199) === End of file valgrind716 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/8/valgrind718 ../src/curl -q --output log/8/curl718.out --include --trace-ascii log/8/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:43853 --proxytunnel > log/8/stdout718 2> log/8/stderr718 718: 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 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/8/valgrind718 ../src/curl -q --output log/8/curl718.out --include --trace-ascii log/8/trace718 --trace-time http://test.remote.haxx.se.718:8990/path/7180002 --proxy http://127.0.0.1:43853 --proxytunnel > log/8/stdout718 2> log/8/stderr718 === End of file commands.log === Start of file http_server.log 19:01:09.112380 ====> Client connect 19:01:09.112405 accept_connection 3 returned 4 19:01:09.112420 accept_connection 3 returned 0 19:01:09.112435 Read 93 bytes 19:01:09.112443 Process 93 bytes request 19:01:09.112455 Got request: GET /verifiedserver HTTP/1.1 19:01:09.112463 Are-we-friendly question received 19:01:09.112481 Wrote request (93 bytes) input to log/8/server.input 19:01:09.112495 Identifying ourselves as friends 19:01:09.112537 Response sent (56 bytes) and written to log/8/server.response 19:01:09.112547 special request received, no persistency 19:01:09.112554 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 40092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind718 ==113321== ==113321== Process terminating with default action of signal 4 (SIGILL) ==113321== Illegal opcode at address 0x4013E00 ==113321== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113321== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113321== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113321== by 0x40037A4: 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/14/valgrind722 ../src/curl -q --output log/14/curl722.out --include --trace-ascii log/14/trace722 --trace-time --ipfs-gateway http://127.0.0.1:36759 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout722 2> log/14/stderr722 722: 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 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/14/valgrind722 ../src/curl -q --output log/14/curl722.out --include --trace-ascii log/14/trace722 --trace-time --ipfs-gateway http://127.0.0.1:36759 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/14/stdout722 2> log/14/stderr722 === End of file commands.log === Start of file http_server.log 19:01:09.373558 ====> Client connect 19:01:09.373581 accept_connection 3 returned 4 19:01:09.373594 accept_connection 3 returned 0 19:01:09.373606 Read 93 bytes 19:01:09.373614 Process 93 bytes request 19:01:09.373625 Got request: GET /verifiedserver HTTP/1.1 19:01:09.373633 Are-we-friendly question received 19:01:09.373651 Wrote request (93 bytes) input to log/14/server.input 19:01:09.373663 Identifying ourselves as friends 19:01:09.373702 Response sent (56 bytes) and written to log/14/server.response 19:01:09.373710 special request received, no persistency 19:01:09.373717 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 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/23/valgrind723 ../src/curl -q --output log/23/curl723.out --include --trace-ascii log/23/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout723 2> log/23/stderr723 CMD (33792): ../libtool --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/valgrind700 ../src/curl -q --output log/19/curl700.out --include --trace-ascii log/19/trace700 --trace-time --socks4 127.0.0.1:33909 http://127.0.0.1:41761/700 > log/19/stdout700 2> log/19/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/11/valgrind702 ../src/curl -q --output log/11/curl702.out --include --trace-ascii log/11/trace702 --trace-time --socks4 127.0.0.1:40935 http://127.0.0.1:47 > log/11/stdout702 2> log/11/stderr702 0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 58950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind722 ==113437== ==113437== Process terminating with default action of signal 4 (SIGILL) ==113437== Illegal opcode at address 0x4013E00 ==113437== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113437== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113437== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113437== by 0x40037A4: 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/23/valgrind723 ../src/curl -q --output log/23/curl723.out --include --trace-ascii log/23/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout723 2> log/23/stderr723 curl returned 132, when expecting 43 723: exit FAILED == Contents of files in the log/23/ 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/23/valgrind723 ../src/curl -q --output log/23/curl723.out --include --trace-ascii log/23/trace723 --trace-time --ipfs-gateway http://nonexisting,local:8080 ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout723 2> log/23/stderr723 === End of file commands.log === Start of file http_server.log 19:01:09.381460 ====> Client connect 19:01:09.381484 accept_connection 3 returned 4 19:01:09.381497 accept_connection 3 returned 0 19:01:09.381508 Read 93 bytes 19:01:09.381517 Process 93 bytes request 19:01:09.381531 Got request: GET /verifiedserver HTTP/1.1 19:01:09.381538 Are-we-friendly question received 19:01:09.381555 Wrote request (93 bytes) input to log/23/server.input 19:01:09.381567 Identifying ourselves as friends 19:01:09.381625 Response sent (56 bytes) and written to log/23/server.response 19:01:09.381633 special request received, no persistency 19:01:09.381640 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 52684 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind723 ==113460== ==113460== Process terminating with default action of signal 4 (SIGILL) ==113460== Illegal opcode at address 0x4013E00 ==113460== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113460== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113460== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113460== by 0x40037A4: main (tool_main.c:199) === End of file valgrind723 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 112728 * pid socks => 112728 112728 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/19/valgrind700 ../src/curl -q --output log/19/curl700.out --include --trace-ascii log/19/trace700 --trace-time --socks4 127.0.0.1:33909 http://127.0.0.1:41761/700 > log/19/stdout700 2> log/19/stderr700 700: 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 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/19/valgrind700 ../src/curl -q --output log/19/curl700.out --include --trace-ascii log/19/trace700 --trace-time --socks4 127.0.0.1:33909 http://127.0.0.1:41761/700 > log/19/stdout700 2> log/19/stderr700 === End of file commands.log === Start of file http_server.log 19:01:08.456779 ====> Client connect 19:01:08.456831 accept_connection 3 returned 4 19:01:08.456852 accept_connection 3 returned 0 19:01:08.456871 Read 93 bytes 19:01:08.456884 Process 93 bytes request 19:01:08.456901 Got request: GET /verifiedserver HTTP/1.1 19:01:08.456912 Are-we-friendly question received 19:01:08.456941 Wrote request (93 bytes) input to log/19/server.input 19:01:08.456962 Identifying ourselves as friends 19:01:08.457023 Response sent (56 bytes) and written to log/19/server.response 19:01:08.457036 special request received, no persistency 19:01:08.457047 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 48018 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file socks_server.log 19:01:08.462467 Running IPv4 version 19:01:08.462546 Listening on port 33909 19:01:08.462584 Wrote pid 112728 to log/19/server/socks_server.pid 19:01:08.462610 Wrote port 33909 to log/19/server/socks_server.port === End of file socks_server.log === Start of file valgrind700 ==113600== ==113600== Process terminating with default action of signal 4 (SIGILL) ==113600== Illegal opcode at address 0x4013E00 ==113600== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113600== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113600== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113600== by 0x40037A4: main (tool_main.c:199) === End of file valgrind700 startnew: ./server/servers socksd --port 0 --pidfile log/11/server/socks_server.pid --portfile log/11/server/socks_server.port --reqfile log/11/socksd-request.log --logfile log/11/socks_server.log --backend 127.0.0.1 --config log/11/server.cmd RUN: SOCKS server is now running PID 112794 * pid socks => 112794 112794 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/11/valgrind702 ../src/curl -q --output log/11/curl702.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/22/valgrind703 ../src/curl -q --output log/22/curl703.out --include --trace-ascii log/22/trace703 --trace-time --socks5 127.0.0.1:39207 http://127.0.0.1:47 > log/22/stdout703 2> log/22/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/18/valgrind701 ../src/curl -q --output log/18/curl701.out --include --trace-ascii log/18/trace701 --trace-time --socks5 127.0.0.1:44519 http://127.0.0.1:39771/701 > log/18/stdout701 2> log/18/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/10/valgrind726 ../src/curl -q --output log/10/curl726.out --include --trace-ascii log/10/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout726 2> log/10/stderr726 trace-ascii log/11/trace702 --trace-time --socks4 127.0.0.1:40935 http://127.0.0.1:47 > log/11/stdout702 2> log/11/stderr702 curl returned 132, when expecting 97 702: exit FAILED == Contents of files in the log/11/ dir after test 702 === Start of file commands.log ../libtool --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/valgrind702 ../src/curl -q --output log/11/curl702.out --include --trace-ascii log/11/trace702 --trace-time --socks4 127.0.0.1:40935 http://127.0.0.1:47 > log/11/stdout702 2> log/11/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 19:01:08.588093 Running IPv4 version 19:01:08.588169 Listening on port 40935 19:01:08.588214 Wrote pid 112794 to log/11/server/socks_server.pid 19:01:08.588250 Wrote port 40935 to log/11/server/socks_server.port === End of file socks_server.log === Start of file valgrind702 ==113714== ==113714== Process terminating with default action of signal 4 (SIGILL) ==113714== Illegal opcode at address 0x4013E00 ==113714== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113714== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113714== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113714== by 0x40037A4: main (tool_main.c:199) === End of file valgrind702 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 112798 * pid socks => 112798 112798 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/22/valgrind703 ../src/curl -q --output log/22/curl703.out --include --trace-ascii log/22/trace703 --trace-time --socks5 127.0.0.1:39207 http://127.0.0.1:47 > log/22/stdout703 2> log/22/stderr703 curl returned 132, when expecting 97 703: exit FAILED == Contents of files in the log/22/ 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/22/valgrind703 ../src/curl -q --output log/22/curl703.out --include --trace-ascii log/22/trace703 --trace-time --socks5 127.0.0.1:39207 http://127.0.0.1:47 > log/22/stdout703 2> log/22/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 19:01:08.593262 Running IPv4 version 19:01:08.593320 Listening on port 39207 19:01:08.593361 Wrote pid 112798 to log/22/server/socks_server.pid 19:01:08.593388 Wrote port 39207 to log/22/server/socks_server.port === End of file socks_server.log === Start of file valgrind703 ==113728== ==113728== Process terminating with default action of signal 4 (SIGILL) ==113728== Illegal opcode at address 0x4013E00 ==113728== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113728== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113728== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113728== by 0x40037A4: main (tool_main.c:199) === End of file valgrind703 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 112801 * pid socks => 112801 112801 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/18/valgrind701 ../src/curl -q --output log/18/curl701.out --include --trace-ascii log/18/trace701 --trace-time --socks5 127.0.0.1:44519 http://127.0.0.1:39771/701 > log/18/stdout701 2> log/18/stderr701 701: 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 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/18/valgrind701 ../src/curl -q --output log/18/curl701.out --include --trace-ascii log/18/trace701 --trace-time --socks5 127.0.0.1:44519 http://127.0.0.1:39771/701 > log/18/stdout701 2> log/18/stderr701 === End of file commands.log === Start of file http_server.log 19:01:08.591444 ====> Client connect 19:01:08.591481 accept_connection 3 returned 4 19:01:08.591501 accept_connection 3 returned 0 19:01:08.591518 Read 93 bytes 19:01:08.591530 Process 93 bytes request 19:01:08.591547 Got request: GET /verifiedserver HTTP/1.1 19:01:08.591558 Are-we-friendly question received 19:01:08.591585 Wrote request (93 bytes) input to log/18/server.input 19:01:08.591604 Identifying ourselves as friends 19:01:08.591665 Response sent (56 bytes) and written to log/18/server.response 19:01:08.591678 special request received, no persistency 19:01:08.591689 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 36176 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file socks_server.log 19:01:08.597073 Running IPv4 version 19:01:08.597153 Listening on port 44519 19:01:08.597202 Wrote pid 112801 to log/18/server/socks_server.pid 19:01:08.597238 Wrote port 44519 to log/18/server/socks_server.port === End of file socks_server.log === Start of file valgrind701 ==113745== ==113745== Process terminating with default action of signal 4 (SIGILL) ==113745== Illegal opcode at address 0x4013E00 ==113745== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113745== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113745== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113745== by 0x40037A4: main (tool_main.c:199) === End of file valgrind701 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/10/valgrind726 ../src/curl -q --output log/10/curl726.out --include --trace-ascii log/10/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout726 2> log/10/stderr726 curl returned 132, when expecting 37 726: exit FAILED == Contents of files in the log/10/ 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/10/valgrind726 ../src/curl -q --output log/10/curl726.out --include --trace-ascii log/10/trace726 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/10/stdout726 2> log/10/stderr726 === End of file commands.log === Start of file http_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/20/valgrind708 ../src/curl -q --output log/20/curl708.out --include --trace-ascii log/20/trace708 --trace-time http://127.0.0.1:38583/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/21/valgrind710 ../src/curl -q --output log/21/curl710.out --include --trace-ascii log/21/trace710 --trace-time http://127.0.0.1:35043/710 --proxy socks5://127.0.0.1:36843 > log/21/stdout710 2> log/21/stderr710 er.log 19:01:09.709928 ====> Client connect 19:01:09.709952 accept_connection 3 returned 4 19:01:09.709964 accept_connection 3 returned 0 19:01:09.709975 Read 93 bytes 19:01:09.709984 Process 93 bytes request 19:01:09.709994 Got request: GET /verifiedserver HTTP/1.1 19:01:09.710002 Are-we-friendly question received 19:01:09.710019 Wrote request (93 bytes) input to log/10/server.input 19:01:09.710032 Identifying ourselves as friends 19:01:09.710071 Response sent (56 bytes) and written to log/10/server.response 19:01:09.710079 special request received, no persistency 19:01:09.710087 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 46484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind726 ==113880== ==113880== Process terminating with default action of signal 4 (SIGILL) ==113880== Illegal opcode at address 0x4013E00 ==113880== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113880== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113880== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113880== by 0x40037A4: main (tool_main.c:199) === End of file valgrind726 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 113002 * pid socks => 113002 113002 setenv all_proxy = socks4://127.0.0.1:35673 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:38583/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:38583/708 > log/20/stdout708 2> log/20/stderr708 === End of file commands.log === Start of file http_server.log 19:01:08.783764 ====> Client connect 19:01:08.783799 accept_connection 3 returned 4 19:01:08.783818 accept_connection 3 returned 0 19:01:08.783834 Read 93 bytes 19:01:08.783846 Process 93 bytes request 19:01:08.783861 Got request: GET /verifiedserver HTTP/1.1 19:01:08.783872 Are-we-friendly question received 19:01:08.783911 Wrote request (93 bytes) input to log/20/server.input 19:01:08.783928 Identifying ourselves as friends 19:01:08.784016 Response sent (56 bytes) and written to log/20/server.response 19:01:08.784029 special request received, no persistency 19:01:08.784040 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 54140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file socks_server.log 19:01:09.790833 Running IPv4 version 19:01:09.790900 Listening on port 35673 19:01:09.790932 Wrote pid 113002 to log/20/server/socks_server.pid 19:01:09.790958 Wrote port 35673 to log/20/server/socks_server.port === End of file socks_server.log === Start of file valgrind708 ==113934== ==113934== Process terminating with default action of signal 4 (SIGILL) ==113934== Illegal opcode at address 0x4013E00 ==113934== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113934== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113934== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113934== by 0x40037A4: main (tool_main.c:199) === End of file valgrind708 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 113043 * pid socks => 113043 113043 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/21/valgrind710 ../src/curl -q --output log/21/curl710.out --include --trace-ascii log/21/trace710 --trace-time http://127.0.0.1:35043/710 --proxy socks5://127.0.0.1:36843 > log/21/stdout710 2> log/21/stderr710 710: 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 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/21/valgrind710 ../src/curl -q --output log/21/curl710.out --include --trace-ascii log/21/trace710 --trace-time http://127.0.0.1:35043/710 --proxy socks5://127.0.0.1:36843 > log/21/stdout710 2> log/21/stderr710 === End of file commands.log === Start of file http_server.log 19:01:08.828296 ====> Client connect 19:01:08.828326 accept_connection 3 returned 4 19:01:08.828340 accept_connection 3 returned 0 19:01:08.828354 Read 93 bytes 19:01:08.828364 Process 93 bytes request 19:01:08.828379 Got request: GET /verifiedserver HTTP/1.1 19:01:08.828387 Are-we-friendly question received 19:01:08.828409 Wrote request (93 bytes) input to log/21/server.input 19:01:08.828422 Identifying ourselves as friends 19:01:08.828469 Response sent (56 bytes) and written to log/21/server.response 19:01:08.828477 special request received, no persistency 19:01:08.828485 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 44220 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file socks_server.log 19:01:09.833218 Running IPv4 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/3/valgrind706 ../src/curl -q --output log/3/curl706.out --include --trace-ascii log/3/trace706 --trace-time --socks4 127.0.0.1:45073 ftp://127.0.0.1:36301/ > log/3/stdout706 2> log/3/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/1/valgrind727 ../src/curl -q --output log/1/curl727.out --include --trace-ascii log/1/trace727 --trace-time --ipfs-gateway http://127.0.0.1:40353 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout727 2> log/1/stderr727 CMD (33792): ../libtool --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/valgrind709 ../src/curl -q --output log/6/curl709.out --include --trace-ascii log/6/trace709 --trace-time http://127.0.0.1:41595/709 > log/6/stdout709 2> log/6/stderr709 ersion 19:01:09.833274 Listening on port 36843 19:01:09.833301 Wrote pid 113043 to log/21/server/socks_server.pid 19:01:09.833322 Wrote port 36843 to log/21/server/socks_server.port === End of file socks_server.log === Start of file valgrind710 ==114098== ==114098== Process terminating with default action of signal 4 (SIGILL) ==114098== Illegal opcode at address 0x4013E00 ==114098== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114098== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114098== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114098== by 0x40037A4: main (tool_main.c:199) === End of file valgrind710 startnew: ./server/servers socksd --port 0 --pidfile log/3/server/socks_server.pid --portfile log/3/server/socks_server.port --reqfile log/3/socksd-request.log --logfile log/3/socks_server.log --backend 127.0.0.1 --config log/3/server.cmd RUN: SOCKS server is now running PID 113006 * pid socks => 113006 113006 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/3/valgrind706 ../src/curl -q --output log/3/curl706.out --include --trace-ascii log/3/trace706 --trace-time --socks4 127.0.0.1:45073 ftp://127.0.0.1:36301/ > log/3/stdout706 2> log/3/stderr706 706: 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 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/3/valgrind706 ../src/curl -q --output log/3/curl706.out --include --trace-ascii log/3/trace706 --trace-time --socks4 127.0.0.1:45073 ftp://127.0.0.1:36301/ > log/3/stdout706 2> log/3/stderr706 === End of file commands.log === Start of file ftp_server.log 19:01:08.987073 ====> Client connect 19:01:08.987232 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:08.987665 < "USER anonymous" 19:01:08.987718 > "331 We are happy you popped in![CR][LF]" 19:01:08.987916 < "PASS ftp@example.com" 19:01:08.987949 > "230 Welcome you silly person[CR][LF]" 19:01:08.988104 < "PWD" 19:01:08.988136 > "257 "/" is current directory[CR][LF]" 19:01:08.988339 < "EPSV" 19:01:08.988364 ====> Passive DATA channel requested by client 19:01:08.988377 DATA sockfilt for passive data channel starting... 19:01:08.990289 DATA sockfilt for passive data channel started (pid 112952) 19:01:08.990445 DATA sockfilt for passive data channel listens on port 38971 19:01:08.990493 > "229 Entering Passive Mode (|||38971|)[CR][LF]" 19:01:08.990511 Client has been notified that DATA conn will be accepted on port 38971 19:01:08.990778 Client connects to port 38971 19:01:08.990808 ====> Client established passive DATA connection on port 38971 19:01:08.990899 < "TYPE I" 19:01:08.990932 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:08.991111 < "SIZE verifiedserver" 19:01:08.991149 > "213 17[CR][LF]" 19:01:08.991307 < "RETR verifiedserver" 19:01:08.991339 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:08.991418 =====> Closing passive DATA connection... 19:01:08.991434 Server disconnects passive DATA connection 19:01:08.991670 Server disconnected passive DATA connection 19:01:08.991697 DATA sockfilt for passive data channel quits (pid 112952) 19:01:08.991932 DATA sockfilt for passive data channel quit (pid 112952) 19:01:08.991955 =====> Closed passive DATA connection 19:01:08.991981 > "226 File transfer complete[CR][LF]" 19:01:09.032535 < "QUIT" 19:01:09.032591 > "221 bye bye baby[CR][LF]" 19:01:09.033518 MAIN sockfilt said DISC 19:01:09.033559 ====> Client disconnected 19:01:09.033630 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:08.759001 ====> Client connect 19:01:08.759293 Received DATA (on stdin) 19:01:08.759346 > 160 bytes data, server => client 19:01:08.759366 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:08.759379 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:08.759392 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:08.759518 < 16 bytes data, client => server 19:01:08.759545 'USER anonymous\r\n' 19:01:08.759784 Received DATA (on stdin) 19:01:08.759799 > 33 bytes data, server => client 19:01:08.759811 '331 We are happy you popped in!\r\n' 19:01:08.759871 < 22 bytes data, client => server 19:01:08.759883 'PASS ftp@example.com\r\n' 19:01:08.760007 Received DATA (on stdin) 19:01:08.760020 > 30 bytes data, server => client 19:01:08.760031 '230 Welcome you silly person\r\n' 19:01:08.760079 < 5 bytes data, client => server 19:01:08.760090 'PWD\r\n' 19:01:08.760193 Received DATA (on stdin) 19:01:08.760206 > 30 bytes data, server => client 19:01:08.760216 '257 "/" is current directory\r\n' 19:01:08.760308 < 6 bytes data, client => server 19:01:08.760321 'EPSV\r\n' 19:01:08.762616 Received DATA (on stdin) 19:01:08.762636 > 39 bytes data, server => client 19:01:08.762649 '229 Entering Passive Mode (|||38971|)\r\n' 19:01:08.762803 < 8 bytes data, client => server 19:01:08.762826 'TYPE I\r\n' 19:01:08.762991 Received DATA (on stdin) 19:01:08.763023 > 33 bytes data, server => client 19:01:08.763037 '200 I modify TYPE as you wanted\r\n' 19:01:08.763087 < 21 bytes data, client => server 19:01:08.763099 'SIZE verifiedserver\r\n' 19:01:08.763207 Received DATA (on stdin) 19:01:08.763219 > 8 bytes data, server => client 19:01:08.763230 '213 17\r\n' 19:01:08.763278 < 21 bytes data, client => server 19:01:08.763290 'RETR verifiedserver\r\n' 19:01:08.763495 Received DATA (on stdin) 19:01:08.763507 > 29 bytes data, server => client 19:01:08.763519 '150 Binary junk (17 bytes).\r\n' 19:01:08.764040 Received DATA (on stdin) 19:01:08.764054 > 28 bytes data, server => client 19:01:08.764066 '226 File transfer complete\r\n' 19:01:08.804393 < 6 bytes data, client => server 19:01:08.804428 'QUIT\r\n' 19:01:08.804657 Received DATA (on stdin) 19:01:08.804670 > 18 bytes data, server => client 19:01:08.804682 '221 bye bye baby\r\n' 19:01:08.805516 ====> Client disconnect 19:01:08.805689 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:08.762121 Running IPv4 version 19:01:08.762187 Listening on port 38971 19:01:08.762222 Wrote pid 112952 to log/3/server/ftp_sockdata.pid 19:01:08.762243 Received PING (on stdin) 19:01:08.762408 Received PORT (on stdin) 19:01:08.762785 ====> Client connect 19:01:08.763544 Received DATA (on stdin) 19:01:08.763558 > 17 bytes data, server => client 19:01:08.763570 'WE ROOLZ: 80615\r\n' 19:01:08.763593 Received DISC (on stdin) 19:01:08.763604 ====> Client forcibly disconnected 19:01:08.763766 Received QUIT (on stdin) 19:01:08.763778 quits 19:01:08.763828 ============> 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 19:01:09.810581 Running IPv4 version 19:01:09.810644 Listening on port 45073 19:01:09.810680 Wrote pid 113006 to log/3/server/socks_server.pid 19:01:09.810709 Wrote port 45073 to log/3/server/socks_server.port === End of file socks_server.log === Start of file valgrind706 ==114003== ==114003== Process terminating with default action of signal 4 (SIGILL) ==114003== Illegal opcode at address 0x4013E00 ==114003== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114003== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114003== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114003== by 0x40037A4: main (tool_main.c:199) === End of file valgrind706 test 0727...[IPNS] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supCMD (33792): ../libtool --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/valgrind707 ../src/curl -q --output log/5/curl707.out --include --trace-ascii log/5/trace707 --trace-time --socks5 127.0.0.1:39595 ftp://127.0.0.1:41821/ > log/5/stdout707 2> log/5/stderr707 p --num-callers=16 --log-file=log/1/valgrind727 ../src/curl -q --output log/1/curl727.out --include --trace-ascii log/1/trace727 --trace-time --ipfs-gateway http://127.0.0.1:40353 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout727 2> log/1/stderr727 727: 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 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/1/valgrind727 ../src/curl -q --output log/1/curl727.out --include --trace-ascii log/1/trace727 --trace-time --ipfs-gateway http://127.0.0.1:40353 ipns://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/1/stdout727 2> log/1/stderr727 === End of file commands.log === Start of file http_server.log 19:01:09.816625 ====> Client connect 19:01:09.816662 accept_connection 3 returned 4 19:01:09.816682 accept_connection 3 returned 0 19:01:09.816700 Read 93 bytes 19:01:09.816711 Process 93 bytes request 19:01:09.816726 Got request: GET /verifiedserver HTTP/1.1 19:01:09.816736 Are-we-friendly question received 19:01:09.816763 Wrote request (93 bytes) input to log/1/server.input 19:01:09.816781 Identifying ourselves as friends 19:01:09.816861 Response sent (56 bytes) and written to log/1/server.response 19:01:09.816875 special request received, no persistency 19:01:09.816886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 58066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind727 ==114046== ==114046== Process terminating with default action of signal 4 (SIGILL) ==114046== Illegal opcode at address 0x4013E00 ==114046== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114046== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114046== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114046== by 0x40037A4: main (tool_main.c:199) === End of file valgrind727 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 113005 * pid socks => 113005 113005 setenv http_proxy = socks5://127.0.0.1:36563 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/6/valgrind709 ../src/curl -q --output log/6/curl709.out --include --trace-ascii log/6/trace709 --trace-time http://127.0.0.1:41595/709 > log/6/stdout709 2> log/6/stderr709 709: 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 709 === Start of file commands.log ../libtool --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/valgrind709 ../src/curl -q --output log/6/curl709.out --include --trace-ascii log/6/trace709 --trace-time http://127.0.0.1:41595/709 > log/6/stdout709 2> log/6/stderr709 === End of file commands.log === Start of file http_server.log 19:01:08.791190 ====> Client connect 19:01:08.791217 accept_connection 3 returned 4 19:01:08.791230 accept_connection 3 returned 0 19:01:08.791242 Read 93 bytes 19:01:08.791251 Process 93 bytes request 19:01:08.791263 Got request: GET /verifiedserver HTTP/1.1 19:01:08.791271 Are-we-friendly question received 19:01:08.791290 Wrote request (93 bytes) input to log/6/server.input 19:01:08.791304 Identifying ourselves as friends 19:01:08.791346 Response sent (56 bytes) and written to log/6/server.response 19:01:08.791355 special request received, no persistency 19:01:08.791363 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 52020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file socks_server.log 19:01:09.794739 Running IPv4 version 19:01:09.794788 Listening on port 36563 19:01:09.794815 Wrote pid 113005 to log/6/server/socks_server.pid 19:01:09.794837 Wrote port 36563 to log/6/server/socks_server.port === End of file socks_server.log === Start of file valgrind709 ==113937== ==113937== Process terminating with default action of signal 4 (SIGILL) ==113937== Illegal opcode at address 0x4013E00 ==113937== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113937== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113937== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113937== by 0x40037A4: main (tool_main.c:199) === End of file valgrind709 startnew: ./server/servers socksd --port 0 --pidfile log/5/server/socks_server.pid --portfile log/5/server/socks_server.port --reqfile log/5/socksd-request.log --logfile log/5/socks_server.log --backend 127.0.0.1 --config log/5/server.cmd RUN: SOCKS server is now running PID 113047 * pid socks => 113047 113047 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/5/valgrind707 ../src/curl -q --output log/5/curl707.out --include --trace-ascii log/5/trace707 --trace-time --socks5 127.0.0.1:39595 ftp://127.0.0.1:41821/ > log/5/stdout707 2> log/5/stderr707 707: 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 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/5/valgrind707 ../src/curl -q --output log/5/curl707.out --include --trace-ascii log/5/trace707 --trace-time --socks5 127.0.0.1:39595 ftp://127.0.0.1:41821/ > log/5/stdout707 2> log/5/stderr707 === End of file commands.log === Start of file ftp_server.log 19:01:09.008843 ====> Client connect 19:01:09.008987 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:09.009271 < "USER anonymous" 19:01:09.009312 > "331 We are happy you popped in![CR][LF]" 19:01:09.009471 < "PASS ftp@example.com" 19:01:09.009492 > "230 Welcome you silly person[CR][LF]" 19:01:09.009634 < "PWD" 19:01:09.009670 > "257 "/"CMD (33792): ../libtool --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/valgrind711 ../src/curl -q --output log/15/curl711.out --include --trace-ascii log/15/trace711 --trace-time ftp://127.0.0.1:36561/711 > log/15/stdout711 2> log/15/stderr711 is current directory[CR][LF]" 19:01:09.009831 < "EPSV" 19:01:09.009858 ====> Passive DATA channel requested by client 19:01:09.009872 DATA sockfilt for passive data channel starting... 19:01:09.011536 DATA sockfilt for passive data channel started (pid 112997) 19:01:09.011700 DATA sockfilt for passive data channel listens on port 38925 19:01:09.011743 > "229 Entering Passive Mode (|||38925|)[CR][LF]" 19:01:09.011762 Client has been notified that DATA conn will be accepted on port 38925 19:01:09.012102 Client connects to port 38925 19:01:09.012135 ====> Client established passive DATA connection on port 38925 19:01:09.012215 < "TYPE I" 19:01:09.012245 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:09.012426 < "SIZE verifiedserver" 19:01:09.012464 > "213 17[CR][LF]" 19:01:09.012624 < "RETR verifiedserver" 19:01:09.012658 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:09.012740 =====> Closing passive DATA connection... 19:01:09.012756 Server disconnects passive DATA connection 19:01:09.012927 Server disconnected passive DATA connection 19:01:09.012951 DATA sockfilt for passive data channel quits (pid 112997) 19:01:09.013585 DATA sockfilt for passive data channel quit (pid 112997) 19:01:09.013612 =====> Closed passive DATA connection 19:01:09.013638 > "226 File transfer complete[CR][LF]" 19:01:09.059220 < "QUIT" 19:01:09.059271 > "221 bye bye baby[CR][LF]" 19:01:09.060012 MAIN sockfilt said DISC 19:01:09.060048 ====> Client disconnected 19:01:09.060118 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:08.780790 ====> Client connect 19:01:08.781051 Received DATA (on stdin) 19:01:08.781064 > 160 bytes data, server => client 19:01:08.781074 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:08.781084 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:08.781092 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:08.781170 < 16 bytes data, client => server 19:01:08.781181 'USER anonymous\r\n' 19:01:08.781375 Received DATA (on stdin) 19:01:08.781388 > 33 bytes data, server => client 19:01:08.781400 '331 We are happy you popped in!\r\n' 19:01:08.781450 < 22 bytes data, client => server 19:01:08.781460 'PASS ftp@example.com\r\n' 19:01:08.781546 Received DATA (on stdin) 19:01:08.781557 > 30 bytes data, server => client 19:01:08.781568 '230 Welcome you silly person\r\n' 19:01:08.781610 < 5 bytes data, client => server 19:01:08.781621 'PWD\r\n' 19:01:08.781729 Received DATA (on stdin) 19:01:08.781742 > 30 bytes data, server => client 19:01:08.781755 '257 "/" is current directory\r\n' 19:01:08.781813 < 6 bytes data, client => server 19:01:08.781827 'EPSV\r\n' 19:01:08.783826 Received DATA (on stdin) 19:01:08.783840 > 39 bytes data, server => client 19:01:08.783852 '229 Entering Passive Mode (|||38925|)\r\n' 19:01:08.783966 < 8 bytes data, client => server 19:01:08.783979 'TYPE I\r\n' 19:01:08.784305 Received DATA (on stdin) 19:01:08.784320 > 33 bytes data, server => client 19:01:08.784333 '200 I modify TYPE as you wanted\r\n' 19:01:08.784394 < 21 bytes data, client => server 19:01:08.784409 'SIZE verifiedserver\r\n' 19:01:08.784525 Received DATA (on stdin) 19:01:08.784538 > 8 bytes data, server => client 19:01:08.784549 '213 17\r\n' 19:01:08.784598 < 21 bytes data, client => server 19:01:08.784611 'RETR verifiedserver\r\n' 19:01:08.784818 Received DATA (on stdin) 19:01:08.784832 > 29 bytes data, server => client 19:01:08.784843 '150 Binary junk (17 bytes).\r\n' 19:01:08.785698 Received DATA (on stdin) 19:01:08.785712 > 28 bytes data, server => client 19:01:08.785724 '226 File transfer complete\r\n' 19:01:08.831108 < 6 bytes data, client => server 19:01:08.831134 'QUIT\r\n' 19:01:08.831334 Received DATA (on stdin) 19:01:08.831348 > 18 bytes data, server => client 19:01:08.831359 '221 bye bye baby\r\n' 19:01:08.832010 ====> Client disconnect 19:01:08.832177 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:09.783422 Running IPv4 version 19:01:09.783477 Listening on port 38925 19:01:09.783516 Wrote pid 112997 to log/5/server/ftp_sockdata.pid 19:01:09.783537 Received PING (on stdin) 19:01:09.783672 Received PORT (on stdin) 19:01:09.784107 ====> Client connect 19:01:09.784869 Received DATA (on stdin) 19:01:09.784884 > 17 bytes data, server => client 19:01:09.784896 'WE ROOLZ: 80429\r\n' 19:01:09.784920 Received DISC (on stdin) 19:01:09.784934 ====> Client forcibly disconnected 19:01:09.785014 Received QUIT (on stdin) 19:01:09.785033 quits 19:01:09.785479 ============> 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 19:01:09.835485 Running IPv4 version 19:01:09.835540 Listening on port 39595 19:01:09.835576 Wrote pid 113047 to log/5/server/socks_server.pid 19:01:09.835605 Wrote port 39595 to log/5/server/socks_server.port === End of file socks_server.log === Start of file valgrind707 ==114104== ==114104== Process terminating with default action of signal 4 (SIGILL) ==114104== Illegal opcode at address 0x4013E00 ==114104== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114104== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114104== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114104== by 0x40037A4: main (tool_main.c:199) === End of file valgrind707 startnew: ./server/servers socksd --port 0 --pidfile log/15/server/socks_server.pid --portfile log/15/server/socks_server.port --reqfile log/15/socksd-request.log --logfile log/15/socks_server.log --backend 127.0.0.1 --config log/15/server.cmd RUN: SOCKS server is now running PID 113138 * pid socks => 113138 113138 setenv all_proxy = socks5://127.0.0.1:40789 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/15/valgrind711 ../src/curl -q --output log/15/curl711.out --include --trace-ascii log/15/trace711 --trace-time ftp://127.0.0.1:36561/711 > log/15/stdout711 2> log/15/stderr711 711: 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 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/15/valgrind711 ../src/curl -q --output log/15/curl711.out --include --trace-ascii log/15/trace711 --trace-time ftp://127.0.0.1:36561/711 > log/15/stdout711 2> log/15/stderr711 === End of file commands.log === Start of file ftp_server.log 19:01:09.077376 ====> Client connect 19:01:09.077553 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:09.077817 < "USER anonymous" 19:01:09.077853 > "331 We are happy you popped in![CR][LF]" 19:01:09.078025 < "PASS ftp@example.com" 19:01:09.078052 > "230 Welcome you silly person[CR][LF]" 19:01:09.078201 < "PWD" 19:01:09.078322 > "257 "/" is current directory[CR][LF]" 19:01:09.078557 < "EPSV" 19:01:09.078581 ====> Passive DATA channel requested by client 19:01:09.078595 DATA sockfilt for passive data channel starting... 19:01:09.080157 DATA sockfilt for passive data channel started (pid 113085) 19:01:09.080263 DATA sockfilt for passive data channel listens on port 34483 19:01:09.080305 > "229 Entering Passive Mode (|||34483|)[CR][LF]" 19:01:09.080324 Client has been notified that DATA conn will be accepted on port 34483 19:01:09.080499 Client connects to port 34483 19:01:09.080530 ====> Client established passive DATA connection on port 34483 19:01:09.080588 < "TYPE I" 19:01:09.080610 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:09.080734 < "SIZE verifiedserver" 19:01:09.080761 > "213 17[CR][LF]" 19:CMD (33792): ../libtool --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/valgrind712 ../src/curl -q --output log/17/curl712.out --include --trace-ascii log/17/trace712 --trace-time ftp://127.0.0.1:32811/712 --proxy socks5://127.0.0.1:45247 > log/17/stdout712 2> log/17/stderr712 CMD (33792): ../libtool --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/valgrind713 ../src/curl -q --output log/4/curl713.out --include --trace-ascii log/4/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:35791 --proxy socks5://127.0.0.1:40675 > log/4/stdout713 2> log/4/stderr713 01:09.080874 < "RETR verifiedserver" 19:01:09.080900 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:09.080977 =====> Closing passive DATA connection... 19:01:09.080992 Server disconnects passive DATA connection 19:01:09.081118 Server disconnected passive DATA connection 19:01:09.081140 DATA sockfilt for passive data channel quits (pid 113085) 19:01:09.081300 DATA sockfilt for passive data channel quit (pid 113085) 19:01:09.081318 =====> Closed passive DATA connection 19:01:09.081336 > "226 File transfer complete[CR][LF]" 19:01:09.125656 < "QUIT" 19:01:09.125711 > "221 bye bye baby[CR][LF]" 19:01:09.126614 MAIN sockfilt said DISC 19:01:09.126642 ====> Client disconnected 19:01:09.126709 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:08.849315 ====> Client connect 19:01:08.849620 Received DATA (on stdin) 19:01:08.849633 > 160 bytes data, server => client 19:01:08.849643 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:08.849651 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:08.849659 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:08.849731 < 16 bytes data, client => server 19:01:08.849742 'USER anonymous\r\n' 19:01:08.849920 Received DATA (on stdin) 19:01:08.849934 > 33 bytes data, server => client 19:01:08.849946 '331 We are happy you popped in!\r\n' 19:01:08.849996 < 22 bytes data, client => server 19:01:08.850008 'PASS ftp@example.com\r\n' 19:01:08.850108 Received DATA (on stdin) 19:01:08.850120 > 30 bytes data, server => client 19:01:08.850131 '230 Welcome you silly person\r\n' 19:01:08.850176 < 5 bytes data, client => server 19:01:08.850188 'PWD\r\n' 19:01:08.850301 Received DATA (on stdin) 19:01:08.850325 > 30 bytes data, server => client 19:01:08.850401 '257 "/" is current directory\r\n' 19:01:08.850527 < 6 bytes data, client => server 19:01:08.850542 'EPSV\r\n' 19:01:08.852387 Received DATA (on stdin) 19:01:08.852401 > 39 bytes data, server => client 19:01:08.852413 '229 Entering Passive Mode (|||34483|)\r\n' 19:01:08.852536 < 8 bytes data, client => server 19:01:08.852548 'TYPE I\r\n' 19:01:08.852664 Received DATA (on stdin) 19:01:08.852674 > 33 bytes data, server => client 19:01:08.852683 '200 I modify TYPE as you wanted\r\n' 19:01:08.852724 < 21 bytes data, client => server 19:01:08.852733 'SIZE verifiedserver\r\n' 19:01:08.852814 Received DATA (on stdin) 19:01:08.852823 > 8 bytes data, server => client 19:01:08.852831 '213 17\r\n' 19:01:08.852866 < 21 bytes data, client => server 19:01:08.852875 'RETR verifiedserver\r\n' 19:01:08.853048 Received DATA (on stdin) 19:01:08.853060 > 29 bytes data, server => client 19:01:08.853071 '150 Binary junk (17 bytes).\r\n' 19:01:08.853391 Received DATA (on stdin) 19:01:08.853401 > 28 bytes data, server => client 19:01:08.853411 '226 File transfer complete\r\n' 19:01:08.897557 < 6 bytes data, client => server 19:01:08.897578 'QUIT\r\n' 19:01:08.897775 Received DATA (on stdin) 19:01:08.897788 > 18 bytes data, server => client 19:01:08.897799 '221 bye bye baby\r\n' 19:01:08.898623 ====> Client disconnect 19:01:08.898767 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:09.852046 Running IPv4 version 19:01:09.852100 Listening on port 34483 19:01:09.852138 Wrote pid 113085 to log/15/server/ftp_sockdata.pid 19:01:09.852161 Received PING (on stdin) 19:01:09.852236 Received PORT (on stdin) 19:01:09.852511 ====> Client connect 19:01:09.852966 Received DATA (on stdin) 19:01:09.852979 > 17 bytes data, server => client 19:01:09.852990 'WE ROOLZ: 81045\r\n' 19:01:09.853048 Received DISC (on stdin) 19:01:09.853060 ====> Client forcibly disconnected 19:01:09.853201 Received QUIT (on stdin) 19:01:09.853211 quits 19:01:09.853254 ============> 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 19:01:09.902574 Running IPv4 version 19:01:09.902641 Listening on port 40789 19:01:09.902681 Wrote pid 113138 to log/15/server/socks_server.pid 19:01:09.902712 Wrote port 40789 to log/15/server/socks_server.port === End of file socks_server.log === Start of file valgrind711 ==114253== ==114253== Process terminating with default action of signal 4 (SIGILL) ==114253== Illegal opcode at address 0x4013E00 ==114253== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114253== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114253== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114253== by 0x40037A4: main (tool_main.c:199) === End of file valgrind711 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 113140 * pid socks => 113140 113140 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/17/valgrind712 ../src/curl -q --output log/17/curl712.out --include --trace-ascii log/17/trace712 --trace-time ftp://127.0.0.1:32811/712 --proxy socks5://127.0.0.1:45247 > log/17/stdout712 2> log/17/stderr712 712: 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 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/17/valgrind712 ../src/curl -q --output log/17/curl712.out --include --trace-ascii log/17/trace712 --trace-time ftp://127.0.0.1:32811/712 --proxy socks5://127.0.0.1:45247 > log/17/stdout712 2> log/17/stderr712 === End of file commands.log === Start of file ftp_server.log 19:01:09.101696 ====> Client connect 19:01:09.101841 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:09.102159 < "USER anonymous" 19:01:09.102208 > "331 We are happy you popped in![CR][LF]" 19:01:09.102386 < "PASS ftp@example.com" 19:01:09.102410 > "230 Welcome you silly person[CR][LF]" 19:01:09.102536 < "PWD" 19:01:09.102563 > "257 "/" is current directory[CR][LF]" 19:01:09.102688 < "EPSV" 19:01:09.102707 ====> Passive DATA channel requested by client 19:01:09.102718 DATA sockfilt for passive data channel starting... 19:01:09.104547 DATA sockfilt for passive data channel started (pid 113110) 19:01:09.104664 DATA sockfilt for passive data channel listens on port 44577 19:01:09.104710 > "229 Entering Passive Mode (|||44577|)[CR][LF]" 19:01:09.104730 Client has been notified that DATA conn will be accepted on port 44577 19:01:09.104938 Client connects to port 44577 19:01:09.104967 ====> Client established passive DATA connection on port 44577 19:01:09.105046 < "TYPE I" 19:01:09.105080 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:09.105276 < "SIZE verifiedserver" 19:01:09.105316 > "213 17[CR][LF]" 19:01:09.105627 < "RETR verifiedserver" 19:01:09.105684 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:09.105772 =====> Closing passive DATA connection... 19:01:09.105786 Server disconnects passive DATA connection 19:01:09.106311 Server disconnected passive DATA connection 19:01:09.106346 DATA sockfilt for passive data channel quits (pid 113110) 19:01:09.106582 DATA sockfilt for passive data channel quit (pid 113110) 19:01:09.106606 =====> Closed passive DATA connection 19:01:09.106633 > "226 File transfer complete[CR][LF]" 19:01:09.152391 < "QUIT" 19:01:09.152442 > "221 bye bye baby[CR][LF]" 19:01:09.153445 MAIN sockfilt said DISC 19:01:09.153508 ====> Client disconnected 19:01:09.153596 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:08.873639 ====> Client connect 19:01:08.873913 Received DATA (on stdin) 19:01:08.873929 > 160 bytes data, server => client 19:01:08.873942 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:08.873954 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:08.873965 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:08.874042 < 16 bytes data, client => server 19:01:08.874055 'USER anonymous\r\n' 19:01:08.874268 Received DATA (on stdin) 19:01:08.874280 > 33 bytes data, server => client 19:01:08.874291 '331 We are happy you popped in!\r\n' 19:01:08.874347 < 22 bytes data, client => server 19:01:08.874357 'PASS ftp@example.com\r\n' 19:01:08.874465 Received DATA (on stdin) 19:01:08.874475 > 30 bytes data, server => client 19:01:08.874484 '230 Welcome you silly person\r\n' 19:01:08.874521 < 5 bytes data, client => server 19:01:08.874530 'PWD\r\n' 19:01:08.874616 Received DATA (on stdin) 19:01:08.874625 > 30 bytes data, server => client 19:01:08.874633 '257 "/" is current directory\r\n' 19:01:08.874678 < 6 bytes data, client => server 19:01:08.874687 'EPSV\r\n' 19:01:08.876785 Received DATA (on stdin) 19:01:08.876804 > 39 bytes data, server => client 19:01:08.876816 '229 Entering Passive Mode (|||44577|)\r\n' 19:01:08.876969 < 8 bytes data, client => server 19:01:08.876981 'TYPE I\r\n' 19:01:08.877145 Received DATA (on stdin) 19:01:08.877162 > 33 bytes data, server => client 19:01:08.877176 '200 I modify TYPE as you wanted\r\n' 19:01:08.877244 < 21 bytes data, client => server 19:01:08.877258 'SIZE verifiedserver\r\n' 19:01:08.877379 Received DATA (on stdin) 19:01:08.877394 > 8 bytes data, server => client 19:01:08.877406 '213 17\r\n' 19:01:08.877512 < 21 bytes data, client => server 19:01:08.877543 'RETR verifiedserver\r\n' 19:01:08.877847 Received DATA (on stdin) 19:01:08.877860 > 29 bytes data, server => client 19:01:08.877871 '150 Binary junk (17 bytes).\r\n' 19:01:08.878674 Received DATA (on stdin) 19:01:08.878690 > 28 bytes data, server => client 19:01:08.878701 '226 File transfer complete\r\n' 19:01:08.924261 < 6 bytes data, client => server 19:01:08.924291 'QUIT\r\n' 19:01:08.924503 Received DATA (on stdin) 19:01:08.924516 > 18 bytes data, server => client 19:01:08.924528 '221 bye bye baby\r\n' 19:01:08.925416 ====> Client disconnect 19:01:08.925662 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:09.876425 Running IPv4 version 19:01:09.876485 Listening on port 44577 19:01:09.876520 Wrote pid 113110 to log/17/server/ftp_sockdata.pid 19:01:09.876542 Received PING (on stdin) 19:01:09.876633 Received PORT (on stdin) 19:01:09.876937 ====> Client connect 19:01:09.878223 Received DATA (on stdin) 19:01:09.878243 > 17 bytes data, server => client 19:01:09.878255 'WE ROOLZ: 80755\r\n' 19:01:09.878291 Received DISC (on stdin) 19:01:09.878309 ====> Client forcibly disconnected 19:01:09.878416 Received QUIT (on stdin) 19:01:09.878427 quits 19:01:09.878486 ============> 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 19:01:09.928866 Running IPv4 version 19:01:09.928938 Listening on port 45247 19:01:09.928973 Wrote pid 113140 to log/17/server/socks_server.pid 19:01:09.929001 Wrote port 45247 to log/17/server/socks_server.port === End of file socks_server.log === Start of file valgrind712 ==114296== ==114296== Process terminating with default action of signal 4 (SIGILL) ==114296== Illegal opcode at address 0x4013E00 ==114296== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114296== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114296== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114296== by 0x40037A4: main (tool_main.c:199) === End of file valgrind712 startnew: ./server/servers socksd --port 0 --pidfile log/4/server/socks_server.pid --portfile log/4/server/socks_server.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 113142 * pid socks => 113142 113142 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/4/valgrind713 ../src/curl -q --output log/4/curl713.out --include --trace-ascii log/4/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:35791 --proxy socks5://127.0.0.1:40675 > log/4/stdout713 2> log/4/stderr713 713: 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 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/4/valgrind713 ../src/curl -q --output log/4/curl713.out --include --trace-ascii log/4/trace713 --trace-time ftp://ftp.example.com/713 --connect-to ::127.0.0.1:35791 --proxy socks5://127.0.0.1:40675 > log/4/stdout713 2> log/4/stderr713 === End of file commands.log === Start of file ftp_server.log 19:01:09.113462 ====> Client connect 19:01:09.113620 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:09.113934 < "USER anonymous" 19:01:09.113974 > "331 We are happy you popped in![CR][LF]" 19:01:09.114147 < "PASS ftp@example.com" 19:01:09.114173 > "230 Welcome you silly person[CR][LF]" 19:01:09.114325 < "PWD" 19:01:09.114357 > "257 "/" is current directory[CR][LF]" 19:01:09.114522 < "EPSV" 19:01:09.114545 ====> Passive DATA channel requested by client 19:01:09.114560 DATA sockfilt for passive data channel starting... 19:01:09.116293 DATA sockfilt for passive data channel started (pid 113135) 19:01:09.116426 DATA sockfilt for passive data channel listens on port 37359 19:01:09.116470 > "229 Entering Passive Mode (|||37359|)[CR][LF]" 19:01:09.116490 Client has been notified that DATA conn will be accepted on port 37359 19:01:09.116732 Client connects to port 37359 19:01:09.116760 ====> Client established passive DATA connection on port 37359 19:01:09.116845 < "TYPE I" 19:01:09.116871 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:09.117017 < "SIZE verifiedserver" 19:01:09.117051 > "213 17[CR][LF]" 19:01:09.117190 < "RETR verifiedserver" 19:01:09.117221 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:09.117303 =====> Closing passive DATA connection... 19:01:09.117318 Server disconnects passive DATA connection 19:01:09.117541 Server disconnected passive DATA connection 19:01:09.117567 DATA sockfilt for passive data channel quits (pid 113135) 19:01:09.117771 DATA sockfilt for passive data channel quit (pid 113135) 19:01:09.117792 =====> Closed passive DATA connection 19:01:09.117817 > "226 File transfer complete[CR][LF]" 19:01:09.159048 < "QUIT" 19:01:09.159099 > "221 bye bye baby[CR][LF]" 19:01:09.160066 MAIN sockfilt said DISC 19:01:09.160090 ====> Client disconnected 19:01:09.160157 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:08.885411 ====> Client connect 19:01:08.885692 Received DATA (on stdin) 19:01:08.885708 > 160 bytes data, server => client 19:01:08.885722 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:08.885735 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:08.885746 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:08.885846 < 16 bytes data, client => server 19:01:08.885860 'USER anonymous\r\n' 19:01:08.886037 Received DATA (on stdin) 19:01:08.886051 > 33 bytes data, server => client 19:01:08.886062 '331 We are happy you popped in!\r\n' 19:01:08.886113 < 22 bytes data, client => server 19:01:08.886126 'PASS ftp@example.CMD (33792): ../libtool --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/valgrind719 ../src/curl -q --output log/2/curl719.out --include --trace-ascii log/2/trace719 --trace-time http://[2200::33]:44325/719 --proxy socks5h://127.0.0.1:33879 > log/2/stdout719 2> log/2/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/7/valgrind717 ../src/curl -q --output log/7/curl717.out --include --trace-ascii log/7/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:44515 > log/7/stdout717 2> log/7/stderr717 com\r\n' 19:01:08.886231 Received DATA (on stdin) 19:01:08.886243 > 30 bytes data, server => client 19:01:08.886254 '230 Welcome you silly person\r\n' 19:01:08.886300 < 5 bytes data, client => server 19:01:08.886312 'PWD\r\n' 19:01:08.886414 Received DATA (on stdin) 19:01:08.886426 > 30 bytes data, server => client 19:01:08.886438 '257 "/" is current directory\r\n' 19:01:08.886494 < 6 bytes data, client => server 19:01:08.886507 'EPSV\r\n' 19:01:08.888560 Received DATA (on stdin) 19:01:08.888578 > 39 bytes data, server => client 19:01:08.888590 '229 Entering Passive Mode (|||37359|)\r\n' 19:01:08.888740 < 8 bytes data, client => server 19:01:08.888752 'TYPE I\r\n' 19:01:08.888929 Received DATA (on stdin) 19:01:08.888941 > 33 bytes data, server => client 19:01:08.888953 '200 I modify TYPE as you wanted\r\n' 19:01:08.888998 < 21 bytes data, client => server 19:01:08.889009 'SIZE verifiedserver\r\n' 19:01:08.889107 Received DATA (on stdin) 19:01:08.889119 > 8 bytes data, server => client 19:01:08.889130 '213 17\r\n' 19:01:08.889172 < 21 bytes data, client => server 19:01:08.889184 'RETR verifiedserver\r\n' 19:01:08.889377 Received DATA (on stdin) 19:01:08.889389 > 29 bytes data, server => client 19:01:08.889400 '150 Binary junk (17 bytes).\r\n' 19:01:08.889876 Received DATA (on stdin) 19:01:08.889889 > 28 bytes data, server => client 19:01:08.889900 '226 File transfer complete\r\n' 19:01:08.930910 < 6 bytes data, client => server 19:01:08.930940 'QUIT\r\n' 19:01:08.931159 Received DATA (on stdin) 19:01:08.931171 > 18 bytes data, server => client 19:01:08.931182 '221 bye bye baby\r\n' 19:01:08.932074 ====> Client disconnect 19:01:08.932213 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:09.888164 Running IPv4 version 19:01:09.888226 Listening on port 37359 19:01:09.888263 Wrote pid 113135 to log/4/server/ftp_sockdata.pid 19:01:09.888282 Received PING (on stdin) 19:01:09.888388 Received PORT (on stdin) 19:01:09.888713 ====> Client connect 19:01:09.889424 Received DATA (on stdin) 19:01:09.889437 > 17 bytes data, server => client 19:01:09.889448 'WE ROOLZ: 80681\r\n' 19:01:09.889471 Received DISC (on stdin) 19:01:09.889483 ====> Client forcibly disconnected 19:01:09.889631 Received QUIT (on stdin) 19:01:09.889642 quits 19:01:09.889696 ============> 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 19:01:09.936307 Running IPv4 version 19:01:09.936374 Listening on port 40675 19:01:09.936416 Wrote pid 113142 to log/4/server/socks_server.pid 19:01:09.936448 Wrote port 40675 to log/4/server/socks_server.port === End of file socks_server.log === Start of file valgrind713 ==114312== ==114312== Process terminating with default action of signal 4 (SIGILL) ==114312== Illegal opcode at address 0x4013E00 ==114312== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114312== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114312== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114312== by 0x40037A4: main (tool_main.c:199) === End of file valgrind713 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 113329 * pid socks => 113329 113329 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/2/valgrind719 ../src/curl -q --output log/2/curl719.out --include --trace-ascii log/2/trace719 --trace-time http://[2200::33]:44325/719 --proxy socks5h://127.0.0.1:33879 > log/2/stdout719 2> log/2/stderr719 719: 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 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/2/valgrind719 ../src/curl -q --output log/2/curl719.out --include --trace-ascii log/2/trace719 --trace-time http://[2200::33]:44325/719 --proxy socks5h://127.0.0.1:33879 > log/2/stdout719 2> log/2/stderr719 === End of file commands.log === Start of file http_server.log 19:01:10.123128 ====> Client connect 19:01:10.123165 accept_connection 3 returned 4 19:01:10.123183 accept_connection 3 returned 0 19:01:10.123197 Read 93 bytes 19:01:10.123208 Process 93 bytes request 19:01:10.123223 Got request: GET /verifiedserver HTTP/1.1 19:01:10.123233 Are-we-friendly question received 19:01:10.123256 Wrote request (93 bytes) input to log/2/server.input 19:01:10.123272 Identifying ourselves as friends 19:01:10.123325 Response sent (56 bytes) and written to log/2/server.response 19:01:10.123335 special request received, no persistency 19:01:10.123344 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 42456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file socks_server.log 19:01:09.127896 Running IPv4 version 19:01:09.127956 Listening on port 33879 19:01:09.127985 Wrote pid 113329 to log/2/server/socks_server.pid 19:01:09.128013 Wrote port 33879 to log/2/server/socks_server.port === End of file socks_server.log === Start of file valgrind719 ==114452== ==114452== Process terminating with default action of signal 4 (SIGILL) ==114452== Illegal opcode at address 0x4013E00 ==114452== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114452== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114452== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114452== by 0x40037A4: main (tool_main.c:199) === End of file valgrind719 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 113244 * pid socks => 113244 113244 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/7/valgrind717 ../src/curl -q --output log/7/curl717.out --include --trace-ascii log/7/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:44515 > log/7/stdout717 2> log/7/stderr717 717: 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 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/7/valgrind717 ../src/curl -q --output log/7/curl717.out --include --trace-ascii log/7/trace717 --trace-time http://127.0.0.1:1/717 -x socks5://uz3r:p4ssworm@127.0.0.1:44515 > log/7/stdout717 2> log/7/stderr717 === End of file commands.log === Start of file http_server.log 19:01:10.109867 ====> Client connect 19:01:10.109CMD (33792): ../libtool --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/valgrind730 ../src/curl -q --output log/23/curl730.out --include --trace-ascii log/23/trace730 --trace-time --ipfs-gateway http://127.0.0.1:35243/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout730 2> log/23/stderr730 CMD (33792): ../libtool --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/valgrind720 ../src/curl -q --output log/16/curl720.out --include --trace-ascii log/16/trace720 --trace-time http://12.34.56.78:42747/720 --proxy socks5h://127.0.0.1:44155 > log/16/stdout720 2> log/16/stderr720 903 accept_connection 3 returned 4 19:01:10.109921 accept_connection 3 returned 0 19:01:10.109936 Read 93 bytes 19:01:10.109947 Process 93 bytes request 19:01:10.109961 Got request: GET /verifiedserver HTTP/1.1 19:01:10.109972 Are-we-friendly question received 19:01:10.109996 Wrote request (93 bytes) input to log/7/server.input 19:01:10.110013 Identifying ourselves as friends 19:01:10.110066 Response sent (56 bytes) and written to log/7/server.response 19:01:10.110077 special request received, no persistency 19:01:10.110087 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 37964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === End of file http_verify.out === Start of file server.cmd method 2 user uz3r password p4ssworm backendport 41017 Testnum 717 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74741 === End of file server.response === Start of file socks_server.log 19:01:09.092248 Running IPv4 version 19:01:09.092314 Listening on port 44515 19:01:09.092349 Wrote pid 113244 to log/7/server/socks_server.pid 19:01:09.092377 Wrote port 44515 to log/7/server/socks_server.port === End of file socks_server.log === Start of file valgrind717 ==114434== ==114434== Process terminating with default action of signal 4 (SIGILL) ==114434== Illegal opcode at address 0x4013E00 ==114434== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114434== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114434== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114434== by 0x40037A4: main (tool_main.c:199) === End of file valgrind717 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/23/valgrind730 ../src/curl -q --output log/23/curl730.out --include --trace-ascii log/23/trace730 --trace-time --ipfs-gateway http://127.0.0.1:35243/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout730 2> log/23/stderr730 730: 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 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/23/valgrind730 ../src/curl -q --output log/23/curl730.out --include --trace-ascii log/23/trace730 --trace-time --ipfs-gateway http://127.0.0.1:35243/foo/bar ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/23/stdout730 2> log/23/stderr730 === End of file commands.log === Start of file http_server.log 19:01:10.171155 ====> Client connect 19:01:10.171186 accept_connection 3 returned 4 19:01:10.171205 accept_connection 3 returned 0 19:01:10.171222 Read 93 bytes 19:01:10.171233 Process 93 bytes request 19:01:10.171248 Got request: GET /verifiedserver HTTP/1.1 19:01:10.171259 Are-we-friendly question received 19:01:10.171282 Wrote request (93 bytes) input to log/23/server.input 19:01:10.171299 Identifying ourselves as friends 19:01:10.171353 Response sent (56 bytes) and written to log/23/server.response 19:01:10.171364 special request received, no persistency 19:01:10.171373 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 40344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind730 ==114599== ==114599== Process terminating with default action of signal 4 (SIGILL) ==114599== Illegal opcode at address 0x4013E00 ==114599== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114599== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114599== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114599== by 0x40037A4: main (tool_main.c:199) === End of file valgrind730 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 113346 * pid socks => 113346 113346 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/16/valgrind720 ../src/curl -q --output log/16/curl720.out --include --trace-ascii log/16/trace720 --trace-time http://12.34.56.78:42747/720 --proxy socks5h://127.0.0.1:44155 > log/16/stdout720 2> log/16/stderr720 720: 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 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/16/valgrind720 ../src/curl -q --output log/16/curl720.out --include --trace-ascii log/16/trace720 --trace-time http://12.34.56.78:42747/720 --proxy socks5h://127.0.0.1:44155 > log/16/stdout720 2> log/16/stderr720 === End of file commands.log === Start of file http_server.log 19:01:10.132081 ====> Client connect 19:01:10.132109 accept_connection 3 returned 4 19:01:10.132123 accept_connection 3 returned 0 19:01:10.132135 Read 93 bytes 19:01:10.132143 Process 93 bytes request 19:01:10.132155 Got request: GET /verifiedserver HTTP/1.1 19:01:10.132163 Are-we-friendly question received 19:01:10.132182 Wrote request (93 bytes) input to log/16/server.input 19:01:10.132195 Identifying ourselves as friends 19:01:10.132238 Response sent (56 bytes) and written to log/16/server.response 19:01:10.132246 special request received, no persistency 19:01:10.132253 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 39714 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file socks_server.log 19:01:09.135926 Running IPv4 version 19:01:09.135978 Listening on port 44155 19:01:09.136004 Wrote pid 113346 to log/16/server/socks_server.pid 19:01:09.136027 Wrote port 44155 to log/16/server/socks_server.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/12/valgrind721 ../src/curl -q --output log/12/curl721.out --include --trace-ascii log/12/trace721 --trace-time http://this.is.a.host.name:46819/721 --proxy socks5h://127.0.0.1:42227 > log/12/stdout721 2> log/12/stderr721 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test745.pl /startdir/src/curl/tests/.. > log/2/stdout745 2> log/2/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/22/valgrind733 ../src/curl -q --output log/22/curl733.out --include --trace-ascii log/22/trace733 --trace-time --ipfs-gateway http://127.0.0.1:41061 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/22/stdout733 2> log/22/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/11/valgrind732 ../src/curl -q --output log/11/curl732.out --include --trace-ascii log/11/trace732 --trace-time --ipfs-gateway http://127.0.0.1:46317 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/11/stdout732 2> log/11/stderr732 ort === End of file socks_server.log === Start of file valgrind720 ==114467== ==114467== Process terminating with default action of signal 4 (SIGILL) ==114467== Illegal opcode at address 0x4013E00 ==114467== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114467== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114467== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114467== by 0x40037A4: main (tool_main.c:199) === End of file valgrind720 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 113394 * pid socks => 113394 113394 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/12/valgrind721 ../src/curl -q --output log/12/curl721.out --include --trace-ascii log/12/trace721 --trace-time http://this.is.a.host.name:46819/721 --proxy socks5h://127.0.0.1:42227 > log/12/stdout721 2> log/12/stderr721 721: 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 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/12/valgrind721 ../src/curl -q --output log/12/curl721.out --include --trace-ascii log/12/trace721 --trace-time http://this.is.a.host.name:46819/721 --proxy socks5h://127.0.0.1:42227 > log/12/stdout721 2> log/12/stderr721 === End of file commands.log === Start of file http_server.log 19:01:09.150263 ====> Client connect 19:01:09.150298 accept_connection 3 returned 4 19:01:09.150314 accept_connection 3 returned 0 19:01:09.150328 Read 93 bytes 19:01:09.150338 Process 93 bytes request 19:01:09.150352 Got request: GET /verifiedserver HTTP/1.1 19:01:09.150361 Are-we-friendly question received 19:01:09.150384 Wrote request (93 bytes) input to log/12/server.input 19:01:09.150400 Identifying ourselves as friends 19:01:09.150450 Response sent (56 bytes) and written to log/12/server.response 19:01:09.150460 special request received, no persistency 19:01:09.150469 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 40208 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file socks_server.log 19:01:09.154129 Running IPv4 version 19:01:09.154188 Listening on port 42227 19:01:09.154215 Wrote pid 113394 to log/12/server/socks_server.pid 19:01:09.154237 Wrote port 42227 to log/12/server/socks_server.port === End of file socks_server.log === Start of file valgrind721 ==114528== ==114528== Process terminating with default action of signal 4 (SIGILL) ==114528== Illegal opcode at address 0x4013E00 ==114528== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114528== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114528== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114528== by 0x40037A4: main (tool_main.c:199) === End of file valgrind721 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/2/stdout745 2> log/2/stderr745 valgrind SKIPPED s------e--- OK (715 out of 1746, remaining: 01:54, took 0.020s, duration: 01:19) 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/22/valgrind733 ../src/curl -q --output log/22/curl733.out --include --trace-ascii log/22/trace733 --trace-time --ipfs-gateway http://127.0.0.1:41061 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/22/stdout733 2> log/22/stderr733 733: 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 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/22/valgrind733 ../src/curl -q --output log/22/curl733.out --include --trace-ascii log/22/trace733 --trace-time --ipfs-gateway http://127.0.0.1:41061 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/22/stdout733 2> log/22/stderr733 === End of file commands.log === Start of file http_server.log 19:01:10.501771 ====> Client connect 19:01:10.501815 accept_connection 3 returned 4 19:01:10.501834 accept_connection 3 returned 0 19:01:10.501849 Read 93 bytes 19:01:10.501860 Process 93 bytes request 19:01:10.501873 Got request: GET /verifiedserver HTTP/1.1 19:01:10.501883 Are-we-friendly question received 19:01:10.501910 Wrote request (93 bytes) input to log/22/server.input 19:01:10.501929 Identifying ourselves as friends 19:01:10.501987 Response sent (56 bytes) and written to log/22/server.response 19:01:10.502000 special request received, no persistency 19:01:10.502011 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 38724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind733 ==114879== ==114879== Process terminating with default action of signal 4 (SIGILL) ==114879== Illegal opcode at address 0x4013E00 ==114879== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114879== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114879== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114879== by 0x40037A4: main (tool_main.c:199) === End of file valgrind733 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/11/valgrind732 ../src/curl -q --output log/11/curl732.out --include --trace-ascii log/11/trace732 --trace-time --ipfs-gateway http://127.0.0.1:46317 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/11/stdout732 2> log/11/stderr732 732: 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 732 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/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/18/valgrind734 ../src/curl -q --output log/18/curl734.out --include --trace-ascii log/18/trace734 --trace-time --ipfs-gateway http://127.0.0.1:39771/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/18/stdout734 2> log/18/stderr734 CMD (33792): ../libtool --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/valgrind735 ../src/curl -q --output log/10/curl735.out --include --trace-ascii log/10/trace735 --trace-time --ipfs-gateway http://127.0.0.1:37879/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/10/stdout735 2> log/10/stderr735 dir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind732 ../src/curl -q --output log/11/curl732.out --include --trace-ascii log/11/trace732 --trace-time --ipfs-gateway http://127.0.0.1:46317 "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b" > log/11/stdout732 2> log/11/stderr732 === End of file commands.log === Start of file http_server.log 19:01:10.473183 ====> Client connect 19:01:10.473227 accept_connection 3 returned 4 19:01:10.473245 accept_connection 3 returned 0 19:01:10.473261 Read 93 bytes 19:01:10.473272 Process 93 bytes request 19:01:10.473288 Got request: GET /verifiedserver HTTP/1.1 19:01:10.473298 Are-we-friendly question received 19:01:10.473321 Wrote request (93 bytes) input to log/11/server.input 19:01:10.473338 Identifying ourselves as friends 19:01:10.473390 Response sent (56 bytes) and written to log/11/server.response 19:01:10.473401 special request received, no persistency 19:01:10.473410 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 57452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind732 ==114823== ==114823== Process terminating with default action of signal 4 (SIGILL) ==114823== Illegal opcode at address 0x4013E00 ==114823== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114823== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114823== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114823== by 0x40037A4: main (tool_main.c:199) === End of file valgrind732 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/18/valgrind734 ../src/curl -q --output log/18/curl734.out --include --trace-ascii log/18/trace734 --trace-time --ipfs-gateway http://127.0.0.1:39771/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/18/stdout734 2> log/18/stderr734 734: 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 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/18/valgrind734 ../src/curl -q --output log/18/curl734.out --include --trace-ascii log/18/trace734 --trace-time --ipfs-gateway http://127.0.0.1:39771/some/path "ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u/a/b?foo=bar&aaa=bbb" > log/18/stdout734 2> log/18/stderr734 === End of file commands.log === Start of file http_server.log 19:01:10.500611 ====> Client connect 19:01:10.500646 accept_connection 3 returned 4 19:01:10.500664 accept_connection 3 returned 0 19:01:10.500679 Read 93 bytes 19:01:10.500690 Process 93 bytes request 19:01:10.500704 Got request: GET /verifiedserver HTTP/1.1 19:01:10.500714 Are-we-friendly question received 19:01:10.500738 Wrote request (93 bytes) input to log/18/server.input 19:01:10.500755 Identifying ourselves as friends 19:01:10.500824 Response sent (56 bytes) and written to log/18/server.response 19:01:10.500835 special request received, no persistency 19:01:10.500845 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 46328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind734 ==114876== ==114876== Process terminating with default action of signal 4 (SIGILL) ==114876== Illegal opcode at address 0x4013E00 ==114876== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114876== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114876== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114876== by 0x40037A4: main (tool_main.c:199) === End of file valgrind734 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/10/valgrind735 ../src/curl -q --output log/10/curl735.out --include --trace-ascii log/10/trace735 --trace-time --ipfs-gateway http://127.0.0.1:37879/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/10/stdout735 2> log/10/stderr735 735: 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 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/10/valgrind735 ../src/curl -q --output log/10/curl735.out --include --trace-ascii log/10/trace735 --trace-time --ipfs-gateway http://127.0.0.1:37879/some/path "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/10/stdout735 2> log/10/stderr735 === End of file commands.log === Start of file http_server.log 19:01:10.637054 ====> Client connect 19:01:10.637086 accept_connection 3 returned 4 19:01:10.637103 accept_connection 3 returned 0 19:01:10.637117 Read 93 bytes 19:01:10.637126 Process 93 bytes request 19:01:10.637139 Got request: GET /verifiedserver HTTP/1.1 19:01:10.637148 Are-we-friendly question received 19:01:10.637172 Wrote request (93 bytes) input to log/10/server.input 19:01:10.637189 Identifying ourselves as friends 19:01:10.637242 Response sent (56 bytes) and written to log/10/server.response 19:01:10.637253 special request received, no persistency 19:01:10.637262 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 46496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind735 ==115016== ==115016== Process terminating with default action of signal 4 (SIGILL) ==115016== Illegal opcode at address 0x4013E00 ==115016== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115016== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115016== by 0x40037A4: UnknownCMD (33792): ../libtool --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/valgrind736 ../src/curl -q --output log/20/curl736.out --include --trace-ascii log/20/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/20/stdout736 2> log/20/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/8/valgrind728 ../src/curl -q --output log/8/curl728.out --include --trace-ascii log/8/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:43891 http://127.0.0.1:43853/728 > log/8/stdout728 2> log/8/stderr728 CMD (33792): ../libtool --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/valgrind739 ../src/curl -q --output log/1/curl739.out --include --trace-ascii log/1/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:40353/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/1/stdout739 2> log/1/stderr739 InlinedFun (tool_operate.c:2237) ==115016== by 0x40037A4: main (tool_main.c:199) === End of file valgrind735 setenv IPFS_PATH = log/20/.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/20/valgrind736 ../src/curl -q --output log/20/curl736.out --include --trace-ascii log/20/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/20/stdout736 2> log/20/stderr736 736: 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 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/20/valgrind736 ../src/curl -q --output log/20/curl736.out --include --trace-ascii log/20/trace736 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/20/stdout736 2> log/20/stderr736 === End of file commands.log === Start of file http_server.log 19:01:10.803763 ====> Client connect 19:01:10.803800 accept_connection 3 returned 4 19:01:10.803818 accept_connection 3 returned 0 19:01:10.803832 Read 93 bytes 19:01:10.803843 Process 93 bytes request 19:01:10.803856 Got request: GET /verifiedserver HTTP/1.1 19:01:10.803866 Are-we-friendly question received 19:01:10.803892 Wrote request (93 bytes) input to log/20/server.input 19:01:10.803910 Identifying ourselves as friends 19:01:10.803982 Response sent (56 bytes) and written to log/20/server.response 19:01:10.803993 special request received, no persistency 19:01:10.804002 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 38950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind736 ==115124== ==115124== Process terminating with default action of signal 4 (SIGILL) ==115124== Illegal opcode at address 0x4013E00 ==115124== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115124== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115124== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115124== by 0x40037A4: 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 19:01:10.815055 ====> Client connect 19:01:10.815091 accept_connection 3 returned 4 19:01:10.815108 accept_connection 3 returned 0 19:01:10.815124 Read 93 bytes 19:01:10.815134 Process 93 bytes request 19:01:10.815147 Got request: GET /verifiedserver HTTP/1.1 19:01:10.815158 Are-we-friendly question received 19:01:10.815221 Wrote request (93 bytes) input to log/21/server.input 19:01:10.815273 Identifying ourselves as friends 19:01:10.815348 Response sent (56 bytes) and written to log/21/server.response 19:01:10.815359 special request received, no persistency 19:01:10.815369 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 60662 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind737 ==115171== ==115171== Process terminating with default action of signal 4 (SIGILL) ==115171== Illegal opcode at address 0x4013E00 ==115171== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115171== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115171== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115171== by 0x40037A4: main (tool_main.c:199) === End of file valgrind737 CMD (33792): ../libtool --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/valgrind738 ../src/curl -q --output log/3/curl738.out --include --trace-ascii log/3/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout738 2> log/3/stderr738 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 114027 * pid socks => 114027 114027 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/8/valgrind728 ../src/curl -q --output log/8/curl728.out --include --trace-ascii log/8/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:43891 http://127.0.0.1:43853/728 > log/8/stdout728 2> log/8/stderr728 728: stderr FAILED: --- log/8/check-expected 2025-11-13 19:01:12.082724664 +0000 +++ log/8/check-generated 2025-11-13 19:01:12.082724664 +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/8/ 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/8/valgrind728 ../src/curl -q --output log/8/curl728.out --include --trace-ascii log/8/trace728 --trace-time --no-progress-meter --location --proxy socks5h://127.0.0.1:43891 http://127.0.0.1:43853/728 > log/8/stdout728 2> log/8/stderr728 === End of file commands.log === Start of file http_server.log 19:01:09.823027 ====> Client connect 19:01:09.823056 accept_connection 3 returned 4 19:01:09.823072 accept_connection 3 returned 0 19:01:09.823087 Read 93 bytes 19:01:09.823098 Process 93 bytes request 19:01:09.823111 Got request: GET /verifiedserver HTTP/1.1 19:01:09.823121 Are-we-friendly question received 19:01:09.823143 Wrote request (93 bytes) input to log/8/server.input 19:01:09.823159 Identifying ourselves as friends 19:01:09.823207 Response sent (56 bytes) and written to log/8/server.response 19:01:09.823217 special request received, no persistency 19:01:09.823227 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 52560 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file socks_server.log 19:01:10.828111 Running IPv4 version 19:01:10.828173 Listening on port 43891 19:01:10.828213 Wrote pid 114027 to log/8/server/socks_server.pid 19:01:10.828243 Wrote port 43891 to log/8/server/socks_server.port === End of file socks_server.log === Start of file valgrind728 ==115195== ==115195== Process terminating with default action of signal 4 (SIGILL) ==115195== Illegal opcode at address 0x4013E00 ==115195== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115195== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115195== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115195== by 0x40037A4: main (tool_main.c:199) === End of file valgrind728 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/1/valgrind739 ../src/curl -q --output log/1/curl739.out --include --trace-ascii log/1/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:40353/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/1/stdout739 2> log/1/stderr739 curl returned 132, when expecting 3 739: exit FAILED == Contents of files in the log/1/ 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/1/valgrind739 ../src/curl -q --output log/1/curl739.out --include --trace-ascii log/1/trace739 --trace-time --ipfs-gateway "http://127.0.0.1:40353/some/path?biz=baz" "ipns://fancy.tld/a/b?foo=bar&aaa=bbb" > log/1/stdout739 2> log/1/stderr739 === End of file commands.log === Start of file http_server.log 19:01:10.835109 ====> Client connect 19:01:10.835141 accept_connection 3 returned 4 19:01:10.835158 accept_connection 3 returned 0 19:01:10.835172 Read 93 bytes 19:01:10.835184 Process 93 bytes request 19:01:10.835197 Got request: GET /verifiedserver HTTP/1.1 19:01:10.835208 Are-we-friendly question received 19:01:10.835231 Wrote request (93 bytes) input to log/1/server.input 19:01:10.835256 Identifying ourselves as friends 19:01:10.835308 Response sent (56 bytes) and written to log/1/server.response 19:01:10.835319 special request received, no persistency 19:01:10.835330 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 58078 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind739 ==115233== ==115233== Process terminating with default action of signal 4 (SIGILL) ==115233== Illegal opcode at address 0x4013E00 ==115233== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115233== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115233== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115233== by 0x40037A4: main (tool_main.c:199) === End of file valgrind739 setenv IPFS_PATH = log/3/.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/3/valgrind738 ../src/curl -q --output log/3/curl738.out --include --trace-ascii log/3/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout738 2> log/3/stderr738 curl returned 132, when expecting 37 738: exit FAILED == Contents of files in the log/3/ 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/3/valgrind738 ../src/curl -q --output log/3/curl738.out --include --trace-ascii log/3/trace738 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/3/stdout738 2> log/3/stderr738 === End of file commands.log === Start of file http_server.log 19:01:11.827818 ====> Client connect 19:01:11.827850 accept_connection 3 returned 4 19:01:11.827867 accept_connection 3 returned 0 19:01:11.827881 Read 93 bytes 19:01:11.827892 Process 93 bytes request 19:01:11.827904 Got request: GET /verifiedserver HTTP/1.1 19:01:11.827914 Are-we-friendly question 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/17/valgrind743 ../src/curl -q --output log/17/curl743.out --include --trace-ascii log/17/trace743 --trace-time http://127.0.0.1:40515/743 -K log/17/config > log/17/stdout743 2> log/17/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/15/valgrind742 ../src/curl -q --output log/15/curl742.out --include --trace-ascii log/15/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:44531 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:40789 > log/15/stdout742 2> log/15/stderr742 ed 19:01:11.827940 Wrote request (93 bytes) input to log/3/server.input 19:01:11.827956 Identifying ourselves as friends 19:01:11.828007 Response sent (56 bytes) and written to log/3/server.response 19:01:11.828018 special request received, no persistency 19:01:11.828028 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 55024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind738 ==115196== ==115196== Process terminating with default action of signal 4 (SIGILL) ==115196== Illegal opcode at address 0x4013E00 ==115196== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115196== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115196== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115196== by 0x40037A4: main (tool_main.c:199) === End of file valgrind738 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/17/valgrind743 ../src/curl -q --output log/17/curl743.out --include --trace-ascii log/17/trace743 --trace-time http://127.0.0.1:40515/743 -K log/17/config > log/17/stdout743 2> log/17/stderr743 743: 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 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/17/valgrind743 ../src/curl -q --output log/17/curl743.out --include --trace-ascii log/17/trace743 --trace-time http://127.0.0.1:40515/743 -K log/17/config > log/17/stdout743 2> log/17/stderr743 === End of file commands.log === Start of file config -A pointless data = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" === End of file config === Start of file http_server.log 19:01:11.921851 ====> Client connect 19:01:11.921885 accept_connection 3 returned 4 19:01:11.921903 accept_connection 3 returned 0 19:01:11.921920 Read 93 bytes 19:01:11.921931 Process 93 bytes request 19:01:11.921947 Got request: GET /verifiedserver HTTP/1.1 19:01:11.921958 Are-we-friendly question received 19:01:11.922015 Wrote request (93 bytes) input to log/17/server.input 19:01:11.922037 Identifying ourselves as friends 19:01:11.922093 Response sent (56 bytes) and written to log/17/server.response 19:01:11.922105 special request received, no persistency 19:01:11.922116 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 39934 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind743 ==115555== ==115555== Process terminating with default action of signal 4 (SIGILL) ==115555== Illegal opcode at address 0x4013E00 ==115555== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115555== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115555== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115555== by 0x40037A4: main (tool_main.c:199) === End of file valgrind743 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/15/valgrind742 ../src/curl -q --output log/15/curl742.out --include --trace-ascii log/15/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:44531 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:40789 > log/15/stdout742 2> log/15/stderr742 742: 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 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/15/valgrind742 ../src/curl -q --output log/15/curl742.out --include --trace-ascii log/15/trace742 --trace-time http://cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc:44531 -x socks5h://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb@127.0.0.1:40789 > log/15/stdout742 2> log/15/stderr742 === End of file commands.log === Start of file http_server.log 19:01:10.909641 ====> Client connect 19:01:10.909684 accept_connection 3 returned 4 19:01:10.909704 accept_connection 3 returned 0 19:01:10.909721 Read 93 bytes 19:01:10.909733 Process 93 bytes request 19:01:10.909748 Got request: GET /verifiedserver HTTP/1.1 19:01:10.909758 Are-we-friendly question received 19:01:10.909790 Wrote request (93 bytes) input to log/15/server.input 19:01:10.909810 Identifying ourselves as friends 19:01:10.909879 Response sent (56 bytes) and written to log/15/server.response 19:01:10.909891 special request received, no persistency 19:01:10.909902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 56304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 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/9/valgrind715 ../src/curl -q --output log/9/curl715.out --include --trace-ascii log/9/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:41525 --proxytunnel --proxy 127.0.0.1:37607 --preproxy socks5://127.0.0.1:36963 > log/9/stdout715 2> log/9/stderr715 00 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === End of file http_verify.out === Start of file server.cmd method 2 user aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa password bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb backendport 44531 Testnum 742 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74426 === End of file server.response === Start of file valgrind742 ==115531== ==115531== Process terminating with default action of signal 4 (SIGILL) ==115531== Illegal opcode at address 0x4013E00 ==115531== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115531== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115531== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115531== by 0x40037A4: main (tool_main.c:199) === End of file valgrind742 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 113227 port 37607 * pid http-proxy => 113227 113227 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 114411 * pid socks => 114411 114411 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/9/valgrind715 ../src/curl -q --output log/9/curl715.out --include --trace-ascii log/9/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:41525 --proxytunnel --proxy 127.0.0.1:37607 --preproxy socks5://127.0.0.1:36963 > log/9/stdout715 2> log/9/stderr715 715: 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 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/9/valgrind715 ../src/curl -q --output log/9/curl715.out --include --trace-ascii log/9/trace715 --trace-time ftp://ftp.example.com.715/715 --connect-to ::connect.example.com.715:41525 --proxytunnel --proxy 127.0.0.1:37607 --preproxy socks5://127.0.0.1:36963 > log/9/stdout715 2> log/9/stderr715 === End of file commands.log === Start of file ftp_server.log 19:01:09.214232 ====> Client connect 19:01:09.214429 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:09.214733 < "USER anonymous" 19:01:09.214780 > "331 We are happy you popped in![CR][LF]" 19:01:09.214972 < "PASS ftp@example.com" 19:01:09.215009 > "230 Welcome you silly person[CR][LF]" 19:01:09.215186 < "PWD" 19:01:09.215222 > "257 "/" is current directory[CR][LF]" 19:01:09.215412 < "EPSV" 19:01:09.215438 ====> Passive DATA channel requested by client 19:01:09.215452 DATA sockfilt for passive data channel starting... 19:01:09.217290 DATA sockfilt for passive data channel started (pid 113197) 19:01:09.217407 DATA sockfilt for passive data channel listens on port 44567 19:01:09.217456 > "229 Entering Passive Mode (|||44567|)[CR][LF]" 19:01:09.217477 Client has been notified that DATA conn will be accepted on port 44567 19:01:09.217710 Client connects to port 44567 19:01:09.217788 ====> Client established passive DATA connection on port 44567 19:01:09.217911 < "TYPE I" 19:01:09.217959 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:09.218179 < "SIZE verifiedserver" 19:01:09.218226 > "213 17[CR][LF]" 19:01:09.218482 < "RETR verifiedserver" 19:01:09.218529 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:09.218625 =====> Closing passive DATA connection... 19:01:09.218647 Server disconnects passive DATA connection 19:01:09.218758 Server disconnected passive DATA connection 19:01:09.218783 DATA sockfilt for passive data channel quits (pid 113197) 19:01:09.218992 DATA sockfilt for passive data channel quit (pid 113197) 19:01:09.219021 =====> Closed passive DATA connection 19:01:09.219051 > "226 File transfer complete[CR][LF]" 19:01:09.259059 < "QUIT" 19:01:09.259118 > "221 bye bye baby[CR][LF]" 19:01:09.259843 MAIN sockfilt said DISC 19:01:09.259872 ====> Client disconnected 19:01:09.259952 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:08.986150 ====> Client connect 19:01:08.986505 Received DATA (on stdin) 19:01:08.986522 > 160 bytes data, server => client 19:01:08.986535 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:08.986546 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:08.986557 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:08.986636 < 16 bytes data, client => server 19:01:08.986651 'USER anonymous\r\n' 19:01:08.986846 Received DATA (on stdin) 19:01:08.986861 > 33 bytes data, server => client 19:01:08.986872 '331 We are happy you popped in!\r\n' 19:01:08.986925 < 22 bytes data, client => server 19:01:08.986937 'PASS ftp@example.com\r\n' 19:01:08.987070 Received DATA (on stdin) 19:01:08.987083 > 30 bytes data, server => client 19:01:08.987094 '230 Welcome you silly person\r\n' 19:01:08.987146 < 5 bytes data, client => server 19:01:08.987160 'PWD\r\n' 19:01:08.987283 Received DATA (on stdin) 19:01:08.987297 > 30 bytes data, server => client 19:01:08.987308 '257 "/" is current directory\r\n' 19:01:08.987370 < 6 bytes data, client => server 19:01:08.987382 'EPSV\r\n' 19:01:08.989545 Received DATA (on stdin) 19:01:08.989561 > 39 bytes data, server => client 19:01:08.989573 '229 Entering Passive Mode (|||44567|)\r\n' 19:01:08.989736 < 8 bytes data, client => server 19:01:08.989750 'TYPE I\r\n' 19:01:08.990037 Received DATA (on stdin) 19:01:08.990057 > 33 bytes data, server => client 19:01:08.990070 '200 I modify TYPE as you wanted\r\n' 19:01:08.990125 < 21 bytes data, client => server 19:01:08.990137 'SIZE verifiedserver\r\n' 19:01:08.990286 Received DATA (on stdin) 19:01:08.990298 > 8 bytes data, server => client 19:01:08.990309 '213 17\r\n' 19:01:08.990418 < 21 bytes data, client => server 19:01:08.990443 'RETR verifiedserver\r\n' 19:01:08.990683 Received DATA (on stdin) 19:01:08.990701 > 29 bytes data, server => client 19:01:08.990713 '150 Binary junk (17 bytes).\r\n' 19:01:08.991115 Received DATA (on stdin) 19:01:08.991132 > 28 bytes data, server => client 19:01:08.991144 '226 File transfer complete\r\n' 19:01:09.030941 < 6 bytes data, client => server 19:01:09.030971 'QUIT\r\n' 19:01:09.031191 Received DATA (on stdin) 19:01:09.031213 > 18 bytes data, server => client 19:01:09.031225 '221 bye bye baby\r\n' 19:01:09.031850 ====> Client disconnect 19:01:09.032017 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:09.989163 Running IPv4 version 19:01:09.989229 Listening on port 44567 19:01:09.989266 Wrote pid 113197 to log/9/server/ftp_sockdata.pid 19:01:09.989288 Received PING (on stdin) 19CMD (33792): ../libtool --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/valgrind748 ../src/curl -q --output log/16/curl748.out --include --trace-ascii log/16/trace748 --trace-time -K log/16/cmd > log/16/stdout748 2> log/16/stderr748 CMD (33792): ../libtool --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/valgrind747 ../src/curl -q --output log/23/curl747.out --include --trace-ascii log/23/trace747 --trace-time http://127.0.0.1:35243/747 > log/23/stdout747 2> log/23/stderr747 CMD (33792): ../libtool --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/valgrind746 ../src/curl -q --output log/7/curl746.out --include --trace-ascii log/7/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/7/stdout746 2> log/7/stderr746 :01:09.989376 Received PORT (on stdin) 19:01:09.989705 ====> Client connect 19:01:09.990608 Received DATA (on stdin) 19:01:09.990627 > 17 bytes data, server => client 19:01:09.990639 'WE ROOLZ: 80682\r\n' 19:01:09.990725 Received DISC (on stdin) 19:01:09.990746 ====> Client forcibly disconnected 19:01:09.990851 Received QUIT (on stdin) 19:01:09.990869 quits 19:01:09.990925 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http2_server.log 19:01:09.046066 Run as proxy, CONNECT to host 127.0.0.1 19:01:09.046165 Running HTTP IPv4 version on port 37607 19:01:09.046195 Wrote pid 113227 to log/9/server/http2_server.pid 19:01:09.046216 Wrote port 37607 to log/9/server/http2_server.port === End of file http2_server.log === Start of file server.cmd Testnum 715 === End of file server.cmd === Start of file socks_server.log 19:01:10.038896 Running IPv4 version 19:01:10.038995 Listening on port 36963 19:01:10.039034 Wrote pid 114411 to log/9/server/socks_server.pid 19:01:10.039064 Wrote port 36963 to log/9/server/socks_server.port === End of file socks_server.log === Start of file valgrind715 ==115653== ==115653== Process terminating with default action of signal 4 (SIGILL) ==115653== Illegal opcode at address 0x4013E00 ==115653== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115653== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115653== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115653== by 0x40037A4: main (tool_main.c:199) === End of file valgrind715 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/16/valgrind748 ../src/curl -q --output log/16/curl748.out --include --trace-ascii log/16/trace748 --trace-time -K log/16/cmd > log/16/stdout748 2> log/16/stderr748 curl returned 132, when expecting 2 748: exit FAILED == Contents of files in the log/16/ 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/16/valgrind748 ../src/curl -q --output log/16/curl748.out --include --trace-ascii log/16/trace748 --trace-time -K log/16/cmd > log/16/stdout748 2> log/16/stderr748 === End of file commands.log === Start of file server.cmd Testnum 748 === End of file server.cmd === Start of file valgrind748 ==115737== ==115737== Process terminating with default action of signal 4 (SIGILL) ==115737== Illegal opcode at address 0x4013E00 ==115737== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115737== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115737== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115737== by 0x40037A4: main (tool_main.c:199) === End of file valgrind748 CMD (33792): ../libtool --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/valgrind749 ../src/curl -q --output log/12/curl749.out --include --trace-ascii log/12/trace749 --trace-time http://test.example --proxy http://127.0.0.1:46819 --proxytunnel -sS > log/12/stdout749 2> log/12/stderr749 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/7/valgrind746 ../src/curl -q --output log/7/curl746.out --include --trace-ascii log/7/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/7/stdout746 2> log/7/stderr746 746: stderr FAILED: --- log/7/check-expected 2025-11-13 19:01:12.302724667 +0000 +++ log/7/check-generated 2025-11-13 19:01:12.302724667 +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/7/ 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/7/valgrind746 ../src/curl -q --output log/7/curl746.out --include --trace-ascii log/7/trace746 --trace-time http://neverused.example/ -m 22222242222222222 > log/7/stdout746 2> log/7/stderr746 === End of file commands.log === Start of file server.cmd Testnum 746 === End of file server.cmd === Start of file valgrind746 ==115715== ==115715== Process terminating with default action of signal 4 (SIGILL) ==115715== Illegal opcode at address 0x4013E00 ==115715== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115715== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115715== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115715== by 0x40037A4: main (tool_main.c:199) === End of file valgrind746 CMD (33792): ../libtool --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/valgrind750 ../src/curl -q --output log/2/curl750.out --include --trace-ascii log/2/trace750 --trace-time http://test.example --proxy http://127.0.0.1:44325 --proxytunnel -sS > log/2/stdout750 2> log/2/stderr750 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/12/valgrind749 ../src/curl -q --output log/12/curl749.out --include --trace-ascii log/12/trace749 --trace-time http://test.example --proxy http://127.0.0.1:46819 --proxytunnel -sS > log/12/stdout749 2> log/12/stderr749 749: stderr FAILED: --- log/12/check-expected 2025-11-13 19:01:12.309391332 +0000 +++ log/12/check-generated 2025-11-13 19:01:12.309391332 +0000 @@ -1 +0,0 @@ -curl: (56) CONNECT tunnel failed, response 400[CR][LF] == Contents of files in the log/12/ 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/12/valgrind749 ../src/curl -q --output log/12/curl749.out --include --trace-ascii log/12/trace749 --trace-time http://test.example --proxy http://127.0.0.1:46819 --proxytunnel -sS > log/12/stdout749 2> log/12/stderr749 === End of file commands.log === Start of file http_server.log 19:01:11.149658 ====> Client connect 19:01:11.149695 accept_connection 3 returned 4 19:01:11.149713 accept_connection 3 returned 0 19:01:11.149731 Read 93 bytes 19:01:11.149743 Process 93 bytes request 19:01:11.149760 Got request: GET /verifiedserver HTTP/1.1 19:01:11.149771 Are-we-friendly question received 19:01:11.149798 Wrote request (93 bytes) input to log/12/server.input 19:01:11.149818 Identifying ourselves as friends 19:01:11.149881 Response sent (56 bytes) and written to log/12/server.response 19:01:11.149895 special request received, no persistency 19:01:11.149906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 39984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind749 ==115835== ==115835== Process terminating with default action of signal 4 (SIGILL) ==115835== Illegal opcode at address 0x4013E00 ==115835== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115835== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115835== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115835== by 0x40037A4: main (tool_main.c:199) === End of file valgrind749 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/23/valgrind747 ../src/curl -q --output log/23/curl747.out --include --trace-ascii log/23/trace747 --trace-time http://127.0.0.1:35243/747 > log/23/stdout747 2> log/23/stderr747 747: 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 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/23/valgrind747 ../src/curl -q --output log/23/curl747.out --include --trace-ascii log/23/trace747 --trace-time http://127.0.0.1:35243/747 > log/23/stdout747 2> log/23/stderr747 === End of file commands.log === Start of file http_server.log 19:01:11.138150 ====> Client connect 19:01:11.138187 accept_connection 3 returned 4 19:01:11.138205 accept_connection 3 returned 0 19:01:11.138222 Read 93 bytes 19:01:11.138233 Process 93 bytes request 19:01:11.138248 Got request: GET /verifiedserver HTTP/1.1 19:01:11.138259 Are-we-friendly question received 19:01:11.138288 Wrote request (93 bytes) input to log/23/server.input 19:01:11.138308 Identifying ourselves as friends 19:01:11.138382 Response sent (56 bytes) and written to log/23/server.response 19:01:11.138395 special request received, no persistency 19:01:11.138405 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 40360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind747 ==115908== ==115908== Process terminating with default action of signal 4 (SIGILL) ==115908== Illegal opcode at address 0x4013E00 ==115908== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115908== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115908== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115908== by 0x40037A4: 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/14/valgrind729 ../src/curl -q --output log/14/curl729.out --include --trace-ascii log/14/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:35491 > log/14/stdout729 2> log/14/stderr729 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/2/valgrind750 ../src/curl -q --output log/2/curl750.out --include --trace-ascii log/2/trace750 --trace-time http://test.example --proxy http://127.0.0.1:44325 --proxytunnel -sS > log/2/stdout750 2> log/2/stderr750 750: stderr FAILED: --- log/2/check-expected 2025-11-13 19:01:12.336057999 +0000 +++ log/2/check-generated 2025-11-13 19:01:12.336057999 +0000 @@ -1 +0,0 @@ -curl: (43) Invalid response header[CR][LF] == Contents of files in the log/2/ 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/2/valgrind750 ../src/curl -q --output log/2/curl750.out --include --trace-ascii log/2/trace750 --trace-time http://test.example --proxy http://127.0.0.1:44325 --proxytunnel -sS > log/2/stdout750 2> log/2/stderr750 === End of file commands.log === Start of file http_server.log 19:01:12.151553 ====> Client connect 19:01:12.151585 accept_connection 3 returned 4 19:01:12.151601 accept_connection 3 returned 0 19:01:12.151615 Read 93 bytes 19:01:12.151625 Process 93 bytes request 19:01:12.151638 Got request: GET /verifiedserver HTTP/1.1 19:01:12.151647 Are-we-friendly question received 19:01:12.151669 Wrote request (93 bytes) input to log/2/server.input 19:01:12.151684 Identifying ourselves as friends 19:01:12.151733 Response sent (56 bytes) and written to log/2/server.response 19:01:12.151743 special request received, no persistency 19:01:12.151753 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 35938 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind750 ==115843== ==115843== Process terminating with default action of signal 4 (SIGILL) ==115843== Illegal opcode at address 0x4013E00 ==115843== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115843== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115843== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115843== by 0x40037A4: main (tool_main.c:199) === End of file valgrind750 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 114590 * pid socks => 114590 114590 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/14/valgrind729 ../src/curl -q --output log/14/curl729.out --include --trace-ascii log/14/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:35491 > log/14/stdout729 2> log/14/stderr729 curl returned 132, when expecting 97 729: exit FAILED == Contents of files in the log/14/ 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/14/valgrind729 ../src/curl -q --output log/14/curl729.out --include --trace-ascii log/14/trace729 --trace-time http://fake --limit-rate 1 -x socks4a://aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@127.0.0.1:35491 > log/14/stdout729 2> log/14/stderr729 === End of file commands.log === Start of file http_server.log 19:01:10.176694 ====> Client connect 19:01:10.176730 accept_connection 3 returned 4 19:01:10.176747 accept_connection 3 returned 0 19:01:10.177152 Read 93 bytes 19:01:10.177168 Process 93 bytes request 19:01:10.177183 Got request: GET /verifiedserver HTTP/1.1 19:01:10.177194 Are-we-friendly question received 19:01:10.177221 Wrote request (93 bytes) input to log/14/server.input 19:01:10.177240 Identifying ourselves as friends 19:01:10.177293 Response sent (56 bytes) and written to log/14/server.response 19:01:10.177304 special request received, no persistency 19:01:10.177314 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 34960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file socks_server.log 19:01:10.182711 Running IPv4 version 19:01:10.182774 Listening on port 35491 19:01:10.182819 Wrote pid 114590 to log/14/server/socks_server.pid 19:01:10.182854 Wrote port 35491 to log/14/server/socks_server.port === End of file socks_server.log === Start of file valgrind729 ==115911=CMD (33792): ../libtool --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/valgrind751 ./libtest/libtests lib751 - > log/22/stdout751 2> log/22/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/11/valgrind752 ../src/curl -q --output log/11/curl752.out --include --trace-ascii log/11/trace752 --trace-time http://127.0.0.1:46317/752 -f --retry 1 > log/11/stdout752 2> log/11/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/18/valgrind754 ../src/curl -q --output log/18/curl754.out --include --trace-ascii log/18/trace754 --trace-time ftp://127.0.0.1:38611/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/18/stdout754 2> log/18/stderr754 = ==115911== Process terminating with default action of signal 4 (SIGILL) ==115911== Illegal opcode at address 0x4013E00 ==115911== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115911== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115911== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115911== by 0x40037A4: main (tool_main.c:199) === End of file valgrind729 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/22/valgrind751 ./libtest/libtests lib751 - > log/22/stdout751 2> log/22/stderr751 libtests returned 132, when expecting 0 751: exit FAILED == Contents of files in the log/22/ 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/22/valgrind751 ./libtest/libtests lib751 - > log/22/stdout751 2> log/22/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 ==116080== ==116080== Process terminating with default action of signal 4 (SIGILL) ==116080== Illegal opcode at address 0x519E800 ==116080== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==116080== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==116080== by 0x519E800: Curl_multi_handle (multi.c:247) ==116080== by 0x40295DD: test_lib751.lto_priv.0 (lib751.c:44) ==116080== by 0x400347F: main (first.c:280) ==116080== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==116080== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==116080== by 0x519E794: Curl_multi_handle (multi.c:239) ==116080== by 0x40295DD: test_lib751.lto_priv.0 (lib751.c:44) ==116080== by 0x400347F: main (first.c:280) ==116080== === End of file valgrind751 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/11/valgrind752 ../src/curl -q --output log/11/curl752.out --include --trace-ascii log/11/trace752 --trace-time http://127.0.0.1:46317/752 -f --retry 1 > log/11/stdout752 2> log/11/stderr752 752: 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 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/11/valgrind752 ../src/curl -q --output log/11/curl752.out --include --trace-ascii log/11/trace752 --trace-time http://127.0.0.1:46317/752 -f --retry 1 > log/11/stdout752 2> log/11/stderr752 === End of file commands.log === Start of file http_server.log 19:01:11.468139 ====> Client connect 19:01:11.468175 accept_connection 3 returned 4 19:01:11.468194 accept_connection 3 returned 0 19:01:11.468210 Read 93 bytes 19:01:11.468221 Process 93 bytes request 19:01:11.468236 Got request: GET /verifiedserver HTTP/1.1 19:01:11.468246 Are-we-friendly question received 19:01:11.468271 Wrote request (93 bytes) input to log/11/server.input 19:01:11.468289 Identifying ourselves as friends 19:01:11.468342 Response sent (56 bytes) and written to log/11/server.response 19:01:11.468352 special request received, no persistency 19:01:11.468362 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 57454 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind752 ==116154== ==116154== Process terminating with default action of signal 4 (SIGILL) ==116154== Illegal opcode at address 0x4013E00 ==116154== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116154== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116154== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116154== by 0x40037A4: main (tool_main.c:199) === End of file valgrind752 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/18/valgrind754 ../src/curl -q --output log/18/curl754.out --include --trace-ascii log/18/trace754 --trace-time ftp://127.0.0.1:38611/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/18/stdout754 2> log/18/stderr754 754: 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 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/18/valgrind754 ../src/curl -q --output log/18/curl754.out --include --trace-ascii log/18/trace754 --trace-time ftp://127.0.0.1:38611/path/ -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" > log/18/stdout754 2> log/18/stderr754 === End of file commands.log === Start of file ftp_server.log 19:01:11.700224 ====> Client connect 19:01:11.700401 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:11.700706 < "USER anonymous" 19:01:11.700745 > "331 We are happy you popped in![CR][LF]" 19:01:11.700942 < "PASS ftp@example.com" 19:01:11.700972 > "230 Welcome you silly person[CR][LF]" 19:01:11.701156 < "PWD" 19:01:11.701192 > "257 "/" is current directory[CR][LF]" 19:01:11.701385 < "EPSV" 19:01:11.701414 ====> Passive DATA channel requested by client 19:01:11.701429 DATA sockfilt for passive data channel starting... 19:01:11.704433 DATA sockfilt for passive data channel started (pid 116139) 19:01:11.704574 DATA sockfilt for passive data channel listens on port 34241 19:01:11.704627 > "229 Entering Passive Mode (|||34241|)[CR][LF]" 19:01:11.704650 Client has been notified that DATA conn will be accepted on port 34241 19:01:11.704908 Client connects to port 34241 19:01:11.704944 ====> Client established passive DATA connection on port 34241 19:01:11.705087 < "TYPE I" 19:01:11.705123 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:11.705316 < "SIZE verifiedserver" 19:01:11.705361 > "213 17[CR][LF]" 19:01:11.706290 < "RETR verifiedserver" 19:01:11.706352 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:11.706445 =====> Closing passive DATA connection... 19:01:11.706462 Server disconnects passive DATA connection 19:01:11.706533 Server disconnected passive DATA connection 19:01:11.706571 DATA sockfilt for passive data channel quits (pid 116139) 19:01:11.706884 DATA sockfilt for passive data channel quit (pid 116139) 19:01:11.706910 =====> Closed passive DATA connection 19:01:11.706939 > "226 File transfer complete[CR][LF]" 19:01:11.752559 < "QUIT" 19:01:11.752619 > "221 bye bye baby[CR][LF]" 19:01:11.753662 MAIN sockfilt said DISC 19:01:11.753709 ====> Client disconnected 19:01:11.753805 Awaiting input === End of file ftp_server.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/10/valgrind755 ../src/curl -q --output log/10/curl755.out --include --trace-ascii log/10/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:37879 -A "" --netrc > log/10/stdout755 2> log/10/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/3/valgrind759 ../src/curl -q --output log/3/curl759.out --include --trace-ascii log/3/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/3/stdout759 2> log/3/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/1/valgrind761 ../src/curl -q --output log/1/curl761.out --include --trace-ascii log/1/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/1/stdout761 2> log/1/stderr761 === Start of file ftp_sockctrl.log 19:01:12.472170 ====> Client connect 19:01:12.472476 Received DATA (on stdin) 19:01:12.472495 > 160 bytes data, server => client 19:01:12.472510 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:12.472523 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:12.472535 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:12.472614 < 16 bytes data, client => server 19:01:12.472633 'USER anonymous\r\n' 19:01:12.472811 Received DATA (on stdin) 19:01:12.472827 > 33 bytes data, server => client 19:01:12.472840 '331 We are happy you popped in!\r\n' 19:01:12.472897 < 22 bytes data, client => server 19:01:12.472913 'PASS ftp@example.com\r\n' 19:01:12.473033 Received DATA (on stdin) 19:01:12.473047 > 30 bytes data, server => client 19:01:12.473060 '230 Welcome you silly person\r\n' 19:01:12.473115 < 5 bytes data, client => server 19:01:12.473132 'PWD\r\n' 19:01:12.473256 Received DATA (on stdin) 19:01:12.473271 > 30 bytes data, server => client 19:01:12.473284 '257 "/" is current directory\r\n' 19:01:12.473350 < 6 bytes data, client => server 19:01:12.473364 'EPSV\r\n' 19:01:12.476722 Received DATA (on stdin) 19:01:12.476742 > 39 bytes data, server => client 19:01:12.476756 '229 Entering Passive Mode (|||34241|)\r\n' 19:01:12.477025 < 8 bytes data, client => server 19:01:12.477041 'TYPE I\r\n' 19:01:12.477186 Received DATA (on stdin) 19:01:12.477202 > 33 bytes data, server => client 19:01:12.477216 '200 I modify TYPE as you wanted\r\n' 19:01:12.477273 < 21 bytes data, client => server 19:01:12.477289 'SIZE verifiedserver\r\n' 19:01:12.477436 Received DATA (on stdin) 19:01:12.477453 > 8 bytes data, server => client 19:01:12.477468 '213 17\r\n' 19:01:12.477528 < 21 bytes data, client => server 19:01:12.477544 'RETR verifiedserver\r\n' 19:01:12.478391 Received DATA (on stdin) 19:01:12.478414 > 29 bytes data, server => client 19:01:12.478432 '150 Binary junk (17 bytes).\r\n' 19:01:12.479007 Received DATA (on stdin) 19:01:12.479028 > 28 bytes data, server => client 19:01:12.479041 '226 File transfer complete\r\n' 19:01:12.524401 < 6 bytes data, client => server 19:01:12.524441 'QUIT\r\n' 19:01:12.524683 Received DATA (on stdin) 19:01:12.524698 > 18 bytes data, server => client 19:01:12.524710 '221 bye bye baby\r\n' 19:01:12.525659 ====> Client disconnect 19:01:12.525867 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:11.475265 Running IPv4 version 19:01:11.475349 Listening on port 34241 19:01:11.475397 Wrote pid 116139 to log/18/server/ftp_sockdata.pid 19:01:11.476419 Received PING (on stdin) 19:01:11.476532 Received PORT (on stdin) 19:01:11.476913 ====> Client connect 19:01:11.478463 Received DATA (on stdin) 19:01:11.478481 > 17 bytes data, server => client 19:01:11.478494 'WE ROOLZ: 80927\r\n' 19:01:11.478522 Received DISC (on stdin) 19:01:11.478541 ====> Client forcibly disconnected 19:01:11.478695 Received QUIT (on stdin) 19:01:11.478719 quits 19:01:11.478785 ============> 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 ==116212== ==116212== Process terminating with default action of signal 4 (SIGILL) ==116212== Illegal opcode at address 0x4013E00 ==116212== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116212== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116212== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116212== by 0x40037A4: main (tool_main.c:199) === End of file valgrind754 setenv NETRC = log/10/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/10/valgrind755 ../src/curl -q --output log/10/curl755.out --include --trace-ascii log/10/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:37879 -A "" --netrc > log/10/stdout755 2> log/10/stderr755 755: 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 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/10/valgrind755 ../src/curl -q --output log/10/curl755.out --include --trace-ascii log/10/trace755 --trace-time http://foo.host/755 --proxy 127.0.0.1:37879 -A "" --netrc > log/10/stdout755 2> log/10/stderr755 === End of file commands.log === Start of file http_server.log 19:01:11.642276 ====> Client connect 19:01:11.642312 accept_connection 3 returned 4 19:01:11.642329 accept_connection 3 returned 0 19:01:11.642342 Read 93 bytes 19:01:11.642353 Process 93 bytes request 19:01:11.642366 Got request: GET /verifiedserver HTTP/1.1 19:01:11.642376 Are-we-friendly question received 19:01:11.642400 Wrote request (93 bytes) input to log/10/server.input 19:01:11.642416 Identifying ourselves as friends 19:01:11.642467 Response sent (56 bytes) and written to log/10/server.response 19:01:11.642478 special request received, no persistency 19:01:11.642487 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 46498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind755 ==116289== ==116289== Process terminating with default action of signal 4 (SIGILL) ==116289== Illegal opcode at address 0x4013E00 ==116289== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116289== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116289== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116289== by 0x40037A4: main (tool_main.c:199) === End of file valgrind755 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/3/valgrind759 ../src/curl -q --output log/3/curl759.out --include --trace-ascii log/3/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/3/stdout759 2> log/3/stderr759 curl returned 132, when expecting 3 759: exit FAILED == Contents of files in the log/3/ 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/3/valgrind759 ../src/curl -q --output log/3/curl759.out --include --trace-ascii log/3/trace759 --trace-time "{,,,,,,,}" "{," "{,,," > log/3/stdout759 2> log/3/stderr759 === End of file commands.log === Start of file server.cmd Testnum 759 === End of file server.cmd === Start of file valgrind759 ==116395== ==116395== Process terminating with default action of signal 4 (SIGILL) ==116395== Illegal opcode at address 0x4013E00 ==116395== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116395== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116395== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116395== by 0x40037A4: 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/valgrind756 ../src/curl -q --include --trace-ascii log/20/trace756 --trace-time http://127.0.0.1:38583/want/756 http://127.0.0.1:38583/want/7560002 --out-null -o - > log/20/stdout756 2> log/20/stderr756 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/1/valgrind761 ../src/curl -q --output log/1/curl761.out --include --trace-ascii log/1/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/1/stdout761 2> log/1/stderr761 761: stderr FAILED: --- log/1/check-expected 2025-11-13 19:01:13.116058008 +0000 +++ log/1/check-generated 2025-11-13 19:01:13.116058008 +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/1/ 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/1/valgrind761 ../src/curl -q --output log/1/curl761.out --include --trace-ascii log/1/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/1/stdout761 2> log/1/stderr761 === End of file commands.log === Start of file server.cmd Testnum 761 === End of file server.cmd === Start of file valgrind761 ==116410== ==116410== Process terminating with default action of signal 4 (SIGILL) ==116410== Illegal opcode at address 0x4013E00 ==116410== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116410== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116410== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116410== by 0x40037A4: main (tool_main.c:199) === End of file valgrind761 CMD (33792): ../libtool --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/valgrind760 ../src/curl -q --output log/8/curl760.out --include --trace-ascii log/8/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/8/stdout760 2> log/8/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/4/valgrind744 ../src/curl -q --output log/4/curl744.out --include --trace-ascii log/4/trace744 --trace-time http://foo.host:37985/744 -p --proxy1.0 127.0.0.1:38297 -A "" --netrc-file log/4/netrc744 > log/4/stdout744 2> log/4/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/21/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:35043/we/want/757 > log/21/stdout757 2> log/21/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/20/valgrind756 ../src/curl -q --include --trace-ascii log/20/trace756 --trace-time http://127.0.0.1:38583/want/756 http://127.0.0.1:38583/want/7560002 --out-null -o - > log/20/stdout756 2> log/20/stderr756 756: stdout FAILED: --- log/20/check-expected 2025-11-13 19:01:13.122724675 +0000 +++ log/20/check-generated 2025-11-13 19:01:13.122724675 +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/20/ 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/20/valgrind756 ../src/curl -q --include --trace-ascii log/20/trace756 --trace-time http://127.0.0.1:38583/want/756 http://127.0.0.1:38583/want/7560002 --out-null -o - > log/20/stdout756 2> log/20/stderr756 === End of file commands.log === Start of file http_server.log 19:01:11.853213 ====> Client connect 19:01:11.853254 accept_connection 3 returned 4 19:01:11.853274 accept_connection 3 returned 0 19:01:11.853290 Read 93 bytes 19:01:11.853300 Process 93 bytes request 19:01:11.853315 Got request: GET /verifiedserver HTTP/1.1 19:01:11.853325 Are-we-friendly question received 19:01:11.853366 Wrote request (93 bytes) input to log/20/server.input 19:01:11.853385 Identifying ourselves as friends 19:01:11.853648 Response sent (56 bytes) and written to log/20/server.response 19:01:11.853663 special request received, no persistency 19:01:11.853675 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 38956 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.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:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind756 ==116386== ==116386== Process terminating with default action of signal 4 (SIGILL) ==116386== Illegal opcode at address 0x4013E00 ==116386== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116386== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116386== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116386== by 0x40037A4: 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/8/valgrind760 ../src/curl -q --output log/8/curl760.out --include --trace-ascii log/8/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/8/stdout760 2> log/8/stderr760 curl returned 132, when expecting 1 760: exit FAILED == Contents of files in the log/8/ 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/8/valgrind760 ../src/curl -q --output log/8/curl760.out --include --trace-ascii log/8/trace760 --trace-time -no1 -no2 --url "Qttp://internal.dxample.lol/status" -: --url "http" > log/8/stdout760 2> log/8/stderr760 === End of file commands.log === Start of file server.cmd Testnum 760 === End of file server.cmd === Start of file valgrind760 ==116401== ==116401== Process terminating with default action of signal 4 (SIGILL) ==116401== Illegal opcode at address 0x4013E00 ==116401== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116401== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116401== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116401== by 0x40037A4: main (tool_main.c:199) === End of file valgrind760 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 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 115575 port 38297 * pid http-proxy => 115575 115575 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/4/valgrind744 ../src/curl -q --output log/4/curl744.out --include --trace-ascii log/4/trace744 --trace-time http://foo.host:37985/744 -p --proxy1.0 127.0.0.1:38297 -A "" --netrc-file log/4/netrc744 > log/4/stdout744 2> log/4/stderr744 744: 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 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/4/valgrind744 ../src/curl -q --output log/4/curl744.out --include --trace-ascii log/4/trace744 --trace-time http://foo.host:37985/744 -p --proxy1.0 127.0.0.1:38297 -A "" --netrc-file log/4/netrc744 > log/4/stdout744 2> log/4/stderr744 === End of file commands.log === Start of file http2_server.log 19:01:11.961012 Run as proxy, CONNECT to host 127.0.0.1 19:01:11.961142 Running HTTP IPv4 version on port 38297 19:01:11.961189 Wrote pid 115575 to log/4/server/http2_server.pid 19:01:11.961219 Wrote port 38297 to log/4/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:01:11.938801 ====> Client connect 19:01:11.938839 accept_connection 3 returned 4 19:01:11.938857 accept_connection 3 returned 0 19:01:11.938872 Read 93 bytes 19:01:11.938883 Process 93 bytes request 19:01:11.938897 Got request: GET /verifiedserver HTTP/1.1 19:01:11.938907 Are-we-friendly question received 19:01:11.938931 Wrote request (93 bytes) input to log/4/server.input 19:01:11.938948 Identifying ourselves as friends 19:01:11.939001 Response sent (56 bytes) and written to log/4/server.response 19:01:11.939012 special request received, no persistency 19:01:11.939022 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 47548 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file CMD (33792): ../libtool --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/valgrind763 ../src/curl -q --output log/15/curl763.out --include --trace-ascii log/15/trace763 --trace-time '​‌' > log/15/stdout763 2> log/15/stderr763 CMD (33792): ../libtool --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/valgrind762 ../src/curl -q --trace-ascii log/17/trace762 --trace-time http://127.0.0.1:40515/762 -O --remote-time --output-dir log/17 > log/17/stdout762 2> log/17/stderr762 CMD (256): /usr/bin/perl -e 'exit((stat("log/17/762"))[9] != -922349651)' http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind744 ==116664== ==116664== Process terminating with default action of signal 4 (SIGILL) ==116664== Illegal opcode at address 0x4013E00 ==116664== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116664== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116664== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116664== by 0x40037A4: main (tool_main.c:199) === End of file valgrind744 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/21/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:35043/we/want/757 > log/21/stdout757 2> log/21/stderr757 757: 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 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/21/valgrind757 ./libtest/libtests lib757 http://127.0.0.1:35043/we/want/757 > log/21/stdout757 2> log/21/stderr757 === End of file commands.log === Start of file http_server.log 19:01:11.868963 ====> Client connect 19:01:11.868994 accept_connection 3 returned 4 19:01:11.869008 accept_connection 3 returned 0 19:01:11.869020 Read 93 bytes 19:01:11.869029 Process 93 bytes request 19:01:11.869041 Got request: GET /verifiedserver HTTP/1.1 19:01:11.869049 Are-we-friendly question received 19:01:11.869069 Wrote request (93 bytes) input to log/21/server.input 19:01:11.869083 Identifying ourselves as friends 19:01:11.869126 Response sent (56 bytes) and written to log/21/server.response 19:01:11.869137 special request received, no persistency 19:01:11.869145 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 60676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file stderr757 URL: http://127.0.0.1:35043/we/want/757 === End of file stderr757 === Start of file valgrind757 ==116417== ==116417== Process terminating with default action of signal 4 (SIGILL) ==116417== Illegal opcode at address 0x51D5F1F ==116417== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==116417== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==116417== by 0x51D5F1F: Curl_open (url.c:525) ==116417== by 0x514F6EF: curl_easy_init (easy.c:371) ==116417== by 0x4025BCA: test_lib757.lto_priv.0 (lib757.c:74) ==116417== by 0x400347F: main (first.c:280) ==116417== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==116417== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==116417== by 0x51D5EBD: Curl_open (url.c:504) ==116417== by 0x514F6EF: curl_easy_init (easy.c:371) ==116417== by 0x4025BCA: test_lib757.lto_priv.0 (lib757.c:74) ==116417== by 0x400347F: main (first.c:280) ==116417== === End of file valgrind757 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/15/valgrind763 ../src/curl -q --output log/15/curl763.out --include --trace-ascii log/15/trace763 --trace-time '​‌' > log/15/stdout763 2> log/15/stderr763 curl returned 132, when expecting 3 763: exit FAILED == Contents of files in the log/15/ 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/15/valgrind763 ../src/curl -q --output log/15/curl763.out --include --trace-ascii log/15/trace763 --trace-time '​‌' > log/15/stdout763 2> log/15/stderr763 === End of file commands.log === Start of file server.cmd Testnum 763 === End of file server.cmd === Start of file valgrind763 ==116636== ==116636== Process terminating with default action of signal 4 (SIGILL) ==116636== Illegal opcode at address 0x4013E00 ==116636== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116636== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116636== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116636== by 0x40037A4: 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/17/valgrind762 ../src/curl -q --trace-ascii log/17/trace762 --trace-time http://127.0.0.1:40515/762 -O --remote-time --output-dir log/17 > log/17/stdout762 2> log/17/stderr762 postcheck /usr/bin/perl -e 'exit((stat("log/17/762"))[9] != -922349651)' 762: postcheck FAILED == Contents of files in the log/17/ 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/17/valgrind762 ../src/curl -q --trace-ascii log/17/trace762 --trace-time http://127.0.0.1:40515/762 -O --remote-time --output-dir log/17 > log/17/stdout762 2> log/17/stderr762 === End of file commands.log === Start of file http_server.log 19:01:12.942157 ====> Client connect 19:01:12.942199 accept_connection 3 returned 4 19:01:12.942217 accept_connection 3 returned 0 19:01:12.942235 Read 93 bytes 19:01:12.942247 Process 93 bytes request 19:01:12.942262 Got request: GET /verifiedserver HTTP/1.1 19:01:12.942273 Are-we-friendly question received 19:01:12.942302 Wrote request (93 bytes) input to log/17/server.input 19:01:12.942321 Identifying ourselves as friends 19:01:12.942388 Response sent (56 bytes) and written to log/17/server.response 19:01:12.942402 special request received, no persistency 19:01:12.942413 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 39942 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind762 ==116665== ==116665== Process terminating with default action of signal 4 (SIGILL) ==116665== Illegal opcode at address 0x40CMD (33792): ../libtool --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/valgrind764 ../src/curl -q --include --trace-ascii log/9/trace764 --trace-time http://127.0.0.1:36745/764 -L -w '%header{this:all:***}\n' -o log/9/764.out > log/9/stdout764 2> log/9/stderr764 13E00 ==116665== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116665== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116665== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116665== by 0x40037A4: main (tool_main.c:199) === End of file valgrind762 CMD (33792): ../libtool --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/valgrind769 ../src/curl -q --output log/12/curl769.out --include --trace-ascii log/12/trace769 --trace-time http://127.0.0.1:46819/769 > log/12/stdout769 2> log/12/stderr769 CMD (33792): ../libtool --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/valgrind765 ../src/curl -q --include --trace-ascii log/16/trace765 --trace-time http://127.0.0.1:42747/765 -L -w '%header{this:all:-{\}-}\n' -o log/16/765.out > log/16/stdout765 2> log/16/stderr765 CMD (33792): ../libtool --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/valgrind767 ../src/curl -q --output log/23/curl767.out --include --trace-ascii log/23/trace767 --trace-time http://127.0.0.1:35243/767 > log/23/stdout767 2> log/23/stderr767 CMD (33792): ../libtool --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/valgrind768 ../src/curl -q --output log/2/curl768.out --include --trace-ascii log/2/trace768 --trace-time http://127.0.0.1:44325/768 > log/2/stdout768 2> log/2/stderr768 test 0764...[-w with multiple 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/9/valgrind764 ../src/curl -q --include --trace-ascii log/9/trace764 --trace-time http://127.0.0.1:36745/764 -L -w '%header{this:all:***}\n' -o log/9/764.out > log/9/stdout764 2> log/9/stderr764 764: stdout FAILED: --- log/9/check-expected 2025-11-13 19:01:13.326058009 +0000 +++ log/9/check-generated 2025-11-13 19:01:13.326058009 +0000 @@ -1 +0,0 @@ -one***two***three***four[CR][LF] == Contents of files in the log/9/ dir after test 764 === Start of file check-expected one***two***three***four[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/valgrind764 ../src/curl -q --include --trace-ascii log/9/trace764 --trace-time http://127.0.0.1:36745/764 -L -w '%header{this:all:***}\n' -o log/9/764.out > log/9/stdout764 2> log/9/stderr764 === End of file commands.log === Start of file http_server.log 19:01:12.066171 ====> Client connect 19:01:12.066210 accept_connection 3 returned 4 19:01:12.066228 accept_connection 3 returned 0 19:01:12.066244 Read 93 bytes 19:01:12.066256 Process 93 bytes request 19:01:12.066271 Got request: GET /verifiedserver HTTP/1.1 19:01:12.066281 Are-we-friendly question received 19:01:12.066328 Wrote request (93 bytes) input to log/9/server.input 19:01:12.066348 Identifying ourselves as friends 19:01:12.066412 Response sent (56 bytes) and written to log/9/server.response 19:01:12.066427 special request received, no persistency 19:01:12.066440 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 44996 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === End of file http_verify.out === Start of file server.cmd Testnum 764 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74638 === End of file server.response === Start of file valgrind764 ==116815== ==116815== Process terminating with default action of signal 4 (SIGILL) ==116815== Illegal opcode at address 0x4013E00 ==116815== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116815== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116815== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116815== by 0x40037A4: main (tool_main.c:199) === End of file valgrind764 test 0768...[HTTP with letters after the number 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/2/valgrind768 ../src/curl -q --output log/2/curl768.out --include --trace-ascii log/2/trace768 --trace-time http://127.0.0.1:44325/768 > log/2/stdout768 2> log/2/stderr768 768: 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 768 === Start of file commands.log ../libtool --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/valgrind768 ../src/curl -q --output log/2/curl768.out --include --trace-ascii log/2/trace768 --trace-time http://127.0.0.1:44325/768 > log/2/stdout768 2> log/2/stderr768 === End of file commands.log === Start of file http_server.log 19:01:13.136332 ====> Client connect 19:01:13.136362 accept_connection 3 returned 4 19:01:13.136378 accept_connection 3 returned 0 19:01:13.136391 Read 93 bytes 19:01:13.136401 Process 93 bytes request 19:01:13.136413 Got request: GET /verifiedserver HTTP/1.1 19:01:13.136422 Are-we-friendly question received 19:01:13.136443 Wrote request (93 bytes) input to log/2/server.input 19:01:13.136459 Identifying ourselves as friends 19:01:13.136546 Response sent (56 bytes) and written to log/2/server.response 19:01:13.136557 special request received, no persistency 19:01:13.136566 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 35954 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === End of file http_verify.out === Start of file server.cmd Testnum 768 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74946 === End of file server.response === Start of file valgrind768 ==116997== ==116997== Process terminating with default action of signal 4 (SIGILL) ==116997== Illegal opcode at address 0x4013E00 ==116997== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116997== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116997== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116997== by 0x40037A4: main (tool_main.c:199) === End of file valgrind768 test 0769...[HTTP with space after Content-Length 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/12/valgrind769 ../src/curl -q --output log/12/curl769.out --include --trace-ascii log/12/trace769 --trace-time http://127.0.0.1:46819/769 > log/12/stdout769 2> log/12/stderr769 769: 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 769 === Start of file commands.log ../libtool --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/valgrind769 ../src/curl -q --output log/12/curl769.out --include --trace-ascii log/12/trace769 --trace-time http://127.0.0.1:46819/769 > log/12/stdout769 2> log/12/stderr769 === End of file commands.log === Start of file http_server.log 19:01:12.136336 ====> Client connect 19:01:12.136371 accept_connection 3 returned 4 19:01:12.136389 accept_connection 3 returned 0 19:01:12.136403 Read 93 bytes 19:01:12.136415 Process 93 bytes request 19:01:12.136427 Got request: GET /verifiedserver HTTP/1.1 19:01:12.136437 Are-we-friendly question received 19:01:12.136464 Wrote request (93 bytes) input to log/12/server.input 19:01:12.136482 Identifying ourselves as friends 19:01:12.136641 Response sent (56 bytes) and written to log/12/server.response 19:01:12.136653 special request received, no persistency 19:01:12.136663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 39992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === End of file http_verify.out === Start of file server.cmd Testnum 769 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76272 === End of file server.response === Start of file valgrind769 ==116994== ==116994== Process terminating with default action of signal 4 (SIGILL) ==116994== Illegal opcode at address 0x4013E00 ==116994== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116994== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116994== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116994== by 0x40037A4: main (tool_main.c:199) === End of file valgrind769 CMD (33792): ../libtool --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/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:34277/path/766 > log/7/stdout766 2> log/7/stderr766 test 0765...[-w with multiple header output using } in 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/16/valgrind765 ../src/curl -q --include --trace-ascii log/16/trace765 --trace-time http://127.0.0.1:42747/765 -L -w '%header{this:all:-{\}-}\n' -o log/16/765.out > log/16/stdout765 2> log/16/stderr765 765: stdout FAILED: --- log/16/check-expected 2025-11-13 19:01:13.336058010 +0000 +++ log/16/check-generated 2025-11-13 19:01:13.336058010 +0000 @@ -1 +0,0 @@ -one-{}-two-{}-three-{}-four[CR][LF] == Contents of files in the log/16/ dir after test 765 === Start of file check-expected one-{}-two-{}-three-{}-four[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/valgrind765 ../src/curl -q --include --trace-ascii log/16/trace765 --trace-time http://127.0.0.1:42747/765 -L -w '%header{this:all:-{\}-}\n' -o log/16/765.out > log/16/stdout765 2> log/16/stderr765 === End of file commands.log === Start of file http_server.log 19:01:13.104515 ====> Client connect 19:01:13.104557 accept_connection 3 returned 4 19:01:13.104576 accept_connection 3 returned 0 19:01:13.104594 Read 93 bytes 19:01:13.104606 Process 93 bytes request 19:01:13.104620 Got request: GET /verifiedserver HTTP/1.1 19:01:13.104631 Are-we-friendly question received 19:01:13.104660 Wrote request (93 bytes) input to log/16/server.input 19:01:13.104679 Identifying ourselves as friends 19:01:13.104745 Response sent (56 bytes) and written to log/16/server.response 19:01:13.105750 special request received, no persistency 19:01:13.105770 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 50406 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === End of file http_verify.out === Start of file server.cmd Testnum 765 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74425 === End of file server.response === Start of file valgrind765 ==116919== ==116919== Process terminating with default action of signal 4 (SIGILL) ==116919== Illegal opcode at address 0x4013E00 ==116919== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116919== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116919== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116919== by 0x40037A4: main (tool_main.c:199) === End of file valgrind765 test 0767...[HTTP with two Content-Length response header fields same 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/23/valgrind767 ../src/curl -q --output log/23/curl767.out --include --trace-ascii log/23/trace767 --trace-time http://127.0.0.1:35243/767 > log/23/stdout767 2> log/23/stderr767 767: 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 767 === Start of file commands.log ../libtool --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/valgrind767 ../src/curl -q --output log/23/curl767.out --include --trace-ascii log/23/trace767 --trace-time http://127.0.0.1:35243/767 > log/23/stdout767 2> log/23/stderr767 === End of file commands.log === Start of file http_server.log 19:01:12.121851 ====> Client connect 19:01:12.121886 accept_connection 3 returned 4 19:01:12.121902 accept_connection 3 returned 0 19:01:12.121918 Read 93 bytes 19:01:12.121929 Process 93 bytes request 19:01:12.121943 Got request: GET /verifiedserver HTTP/1.1 19:01:12.121953 Are-we-friendly question received 19:01:12.121979 Wrote request (93 bytes) input to log/23/server.input 19:01:12.121997 Identifying ourselves as friends 19:01:12.122052 Response sent (56 bytes) and written to log/23/server.response 19:01:12.122063 special request received, no persistency 19:01:12.122073 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 40370 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === End of file http_verify.out === Start of file server.cmd Testnum 767 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74418 === End of file server.response === Start of file valgrind767 ==116961== ==116961== Process terminating with default action of signal 4 (SIGILL) ==116961== Illegal opcode at address 0x4013E00 ==116961== at 0x4013E00: getparameter (tool_getparam.c:2846) ==116961== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==116961== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==116961== by 0x40037A4: main (tool_main.c:199) === End of file valgrind767 test 0766...[FTP PORT with sockopt callback refusing the accept] ../libtool --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/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:34277/path/766 > log/7/stdout766 2> log/7/stderr766 766: 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 766 === Start of file commands.log ../libtool --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/valgrind766 ./libtest/libtests lib766 ftp://127.0.0.1:34277/path/766 > log/7/stdout766 2> log/7/stderr766 === End of file commands.log === Start of file ftp_server.log 19:01:12.332947 ====> Client connect 19:01:12.333113 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:12.333412 < "USER anonymous" 19:01:12.333460 > "331 We are happy you popped in![CR][LF]" 19:01:12.333673 < "PASS ftp@example.com" 19:01:12.333709 > "230 Welcome you silly person[CR][LF]" 19:01:12.333875 < "PWD" 19:01:12.333907 > "257 "/" is current directory[CR][LF]" 19:01:12.334072 < "EPSV" 19:01:12.334098 ====> Passive DATA channel requested by client 19:01:12.334113 DATA sockfilt for passive data channel starting... 19:01:12.336054 DATA sockfilt for passive data channel started (pid 116871) 19:01:12.336172 DATA sockfilt for passive data channel listens on port 40395 19:01:12.336221 > "229 Entering Passive Mode (|||40395|)[CR][LF]" 19:01:12.336240 Client has been notified that DATA conn will be accepted on port 40395 19:01:12.336520 Client connects to port 40395 19:01:12.336550 ====> Client established passive DATA connection on port 40395 19:01:12.336637 < "TYPE I" 19:01:12.336671 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:12.339052 < "SIZE verifiedserver" 19:01:12.339095 > "213 17[CR][LF]" 19:01:12.339266 < "RETR verifiedserver" 19:01:12.33CMD (33792): ../libtool --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/valgrind770 ../src/curl -q --output log/14/curl770.out --include --trace-ascii log/14/trace770 --trace-time http://127.0.0.1:36759/770 > log/14/stdout770 2> log/14/stderr770 CMD (33792): ../libtool --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/valgrind772 ../src/curl -q --output log/11/curl772.out --include --trace-ascii log/11/trace772 --trace-time http://127.0.0.1:46317/772 > log/11/stdout772 2> log/11/stderr772 9303 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:12.339397 =====> Closing passive DATA connection... 19:01:12.339412 Server disconnects passive DATA connection 19:01:12.339559 Server disconnected passive DATA connection 19:01:12.339605 DATA sockfilt for passive data channel quits (pid 116871) 19:01:12.339922 DATA sockfilt for passive data channel quit (pid 116871) 19:01:12.339947 =====> Closed passive DATA connection 19:01:12.339979 > "226 File transfer complete[CR][LF]" 19:01:12.382687 < "QUIT" 19:01:12.382750 > "221 bye bye baby[CR][LF]" 19:01:12.383038 MAIN sockfilt said DISC 19:01:12.383082 ====> Client disconnected 19:01:12.383157 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:12.104900 ====> Client connect 19:01:12.105187 Received DATA (on stdin) 19:01:12.105205 > 160 bytes data, server => client 19:01:12.105219 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:12.105231 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:12.105242 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:12.105316 < 16 bytes data, client => server 19:01:12.105330 'USER anonymous\r\n' 19:01:12.105525 Received DATA (on stdin) 19:01:12.105540 > 33 bytes data, server => client 19:01:12.105552 '331 We are happy you popped in!\r\n' 19:01:12.105614 < 22 bytes data, client => server 19:01:12.105627 'PASS ftp@example.com\r\n' 19:01:12.105768 Received DATA (on stdin) 19:01:12.105781 > 30 bytes data, server => client 19:01:12.105793 '230 Welcome you silly person\r\n' 19:01:12.105841 < 5 bytes data, client => server 19:01:12.105853 'PWD\r\n' 19:01:12.105964 Received DATA (on stdin) 19:01:12.105977 > 30 bytes data, server => client 19:01:12.105988 '257 "/" is current directory\r\n' 19:01:12.106046 < 6 bytes data, client => server 19:01:12.106059 'EPSV\r\n' 19:01:12.108306 Received DATA (on stdin) 19:01:12.108325 > 39 bytes data, server => client 19:01:12.108337 '229 Entering Passive Mode (|||40395|)\r\n' 19:01:12.108524 < 8 bytes data, client => server 19:01:12.108537 'TYPE I\r\n' 19:01:12.110913 Received DATA (on stdin) 19:01:12.110934 > 33 bytes data, server => client 19:01:12.110946 '200 I modify TYPE as you wanted\r\n' 19:01:12.111011 < 21 bytes data, client => server 19:01:12.111023 'SIZE verifiedserver\r\n' 19:01:12.111153 Received DATA (on stdin) 19:01:12.111164 > 8 bytes data, server => client 19:01:12.111174 '213 17\r\n' 19:01:12.111222 < 21 bytes data, client => server 19:01:12.111234 'RETR verifiedserver\r\n' 19:01:12.111471 Received DATA (on stdin) 19:01:12.111483 > 29 bytes data, server => client 19:01:12.111494 '150 Binary junk (17 bytes).\r\n' 19:01:12.112045 Received DATA (on stdin) 19:01:12.112062 > 28 bytes data, server => client 19:01:12.112073 '226 File transfer complete\r\n' 19:01:12.154543 < 6 bytes data, client => server 19:01:12.154573 'QUIT\r\n' 19:01:12.154823 Received DATA (on stdin) 19:01:12.154841 > 18 bytes data, server => client 19:01:12.154854 '221 bye bye baby\r\n' 19:01:12.155034 ====> Client disconnect 19:01:12.155222 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:12.107791 Running IPv4 version 19:01:12.107850 Listening on port 40395 19:01:12.107889 Wrote pid 116871 to log/7/server/ftp_sockdata.pid 19:01:12.108052 Received PING (on stdin) 19:01:12.108141 Received PORT (on stdin) 19:01:12.108495 ====> Client connect 19:01:12.111521 Received DATA (on stdin) 19:01:12.111535 > 17 bytes data, server => client 19:01:12.111546 'WE ROOLZ: 89392\r\n' 19:01:12.111568 Received DISC (on stdin) 19:01:12.111579 ====> Client forcibly disconnected 19:01:12.111683 Received QUIT (on stdin) 19:01:12.111703 quits 19:01:12.111779 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 766 === End of file server.cmd === Start of file stderr766 URL: ftp://127.0.0.1:34277/path/766 === End of file stderr766 === Start of file valgrind766 ==117061== ==117061== Process terminating with default action of signal 4 (SIGILL) ==117061== Illegal opcode at address 0x51D5F1F ==117061== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==117061== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==117061== by 0x51D5F1F: Curl_open (url.c:525) ==117061== by 0x514F6EF: curl_easy_init (easy.c:371) ==117061== by 0x402159E: test_lib766.lto_priv.0 (lib766.c:52) ==117061== by 0x400347F: main (first.c:280) ==117061== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==117061== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==117061== by 0x51D5EBD: Curl_open (url.c:504) ==117061== by 0x514F6EF: curl_easy_init (easy.c:371) ==117061== by 0x402159E: test_lib766.lto_priv.0 (lib766.c:52) ==117061== by 0x400347F: main (first.c:280) ==117061== === End of file valgrind766 test 0770...[HTTP with Content-Length headers using comma separated list] ../libtool --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/valgrind770 ../src/curl -q --output log/14/curl770.out --include --trace-ascii log/14/trace770 --trace-time http://127.0.0.1:36759/770 > log/14/stdout770 2> log/14/stderr770 770: 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 770 === Start of file commands.log ../libtool --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/valgrind770 ../src/curl -q --output log/14/curl770.out --include --trace-ascii log/14/trace770 --trace-time http://127.0.0.1:36759/770 > log/14/stdout770 2> log/14/stderr770 === End of file commands.log === Start of file http_server.log 19:01:12.185733 ====> Client connect 19:01:12.185768 accept_connection 3 returned 4 19:01:12.185786 accept_connection 3 returned 0 19:01:12.185802 Read 93 bytes 19:01:12.185813 Process 93 bytes request 19:01:12.185827 Got request: GET /verifiedserver HTTP/1.1 19:01:12.185837 Are-we-friendly question received 19:01:12.185861 Wrote request (93 bytes) input to log/14/server.input 19:01:12.185878 Identifying ourselves as friends 19:01:12.185931 Response sent (56 bytes) and written to log/14/server.response 19:01:12.185942 special request received, no persistency 19:01:12.185952 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 34974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === End of file http_verify.out === Start of file server.cmd Testnum 770 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74428 === End of file server.response === Start of file valgrind770 ==117175== ==117175== Process terminating with default action of signal 4 (SIGILL) ==117175== Illegal opcode at address 0x4013E00 ==117175== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117175== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117175== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117175== by 0x40037A4: main (tool_main.c:199) === End of file valgrind770 test 0772...[HTTP with two Location: headers triggers 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/11/valgrind772 ../src/curl -q --output log/11/curl772.out --include --trace-ascii log/11/trace772 --trace-time http://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/22/valgrind771 ../src/curl -q --output log/22/curl771.out --include --trace-ascii log/22/trace771 --trace-time http://127.0.0.1:41061/771 > log/22/stdout771 2> log/22/stderr771 CMD (33792): ../libtool --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/valgrind773 ../src/curl -q --output log/18/curl773.out --include --trace-ascii log/18/trace773 --trace-time http://127.0.0.1:39771/773 > log/18/stdout773 2> log/18/stderr773 6317/772 > log/11/stdout772 2> log/11/stderr772 772: 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 772 === Start of file commands.log ../libtool --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/valgrind772 ../src/curl -q --output log/11/curl772.out --include --trace-ascii log/11/trace772 --trace-time http://127.0.0.1:46317/772 > log/11/stdout772 2> log/11/stderr772 === End of file commands.log === Start of file http_server.log 19:01:12.437471 ====> Client connect 19:01:12.437506 accept_connection 3 returned 4 19:01:12.437527 accept_connection 3 returned 0 19:01:12.437542 Read 93 bytes 19:01:12.437554 Process 93 bytes request 19:01:12.437567 Got request: GET /verifiedserver HTTP/1.1 19:01:12.437578 Are-we-friendly question received 19:01:12.437605 Wrote request (93 bytes) input to log/11/server.input 19:01:12.437626 Identifying ourselves as friends 19:01:12.437687 Response sent (56 bytes) and written to log/11/server.response 19:01:12.437699 special request received, no persistency 19:01:12.437710 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 57458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === End of file http_verify.out === Start of file server.cmd Testnum 772 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74579 === End of file server.response === Start of file valgrind772 ==117306== ==117306== Process terminating with default action of signal 4 (SIGILL) ==117306== Illegal opcode at address 0x4013E00 ==117306== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117306== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117306== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117306== by 0x40037A4: main (tool_main.c:199) === End of file valgrind772 test 0771...[HTTP with two Content-Length headers using different 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/22/valgrind771 ../src/curl -q --output log/22/curl771.out --include --trace-ascii log/22/trace771 --trace-time http://127.0.0.1:41061/771 > log/22/stdout771 2> log/22/stderr771 771: 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 771 === Start of file commands.log ../libtool --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/valgrind771 ../src/curl -q --output log/22/curl771.out --include --trace-ascii log/22/trace771 --trace-time http://127.0.0.1:41061/771 > log/22/stdout771 2> log/22/stderr771 === End of file commands.log === Start of file http_server.log 19:01:12.436951 ====> Client connect 19:01:12.436989 accept_connection 3 returned 4 19:01:12.437009 accept_connection 3 returned 0 19:01:12.437026 Read 93 bytes 19:01:12.437036 Process 93 bytes request 19:01:12.437049 Got request: GET /verifiedserver HTTP/1.1 19:01:12.437059 Are-we-friendly question received 19:01:12.437088 Wrote request (93 bytes) input to log/22/server.input 19:01:12.437108 Identifying ourselves as friends 19:01:12.437167 Response sent (56 bytes) and written to log/22/server.response 19:01:12.437179 special request received, no persistency 19:01:12.437190 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 38732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === End of file http_verify.out === Start of file server.cmd Testnum 771 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74419 === End of file server.response === Start of file valgrind771 ==117305== ==117305== Process terminating with default action of signal 4 (SIGILL) ==117305== Illegal opcode at address 0x4013E00 ==117305== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117305== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117305== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117305== by 0x40037A4: main (tool_main.c:199) === End of file valgrind771 test 0773...[HTTP with two identical Location: headers triggers no 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/18/valgrind773 ../src/curl -q --output log/18/curl773.out --include --trace-ascii log/18/trace773 --trace-time http://127.0.0.1:39771/773 > log/18/stdout773 2> log/18/stderr773 773: 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 773 === Start of file commands.log ../libtool --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/valgrind773 ../src/curl -q --output log/18/curl773.out --include --trace-ascii log/18/trace773 --trace-time http://127.0.0.1:39771/773 > log/18/stdout773 2> log/18/stderr773 === End of file commands.log === Start of file http_server.log 19:01:12.542546 ====> Client connect 19:01:12.542584 accept_connection 3 returned 4 19:01:12.542602 accept_connection 3 returned 0 19:01:12.542618 Read 93 bytes 19:01:12.542629 Process 93 bytes request 19:01:12.542642 Got request: GET /verifiedserver HTTP/1.1 19:01:12.542652 Are-we-friendly question received 19:01:12.542675 Wrote request (93 bytes) input to log/18/server.input 19:01:12.542693 Identifying ourselves as friends 19:01:12.542744 Response sent (56 bytes) and written to log/18/server.response 19:01:12.542755 special request received, no persistency 19:01:12.542765 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 46334 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === End of file http_verify.out === Start of file server.cmd Testnum 773 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74423 === End of file server.response === Start of file valgrind773 ==117418== ==117418== Process terminating with default action of signal 4 (SIGILL) ==117418== Illegal opcode at address 0x4013E00 ==117418== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117418== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117418== by 0x40037A4: UnknownInlinedFun (tool_operate.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/valgrind774 ../src/curl -q --output log/10/curl774.out --include --trace-ascii log/10/trace774 --trace-time http://127.0.0.1:37879/ -K log/10/cmd > log/10/stdout774 2> log/10/stderr774 CMD (33792): ../libtool --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/valgrind786 ../src/curl -q --output log/21/curl786.out --include --trace-ascii log/21/trace786 --trace-time http://127.0.0.1:35043/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/21/stdout786 2> log/21/stderr786 CMD (33792): ../libtool --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/valgrind775 ../src/curl -q --output log/3/curl775.out --include --trace-ascii log/3/trace775 --trace-time http://127.0.0.1:46261/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/3/stdout775 2> log/3/stderr775 :2237) ==117418== by 0x40037A4: main (tool_main.c:199) === End of file valgrind773 test 0774...[config file recursively including itself] ../libtool --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/valgrind774 ../src/curl -q --output log/10/curl774.out --include --trace-ascii log/10/trace774 --trace-time http://127.0.0.1:37879/ -K log/10/cmd > log/10/stdout774 2> log/10/stderr774 curl returned 132, when expecting 2 774: exit FAILED == Contents of files in the log/10/ dir after test 774 === Start of file cmd --config log/10/cmd === 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/10/valgrind774 ../src/curl -q --output log/10/curl774.out --include --trace-ascii log/10/trace774 --trace-time http://127.0.0.1:37879/ -K log/10/cmd > log/10/stdout774 2> log/10/stderr774 === End of file commands.log === Start of file server.cmd Testnum 774 === End of file server.cmd === Start of file valgrind774 ==117480== ==117480== Process terminating with default action of signal 4 (SIGILL) ==117480== Illegal opcode at address 0x4013E00 ==117480== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117480== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117480== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117480== by 0x40037A4: main (tool_main.c:199) === End of file valgrind774 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/21/valgrind786 ../src/curl -q --output log/21/curl786.out --include --trace-ascii log/21/trace786 --trace-time http://127.0.0.1:35043/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/21/stdout786 2> log/21/stderr786 786: 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 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/21/valgrind786 ../src/curl -q --output log/21/curl786.out --include --trace-ascii log/21/trace786 --trace-time http://127.0.0.1:35043/786 --variable "name[5-15]@-" --expand-data '{{name}}' log/21/stdout786 2> log/21/stderr786 === End of file commands.log === Start of file http_server.log 19:01:12.930287 ====> Client connect 19:01:12.930332 accept_connection 3 returned 4 19:01:12.930680 accept_connection 3 returned 0 19:01:12.930703 Read 93 bytes 19:01:12.930715 Process 93 bytes request 19:01:12.930729 Got request: GET /verifiedserver HTTP/1.1 19:01:12.930739 Are-we-friendly question received 19:01:12.930794 Wrote request (93 bytes) input to log/21/server.input 19:01:12.930815 Identifying ourselves as friends 19:01:12.930905 Response sent (56 bytes) and written to log/21/server.response 19:01:12.930942 special request received, no persistency 19:01:12.930957 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 60688 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === 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 ==117705== ==117705== Process terminating with default action of signal 4 (SIGILL) ==117705== Illegal opcode at address 0x4013E00 ==117705== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117705== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117705== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117705== by 0x40037A4: main (tool_main.c:199) === End of file valgrind786 test 0775...[HTTP with NTLM with too 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/3/valgrind775 ../src/curl -q --output log/3/curl775.out --include --trace-ascii log/3/trace775 --trace-time http://127.0.0.1:46261/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/3/stdout775 2> log/3/stderr775 775: 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 775 === Start of file commands.log ../libtool --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/valgrind775 ../src/curl -q --output log/3/curl775.out --include --trace-ascii log/3/trace775 --trace-time http://127.0.0.1:46261/775 -u testuserAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:testpass --ntlm > log/3/stdout775 2> log/3/stderr775 === End of file commands.log === Start of file http_server.log 19:01:13.909461 ====> Client connect 19:01:13.909497 accept_connection 3 returned 4 19:01:13.909515 accept_connection 3 returned 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/20/valgrind784 ../src/curl -q --output log/20/curl784.out --include --trace-ascii log/20/trace784 --trace-time http://127.0.0.1:38583/784 --variable "name[5-15]@log/20/in784" --expand-data '{{name}}' > log/20/stdout784 2> log/20/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/4/valgrind787 ../src/curl -q --output log/4/curl787.out --include --trace-ascii log/4/trace787 --trace-time http://127.0.0.1:37985/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/4/stdout787 2> log/4/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/1/valgrind776 ../src/curl -q --output log/1/curl776.out --include --trace-ascii log/1/trace776 --trace-time http://127.0.0.1:40353/776 -u user:pass --ntlm > log/1/stdout776 2> log/1/stderr776 CMD (33792): ../libtool --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/valgrind785 ../src/curl -q --output log/8/curl785.out --include --trace-ascii log/8/trace785 --trace-time http://127.0.0.1:43853/785 --variable "name[5-]@log/8/in785" --expand-data '{{name}}' > log/8/stdout785 2> log/8/stderr785 19:01:13.909531 Read 93 bytes 19:01:13.909543 Process 93 bytes request 19:01:13.909558 Got request: GET /verifiedserver HTTP/1.1 19:01:13.909569 Are-we-friendly question received 19:01:13.909597 Wrote request (93 bytes) input to log/3/server.input 19:01:13.909615 Identifying ourselves as friends 19:01:13.909673 Response sent (56 bytes) and written to log/3/server.response 19:01:13.909685 special request received, no persistency 19:01:13.909695 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 55030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === End of file http_verify.out === Start of file server.cmd Testnum 775 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74802 === End of file server.response === Start of file valgrind775 ==117615== ==117615== Process terminating with default action of signal 4 (SIGILL) ==117615== Illegal opcode at address 0x4013E00 ==117615== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117615== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117615== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117615== by 0x40037A4: main (tool_main.c:199) === End of file valgrind775 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/20/valgrind784 ../src/curl -q --output log/20/curl784.out --include --trace-ascii log/20/trace784 --trace-time http://127.0.0.1:38583/784 --variable "name[5-15]@log/20/in784" --expand-data '{{name}}' > log/20/stdout784 2> log/20/stderr784 784: 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 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/20/valgrind784 ../src/curl -q --output log/20/curl784.out --include --trace-ascii log/20/trace784 --trace-time http://127.0.0.1:38583/784 --variable "name[5-15]@log/20/in784" --expand-data '{{name}}' > log/20/stdout784 2> log/20/stderr784 === End of file commands.log === Start of file http_server.log 19:01:12.927489 ====> Client connect 19:01:12.927538 accept_connection 3 returned 4 19:01:12.927560 accept_connection 3 returned 0 19:01:12.927578 Read 93 bytes 19:01:12.927590 Process 93 bytes request 19:01:12.927605 Got request: GET /verifiedserver HTTP/1.1 19:01:12.927617 Are-we-friendly question received 19:01:12.927646 Wrote request (93 bytes) input to log/20/server.input 19:01:12.927668 Identifying ourselves as friends 19:01:12.927742 Response sent (56 bytes) and written to log/20/server.response 19:01:12.927758 special request received, no persistency 19:01:12.927771 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 38968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.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:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind784 ==117684== ==117684== Process terminating with default action of signal 4 (SIGILL) ==117684== Illegal opcode at address 0x4013E00 ==117684== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117684== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117684== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117684== by 0x40037A4: main (tool_main.c:199) === End of file valgrind784 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/4/valgrind787 ../src/curl -q --output log/4/curl787.out --include --trace-ascii log/4/trace787 --trace-time http://127.0.0.1:37985/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/4/stdout787 2> log/4/stderr787 curl returned 132, when expecting 2 787: exit FAILED == Contents of files in the log/4/ 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/4/valgrind787 ../src/curl -q --output log/4/curl787.out --include --trace-ascii log/4/trace787 --trace-time http://127.0.0.1:37985/787 --variable "name[15-14]@&LOGDIR/fooo" --expand-data '{{name}}' > log/4/stdout787 2> log/4/stderr787 === End of file commands.log === Start of file http_server.log 19:01:13.938783 ====> Client connect 19:01:13.938817 accept_connection 3 returned 4 19:01:13.938834 accept_connection 3 returned 0 19:01:13.938849 Read 93 bytes 19:01:13.938860 Process 93 bytes request 19:01:13.938874 Got request: GET /verifiedserver HTTP/1.1 19:01:13.938884 Are-we-friendly question received 19:01:13.938909 Wrote request (93 bytes) input to log/4/server.input 19:01:13.938927 Identifying ourselves as friends 19:01:13.938981 Response sent (56 bytes) and written to log/4/server.response 19:01:13.938992 special request received, no persistency 19:01:13.939002 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 47550 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind787 ==117721== ==117721== Process terminating with default action of signal 4 (SIGILL) ==117721== Illegal opcode at address 0x4013E00 ==117721== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117721== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117721== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117721== by 0x40037A4: main (tool_main.c:199) === End of file valgrind787 test 0776...[HTTP with NTLM with too long NTMLv2 ntresplen] ../libtool --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/valgrind776 ../src/curl -q --output log/1/curl776.out --include --trace-ascii log/1/trace776 --trace-time http://127.0.0.1:40353/776 -u user:pass --ntlm > log/1/stdout776 2> log/1/stderr776 776: protocol FAILED! There was no content at all in the file log/1/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/15/valgrind788 ../src/curl -q --output log/15/curl788.out --include --trace-ascii log/15/trace788 --trace-time http://127.0.0.1:44531/788 --variable "name[15-15]@log/15/in788" --expand-data '{{name}}' > log/15/stdout788 2> log/15/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/17/valgrind789 ../src/curl -q --output log/17/curl789.out --include --trace-ascii log/17/trace789 --trace-time http://127.0.0.1:40515/789 --variable "name[75-85]@log/17/in789" --expand-data '{{name}}' > log/17/stdout789 2> log/17/stderr789 rver.input. Server glitch? Total curl failure? Returned: 132 == Contents of files in the log/1/ dir after test 776 === Start of file commands.log ../libtool --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/valgrind776 ../src/curl -q --output log/1/curl776.out --include --trace-ascii log/1/trace776 --trace-time http://127.0.0.1:40353/776 -u user:pass --ntlm > log/1/stdout776 2> log/1/stderr776 === End of file commands.log === Start of file http_server.log 19:01:12.918548 ====> Client connect 19:01:12.918582 accept_connection 3 returned 4 19:01:12.918599 accept_connection 3 returned 0 19:01:12.918614 Read 93 bytes 19:01:12.918625 Process 93 bytes request 19:01:12.918638 Got request: GET /verifiedserver HTTP/1.1 19:01:12.918649 Are-we-friendly question received 19:01:12.918674 Wrote request (93 bytes) input to log/1/server.input 19:01:12.918693 Identifying ourselves as friends 19:01:12.918748 Response sent (56 bytes) and written to log/1/server.response 19:01:12.918760 special request received, no persistency 19:01:12.918770 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 58082 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === End of file http_verify.out === Start of file server.cmd Testnum 776 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75002 === End of file server.response === Start of file valgrind776 ==117654== ==117654== Process terminating with default action of signal 4 (SIGILL) ==117654== Illegal opcode at address 0x4013E00 ==117654== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117654== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117654== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117654== by 0x40037A4: main (tool_main.c:199) === End of file valgrind776 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/8/valgrind785 ../src/curl -q --output log/8/curl785.out --include --trace-ascii log/8/trace785 --trace-time http://127.0.0.1:43853/785 --variable "name[5-]@log/8/in785" --expand-data '{{name}}' > log/8/stdout785 2> log/8/stderr785 785: 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 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/8/valgrind785 ../src/curl -q --output log/8/curl785.out --include --trace-ascii log/8/trace785 --trace-time http://127.0.0.1:43853/785 --variable "name[5-]@log/8/in785" --expand-data '{{name}}' > log/8/stdout785 2> log/8/stderr785 === End of file commands.log === Start of file http_server.log 19:01:12.929447 ====> Client connect 19:01:12.929479 accept_connection 3 returned 4 19:01:12.929496 accept_connection 3 returned 0 19:01:12.929510 Read 93 bytes 19:01:12.929521 Process 93 bytes request 19:01:12.929533 Got request: GET /verifiedserver HTTP/1.1 19:01:12.929543 Are-we-friendly question received 19:01:12.929576 Wrote request (93 bytes) input to log/8/server.input 19:01:12.929594 Identifying ourselves as friends 19:01:12.929647 Response sent (56 bytes) and written to log/8/server.response 19:01:12.929659 special request received, no persistency 19:01:12.929670 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 52566 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind785 ==117688== ==117688== Process terminating with default action of signal 4 (SIGILL) ==117688== Illegal opcode at address 0x4013E00 ==117688== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117688== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117688== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117688== by 0x40037A4: 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/15/valgrind788 ../src/curl -q --output log/15/curl788.out --include --trace-ascii log/15/trace788 --trace-time http://127.0.0.1:44531/788 --variable "name[15-15]@log/15/in788" --expand-data '{{name}}' > log/15/stdout788 2> log/15/stderr788 788: 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 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/15/valgrind788 ../src/curl -q --output log/15/curl788.out --include --trace-ascii log/15/trace788 --trace-time http://127.0.0.1:44531/788 --variable "name[15-15]@log/15/in788" --expand-data '{{name}}' > log/15/stdout788 2> log/15/stderr788 === End of file commands.log === Start of file http_server.log 19:01:12.956756 ====> Client connect 19:01:12.956790 accept_connection 3 returned 4 19:01:12.956808 accept_connection 3 returned 0 19:01:12.956823 Read 93 bytes 19:01:12.956834 Process 93 bytes request 19:01:12.956848 Got request: GET /verifiedserver HTTP/1.1 19:01:12.956858 Are-we-friendly question received 19:01:12.956885 Wrote request (93 bytes) input to log/15/server.input 19:01:12.956903 Identifying ourselves as friends 19:01:12.956957 Response sent (56 bytes) and written to log/15/server.response 19:01:12.956968 special request received, no persistency 19:01:12.956979 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 56306 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrCMD (33792): ../libtool --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/valgrind791 ../src/curl -q --output log/23/curl791.out --include --trace-ascii log/23/trace791 --trace-time http://127.0.0.1:35243/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/23/stdout791 2> log/23/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/7/valgrind794 ../src/curl -q --output log/7/curl794.out --include --trace-ascii log/7/trace794 --trace-time http://127.0.0.1:41017/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/7/stdout794 2> log/7/stderr794 CMD (33792): ../libtool --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/valgrind792 ../src/curl -q --output log/16/curl792.out --include --trace-ascii log/16/trace792 --trace-time --netrc --netrc-file log/16/netrc792 ftp://127.0.0.1:35319/792 > log/16/stdout792 2> log/16/stderr792 ind788 ==117870== ==117870== Process terminating with default action of signal 4 (SIGILL) ==117870== Illegal opcode at address 0x4013E00 ==117870== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117870== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117870== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117870== by 0x40037A4: main (tool_main.c:199) === End of file valgrind788 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/17/valgrind789 ../src/curl -q --output log/17/curl789.out --include --trace-ascii log/17/trace789 --trace-time http://127.0.0.1:40515/789 --variable "name[75-85]@log/17/in789" --expand-data '{{name}}' > log/17/stdout789 2> log/17/stderr789 789: 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 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/17/valgrind789 ../src/curl -q --output log/17/curl789.out --include --trace-ascii log/17/trace789 --trace-time http://127.0.0.1:40515/789 --variable "name[75-85]@log/17/in789" --expand-data '{{name}}' > log/17/stdout789 2> log/17/stderr789 === End of file commands.log === Start of file http_server.log 19:01:13.960435 ====> Client connect 19:01:13.960469 accept_connection 3 returned 4 19:01:13.960487 accept_connection 3 returned 0 19:01:13.960502 Read 93 bytes 19:01:13.960514 Process 93 bytes request 19:01:13.960528 Got request: GET /verifiedserver HTTP/1.1 19:01:13.960538 Are-we-friendly question received 19:01:13.960565 Wrote request (93 bytes) input to log/17/server.input 19:01:13.960583 Identifying ourselves as friends 19:01:13.960642 Response sent (56 bytes) and written to log/17/server.response 19:01:13.960654 special request received, no persistency 19:01:13.960665 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 39950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind789 ==117895== ==117895== Process terminating with default action of signal 4 (SIGILL) ==117895== Illegal opcode at address 0x4013E00 ==117895== at 0x4013E00: getparameter (tool_getparam.c:2846) ==117895== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==117895== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==117895== by 0x40037A4: main (tool_main.c:199) === End of file valgrind789 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/23/valgrind791 ../src/curl -q --output log/23/curl791.out --include --trace-ascii log/23/trace791 --trace-time http://127.0.0.1:35243/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/23/stdout791 2> log/23/stderr791 791: 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 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/23/valgrind791 ../src/curl -q --output log/23/curl791.out --include --trace-ascii log/23/trace791 --trace-time http://127.0.0.1:35243/791 --variable "name[10-30]=0123456789abcdef" --expand-data '{{name}}' > log/23/stdout791 2> log/23/stderr791 === End of file commands.log === Start of file http_server.log 19:01:13.139413 ====> Client connect 19:01:13.139447 accept_connection 3 returned 4 19:01:13.139464 accept_connection 3 returned 0 19:01:13.139480 Read 93 bytes 19:01:13.139490 Process 93 bytes request 19:01:13.139503 Got request: GET /verifiedserver HTTP/1.1 19:01:13.139513 Are-we-friendly question received 19:01:13.139539 Wrote request (93 bytes) input to log/23/server.input 19:01:13.139556 Identifying ourselves as friends 19:01:13.139612 Response sent (56 bytes) and written to log/23/server.response 19:01:13.139624 special request received, no persistency 19:01:13.139634 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 40378 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind791 ==118142== ==118142== Process terminating with default action of signal 4 (SIGILL) ==118142== Illegal opcode at address 0x4013E00 ==118142== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118142== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118142== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118142== by 0x40037A4: main (tool_main.c:199) === End of file valgrind791 CMD (33792): ../libtool --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/valgrind793 ../src/curl -q --output log/12/curl793.out --include --trace-ascii log/12/trace793 --trace-time --netrc --netrc-file log/12/netrc793 ftp://127.0.0.1:35151/793 > log/12/stdout793 2> log/12/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/7/valgrind794 ../src/curl -q --output log/7/curl794.out --include --trace-ascii log/7/trace794 --trace-time http://127.0.0.1:41017/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/7/stdout794 2> log/7/stderr794 794: stderr FAILED: --- log/7/check-expected 2025-11-13 19:01:14.299391352 +0000 +++ log/7/check-generated 2025-11-13 19:01:14.299391352 +0000 @@ -1 +0,0 @@ -Warning: --follow overrides --location[CR][LF] == Contents of files in the log/7/ 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/7/valgrind794 ../src/curl -q --output log/7/curl794.out --include --trace-ascii log/7/trace794 --trace-time http://127.0.0.1:41017/794 --no-progress-meter -X IGLOO -d moo --location --follow > log/7/stdout794 2> log/7/stderr794 === End of file commands.log === Start of file http_server.log 19:01:13.173585 ====> Client connect 19:01:13.173623 accept_connection 3 returned 4 19:01:13.173645 accept_connection 3 returned 0 19:01:13.173662 Read 93 bytes 19:01:13.173674 Process 93 bytes request 19:01:13.173688 Got request: GET /verifiedserver HTTP/1.1 19:01:13.173699 Are-we-friendly question received 19:01:13.173726 Wrote request (93 bytes) input to log/7/server.input 19:01:13.173749 Identifying ourselves as friends 19:01:13.173818 Response sent (56 bytes) and written to log/7/server.response 19:01:13.173832 special request received, no persistency 19:01:13.173844 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 37980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind794 ==118272== ==118272== Process terminating with default action of signal 4 (SIGILL) ==118272== Illegal opcode at address 0x4013E00 ==118272== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118272== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118272== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118272== by 0x40037A4: 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/12/valgrind793 ../src/curl -q --output log/12/curl793.out --include --trace-ascii log/12/trace793 --trace-time --netrc --netrc-file log/12/netrc793 ftp://127.0.0.1:35151/793 > log/12/stdout793 2> log/12/stderr793 793: 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 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/12/valgrind793 ../src/curl -q --output log/12/curl793.out --include --trace-ascii log/12/trace793 --trace-time --netrc --netrc-file log/12/netrc793 ftp://127.0.0.1:35151/793 > log/12/stdout793 2> log/12/stderr793 === End of file commands.log === Start of file ftp_server.log 19:01:13.397480 ====> Client connect 19:01:13.397627 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:13.397911 < "USER anonymous" 19:01:13.397951 > "331 We are happy you popped in![CR][LF]" 19:01:13.398198 < "PASS ftp@example.com" 19:01:13.398254 > "230 Welcome you silly person[CR][LF]" 19:01:13.398534 < "PWD" 19:01:13.398578 > "257 "/" is current directory[CR][LF]" 19:01:13.398927 < "EPSV" 19:01:13.398953 ====> Passive DATA channel requested by client 19:01:13.398966 DATA sockfilt for passive data channel starting... 19:01:13.400724 DATA sockfilt for passive data channel started (pid 118218) 19:01:13.400838 DATA sockfilt for passive data channel listens on port 40889 19:01:13.400887 > "229 Entering Passive Mode (|||40889|)[CR][LF]" 19:01:13.400909 Client has been notified that DATA conn will be accepted on port 40889 19:01:13.401275 Client connects to port 40889 19:01:13.401338 ====> Client established passive DATA connection on port 40889 19:01:13.401451 < "TYPE I" 19:01:13.401495 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:13.401892 < "SIZE verifiedserver" 19:01:13.401941 > "213 17[CR][LF]" 19:01:13.402159 < "RETR verifiedserver" 19:01:13.402199 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:13.402290 =====> Closing passive DATA connection... 19:01:13.402310 Server disconnects passive DATA connection 19:01:13.402561 Server disconnected passive DATA connection 19:01:13.402593 DATA sockfilt for passive data channel quits (pid 118218) 19:01:13.402828 DATA sockfilt for passive data channel quit (pid 118218) 19:01:13.402856 =====> Closed passive DATA connection 19:01:13.402887 > "226 File transfer complete[CR][LF]" 19:01:13.445913 < "QUIT" 19:01:13.445968 > "221 bye bye baby[CR][LF]" 19:01:13.446772 MAIN sockfilt said DISC 19:01:13.446811 ====> Client disconnected 19:01:13.446889 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:13.169439 ====> Client connect 19:01:13.169699 Received DATA (on stdin) 19:01:13.169716 > 160 bytes data, server => client 19:01:13.169730 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:13.169743 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:13.169755 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:13.169826 < 16 bytes data, client => server 19:01:13.169841 'USER anonymous\r\n' 19:01:13.170013 Received DATA (on stdin) 19:01:13.170026 > 33 bytes data, server => client 19:01:13.170038 '331 We are happy you popped in!\r\n' 19:01:13.170096 < 22 bytes data, client => server 19:01:13.170109 'PASS ftp@example.com\r\n' 19:01:13.170309 Received DATA (on stdin) 19:01:13.170330 > 30 bytes data, server => client 19:01:13.170343 '230 Welcome you silly person\r\n' 19:01:13.170399 < 5 bytes data, client => server 19:01:13.170412 'PWD\r\n' 19:01:13.170638 Received DATA (on stdin) 19:01:13.170652 > 30 bytes data, server => client 19:01:13.170663 '257 "/" is current directory\r\n' 19:01:13.170726 < 6 bytes data, client => server 19:01:13.170738 'EPSV\r\n' 19:01:13.172973 Received DATA (on stdin) 19:01:13.172989 > 39 bytes data, server => client 19:01:13.173008 '229 Entering Passive Mode (|||40889|)\r\n' 19:01:13.173191 < 8 bytes data, client => server 19:01:13.173208 'TYPE I\r\n' 19:01:13.173740 Received DATA (on stdin) 19:01:13.173763 > 33 bytes data, server => client 19:01:13.173777 '200 I modify TYPE as you wanted\r\n' 19:01:13.173835 < 21 bytes data, client => server 19:01:13.173850 'SIZE verifiedserver\r\n' 19:01:13.174007 Received DATA (on stdin) 19:01:13.174022 > 8 bytes data, server => client 19:01:13.174035 '213 17\r\n' 19:01:13.174117 < 21 bytes data, client => server 19:01:13.174135 'RETR verifiedserverCMD (33792): ../libtool --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/valgrind790 ../src/curl -q --output log/9/curl790.out --include --trace-ascii log/9/trace790 --trace-time http://127.0.0.1:36745/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/9/stdout790 2> log/9/stderr790 \r\n' 19:01:13.174374 Received DATA (on stdin) 19:01:13.174387 > 29 bytes data, server => client 19:01:13.174399 '150 Binary junk (17 bytes).\r\n' 19:01:13.174948 Received DATA (on stdin) 19:01:13.174964 > 28 bytes data, server => client 19:01:13.174976 '226 File transfer complete\r\n' 19:01:13.217794 < 6 bytes data, client => server 19:01:13.217823 'QUIT\r\n' 19:01:13.218032 Received DATA (on stdin) 19:01:13.218046 > 18 bytes data, server => client 19:01:13.218058 '221 bye bye baby\r\n' 19:01:13.218770 ====> Client disconnect 19:01:13.218948 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:13.172463 Running IPv4 version 19:01:13.172565 Listening on port 40889 19:01:13.172699 Wrote pid 118218 to log/12/server/ftp_sockdata.pid 19:01:13.172723 Received PING (on stdin) 19:01:13.172809 Received PORT (on stdin) 19:01:13.173156 ====> Client connect 19:01:13.174427 Received DATA (on stdin) 19:01:13.174442 > 17 bytes data, server => client 19:01:13.174454 'WE ROOLZ: 80702\r\n' 19:01:13.174478 Received DISC (on stdin) 19:01:13.174491 ====> Client forcibly disconnected 19:01:13.174663 Received QUIT (on stdin) 19:01:13.174677 quits 19:01:13.174736 ============> 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 ==118383== ==118383== Process terminating with default action of signal 4 (SIGILL) ==118383== Illegal opcode at address 0x4013E00 ==118383== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118383== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118383== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118383== by 0x40037A4: main (tool_main.c:199) === End of file valgrind793 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/16/valgrind792 ../src/curl -q --output log/16/curl792.out --include --trace-ascii log/16/trace792 --trace-time --netrc --netrc-file log/16/netrc792 ftp://127.0.0.1:35319/792 > log/16/stdout792 2> log/16/stderr792 792: 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 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/16/valgrind792 ../src/curl -q --output log/16/curl792.out --include --trace-ascii log/16/trace792 --trace-time --netrc --netrc-file log/16/netrc792 ftp://127.0.0.1:35319/792 > log/16/stdout792 2> log/16/stderr792 === End of file commands.log === Start of file ftp_server.log 19:01:13.387686 ====> Client connect 19:01:13.387942 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:13.388236 < "USER anonymous" 19:01:13.388279 > "331 We are happy you popped in![CR][LF]" 19:01:13.388567 < "PASS ftp@example.com" 19:01:13.388632 > "230 Welcome you silly person[CR][LF]" 19:01:13.389174 < "PWD" 19:01:13.389212 > "257 "/" is current directory[CR][LF]" 19:01:13.389577 < "EPSV" 19:01:13.389605 ====> Passive DATA channel requested by client 19:01:13.389621 DATA sockfilt for passive data channel starting... 19:01:13.391554 DATA sockfilt for passive data channel started (pid 118183) 19:01:13.391686 DATA sockfilt for passive data channel listens on port 35477 19:01:13.391736 > "229 Entering Passive Mode (|||35477|)[CR][LF]" 19:01:13.391756 Client has been notified that DATA conn will be accepted on port 35477 19:01:13.392024 Client connects to port 35477 19:01:13.392061 ====> Client established passive DATA connection on port 35477 19:01:13.392163 < "TYPE I" 19:01:13.392199 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:13.392389 < "SIZE verifiedserver" 19:01:13.392433 > "213 17[CR][LF]" 19:01:13.392596 < "RETR verifiedserver" 19:01:13.392634 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:13.392725 =====> Closing passive DATA connection... 19:01:13.392741 Server disconnects passive DATA connection 19:01:13.392900 Server disconnected passive DATA connection 19:01:13.392945 DATA sockfilt for passive data channel quits (pid 118183) 19:01:13.393444 DATA sockfilt for passive data channel quit (pid 118183) 19:01:13.393476 =====> Closed passive DATA connection 19:01:13.393504 > "226 File transfer complete[CR][LF]" 19:01:13.439032 < "QUIT" 19:01:13.439087 > "221 bye bye baby[CR][LF]" 19:01:13.440197 MAIN sockfilt said DISC 19:01:13.440276 ====> Client disconnected 19:01:13.440358 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:13.158542 ====> Client connect 19:01:13.159984 Received DATA (on stdin) 19:01:13.160011 > 160 bytes data, server => client 19:01:13.160024 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:13.160036 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:13.160048 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:13.160126 < 16 bytes data, client => server 19:01:13.160144 'USER anonymous\r\n' 19:01:13.160344 Received DATA (on stdin) 19:01:13.160359 > 33 bytes data, server => client 19:01:13.160371 '331 We are happy you popped in!\r\n' 19:01:13.160429 < 22 bytes data, client => server 19:01:13.160443 'PASS ftp@example.com\r\n' 19:01:13.160704 Received DATA (on stdin) 19:01:13.160730 > 30 bytes data, server => client 19:01:13.160743 '230 Welcome you silly person\r\n' 19:01:13.160845 < 5 bytes data, client => server 19:01:13.160858 'PWD\r\n' 19:01:13.161272 Received DATA (on stdin) 19:01:13.161286 > 30 bytes data, server => client 19:01:13.161298 '257 "/" is current directory\r\n' 19:01:13.161540 < 6 bytes data, client => server 19:01:13.161557 'EPSV\r\n' 19:01:13.163823 Received DATA (on stdin) 19:01:13.163841 > 39 bytes data, server => client 19:01:13.163854 '229 Entering Passive Mode (|||35477|)\r\n' 19:01:13.164023 < 8 bytes data, client => server 19:01:13.164037 'TYPE I\r\n' 19:01:13.164259 Received DATA (on stdin) 19:01:13.164272 > 33 bytes data, server => client 19:01:13.164285 '200 I modify TYPE as you wanted\r\n' 19:01:13.164345 < 21 bytes data, client => server 19:01:13.164358 'SIZE verifiedserver\r\n' 19:01:13.164491 Received DATA (on stdin) 19:01:13.164504 > 8 bytes data, server => client 19:01:13.164516 '213 17\r\n' 19:01:13.164565 < 21 bytes data, client => server 19:01:13.164578 'RETR verifiedserver\r\n' 19:01:13.164802 Received DATA (on stdin) 19:01:13.164816 > 29 bytes data, server => client 19:01:13.164828 '150 Binary junk (17 bytes).\r\n' 19:01:13.165565 Received DATA (on stdin) 19:01:13.165579 > 28 bytes data, server => client 19:01:13.165591 '226 File transfer complete\r\n' 19:01:13.210915 < 6 bytes data, client => server 19:01:13.210944 'QUIT\r\n' 19:01:13.211150 Received DATA (on stdin) 19:01:13.211165 > 18 bytes data, server => client 19:01:13.211177 '221 bye bye baby\r\n' 19:01:13.212182 ====> Client disconnect 19:01:13.212429 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:13.163417 Running IPv4 version 19:01:13.163480 Listening on port 35477 19:01:13.163516 Wrote pid 118183 to log/16/server/ftp_sockdata.pid 19:01:13.163539 Received PING (on stdin) 19:01:13.163646 Received PORT (on stdin) 19:01:13.163993 ====> Client connect 19:01:13.164856 Received DATA (on stdin) 19:01:13.164871 > 17 bytes data, server => client 19:01:13.164883 'WE ROOLZ: 80535\r\n' 19:01:13.164907 Received DISC (on stdin) 19:01:13.164923 ====> Client forcibly disconnected 19:01:13.165030 Received QUIT (on stdin) 19:01:13.165045 quits 19:01:13.165096 ============> sockfilt quits === EndCMD (33792): ../libtool --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/valgrind796 ../src/curl -q --output log/14/curl796.out --include --trace-ascii log/14/trace796 --trace-time http://127.0.0.1:36759/796 -X IGLOO -d moo --follow > log/14/stdout796 2> log/14/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/2/valgrind797 ../src/curl -q --output log/2/curl797.out --include --trace-ascii log/2/trace797 --trace-time http://127.0.0.1:44325/797 -X IGLOO -d moo --follow > log/2/stdout797 2> log/2/stderr797 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 ==118352== ==118352== Process terminating with default action of signal 4 (SIGILL) ==118352== Illegal opcode at address 0x4013E00 ==118352== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118352== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118352== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118352== by 0x40037A4: main (tool_main.c:199) === End of file valgrind792 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/9/valgrind790 ../src/curl -q --output log/9/curl790.out --include --trace-ascii log/9/trace790 --trace-time http://127.0.0.1:36745/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/9/stdout790 2> log/9/stderr790 790: 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 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/9/valgrind790 ../src/curl -q --output log/9/curl790.out --include --trace-ascii log/9/trace790 --trace-time http://127.0.0.1:36745/790 --variable "name[5-9]=0123456789abcdef" --expand-data '{{name}}' > log/9/stdout790 2> log/9/stderr790 === End of file commands.log === Start of file http_server.log 19:01:13.130418 ====> Client connect 19:01:13.130453 accept_connection 3 returned 4 19:01:13.130471 accept_connection 3 returned 0 19:01:13.130486 Read 93 bytes 19:01:13.130497 Process 93 bytes request 19:01:13.130510 Got request: GET /verifiedserver HTTP/1.1 19:01:13.130520 Are-we-friendly question received 19:01:13.130546 Wrote request (93 bytes) input to log/9/server.input 19:01:13.130563 Identifying ourselves as friends 19:01:13.130615 Response sent (56 bytes) and written to log/9/server.response 19:01:13.130626 special request received, no persistency 19:01:13.130635 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 45002 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind790 ==118113== ==118113== Process terminating with default action of signal 4 (SIGILL) ==118113== Illegal opcode at address 0x4013E00 ==118113== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118113== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118113== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118113== by 0x40037A4: main (tool_main.c:199) === End of file valgrind790 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/14/valgrind796 ../src/curl -q --output log/14/curl796.out --include --trace-ascii log/14/trace796 --trace-time http://127.0.0.1:36759/796 -X IGLOO -d moo --follow > log/14/stdout796 2> log/14/stderr796 796: 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 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/14/valgrind796 ../src/curl -q --output log/14/curl796.out --include --trace-ascii log/14/trace796 --trace-time http://127.0.0.1:36759/796 -X IGLOO -d moo --follow > log/14/stdout796 2> log/14/stderr796 === End of file commands.log === Start of file http_server.log 19:01:13.181650 ====> Client connect 19:01:13.181684 accept_connection 3 returned 4 19:01:13.181705 accept_connection 3 returned 0 19:01:13.181723 Read 93 bytes 19:01:13.181734 Process 93 bytes request 19:01:13.181747 Got request: GET /verifiedserver HTTP/1.1 19:01:13.181758 Are-we-friendly question received 19:01:13.181786 Wrote request (93 bytes) input to log/14/server.input 19:01:13.181806 Identifying ourselves as friends 19:01:13.181867 Response sent (56 bytes) and written to log/14/server.response 19:01:13.181879 special request received, no persistency 19:01:13.181889 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 34982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind796 ==118294== ==118294== Process terminating with default action of signal 4 (SIGILL) ==118294== Illegal opcode at address 0x4013E00 ==118294== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118294== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118294== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118294== by 0x40037A4: 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/2/valgrind797 ../src/curl -q --output log/2/curl797.out --include --trace-ascii log/2/trace797 --trace-time http://127.0.0.1:44325/797 -X IGLOO -d moo --follow > log/2/stdout797 2> log/2/stderr797 797: 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 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/2/valgrind797 ../src/curl -q --output log/2/curl797.out --include --trace-ascii log/2/trace797 --trace-time http://127.0.0.1:44325/797 -X IGLOO -d moo --follow > log/2/stdout797 2> log/2/stderr797 === End of file commands.log === Start of file http_server.log 19:01:14.206917 ====> Client connect 19:01:14.206950 accept_connection 3 returned 4 19:01:14.206969 accept_connection 3 returned 0 19:01:14.206986 Read 93 bytes 19:01:14.206997 Process 93 bytes request 19:01:14.207013 Got request: GET /verifiedserver HTTP/1.1 19:01:14.207024 Are-we-friendly question received 19:01:14.207049 Wrote request (93 bytes) input to log/2/server.input 19:01:14.207069 Identifying ourselves as friends 19:01:14.207129 Response sent (56 bytes) and written to log/2/server.response 19:01:14.207141 special request 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/24/valgrind725 ../src/curl -q --output log/24/curl725.out --include --trace-ascii log/24/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout725 2> log/24/stderr725 CMD (33792): ../libtool --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/valgrind804 ../src/curl -q --output log/3/curl804.out --include --trace-ascii log/3/trace804 --trace-time 'imap://127.0.0.1:46125/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:46125/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/3/stdout804 2> log/3/stderr804 ived, no persistency 19:01:14.207151 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 35960 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind797 ==118354== ==118354== Process terminating with default action of signal 4 (SIGILL) ==118354== Illegal opcode at address 0x4013E00 ==118354== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118354== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118354== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118354== by 0x40037A4: main (tool_main.c:199) === End of file valgrind797 setenv HOME = /startdir/src/build-curl/tests/log/24 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/24/valgrind725 ../src/curl -q --output log/24/curl725.out --include --trace-ascii log/24/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout725 2> log/24/stderr725 curl returned 132, when expecting 3 725: exit FAILED == Contents of files in the log/24/ 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/24/valgrind725 ../src/curl -q --output log/24/curl725.out --include --trace-ascii log/24/trace725 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/24/stdout725 2> log/24/stderr725 === End of file commands.log === Start of file http_server.log 19:01:09.552413 ====> Client connect 19:01:09.552438 accept_connection 3 returned 4 19:01:09.552451 accept_connection 3 returned 0 19:01:09.552463 Read 93 bytes 19:01:09.552471 Process 93 bytes request 19:01:09.552482 Got request: GET /verifiedserver HTTP/1.1 19:01:09.552489 Are-we-friendly question received 19:01:09.552514 Wrote request (93 bytes) input to log/24/server.input 19:01:09.552527 Identifying ourselves as friends 19:01:09.552566 Response sent (56 bytes) and written to log/24/server.response 19:01:09.552574 special request received, no persistency 19:01:09.552581 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 38868 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind725 ==113666== ==113666== Process terminating with default action of signal 4 (SIGILL) ==113666== Illegal opcode at address 0x4013E00 ==113666== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113666== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113666== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113666== by 0x40037A4: main (tool_main.c:199) === End of file valgrind725 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/3/valgrind804 ../src/curl -q --output log/3/curl804.out --include --trace-ascii log/3/trace804 --trace-time 'imap://127.0.0.1:46125/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:46125/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/3/stdout804 2> log/3/stderr804 804: 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 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/3/valgrind804 ../src/curl -q --output log/3/curl804.out --include --trace-ascii log/3/trace804 --trace-time 'imap://127.0.0.1:46125/804/;MAILINDEX=123/;SECTION=1' 'imap://127.0.0.1:46125/804/;MAILINDEX=456/;SECTION=2.3' -u user:secret > log/3/stdout804 2> log/3/stderr804 === End of file commands.log === Start of file imap_server.log 19:01:14.141313 ====> Client connect 19:01:14.141482 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:14.141907 < "A001 CAPABILITY" 19:01:14.141957 > "A001 BAD Command[CR][LF]" 19:01:14.142188 < "A002 LIST "verifiedserver" *" 19:01:14.142223 LIST_imap got "verifiedserver" * 19:01:14.142253 > "* LIST () "/" "WE ROOLZ: 110266"[CR][LF]" 19:01:14.142278 > "A002 OK LIST Completed[CR][LF]" 19:01:14.142295 return proof we are we 19:01:14.185717 < "A003 LOGOUT" 19:01:14.185772 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:14.185795 > "A003 OK LOGOUT completed[CR][LF]" 19:01:14.186541 MAIN sockfilt said DISC 19:01:14.186563 ====> Client disconnected 19:01:14.186617 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:13.913267 ====> Client connect 19:01:13.913555 Received DATA (on stdin) 19:01:13.913573 > 178 bytes data, server => client 19:01:13.913588 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:13.913601 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:13.913614 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:13.913625 'rve\r\n' 19:01:13.913706 < 17 bytes data, client => server 19:01:13.913720 'A001 CAPABILITY\r\n' 19:01:13.914024 Received DATA (on stdin) 19:01:13.914040 > 18 bytes data, server => client 19:01:13.914053 'A001 BAD Command\r\n' 19:01:13.914128 < 30 bytes data, client => server 19:01:13.914146 'A002 LIST "verifiedserver" *\r\n' 19:01:13.914355 Received DATA (on stdin) 19:01:13.914370 > 34 bytes data, server => client 19:01:13.914382 '* LIST () "/" "WE ROOLZ: 110266"\r\n' 19:01:13.914407 Received DATA (on stdin) 19:01:13.914420 > 24 bytes data, server => client 19:01:13.914432 'A002 OK LIST Completed\r\n' 19:01:13.957604 < 13 bytes data, client => server 19:01:13.957634 'A003 LOGOUT\r\n' 19:01:13.957856 Received DATA (on stdin) 19:01:13.957871 > 36 bytes data, server => client 19:01:13.957884 '* BYE curl IMAP server signing off\r\n' 19:01:13.957913 Received DATA (on stdin) 19:01:13.957925 > 26 bytes data, server => client 19:01:13.957937 'A003 OK LOGOUT completed\r\n' 19:01:13.958550 ====> Client disconnect 19:01:13.958669 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 804 === End of file server.cmd === Start of file valgrind804 ==118631== ==118631== Process terminating with default action of signal 4 (SIGILL) ==118631== Illegal opcode at address 0x4013E00 ==118631== at 0x4013E00: getparameter (tool_getparam.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/14/valgrind815 ../src/curl -q --output log/14/curl815.out --include --trace-ascii log/14/trace815 --trace-time imap://127.0.0.1:43691/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43691/815 -X CLOSE -u user:secret > log/14/stdout815 2> log/14/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/2/valgrind816 ../src/curl -q --output log/2/curl816.out --include --trace-ascii log/2/trace816 --trace-time imap://127.0.0.1:42853/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:42853/816 -X EXPUNGE -u user:secret > log/2/stdout816 2> log/2/stderr816 46) ==118631== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118631== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118631== by 0x40037A4: main (tool_main.c:199) === End of file valgrind804 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/14/valgrind815 ../src/curl -q --output log/14/curl815.out --include --trace-ascii log/14/trace815 --trace-time imap://127.0.0.1:43691/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43691/815 -X CLOSE -u user:secret > log/14/stdout815 2> log/14/stderr815 815: 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 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/14/valgrind815 ../src/curl -q --output log/14/curl815.out --include --trace-ascii log/14/trace815 --trace-time imap://127.0.0.1:43691/815 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:43691/815 -X CLOSE -u user:secret > log/14/stdout815 2> log/14/stderr815 === End of file commands.log === Start of file imap_server.log 19:01:14.330605 ====> Client connect 19:01:14.330729 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:14.330953 < "A001 CAPABILITY" 19:01:14.330984 > "A001 BAD Command[CR][LF]" 19:01:14.331114 < "A002 LIST "verifiedserver" *" 19:01:14.331138 LIST_imap got "verifiedserver" * 19:01:14.331157 > "* LIST () "/" "WE ROOLZ: 111383"[CR][LF]" 19:01:14.331171 > "A002 OK LIST Completed[CR][LF]" 19:01:14.331182 return proof we are we 19:01:14.375634 < "A003 LOGOUT" 19:01:14.375677 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:14.375692 > "A003 OK LOGOUT completed[CR][LF]" 19:01:14.376282 MAIN sockfilt said DISC 19:01:14.376305 ====> Client disconnected 19:01:14.376358 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.102580 ====> Client connect 19:01:14.102791 Received DATA (on stdin) 19:01:14.102802 > 178 bytes data, server => client 19:01:14.102811 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:14.102819 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:14.102827 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:14.102834 'rve\r\n' 19:01:14.102888 < 17 bytes data, client => server 19:01:14.102898 'A001 CAPABILITY\r\n' 19:01:14.103038 Received DATA (on stdin) 19:01:14.103047 > 18 bytes data, server => client 19:01:14.103056 'A001 BAD Command\r\n' 19:01:14.103096 < 30 bytes data, client => server 19:01:14.103105 'A002 LIST "verifiedserver" *\r\n' 19:01:14.103233 Received DATA (on stdin) 19:01:14.103242 > 34 bytes data, server => client 19:01:14.103250 '* LIST () "/" "WE ROOLZ: 111383"\r\n' 19:01:14.103265 Received DATA (on stdin) 19:01:14.103273 > 24 bytes data, server => client 19:01:14.103281 'A002 OK LIST Completed\r\n' 19:01:14.147531 < 13 bytes data, client => server 19:01:14.147555 'A003 LOGOUT\r\n' 19:01:14.147750 Received DATA (on stdin) 19:01:14.147761 > 36 bytes data, server => client 19:01:14.147769 '* BYE curl IMAP server signing off\r\n' 19:01:14.147787 Received DATA (on stdin) 19:01:14.147795 > 26 bytes data, server => client 19:01:14.147803 'A003 OK LOGOUT completed\r\n' 19:01:14.148290 ====> Client disconnect 19:01:14.148409 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 815 === End of file server.cmd === Start of file valgrind815 ==118727== ==118727== Process terminating with default action of signal 4 (SIGILL) ==118727== Illegal opcode at address 0x4013E00 ==118727== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118727== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118727== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118727== by 0x40037A4: main (tool_main.c:199) === End of file valgrind815 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/2/valgrind816 ../src/curl -q --output log/2/curl816.out --include --trace-ascii log/2/trace816 --trace-time imap://127.0.0.1:42853/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:42853/816 -X EXPUNGE -u user:secret > log/2/stdout816 2> log/2/stderr816 816: 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 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/2/valgrind816 ../src/curl -q --output log/2/curl816.out --include --trace-ascii log/2/trace816 --trace-time imap://127.0.0.1:42853/816 -X 'STORE 123 +Flags \Deleted' -u user:secret -: imap://127.0.0.1:42853/816 -X EXPUNGE -u user:secret > log/2/stdout816 2> log/2/stderr816 === End of file commands.log === Start of file imap_server.log 19:01:14.327634 ====> Client connect 19:01:14.327761 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:14.328019 < "A001 CAPABILITY" 19:01:14.328056 > "A001 BAD Command[CR][LF]" 19:01:14.328194 < "A002 LIST "verifiedserver" *" 19:01:14.328219 LIST_imap got "verifiedserver" * 19:01:14.328240 > "* LIST () "/" "WE ROOLZ: 109814"[CR][LF]" 19:01:14.328255 > "A002 OK LIST Completed[CR][LF]" 19:01:14.328268 return proof we are we 19:01:14.372360 < "A003 LOGOUT" 19:01:14.372411 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:14.372432 > "A003 OK LOGOUT completed[CR][LF]" 19:01:14.372725 MAIN sockfilt said DISC 19:01:14.372769 ====> Client disconnected 19:01:14.372828 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.099587 ====> Client connect 19:01:14.099826 Received DATA (on stdin) 19:01:14.099840 > 178 bytes data, server => client 19:01:14.099851 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:14.099860 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:14.099868 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:14.099876 'rve\r\n' 19:01:14.099943 < 17 bytes data, client => server 19:01:14.099953 'A001 CAPABILITY\r\n' 19:01:14.100111 Received DATA (on stdin) 19:01:14.100121 > 18 bytes data, server => client 19:01:14.100130 'A001 BAD Command\r\n' 19:01:14.100174 < 30 bytes data, client => server 19:01:14.100183 'A002 LIST "verifiedserver" *\r\n' 19:01:14.100320 Received DATA (on stdin) 19:01:14.100329 > 34 bytes data, server => client 19:01:14.100338 '* LIST () "/" "WE ROOLZ: 109814"\r\n' 19:01:14.100354 Received DATA (on stdin) 19:01:14.100363 > 24 bytes data, server => client 19:01:14.100371 'A002 OK LIST Completed\r\n' 19:01:14.144256 < 13 bytes data, client => server 19:01:14.144284 'A003 LOGOUT\r\n' 19:01:14.144491 Received DATA (on stdin) 19:01:14.144505 > 36 bytes data, server => client 19:01:14.144517 '* BYE curl IMAP server signing off\r\n' 19:01:14.144541 Received DATA (on stdin) 19:01:14.144552 > 26 bytes data, server => client 19:01:14.144563 'A003 OK LOGOUT completed\r\n' 19:01:14.144705 ====> Client disconnect 19:01:14.144880 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 816 =CMD (33792): ../libtool --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/valgrind731 ../src/curl -q --output log/19/curl731.out --include --trace-ascii log/19/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/19/stdout731 2> log/19/stderr731 CMD (33792): ../libtool --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/valgrind800 ../src/curl -q --output log/22/curl800.out --include --trace-ascii log/22/trace800 --trace-time 'imap://127.0.0.1:42425/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/22/stdout800 2> log/22/stderr800 CMD (33792): ../libtool --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/valgrind799 ../src/curl -q --output log/11/curl799.out --include --trace-ascii log/11/trace799 --trace-time 'imap://127.0.0.1:40695/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/11/stdout799 2> log/11/stderr799 == End of file server.cmd === Start of file valgrind816 ==118724== ==118724== Process terminating with default action of signal 4 (SIGILL) ==118724== Illegal opcode at address 0x4013E00 ==118724== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118724== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118724== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118724== by 0x40037A4: main (tool_main.c:199) === End of file valgrind816 setenv HOME = /startdir/src/build-curl/tests/log/19 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/19/valgrind731 ../src/curl -q --output log/19/curl731.out --include --trace-ascii log/19/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/19/stdout731 2> log/19/stderr731 731: 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 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/19/valgrind731 ../src/curl -q --output log/19/curl731.out --include --trace-ascii log/19/trace731 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/19/stdout731 2> log/19/stderr731 === End of file commands.log === Start of file http_server.log 19:01:10.327319 ====> Client connect 19:01:10.327356 accept_connection 3 returned 4 19:01:10.327373 accept_connection 3 returned 0 19:01:10.327387 Read 93 bytes 19:01:10.327398 Process 93 bytes request 19:01:10.327411 Got request: GET /verifiedserver HTTP/1.1 19:01:10.327422 Are-we-friendly question received 19:01:10.327457 Wrote request (93 bytes) input to log/19/server.input 19:01:10.327475 Identifying ourselves as friends 19:01:10.327531 Response sent (56 bytes) and written to log/19/server.response 19:01:10.327541 special request received, no persistency 19:01:10.327551 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 47898 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind731 ==114740== ==114740== Process terminating with default action of signal 4 (SIGILL) ==114740== Illegal opcode at address 0x4013E00 ==114740== at 0x4013E00: getparameter (tool_getparam.c:2846) ==114740== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==114740== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==114740== by 0x40037A4: 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/22/server/imap_server.pid" --logfile "log/22/imap_server.log" --logdir "log/22" --portfile "log/22/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42425 (log/22/server/imap_server.port) RUN: IMAP server is PID 118557 port 42425 * pid imap => 118557 118557 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/22/valgrind800 ../src/curl -q --output log/22/curl800.out --include --trace-ascii log/22/trace800 --trace-time 'imap://127.0.0.1:42425/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/22/stdout800 2> log/22/stderr800 800: 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 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/22/valgrind800 ../src/curl -q --output log/22/curl800.out --include --trace-ascii log/22/trace800 --trace-time 'imap://127.0.0.1:42425/800/;MAILINDEX=1' -u '"user:sec"ret{' > log/22/stdout800 2> log/22/stderr800 === End of file commands.log === Start of file imap_server.log 19:01:13.698872 IMAP server listens on port IPv4/42425 19:01:13.698955 logged pid 118557 in log/22/server/imap_server.pid 19:01:13.698984 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:13.470655 Running IPv4 version 19:01:13.470721 Listening on port 42425 19:01:13.470770 Wrote pid 118563 to log/22/server/imap_sockfilt.pid 19:01:13.470801 Wrote port 42425 to log/22/server/imap_server.port 19:01:13.470823 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 ==118849== ==118849== Process terminating with default action of signal 4 (SIGILL) ==118849== Illegal opcode at address 0x4013E00 ==118849== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118849== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118849== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118849== by 0x40037A4: main (tool_main.c:199) === End of file valgrind800 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 40695 (log/11/server/imap_server.port) RUN: IMAP server is PID 118555 port 40695 * pid imap => 118555 118555 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/11/valgrind799 ../src/curl -q --output log/11/curl799.out --include --trace-ascii log/11/trace799 --trace-time 'imap://127.0.0.1:40695/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/11/stdout799 2> log/11/stderr799 799: 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 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/11/valgrind799 ../src/curl -q --output log/11/curl799.out --include --trace-ascii log/11/trace799 --trace-time 'imap://127.0.0.1:40695/799/;MAILINDEX=1' -u user:secret --login-options AUTH=+LOGIN > log/11/stdout799 2> log/11/stderr799 === End of file commands.log === Start of file imap_server.log 19:01:13.691735 IMAP server listens on port IPv4/40695 19:01:13.691810 logged pid 118555 in log/11/server/imap_server.pid 19:01:13.691835 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:13.463536 Running IPv4 version 19:01:13.463617 Listening on port 40695 19:01:13.463655 Wrote pid 118562 to log/11/server/imap_sockfilt.pid 19:01:13.463683 Wrote port 40695 to log/11/server/imap_server.port 19:01:13.463703 Received PING (on stdin) === End of file imap_sockfilt.log === Start 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/18/valgrind801 ../src/curl -q --output log/18/curl801.out --include --trace-ascii log/18/trace801 --trace-time 'imap://127.0.0.1:44573/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/18/stdout801 2> log/18/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/10/valgrind802 ../src/curl -q --output log/10/curl802.out --include --trace-ascii log/10/trace802 --trace-time 'imap://127.0.0.1:37647/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/10/stdout802 2> log/10/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/3/valgrind819 ../src/curl -q --output log/3/curl819.out --include --trace-ascii log/3/trace819 --trace-time 'imap://127.0.0.1:46125/819/;MAILINDEX=1' -u user:secret > log/3/stdout819 2> log/3/stderr819 md AUTH PLAIN REPLY LOGIN A002 OK LOGIN completed Testnum 799 === End of file server.cmd === Start of file valgrind799 ==118836== ==118836== Process terminating with default action of signal 4 (SIGILL) ==118836== Illegal opcode at address 0x4013E00 ==118836== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118836== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118836== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118836== by 0x40037A4: 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/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 44573 (log/18/server/imap_server.port) RUN: IMAP server is PID 118568 port 44573 * pid imap => 118568 118568 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/18/valgrind801 ../src/curl -q --output log/18/curl801.out --include --trace-ascii log/18/trace801 --trace-time 'imap://127.0.0.1:44573/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/18/stdout801 2> log/18/stderr801 801: 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 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/18/valgrind801 ../src/curl -q --output log/18/curl801.out --include --trace-ascii log/18/trace801 --trace-time 'imap://127.0.0.1:44573/801/;MAILINDEX=123/;SECTION=1' -u user:secret > log/18/stdout801 2> log/18/stderr801 === End of file commands.log === Start of file imap_server.log 19:01:13.809609 IMAP server listens on port IPv4/44573 19:01:13.809693 logged pid 118568 in log/18/server/imap_server.pid 19:01:13.809720 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:13.581343 Running IPv4 version 19:01:13.581451 Listening on port 44573 19:01:13.581494 Wrote pid 118571 to log/18/server/imap_sockfilt.pid 19:01:13.581525 Wrote port 44573 to log/18/server/imap_server.port 19:01:13.581551 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 ==118939== ==118939== Process terminating with default action of signal 4 (SIGILL) ==118939== Illegal opcode at address 0x4013E00 ==118939== at 0x4013E00: getparameter (tool_getparam.c:2846) ==118939== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==118939== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==118939== by 0x40037A4: main (tool_main.c:199) === End of file valgrind801 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 37647 (log/10/server/imap_server.port) RUN: IMAP server is PID 118579 port 37647 * pid imap => 118579 118579 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/10/valgrind802 ../src/curl -q --output log/10/curl802.out --include --trace-ascii log/10/trace802 --trace-time 'imap://127.0.0.1:37647/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/10/stdout802 2> log/10/stderr802 802: 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 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/10/valgrind802 ../src/curl -q --output log/10/curl802.out --include --trace-ascii log/10/trace802 --trace-time 'imap://127.0.0.1:37647/802;UIDVALIDITY=3857529045/;MAILINDEX=123/;SECTION=TEXT' -u user:secret > log/10/stdout802 2> log/10/stderr802 === End of file commands.log === Start of file imap_server.log 19:01:13.912067 IMAP server listens on port IPv4/37647 19:01:13.912186 logged pid 118579 in log/10/server/imap_server.pid 19:01:13.912223 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:13.683795 Running IPv4 version 19:01:13.683886 Listening on port 37647 19:01:13.683930 Wrote pid 118585 to log/10/server/imap_sockfilt.pid 19:01:13.683970 Wrote port 37647 to log/10/server/imap_server.port 19:01:13.683996 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 ==119004== ==119004== Process terminating with default action of signal 4 (SIGILL) ==119004== Illegal opcode at address 0x4013E00 ==119004== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119004== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119004== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119004== by 0x40037A4: main (tool_main.c:199) === End of file valgrind802 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/3/valgrind819 ../src/curl -q --output log/3/curl819.out --include --trace-ascii log/3/trace819 --trace-time 'imap://127.0.0.1:46125/819/;MAILINDEX=1' -u user:secret > log/3/stdout819 2> log/3/stderr819 819: 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 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/3/valgrind819 ../src/curl -q --output log/3/curl819.out --include --trace-ascii log/3/trace819 --trace-time 'imap://127.0.0.1:46125/819/;MAILINDEX=1' -u user:secret > log/3/stdout819 2> log/3/stderr819 === End of file commands.log === Start of file imap_server.log 19:01:14.880501 ====> Client connect 19:01:14.880603 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:14.880821 < "A001 CAPABILITY" 19:01:14.880846 > "A001 BAD Command[CR][LF]" 19:01:14.880971 < "A002 LIST "verifiedserver" *" 19:01:14.880990 LIST_imap got "verifiedserver" * 19:01:14.881009 > "* LIST () "/" "WE ROOLZ: 110266"[CR][LF]" 19:01:14.881022 > "A002 OK LIST Completed[CR][LF]" 19:01:14.881032 return proof we are we 19:01:14.928214 < "A003 LOGOUT" 19:01:14.928268 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:14.928287 > "A003 OK LOGOUT completed[CR][LF]" 19:01:14.928850 MAIN sockfilt said DISC 19:01:14.928911 ====> Client disconnected 19:01:14.928999 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.652477 ====> Client connect 19:01:14.652665 Received DATA (on stdin) 19:01:14.652677 > 178 bytes data, server => client 19:01:14.652687 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:14.652696 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:14.652704 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' CMD (33792): ../libtool --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/valgrind806 ../src/curl -q --output log/4/curl806.out --include --trace-ascii log/4/trace806 --trace-time imap://127.0.0.1:32779/806 -u user:secret > log/4/stdout806 2> log/4/stderr806 CMD (33792): ../libtool --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:43691/820/;MAILINDEX=1' -u user:secret > log/14/stdout820 2> log/14/stderr820 19:01:14.652711 'rve\r\n' 19:01:14.652769 < 17 bytes data, client => server 19:01:14.652779 'A001 CAPABILITY\r\n' 19:01:14.652900 Received DATA (on stdin) 19:01:14.652910 > 18 bytes data, server => client 19:01:14.652919 'A001 BAD Command\r\n' 19:01:14.652959 < 30 bytes data, client => server 19:01:14.652968 'A002 LIST "verifiedserver" *\r\n' 19:01:14.653083 Received DATA (on stdin) 19:01:14.653093 > 34 bytes data, server => client 19:01:14.653101 '* LIST () "/" "WE ROOLZ: 110266"\r\n' 19:01:14.653117 Received DATA (on stdin) 19:01:14.653125 > 24 bytes data, server => client 19:01:14.653134 'A002 OK LIST Completed\r\n' 19:01:14.700075 < 13 bytes data, client => server 19:01:14.700110 'A003 LOGOUT\r\n' 19:01:14.700346 Received DATA (on stdin) 19:01:14.700359 > 36 bytes data, server => client 19:01:14.700371 '* BYE curl IMAP server signing off\r\n' 19:01:14.700393 Received DATA (on stdin) 19:01:14.700404 > 26 bytes data, server => client 19:01:14.700415 'A003 OK LOGOUT completed\r\n' 19:01:14.700819 ====> Client disconnect 19:01:14.701120 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 ==119053== ==119053== Process terminating with default action of signal 4 (SIGILL) ==119053== Illegal opcode at address 0x4013E00 ==119053== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119053== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119053== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119053== by 0x40037A4: 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/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 32779 (log/4/server/imap_server.port) RUN: IMAP server is PID 118618 port 32779 * pid imap => 118618 118618 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/4/valgrind806 ../src/curl -q --output log/4/curl806.out --include --trace-ascii log/4/trace806 --trace-time imap://127.0.0.1:32779/806 -u user:secret > log/4/stdout806 2> log/4/stderr806 806: 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 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/4/valgrind806 ../src/curl -q --output log/4/curl806.out --include --trace-ascii log/4/trace806 --trace-time imap://127.0.0.1:32779/806 -u user:secret > log/4/stdout806 2> log/4/stderr806 === End of file commands.log === Start of file imap_server.log 19:01:14.173184 IMAP server listens on port IPv4/32779 19:01:14.173283 logged pid 118618 in log/4/server/imap_server.pid 19:01:14.173321 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.944962 Running IPv4 version 19:01:14.945033 Listening on port 32779 19:01:14.945076 Wrote pid 118626 to log/4/server/imap_sockfilt.pid 19:01:14.945108 Wrote port 32779 to log/4/server/imap_server.port 19:01:14.945134 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 806 === End of file server.cmd === Start of file valgrind806 ==119271== ==119271== Process terminating with default action of signal 4 (SIGILL) ==119271== Illegal opcode at address 0x4013E00 ==119271== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119271== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119271== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119271== by 0x40037A4: main (tool_main.c:199) === End of file valgrind806 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:43691/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:43691/820/;MAILINDEX=1' -u user:secret > log/14/stdout820 2> log/14/stderr820 === End of file commands.log === Start of file imap_server.log 19:01:15.055190 ====> Client connect 19:01:15.055322 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:15.055569 < "A001 CAPABILITY" 19:01:15.055596 > "A001 BAD Command[CR][LF]" 19:01:15.055719 < "A002 LIST "verifiedserver" *" 19:01:15.055740 LIST_imap got "verifiedserver" * 19:01:15.055758 > "* LIST () "/" "WE ROOLZ: 111383"[CR][LF]" 19:01:15.055771 > "A002 OK LIST Completed[CR][LF]" 19:01:15.055780 return proof we are we 19:01:15.099188 < "A003 LOGOUT" 19:01:15.099232 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:15.099246 > "A003 OK LOGOUT completed[CR][LF]" 19:01:15.099802 MAIN sockfilt said DISC 19:01:15.099838 ====> Client disconnected 19:01:15.099907 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.827140 ====> Client connect 19:01:14.827385 Received DATA (on stdin) 19:01:14.827397 > 178 bytes data, server => client 19:01:14.827407 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:14.827416 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:14.827430 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:14.827439 'rve\r\n' 19:01:14.827498 < 17 bytes data, client => server 19:01:14.827508 'A001 CAPABILITY\r\n' 19:01:14.827649 Received DATA (on stdin) 19:01:14.827659 > 18 bytes data, server => client 19:01:14.827668 'A001 BAD Command\r\n' 19:01:14.827707 < 30 bytes data, client => server 19:01:14.827717 'A002 LIST "verifiedserver" *\r\n' 19:01:14.827831 Received DATA (on stdin) 19:01:14.827840 > 34 bytes data, server => client 19:01:14.827848 '* LIST () "/" "WE ROOLZ: 111383"\r\n' 19:01:14.827863 Received DATA (on stdin) 19:01:14.827871 > 24 bytes data, server => client 19:01:14.827879 'A002 OK LIST Completed\r\n' 19:01:14.871067 < 13 bytes data, client => server 19:01:14.871109 'A003 LOGOUT\r\n' 19:01:14.871299 Received DATA (on stdin) 19:01:14.871309 > 36 bytes data, server => client 19:01:14.871318 '* BYE curl IMAP server signing off\r\n' 19:01:14.871338 Received DATA (on stdin) 19:01:14.871346 > 26 bytes data, server => client 19:01:14.871354 'A003 OK LOGOUT completed\r\n' 19:01:14.871791 ====> Client disconnect 19:01:14.871960 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 ==119141== ==119141== Process terminating with default action of signal 4 (SIGILL) ==119141== Illegal opcode at address 0x4013E00 ==119141== at 0x4013E00: getparameter CMD (33792): ../libtool --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/valgrind803 ../src/curl -q --output log/21/curl803.out --include --trace-ascii log/21/trace803 --trace-time 'imap://127.0.0.1:44099/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/21/stdout803 2> log/21/stderr803 CMD (33792): ../libtool --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/valgrind821 ../src/curl -q --output log/2/curl821.out --include --trace-ascii log/2/trace821 --trace-time 'imap://127.0.0.1:42853/821/;MAILINDEX=1' -u user:secret > log/2/stdout821 2> log/2/stderr821 CMD (33792): ../libtool --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/valgrind808 ../src/curl -q --output log/8/curl808.out --include --trace-ascii log/8/trace808 --trace-time imap://127.0.0.1:42493 -u user:secret -X 'EXAMINE 808' > log/8/stdout808 2> log/8/stderr808 (tool_getparam.c:2846) ==119141== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119141== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119141== by 0x40037A4: 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/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 44099 (log/21/server/imap_server.port) RUN: IMAP server is PID 118602 port 44099 * pid imap => 118602 118602 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/21/valgrind803 ../src/curl -q --output log/21/curl803.out --include --trace-ascii log/21/trace803 --trace-time 'imap://127.0.0.1:44099/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/21/stdout803 2> log/21/stderr803 803: 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 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/21/valgrind803 ../src/curl -q --output log/21/curl803.out --include --trace-ascii log/21/trace803 --trace-time 'imap://127.0.0.1:44099/803;UIDVALIDITY=12345/;MAILINDEX=123' -u user:secret > log/21/stdout803 2> log/21/stderr803 === End of file commands.log === Start of file imap_server.log 19:01:14.163268 IMAP server listens on port IPv4/44099 19:01:14.163324 logged pid 118602 in log/21/server/imap_server.pid 19:01:14.163342 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.935112 Running IPv4 version 19:01:14.935179 Listening on port 44099 19:01:14.935210 Wrote pid 118624 to log/21/server/imap_sockfilt.pid 19:01:14.935234 Wrote port 44099 to log/21/server/imap_server.port 19:01:14.935251 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 ==119222== ==119222== Process terminating with default action of signal 4 (SIGILL) ==119222== Illegal opcode at address 0x4013E00 ==119222== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119222== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119222== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119222== by 0x40037A4: main (tool_main.c:199) === End of file valgrind803 test 0821...[IMAP 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/2/valgrind821 ../src/curl -q --output log/2/curl821.out --include --trace-ascii log/2/trace821 --trace-time 'imap://127.0.0.1:42853/821/;MAILINDEX=1' -u user:secret > log/2/stdout821 2> log/2/stderr821 821: 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 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/2/valgrind821 ../src/curl -q --output log/2/curl821.out --include --trace-ascii log/2/trace821 --trace-time 'imap://127.0.0.1:42853/821/;MAILINDEX=1' -u user:secret > log/2/stdout821 2> log/2/stderr821 === End of file commands.log === Start of file imap_server.log 19:01:15.054936 ====> Client connect 19:01:15.055061 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:15.055314 < "A001 CAPABILITY" 19:01:15.055341 > "A001 BAD Command[CR][LF]" 19:01:15.055499 < "A002 LIST "verifiedserver" *" 19:01:15.055527 LIST_imap got "verifiedserver" * 19:01:15.055548 > "* LIST () "/" "WE ROOLZ: 109814"[CR][LF]" 19:01:15.055562 > "A002 OK LIST Completed[CR][LF]" 19:01:15.055572 return proof we are we 19:01:15.102308 < "A003 LOGOUT" 19:01:15.102351 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:15.102366 > "A003 OK LOGOUT completed[CR][LF]" 19:01:15.103007 MAIN sockfilt said DISC 19:01:15.103028 ====> Client disconnected 19:01:15.103080 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.826886 ====> Client connect 19:01:14.827125 Received DATA (on stdin) 19:01:14.827137 > 178 bytes data, server => client 19:01:14.827147 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:14.827156 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:14.827165 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:14.827172 'rve\r\n' 19:01:14.827240 < 17 bytes data, client => server 19:01:14.827250 'A001 CAPABILITY\r\n' 19:01:14.827395 Received DATA (on stdin) 19:01:14.827407 > 18 bytes data, server => client 19:01:14.827416 'A001 BAD Command\r\n' 19:01:14.827479 < 30 bytes data, client => server 19:01:14.827490 'A002 LIST "verifiedserver" *\r\n' 19:01:14.827624 Received DATA (on stdin) 19:01:14.827633 > 34 bytes data, server => client 19:01:14.827642 '* LIST () "/" "WE ROOLZ: 109814"\r\n' 19:01:14.827658 Received DATA (on stdin) 19:01:14.827666 > 24 bytes data, server => client 19:01:14.827674 'A002 OK LIST Completed\r\n' 19:01:14.874222 < 13 bytes data, client => server 19:01:14.874245 'A003 LOGOUT\r\n' 19:01:14.874418 Received DATA (on stdin) 19:01:14.874432 > 36 bytes data, server => client 19:01:14.874440 '* BYE curl IMAP server signing off\r\n' 19:01:14.874458 Received DATA (on stdin) 19:01:14.874466 > 26 bytes data, server => client 19:01:14.874474 'A003 OK LOGOUT completed\r\n' 19:01:14.875021 ====> Client disconnect 19:01:14.875131 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 ==119146== ==119146== Process terminating with default action of signal 4 (SIGILL) ==119146== Illegal opcode at address 0x4013E00 ==119146== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119146== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119146== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119146== by 0x40037A4: main (tool_main.c:199) === End of file valgrind821 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 42493 (log/8/server/imap_server.port) RUN: IMAP server is PID 118620 port 42493 * pid imap => 118620 118620 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/8/valgrind808 ../src/curl -q --output log/8/curl808.out --include --trace-ascii log/8/trace808 --trace-time imap://127.0.0.1:42493 -u user:secret -X 'EXAMINE 808' > log/8/stdout808 2> log/8/stderr808 808: 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 808 === Start of file commands.log ../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/20/valgrind805 ../src/curl -q --output log/20/curl805.out --include --trace-ascii log/20/trace805 --trace-time imap://127.0.0.1:41105/805 -T log/20/upload805 -u user:secret > log/20/stdout805 2> log/20/stderr805 CMD (33792): ../libtool --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/valgrind810 ../src/curl -q --output log/17/curl810.out --include --trace-ascii log/17/trace810 --trace-time imap://127.0.0.1:34359/810?NEW -u user:secret > log/17/stdout810 2> log/17/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/1/valgrind807 ../src/curl -q --output log/1/curl807.out --include --trace-ascii log/1/trace807 --trace-time imap://127.0.0.1:34857 -u user:secret -X 'LSUB "807" *' > log/1/stdout807 2> log/1/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/15/valgrind809 ../src/curl -q --output log/15/curl809.out --include --trace-ascii log/15/trace809 --trace-time imap://127.0.0.1:42563 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/15/stdout809 2> log/15/stderr809 tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind808 ../src/curl -q --output log/8/curl808.out --include --trace-ascii log/8/trace808 --trace-time imap://127.0.0.1:42493 -u user:secret -X 'EXAMINE 808' > log/8/stdout808 2> log/8/stderr808 === End of file commands.log === Start of file imap_server.log 19:01:14.175282 IMAP server listens on port IPv4/42493 19:01:14.175359 logged pid 118620 in log/8/server/imap_server.pid 19:01:14.175384 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.947109 Running IPv4 version 19:01:14.947174 Listening on port 42493 19:01:14.947217 Wrote pid 118627 to log/8/server/imap_sockfilt.pid 19:01:14.947251 Wrote port 42493 to log/8/server/imap_server.port 19:01:14.947267 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 ==119293== ==119293== Process terminating with default action of signal 4 (SIGILL) ==119293== Illegal opcode at address 0x4013E00 ==119293== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119293== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119293== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119293== by 0x40037A4: 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/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 41105 (log/20/server/imap_server.port) RUN: IMAP server is PID 118604 port 41105 * pid imap => 118604 118604 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/20/valgrind805 ../src/curl -q --output log/20/curl805.out --include --trace-ascii log/20/trace805 --trace-time imap://127.0.0.1:41105/805 -T log/20/upload805 -u user:secret > log/20/stdout805 2> log/20/stderr805 805: 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 805 === Start of file commands.log ../libtool --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/valgrind805 ../src/curl -q --output log/20/curl805.out --include --trace-ascii log/20/trace805 --trace-time imap://127.0.0.1:41105/805 -T log/20/upload805 -u user:secret > log/20/stdout805 2> log/20/stderr805 === End of file commands.log === Start of file imap_server.log 19:01:14.160695 IMAP server listens on port IPv4/41105 19:01:14.160755 logged pid 118604 in log/20/server/imap_server.pid 19:01:14.160777 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.932534 Running IPv4 version 19:01:14.932606 Listening on port 41105 19:01:14.932636 Wrote pid 118623 to log/20/server/imap_sockfilt.pid 19:01:14.932659 Wrote port 41105 to log/20/server/imap_server.port 19:01:14.932675 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 ==119236== ==119236== Process terminating with default action of signal 4 (SIGILL) ==119236== Illegal opcode at address 0x4013E00 ==119236== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119236== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119236== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119236== by 0x40037A4: 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/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 34359 (log/17/server/imap_server.port) RUN: IMAP server is PID 118621 port 34359 * pid imap => 118621 118621 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/17/valgrind810 ../src/curl -q --output log/17/curl810.out --include --trace-ascii log/17/trace810 --trace-time imap://127.0.0.1:34359/810?NEW -u user:secret > log/17/stdout810 2> log/17/stderr810 810: 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 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/17/valgrind810 ../src/curl -q --output log/17/curl810.out --include --trace-ascii log/17/trace810 --trace-time imap://127.0.0.1:34359/810?NEW -u user:secret > log/17/stdout810 2> log/17/stderr810 === End of file commands.log === Start of file imap_server.log 19:01:14.176274 IMAP server listens on port IPv4/34359 19:01:14.176336 logged pid 118621 in log/17/server/imap_server.pid 19:01:14.176362 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.948096 Running IPv4 version 19:01:14.948166 Listening on port 34359 19:01:14.948199 Wrote pid 118629 to log/17/server/imap_sockfilt.pid 19:01:14.948224 Wrote port 34359 to log/17/server/imap_server.port 19:01:14.948243 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 ==119311== ==119311== Process terminating with default action of signal 4 (SIGILL) ==119311== Illegal opcode at address 0x4013E00 ==119311== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119311== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119311== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119311== by 0x40037A4: 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/15/server/imap_server.pid" --logfile "log/15/imap_server.log" --logdir "log/15" --portfile "log/15/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 42563 (log/15/server/imap_server.port) RUN: IMAP server is PID 118622 port 42563 * pid imap => 118622 118622 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/15/valgrind809 ../src/curl -q --output log/15/curl809.out --include --trace-ascii log/15/trace809 --trace-time imap://127.0.0.1:42563 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/15/stdout809 2> log/15/stderr809 809: 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 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=16 --log-file=log/15/valgrind809 ../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/7/valgrind812 ../src/curl -q --output log/7/curl812.out --include --trace-ascii log/7/trace812 --trace-time imap://127.0.0.1:33589 -u user:secret -X 'DELETE 812' > log/7/stdout812 2> log/7/stderr812 CMD (33792): ../libtool --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/valgrind814 ../src/curl -q --output log/9/curl814.out --include --trace-ascii log/9/trace814 --trace-time imap://127.0.0.1:33557/814 -u user:secret -X 'CHECK' > log/9/stdout814 2> log/9/stderr814 rl -q --output log/15/curl809.out --include --trace-ascii log/15/trace809 --trace-time imap://127.0.0.1:42563 -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)' > log/15/stdout809 2> log/15/stderr809 === End of file commands.log === Start of file imap_server.log 19:01:14.175190 IMAP server listens on port IPv4/42563 19:01:14.175255 logged pid 118622 in log/15/server/imap_server.pid 19:01:14.175275 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.947043 Running IPv4 version 19:01:14.947097 Listening on port 42563 19:01:14.947127 Wrote pid 118628 to log/15/server/imap_sockfilt.pid 19:01:14.947150 Wrote port 42563 to log/15/server/imap_server.port 19:01:14.947167 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 ==119321== ==119321== Process terminating with default action of signal 4 (SIGILL) ==119321== Illegal opcode at address 0x4013E00 ==119321== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119321== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119321== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119321== by 0x40037A4: 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/1/server/imap_server.pid" --logfile "log/1/imap_server.log" --logdir "log/1" --portfile "log/1/server/imap_server.port" --srcdir "/startdir/src/curl/tests" --proto imap --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 34857 (log/1/server/imap_server.port) RUN: IMAP server is PID 118619 port 34857 * pid imap => 118619 118619 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/1/valgrind807 ../src/curl -q --output log/1/curl807.out --include --trace-ascii log/1/trace807 --trace-time imap://127.0.0.1:34857 -u user:secret -X 'LSUB "807" *' > log/1/stdout807 2> log/1/stderr807 807: 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 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/1/valgrind807 ../src/curl -q --output log/1/curl807.out --include --trace-ascii log/1/trace807 --trace-time imap://127.0.0.1:34857 -u user:secret -X 'LSUB "807" *' > log/1/stdout807 2> log/1/stderr807 === End of file commands.log === Start of file imap_server.log 19:01:14.166682 IMAP server listens on port IPv4/34857 19:01:14.166762 logged pid 118619 in log/1/server/imap_server.pid 19:01:14.166792 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.938358 Running IPv4 version 19:01:14.938439 Listening on port 34857 19:01:14.938483 Wrote pid 118625 to log/1/server/imap_sockfilt.pid 19:01:14.938515 Wrote port 34857 to log/1/server/imap_server.port 19:01:14.938652 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 807 === End of file server.cmd === Start of file valgrind807 ==119276== ==119276== Process terminating with default action of signal 4 (SIGILL) ==119276== Illegal opcode at address 0x4013E00 ==119276== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119276== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119276== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119276== by 0x40037A4: main (tool_main.c:199) === End of file valgrind807 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 33589 (log/7/server/imap_server.port) RUN: IMAP server is PID 118683 port 33589 * pid imap => 118683 118683 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/7/valgrind812 ../src/curl -q --output log/7/curl812.out --include --trace-ascii log/7/trace812 --trace-time imap://127.0.0.1:33589 -u user:secret -X 'DELETE 812' > log/7/stdout812 2> log/7/stderr812 812: 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 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/7/valgrind812 ../src/curl -q --output log/7/curl812.out --include --trace-ascii log/7/trace812 --trace-time imap://127.0.0.1:33589 -u user:secret -X 'DELETE 812' > log/7/stdout812 2> log/7/stderr812 === End of file commands.log === Start of file imap_server.log 19:01:14.339560 IMAP server listens on port IPv4/33589 19:01:14.339618 logged pid 118683 in log/7/server/imap_server.pid 19:01:14.339638 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.111380 Running IPv4 version 19:01:14.111443 Listening on port 33589 19:01:14.111486 Wrote pid 118718 to log/7/server/imap_sockfilt.pid 19:01:14.111519 Wrote port 33589 to log/7/server/imap_server.port 19:01:14.111544 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 812 === End of file server.cmd === Start of file valgrind812 ==119605== ==119605== Process terminating with default action of signal 4 (SIGILL) ==119605== Illegal opcode at address 0x4013E00 ==119605== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119605== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119605== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119605== by 0x40037A4: main (tool_main.c:199) === End of file valgrind812 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 33557 (log/9/server/imap_server.port) RUN: IMAP server is PID 118685 port 33557 * pid imap => 118685 118685 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/9/valgrind814 ../src/curl -q --output log/9/curl814.out --include --trace-ascii log/9/trace814 --trace-time imap://127.0.0.1:33557/814 -u user:secret -X 'CHECK' > log/9/stdout814 2> log/9/stderr814 814: 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 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/9/valgrind814 ../src/curl -q --output log/9/curl814.out --include --trace-ascii log/9/trace814 --trace-time imap://127.0.0.1:33557/814 -u user:secret -X 'CHECK' > log/9/stdout814 2> log/9/stderr814 === End of file commands.log === Start of file imap_server.log 19:01:14.339864 IMAP server listens on port IPv4/33557 19:01:14.339917 logged pid 118685 in log/9/server/imap_server.pid 19:01:14.339936 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.111751 Running IPv4 version 19:01:14.111790 Listening on 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/valgrind811 ../src/curl -q --output log/23/curl811.out --include --trace-ascii log/23/trace811 --trace-time imap://127.0.0.1:33579 -u user:secret -X 'CREATE 811' > log/23/stdout811 2> log/23/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/16/valgrind813 ../src/curl -q --output log/16/curl813.out --include --trace-ascii log/16/trace813 --trace-time imap://127.0.0.1:36049 -u user:secret -X 'RENAME 666 813' > log/16/stdout813 2> log/16/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/12/valgrind817 ../src/curl -q --output log/12/curl817.out --include --trace-ascii log/12/trace817 --trace-time imap://127.0.0.1:41045 -u user:secret -X 'COPY 123 817' > log/12/stdout817 2> log/12/stderr817 33557 19:01:14.111816 Wrote pid 118719 to log/9/server/imap_sockfilt.pid 19:01:14.111836 Wrote port 33557 to log/9/server/imap_server.port 19:01:14.111851 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 ==119611== ==119611== Process terminating with default action of signal 4 (SIGILL) ==119611== Illegal opcode at address 0x4013E00 ==119611== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119611== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119611== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119611== by 0x40037A4: 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/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 33579 (log/23/server/imap_server.port) RUN: IMAP server is PID 118679 port 33579 * pid imap => 118679 118679 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/23/valgrind811 ../src/curl -q --output log/23/curl811.out --include --trace-ascii log/23/trace811 --trace-time imap://127.0.0.1:33579 -u user:secret -X 'CREATE 811' > log/23/stdout811 2> log/23/stderr811 811: 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 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/23/valgrind811 ../src/curl -q --output log/23/curl811.out --include --trace-ascii log/23/trace811 --trace-time imap://127.0.0.1:33579 -u user:secret -X 'CREATE 811' > log/23/stdout811 2> log/23/stderr811 === End of file commands.log === Start of file imap_server.log 19:01:14.329022 IMAP server listens on port IPv4/33579 19:01:14.329109 logged pid 118679 in log/23/server/imap_server.pid 19:01:14.329133 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.100124 Running IPv4 version 19:01:14.100177 Listening on port 33579 19:01:14.100208 Wrote pid 118716 to log/23/server/imap_sockfilt.pid 19:01:14.100230 Wrote port 33579 to log/23/server/imap_server.port 19:01:14.100972 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 ==119599== ==119599== Process terminating with default action of signal 4 (SIGILL) ==119599== Illegal opcode at address 0x4013E00 ==119599== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119599== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119599== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119599== by 0x40037A4: 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/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 36049 (log/16/server/imap_server.port) RUN: IMAP server is PID 118684 port 36049 * pid imap => 118684 118684 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/16/valgrind813 ../src/curl -q --output log/16/curl813.out --include --trace-ascii log/16/trace813 --trace-time imap://127.0.0.1:36049 -u user:secret -X 'RENAME 666 813' > log/16/stdout813 2> log/16/stderr813 813: 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 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/16/valgrind813 ../src/curl -q --output log/16/curl813.out --include --trace-ascii log/16/trace813 --trace-time imap://127.0.0.1:36049 -u user:secret -X 'RENAME 666 813' > log/16/stdout813 2> log/16/stderr813 === End of file commands.log === Start of file imap_server.log 19:01:14.337317 IMAP server listens on port IPv4/36049 19:01:14.337373 logged pid 118684 in log/16/server/imap_server.pid 19:01:14.337393 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.109191 Running IPv4 version 19:01:14.109239 Listening on port 36049 19:01:14.109267 Wrote pid 118717 to log/16/server/imap_sockfilt.pid 19:01:14.109289 Wrote port 36049 to log/16/server/imap_server.port 19:01:14.109304 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 ==119612== ==119612== Process terminating with default action of signal 4 (SIGILL) ==119612== Illegal opcode at address 0x4013E00 ==119612== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119612== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119612== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119612== by 0x40037A4: main (tool_main.c:199) === End of file valgrind813 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 41045 (log/12/server/imap_server.port) RUN: IMAP server is PID 118723 port 41045 * pid imap => 118723 118723 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/12/valgrind817 ../src/curl -q --output log/12/curl817.out --include --trace-ascii log/12/trace817 --trace-time imap://127.0.0.1:41045 -u user:secret -X 'COPY 123 817' > log/12/stdout817 2> log/12/stderr817 817: 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 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/12/valgrind817 ../src/curl -q --output log/12/curl817.out --include --trace-ascii log/12/trace817 --trace-time imap://127.0.0.1:41045 -u user:secret -X 'COPY 123 817' > log/12/stdout817 2> log/12/stderr817 === End of file commands.log === Start of file imap_server.log 19:01:14.402656 IMAP server listens on port IPv4/41045 19:01:14.402711 logged pid 118723 in log/12/server/imap_server.pid 19:01:14.402731 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.174520 Running IPv4 version 19:01:14.174568 Listening on port 41045 19:01:14.174595 Wrote pid 118809 to log/12/server/imap_sockfilt.pid 19:01:14.174623 Wrote port 41045 to log/12/server/imap_server.port 19:01:14.174639 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 ==119826== ==119826== Process terminating with default action of signal 4 (SIGILL) ==119826== Illegal opcode at address 0x4013E00 ==119826== CMD (33792): ../libtool --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/valgrind825 ../src/curl -q --output log/11/curl825.out --include --trace-ascii log/11/trace825 --trace-time 'imap://127.0.0.1:40695/825/;MAILINDEX=1' -u user:secret > log/11/stdout825 2> log/11/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/22/valgrind824 ../src/curl -q --output log/22/curl824.out --include --trace-ascii log/22/trace824 --trace-time 'imap://127.0.0.1:42425/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout824 2> log/22/stderr824 at 0x4013E00: getparameter (tool_getparam.c:2846) ==119826== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119826== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119826== by 0x40037A4: main (tool_main.c:199) === End of file valgrind817 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/11/valgrind825 ../src/curl -q --output log/11/curl825.out --include --trace-ascii log/11/trace825 --trace-time 'imap://127.0.0.1:40695/825/;MAILINDEX=1' -u user:secret > log/11/stdout825 2> log/11/stderr825 825: 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 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/11/valgrind825 ../src/curl -q --output log/11/curl825.out --include --trace-ascii log/11/trace825 --trace-time 'imap://127.0.0.1:40695/825/;MAILINDEX=1' -u user:secret > log/11/stdout825 2> log/11/stderr825 === End of file commands.log === Start of file imap_server.log 19:01:15.393107 ====> Client connect 19:01:15.393239 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:15.393483 < "A001 CAPABILITY" 19:01:15.393517 > "A001 BAD Command[CR][LF]" 19:01:15.393656 < "A002 LIST "verifiedserver" *" 19:01:15.393680 LIST_imap got "verifiedserver" * 19:01:15.393701 > "* LIST () "/" "WE ROOLZ: 118555"[CR][LF]" 19:01:15.393715 > "A002 OK LIST Completed[CR][LF]" 19:01:15.393727 return proof we are we 19:01:15.435696 < "A003 LOGOUT" 19:01:15.435752 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:15.435777 > "A003 OK LOGOUT completed[CR][LF]" 19:01:15.436676 MAIN sockfilt said DISC 19:01:15.436712 ====> Client disconnected 19:01:15.436783 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:15.165073 ====> Client connect 19:01:15.165303 Received DATA (on stdin) 19:01:15.165316 > 178 bytes data, server => client 19:01:15.165326 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:15.165335 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:15.165344 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:15.165351 'rve\r\n' 19:01:15.165413 < 17 bytes data, client => server 19:01:15.165423 'A001 CAPABILITY\r\n' 19:01:15.165571 Received DATA (on stdin) 19:01:15.165582 > 18 bytes data, server => client 19:01:15.165591 'A001 BAD Command\r\n' 19:01:15.165634 < 30 bytes data, client => server 19:01:15.165644 'A002 LIST "verifiedserver" *\r\n' 19:01:15.165779 Received DATA (on stdin) 19:01:15.165789 > 34 bytes data, server => client 19:01:15.165798 '* LIST () "/" "WE ROOLZ: 118555"\r\n' 19:01:15.165814 Received DATA (on stdin) 19:01:15.165823 > 24 bytes data, server => client 19:01:15.165831 'A002 OK LIST Completed\r\n' 19:01:15.207571 < 13 bytes data, client => server 19:01:15.207597 'A003 LOGOUT\r\n' 19:01:15.207840 Received DATA (on stdin) 19:01:15.207856 > 36 bytes data, server => client 19:01:15.207869 '* BYE curl IMAP server signing off\r\n' 19:01:15.207895 Received DATA (on stdin) 19:01:15.207906 > 26 bytes data, server => client 19:01:15.207918 'A003 OK LOGOUT completed\r\n' 19:01:15.208664 ====> Client disconnect 19:01:15.208846 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 ==119878== ==119878== Process terminating with default action of signal 4 (SIGILL) ==119878== Illegal opcode at address 0x4013E00 ==119878== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119878== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119878== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119878== by 0x40037A4: main (tool_main.c:199) === End of file valgrind825 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/22/valgrind824 ../src/curl -q --output log/22/curl824.out --include --trace-ascii log/22/trace824 --trace-time 'imap://127.0.0.1:42425/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout824 2> log/22/stderr824 824: 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 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/22/valgrind824 ../src/curl -q --output log/22/curl824.out --include --trace-ascii log/22/trace824 --trace-time 'imap://127.0.0.1:42425/824/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/22/stdout824 2> log/22/stderr824 === End of file commands.log === Start of file imap_server.log 19:01:15.386707 ====> Client connect 19:01:15.386868 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:15.387175 < "A001 CAPABILITY" 19:01:15.387212 > "A001 BAD Command[CR][LF]" 19:01:15.387383 < "A002 LIST "verifiedserver" *" 19:01:15.387415 LIST_imap got "verifiedserver" * 19:01:15.387442 > "* LIST () "/" "WE ROOLZ: 118557"[CR][LF]" 19:01:15.387461 > "A002 OK LIST Completed[CR][LF]" 19:01:15.387476 return proof we are we 19:01:15.432411 < "A003 LOGOUT" 19:01:15.432476 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:15.432504 > "A003 OK LOGOUT completed[CR][LF]" 19:01:15.433510 MAIN sockfilt said DISC 19:01:15.433548 ====> Client disconnected 19:01:15.433629 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:15.158667 ====> Client connect 19:01:15.158937 Received DATA (on stdin) 19:01:15.158952 > 178 bytes data, server => client 19:01:15.158967 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:15.158979 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:15.158991 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:15.159001 'rve\r\n' 19:01:15.159079 < 17 bytes data, client => server 19:01:15.159093 'A001 CAPABILITY\r\n' 19:01:15.159272 Received DATA (on stdin) 19:01:15.159285 > 18 bytes data, server => client 19:01:15.159297 'A001 BAD Command\r\n' 19:01:15.159351 < 30 bytes data, client => server 19:01:15.159364 'A002 LIST "verifiedserver" *\r\n' 19:01:15.159533 Received DATA (on stdin) 19:01:15.159546 > 34 bytes data, server => client 19:01:15.159558 '* LIST () "/" "WE ROOLZ: 118557"\r\n' 19:01:15.159579 Received DATA (on stdin) 19:01:15.159590 > 24 bytes data, server => client 19:01:15.159602 'A002 OK LIST Completed\r\n' 19:01:15.204276 < 13 bytes data, client => server 19:01:15.204302 'A003 LOGOUT\r\n' 19:01:15.204570 Received DATA (on stdin) 19:01:15.204587 > 36 bytes data, server => client 19:01:15.204600 '* BYE curl IMAP server signing off\r\n' 19:01:15.204625 Received DATA (on stdin) 19:01:15.204638 > 26 bytes data, server => client 19:01:15.204650 'A003 OK LOGOUT completed\r\n' 19:01:15.205499 ====> Client disconnect 19:01:15.205692 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 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/24/valgrind818 ../src/curl -q --output log/24/curl818.out --include --trace-ascii log/24/trace818 --trace-time imap://127.0.0.1:43741 -X NOOP -u user:secret > log/24/stdout818 2> log/24/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/18/valgrind826 ../src/curl -q --output log/18/curl826.out --include --trace-ascii log/18/trace826 --trace-time 'imap://127.0.0.1:44573/826/;MAILINDEX=1' -u user:secret > log/18/stdout826 2> log/18/stderr826 CMD (33792): ../libtool --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/valgrind827 ../src/curl -q --output log/10/curl827.out --include --trace-ascii log/10/trace827 --trace-time 'imap://127.0.0.1:37647/827/;MAILINDEX=1' -u testuser:testpass > log/10/stdout827 2> log/10/stderr827 estnum 824 === End of file server.cmd === Start of file valgrind824 ==119875== ==119875== Process terminating with default action of signal 4 (SIGILL) ==119875== Illegal opcode at address 0x4013E00 ==119875== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119875== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119875== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119875== by 0x40037A4: main (tool_main.c:199) === End of file valgrind824 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 43741 (log/24/server/imap_server.port) RUN: IMAP server is PID 118832 port 43741 * pid imap => 118832 118832 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/24/valgrind818 ../src/curl -q --output log/24/curl818.out --include --trace-ascii log/24/trace818 --trace-time imap://127.0.0.1:43741 -X NOOP -u user:secret > log/24/stdout818 2> log/24/stderr818 818: 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 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/24/valgrind818 ../src/curl -q --output log/24/curl818.out --include --trace-ascii log/24/trace818 --trace-time imap://127.0.0.1:43741 -X NOOP -u user:secret > log/24/stdout818 2> log/24/stderr818 === End of file commands.log === Start of file imap_server.log 19:01:14.580916 IMAP server listens on port IPv4/43741 19:01:14.580965 logged pid 118832 in log/24/server/imap_server.pid 19:01:14.580983 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:14.352789 Running IPv4 version 19:01:14.352841 Listening on port 43741 19:01:14.352868 Wrote pid 118833 to log/24/server/imap_sockfilt.pid 19:01:14.352888 Wrote port 43741 to log/24/server/imap_server.port 19:01:14.352904 Received PING (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 818 === End of file server.cmd === Start of file valgrind818 ==119992== ==119992== Process terminating with default action of signal 4 (SIGILL) ==119992== Illegal opcode at address 0x4013E00 ==119992== at 0x4013E00: getparameter (tool_getparam.c:2846) ==119992== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==119992== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==119992== by 0x40037A4: main (tool_main.c:199) === End of file valgrind818 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/18/valgrind826 ../src/curl -q --output log/18/curl826.out --include --trace-ascii log/18/trace826 --trace-time 'imap://127.0.0.1:44573/826/;MAILINDEX=1' -u user:secret > log/18/stdout826 2> log/18/stderr826 826: 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 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/18/valgrind826 ../src/curl -q --output log/18/curl826.out --include --trace-ascii log/18/trace826 --trace-time 'imap://127.0.0.1:44573/826/;MAILINDEX=1' -u user:secret > log/18/stdout826 2> log/18/stderr826 === End of file commands.log === Start of file imap_server.log 19:01:15.573955 ====> Client connect 19:01:15.574238 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:15.575080 < "A001 CAPABILITY" 19:01:15.575120 > "A001 BAD Command[CR][LF]" 19:01:15.575564 < "A002 LIST "verifiedserver" *" 19:01:15.575598 LIST_imap got "verifiedserver" * 19:01:15.575626 > "* LIST () "/" "WE ROOLZ: 118568"[CR][LF]" 19:01:15.575650 > "A002 OK LIST Completed[CR][LF]" 19:01:15.575666 return proof we are we 19:01:15.619283 < "A003 LOGOUT" 19:01:15.619354 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:15.619377 > "A003 OK LOGOUT completed[CR][LF]" 19:01:15.623195 MAIN sockfilt said DISC 19:01:15.623237 ====> Client disconnected 19:01:15.623328 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:15.345907 ====> Client connect 19:01:15.346312 Received DATA (on stdin) 19:01:15.346330 > 178 bytes data, server => client 19:01:15.346344 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:15.346357 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:15.346369 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:15.346380 'rve\r\n' 19:01:15.346952 < 17 bytes data, client => server 19:01:15.346974 'A001 CAPABILITY\r\n' 19:01:15.347181 Received DATA (on stdin) 19:01:15.347195 > 18 bytes data, server => client 19:01:15.347207 'A001 BAD Command\r\n' 19:01:15.347497 < 30 bytes data, client => server 19:01:15.347517 'A002 LIST "verifiedserver" *\r\n' 19:01:15.347725 Received DATA (on stdin) 19:01:15.347738 > 34 bytes data, server => client 19:01:15.347750 '* LIST () "/" "WE ROOLZ: 118568"\r\n' 19:01:15.347774 Received DATA (on stdin) 19:01:15.347786 > 24 bytes data, server => client 19:01:15.347798 'A002 OK LIST Completed\r\n' 19:01:15.391110 < 13 bytes data, client => server 19:01:15.391151 'A003 LOGOUT\r\n' 19:01:15.394213 Received DATA (on stdin) 19:01:15.394238 > 36 bytes data, server => client 19:01:15.394251 '* BYE curl IMAP server signing off\r\n' 19:01:15.394278 Received DATA (on stdin) 19:01:15.394290 > 26 bytes data, server => client 19:01:15.394301 'A003 OK LOGOUT completed\r\n' 19:01:15.395176 ====> Client disconnect 19:01:15.395394 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 ==120060== ==120060== Process terminating with default action of signal 4 (SIGILL) ==120060== Illegal opcode at address 0x4013E00 ==120060== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120060== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120060== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120060== by 0x40037A4: main (tool_main.c:199) === End of file valgrind826 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/10/valgrind827 ../src/curl -q --output log/10/curl827.out --include --trace-ascii log/10/trace827 --trace-time 'imap://127.0.0.1:37647/827/;MAILINDEX=1' -u testuser:testpass > log/10/stdout827 2> log/10/stderr827 827: 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 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/10/valgrind827 ../src/curl -q --output log/10/curl827.out --include --trace-ascii log/10/trace827 --trace-time 'imap://127.0.0.1:376CMD (33792): ../libtool --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/valgrind828 ../src/curl -q --output log/3/curl828.out --include --trace-ascii log/3/trace828 --trace-time 'imap://127.0.0.1:46125/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout828 2> log/3/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/19/valgrind822 ../src/curl -q --output log/19/curl822.out --include --trace-ascii log/19/trace822 --trace-time 'imap://127.0.0.1:39839/822/;MAILINDEX=1' -u testuser:testpass > log/19/stdout822 2> log/19/stderr822 47/827/;MAILINDEX=1' -u testuser:testpass > log/10/stdout827 2> log/10/stderr827 === End of file commands.log === Start of file imap_server.log 19:01:15.725070 ====> Client connect 19:01:15.725260 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:15.725629 < "A001 CAPABILITY" 19:01:15.725672 > "A001 BAD Command[CR][LF]" 19:01:15.725938 < "A002 LIST "verifiedserver" *" 19:01:15.725972 LIST_imap got "verifiedserver" * 19:01:15.726000 > "* LIST () "/" "WE ROOLZ: 118579"[CR][LF]" 19:01:15.726020 > "A002 OK LIST Completed[CR][LF]" 19:01:15.726035 return proof we are we 19:01:15.769242 < "A003 LOGOUT" 19:01:15.769300 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:15.769320 > "A003 OK LOGOUT completed[CR][LF]" 19:01:15.769960 MAIN sockfilt said DISC 19:01:15.770091 ====> Client disconnected 19:01:15.770265 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:15.497006 ====> Client connect 19:01:15.497332 Received DATA (on stdin) 19:01:15.497348 > 178 bytes data, server => client 19:01:15.497362 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:15.497374 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:15.497386 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:15.497397 'rve\r\n' 19:01:15.497503 < 17 bytes data, client => server 19:01:15.497518 'A001 CAPABILITY\r\n' 19:01:15.497733 Received DATA (on stdin) 19:01:15.497746 > 18 bytes data, server => client 19:01:15.497764 'A001 BAD Command\r\n' 19:01:15.497884 < 30 bytes data, client => server 19:01:15.497900 'A002 LIST "verifiedserver" *\r\n' 19:01:15.498092 Received DATA (on stdin) 19:01:15.498105 > 34 bytes data, server => client 19:01:15.498117 '* LIST () "/" "WE ROOLZ: 118579"\r\n' 19:01:15.498138 Received DATA (on stdin) 19:01:15.498149 > 24 bytes data, server => client 19:01:15.498161 'A002 OK LIST Completed\r\n' 19:01:15.541034 < 13 bytes data, client => server 19:01:15.541091 'A003 LOGOUT\r\n' 19:01:15.541389 Received DATA (on stdin) 19:01:15.541403 > 36 bytes data, server => client 19:01:15.541415 '* BYE curl IMAP server signing off\r\n' 19:01:15.541440 Received DATA (on stdin) 19:01:15.541450 > 26 bytes data, server => client 19:01:15.541462 'A003 OK LOGOUT completed\r\n' 19:01:15.541916 ====> Client disconnect 19:01:15.542075 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH NTLM CAPA SASL-IR REPLY AUTHENTICATE + TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAAAA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= A002 OK AUTHENTICATE completed Testnum 827 === End of file server.cmd === Start of file valgrind827 ==120140== ==120140== Process terminating with default action of signal 4 (SIGILL) ==120140== Illegal opcode at address 0x4013E00 ==120140== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120140== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120140== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120140== by 0x40037A4: 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/3/valgrind828 ../src/curl -q --output log/3/curl828.out --include --trace-ascii log/3/trace828 --trace-time 'imap://127.0.0.1:46125/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout828 2> log/3/stderr828 828: 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 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/3/valgrind828 ../src/curl -q --output log/3/curl828.out --include --trace-ascii log/3/trace828 --trace-time 'imap://127.0.0.1:46125/828/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/3/stdout828 2> log/3/stderr828 === End of file commands.log === Start of file imap_server.log 19:01:15.794084 ====> Client connect 19:01:15.794245 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:15.794541 < "A001 CAPABILITY" 19:01:15.794575 > "A001 BAD Command[CR][LF]" 19:01:15.794740 < "A002 LIST "verifiedserver" *" 19:01:15.794766 LIST_imap got "verifiedserver" * 19:01:15.794790 > "* LIST () "/" "WE ROOLZ: 110266"[CR][LF]" 19:01:15.794808 > "A002 OK LIST Completed[CR][LF]" 19:01:15.794822 return proof we are we 19:01:15.839312 < "A003 LOGOUT" 19:01:15.839376 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:15.839400 > "A003 OK LOGOUT completed[CR][LF]" 19:01:15.840297 MAIN sockfilt said DISC 19:01:15.840330 ====> Client disconnected 19:01:15.840406 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:15.565921 ====> Client connect 19:01:15.566312 Received DATA (on stdin) 19:01:15.566327 > 178 bytes data, server => client 19:01:15.566341 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:15.566353 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:15.566365 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:15.566375 'rve\r\n' 19:01:15.566451 < 17 bytes data, client => server 19:01:15.566465 'A001 CAPABILITY\r\n' 19:01:15.566633 Received DATA (on stdin) 19:01:15.566646 > 18 bytes data, server => client 19:01:15.566658 'A001 BAD Command\r\n' 19:01:15.566711 < 30 bytes data, client => server 19:01:15.566724 'A002 LIST "verifiedserver" *\r\n' 19:01:15.566877 Received DATA (on stdin) 19:01:15.566889 > 34 bytes data, server => client 19:01:15.566901 '* LIST () "/" "WE ROOLZ: 110266"\r\n' 19:01:15.566922 Received DATA (on stdin) 19:01:15.566933 > 24 bytes data, server => client 19:01:15.566945 'A002 OK LIST Completed\r\n' 19:01:15.611159 < 13 bytes data, client => server 19:01:15.611187 'A003 LOGOUT\r\n' 19:01:15.611462 Received DATA (on stdin) 19:01:15.611477 > 36 bytes data, server => client 19:01:15.611490 '* BYE curl IMAP server signing off\r\n' 19:01:15.611515 Received DATA (on stdin) 19:01:15.611527 > 26 bytes data, server => client 19:01:15.611540 'A003 OK LOGOUT completed\r\n' 19:01:15.612302 ====> Client disconnect 19:01:15.612470 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 ==120207== ==120207== Process terminating with default action of signal 4 (SIGILL) ==120207== Illegal opcode at address 0x4013E00 ==120207== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120207== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120207== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120207== by 0x40037A4: main (tool_main.c:199) === End of file valgrind828 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 39839 (log/19/server/imap_server.port) RUN: CMD (33792): ../libtool --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/valgrind829 ../src/curl -q --output log/4/curl829.out --include --trace-ascii log/4/trace829 --trace-time imap://127.0.0.1:32779/%0d%0a/829 > log/4/stdout829 2> log/4/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/9/valgrind842 ../src/curl -q --output log/9/curl842.out --include --trace-ascii log/9/trace842 --trace-time 'imap://127.0.0.1:33557/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout842 2> log/9/stderr842 IMAP server is PID 119136 port 39839 * pid imap => 119136 119136 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/19/valgrind822 ../src/curl -q --output log/19/curl822.out --include --trace-ascii log/19/trace822 --trace-time 'imap://127.0.0.1:39839/822/;MAILINDEX=1' -u testuser:testpass > log/19/stdout822 2> log/19/stderr822 822: 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 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/19/valgrind822 ../src/curl -q --output log/19/curl822.out --include --trace-ascii log/19/trace822 --trace-time 'imap://127.0.0.1:39839/822/;MAILINDEX=1' -u testuser:testpass > log/19/stdout822 2> log/19/stderr822 === End of file commands.log === Start of file imap_server.log 19:01:15.100804 IMAP server listens on port IPv4/39839 19:01:15.100868 logged pid 119136 in log/19/server/imap_server.pid 19:01:15.100888 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:15.872536 Running IPv4 version 19:01:15.872597 Listening on port 39839 19:01:15.872627 Wrote pid 119137 to log/19/server/imap_sockfilt.pid 19:01:15.872650 Wrote port 39839 to log/19/server/imap_server.port 19:01:15.872787 Received PING (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 ==120286== ==120286== Process terminating with default action of signal 4 (SIGILL) ==120286== Illegal opcode at address 0x4013E00 ==120286== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120286== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120286== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120286== by 0x40037A4: main (tool_main.c:199) === End of file valgrind822 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/4/valgrind829 ../src/curl -q --output log/4/curl829.out --include --trace-ascii log/4/trace829 --trace-time imap://127.0.0.1:32779/%0d%0a/829 > log/4/stdout829 2> log/4/stderr829 curl returned 132, when expecting 3 829: exit FAILED == Contents of files in the log/4/ 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/4/valgrind829 ../src/curl -q --output log/4/curl829.out --include --trace-ascii log/4/trace829 --trace-time imap://127.0.0.1:32779/%0d%0a/829 > log/4/stdout829 2> log/4/stderr829 === End of file commands.log === Start of file imap_server.log 19:01:16.083673 ====> Client connect 19:01:16.083851 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.084217 < "A001 CAPABILITY" 19:01:16.084261 > "A001 BAD Command[CR][LF]" 19:01:16.084441 < "A002 LIST "verifiedserver" *" 19:01:16.084473 LIST_imap got "verifiedserver" * 19:01:16.084499 > "* LIST () "/" "WE ROOLZ: 118618"[CR][LF]" 19:01:16.084519 > "A002 OK LIST Completed[CR][LF]" 19:01:16.084534 return proof we are we 19:01:16.125957 < "A003 LOGOUT" 19:01:16.126015 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.126037 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.126889 MAIN sockfilt said DISC 19:01:16.127007 ====> Client disconnected 19:01:16.127086 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.855600 ====> Client connect 19:01:16.855927 Received DATA (on stdin) 19:01:16.855943 > 178 bytes data, server => client 19:01:16.855957 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.855970 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.855982 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.855993 'rve\r\n' 19:01:16.856109 < 17 bytes data, client => server 19:01:16.856124 'A001 CAPABILITY\r\n' 19:01:16.856320 Received DATA (on stdin) 19:01:16.856333 > 18 bytes data, server => client 19:01:16.856345 'A001 BAD Command\r\n' 19:01:16.856402 < 30 bytes data, client => server 19:01:16.856415 'A002 LIST "verifiedserver" *\r\n' 19:01:16.856593 Received DATA (on stdin) 19:01:16.856608 > 34 bytes data, server => client 19:01:16.856620 '* LIST () "/" "WE ROOLZ: 118618"\r\n' 19:01:16.856644 Received DATA (on stdin) 19:01:16.856656 > 24 bytes data, server => client 19:01:16.856667 'A002 OK LIST Completed\r\n' 19:01:16.897782 < 13 bytes data, client => server 19:01:16.897816 'A003 LOGOUT\r\n' 19:01:16.898098 Received DATA (on stdin) 19:01:16.898113 > 36 bytes data, server => client 19:01:16.898125 '* BYE curl IMAP server signing off\r\n' 19:01:16.898149 Received DATA (on stdin) 19:01:16.898161 > 26 bytes data, server => client 19:01:16.898173 'A003 OK LOGOUT completed\r\n' 19:01:16.898434 ====> Client disconnect 19:01:16.899149 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 ==120336== ==120336== Process terminating with default action of signal 4 (SIGILL) ==120336== Illegal opcode at address 0x4013E00 ==120336== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120336== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120336== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120336== by 0x40037A4: main (tool_main.c:199) === End of file valgrind829 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/9/valgrind842 ../src/curl -q --output log/9/curl842.out --include --trace-ascii log/9/trace842 --trace-time 'imap://127.0.0.1:33557/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout842 2> log/9/stderr842 842: 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 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/9/valgrind842 ../src/curl -q --output log/9/curl842.out --include --trace-ascii log/9/trace842 --trace-time 'imap://127.0.0.1:33557/842/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/9/stdout842 2> log/9/stderr842 === End of file commands.log === Start of file imap_server.log 19:01:16.357974 ====> Client connect 19:01:16.358213 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.358611 < "A001 CAPABILITY" 19:01:16.358661 > "A001 BAD Command[CR][LF]" 19:01:16.359178 < "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/7/valgrind841 ../src/curl -q --output log/7/curl841.out --include --trace-ascii log/7/trace841 --trace-time imap://127.0.0.1:33589/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/7/stdout841 2> log/7/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/12/valgrind845 ../src/curl -q --output log/12/curl845.out --include --trace-ascii log/12/trace845 --trace-time 'imap://127.0.0.1:41045/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/12/stdout845 2> log/12/stderr845 " 19:01:16.359221 LIST_imap got "verifiedserver" * 19:01:16.359250 > "* LIST () "/" "WE ROOLZ: 118685"[CR][LF]" 19:01:16.359270 > "A002 OK LIST Completed[CR][LF]" 19:01:16.359289 return proof we are we 19:01:16.405835 < "A003 LOGOUT" 19:01:16.405889 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.405911 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.406888 MAIN sockfilt said DISC 19:01:16.406916 ====> Client disconnected 19:01:16.406984 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.129839 ====> Client connect 19:01:16.130296 Received DATA (on stdin) 19:01:16.130313 > 178 bytes data, server => client 19:01:16.130329 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.130341 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.130352 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.130362 'rve\r\n' 19:01:16.130459 < 17 bytes data, client => server 19:01:16.130473 'A001 CAPABILITY\r\n' 19:01:16.130722 Received DATA (on stdin) 19:01:16.130735 > 18 bytes data, server => client 19:01:16.130747 'A001 BAD Command\r\n' 19:01:16.131110 < 30 bytes data, client => server 19:01:16.131130 'A002 LIST "verifiedserver" *\r\n' 19:01:16.131347 Received DATA (on stdin) 19:01:16.131360 > 34 bytes data, server => client 19:01:16.131371 '* LIST () "/" "WE ROOLZ: 118685"\r\n' 19:01:16.131392 Received DATA (on stdin) 19:01:16.131403 > 24 bytes data, server => client 19:01:16.131417 'A002 OK LIST Completed\r\n' 19:01:16.177731 < 13 bytes data, client => server 19:01:16.177756 'A003 LOGOUT\r\n' 19:01:16.177970 Received DATA (on stdin) 19:01:16.177983 > 36 bytes data, server => client 19:01:16.177995 '* BYE curl IMAP server signing off\r\n' 19:01:16.178018 Received DATA (on stdin) 19:01:16.178030 > 26 bytes data, server => client 19:01:16.178042 'A003 OK LOGOUT completed\r\n' 19:01:16.178886 ====> Client disconnect 19:01:16.184112 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzM1NTcBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 OK AUTHENTICATE completed Testnum 842 === End of file server.cmd === Start of file valgrind842 ==120996== ==120996== Process terminating with default action of signal 4 (SIGILL) ==120996== Illegal opcode at address 0x4013E00 ==120996== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120996== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120996== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120996== by 0x40037A4: 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/7/valgrind841 ../src/curl -q --output log/7/curl841.out --include --trace-ascii log/7/trace841 --trace-time imap://127.0.0.1:33589/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/7/stdout841 2> log/7/stderr841 841: 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 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/7/valgrind841 ../src/curl -q --output log/7/curl841.out --include --trace-ascii log/7/trace841 --trace-time imap://127.0.0.1:33589/841/ -u user:secret -X 'FETCH 123 BODY[1]' > log/7/stdout841 2> log/7/stderr841 === End of file commands.log === Start of file imap_server.log 19:01:16.344912 ====> Client connect 19:01:16.345115 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.345496 < "A001 CAPABILITY" 19:01:16.345549 > "A001 BAD Command[CR][LF]" 19:01:16.345766 < "A002 LIST "verifiedserver" *" 19:01:16.345803 LIST_imap got "verifiedserver" * 19:01:16.345833 > "* LIST () "/" "WE ROOLZ: 118683"[CR][LF]" 19:01:16.345853 > "A002 OK LIST Completed[CR][LF]" 19:01:16.345868 return proof we are we 19:01:16.389100 < "A003 LOGOUT" 19:01:16.389162 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.389184 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.390247 MAIN sockfilt said DISC 19:01:16.390289 ====> Client disconnected 19:01:16.390393 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.116854 ====> Client connect 19:01:16.117198 Received DATA (on stdin) 19:01:16.117218 > 178 bytes data, server => client 19:01:16.117231 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.117242 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.117252 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.117260 'rve\r\n' 19:01:16.117350 < 17 bytes data, client => server 19:01:16.117364 'A001 CAPABILITY\r\n' 19:01:16.117613 Received DATA (on stdin) 19:01:16.117629 > 18 bytes data, server => client 19:01:16.117641 'A001 BAD Command\r\n' 19:01:16.117706 < 30 bytes data, client => server 19:01:16.117721 'A002 LIST "verifiedserver" *\r\n' 19:01:16.117928 Received DATA (on stdin) 19:01:16.117942 > 34 bytes data, server => client 19:01:16.117954 '* LIST () "/" "WE ROOLZ: 118683"\r\n' 19:01:16.117977 Received DATA (on stdin) 19:01:16.117988 > 24 bytes data, server => client 19:01:16.118000 'A002 OK LIST Completed\r\n' 19:01:16.160956 < 13 bytes data, client => server 19:01:16.160991 'A003 LOGOUT\r\n' 19:01:16.161244 Received DATA (on stdin) 19:01:16.161258 > 36 bytes data, server => client 19:01:16.161271 '* BYE curl IMAP server signing off\r\n' 19:01:16.161295 Received DATA (on stdin) 19:01:16.161306 > 26 bytes data, server => client 19:01:16.161318 'A003 OK LOGOUT completed\r\n' 19:01:16.162229 ====> Client disconnect 19:01:16.162455 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 ==120968== ==120968== Process terminating with default action of signal 4 (SIGILL) ==120968== Illegal opcode at address 0x4013E00 ==120968== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120968== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120968== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120968== by 0x40037A4: main (tool_main.c:199) === End of file valgrind841 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/12/valgrind845 ../src/curl -q --output log/12/curl845.out --include --trace-ascii log/12/trace845 --trace-time 'imap://127.0.0.1:41045/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/12/stdout845 2> log/12/stderr845 845: 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 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/12/valgrind845 ../src/curl -q --output log/12/curl845.out --include --trace-ascii log/12/trace845 --trace-time 'imap://127.0.0.1:41045/845/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/12/stdout845 2> log/12/stderr845 === End of file commands.log === Start of file imap_server.log 19:01:16.361127 ====> Client connect 19:01:16.361360 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [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/23/valgrind843 ../src/curl -q --output log/23/curl843.out --include --trace-ascii log/23/trace843 --trace-time 'imap://127.0.0.1:33579/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout843 2> log/23/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/14/valgrind830 ../src/curl -q --output log/14/curl830.out --include --trace-ascii log/14/trace830 --trace-time 'imap://127.0.0.1:43691/830/;MAILINDEX=1' -u user:secret > log/14/stdout830 2> log/14/stderr830 CMD (33792): ../libtool --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/valgrind833 ../src/curl -q --output log/2/curl833.out --include --trace-ascii log/2/trace833 --trace-time 'imap://127.0.0.1:42853/833/;MAILINDEX=1' -u user:secret > log/2/stdout833 2> log/2/stderr833 | |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.361701 < "A001 CAPABILITY" 19:01:16.361744 > "A001 BAD Command[CR][LF]" 19:01:16.361934 < "A002 LIST "verifiedserver" *" 19:01:16.361963 LIST_imap got "verifiedserver" * 19:01:16.361990 > "* LIST () "/" "WE ROOLZ: 118723"[CR][LF]" 19:01:16.362010 > "A002 OK LIST Completed[CR][LF]" 19:01:16.362027 return proof we are we 19:01:16.406573 < "A003 LOGOUT" 19:01:16.406626 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.406649 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.408833 MAIN sockfilt said DISC 19:01:16.408886 ====> Client disconnected 19:01:16.408959 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.133040 ====> Client connect 19:01:16.133437 Received DATA (on stdin) 19:01:16.133454 > 178 bytes data, server => client 19:01:16.133468 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.133480 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.133492 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.133502 'rve\r\n' 19:01:16.133582 < 17 bytes data, client => server 19:01:16.133598 'A001 CAPABILITY\r\n' 19:01:16.133807 Received DATA (on stdin) 19:01:16.133821 > 18 bytes data, server => client 19:01:16.133833 'A001 BAD Command\r\n' 19:01:16.133890 < 30 bytes data, client => server 19:01:16.133905 'A002 LIST "verifiedserver" *\r\n' 19:01:16.134085 Received DATA (on stdin) 19:01:16.134309 > 34 bytes data, server => client 19:01:16.134322 '* LIST () "/" "WE ROOLZ: 118723"\r\n' 19:01:16.134347 Received DATA (on stdin) 19:01:16.134360 > 24 bytes data, server => client 19:01:16.134372 'A002 OK LIST Completed\r\n' 19:01:16.178464 < 13 bytes data, client => server 19:01:16.178494 'A003 LOGOUT\r\n' 19:01:16.179211 Received DATA (on stdin) 19:01:16.179234 > 36 bytes data, server => client 19:01:16.179247 '* BYE curl IMAP server signing off\r\n' 19:01:16.179274 Received DATA (on stdin) 19:01:16.179285 > 26 bytes data, server => client 19:01:16.179297 'A003 OK LOGOUT completed\r\n' 19:01:16.180224 ====> Client disconnect 19:01:16.181030 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 ==121001== ==121001== Process terminating with default action of signal 4 (SIGILL) ==121001== Illegal opcode at address 0x4013E00 ==121001== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121001== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121001== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121001== by 0x40037A4: main (tool_main.c:199) === End of file valgrind845 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/23/valgrind843 ../src/curl -q --output log/23/curl843.out --include --trace-ascii log/23/trace843 --trace-time 'imap://127.0.0.1:33579/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout843 2> log/23/stderr843 843: 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 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/23/valgrind843 ../src/curl -q --output log/23/curl843.out --include --trace-ascii log/23/trace843 --trace-time 'imap://127.0.0.1:33579/843/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout843 2> log/23/stderr843 === End of file commands.log === Start of file imap_server.log 19:01:16.357974 ====> Client connect 19:01:16.358212 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.358615 < "A001 CAPABILITY" 19:01:16.358666 > "A001 BAD Command[CR][LF]" 19:01:16.358861 < "A002 LIST "verifiedserver" *" 19:01:16.358895 LIST_imap got "verifiedserver" * 19:01:16.358929 > "* LIST () "/" "WE ROOLZ: 118679"[CR][LF]" 19:01:16.358950 > "A002 OK LIST Completed[CR][LF]" 19:01:16.358969 return proof we are we 19:01:16.408128 < "A003 LOGOUT" 19:01:16.408184 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.408208 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.409804 MAIN sockfilt said DISC 19:01:16.409848 ====> Client disconnected 19:01:16.409915 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.129839 ====> Client connect 19:01:16.130296 Received DATA (on stdin) 19:01:16.130313 > 178 bytes data, server => client 19:01:16.130326 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.130340 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.130352 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.130362 'rve\r\n' 19:01:16.130461 < 17 bytes data, client => server 19:01:16.130475 'A001 CAPABILITY\r\n' 19:01:16.130728 Received DATA (on stdin) 19:01:16.130742 > 18 bytes data, server => client 19:01:16.130754 'A001 BAD Command\r\n' 19:01:16.130822 < 30 bytes data, client => server 19:01:16.130835 'A002 LIST "verifiedserver" *\r\n' 19:01:16.131028 Received DATA (on stdin) 19:01:16.131042 > 34 bytes data, server => client 19:01:16.131054 '* LIST () "/" "WE ROOLZ: 118679"\r\n' 19:01:16.131078 Received DATA (on stdin) 19:01:16.131090 > 24 bytes data, server => client 19:01:16.131102 'A002 OK LIST Completed\r\n' 19:01:16.180009 < 13 bytes data, client => server 19:01:16.180036 'A003 LOGOUT\r\n' 19:01:16.180271 Received DATA (on stdin) 19:01:16.180288 > 36 bytes data, server => client 19:01:16.180300 '* BYE curl IMAP server signing off\r\n' 19:01:16.180327 Received DATA (on stdin) 19:01:16.180339 > 26 bytes data, server => client 19:01:16.180351 'A003 OK LOGOUT completed\r\n' 19:01:16.181311 ====> Client disconnect 19:01:16.181983 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 ==121008== ==121008== Process terminating with default action of signal 4 (SIGILL) ==121008== Illegal opcode at address 0x4013E00 ==121008== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121008== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121008== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121008== by 0x40037A4: main (tool_main.c:199) === End of file valgrind843 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/14/valgrind830 ../src/curl -q --output log/14/curl830.out --include --trace-ascii log/14/trace830 --trace-time 'imap://127.0.0.1:43691/830/;MAILINDEX=1' -u user:secret > log/14/stdout830 2> log/14/stderr830 830: 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 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/14/valgrind830 ../src/curl -q --output log/14/curl830.out --include --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/21/valgrind831 ../src/curl -q --output log/21/curl831.out --include --trace-ascii log/21/trace831 --trace-time 'imap://127.0.0.1:44099/831/;MAILINDEX=1' -u testuser:testpass > log/21/stdout831 2> log/21/stderr831 race-ascii log/14/trace830 --trace-time 'imap://127.0.0.1:43691/830/;MAILINDEX=1' -u user:secret > log/14/stdout830 2> log/14/stderr830 === End of file commands.log === Start of file imap_server.log 19:01:16.201217 ====> Client connect 19:01:16.201390 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.202839 < "A001 CAPABILITY" 19:01:16.202887 > "A001 BAD Command[CR][LF]" 19:01:16.203083 < "A002 LIST "verifiedserver" *" 19:01:16.203114 LIST_imap got "verifiedserver" * 19:01:16.203140 > "* LIST () "/" "WE ROOLZ: 111383"[CR][LF]" 19:01:16.203160 > "A002 OK LIST Completed[CR][LF]" 19:01:16.203175 return proof we are we 19:01:16.252570 < "A003 LOGOUT" 19:01:16.252635 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.252655 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.252803 MAIN sockfilt said DISC 19:01:16.252827 ====> Client disconnected 19:01:16.252901 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:15.973163 ====> Client connect 19:01:15.974502 Received DATA (on stdin) 19:01:15.974530 > 178 bytes data, server => client 19:01:15.974548 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:15.974561 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:15.974572 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:15.974583 'rve\r\n' 19:01:15.974725 < 17 bytes data, client => server 19:01:15.974740 'A001 CAPABILITY\r\n' 19:01:15.974950 Received DATA (on stdin) 19:01:15.974965 > 18 bytes data, server => client 19:01:15.974977 'A001 BAD Command\r\n' 19:01:15.975039 < 30 bytes data, client => server 19:01:15.975054 'A002 LIST "verifiedserver" *\r\n' 19:01:15.975233 Received DATA (on stdin) 19:01:15.975247 > 34 bytes data, server => client 19:01:15.975259 '* LIST () "/" "WE ROOLZ: 111383"\r\n' 19:01:15.975283 Received DATA (on stdin) 19:01:15.975293 > 24 bytes data, server => client 19:01:15.975304 'A002 OK LIST Completed\r\n' 19:01:16.024332 < 13 bytes data, client => server 19:01:16.024363 'A003 LOGOUT\r\n' 19:01:16.024717 Received DATA (on stdin) 19:01:16.024732 > 36 bytes data, server => client 19:01:16.024744 '* BYE curl IMAP server signing off\r\n' 19:01:16.024771 Received DATA (on stdin) 19:01:16.024781 > 26 bytes data, server => client 19:01:16.024792 'A003 OK LOGOUT completed\r\n' 19:01:16.024819 ====> Client disconnect 19:01:16.024910 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 ==120510== ==120510== Process terminating with default action of signal 4 (SIGILL) ==120510== Illegal opcode at address 0x4013E00 ==120510== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120510== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120510== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120510== by 0x40037A4: main (tool_main.c:199) === End of file valgrind830 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/2/valgrind833 ../src/curl -q --output log/2/curl833.out --include --trace-ascii log/2/trace833 --trace-time 'imap://127.0.0.1:42853/833/;MAILINDEX=1' -u user:secret > log/2/stdout833 2> log/2/stderr833 833: 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 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/2/valgrind833 ../src/curl -q --output log/2/curl833.out --include --trace-ascii log/2/trace833 --trace-time 'imap://127.0.0.1:42853/833/;MAILINDEX=1' -u user:secret > log/2/stdout833 2> log/2/stderr833 === End of file commands.log === Start of file imap_server.log 19:01:16.211163 ====> Client connect 19:01:16.211396 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.212292 < "A001 CAPABILITY" 19:01:16.212335 > "A001 BAD Command[CR][LF]" 19:01:16.212526 < "A002 LIST "verifiedserver" *" 19:01:16.212554 LIST_imap got "verifiedserver" * 19:01:16.212581 > "* LIST () "/" "WE ROOLZ: 109814"[CR][LF]" 19:01:16.212600 > "A002 OK LIST Completed[CR][LF]" 19:01:16.212615 return proof we are we 19:01:16.255702 < "A003 LOGOUT" 19:01:16.255766 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.255794 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.256906 MAIN sockfilt said DISC 19:01:16.256946 ====> Client disconnected 19:01:16.257025 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:15.983121 ====> Client connect 19:01:15.983469 Received DATA (on stdin) 19:01:15.983488 > 178 bytes data, server => client 19:01:15.983503 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:15.983516 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:15.983528 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:15.983538 'rve\r\n' 19:01:15.983984 < 17 bytes data, client => server 19:01:15.984000 'A001 CAPABILITY\r\n' 19:01:15.984396 Received DATA (on stdin) 19:01:15.984411 > 18 bytes data, server => client 19:01:15.984423 'A001 BAD Command\r\n' 19:01:15.984487 < 30 bytes data, client => server 19:01:15.984501 'A002 LIST "verifiedserver" *\r\n' 19:01:15.984679 Received DATA (on stdin) 19:01:15.984694 > 34 bytes data, server => client 19:01:15.984706 '* LIST () "/" "WE ROOLZ: 109814"\r\n' 19:01:15.984729 Received DATA (on stdin) 19:01:15.984741 > 24 bytes data, server => client 19:01:15.984753 'A002 OK LIST Completed\r\n' 19:01:16.027576 < 13 bytes data, client => server 19:01:16.027603 'A003 LOGOUT\r\n' 19:01:16.027859 Received DATA (on stdin) 19:01:16.027876 > 36 bytes data, server => client 19:01:16.027889 '* BYE curl IMAP server signing off\r\n' 19:01:16.027916 Received DATA (on stdin) 19:01:16.027931 > 26 bytes data, server => client 19:01:16.027943 'A003 OK LOGOUT completed\r\n' 19:01:16.028903 ====> Client disconnect 19:01:16.029086 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 ==120514== ==120514== Process terminating with default action of signal 4 (SIGILL) ==120514== Illegal opcode at address 0x4013E00 ==120514== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120514== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120514== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120514== by 0x40037A4: main (tool_main.c:199) === End of file valgrind833 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/21/valgrind831 ../src/curl -q --output log/21/curl831.out --include --trace-ascii log/21/trace831 --trace-time 'imap://127.0.0.1:44099/831/;MAILINDEX=1' -u testuser:testpass > log/21/stdout831 2> log/21/stderr831 831: 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 831 === Start ofCMD (33792): ../libtool --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/valgrind834 ../src/curl -q --output log/8/curl834.out --include --trace-ascii log/8/trace834 --trace-time 'imap://127.0.0.1:42493/834/;MAILINDEX=1' -u user:secret > log/8/stdout834 2> log/8/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/15/valgrind839 ../src/curl -q --output log/15/curl839.out --include --trace-ascii log/15/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42563/839/;MAILINDEX=1' > log/15/stdout839 2> log/15/stderr839 file commands.log ../libtool --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/valgrind831 ../src/curl -q --output log/21/curl831.out --include --trace-ascii log/21/trace831 --trace-time 'imap://127.0.0.1:44099/831/;MAILINDEX=1' -u testuser:testpass > log/21/stdout831 2> log/21/stderr831 === End of file commands.log === Start of file imap_server.log 19:01:16.211838 ====> Client connect 19:01:16.212067 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.212450 < "A001 CAPABILITY" 19:01:16.212497 > "A001 BAD Command[CR][LF]" 19:01:16.212716 < "A002 LIST "verifiedserver" *" 19:01:16.212754 LIST_imap got "verifiedserver" * 19:01:16.212785 > "* LIST () "/" "WE ROOLZ: 118602"[CR][LF]" 19:01:16.212807 > "A002 OK LIST Completed[CR][LF]" 19:01:16.212823 return proof we are we 19:01:16.256116 < "A003 LOGOUT" 19:01:16.256173 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.256193 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.257218 MAIN sockfilt said DISC 19:01:16.257257 ====> Client disconnected 19:01:16.257332 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.983106 ====> Client connect 19:01:16.984153 Received DATA (on stdin) 19:01:16.984177 > 178 bytes data, server => client 19:01:16.984192 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.984205 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.984217 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.984228 'rve\r\n' 19:01:16.984318 < 17 bytes data, client => server 19:01:16.984338 'A001 CAPABILITY\r\n' 19:01:16.984561 Received DATA (on stdin) 19:01:16.984578 > 18 bytes data, server => client 19:01:16.984592 'A001 BAD Command\r\n' 19:01:16.984656 < 30 bytes data, client => server 19:01:16.984674 'A002 LIST "verifiedserver" *\r\n' 19:01:16.984883 Received DATA (on stdin) 19:01:16.984898 > 34 bytes data, server => client 19:01:16.984911 '* LIST () "/" "WE ROOLZ: 118602"\r\n' 19:01:16.984935 Received DATA (on stdin) 19:01:16.984947 > 24 bytes data, server => client 19:01:16.984959 'A002 OK LIST Completed\r\n' 19:01:17.027988 < 13 bytes data, client => server 19:01:17.028015 'A003 LOGOUT\r\n' 19:01:17.028253 Received DATA (on stdin) 19:01:17.028266 > 36 bytes data, server => client 19:01:17.028279 '* BYE curl IMAP server signing off\r\n' 19:01:17.028301 Received DATA (on stdin) 19:01:17.028312 > 26 bytes data, server => client 19:01:17.028324 'A003 OK LOGOUT completed\r\n' 19:01:17.029207 ====> Client disconnect 19:01:17.029392 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 ==120512== ==120512== Process terminating with default action of signal 4 (SIGILL) ==120512== Illegal opcode at address 0x4013E00 ==120512== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120512== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120512== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120512== by 0x40037A4: main (tool_main.c:199) === End of file valgrind831 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/8/valgrind834 ../src/curl -q --output log/8/curl834.out --include --trace-ascii log/8/trace834 --trace-time 'imap://127.0.0.1:42493/834/;MAILINDEX=1' -u user:secret > log/8/stdout834 2> log/8/stderr834 834: 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 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/8/valgrind834 ../src/curl -q --output log/8/curl834.out --include --trace-ascii log/8/trace834 --trace-time 'imap://127.0.0.1:42493/834/;MAILINDEX=1' -u user:secret > log/8/stdout834 2> log/8/stderr834 === End of file commands.log === Start of file imap_server.log 19:01:16.218317 ====> Client connect 19:01:16.218459 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.218731 < "A001 CAPABILITY" 19:01:16.218773 > "A001 BAD Command[CR][LF]" 19:01:16.218938 < "A002 LIST "verifiedserver" *" 19:01:16.218967 LIST_imap got "verifiedserver" * 19:01:16.218989 > "* LIST () "/" "WE ROOLZ: 118620"[CR][LF]" 19:01:16.219005 > "A002 OK LIST Completed[CR][LF]" 19:01:16.219017 return proof we are we 19:01:16.264178 < "A003 LOGOUT" 19:01:16.264237 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.264258 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.264691 MAIN sockfilt said DISC 19:01:16.264735 ====> Client disconnected 19:01:16.264799 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.990285 ====> Client connect 19:01:16.990525 Received DATA (on stdin) 19:01:16.990538 > 178 bytes data, server => client 19:01:16.990548 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.990557 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.990566 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.990574 'rve\r\n' 19:01:16.990639 < 17 bytes data, client => server 19:01:16.990650 'A001 CAPABILITY\r\n' 19:01:16.990829 Received DATA (on stdin) 19:01:16.990841 > 18 bytes data, server => client 19:01:16.990850 'A001 BAD Command\r\n' 19:01:16.990901 < 30 bytes data, client => server 19:01:16.990912 'A002 LIST "verifiedserver" *\r\n' 19:01:16.991070 Received DATA (on stdin) 19:01:16.991080 > 34 bytes data, server => client 19:01:16.991090 '* LIST () "/" "WE ROOLZ: 118620"\r\n' 19:01:16.991110 Received DATA (on stdin) 19:01:16.991121 > 24 bytes data, server => client 19:01:16.991132 'A002 OK LIST Completed\r\n' 19:01:17.034255 < 13 bytes data, client => server 19:01:17.034277 'A003 LOGOUT\r\n' 19:01:17.036323 Received DATA (on stdin) 19:01:17.036340 > 36 bytes data, server => client 19:01:17.036353 '* BYE curl IMAP server signing off\r\n' 19:01:17.036381 Received DATA (on stdin) 19:01:17.036392 > 26 bytes data, server => client 19:01:17.036403 'A003 OK LOGOUT completed\r\n' 19:01:17.036672 ====> Client disconnect 19:01:17.036863 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 ==120536== ==120536== Process terminating with default action of signal 4 (SIGILL) ==120536== Illegal opcode at address 0x4013E00 ==120536== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120536== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120536== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120536== by 0x40037A4: main (tool_main.c:199) === End of file valgrind834 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/15/valgrind839 ../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/17/valgrind838 ../src/curl -q --output log/17/curl838.out --include --trace-ascii log/17/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:34359/838/;MAILINDEX=1' > log/17/stdout838 2> log/17/stderr838 CMD (33792): ../libtool --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/valgrind840 ../src/curl -q --output log/1/curl840.out --include --trace-ascii log/1/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:34857/840/;MAILINDEX=1' > log/1/stdout840 2> log/1/stderr840 t log/15/curl839.out --include --trace-ascii log/15/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42563/839/;MAILINDEX=1' > log/15/stdout839 2> log/15/stderr839 839: 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 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/15/valgrind839 ../src/curl -q --output log/15/curl839.out --include --trace-ascii log/15/trace839 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:42563/839/;MAILINDEX=1' > log/15/stdout839 2> log/15/stderr839 === End of file commands.log === Start of file imap_server.log 19:01:16.232040 ====> Client connect 19:01:16.232212 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.232561 < "A001 CAPABILITY" 19:01:16.232606 > "A001 BAD Command[CR][LF]" 19:01:16.232799 < "A002 LIST "verifiedserver" *" 19:01:16.232831 LIST_imap got "verifiedserver" * 19:01:16.232858 > "* LIST () "/" "WE ROOLZ: 118622"[CR][LF]" 19:01:16.232879 > "A002 OK LIST Completed[CR][LF]" 19:01:16.232894 return proof we are we 19:01:16.280627 < "A003 LOGOUT" 19:01:16.280676 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.280694 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.281615 MAIN sockfilt said DISC 19:01:16.281653 ====> Client disconnected 19:01:16.281720 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:17.003998 ====> Client connect 19:01:17.004284 Received DATA (on stdin) 19:01:17.004301 > 178 bytes data, server => client 19:01:17.004314 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:17.004327 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:17.004338 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:17.004348 'rve\r\n' 19:01:17.004423 < 17 bytes data, client => server 19:01:17.004436 'A001 CAPABILITY\r\n' 19:01:17.004667 Received DATA (on stdin) 19:01:17.004681 > 18 bytes data, server => client 19:01:17.004693 'A001 BAD Command\r\n' 19:01:17.004751 < 30 bytes data, client => server 19:01:17.004764 'A002 LIST "verifiedserver" *\r\n' 19:01:17.004951 Received DATA (on stdin) 19:01:17.004964 > 34 bytes data, server => client 19:01:17.004977 '* LIST () "/" "WE ROOLZ: 118622"\r\n' 19:01:17.004998 Received DATA (on stdin) 19:01:17.005010 > 24 bytes data, server => client 19:01:17.005021 'A002 OK LIST Completed\r\n' 19:01:17.052507 < 13 bytes data, client => server 19:01:17.052533 'A003 LOGOUT\r\n' 19:01:17.052752 Received DATA (on stdin) 19:01:17.052765 > 36 bytes data, server => client 19:01:17.052775 '* BYE curl IMAP server signing off\r\n' 19:01:17.052795 Received DATA (on stdin) 19:01:17.052804 > 26 bytes data, server => client 19:01:17.052814 'A003 OK LOGOUT completed\r\n' 19:01:17.053605 ====> Client disconnect 19:01:17.057536 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 ==120624== ==120624== Process terminating with default action of signal 4 (SIGILL) ==120624== Illegal opcode at address 0x4013E00 ==120624== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120624== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120624== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120624== by 0x40037A4: 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/17/valgrind838 ../src/curl -q --output log/17/curl838.out --include --trace-ascii log/17/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:34359/838/;MAILINDEX=1' > log/17/stdout838 2> log/17/stderr838 838: 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 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/17/valgrind838 ../src/curl -q --output log/17/curl838.out --include --trace-ascii log/17/trace838 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:34359/838/;MAILINDEX=1' > log/17/stdout838 2> log/17/stderr838 === End of file commands.log === Start of file imap_server.log 19:01:16.226898 ====> Client connect 19:01:16.227118 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.227490 < "A001 CAPABILITY" 19:01:16.227549 > "A001 BAD Command[CR][LF]" 19:01:16.227781 < "A002 LIST "verifiedserver" *" 19:01:16.227817 LIST_imap got "verifiedserver" * 19:01:16.227847 > "* LIST () "/" "WE ROOLZ: 118621"[CR][LF]" 19:01:16.227868 > "A002 OK LIST Completed[CR][LF]" 19:01:16.227885 return proof we are we 19:01:16.272483 < "A003 LOGOUT" 19:01:16.272530 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.272548 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.273006 MAIN sockfilt said DISC 19:01:16.273045 ====> Client disconnected 19:01:16.273114 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.998843 ====> Client connect 19:01:16.999166 Received DATA (on stdin) 19:01:16.999198 > 178 bytes data, server => client 19:01:16.999213 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.999226 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.999239 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.999249 'rve\r\n' 19:01:16.999344 < 17 bytes data, client => server 19:01:16.999363 'A001 CAPABILITY\r\n' 19:01:16.999619 Received DATA (on stdin) 19:01:16.999637 > 18 bytes data, server => client 19:01:16.999650 'A001 BAD Command\r\n' 19:01:16.999719 < 30 bytes data, client => server 19:01:16.999736 'A002 LIST "verifiedserver" *\r\n' 19:01:16.999946 Received DATA (on stdin) 19:01:16.999963 > 34 bytes data, server => client 19:01:16.999976 '* LIST () "/" "WE ROOLZ: 118621"\r\n' 19:01:17.000001 Received DATA (on stdin) 19:01:17.000014 > 24 bytes data, server => client 19:01:17.000026 'A002 OK LIST Completed\r\n' 19:01:17.044374 < 13 bytes data, client => server 19:01:17.044399 'A003 LOGOUT\r\n' 19:01:17.044612 Received DATA (on stdin) 19:01:17.044624 > 36 bytes data, server => client 19:01:17.044634 '* BYE curl IMAP server signing off\r\n' 19:01:17.044653 Received DATA (on stdin) 19:01:17.044662 > 26 bytes data, server => client 19:01:17.044671 'A003 OK LOGOUT completed\r\n' 19:01:17.045002 ====> Client disconnect 19:01:17.045097 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 ==120578== ==120578== Process terminating with default action of signal 4 (SIGILL) ==120578== Illegal opcode at address 0x4013E00 ==120578== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120578== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120578== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120578== by 0x40037A4: main (tool_main.c:199) === End of file valgrind838 test 0840...[IMAP external authentication with initial response without credentials] ../libtool --mode=execute /usr/bin/valgrind --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/20/valgrind837 ../src/curl -q --output log/20/curl837.out --include --trace-ascii log/20/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:41105/837/;MAILINDEX=1' > log/20/stdout837 2> log/20/stderr837 l=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind840 ../src/curl -q --output log/1/curl840.out --include --trace-ascii log/1/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:34857/840/;MAILINDEX=1' > log/1/stdout840 2> log/1/stderr840 840: 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 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/1/valgrind840 ../src/curl -q --output log/1/curl840.out --include --trace-ascii log/1/trace840 --trace-time 'imap://;AUTH=EXTERNAL@127.0.0.1:34857/840/;MAILINDEX=1' > log/1/stdout840 2> log/1/stderr840 === End of file commands.log === Start of file imap_server.log 19:01:16.231019 ====> Client connect 19:01:16.231152 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.231415 < "A001 CAPABILITY" 19:01:16.231452 > "A001 BAD Command[CR][LF]" 19:01:16.231604 < "A002 LIST "verifiedserver" *" 19:01:16.231631 LIST_imap got "verifiedserver" * 19:01:16.231653 > "* LIST () "/" "WE ROOLZ: 118619"[CR][LF]" 19:01:16.231668 > "A002 OK LIST Completed[CR][LF]" 19:01:16.231681 return proof we are we 19:01:16.274187 < "A003 LOGOUT" 19:01:16.274242 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.274264 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.275348 MAIN sockfilt said DISC 19:01:16.275476 ====> Client disconnected 19:01:16.275551 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:17.002989 ====> Client connect 19:01:17.003216 Received DATA (on stdin) 19:01:17.003229 > 178 bytes data, server => client 19:01:17.003239 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:17.003248 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:17.003256 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:17.003264 'rve\r\n' 19:01:17.003324 < 17 bytes data, client => server 19:01:17.003334 'A001 CAPABILITY\r\n' 19:01:17.003509 Received DATA (on stdin) 19:01:17.003520 > 18 bytes data, server => client 19:01:17.003529 'A001 BAD Command\r\n' 19:01:17.003574 < 30 bytes data, client => server 19:01:17.003583 'A002 LIST "verifiedserver" *\r\n' 19:01:17.003733 Received DATA (on stdin) 19:01:17.003743 > 34 bytes data, server => client 19:01:17.003752 '* LIST () "/" "WE ROOLZ: 118619"\r\n' 19:01:17.003769 Received DATA (on stdin) 19:01:17.003778 > 24 bytes data, server => client 19:01:17.003786 'A002 OK LIST Completed\r\n' 19:01:17.046086 < 13 bytes data, client => server 19:01:17.046110 'A003 LOGOUT\r\n' 19:01:17.046326 Received DATA (on stdin) 19:01:17.046339 > 36 bytes data, server => client 19:01:17.046352 '* BYE curl IMAP server signing off\r\n' 19:01:17.046384 Received DATA (on stdin) 19:01:17.046413 > 26 bytes data, server => client 19:01:17.046425 'A003 OK LOGOUT completed\r\n' 19:01:17.046689 ====> Client disconnect 19:01:17.047472 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 840 === End of file server.cmd === Start of file valgrind840 ==120617== ==120617== Process terminating with default action of signal 4 (SIGILL) ==120617== Illegal opcode at address 0x4013E00 ==120617== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120617== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120617== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120617== by 0x40037A4: main (tool_main.c:199) === End of file valgrind840 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/20/valgrind837 ../src/curl -q --output log/20/curl837.out --include --trace-ascii log/20/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:41105/837/;MAILINDEX=1' > log/20/stdout837 2> log/20/stderr837 837: 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 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/20/valgrind837 ../src/curl -q --output log/20/curl837.out --include --trace-ascii log/20/trace837 --trace-time 'imap://user;AUTH=EXTERNAL@127.0.0.1:41105/837/;MAILINDEX=1' > log/20/stdout837 2> log/20/stderr837 === End of file commands.log === Start of file imap_server.log 19:01:16.224078 ====> Client connect 19:01:16.224246 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.224592 < "A001 CAPABILITY" 19:01:16.224638 > "A001 BAD Command[CR][LF]" 19:01:16.224862 < "A002 LIST "verifiedserver" *" 19:01:16.224903 LIST_imap got "verifiedserver" * 19:01:16.224938 > "* LIST () "/" "WE ROOLZ: 118604"[CR][LF]" 19:01:16.224964 > "A002 OK LIST Completed[CR][LF]" 19:01:16.224981 return proof we are we 19:01:16.269911 < "A003 LOGOUT" 19:01:16.269970 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.269992 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.270619 MAIN sockfilt said DISC 19:01:16.270675 ====> Client disconnected 19:01:16.270750 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.996034 ====> Client connect 19:01:16.996300 Received DATA (on stdin) 19:01:16.996326 > 178 bytes data, server => client 19:01:16.996341 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.996354 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.996367 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.996378 'rve\r\n' 19:01:16.996466 < 17 bytes data, client => server 19:01:16.996486 'A001 CAPABILITY\r\n' 19:01:16.996706 Received DATA (on stdin) 19:01:16.996722 > 18 bytes data, server => client 19:01:16.996735 'A001 BAD Command\r\n' 19:01:16.996796 < 30 bytes data, client => server 19:01:16.996814 'A002 LIST "verifiedserver" *\r\n' 19:01:16.997042 Received DATA (on stdin) 19:01:16.997059 > 34 bytes data, server => client 19:01:16.997072 '* LIST () "/" "WE ROOLZ: 118604"\r\n' 19:01:16.997098 Received DATA (on stdin) 19:01:16.997111 > 24 bytes data, server => client 19:01:16.997124 'A002 OK LIST Completed\r\n' 19:01:17.040892 < 13 bytes data, client => server 19:01:17.040919 'A003 LOGOUT\r\n' 19:01:17.042058 Received DATA (on stdin) 19:01:17.042077 > 36 bytes data, server => client 19:01:17.042090 '* BYE curl IMAP server signing off\r\n' 19:01:17.042128 Received DATA (on stdin) 19:01:17.042139 > 26 bytes data, server => client 19:01:17.042151 'A003 OK LOGOUT completed\r\n' 19:01:17.042578 ====> Client disconnect 19:01:17.043122 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 ==120560== ==120560== Process terminating with default action of signal 4 (SIGILL) ==120560== Illegal opcode at address 0x4013E00 ==120560== at 0x4013E00: getparameter (tool_getparam.c:2846) ==120560== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==120560== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==120560== by 0x40037A4: main (tool_main.c:199) === End of file valgrind837 CMD (33792): ../libtool --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/valgrind844 ../src/curl -q --output log/16/curl844.out --include --trace-ascii log/16/trace844 --trace-time 'imap://127.0.0.1:36049/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/16/stdout844 2> log/16/stderr844 CMD (33792): ../libtool --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/valgrind847 ../src/curl -q --output log/22/curl847.out --include --trace-ascii log/22/trace847 --trace-time 'imap://127.0.0.1:42425/847/;UID=1' -u '"user:sec"ret{' > log/22/stdout847 2> log/22/stderr847 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/16/valgrind844 ../src/curl -q --output log/16/curl844.out --include --trace-ascii log/16/trace844 --trace-time 'imap://127.0.0.1:36049/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/16/stdout844 2> log/16/stderr844 844: 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 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/16/valgrind844 ../src/curl -q --output log/16/curl844.out --include --trace-ascii log/16/trace844 --trace-time 'imap://127.0.0.1:36049/844/;MAILINDEX=1' -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/16/stdout844 2> log/16/stderr844 === End of file commands.log === Start of file imap_server.log 19:01:16.361638 ====> Client connect 19:01:16.361816 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.362150 < "A001 CAPABILITY" 19:01:16.362190 > "A001 BAD Command[CR][LF]" 19:01:16.362376 < "A002 LIST "verifiedserver" *" 19:01:16.362407 LIST_imap got "verifiedserver" * 19:01:16.362433 > "* LIST () "/" "WE ROOLZ: 118684"[CR][LF]" 19:01:16.362452 > "A002 OK LIST Completed[CR][LF]" 19:01:16.362467 return proof we are we 19:01:16.405740 < "A003 LOGOUT" 19:01:16.405801 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.405822 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.410203 MAIN sockfilt said DISC 19:01:16.410243 ====> Client disconnected 19:01:16.410308 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.133590 ====> Client connect 19:01:16.133886 Received DATA (on stdin) 19:01:16.133902 > 178 bytes data, server => client 19:01:16.133916 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.133929 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.133941 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.133951 'rve\r\n' 19:01:16.134026 < 17 bytes data, client => server 19:01:16.134040 'A001 CAPABILITY\r\n' 19:01:16.134251 Received DATA (on stdin) 19:01:16.134265 > 18 bytes data, server => client 19:01:16.134277 'A001 BAD Command\r\n' 19:01:16.134334 < 30 bytes data, client => server 19:01:16.134348 'A002 LIST "verifiedserver" *\r\n' 19:01:16.134524 Received DATA (on stdin) 19:01:16.134537 > 34 bytes data, server => client 19:01:16.134548 '* LIST () "/" "WE ROOLZ: 118684"\r\n' 19:01:16.134570 Received DATA (on stdin) 19:01:16.134581 > 24 bytes data, server => client 19:01:16.134593 'A002 OK LIST Completed\r\n' 19:01:16.177608 < 13 bytes data, client => server 19:01:16.177639 'A003 LOGOUT\r\n' 19:01:16.177881 Received DATA (on stdin) 19:01:16.177895 > 36 bytes data, server => client 19:01:16.177907 '* BYE curl IMAP server signing off\r\n' 19:01:16.177930 Received DATA (on stdin) 19:01:16.177941 > 26 bytes data, server => client 19:01:16.177953 'A003 OK LOGOUT completed\r\n' 19:01:16.181642 ====> Client disconnect 19:01:16.182367 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTHENTICATE + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzYwNDkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= A002 NO Authentication failed Testnum 844 === End of file server.cmd === Start of file valgrind844 ==121202== ==121202== Process terminating with default action of signal 4 (SIGILL) ==121202== Illegal opcode at address 0x4013E00 ==121202== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121202== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121202== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121202== by 0x40037A4: main (tool_main.c:199) === End of file valgrind844 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/22/valgrind847 ../src/curl -q --output log/22/curl847.out --include --trace-ascii log/22/trace847 --trace-time 'imap://127.0.0.1:42425/847/;UID=1' -u '"user:sec"ret{' > log/22/stdout847 2> log/22/stderr847 847: 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 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/22/valgrind847 ../src/curl -q --output log/22/curl847.out --include --trace-ascii log/22/trace847 --trace-time 'imap://127.0.0.1:42425/847/;UID=1' -u '"user:sec"ret{' > log/22/stdout847 2> log/22/stderr847 === End of file commands.log === Start of file imap_server.log 19:01:16.449154 ====> Client connect 19:01:16.449311 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.449631 < "A001 CAPABILITY" 19:01:16.449668 > "A001 BAD Command[CR][LF]" 19:01:16.449850 < "A002 LIST "verifiedserver" *" 19:01:16.449878 LIST_imap got "verifiedserver" * 19:01:16.449904 > "* LIST () "/" "WE ROOLZ: 118557"[CR][LF]" 19:01:16.449923 > "A002 OK LIST Completed[CR][LF]" 19:01:16.449938 return proof we are we 19:01:16.495796 < "A003 LOGOUT" 19:01:16.495856 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.495876 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.497283 MAIN sockfilt said DISC 19:01:16.497326 ====> Client disconnected 19:01:16.497410 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.221095 ====> Client connect 19:01:16.221386 Received DATA (on stdin) 19:01:16.221404 > 178 bytes data, server => client 19:01:16.221418 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.221431 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.221443 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.221454 'rve\r\n' 19:01:16.221534 < 17 bytes data, client => server 19:01:16.221550 'A001 CAPABILITY\r\n' 19:01:16.221729 Received DATA (on stdin) 19:01:16.221743 > 18 bytes data, server => client 19:01:16.221755 'A001 BAD Command\r\n' 19:01:16.221815 < 30 bytes data, client => server 19:01:16.221829 'A002 LIST "verifiedserver" *\r\n' 19:01:16.221995 Received DATA (on stdin) 19:01:16.222008 > 34 bytes data, server => client 19:01:16.222021 '* LIST () "/" "WE ROOLZ: 118557"\r\n' 19:01:16.222043 Received DATA (on stdin) 19:01:16.222054 > 24 bytes data, server => client 19:01:16.222066 'A002 OK LIST Completed\r\n' 19:01:16.267603 < 13 bytes data, client => server 19:01:16.267639 'A003 LOGOUT\r\n' 19:01:16.267939 Received DATA (on stdin) 19:01:16.267954 > 36 bytes data, server => client 19:01:16.267965 '* BYE curl IMAP server signing off\r\n' 19:01:16.267990 Received DATA (on stdin) 19:01:16.268001 > 26 bytes data, server => client 19:01:16.268012 'A003 OK LOGOUT completed\r\n' 19:01:16.269271 ====> Client disconnect 19:01:16.269469 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 ==121237== ==121237== Process terminating with default action of signal 4 (SIGILL) ==121237== Illegal opcode at address 0x4013E00 ==121237== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121237== by 0x40037A4: UnknownInlinedFun (tool_getparCMD (33792): ../libtool --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/valgrind846 ../src/curl -q --output log/11/curl846.out --include --trace-ascii log/11/trace846 --trace-time 'imap://127.0.0.1:40695/846/;MAILINDEX=1' -u notused:still-provided > log/11/stdout846 2> log/11/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/24/valgrind848 ../src/curl -q --output log/24/curl848.out --include --trace-ascii log/24/trace848 --trace-time 'imap://127.0.0.1:43741/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/24/stdout848 2> log/24/stderr848 am.c:3029) ==121237== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121237== by 0x40037A4: main (tool_main.c:199) === End of file valgrind847 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/11/valgrind846 ../src/curl -q --output log/11/curl846.out --include --trace-ascii log/11/trace846 --trace-time 'imap://127.0.0.1:40695/846/;MAILINDEX=1' -u notused:still-provided > log/11/stdout846 2> log/11/stderr846 846: 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 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/11/valgrind846 ../src/curl -q --output log/11/curl846.out --include --trace-ascii log/11/trace846 --trace-time 'imap://127.0.0.1:40695/846/;MAILINDEX=1' -u notused:still-provided > log/11/stdout846 2> log/11/stderr846 === End of file commands.log === Start of file imap_server.log 19:01:16.430903 ====> Client connect 19:01:16.431038 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.431311 < "A001 CAPABILITY" 19:01:16.431343 > "A001 BAD Command[CR][LF]" 19:01:16.431506 < "A002 LIST "verifiedserver" *" 19:01:16.431531 LIST_imap got "verifiedserver" * 19:01:16.431556 > "* LIST () "/" "WE ROOLZ: 118555"[CR][LF]" 19:01:16.431574 > "A002 OK LIST Completed[CR][LF]" 19:01:16.431587 return proof we are we 19:01:16.480773 < "A003 LOGOUT" 19:01:16.480845 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.480868 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.483054 MAIN sockfilt said DISC 19:01:16.483110 ====> Client disconnected 19:01:16.483191 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.202855 ====> Client connect 19:01:16.203104 Received DATA (on stdin) 19:01:16.203118 > 178 bytes data, server => client 19:01:16.203131 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.203142 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.203153 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.203163 'rve\r\n' 19:01:16.203235 < 17 bytes data, client => server 19:01:16.203247 'A001 CAPABILITY\r\n' 19:01:16.203401 Received DATA (on stdin) 19:01:16.203413 > 18 bytes data, server => client 19:01:16.203424 'A001 BAD Command\r\n' 19:01:16.203475 < 30 bytes data, client => server 19:01:16.203487 'A002 LIST "verifiedserver" *\r\n' 19:01:16.204108 Received DATA (on stdin) 19:01:16.204126 > 34 bytes data, server => client 19:01:16.204138 '* LIST () "/" "WE ROOLZ: 118555"\r\n' 19:01:16.204161 Received DATA (on stdin) 19:01:16.204171 > 24 bytes data, server => client 19:01:16.204182 'A002 OK LIST Completed\r\n' 19:01:16.252532 < 13 bytes data, client => server 19:01:16.252591 'A003 LOGOUT\r\n' 19:01:16.252930 Received DATA (on stdin) 19:01:16.252945 > 36 bytes data, server => client 19:01:16.252958 '* BYE curl IMAP server signing off\r\n' 19:01:16.252983 Received DATA (on stdin) 19:01:16.252994 > 26 bytes data, server => client 19:01:16.253005 'A003 OK LOGOUT completed\r\n' 19:01:16.254112 ====> Client disconnect 19:01:16.255251 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 ==121284== ==121284== Process terminating with default action of signal 4 (SIGILL) ==121284== Illegal opcode at address 0x4013E00 ==121284== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121284== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121284== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121284== by 0x40037A4: main (tool_main.c:199) === End of file valgrind846 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/24/valgrind848 ../src/curl -q --output log/24/curl848.out --include --trace-ascii log/24/trace848 --trace-time 'imap://127.0.0.1:43741/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/24/stdout848 2> log/24/stderr848 848: 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 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/24/valgrind848 ../src/curl -q --output log/24/curl848.out --include --trace-ascii log/24/trace848 --trace-time 'imap://127.0.0.1:43741/848/;MAILINDEX=1' -u user:secret --sasl-authzid shared-mailbox > log/24/stdout848 2> log/24/stderr848 === End of file commands.log === Start of file imap_server.log 19:01:16.574019 ====> Client connect 19:01:16.574183 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.574515 < "A001 CAPABILITY" 19:01:16.574556 > "A001 BAD Command[CR][LF]" 19:01:16.574748 < "A002 LIST "verifiedserver" *" 19:01:16.574778 LIST_imap got "verifiedserver" * 19:01:16.574803 > "* LIST () "/" "WE ROOLZ: 118832"[CR][LF]" 19:01:16.574824 > "A002 OK LIST Completed[CR][LF]" 19:01:16.574838 return proof we are we 19:01:16.616679 < "A003 LOGOUT" 19:01:16.616743 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.616764 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.618079 MAIN sockfilt said DISC 19:01:16.618110 ====> Client disconnected 19:01:16.618180 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.345964 ====> Client connect 19:01:16.346253 Received DATA (on stdin) 19:01:16.346268 > 178 bytes data, server => client 19:01:16.346282 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.346294 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.346306 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.346316 'rve\r\n' 19:01:16.346397 < 17 bytes data, client => server 19:01:16.346414 'A001 CAPABILITY\r\n' 19:01:16.346618 Received DATA (on stdin) 19:01:16.346633 > 18 bytes data, server => client 19:01:16.346645 'A001 BAD Command\r\n' 19:01:16.346706 < 30 bytes data, client => server 19:01:16.346721 'A002 LIST "verifiedserver" *\r\n' 19:01:16.346896 Received DATA (on stdin) 19:01:16.346910 > 34 bytes data, server => client 19:01:16.346922 '* LIST () "/" "WE ROOLZ: 118832"\r\n' 19:01:16.346946 Received DATA (on stdin) 19:01:16.346958 > 24 bytes data, server => client 19:01:16.346969 'A002 OK LIST Completed\r\n' 19:01:16.388531 < 13 bytes data, client => server 19:01:16.388560 'A003 LOGOUT\r\n' 19:01:16.388824 Received DATA (on stdin) 19:01:16.388837 > 36 bytes data, server => client 19:01:16.388849 '* BYE curl IMAP server signing off\r\n' 19:01:16.388870 Received DATA (on stdin) 19:01:16.388882 > 26 bytes data, server => client 19:01:16.388896 'A003 OK LOGOUT completed\r\n' 19:01:16.389691 ====> Client disconnect 19:01:16.390239 Received ACKD (on stdin) === End of file CMD (33792): ../libtool --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/valgrind849 ../src/curl -q --output log/18/curl849.out --include --trace-ascii log/18/trace849 --trace-time 'imap://127.0.0.1:44573/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/18/stdout849 2> log/18/stderr849 CMD (33792): ../libtool --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/valgrind853 ../src/curl -q --output log/4/curl853.out --include --trace-ascii log/4/trace853 --trace-time pop3://127.0.0.1:43099/ -u user:secret > log/4/stdout853 2> log/4/stderr853 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 ==121392== ==121392== Process terminating with default action of signal 4 (SIGILL) ==121392== Illegal opcode at address 0x4013E00 ==121392== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121392== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121392== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121392== by 0x40037A4: 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/18/valgrind849 ../src/curl -q --output log/18/curl849.out --include --trace-ascii log/18/trace849 --trace-time 'imap://127.0.0.1:44573/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/18/stdout849 2> log/18/stderr849 849: 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 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/18/valgrind849 ../src/curl -q --output log/18/curl849.out --include --trace-ascii log/18/trace849 --trace-time 'imap://127.0.0.1:44573/849/;MAILINDEX=1' -u kurt:xipj3plmq --sasl-authzid ursel > log/18/stdout849 2> log/18/stderr849 === End of file commands.log === Start of file imap_server.log 19:01:16.649827 ====> Client connect 19:01:16.649979 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:16.650269 < "A001 CAPABILITY" 19:01:16.650304 > "A001 BAD Command[CR][LF]" 19:01:16.650471 < "A002 LIST "verifiedserver" *" 19:01:16.650496 LIST_imap got "verifiedserver" * 19:01:16.650520 > "* LIST () "/" "WE ROOLZ: 118568"[CR][LF]" 19:01:16.650538 > "A002 OK LIST Completed[CR][LF]" 19:01:16.650553 return proof we are we 19:01:16.692640 < "A003 LOGOUT" 19:01:16.692701 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:16.692720 > "A003 OK LOGOUT completed[CR][LF]" 19:01:16.693692 MAIN sockfilt said DISC 19:01:16.693730 ====> Client disconnected 19:01:16.693808 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:16.421770 ====> Client connect 19:01:16.422048 Received DATA (on stdin) 19:01:16.422063 > 178 bytes data, server => client 19:01:16.422077 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.422090 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.422102 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:16.422112 'rve\r\n' 19:01:16.422188 < 17 bytes data, client => server 19:01:16.422201 'A001 CAPABILITY\r\n' 19:01:16.422363 Received DATA (on stdin) 19:01:16.422376 > 18 bytes data, server => client 19:01:16.422388 'A001 BAD Command\r\n' 19:01:16.422442 < 30 bytes data, client => server 19:01:16.422454 'A002 LIST "verifiedserver" *\r\n' 19:01:16.422609 Received DATA (on stdin) 19:01:16.422621 > 34 bytes data, server => client 19:01:16.422633 '* LIST () "/" "WE ROOLZ: 118568"\r\n' 19:01:16.422654 Received DATA (on stdin) 19:01:16.422666 > 24 bytes data, server => client 19:01:16.422677 'A002 OK LIST Completed\r\n' 19:01:16.464485 < 13 bytes data, client => server 19:01:16.464521 'A003 LOGOUT\r\n' 19:01:16.464780 Received DATA (on stdin) 19:01:16.464795 > 36 bytes data, server => client 19:01:16.464806 '* BYE curl IMAP server signing off\r\n' 19:01:16.464828 Received DATA (on stdin) 19:01:16.464838 > 26 bytes data, server => client 19:01:16.464849 'A003 OK LOGOUT completed\r\n' 19:01:16.465693 ====> Client disconnect 19:01:16.465864 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 ==121403== ==121403== Process terminating with default action of signal 4 (SIGILL) ==121403== Illegal opcode at address 0x4013E00 ==121403== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121403== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121403== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121403== by 0x40037A4: main (tool_main.c:199) === End of file valgrind849 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/4/valgrind853 ../src/curl -q --output log/4/curl853.out --include --trace-ascii log/4/trace853 --trace-time pop3://127.0.0.1:43099/ -u user:secret > log/4/stdout853 2> log/4/stderr853 853: 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 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/4/valgrind853 ../src/curl -q --output log/4/curl853.out --include --trace-ascii log/4/trace853 --trace-time pop3://127.0.0.1:43099/ -u user:secret > log/4/stdout853 2> log/4/stderr853 === End of file commands.log === Start of file pop3_server.log 19:01:17.186848 ====> Client connect 19:01:17.187048 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:17.187427 < "CAPA" 19:01:17.187482 > "-ERR Unrecognized command[CR][LF]" 19:01:17.187703 < "RETR verifiedserver" 19:01:17.187741 return proof we are we 19:01:17.187768 > "+OK Mail transfer starts[CR][LF]" 19:01:17.187791 > "WE ROOLZ: 101960[CR][LF]" 19:01:17.187811 > ".[CR][LF]" 19:01:17.230209 < "QUIT" 19:01:17.230262 > "+OK curl POP3 server signing off[CR][LF]" 19:01:17.231571 MAIN sockfilt said DISC 19:01:17.231615 ====> Client disconnected 19:01:17.231676 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:16.958769 ====> Client connect 19:01:16.959129 Received DATA (on stdin) 19:01:16.959149 > 178 bytes data, server => client 19:01:16.959165 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:16.959179 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:16.959191 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:16.959202 've \r\n' 19:01:16.959299 < 6 bytes data, client => server 19:01:16.959317 'CAPA\r\n' 19:01:16.959548 Received DATA (on stdin) 19:01:16.959563 > 27 bytes data, server => client 19:01:16.959577 '-ERR Unrecognized command\r\n' 19:01:16.959640 < 21 bytes data, client => server 19:01:16.959656 'RETR verifiedserver\r\n' 19:01:16.959871 Received DATA (on stdin) 19:01:16.959886 > 26 bytes data, server => client 19:01:16.959898 '+OK Mail transfer starts\r\n' 19:01:16.959924 Received DATA (on stdin) 19:01:16.959937 > 18 bytes data, server => client 19:01:16.959949 'WE ROOLZ: 101960\r\n' 19:01:16.959964 Received DATA (on stdin) 19:01:16.959975 > 3 bytes data, server => client 19:01:16.959988 '.\r\n' 19:01:17.001236 < 6 bytes data, client => server 19:01:17.001269 'QUIT\r\n' 19:01:17.002307 Received DATA (on stdin) 19:01:17.002338 > 34 bytes data, server => client 19:01:17.002367 '+OK curl POP3 server signing off\r\n' 19:01:17.003566 ====> Client disconnect 19:01:17.003732 Received ACKD (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/10/valgrind850 ../src/curl -q --output log/10/curl850.out --include --trace-ascii log/10/trace850 --trace-time pop3://127.0.0.1:46197/850 -u user:secret > log/10/stdout850 2> log/10/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/5/valgrind741 ../src/curl -q --output log/5/curl741.out --include --trace-ascii log/5/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/5/stdout741 2> log/5/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/3/valgrind851 ../src/curl -q --output log/3/curl851.out --include --trace-ascii log/3/trace851 --trace-time pop3://127.0.0.1:41849/851 -l -u user:secret > log/3/stdout851 2> log/3/stderr851 End of file pop3_sockfilt.log === Start of file server.cmd SLOWDOWN Testnum 853 === End of file server.cmd === Start of file valgrind853 ==121566== ==121566== Process terminating with default action of signal 4 (SIGILL) ==121566== Illegal opcode at address 0x4013E00 ==121566== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121566== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121566== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121566== by 0x40037A4: main (tool_main.c:199) === End of file valgrind853 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 46197 (log/10/server/pop3_server.port) RUN: POP3 server is PID 121440 port 46197 * pid pop3 => 121440 121440 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/10/valgrind850 ../src/curl -q --output log/10/curl850.out --include --trace-ascii log/10/trace850 --trace-time pop3://127.0.0.1:46197/850 -u user:secret > log/10/stdout850 2> log/10/stderr850 850: 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 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/10/valgrind850 ../src/curl -q --output log/10/curl850.out --include --trace-ascii log/10/trace850 --trace-time pop3://127.0.0.1:46197/850 -u user:secret > log/10/stdout850 2> log/10/stderr850 === End of file commands.log === Start of file pop3_server.log 19:01:16.790442 POP3 server listens on port IPv4/46197 19:01:16.790538 logged pid 121440 in log/10/server/pop3_server.pid 19:01:16.790571 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:16.561952 Running IPv4 version 19:01:16.562051 Listening on port 46197 19:01:16.562094 Wrote pid 121494 to log/10/server/pop3_sockfilt.pid 19:01:16.562128 Wrote port 46197 to log/10/server/pop3_server.port 19:01:16.562386 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 ==121655== ==121655== Process terminating with default action of signal 4 (SIGILL) ==121655== Illegal opcode at address 0x4013E00 ==121655== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121655== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121655== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121655== by 0x40037A4: main (tool_main.c:199) === End of file valgrind850 setenv HOME = /startdir/src/build-curl/tests/log/5 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/5/valgrind741 ../src/curl -q --output log/5/curl741.out --include --trace-ascii log/5/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/5/stdout741 2> log/5/stderr741 curl returned 132, when expecting 3 741: exit FAILED == Contents of files in the log/5/ 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/5/valgrind741 ../src/curl -q --output log/5/curl741.out --include --trace-ascii log/5/trace741 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/5/stdout741 2> log/5/stderr741 === End of file commands.log === Start of file http_server.log 19:01:10.839843 ====> Client connect 19:01:10.839874 accept_connection 3 returned 4 19:01:10.839892 accept_connection 3 returned 0 19:01:10.839906 Read 93 bytes 19:01:10.839918 Process 93 bytes request 19:01:10.839932 Got request: GET /verifiedserver HTTP/1.1 19:01:10.839943 Are-we-friendly question received 19:01:10.839967 Wrote request (93 bytes) input to log/5/server.input 19:01:10.839985 Identifying ourselves as friends 19:01:10.840038 Response sent (56 bytes) and written to log/5/server.response 19:01:10.840050 special request received, no persistency 19:01:10.840060 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 57048 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind741 ==115251== ==115251== Process terminating with default action of signal 4 (SIGILL) ==115251== Illegal opcode at address 0x4013E00 ==115251== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115251== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115251== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115251== by 0x40037A4: 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/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 41849 (log/3/server/pop3_server.port) RUN: POP3 server is PID 121511 port 41849 * pid pop3 => 121511 121511 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/3/valgrind851 ../src/curl -q --output log/3/curl851.out --include --trace-ascii log/3/trace851 --trace-time pop3://127.0.0.1:41849/851 -l -u user:secret > log/3/stdout851 2> log/3/stderr851 851: 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 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/3/valgrind851 ../src/curl -q --output log/3/curl851.out --include --trace-ascii log/3/trace851 --trace-time pop3://127.0.0.1:41849/851 -l -u user:secret > log/3/stdout851 2> log/3/stderr851 === End of file commands.log === Start of file pop3_server.log 19:01:16.883430 POP3 server listens on port IPv4/41849 19:01:16.883531 logged pid 121511 in log/3/server/pop3_server.pid 19:01:16.883571 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:16.654909 Running IPv4 version 19:01:16.655088 Listening on port 41849 19:01:16.655134 Wrote pid 121512 to log/3/server/pop3_sockfilt.pid 19:01:16.655165 Wrote port 41849 to log/3/server/pop3_server.port 19:01:16.655376 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 ofCMD (33792): ../libtool --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/valgrind852 ../src/curl -q --output log/19/curl852.out --include --trace-ascii log/19/trace852 --trace-time pop3://127.0.0.1:41195/852 -l -u user:secret > log/19/stdout852 2> log/19/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/4/valgrind872 ../src/curl -q --output log/4/curl872.out --include --trace-ascii log/4/trace872 --trace-time pop3://127.0.0.1:43099/872 -u user:secret --sasl-ir > log/4/stdout872 2> log/4/stderr872 CMD (33792): ../libtool --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/valgrind860 ../src/curl -q --output log/8/curl860.out --include --trace-ascii log/8/trace860 --trace-time pop3://127.0.0.1:45897 -u user:secret -X NOOP -I > log/8/stdout860 2> log/8/stderr860 CMD (33792): ../libtool --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/valgrind862 ../src/curl -q --output log/17/curl862.out --include --trace-ascii log/17/trace862 --trace-time pop3://127.0.0.1:33735 -u user:secret -X 'TOP 862 0' > log/17/stdout862 2> log/17/stderr862 file valgrind851 ==121707== ==121707== Process terminating with default action of signal 4 (SIGILL) ==121707== Illegal opcode at address 0x4013E00 ==121707== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121707== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121707== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121707== by 0x40037A4: main (tool_main.c:199) === End of file valgrind851 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/4/valgrind872 ../src/curl -q --output log/4/curl872.out --include --trace-ascii log/4/trace872 --trace-time pop3://127.0.0.1:43099/872 -u user:secret --sasl-ir > log/4/stdout872 2> log/4/stderr872 872: 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 872 === Start of file commands.log ../libtool --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/valgrind872 ../src/curl -q --output log/4/curl872.out --include --trace-ascii log/4/trace872 --trace-time pop3://127.0.0.1:43099/872 -u user:secret --sasl-ir > log/4/stdout872 2> log/4/stderr872 === End of file commands.log === Start of file pop3_server.log 19:01:18.008811 ====> Client connect 19:01:18.008942 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:18.009134 < "CAPA" 19:01:18.009161 > "-ERR Unrecognized command[CR][LF]" 19:01:18.009284 < "RETR verifiedserver" 19:01:18.009303 return proof we are we 19:01:18.009320 > "+OK Mail transfer starts[CR][LF]" 19:01:18.009333 > "WE ROOLZ: 101960[CR][LF]" 19:01:18.009346 > ".[CR][LF]" 19:01:18.052685 < "QUIT" 19:01:18.052730 > "+OK curl POP3 server signing off[CR][LF]" 19:01:18.053376 MAIN sockfilt said DISC 19:01:18.053397 ====> Client disconnected 19:01:18.053452 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.780782 ====> Client connect 19:01:17.780975 Received DATA (on stdin) 19:01:17.780992 > 178 bytes data, server => client 19:01:17.781004 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:17.781015 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:17.781023 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:17.781030 've \r\n' 19:01:17.781083 < 6 bytes data, client => server 19:01:17.781093 'CAPA\r\n' 19:01:17.781214 Received DATA (on stdin) 19:01:17.781223 > 27 bytes data, server => client 19:01:17.781232 '-ERR Unrecognized command\r\n' 19:01:17.781271 < 21 bytes data, client => server 19:01:17.781280 'RETR verifiedserver\r\n' 19:01:17.781397 Received DATA (on stdin) 19:01:17.781406 > 26 bytes data, server => client 19:01:17.781414 '+OK Mail transfer starts\r\n' 19:01:17.781430 Received DATA (on stdin) 19:01:17.781438 > 18 bytes data, server => client 19:01:17.781446 'WE ROOLZ: 101960\r\n' 19:01:17.781456 Received DATA (on stdin) 19:01:17.781463 > 3 bytes data, server => client 19:01:17.781471 '.\r\n' 19:01:17.824591 < 6 bytes data, client => server 19:01:17.824618 'QUIT\r\n' 19:01:17.824789 Received DATA (on stdin) 19:01:17.824805 > 34 bytes data, server => client 19:01:17.824814 '+OK curl POP3 server signing off\r\n' 19:01:17.825392 ====> Client disconnect 19:01:17.825502 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 ==121775== ==121775== Process terminating with default action of signal 4 (SIGILL) ==121775== Illegal opcode at address 0x4013E00 ==121775== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121775== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121775== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121775== by 0x40037A4: main (tool_main.c:199) === End of file valgrind872 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 41195 (log/19/server/pop3_server.port) RUN: POP3 server is PID 121535 port 41195 * pid pop3 => 121535 121535 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/19/valgrind852 ../src/curl -q --output log/19/curl852.out --include --trace-ascii log/19/trace852 --trace-time pop3://127.0.0.1:41195/852 -l -u user:secret > log/19/stdout852 2> log/19/stderr852 852: 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 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/19/valgrind852 ../src/curl -q --output log/19/curl852.out --include --trace-ascii log/19/trace852 --trace-time pop3://127.0.0.1:41195/852 -l -u user:secret > log/19/stdout852 2> log/19/stderr852 === End of file commands.log === Start of file pop3_server.log 19:01:17.132067 POP3 server listens on port IPv4/41195 19:01:17.132154 logged pid 121535 in log/19/server/pop3_server.pid 19:01:17.132183 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.903777 Running IPv4 version 19:01:17.903913 Listening on port 41195 19:01:17.903957 Wrote pid 121542 to log/19/server/pop3_sockfilt.pid 19:01:17.903989 Wrote port 41195 to log/19/server/pop3_server.port 19:01:17.904014 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 ==121823== ==121823== Process terminating with default action of signal 4 (SIGILL) ==121823== Illegal opcode at address 0x4013E00 ==121823== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121823== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121823== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121823== by 0x40037A4: 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/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 45897 (log/8/server/pop3_server.port) RUN: POP3 server is PID 121622 port 45897 * pid pop3 => 121622 121622 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/8/valgrind860 ../src/curl -q --output log/8/curl860.out --include --trace-ascii log/8/trace860 --trace-time pop3://127.0.0.1:45897 -u user:secret -X NOOP -I > log/8/stdout860 2> log/8/stderr860 860: 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 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 --numCMD (33792): ../libtool --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/valgrind863 ../src/curl -q --output log/1/curl863.out --include --trace-ascii log/1/trace863 --trace-time pop3://127.0.0.1:38873 -u user:secret -X RSET -I > log/1/stdout863 2> log/1/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/9/valgrind854 ../src/curl -q --output log/9/curl854.out --include --trace-ascii log/9/trace854 --trace-time pop3://127.0.0.1:36289/ -u user:secret > log/9/stdout854 2> log/9/stderr854 -callers=16 --log-file=log/8/valgrind860 ../src/curl -q --output log/8/curl860.out --include --trace-ascii log/8/trace860 --trace-time pop3://127.0.0.1:45897 -u user:secret -X NOOP -I > log/8/stdout860 2> log/8/stderr860 === End of file commands.log === Start of file pop3_server.log 19:01:17.411581 POP3 server listens on port IPv4/45897 19:01:17.411648 logged pid 121622 in log/8/server/pop3_server.pid 19:01:17.411672 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.183409 Running IPv4 version 19:01:17.183478 Listening on port 45897 19:01:17.183515 Wrote pid 121633 to log/8/server/pop3_sockfilt.pid 19:01:17.183538 Wrote port 45897 to log/8/server/pop3_server.port 19:01:17.183556 Received PING (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd Testnum 860 === End of file server.cmd === Start of file valgrind860 ==122095== ==122095== Process terminating with default action of signal 4 (SIGILL) ==122095== Illegal opcode at address 0x4013E00 ==122095== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122095== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122095== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122095== by 0x40037A4: 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/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 33735 (log/17/server/pop3_server.port) RUN: POP3 server is PID 121627 port 33735 * pid pop3 => 121627 121627 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/17/valgrind862 ../src/curl -q --output log/17/curl862.out --include --trace-ascii log/17/trace862 --trace-time pop3://127.0.0.1:33735 -u user:secret -X 'TOP 862 0' > log/17/stdout862 2> log/17/stderr862 862: 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 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/17/valgrind862 ../src/curl -q --output log/17/curl862.out --include --trace-ascii log/17/trace862 --trace-time pop3://127.0.0.1:33735 -u user:secret -X 'TOP 862 0' > log/17/stdout862 2> log/17/stderr862 === End of file commands.log === Start of file pop3_server.log 19:01:17.414040 POP3 server listens on port IPv4/33735 19:01:17.414104 logged pid 121627 in log/17/server/pop3_server.pid 19:01:17.414127 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.185890 Running IPv4 version 19:01:17.185946 Listening on port 33735 19:01:17.185978 Wrote pid 121635 to log/17/server/pop3_sockfilt.pid 19:01:17.186002 Wrote port 33735 to log/17/server/pop3_server.port 19:01:17.186018 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 ==122133== ==122133== Process terminating with default action of signal 4 (SIGILL) ==122133== Illegal opcode at address 0x4013E00 ==122133== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122133== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122133== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122133== by 0x40037A4: 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/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 38873 (log/1/server/pop3_server.port) RUN: POP3 server is PID 121625 port 38873 * pid pop3 => 121625 121625 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/1/valgrind863 ../src/curl -q --output log/1/curl863.out --include --trace-ascii log/1/trace863 --trace-time pop3://127.0.0.1:38873 -u user:secret -X RSET -I > log/1/stdout863 2> log/1/stderr863 863: 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 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/1/valgrind863 ../src/curl -q --output log/1/curl863.out --include --trace-ascii log/1/trace863 --trace-time pop3://127.0.0.1:38873 -u user:secret -X RSET -I > log/1/stdout863 2> log/1/stderr863 === End of file commands.log === Start of file pop3_server.log 19:01:17.412493 POP3 server listens on port IPv4/38873 19:01:17.412554 logged pid 121625 in log/1/server/pop3_server.pid 19:01:17.412574 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.184350 Running IPv4 version 19:01:17.184397 Listening on port 38873 19:01:17.184428 Wrote pid 121634 to log/1/server/pop3_sockfilt.pid 19:01:17.184451 Wrote port 38873 to log/1/server/pop3_server.port 19:01:17.184467 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 ==122119== ==122119== Process terminating with default action of signal 4 (SIGILL) ==122119== Illegal opcode at address 0x4013E00 ==122119== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122119== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122119== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122119== by 0x40037A4: 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/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 36289 (log/9/server/pop3_server.port) RUN: POP3 server is PID 121598 port 36289 * pid pop3 => 121598 121598 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/9/valgrind854 ../src/curl -q --output log/9/curl854.out --include --trace-ascii log/9/trace854 --trace-time pop3://127.0.0.1:36289/ -u user:secret > log/9/stdout854 2> log/9/stderr854 854: 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 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/9/valgrind854 ../src/curl -q --output log/9/curl854.out --include --trace-ascii log/9/trace854 --trace-time pop3://127.0.0.1:36289/ -u user:secret > log/9/stdout854 2> log/9/stderr854 === End of file commands.log === Start of file pop3_server.log 19:01:17.358531 POP3 server listens on port IPv4/36289 19:01:17.358614 logged pid 121598 in log/9/server/pop3_server.pid 19:01:17.358643 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.130310 Running IPv4 version 19:01:17.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/7/valgrind855 ../src/curl -q --output log/7/curl855.out --include --trace-ascii log/7/trace855 --trace-time pop3://127.0.0.1:44601/855 -u user:secret > log/7/stdout855 2> log/7/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/12/valgrind856 ../src/curl -q --output log/12/curl856.out --include --trace-ascii log/12/trace856 --trace-time pop3://127.0.0.1:44419/856 -u user:wrong > log/12/stdout856 2> log/12/stderr856 CMD (33792): ../libtool --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/valgrind857 ../src/curl -q --output log/23/curl857.out --include --trace-ascii log/23/trace857 --trace-time pop3://127.0.0.1:45099/857 -u user:secret > log/23/stdout857 2> log/23/stderr857 30400 Listening on port 36289 19:01:17.130439 Wrote pid 121617 to log/9/server/pop3_sockfilt.pid 19:01:17.130470 Wrote port 36289 to log/9/server/pop3_server.port 19:01:17.130490 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 ==121877== ==121877== Process terminating with default action of signal 4 (SIGILL) ==121877== Illegal opcode at address 0x4013E00 ==121877== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121877== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121877== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121877== by 0x40037A4: main (tool_main.c:199) === End of file valgrind854 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 44601 (log/7/server/pop3_server.port) RUN: POP3 server is PID 121612 port 44601 * pid pop3 => 121612 121612 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/7/valgrind855 ../src/curl -q --output log/7/curl855.out --include --trace-ascii log/7/trace855 --trace-time pop3://127.0.0.1:44601/855 -u user:secret > log/7/stdout855 2> log/7/stderr855 855: 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 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/7/valgrind855 ../src/curl -q --output log/7/curl855.out --include --trace-ascii log/7/trace855 --trace-time pop3://127.0.0.1:44601/855 -u user:secret > log/7/stdout855 2> log/7/stderr855 === End of file commands.log === Start of file pop3_server.log 19:01:17.369855 POP3 server listens on port IPv4/44601 19:01:17.369934 logged pid 121612 in log/7/server/pop3_server.pid 19:01:17.369963 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.141538 Running IPv4 version 19:01:17.141619 Listening on port 44601 19:01:17.141660 Wrote pid 121620 to log/7/server/pop3_sockfilt.pid 19:01:17.141690 Wrote port 44601 to log/7/server/pop3_server.port 19:01:17.141827 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 ==121896== ==121896== Process terminating with default action of signal 4 (SIGILL) ==121896== Illegal opcode at address 0x4013E00 ==121896== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121896== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121896== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121896== by 0x40037A4: 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/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 44419 (log/12/server/pop3_server.port) RUN: POP3 server is PID 121613 port 44419 * pid pop3 => 121613 121613 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/12/valgrind856 ../src/curl -q --output log/12/curl856.out --include --trace-ascii log/12/trace856 --trace-time pop3://127.0.0.1:44419/856 -u user:wrong > log/12/stdout856 2> log/12/stderr856 856: 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 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/12/valgrind856 ../src/curl -q --output log/12/curl856.out --include --trace-ascii log/12/trace856 --trace-time pop3://127.0.0.1:44419/856 -u user:wrong > log/12/stdout856 2> log/12/stderr856 === End of file commands.log === Start of file pop3_server.log 19:01:17.371717 POP3 server listens on port IPv4/44419 19:01:17.371818 logged pid 121613 in log/12/server/pop3_server.pid 19:01:17.371846 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.143045 Running IPv4 version 19:01:17.143119 Listening on port 44419 19:01:17.143163 Wrote pid 121621 to log/12/server/pop3_sockfilt.pid 19:01:17.143195 Wrote port 44419 to log/12/server/pop3_server.port 19:01:17.143218 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 ==121899== ==121899== Process terminating with default action of signal 4 (SIGILL) ==121899== Illegal opcode at address 0x4013E00 ==121899== at 0x4013E00: getparameter (tool_getparam.c:2846) ==121899== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121899== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121899== by 0x40037A4: 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/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 45099 (log/23/server/pop3_server.port) RUN: POP3 server is PID 121615 port 45099 * pid pop3 => 121615 121615 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/23/valgrind857 ../src/curl -q --output log/23/curl857.out --include --trace-ascii log/23/trace857 --trace-time pop3://127.0.0.1:45099/857 -u user:secret > log/23/stdout857 2> log/23/stderr857 857: 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 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/23/valgrind857 ../src/curl -q --output log/23/curl857.out --include --trace-ascii log/23/trace857 --trace-time pop3://127.0.0.1:45099/857 -u user:secret > log/23/stdout857 2> log/23/stderr857 === End of file commands.log === Start of file pop3_server.log 19:01:17.379682 POP3 server listens on port IPv4/45099 19:01:17.379782 logged pid 121615 in log/23/server/pop3_server.pid 19:01:17.379817 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.151438 Running IPv4 version 19:01:17.151516 Listening on port 45099 19:01:17.151557 Wrote pid 121624 to log/23/server/pop3_sockfilt.pid 19:01:17.151590 Wrote port 45099 to log/23/server/pop3_server.port 19:01:17.151615 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 ==121943== ==121943== Process terminating with default action of signal 4 (SIGILL) ==121943== Illegal opcode at address 0x4013E00 ==121943== at 0x4013ECMD (33792): ../libtool --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/valgrind858 ../src/curl -q --output log/14/curl858.out --include --trace-ascii log/14/trace858 --trace-time pop3://127.0.0.1:40941/858 -u user:secret -X DELE -I > log/14/stdout858 2> log/14/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/20/valgrind864 ../src/curl -q --output log/20/curl864.out --include --trace-ascii log/20/trace864 --trace-time pop3://127.0.0.1:33047/864 -u user:secret > log/20/stdout864 2> log/20/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/15/valgrind861 ../src/curl -q --output log/15/curl861.out --include --trace-ascii log/15/trace861 --trace-time pop3://127.0.0.1:44873 -u user:secret -X UIDL > log/15/stdout861 2> log/15/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/21/valgrind859 ../src/curl -q --output log/21/curl859.out --include --trace-ascii log/21/trace859 --trace-time pop3://127.0.0.1:45677 -u user:secret -X STAT -I > log/21/stdout859 2> log/21/stderr859 00: getparameter (tool_getparam.c:2846) ==121943== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==121943== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==121943== by 0x40037A4: 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/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 40941 (log/14/server/pop3_server.port) RUN: POP3 server is PID 121618 port 40941 * pid pop3 => 121618 121618 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/14/valgrind858 ../src/curl -q --output log/14/curl858.out --include --trace-ascii log/14/trace858 --trace-time pop3://127.0.0.1:40941/858 -u user:secret -X DELE -I > log/14/stdout858 2> log/14/stderr858 858: 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 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/14/valgrind858 ../src/curl -q --output log/14/curl858.out --include --trace-ascii log/14/trace858 --trace-time pop3://127.0.0.1:40941/858 -u user:secret -X DELE -I > log/14/stdout858 2> log/14/stderr858 === End of file commands.log === Start of file pop3_server.log 19:01:17.401494 POP3 server listens on port IPv4/40941 19:01:17.401589 logged pid 121618 in log/14/server/pop3_server.pid 19:01:17.401623 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.173140 Running IPv4 version 19:01:17.173223 Listening on port 40941 19:01:17.173267 Wrote pid 121631 to log/14/server/pop3_sockfilt.pid 19:01:17.173300 Wrote port 40941 to log/14/server/pop3_server.port 19:01:17.173451 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 ==122062== ==122062== Process terminating with default action of signal 4 (SIGILL) ==122062== Illegal opcode at address 0x4013E00 ==122062== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122062== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122062== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122062== by 0x40037A4: 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/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 44873 (log/15/server/pop3_server.port) RUN: POP3 server is PID 121623 port 44873 * pid pop3 => 121623 121623 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/15/valgrind861 ../src/curl -q --output log/15/curl861.out --include --trace-ascii log/15/trace861 --trace-time pop3://127.0.0.1:44873 -u user:secret -X UIDL > log/15/stdout861 2> log/15/stderr861 861: 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 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/15/valgrind861 ../src/curl -q --output log/15/curl861.out --include --trace-ascii log/15/trace861 --trace-time pop3://127.0.0.1:44873 -u user:secret -X UIDL > log/15/stdout861 2> log/15/stderr861 === End of file commands.log === Start of file pop3_server.log 19:01:17.410063 POP3 server listens on port IPv4/44873 19:01:17.410141 logged pid 121623 in log/15/server/pop3_server.pid 19:01:17.410170 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.181849 Running IPv4 version 19:01:17.181931 Listening on port 44873 19:01:17.181963 Wrote pid 121632 to log/15/server/pop3_sockfilt.pid 19:01:17.181990 Wrote port 44873 to log/15/server/pop3_server.port 19:01:17.182009 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 ==122103== ==122103== Process terminating with default action of signal 4 (SIGILL) ==122103== Illegal opcode at address 0x4013E00 ==122103== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122103== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122103== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122103== by 0x40037A4: 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/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 33047 (log/20/server/pop3_server.port) RUN: POP3 server is PID 121626 port 33047 * pid pop3 => 121626 121626 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/20/valgrind864 ../src/curl -q --output log/20/curl864.out --include --trace-ascii log/20/trace864 --trace-time pop3://127.0.0.1:33047/864 -u user:secret > log/20/stdout864 2> log/20/stderr864 864: 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 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/20/valgrind864 ../src/curl -q --output log/20/curl864.out --include --trace-ascii log/20/trace864 --trace-time pop3://127.0.0.1:33047/864 -u user:secret > log/20/stdout864 2> log/20/stderr864 === End of file commands.log === Start of file pop3_server.log 19:01:17.416039 POP3 server listens on port IPv4/33047 19:01:17.416102 logged pid 121626 in log/20/server/pop3_server.pid 19:01:17.416123 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.187899 Running IPv4 version 19:01:17.187953 Listening on port 33047 19:01:17.187981 Wrote pid 121636 to log/20/server/pop3_sockfilt.pid 19:01:17.188002 Wrote port 33047 to log/20/server/pop3_server.port 19:01:17.188019 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 ==122131== ==122131== Process terminating with default action of signal 4 (SIGILL) ==122131== Illegal opcode at address 0x4013E00 ==122131== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122131== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122131== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122131== by 0x40037A4: 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/21/server/pop3_server.pid" --logfile "log/21/pop3_server.log" --logdir "log/21" --CMD (33792): ../libtool --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/valgrind865 ../src/curl -q --output log/16/curl865.out --include --trace-ascii log/16/trace865 --trace-time pop3://127.0.0.1:43313/865 -u user:secret > log/16/stdout865 2> log/16/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/10/valgrind873 ../src/curl -q --output log/10/curl873.out --include --trace-ascii log/10/trace873 --trace-time pop3://127.0.0.1:46197/873 -u testuser:testpass --sasl-ir > log/10/stdout873 2> log/10/stderr873 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 45677 (log/21/server/pop3_server.port) RUN: POP3 server is PID 121619 port 45677 * pid pop3 => 121619 121619 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/21/valgrind859 ../src/curl -q --output log/21/curl859.out --include --trace-ascii log/21/trace859 --trace-time pop3://127.0.0.1:45677 -u user:secret -X STAT -I > log/21/stdout859 2> log/21/stderr859 859: 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 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/21/valgrind859 ../src/curl -q --output log/21/curl859.out --include --trace-ascii log/21/trace859 --trace-time pop3://127.0.0.1:45677 -u user:secret -X STAT -I > log/21/stdout859 2> log/21/stderr859 === End of file commands.log === Start of file pop3_server.log 19:01:17.400143 POP3 server listens on port IPv4/45677 19:01:17.400214 logged pid 121619 in log/21/server/pop3_server.pid 19:01:17.400242 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.171941 Running IPv4 version 19:01:17.172025 Listening on port 45677 19:01:17.172063 Wrote pid 121630 to log/21/server/pop3_sockfilt.pid 19:01:17.172091 Wrote port 45677 to log/21/server/pop3_server.port 19:01:17.172112 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 ==122065== ==122065== Process terminating with default action of signal 4 (SIGILL) ==122065== Illegal opcode at address 0x4013E00 ==122065== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122065== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122065== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122065== by 0x40037A4: main (tool_main.c:199) === End of file valgrind859 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 43313 (log/16/server/pop3_server.port) RUN: POP3 server is PID 121638 port 43313 * pid pop3 => 121638 121638 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/16/valgrind865 ../src/curl -q --output log/16/curl865.out --include --trace-ascii log/16/trace865 --trace-time pop3://127.0.0.1:43313/865 -u user:secret > log/16/stdout865 2> log/16/stderr865 865: 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 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/16/valgrind865 ../src/curl -q --output log/16/curl865.out --include --trace-ascii log/16/trace865 --trace-time pop3://127.0.0.1:43313/865 -u user:secret > log/16/stdout865 2> log/16/stderr865 === End of file commands.log === Start of file pop3_server.log 19:01:17.509408 POP3 server listens on port IPv4/43313 19:01:17.509501 logged pid 121638 in log/16/server/pop3_server.pid 19:01:17.509533 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.281201 Running IPv4 version 19:01:17.281274 Listening on port 43313 19:01:17.281311 Wrote pid 121641 to log/16/server/pop3_sockfilt.pid 19:01:17.281342 Wrote port 43313 to log/16/server/pop3_server.port 19:01:17.281364 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 ==122447== ==122447== Process terminating with default action of signal 4 (SIGILL) ==122447== Illegal opcode at address 0x4013E00 ==122447== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122447== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122447== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122447== by 0x40037A4: main (tool_main.c:199) === End of file valgrind865 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/10/valgrind873 ../src/curl -q --output log/10/curl873.out --include --trace-ascii log/10/trace873 --trace-time pop3://127.0.0.1:46197/873 -u testuser:testpass --sasl-ir > log/10/stdout873 2> log/10/stderr873 873: 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 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/10/valgrind873 ../src/curl -q --output log/10/curl873.out --include --trace-ascii log/10/trace873 --trace-time pop3://127.0.0.1:46197/873 -u testuser:testpass --sasl-ir > log/10/stdout873 2> log/10/stderr873 === End of file commands.log === Start of file pop3_server.log 19:01:18.423003 ====> Client connect 19:01:18.423192 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:18.423489 < "CAPA" 19:01:18.423524 > "-ERR Unrecognized command[CR][LF]" 19:01:18.423662 < "RETR verifiedserver" 19:01:18.423687 return proof we are we 19:01:18.423703 > "+OK Mail transfer starts[CR][LF]" 19:01:18.423719 > "WE ROOLZ: 121440[CR][LF]" 19:01:18.423732 > ".[CR][LF]" 19:01:18.469164 < "QUIT" 19:01:18.469241 > "+OK curl POP3 server signing off[CR][LF]" 19:01:18.470103 MAIN sockfilt said DISC 19:01:18.470133 ====> Client disconnected 19:01:18.470221 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:18.194945 ====> Client connect 19:01:18.195267 Received DATA (on stdin) 19:01:18.195283 > 178 bytes data, server => client 19:01:18.195296 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:18.195309 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:18.195320 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:18.195330 've \r\n' 19:01:18.195404 < 6 bytes data, client => server 19:01:18.195416 'CAPA\r\n' 19:01:18.195578 Received DATA (on stdin) 19:01:18.195589 > 27 bytes data, server => client 19:01:18.195598 '-ERR Unrecognized command\r\n' 19:01:18.195642 < 21 bytes data, client => server 19:01:18.195651 'RETR verifiedserver\r\n' 19:01:18.195785 Received DATA (on stdin) 19:01:18.195798 > 26 bytes data, server => client 19:01:18.195809 '+OK Mail transfer starts\r\n' 19:01:18.195831 Received DATA (on stdin) 19:01:18.195842 > 18 bytes data, server => client 19:01:18.195853 'WE ROOLZ: 121440\r\n' 19:01:18.195867 Received DATA (on stdin) 19:01:18.195878 > 3 bytes data, server => client 19:01:18.195888 '.\r\n' 19:01:18.240994 < 6 bytes data, client => server 19:01:18.241030 'QUIT\r\n' 19:01:18.241306 Received DATA (on stdin) 19:01:18.241320 > 34 bytes data, server => client 19CMD (33792): ../libtool --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/valgrind866 ../src/curl -q --output log/22/curl866.out --include --trace-ascii log/22/trace866 --trace-time pop3://127.0.0.1:36015/866 -u user:secret > log/22/stdout866 2> log/22/stderr866 CMD (33792): ../libtool --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/valgrind867 ../src/curl -q --output log/11/curl867.out --include --trace-ascii log/11/trace867 --trace-time pop3://127.0.0.1:43065/867 -u user:secret > log/11/stdout867 2> log/11/stderr867 CMD (33792): ../libtool --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/valgrind875 ../src/curl -q --output log/3/curl875.out --include --trace-ascii log/3/trace875 --trace-time pop3://127.0.0.1:41849/%0d%0a/875 > log/3/stdout875 2> log/3/stderr875 :01:18.241333 '+OK curl POP3 server signing off\r\n' 19:01:18.242097 ====> Client disconnect 19:01:18.242282 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 ==122433== ==122433== Process terminating with default action of signal 4 (SIGILL) ==122433== Illegal opcode at address 0x4013E00 ==122433== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122433== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122433== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122433== by 0x40037A4: main (tool_main.c:199) === End of file valgrind873 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 36015 (log/22/server/pop3_server.port) RUN: POP3 server is PID 121639 port 36015 * pid pop3 => 121639 121639 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/22/valgrind866 ../src/curl -q --output log/22/curl866.out --include --trace-ascii log/22/trace866 --trace-time pop3://127.0.0.1:36015/866 -u user:secret > log/22/stdout866 2> log/22/stderr866 866: 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 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/22/valgrind866 ../src/curl -q --output log/22/curl866.out --include --trace-ascii log/22/trace866 --trace-time pop3://127.0.0.1:36015/866 -u user:secret > log/22/stdout866 2> log/22/stderr866 === End of file commands.log === Start of file pop3_server.log 19:01:17.508409 POP3 server listens on port IPv4/36015 19:01:17.508494 logged pid 121639 in log/22/server/pop3_server.pid 19:01:17.508525 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.280244 Running IPv4 version 19:01:17.280310 Listening on port 36015 19:01:17.280341 Wrote pid 121640 to log/22/server/pop3_sockfilt.pid 19:01:17.280364 Wrote port 36015 to log/22/server/pop3_server.port 19:01:17.280383 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 ==122448== ==122448== Process terminating with default action of signal 4 (SIGILL) ==122448== Illegal opcode at address 0x4013E00 ==122448== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122448== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122448== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122448== by 0x40037A4: 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/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 43065 (log/11/server/pop3_server.port) RUN: POP3 server is PID 121642 port 43065 * pid pop3 => 121642 121642 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/11/valgrind867 ../src/curl -q --output log/11/curl867.out --include --trace-ascii log/11/trace867 --trace-time pop3://127.0.0.1:43065/867 -u user:secret > log/11/stdout867 2> log/11/stderr867 867: 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 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/11/valgrind867 ../src/curl -q --output log/11/curl867.out --include --trace-ascii log/11/trace867 --trace-time pop3://127.0.0.1:43065/867 -u user:secret > log/11/stdout867 2> log/11/stderr867 === End of file commands.log === Start of file pop3_server.log 19:01:17.538930 POP3 server listens on port IPv4/43065 19:01:17.538984 logged pid 121642 in log/11/server/pop3_server.pid 19:01:17.539003 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.310753 Running IPv4 version 19:01:17.310842 Listening on port 43065 19:01:17.310874 Wrote pid 121643 to log/11/server/pop3_sockfilt.pid 19:01:17.310897 Wrote port 43065 to log/11/server/pop3_server.port 19:01:17.310912 Received PING (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.cmd === Start of file valgrind867 ==122576== ==122576== Process terminating with default action of signal 4 (SIGILL) ==122576== Illegal opcode at address 0x4013E00 ==122576== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122576== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122576== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122576== by 0x40037A4: main (tool_main.c:199) === End of file valgrind867 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/3/valgrind875 ../src/curl -q --output log/3/curl875.out --include --trace-ascii log/3/trace875 --trace-time pop3://127.0.0.1:41849/%0d%0a/875 > log/3/stdout875 2> log/3/stderr875 curl returned 132, when expecting 3 875: exit FAILED == Contents of files in the log/3/ 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/3/valgrind875 ../src/curl -q --output log/3/curl875.out --include --trace-ascii log/3/trace875 --trace-time pop3://127.0.0.1:41849/%0d%0a/875 > log/3/stdout875 2> log/3/stderr875 === End of file commands.log === Start of file pop3_server.log 19:01:18.559706 ====> Client connect 19:01:18.559893 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:18.560188 < "CAPA" 19:01:18.560233 > "-ERR Unrecognized command[CR][LF]" 19:01:18.560403 < "RETR verifiedserver" 19:01:18.560434 return proof we are we 19:01:18.560456 > "+OK Mail transfer starts[CR][LF]" 19:01:18.560475 > "WE ROOLZ: 121511[CR][LF]" 19:01:18.560493 > ".[CR][LF]" 19:01:18.605562 < "QUIT" 19:01:18.605626 > "+OK curl POP3 server signing off[CR][LF]" 19:01:18.606817 MAIN sockfilt said DISC 19:01:18.606846 ====> Client disconnected 19:01:18.606931 Awaiting input === 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/2/valgrind868 ../src/curl -q --output log/2/curl868.out --include --trace-ascii log/2/trace868 --trace-time pop3://127.0.0.1:39457/868 -u testuser:testpass > log/2/stdout868 2> log/2/stderr868 CMD (33792): ../libtool --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/valgrind871 ../src/curl -q --output log/18/curl871.out --include --trace-ascii log/18/trace871 --trace-time pop3://127.0.0.1:33343/871 -u user:secret --sasl-ir > log/18/stdout871 2> log/18/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/24/valgrind870 ../src/curl -q --output log/24/curl870.out --include --trace-ascii log/24/trace870 --trace-time pop3://127.0.0.1:43103/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/24/stdout870 2> log/24/stderr870 of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:18.331633 ====> Client connect 19:01:18.331961 Received DATA (on stdin) 19:01:18.331975 > 178 bytes data, server => client 19:01:18.331987 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:18.331999 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:18.332009 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:18.332018 've \r\n' 19:01:18.332093 < 6 bytes data, client => server 19:01:18.332105 'CAPA\r\n' 19:01:18.332292 Received DATA (on stdin) 19:01:18.332305 > 27 bytes data, server => client 19:01:18.332317 '-ERR Unrecognized command\r\n' 19:01:18.332370 < 21 bytes data, client => server 19:01:18.332383 'RETR verifiedserver\r\n' 19:01:18.332550 Received DATA (on stdin) 19:01:18.332562 > 26 bytes data, server => client 19:01:18.332574 '+OK Mail transfer starts\r\n' 19:01:18.332596 Received DATA (on stdin) 19:01:18.332612 > 18 bytes data, server => client 19:01:18.332623 'WE ROOLZ: 121511\r\n' 19:01:18.332638 Received DATA (on stdin) 19:01:18.332648 > 3 bytes data, server => client 19:01:18.332659 '.\r\n' 19:01:18.374341 < 6 bytes data, client => server 19:01:18.374373 'QUIT\r\n' 19:01:18.377691 Received DATA (on stdin) 19:01:18.377710 > 34 bytes data, server => client 19:01:18.377722 '+OK curl POP3 server signing off\r\n' 19:01:18.378813 ====> Client disconnect 19:01:18.378989 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 ==122652== ==122652== Process terminating with default action of signal 4 (SIGILL) ==122652== Illegal opcode at address 0x4013E00 ==122652== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122652== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122652== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122652== by 0x40037A4: main (tool_main.c:199) === End of file valgrind875 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/ftpserver.pl --pidfile "log/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 39457 (log/2/server/pop3_server.port) RUN: POP3 server is PID 121644 port 39457 * pid pop3 => 121644 121644 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/2/valgrind868 ../src/curl -q --output log/2/curl868.out --include --trace-ascii log/2/trace868 --trace-time pop3://127.0.0.1:39457/868 -u testuser:testpass > log/2/stdout868 2> log/2/stderr868 868: 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 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/2/valgrind868 ../src/curl -q --output log/2/curl868.out --include --trace-ascii log/2/trace868 --trace-time pop3://127.0.0.1:39457/868 -u testuser:testpass > log/2/stdout868 2> log/2/stderr868 === End of file commands.log === Start of file pop3_server.log 19:01:17.640211 POP3 server listens on port IPv4/39457 19:01:17.640262 logged pid 121644 in log/2/server/pop3_server.pid 19:01:17.640280 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.412076 Running IPv4 version 19:01:17.412128 Listening on port 39457 19:01:17.412157 Wrote pid 121645 to log/2/server/pop3_sockfilt.pid 19:01:17.412180 Wrote port 39457 to log/2/server/pop3_server.port 19:01:17.412194 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 ==122688== ==122688== Process terminating with default action of signal 4 (SIGILL) ==122688== Illegal opcode at address 0x4013E00 ==122688== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122688== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122688== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122688== by 0x40037A4: 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/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 33343 (log/18/server/pop3_server.port) RUN: POP3 server is PID 121647 port 33343 * pid pop3 => 121647 121647 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/18/valgrind871 ../src/curl -q --output log/18/curl871.out --include --trace-ascii log/18/trace871 --trace-time pop3://127.0.0.1:33343/871 -u user:secret --sasl-ir > log/18/stdout871 2> log/18/stderr871 871: 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 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/18/valgrind871 ../src/curl -q --output log/18/curl871.out --include --trace-ascii log/18/trace871 --trace-time pop3://127.0.0.1:33343/871 -u user:secret --sasl-ir > log/18/stdout871 2> log/18/stderr871 === End of file commands.log === Start of file pop3_server.log 19:01:17.670224 POP3 server listens on port IPv4/33343 19:01:17.670276 logged pid 121647 in log/18/server/pop3_server.pid 19:01:17.670294 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.442091 Running IPv4 version 19:01:17.442147 Listening on port 33343 19:01:17.442175 Wrote pid 121650 to log/18/server/pop3_sockfilt.pid 19:01:17.442196 Wrote port 33343 to log/18/server/pop3_server.port 19:01:17.442212 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 ==122717== ==122717== Process terminating with default action of signal 4 (SIGILL) ==122717== Illegal opcode at address 0x4013E00 ==122717== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122717== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122717== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122717== by 0x40037A4: main (tool_main.c:199) === End of file valgrind871 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 43103 (log/24/server/pop3_server.port) RUN: POP3 server is PID 121646 port 43103 * pid pop3 => 121646 121646 test 0870...[POP3 OAuth 2.0 (XOAUTH2) authentication] ../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/13/valgrind724 ../src/curl -q --output log/13/curl724.out --include --trace-ascii log/13/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/13/stdout724 2> log/13/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/19/valgrind876 ../src/curl -q --output log/19/curl876.out --include --trace-ascii log/19/trace876 --trace-time pop3://127.0.0.1:41195/876 -u user:secret > log/19/stdout876 2> log/19/stderr876 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/valgrind870 ../src/curl -q --output log/24/curl870.out --include --trace-ascii log/24/trace870 --trace-time pop3://127.0.0.1:43103/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/24/stdout870 2> log/24/stderr870 870: 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 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/24/valgrind870 ../src/curl -q --output log/24/curl870.out --include --trace-ascii log/24/trace870 --trace-time pop3://127.0.0.1:43103/870 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/24/stdout870 2> log/24/stderr870 === End of file commands.log === Start of file pop3_server.log 19:01:17.670635 POP3 server listens on port IPv4/43103 19:01:17.670694 logged pid 121646 in log/24/server/pop3_server.pid 19:01:17.670715 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:17.442497 Running IPv4 version 19:01:17.442541 Listening on port 43103 19:01:17.442569 Wrote pid 121651 to log/24/server/pop3_sockfilt.pid 19:01:17.442590 Wrote port 43103 to log/24/server/pop3_server.port 19:01:17.442608 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 ==122714== ==122714== Process terminating with default action of signal 4 (SIGILL) ==122714== Illegal opcode at address 0x4013E00 ==122714== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122714== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122714== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122714== by 0x40037A4: main (tool_main.c:199) === End of file valgrind870 setenv HOME = /startdir/src/build-curl/tests/log/13 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/13/valgrind724 ../src/curl -q --output log/13/curl724.out --include --trace-ascii log/13/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/13/stdout724 2> log/13/stderr724 724: 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 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/13/valgrind724 ../src/curl -q --output log/13/curl724.out --include --trace-ascii log/13/trace724 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/13/stdout724 2> log/13/stderr724 === End of file commands.log === Start of file http_server.log 19:01:09.393189 ====> Client connect 19:01:09.393229 accept_connection 3 returned 4 19:01:09.393245 accept_connection 3 returned 0 19:01:09.393258 Read 93 bytes 19:01:09.393266 Process 93 bytes request 19:01:09.393277 Got request: GET /verifiedserver HTTP/1.1 19:01:09.393285 Are-we-friendly question received 19:01:09.393304 Wrote request (93 bytes) input to log/13/server.input 19:01:09.393317 Identifying ourselves as friends 19:01:09.393359 Response sent (56 bytes) and written to log/13/server.response 19:01:09.393367 special request received, no persistency 19:01:09.393374 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 52928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind724 ==113504== ==113504== Process terminating with default action of signal 4 (SIGILL) ==113504== Illegal opcode at address 0x4013E00 ==113504== at 0x4013E00: getparameter (tool_getparam.c:2846) ==113504== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==113504== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==113504== by 0x40037A4: main (tool_main.c:199) === End of file valgrind724 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/19/valgrind876 ../src/curl -q --output log/19/curl876.out --include --trace-ascii log/19/trace876 --trace-time pop3://127.0.0.1:41195/876 -u user:secret > log/19/stdout876 2> log/19/stderr876 876: 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 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/19/valgrind876 ../src/curl -q --output log/19/curl876.out --include --trace-ascii log/19/trace876 --trace-time pop3://127.0.0.1:41195/876 -u user:secret > log/19/stdout876 2> log/19/stderr876 === End of file commands.log === Start of file pop3_server.log 19:01:18.920688 ====> Client connect 19:01:18.920898 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:18.921260 < "CAPA" 19:01:18.921307 > "-ERR Unrecognized command[CR][LF]" 19:01:18.921487 < "RETR verifiedserver" 19:01:18.921519 return proof we are we 19:01:18.921543 > "+OK Mail transfer starts[CR][LF]" 19:01:18.921569 > "WE ROOLZ: 121535[CR][LF]" 19:01:18.921588 > ".[CR][LF]" 19:01:18.966613 < "QUIT" 19:01:18.966678 > "+OK curl POP3 server signing off[CR][LF]" 19:01:18.967676 MAIN sockfilt said DISC 19:01:18.967712 ====> Client disconnected 19:01:18.967801 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.692586 ====> Client connect 19:01:19.692981 Received DATA (on stdin) 19:01:19.692999 > 178 bytes data, server => client 19:01:19.693014 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.693026 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.693038 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.693048 've \r\n' 19:01:19.693139 < 6 bytes data, client => server 19:01:19.693153 'CAPA\r\n' 19:01:19.693368 Received DATA (on stdin) 19:01:19.693383 > 27 bytes data, server => client 19:01:19.693395 '-ERR Unrecognized command\r\n' 19:01:19.693450 < 21 bytes data, client => server 19:01:19.693464 'RETR verifiedserver\r\n' 19:01:19.693645 Received DATA (on stdin) 19:01:19.693658 > 26 bytes data, server => client 19:01:19.693670 '+OK Mail transfer starts\r\n' 19:01:19.693693 Received DATA (on stdin) 19:01:19.693705 > 18 bytes data, server => client 19:01:19.693716 'WE ROOLZ: 121535\r\n' 19:01:19.693731 Received DATA (on stdin) 19:01:19.693742 > 3 bytes data, server => client 19:01:19.693753CMD (33792): ../libtool --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/valgrind877 ../src/curl -q --output log/4/curl877.out --include --trace-ascii log/4/trace877 --trace-time pop3://127.0.0.1:43099/877 -u testuser:testpass > log/4/stdout877 2> log/4/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/7/valgrind885 ../src/curl -q --output log/7/curl885.out --include --trace-ascii log/7/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:44601/885' --sasl-ir > log/7/stdout885 2> log/7/stderr885 '.\r\n' 19:01:19.738457 < 6 bytes data, client => server 19:01:19.738495 'QUIT\r\n' 19:01:19.738742 Received DATA (on stdin) 19:01:19.738758 > 34 bytes data, server => client 19:01:19.738772 '+OK curl POP3 server signing off\r\n' 19:01:19.739666 ====> Client disconnect 19:01:19.739865 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 ==122892== ==122892== Process terminating with default action of signal 4 (SIGILL) ==122892== Illegal opcode at address 0x4013E00 ==122892== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122892== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122892== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122892== by 0x40037A4: main (tool_main.c:199) === End of file valgrind876 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/4/valgrind877 ../src/curl -q --output log/4/curl877.out --include --trace-ascii log/4/trace877 --trace-time pop3://127.0.0.1:43099/877 -u testuser:testpass > log/4/stdout877 2> log/4/stderr877 877: 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 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/4/valgrind877 ../src/curl -q --output log/4/curl877.out --include --trace-ascii log/4/trace877 --trace-time pop3://127.0.0.1:43099/877 -u testuser:testpass > log/4/stdout877 2> log/4/stderr877 === End of file commands.log === Start of file pop3_server.log 19:01:19.012202 ====> Client connect 19:01:19.012362 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.014718 < "CAPA" 19:01:19.014773 > "-ERR Unrecognized command[CR][LF]" 19:01:19.014971 < "RETR verifiedserver" 19:01:19.015001 return proof we are we 19:01:19.015023 > "+OK Mail transfer starts[CR][LF]" 19:01:19.015041 > "WE ROOLZ: 101960[CR][LF]" 19:01:19.015056 > ".[CR][LF]" 19:01:19.061236 < "QUIT" 19:01:19.061293 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.062128 MAIN sockfilt said DISC 19:01:19.062159 ====> Client disconnected 19:01:19.062239 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:18.784119 ====> Client connect 19:01:18.784432 Received DATA (on stdin) 19:01:18.784449 > 178 bytes data, server => client 19:01:18.784463 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:18.784475 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:18.784492 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:18.784502 've \r\n' 19:01:18.786535 < 6 bytes data, client => server 19:01:18.786568 'CAPA\r\n' 19:01:18.786835 Received DATA (on stdin) 19:01:18.786849 > 27 bytes data, server => client 19:01:18.786860 '-ERR Unrecognized command\r\n' 19:01:18.786918 < 21 bytes data, client => server 19:01:18.786929 'RETR verifiedserver\r\n' 19:01:18.787113 Received DATA (on stdin) 19:01:18.787125 > 26 bytes data, server => client 19:01:18.787135 '+OK Mail transfer starts\r\n' 19:01:18.787155 Received DATA (on stdin) 19:01:18.787165 > 18 bytes data, server => client 19:01:18.787174 'WE ROOLZ: 101960\r\n' 19:01:18.787187 Received DATA (on stdin) 19:01:18.787196 > 3 bytes data, server => client 19:01:18.787205 '.\r\n' 19:01:18.833088 < 6 bytes data, client => server 19:01:18.833123 'QUIT\r\n' 19:01:18.833352 Received DATA (on stdin) 19:01:18.833366 > 34 bytes data, server => client 19:01:18.833378 '+OK curl POP3 server signing off\r\n' 19:01:18.834130 ====> Client disconnect 19:01:18.834295 Received ACKD (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 ==122969== ==122969== Process terminating with default action of signal 4 (SIGILL) ==122969== Illegal opcode at address 0x4013E00 ==122969== at 0x4013E00: getparameter (tool_getparam.c:2846) ==122969== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==122969== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==122969== by 0x40037A4: main (tool_main.c:199) === End of file valgrind877 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/7/valgrind885 ../src/curl -q --output log/7/curl885.out --include --trace-ascii log/7/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:44601/885' --sasl-ir > log/7/stdout885 2> log/7/stderr885 885: 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 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/7/valgrind885 ../src/curl -q --output log/7/curl885.out --include --trace-ascii log/7/trace885 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:44601/885' --sasl-ir > log/7/stdout885 2> log/7/stderr885 === End of file commands.log === Start of file pop3_server.log 19:01:19.398847 ====> Client connect 19:01:19.399030 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.399375 < "CAPA" 19:01:19.399427 > "-ERR Unrecognized command[CR][LF]" 19:01:19.399565 < "RETR verifiedserver" 19:01:19.399586 return proof we are we 19:01:19.399603 > "+OK Mail transfer starts[CR][LF]" 19:01:19.399618 > "WE ROOLZ: 121612[CR][LF]" 19:01:19.399632 > ".[CR][LF]" 19:01:19.442321 < "QUIT" 19:01:19.442376 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.442978 MAIN sockfilt said DISC 19:01:19.443009 ====> Client disconnected 19:01:19.443063 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.170789 ====> Client connect 19:01:19.171111 Received DATA (on stdin) 19:01:19.171131 > 178 bytes data, server => client 19:01:19.171146 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.171159 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.171171 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.171182 've \r\n' 19:01:19.171268 < 6 bytes data, client => server 19:01:19.171286 'CAPA\r\n' 19:01:19.171483 Received DATA (on stdin) 19:01:19.171493 > 27 bytes data, server => client 19:01:19.171503 '-ERR Unrecognized command\r\n' 19:01:19.171546 < 21 bytes data, client => server 19:01:19.171556 'RETR verifiedserver\r\n' 19:01:19.171683 Received DATA (on stdin) 19:01:19.171693 > 26 bytes data, server => client 19:01:19.171702 '+OK Mail transfer starts\r\n' 19:01:19.171718 Received DATA (on stdin) 19:01:19.171727 > 18 bytes data, server => client 19:01:19.171735 'WE ROOLZ: 121612\r\n' 19:01:19.171746 Received DATA (on stdin) 19:01:19.171754 > 3 bytes data, server => client 19:01:19.171762 '.\r\n' 19:01:19.214219 < 6 bytes data, client => server 19:01:19.214243 'QUIT\r\n' 19:01:19.214439 Received DATA (on stdin) 19:01:19.214454 > 34 bytes data, server => client 19:01:19.214466 CMD (33792): ../libtool --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/valgrind890 ../src/curl -q --output log/21/curl890.out --include --trace-ascii log/21/trace890 --trace-time pop3://127.0.0.1:45677/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/21/stdout890 2> log/21/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/5/valgrind874 ../src/curl -q --output log/5/curl874.out --include --trace-ascii log/5/trace874 --trace-time pop3://127.0.0.1:36451/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/5/stdout874 2> log/5/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/23/valgrind887 ../src/curl -q --output log/23/curl887.out --include --trace-ascii log/23/trace887 --trace-time pop3://127.0.0.1:45099/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout887 2> log/23/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/1/valgrind883 ../src/curl -q --output log/1/curl883.out --include --trace-ascii log/1/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:38873/883' > log/1/stdout883 2> log/1/stderr883 '+OK curl POP3 server signing off\r\n' 19:01:19.214973 ====> Client disconnect 19:01:19.215118 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 ==123360== ==123360== Process terminating with default action of signal 4 (SIGILL) ==123360== Illegal opcode at address 0x4013E00 ==123360== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123360== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123360== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123360== by 0x40037A4: main (tool_main.c:199) === End of file valgrind885 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/21/valgrind890 ../src/curl -q --output log/21/curl890.out --include --trace-ascii log/21/trace890 --trace-time pop3://127.0.0.1:45677/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/21/stdout890 2> log/21/stderr890 890: 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 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/21/valgrind890 ../src/curl -q --output log/21/curl890.out --include --trace-ascii log/21/trace890 --trace-time pop3://127.0.0.1:45677/890 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/21/stdout890 2> log/21/stderr890 === End of file commands.log === Start of file pop3_server.log 19:01:19.443014 ====> Client connect 19:01:19.443179 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.443498 < "CAPA" 19:01:19.443546 > "-ERR Unrecognized command[CR][LF]" 19:01:19.443732 < "RETR verifiedserver" 19:01:19.443762 return proof we are we 19:01:19.443783 > "+OK Mail transfer starts[CR][LF]" 19:01:19.443803 > "WE ROOLZ: 121619[CR][LF]" 19:01:19.443822 > ".[CR][LF]" 19:01:19.487562 < "QUIT" 19:01:19.487626 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.488684 MAIN sockfilt said DISC 19:01:19.488755 ====> Client disconnected 19:01:19.488839 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.214980 ====> Client connect 19:01:19.215248 Received DATA (on stdin) 19:01:19.215265 > 178 bytes data, server => client 19:01:19.215279 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.215295 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.215307 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.215317 've \r\n' 19:01:19.215390 < 6 bytes data, client => server 19:01:19.215404 'CAPA\r\n' 19:01:19.215607 Received DATA (on stdin) 19:01:19.215621 > 27 bytes data, server => client 19:01:19.215634 '-ERR Unrecognized command\r\n' 19:01:19.215692 < 21 bytes data, client => server 19:01:19.215705 'RETR verifiedserver\r\n' 19:01:19.215879 Received DATA (on stdin) 19:01:19.215894 > 26 bytes data, server => client 19:01:19.215906 '+OK Mail transfer starts\r\n' 19:01:19.215929 Received DATA (on stdin) 19:01:19.215940 > 18 bytes data, server => client 19:01:19.215952 'WE ROOLZ: 121619\r\n' 19:01:19.215966 Received DATA (on stdin) 19:01:19.215977 > 3 bytes data, server => client 19:01:19.215988 '.\r\n' 19:01:19.259426 < 6 bytes data, client => server 19:01:19.259452 'QUIT\r\n' 19:01:19.259689 Received DATA (on stdin) 19:01:19.259704 > 34 bytes data, server => client 19:01:19.259717 '+OK curl POP3 server signing off\r\n' 19:01:19.260652 ====> Client disconnect 19:01:19.260904 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 ==123553== ==123553== Process terminating with default action of signal 4 (SIGILL) ==123553== Illegal opcode at address 0x4013E00 ==123553== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123553== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123553== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123553== by 0x40037A4: main (tool_main.c:199) === End of file valgrind890 startnew: /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 36451 (log/5/server/pop3_server.port) RUN: POP3 server is PID 122588 port 36451 * pid pop3 => 122588 122588 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/5/valgrind874 ../src/curl -q --output log/5/curl874.out --include --trace-ascii log/5/trace874 --trace-time pop3://127.0.0.1:36451/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/5/stdout874 2> log/5/stderr874 874: 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 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/5/valgrind874 ../src/curl -q --output log/5/curl874.out --include --trace-ascii log/5/trace874 --trace-time pop3://127.0.0.1:36451/874 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/5/stdout874 2> log/5/stderr874 === End of file commands.log === Start of file pop3_server.log 19:01:18.575339 POP3 server listens on port IPv4/36451 19:01:18.575440 logged pid 122588 in log/5/server/pop3_server.pid 19:01:18.575471 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:18.347108 Running IPv4 version 19:01:18.347205 Listening on port 36451 19:01:18.347244 Wrote pid 122647 to log/5/server/pop3_sockfilt.pid 19:01:18.347280 Wrote port 36451 to log/5/server/pop3_server.port 19:01:18.347303 Received PING (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 ==123791== ==123791== Process terminating with default action of signal 4 (SIGILL) ==123791== Illegal opcode at address 0x4013E00 ==123791== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123791== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123791== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123791== by 0x40037A4: main (tool_main.c:199) === End of file valgrind874 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/23/valgrind887 ../src/curl -q --output log/23/curl887.out --include --trace-ascii log/23/trace887 --trace-time pop3://127.0.0.1:45099/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout887 2> log/23/stderr887 887: protocol FAILED! There was no content at all in the file log/23/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/14/valgrind888 ../src/curl -q --output log/14/curl888.out --include --trace-ascii log/14/trace888 --trace-time pop3://127.0.0.1:40941/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/14/stdout888 2> log/14/stderr888 CMD (33792): ../libtool --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/valgrind879 ../src/curl -q --output log/8/curl879.out --include --trace-ascii log/8/trace879 --trace-time pop3://127.0.0.1:45897/879 -u user:secret > log/8/stdout879 2> log/8/stderr879 : 132 == Contents of files in the log/23/ 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/23/valgrind887 ../src/curl -q --output log/23/curl887.out --include --trace-ascii log/23/trace887 --trace-time pop3://127.0.0.1:45099/887 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/23/stdout887 2> log/23/stderr887 === End of file commands.log === Start of file pop3_server.log 19:01:19.417343 ====> Client connect 19:01:19.417503 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.417952 < "CAPA" 19:01:19.418000 > "-ERR Unrecognized command[CR][LF]" 19:01:19.418193 < "RETR verifiedserver" 19:01:19.418223 return proof we are we 19:01:19.418250 > "+OK Mail transfer starts[CR][LF]" 19:01:19.418271 > "WE ROOLZ: 121615[CR][LF]" 19:01:19.418289 > ".[CR][LF]" 19:01:19.465841 < "QUIT" 19:01:19.465899 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.466246 MAIN sockfilt said DISC 19:01:19.466284 ====> Client disconnected 19:01:19.466340 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.189305 ====> Client connect 19:01:19.189579 Received DATA (on stdin) 19:01:19.189661 > 178 bytes data, server => client 19:01:19.189677 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.189694 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.189706 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.189716 've \r\n' 19:01:19.189845 < 6 bytes data, client => server 19:01:19.189861 'CAPA\r\n' 19:01:19.190063 Received DATA (on stdin) 19:01:19.190077 > 27 bytes data, server => client 19:01:19.190089 '-ERR Unrecognized command\r\n' 19:01:19.190147 < 21 bytes data, client => server 19:01:19.190161 'RETR verifiedserver\r\n' 19:01:19.190348 Received DATA (on stdin) 19:01:19.190362 > 26 bytes data, server => client 19:01:19.190374 '+OK Mail transfer starts\r\n' 19:01:19.190397 Received DATA (on stdin) 19:01:19.190409 > 18 bytes data, server => client 19:01:19.190420 'WE ROOLZ: 121615\r\n' 19:01:19.190434 Received DATA (on stdin) 19:01:19.190444 > 3 bytes data, server => client 19:01:19.190455 '.\r\n' 19:01:19.237728 < 6 bytes data, client => server 19:01:19.237753 'QUIT\r\n' 19:01:19.237966 Received DATA (on stdin) 19:01:19.237983 > 34 bytes data, server => client 19:01:19.237996 '+OK curl POP3 server signing off\r\n' 19:01:19.238236 ====> Client disconnect 19:01:19.238396 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDUwOTkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= +OK Login successful Testnum 887 === End of file server.cmd === Start of file valgrind887 ==123465== ==123465== Process terminating with default action of signal 4 (SIGILL) ==123465== Illegal opcode at address 0x4013E00 ==123465== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123465== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123465== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123465== by 0x40037A4: main (tool_main.c:199) === End of file valgrind887 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/1/valgrind883 ../src/curl -q --output log/1/curl883.out --include --trace-ascii log/1/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:38873/883' > log/1/stdout883 2> log/1/stderr883 883: 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 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/1/valgrind883 ../src/curl -q --output log/1/curl883.out --include --trace-ascii log/1/trace883 --trace-time 'pop3://user;AUTH=EXTERNAL@127.0.0.1:38873/883' > log/1/stdout883 2> log/1/stderr883 === End of file commands.log === Start of file pop3_server.log 19:01:19.369540 ====> Client connect 19:01:19.369756 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.370336 < "CAPA" 19:01:19.370378 > "-ERR Unrecognized command[CR][LF]" 19:01:19.370530 < "RETR verifiedserver" 19:01:19.370555 return proof we are we 19:01:19.370572 > "+OK Mail transfer starts[CR][LF]" 19:01:19.370587 > "WE ROOLZ: 121625[CR][LF]" 19:01:19.370601 > ".[CR][LF]" 19:01:19.412385 < "QUIT" 19:01:19.412437 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.412587 MAIN sockfilt said DISC 19:01:19.412621 ====> Client disconnected 19:01:19.412690 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.141493 ====> Client connect 19:01:19.141827 Received DATA (on stdin) 19:01:19.141844 > 178 bytes data, server => client 19:01:19.141857 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.141869 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.141880 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.141890 've \r\n' 19:01:19.141981 < 6 bytes data, client => server 19:01:19.142254 'CAPA\r\n' 19:01:19.142438 Received DATA (on stdin) 19:01:19.142449 > 27 bytes data, server => client 19:01:19.142459 '-ERR Unrecognized command\r\n' 19:01:19.142508 < 21 bytes data, client => server 19:01:19.142518 'RETR verifiedserver\r\n' 19:01:19.142653 Received DATA (on stdin) 19:01:19.142663 > 26 bytes data, server => client 19:01:19.142672 '+OK Mail transfer starts\r\n' 19:01:19.142689 Received DATA (on stdin) 19:01:19.142698 > 18 bytes data, server => client 19:01:19.142706 'WE ROOLZ: 121625\r\n' 19:01:19.142717 Received DATA (on stdin) 19:01:19.142725 > 3 bytes data, server => client 19:01:19.142733 '.\r\n' 19:01:19.184283 < 6 bytes data, client => server 19:01:19.184308 'QUIT\r\n' 19:01:19.184476 Received DATA (on stdin) 19:01:19.184491 > 34 bytes data, server => client 19:01:19.184504 '+OK curl POP3 server signing off\r\n' 19:01:19.184589 ====> Client disconnect 19:01:19.185840 Received ACKD (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 ==123208== ==123208== Process terminating with default action of signal 4 (SIGILL) ==123208== Illegal opcode at address 0x4013E00 ==123208== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123208== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123208== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123208== by 0x40037A4: main (tool_main.c:199) === End of file valgrind883 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/8/valgrind879 ../src/curl -q --output log/8/curl879.out --include --trace-ascii log/8/trace879 --trace-time pop3://127.0.0.1:45897/879 -u user:secret > log/8/stdout879 2> log/8/stderr879 879: 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 879 === 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/20/valgrind889 ../src/curl -q --output log/20/curl889.out --include --trace-ascii log/20/trace889 --trace-time pop3://127.0.0.1:33047/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/20/stdout889 2> log/20/stderr889 rl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind879 ../src/curl -q --output log/8/curl879.out --include --trace-ascii log/8/trace879 --trace-time pop3://127.0.0.1:45897/879 -u user:secret > log/8/stdout879 2> log/8/stderr879 === End of file commands.log === Start of file pop3_server.log 19:01:19.342425 ====> Client connect 19:01:19.342631 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.342892 < "CAPA" 19:01:19.342928 > "-ERR Unrecognized command[CR][LF]" 19:01:19.343069 < "RETR verifiedserver" 19:01:19.343091 return proof we are we 19:01:19.343108 > "+OK Mail transfer starts[CR][LF]" 19:01:19.343123 > "WE ROOLZ: 121622[CR][LF]" 19:01:19.343137 > ".[CR][LF]" 19:01:19.389738 < "QUIT" 19:01:19.389796 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.390560 MAIN sockfilt said DISC 19:01:19.390589 ====> Client disconnected 19:01:19.390645 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.114370 ====> Client connect 19:01:19.114697 Received DATA (on stdin) 19:01:19.114711 > 178 bytes data, server => client 19:01:19.114722 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.114731 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.114740 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.114747 've \r\n' 19:01:19.114813 < 6 bytes data, client => server 19:01:19.114824 'CAPA\r\n' 19:01:19.114983 Received DATA (on stdin) 19:01:19.114993 > 27 bytes data, server => client 19:01:19.115002 '-ERR Unrecognized command\r\n' 19:01:19.115045 < 21 bytes data, client => server 19:01:19.115055 'RETR verifiedserver\r\n' 19:01:19.115188 Received DATA (on stdin) 19:01:19.115198 > 26 bytes data, server => client 19:01:19.115207 '+OK Mail transfer starts\r\n' 19:01:19.115223 Received DATA (on stdin) 19:01:19.115232 > 18 bytes data, server => client 19:01:19.115240 'WE ROOLZ: 121622\r\n' 19:01:19.115251 Received DATA (on stdin) 19:01:19.115259 > 3 bytes data, server => client 19:01:19.115267 '.\r\n' 19:01:19.161633 < 6 bytes data, client => server 19:01:19.161657 'QUIT\r\n' 19:01:19.161860 Received DATA (on stdin) 19:01:19.161875 > 34 bytes data, server => client 19:01:19.161888 '+OK curl POP3 server signing off\r\n' 19:01:19.162559 ====> Client disconnect 19:01:19.162700 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 ==123137== ==123137== Process terminating with default action of signal 4 (SIGILL) ==123137== Illegal opcode at address 0x4013E00 ==123137== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123137== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123137== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123137== by 0x40037A4: main (tool_main.c:199) === End of file valgrind879 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/14/valgrind888 ../src/curl -q --output log/14/curl888.out --include --trace-ascii log/14/trace888 --trace-time pop3://127.0.0.1:40941/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/14/stdout888 2> log/14/stderr888 888: 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 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/14/valgrind888 ../src/curl -q --output log/14/curl888.out --include --trace-ascii log/14/trace888 --trace-time pop3://127.0.0.1:40941/888 -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir > log/14/stdout888 2> log/14/stderr888 === End of file commands.log === Start of file pop3_server.log 19:01:19.424961 ====> Client connect 19:01:19.425116 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.425522 < "CAPA" 19:01:19.425577 > "-ERR Unrecognized command[CR][LF]" 19:01:19.426015 < "RETR verifiedserver" 19:01:19.426039 return proof we are we 19:01:19.426057 > "+OK Mail transfer starts[CR][LF]" 19:01:19.426072 > "WE ROOLZ: 121618[CR][LF]" 19:01:19.426086 > ".[CR][LF]" 19:01:19.469676 < "QUIT" 19:01:19.469737 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.470558 MAIN sockfilt said DISC 19:01:19.470601 ====> Client disconnected 19:01:19.470663 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.196930 ====> Client connect 19:01:19.197186 Received DATA (on stdin) 19:01:19.197202 > 178 bytes data, server => client 19:01:19.197215 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.197227 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.197239 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.197249 've \r\n' 19:01:19.197323 < 6 bytes data, client => server 19:01:19.197337 'CAPA\r\n' 19:01:19.197640 Received DATA (on stdin) 19:01:19.197655 > 27 bytes data, server => client 19:01:19.197668 '-ERR Unrecognized command\r\n' 19:01:19.197730 < 21 bytes data, client => server 19:01:19.197744 'RETR verifiedserver\r\n' 19:01:19.198477 Received DATA (on stdin) 19:01:19.198511 > 26 bytes data, server => client 19:01:19.198524 '+OK Mail transfer starts\r\n' 19:01:19.198562 Received DATA (on stdin) 19:01:19.198574 > 18 bytes data, server => client 19:01:19.198586 'WE ROOLZ: 121618\r\n' 19:01:19.198604 Received DATA (on stdin) 19:01:19.198615 > 3 bytes data, server => client 19:01:19.198626 '.\r\n' 19:01:19.241564 < 6 bytes data, client => server 19:01:19.241591 'QUIT\r\n' 19:01:19.241802 Received DATA (on stdin) 19:01:19.241817 > 34 bytes data, server => client 19:01:19.241830 '+OK curl POP3 server signing off\r\n' 19:01:19.242544 ====> Client disconnect 19:01:19.242720 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 ==123490== ==123490== Process terminating with default action of signal 4 (SIGILL) ==123490== Illegal opcode at address 0x4013E00 ==123490== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123490== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123490== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123490== by 0x40037A4: main (tool_main.c:199) === End of file valgrind888 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/20/valgrind889 ../src/curl -q --output log/20/curl889.out --include --trace-ascii log/20/trace889 --trace-time pop3://127.0.0.1:33047/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/20/stdout889 2> log/20/stderr889 889: 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 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/20/valgrind889 ../src/curl -q --outpCMD (33792): ../libtool --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/valgrind880 ../src/curl -q --output log/17/curl880.out --include --trace-ascii log/17/trace880 --trace-time pop3://127.0.0.1:33735/880 -u user:secret > log/17/stdout880 2> log/17/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/9/valgrind884 ../src/curl -q --output log/9/curl884.out --include --trace-ascii log/9/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:36289/884' > log/9/stdout884 2> log/9/stderr884 ut log/20/curl889.out --include --trace-ascii log/20/trace889 --trace-time pop3://127.0.0.1:33047/889 -u user --oauth2-bearer mF_9.B5f-4.1JqM > log/20/stdout889 2> log/20/stderr889 === End of file commands.log === Start of file pop3_server.log 19:01:19.430064 ====> Client connect 19:01:19.430216 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.430504 < "CAPA" 19:01:19.430546 > "-ERR Unrecognized command[CR][LF]" 19:01:19.430716 < "RETR verifiedserver" 19:01:19.430744 return proof we are we 19:01:19.430764 > "+OK Mail transfer starts[CR][LF]" 19:01:19.430785 > "WE ROOLZ: 121626[CR][LF]" 19:01:19.430803 > ".[CR][LF]" 19:01:19.473015 < "QUIT" 19:01:19.473076 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.473353 MAIN sockfilt said DISC 19:01:19.473619 ====> Client disconnected 19:01:19.474358 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.202029 ====> Client connect 19:01:19.202284 Received DATA (on stdin) 19:01:19.202299 > 178 bytes data, server => client 19:01:19.202313 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.202325 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.202336 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.202346 've \r\n' 19:01:19.202413 < 6 bytes data, client => server 19:01:19.202426 'CAPA\r\n' 19:01:19.202605 Received DATA (on stdin) 19:01:19.202618 > 27 bytes data, server => client 19:01:19.202630 '-ERR Unrecognized command\r\n' 19:01:19.202681 < 21 bytes data, client => server 19:01:19.202694 'RETR verifiedserver\r\n' 19:01:19.202859 Received DATA (on stdin) 19:01:19.202872 > 26 bytes data, server => client 19:01:19.202884 '+OK Mail transfer starts\r\n' 19:01:19.202905 Received DATA (on stdin) 19:01:19.202916 > 18 bytes data, server => client 19:01:19.202928 'WE ROOLZ: 121626\r\n' 19:01:19.202942 Received DATA (on stdin) 19:01:19.202953 > 3 bytes data, server => client 19:01:19.202965 '.\r\n' 19:01:19.244896 < 6 bytes data, client => server 19:01:19.244923 'QUIT\r\n' 19:01:19.245141 Received DATA (on stdin) 19:01:19.245158 > 34 bytes data, server => client 19:01:19.245171 '+OK curl POP3 server signing off\r\n' 19:01:19.245288 ====> Client disconnect 19:01:19.245547 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH + REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9MzMwNDcBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= + eyJzdGF0dXMiOiJpbnZhbGlkX3Rva2VuIiwic2NvcGUiOiJleGFtcGxlX3Njb3BlIiwib3BlbmlkLWNvbmZpZ3VyYXRpb24iOiJodHRwczovL2V4YW1wbGUuY29tLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIn0= REPLY AQ== -ERR Authentication failed Testnum 889 === End of file server.cmd === Start of file valgrind889 ==123468== ==123468== Process terminating with default action of signal 4 (SIGILL) ==123468== Illegal opcode at address 0x4013E00 ==123468== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123468== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123468== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123468== by 0x40037A4: main (tool_main.c:199) === End of file valgrind889 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/17/valgrind880 ../src/curl -q --output log/17/curl880.out --include --trace-ascii log/17/trace880 --trace-time pop3://127.0.0.1:33735/880 -u user:secret > log/17/stdout880 2> log/17/stderr880 880: 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 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/17/valgrind880 ../src/curl -q --output log/17/curl880.out --include --trace-ascii log/17/trace880 --trace-time pop3://127.0.0.1:33735/880 -u user:secret > log/17/stdout880 2> log/17/stderr880 === End of file commands.log === Start of file pop3_server.log 19:01:19.345512 ====> Client connect 19:01:19.345655 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.348535 < "CAPA" 19:01:19.348599 > "-ERR Unrecognized command[CR][LF]" 19:01:19.348883 < "RETR verifiedserver" 19:01:19.348923 return proof we are we 19:01:19.348954 > "+OK Mail transfer starts[CR][LF]" 19:01:19.348978 > "WE ROOLZ: 121627[CR][LF]" 19:01:19.348998 > ".[CR][LF]" 19:01:19.398626 < "QUIT" 19:01:19.398682 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.399475 MAIN sockfilt said DISC 19:01:19.399509 ====> Client disconnected 19:01:19.399576 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.117457 ====> Client connect 19:01:19.117719 Received DATA (on stdin) 19:01:19.117731 > 178 bytes data, server => client 19:01:19.117742 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.117750 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.117759 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.117766 've \r\n' 19:01:19.118087 < 6 bytes data, client => server 19:01:19.118113 'CAPA\r\n' 19:01:19.120667 Received DATA (on stdin) 19:01:19.120684 > 27 bytes data, server => client 19:01:19.120697 '-ERR Unrecognized command\r\n' 19:01:19.120806 < 21 bytes data, client => server 19:01:19.120826 'RETR verifiedserver\r\n' 19:01:19.121064 Received DATA (on stdin) 19:01:19.121091 > 26 bytes data, server => client 19:01:19.121105 '+OK Mail transfer starts\r\n' 19:01:19.121135 Received DATA (on stdin) 19:01:19.121148 > 18 bytes data, server => client 19:01:19.121159 'WE ROOLZ: 121627\r\n' 19:01:19.121174 Received DATA (on stdin) 19:01:19.121185 > 3 bytes data, server => client 19:01:19.121196 '.\r\n' 19:01:19.167647 < 6 bytes data, client => server 19:01:19.167671 'QUIT\r\n' 19:01:19.170747 Received DATA (on stdin) 19:01:19.170771 > 34 bytes data, server => client 19:01:19.170783 '+OK curl POP3 server signing off\r\n' 19:01:19.171470 ====> Client disconnect 19:01:19.171636 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 ==123168== ==123168== Process terminating with default action of signal 4 (SIGILL) ==123168== Illegal opcode at address 0x4013E00 ==123168== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123168== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123168== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123168== by 0x40037A4: main (tool_main.c:199) === End of file valgrind880 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/9/valgrind884 ../src/curl -q --output log/9/curl884.out --include --trace-ascii log/9/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:36289/884' > log/9/stdout884 2> log/9/stderr884 884: 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 884 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memchCMD (33792): ../libtool --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/valgrind886 ../src/curl -q --output log/12/curl886.out --include --trace-ascii log/12/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:44419/886' --sasl-ir > log/12/stdout886 2> log/12/stderr886 CMD (33792): ../libtool --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/valgrind891 ../src/curl -q --output log/15/curl891.out --include --trace-ascii log/15/trace891 --trace-time pop3://127.0.0.1:44873/891 -u user:secret > log/15/stdout891 2> log/15/stderr891 eck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind884 ../src/curl -q --output log/9/curl884.out --include --trace-ascii log/9/trace884 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:36289/884' > log/9/stdout884 2> log/9/stderr884 === End of file commands.log === Start of file pop3_server.log 19:01:19.378163 ====> Client connect 19:01:19.378334 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.378678 < "CAPA" 19:01:19.378738 > "-ERR Unrecognized command[CR][LF]" 19:01:19.379234 < "RETR verifiedserver" 19:01:19.379259 return proof we are we 19:01:19.379278 > "+OK Mail transfer starts[CR][LF]" 19:01:19.379294 > "WE ROOLZ: 121598[CR][LF]" 19:01:19.379309 > ".[CR][LF]" 19:01:19.425859 < "QUIT" 19:01:19.425906 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.426731 MAIN sockfilt said DISC 19:01:19.426761 ====> Client disconnected 19:01:19.426818 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.150129 ====> Client connect 19:01:19.150407 Received DATA (on stdin) 19:01:19.150425 > 178 bytes data, server => client 19:01:19.150440 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.150453 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.150466 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.150478 've \r\n' 19:01:19.150569 < 6 bytes data, client => server 19:01:19.150584 'CAPA\r\n' 19:01:19.150778 Received DATA (on stdin) 19:01:19.150800 > 27 bytes data, server => client 19:01:19.150817 '-ERR Unrecognized command\r\n' 19:01:19.151214 < 21 bytes data, client => server 19:01:19.151234 'RETR verifiedserver\r\n' 19:01:19.151510 Received DATA (on stdin) 19:01:19.151522 > 26 bytes data, server => client 19:01:19.151531 '+OK Mail transfer starts\r\n' 19:01:19.151550 Received DATA (on stdin) 19:01:19.151559 > 18 bytes data, server => client 19:01:19.151568 'WE ROOLZ: 121598\r\n' 19:01:19.151590 Received DATA (on stdin) 19:01:19.151598 > 3 bytes data, server => client 19:01:19.151606 '.\r\n' 19:01:19.197774 < 6 bytes data, client => server 19:01:19.197792 'QUIT\r\n' 19:01:19.197961 Received DATA (on stdin) 19:01:19.197972 > 34 bytes data, server => client 19:01:19.197981 '+OK curl POP3 server signing off\r\n' 19:01:19.198731 ====> Client disconnect 19:01:19.198876 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 ==123273== ==123273== Process terminating with default action of signal 4 (SIGILL) ==123273== Illegal opcode at address 0x4013E00 ==123273== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123273== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123273== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123273== by 0x40037A4: main (tool_main.c:199) === End of file valgrind884 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/12/valgrind886 ../src/curl -q --output log/12/curl886.out --include --trace-ascii log/12/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:44419/886' --sasl-ir > log/12/stdout886 2> log/12/stderr886 886: 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 886 === Start of file commands.log ../libtool --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/valgrind886 ../src/curl -q --output log/12/curl886.out --include --trace-ascii log/12/trace886 --trace-time 'pop3://;AUTH=EXTERNAL@127.0.0.1:44419/886' --sasl-ir > log/12/stdout886 2> log/12/stderr886 === End of file commands.log === Start of file pop3_server.log 19:01:19.396860 ====> Client connect 19:01:19.397008 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.397258 < "CAPA" 19:01:19.397292 > "-ERR Unrecognized command[CR][LF]" 19:01:19.397430 < "RETR verifiedserver" 19:01:19.397451 return proof we are we 19:01:19.397467 > "+OK Mail transfer starts[CR][LF]" 19:01:19.397483 > "WE ROOLZ: 121613[CR][LF]" 19:01:19.397497 > ".[CR][LF]" 19:01:19.440478 < "QUIT" 19:01:19.440533 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.441132 MAIN sockfilt said DISC 19:01:19.441160 ====> Client disconnected 19:01:19.441217 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.168829 ====> Client connect 19:01:19.169073 Received DATA (on stdin) 19:01:19.169087 > 178 bytes data, server => client 19:01:19.169098 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.169107 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.169116 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.169124 've \r\n' 19:01:19.169185 < 6 bytes data, client => server 19:01:19.169196 'CAPA\r\n' 19:01:19.169348 Received DATA (on stdin) 19:01:19.169358 > 27 bytes data, server => client 19:01:19.169367 '-ERR Unrecognized command\r\n' 19:01:19.169410 < 21 bytes data, client => server 19:01:19.169420 'RETR verifiedserver\r\n' 19:01:19.169549 Received DATA (on stdin) 19:01:19.169559 > 26 bytes data, server => client 19:01:19.169567 '+OK Mail transfer starts\r\n' 19:01:19.169584 Received DATA (on stdin) 19:01:19.169593 > 18 bytes data, server => client 19:01:19.169601 'WE ROOLZ: 121613\r\n' 19:01:19.169612 Received DATA (on stdin) 19:01:19.169620 > 3 bytes data, server => client 19:01:19.169629 '.\r\n' 19:01:19.212400 < 6 bytes data, client => server 19:01:19.212419 'QUIT\r\n' 19:01:19.212568 Received DATA (on stdin) 19:01:19.212587 > 34 bytes data, server => client 19:01:19.212597 '+OK curl POP3 server signing off\r\n' 19:01:19.213126 ====> Client disconnect 19:01:19.213272 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 ==123368== ==123368== Process terminating with default action of signal 4 (SIGILL) ==123368== Illegal opcode at address 0x4013E00 ==123368== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123368== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123368== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123368== by 0x40037A4: main (tool_main.c:199) === End of file valgrind886 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/15/valgrind891 ../src/curl -q --output log/15/curl891.out --include --trace-ascii log/15/trace891 --trace-time pop3://127.0.0.1:44873/891 -u user:secret > log/15/stdout891 2> log/15/stderr891 891: 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 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/15/valgrind891 ../src/curl -q --output log/15/curl891.out --include --trace-ascii log/15/trace891 --trace-time pop3://127.0.0.1:44873/891 -u user:secret > log/15/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/22/valgrind894 ../src/curl -q --output log/22/curl894.out --include --trace-ascii log/22/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:36015/894 > log/22/stdout894 2> log/22/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/10/valgrind893 ../src/curl -q --output log/10/curl893.out --include --trace-ascii log/10/trace893 --trace-time pop3://127.0.0.1:46197/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/10/stdout893 2> log/10/stderr893 out891 2> log/15/stderr891 === End of file commands.log === Start of file pop3_server.log 19:01:19.437272 ====> Client connect 19:01:19.437428 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.437738 < "CAPA" 19:01:19.437783 > "-ERR Unrecognized command[CR][LF]" 19:01:19.437964 < "RETR verifiedserver" 19:01:19.437993 return proof we are we 19:01:19.438017 > "+OK Mail transfer starts[CR][LF]" 19:01:19.438037 > "WE ROOLZ: 121623[CR][LF]" 19:01:19.438055 > ".[CR][LF]" 19:01:19.482592 < "QUIT" 19:01:19.482655 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.483533 MAIN sockfilt said DISC 19:01:19.483576 ====> Client disconnected 19:01:19.483647 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.209235 ====> Client connect 19:01:19.209498 Received DATA (on stdin) 19:01:19.209515 > 178 bytes data, server => client 19:01:19.209529 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.209541 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.209553 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.209564 've \r\n' 19:01:19.209636 < 6 bytes data, client => server 19:01:19.209651 'CAPA\r\n' 19:01:19.209843 Received DATA (on stdin) 19:01:19.209857 > 27 bytes data, server => client 19:01:19.209869 '-ERR Unrecognized command\r\n' 19:01:19.209924 < 21 bytes data, client => server 19:01:19.209937 'RETR verifiedserver\r\n' 19:01:19.210112 Received DATA (on stdin) 19:01:19.210125 > 26 bytes data, server => client 19:01:19.210137 '+OK Mail transfer starts\r\n' 19:01:19.210160 Received DATA (on stdin) 19:01:19.210171 > 18 bytes data, server => client 19:01:19.210183 'WE ROOLZ: 121623\r\n' 19:01:19.210197 Received DATA (on stdin) 19:01:19.210208 > 3 bytes data, server => client 19:01:19.210219 '.\r\n' 19:01:19.254343 < 6 bytes data, client => server 19:01:19.254367 'QUIT\r\n' 19:01:19.254720 Received DATA (on stdin) 19:01:19.254736 > 34 bytes data, server => client 19:01:19.254749 '+OK curl POP3 server signing off\r\n' 19:01:19.255517 ====> Client disconnect 19:01:19.255708 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 ==123511== ==123511== Process terminating with default action of signal 4 (SIGILL) ==123511== Illegal opcode at address 0x4013E00 ==123511== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123511== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123511== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123511== by 0x40037A4: main (tool_main.c:199) === End of file valgrind891 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/22/valgrind894 ../src/curl -q --output log/22/curl894.out --include --trace-ascii log/22/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:36015/894 > log/22/stdout894 2> log/22/stderr894 curl returned 132, when expecting 3 894: exit FAILED == Contents of files in the log/22/ 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/22/valgrind894 ../src/curl -q --output log/22/curl894.out --include --trace-ascii log/22/trace894 --trace-time pop3://user%0dFRIGGING_cmd:secret@127.0.0.1:36015/894 > log/22/stdout894 2> log/22/stderr894 === End of file commands.log === Start of file pop3_server.log 19:01:19.531858 ====> Client connect 19:01:19.532184 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.533386 < "CAPA" 19:01:19.533448 > "-ERR Unrecognized command[CR][LF]" 19:01:19.533639 < "RETR verifiedserver" 19:01:19.533672 return proof we are we 19:01:19.533696 > "+OK Mail transfer starts[CR][LF]" 19:01:19.533716 > "WE ROOLZ: 121639[CR][LF]" 19:01:19.533734 > ".[CR][LF]" 19:01:19.576039 < "QUIT" 19:01:19.576098 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.576908 MAIN sockfilt said DISC 19:01:19.576940 ====> Client disconnected 19:01:19.577012 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.303329 ====> Client connect 19:01:19.304286 Received DATA (on stdin) 19:01:19.304736 > 178 bytes data, server => client 19:01:19.304756 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.304769 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.304781 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.304792 've \r\n' 19:01:19.305254 < 6 bytes data, client => server 19:01:19.305274 'CAPA\r\n' 19:01:19.305511 Received DATA (on stdin) 19:01:19.305526 > 27 bytes data, server => client 19:01:19.305538 '-ERR Unrecognized command\r\n' 19:01:19.305594 < 21 bytes data, client => server 19:01:19.305608 'RETR verifiedserver\r\n' 19:01:19.305793 Received DATA (on stdin) 19:01:19.305806 > 26 bytes data, server => client 19:01:19.305818 '+OK Mail transfer starts\r\n' 19:01:19.305839 Received DATA (on stdin) 19:01:19.305851 > 18 bytes data, server => client 19:01:19.305862 'WE ROOLZ: 121639\r\n' 19:01:19.305876 Received DATA (on stdin) 19:01:19.305887 > 3 bytes data, server => client 19:01:19.305898 '.\r\n' 19:01:19.347921 < 6 bytes data, client => server 19:01:19.347949 'QUIT\r\n' 19:01:19.348163 Received DATA (on stdin) 19:01:19.348178 > 34 bytes data, server => client 19:01:19.348191 '+OK curl POP3 server signing off\r\n' 19:01:19.348901 ====> Client disconnect 19:01:19.349078 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 ==123838== ==123838== Process terminating with default action of signal 4 (SIGILL) ==123838== Illegal opcode at address 0x4013E00 ==123838== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123838== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123838== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123838== by 0x40037A4: main (tool_main.c:199) === End of file valgrind894 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/10/valgrind893 ../src/curl -q --output log/10/curl893.out --include --trace-ascii log/10/trace893 --trace-time pop3://127.0.0.1:46197/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/10/stdout893 2> log/10/stderr893 893: 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 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/10/valgrind893 ../src/curl -q --output log/10/curl893.out --include --trace-ascii log/10/trace893 --trace-time pop3://127.0.0.1:46197/893 -u kurt:xipj3plmq --sasl-authzid ursel > log/10/stdout893 2> log/10/stderr893 === End of file commands.log === Start of file pop3_server.log 19:01:19.502329 ====> Client connect 19:01:19.502524 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.502861 < "CAPA" 19:01:19.502905 >CMD (33792): ../libtool --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/valgrind896 ../src/curl -q --output log/3/curl896.out --include --trace-ascii log/3/trace896 --trace-time 'imap://127.0.0.1:46125/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/3/stdout896 2> log/3/stderr896 CMD (33792): ../libtool --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:43313/892 -u user:secret --sasl-authzid shared-mailbox > log/16/stdout892 2> log/16/stderr892 "-ERR Unrecognized command[CR][LF]" 19:01:19.503114 < "RETR verifiedserver" 19:01:19.503145 return proof we are we 19:01:19.503171 > "+OK Mail transfer starts[CR][LF]" 19:01:19.503191 > "WE ROOLZ: 121440[CR][LF]" 19:01:19.503208 > ".[CR][LF]" 19:01:19.549264 < "QUIT" 19:01:19.549322 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.551690 MAIN sockfilt said DISC 19:01:19.551740 ====> Client disconnected 19:01:19.551833 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.274262 ====> Client connect 19:01:19.274605 Received DATA (on stdin) 19:01:19.274625 > 178 bytes data, server => client 19:01:19.274639 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.274652 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.274664 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.274674 've \r\n' 19:01:19.274757 < 6 bytes data, client => server 19:01:19.274771 'CAPA\r\n' 19:01:19.274968 Received DATA (on stdin) 19:01:19.274983 > 27 bytes data, server => client 19:01:19.274996 '-ERR Unrecognized command\r\n' 19:01:19.275055 < 21 bytes data, client => server 19:01:19.275069 'RETR verifiedserver\r\n' 19:01:19.275268 Received DATA (on stdin) 19:01:19.275282 > 26 bytes data, server => client 19:01:19.275294 '+OK Mail transfer starts\r\n' 19:01:19.275317 Received DATA (on stdin) 19:01:19.275328 > 18 bytes data, server => client 19:01:19.275340 'WE ROOLZ: 121440\r\n' 19:01:19.275354 Received DATA (on stdin) 19:01:19.275364 > 3 bytes data, server => client 19:01:19.275375 '.\r\n' 19:01:19.321143 < 6 bytes data, client => server 19:01:19.321171 'QUIT\r\n' 19:01:19.321387 Received DATA (on stdin) 19:01:19.321404 > 34 bytes data, server => client 19:01:19.321417 '+OK curl POP3 server signing off\r\n' 19:01:19.323685 ====> Client disconnect 19:01:19.323899 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 ==123909== ==123909== Process terminating with default action of signal 4 (SIGILL) ==123909== Illegal opcode at address 0x4013E00 ==123909== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123909== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123909== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123909== by 0x40037A4: main (tool_main.c:199) === End of file valgrind893 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/3/valgrind896 ../src/curl -q --output log/3/curl896.out --include --trace-ascii log/3/trace896 --trace-time 'imap://127.0.0.1:46125/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/3/stdout896 2> log/3/stderr896 curl returned 132, when expecting 3 896: exit FAILED == Contents of files in the log/3/ 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/3/valgrind896 ../src/curl -q --output log/3/curl896.out --include --trace-ascii log/3/trace896 --trace-time 'imap://127.0.0.1:46125/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=dummy' > log/3/stdout896 2> log/3/stderr896 === End of file commands.log === Start of file imap_server.log 19:01:19.585503 ====> Client connect 19:01:19.585638 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:19.588348 < "A001 CAPABILITY" 19:01:19.588399 > "A001 BAD Command[CR][LF]" 19:01:19.589021 < "A002 LIST "verifiedserver" *" 19:01:19.589047 LIST_imap got "verifiedserver" * 19:01:19.589073 > "* LIST () "/" "WE ROOLZ: 110266"[CR][LF]" 19:01:19.589088 > "A002 OK LIST Completed[CR][LF]" 19:01:19.589099 return proof we are we 19:01:19.636311 < "A003 LOGOUT" 19:01:19.636379 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:19.636400 > "A003 OK LOGOUT completed[CR][LF]" 19:01:19.637250 MAIN sockfilt said DISC 19:01:19.637281 ====> Client disconnected 19:01:19.637369 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:19.357454 ====> Client connect 19:01:19.357715 Received DATA (on stdin) 19:01:19.357733 > 178 bytes data, server => client 19:01:19.357746 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.357758 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.357769 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:19.357779 'rve\r\n' 19:01:19.360208 < 17 bytes data, client => server 19:01:19.360233 'A001 CAPABILITY\r\n' 19:01:19.360583 Received DATA (on stdin) 19:01:19.360614 > 18 bytes data, server => client 19:01:19.360628 'A001 BAD Command\r\n' 19:01:19.360724 < 30 bytes data, client => server 19:01:19.360737 'A002 LIST "verifiedserver" *\r\n' 19:01:19.361156 Received DATA (on stdin) 19:01:19.361170 > 34 bytes data, server => client 19:01:19.361180 '* LIST () "/" "WE ROOLZ: 110266"\r\n' 19:01:19.361210 Received DATA (on stdin) 19:01:19.361219 > 24 bytes data, server => client 19:01:19.361229 'A002 OK LIST Completed\r\n' 19:01:19.407871 < 13 bytes data, client => server 19:01:19.407902 'A003 LOGOUT\r\n' 19:01:19.408461 Received DATA (on stdin) 19:01:19.408476 > 36 bytes data, server => client 19:01:19.408489 '* BYE curl IMAP server signing off\r\n' 19:01:19.408522 Received DATA (on stdin) 19:01:19.408533 > 26 bytes data, server => client 19:01:19.408545 'A003 OK LOGOUT completed\r\n' 19:01:19.409256 ====> Client disconnect 19:01:19.409429 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 ==124011== ==124011== Process terminating with default action of signal 4 (SIGILL) ==124011== Illegal opcode at address 0x4013E00 ==124011== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124011== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124011== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124011== by 0x40037A4: main (tool_main.c:199) === End of file valgrind896 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:43313/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:43313/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 19:01:19.484291 ====> Client connect 19:01:19.484447 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:19.484791 < "CAPA" 19:01:19.484847 > "-ERR Unrecognized command[CR][LF]" 19:01:19.485058 < "RETR verifiedserver" 19:01:19.48CMD (33792): ../libtool --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/valgrind895 ../src/curl -q --output log/11/curl895.out --include --trace-ascii log/11/trace895 --trace-time 'imap://127.0.0.1:40695/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/11/stdout895 2> log/11/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/24/valgrind899 ../src/curl -q --output log/24/curl899.out --include --trace-ascii log/24/trace899 --trace-time http://first:secret@127.0.0.1:39383/899 -L > log/24/stdout899 2> log/24/stderr899 5090 return proof we are we 19:01:19.485112 > "+OK Mail transfer starts[CR][LF]" 19:01:19.485134 > "WE ROOLZ: 121638[CR][LF]" 19:01:19.485153 > ".[CR][LF]" 19:01:19.531578 < "QUIT" 19:01:19.531639 > "+OK curl POP3 server signing off[CR][LF]" 19:01:19.532958 MAIN sockfilt said DISC 19:01:19.533002 ====> Client disconnected 19:01:19.533072 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:19.256256 ====> Client connect 19:01:19.256527 Received DATA (on stdin) 19:01:19.256544 > 178 bytes data, server => client 19:01:19.256556 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.256567 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.256578 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:19.256586 've \r\n' 19:01:19.256658 < 6 bytes data, client => server 19:01:19.256672 'CAPA\r\n' 19:01:19.256914 Received DATA (on stdin) 19:01:19.256930 > 27 bytes data, server => client 19:01:19.256943 '-ERR Unrecognized command\r\n' 19:01:19.257005 < 21 bytes data, client => server 19:01:19.257020 'RETR verifiedserver\r\n' 19:01:19.257211 Received DATA (on stdin) 19:01:19.257225 > 26 bytes data, server => client 19:01:19.257237 '+OK Mail transfer starts\r\n' 19:01:19.257260 Received DATA (on stdin) 19:01:19.257271 > 18 bytes data, server => client 19:01:19.257284 'WE ROOLZ: 121638\r\n' 19:01:19.257298 Received DATA (on stdin) 19:01:19.257309 > 3 bytes data, server => client 19:01:19.257320 '.\r\n' 19:01:19.303446 < 6 bytes data, client => server 19:01:19.303468 'QUIT\r\n' 19:01:19.303701 Received DATA (on stdin) 19:01:19.303715 > 34 bytes data, server => client 19:01:19.303728 '+OK curl POP3 server signing off\r\n' 19:01:19.304534 ====> Client disconnect 19:01:19.305131 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 ==123859== ==123859== Process terminating with default action of signal 4 (SIGILL) ==123859== Illegal opcode at address 0x4013E00 ==123859== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123859== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123859== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123859== by 0x40037A4: main (tool_main.c:199) === End of file valgrind892 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/11/valgrind895 ../src/curl -q --output log/11/curl895.out --include --trace-ascii log/11/trace895 --trace-time 'imap://127.0.0.1:40695/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/11/stdout895 2> log/11/stderr895 895: 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 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/11/valgrind895 ../src/curl -q --output log/11/curl895.out --include --trace-ascii log/11/trace895 --trace-time 'imap://127.0.0.1:40695/895/;MAILINDEX=1' -u '"user:sec"ret{' --login-options 'AUTH=*' > log/11/stdout895 2> log/11/stderr895 === End of file commands.log === Start of file imap_server.log 19:01:19.563872 ====> Client connect 19:01:19.564056 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:19.564404 < "A001 CAPABILITY" 19:01:19.564450 > "A001 BAD Command[CR][LF]" 19:01:19.564654 < "A002 LIST "verifiedserver" *" 19:01:19.564687 LIST_imap got "verifiedserver" * 19:01:19.564715 > "* LIST () "/" "WE ROOLZ: 118555"[CR][LF]" 19:01:19.564734 > "A002 OK LIST Completed[CR][LF]" 19:01:19.564749 return proof we are we 19:01:19.609293 < "A003 LOGOUT" 19:01:19.609359 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:19.609389 > "A003 OK LOGOUT completed[CR][LF]" 19:01:19.610369 MAIN sockfilt said DISC 19:01:19.610407 ====> Client disconnected 19:01:19.610488 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:19.335804 ====> Client connect 19:01:19.336140 Received DATA (on stdin) 19:01:19.336162 > 178 bytes data, server => client 19:01:19.336178 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.336191 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.336203 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:19.336214 'rve\r\n' 19:01:19.336295 < 17 bytes data, client => server 19:01:19.336309 'A001 CAPABILITY\r\n' 19:01:19.336513 Received DATA (on stdin) 19:01:19.336532 > 18 bytes data, server => client 19:01:19.336544 'A001 BAD Command\r\n' 19:01:19.336604 < 30 bytes data, client => server 19:01:19.336618 'A002 LIST "verifiedserver" *\r\n' 19:01:19.336806 Received DATA (on stdin) 19:01:19.336821 > 34 bytes data, server => client 19:01:19.336832 '* LIST () "/" "WE ROOLZ: 118555"\r\n' 19:01:19.336857 Received DATA (on stdin) 19:01:19.336868 > 24 bytes data, server => client 19:01:19.336880 'A002 OK LIST Completed\r\n' 19:01:19.381165 < 13 bytes data, client => server 19:01:19.381197 'A003 LOGOUT\r\n' 19:01:19.381457 Received DATA (on stdin) 19:01:19.381476 > 36 bytes data, server => client 19:01:19.381489 '* BYE curl IMAP server signing off\r\n' 19:01:19.381522 Received DATA (on stdin) 19:01:19.381535 > 26 bytes data, server => client 19:01:19.381546 'A003 OK LOGOUT completed\r\n' 19:01:19.382366 ====> Client disconnect 19:01:19.382548 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 ==123926== ==123926== Process terminating with default action of signal 4 (SIGILL) ==123926== Illegal opcode at address 0x4013E00 ==123926== at 0x4013E00: getparameter (tool_getparam.c:2846) ==123926== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==123926== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==123926== by 0x40037A4: main (tool_main.c:199) === End of file valgrind895 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/24/valgrind899 ../src/curl -q --output log/24/curl899.out --include --trace-ascii log/24/trace899 --trace-time http://first:secret@127.0.0.1:39383/899 -L > log/24/stdout899 2> log/24/stderr899 899: 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 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/24/valgrind899 ../src/curl -q --output log/24/curl899.out --include --trace-ascii log/24/trace899 --trace-time http://first:secret@127.0.0.1:39383/899 -L > log/24/stdout899 2> log/24/stderr899 === End of file commands.log === Start of file http_server.log 19:01:19.470569 ====> Client connect 19:01:19.470607 accept_connection 3 returned 4 19:01:19.470628 accept_connection 3 returned 0 19:01:19.470935 Read 93 bytes 19:01:19.470956 Process 93 bytes request 19:01:19.470972 Got request: GET /verifiedserver HTTP/1.1 19:01:19.470982 Are-we-friendly question received 19:01:19.471015 Wrote request (93 bytes) input to log/24/server.input 19:01:19.471035 Identifying ourselves as friends 19:01:19.471095 Response sent (56 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/2/valgrind897 ../src/curl -q --output log/2/curl897.out --include --trace-ascii log/2/trace897 --trace-time 'imap://127.0.0.1:42853/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/2/head-897 > log/2/stdout897 2> log/2/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/18/valgrind898 ../src/curl -q --output log/18/curl898.out --include --trace-ascii log/18/trace898 --trace-time -x http://127.0.0.1:39771 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/18/stdout898 2> log/18/stderr898 ) and written to log/24/server.response 19:01:19.471109 special request received, no persistency 19:01:19.471119 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 51112 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind899 ==124156== ==124156== Process terminating with default action of signal 4 (SIGILL) ==124156== Illegal opcode at address 0x4013E00 ==124156== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124156== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124156== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124156== by 0x40037A4: main (tool_main.c:199) === End of file valgrind899 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/2/valgrind897 ../src/curl -q --output log/2/curl897.out --include --trace-ascii log/2/trace897 --trace-time 'imap://127.0.0.1:42853/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/2/head-897 > log/2/stdout897 2> log/2/stderr897 897: 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 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/2/valgrind897 ../src/curl -q --output log/2/curl897.out --include --trace-ascii log/2/trace897 --trace-time 'imap://127.0.0.1:42853/897/;MAILINDEX=123/;SECTION=1' -u user:secret -D log/2/head-897 > log/2/stdout897 2> log/2/stderr897 === End of file commands.log === Start of file imap_server.log 19:01:19.644874 ====> Client connect 19:01:19.644998 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:19.645288 < "A001 CAPABILITY" 19:01:19.645326 > "A001 BAD Command[CR][LF]" 19:01:19.645538 < "A002 LIST "verifiedserver" *" 19:01:19.645571 LIST_imap got "verifiedserver" * 19:01:19.645601 > "* LIST () "/" "WE ROOLZ: 109814"[CR][LF]" 19:01:19.645622 > "A002 OK LIST Completed[CR][LF]" 19:01:19.645636 return proof we are we 19:01:19.689867 < "A003 LOGOUT" 19:01:19.689929 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:19.689955 > "A003 OK LOGOUT completed[CR][LF]" 19:01:19.691157 MAIN sockfilt said DISC 19:01:19.691194 ====> Client disconnected 19:01:19.691264 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:19.416833 ====> Client connect 19:01:19.417065 Received DATA (on stdin) 19:01:19.417080 > 178 bytes data, server => client 19:01:19.417092 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:19.417103 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:19.417114 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:19.417123 'rve\r\n' 19:01:19.417211 < 17 bytes data, client => server 19:01:19.417225 'A001 CAPABILITY\r\n' 19:01:19.417383 Received DATA (on stdin) 19:01:19.417396 > 18 bytes data, server => client 19:01:19.417406 'A001 BAD Command\r\n' 19:01:19.417481 < 30 bytes data, client => server 19:01:19.417498 'A002 LIST "verifiedserver" *\r\n' 19:01:19.417695 Received DATA (on stdin) 19:01:19.417709 > 34 bytes data, server => client 19:01:19.417721 '* LIST () "/" "WE ROOLZ: 109814"\r\n' 19:01:19.417744 Received DATA (on stdin) 19:01:19.417756 > 24 bytes data, server => client 19:01:19.417768 'A002 OK LIST Completed\r\n' 19:01:19.461722 < 13 bytes data, client => server 19:01:19.461752 'A003 LOGOUT\r\n' 19:01:19.462021 Received DATA (on stdin) 19:01:19.462040 > 36 bytes data, server => client 19:01:19.462053 '* BYE curl IMAP server signing off\r\n' 19:01:19.462082 Received DATA (on stdin) 19:01:19.462095 > 26 bytes data, server => client 19:01:19.462108 'A003 OK LOGOUT completed\r\n' 19:01:19.463152 ====> Client disconnect 19:01:19.463332 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 ==124147== ==124147== Process terminating with default action of signal 4 (SIGILL) ==124147== Illegal opcode at address 0x4013E00 ==124147== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124147== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124147== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124147== by 0x40037A4: main (tool_main.c:199) === End of file valgrind897 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/18/valgrind898 ../src/curl -q --output log/18/curl898.out --include --trace-ascii log/18/trace898 --trace-time -x http://127.0.0.1:39771 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/18/stdout898 2> log/18/stderr898 898: 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 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/18/valgrind898 ../src/curl -q --output log/18/curl898.out --include --trace-ascii log/18/trace898 --trace-time -x http://127.0.0.1:39771 http://firsthost.com -L -H "Authorization: Basic am9lOnNlY3JldA==" -H "Cookie: userpwd=am9lOnNlY3JldA==" > log/18/stdout898 2> log/18/stderr898 === End of file commands.log === Start of file http_server.log 19:01:19.480037 ====> Client connect 19:01:19.480083 accept_connection 3 returned 4 19:01:19.480108 accept_connection 3 returned 0 19:01:19.480136 Read 93 bytes 19:01:19.480150 Process 93 bytes request 19:01:19.480178 Got request: GET /verifiedserver HTTP/1.1 19:01:19.480190 Are-we-friendly question received 19:01:19.480226 Wrote request (93 bytes) input to log/18/server.input 19:01:19.480250 Identifying ourselves as friends 19:01:19.480353 Response sent (56 bytes) and written to log/18/server.response 19:01:19.480364 special request received, no persistency 19:01:19.480373 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 46344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind898 =CMD (33792): ../libtool --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/valgrind901 ../src/curl -q --output log/19/curl901.out --include --trace-ascii log/19/trace901 --trace-time smtp://127.0.0.1:33483/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout901 2> log/19/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/12/valgrind914 ../src/curl -q --output log/12/curl914.out --include --trace-ascii log/12/trace914 --trace-time smtp://127.0.0.1:42749/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/12/test914.eml > log/12/stdout914 2> log/12/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/24/valgrind921 ../src/curl -q --output log/24/curl921.out --include --trace-ascii log/24/trace921 --trace-time smtp://127.0.0.1:40091/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/24/stdout921 2> log/24/stderr921 =124206== ==124206== Process terminating with default action of signal 4 (SIGILL) ==124206== Illegal opcode at address 0x4013E00 ==124206== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124206== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124206== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124206== by 0x40037A4: main (tool_main.c:199) === End of file valgrind898 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/19/valgrind901 ../src/curl -q --output log/19/curl901.out --include --trace-ascii log/19/trace901 --trace-time smtp://127.0.0.1:33483/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout901 2> log/19/stderr901 901: 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 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/19/valgrind901 ../src/curl -q --output log/19/curl901.out --include --trace-ascii log/19/trace901 --trace-time smtp://127.0.0.1:33483/901 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/19/stdout901 2> log/19/stderr901 === End of file commands.log === Start of file server.cmd Testnum 901 === End of file server.cmd === Start of file smtp_server.log 19:01:20.125082 ====> Client connect 19:01:20.125293 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:20.125653 < "EHLO verifiedserver" 19:01:20.125706 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:20.125885 < "HELP" 19:01:20.125919 > "214 WE ROOLZ: 109820[CR][LF]" 19:01:20.125933 return proof we are we 19:01:20.126154 < "QUIT" 19:01:20.126182 > "221 curl ESMTP server signing off[CR][LF]" 19:01:20.127411 MAIN sockfilt said DISC 19:01:20.127445 ====> Client disconnected 19:01:20.127513 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:19.897020 ====> Client connect 19:01:19.897369 Received DATA (on stdin) 19:01:19.897387 > 160 bytes data, server => client 19:01:19.897399 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:19.897411 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:19.897421 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:19.897533 < 21 bytes data, client => server 19:01:19.897546 'EHLO verifiedserver\r\n' 19:01:19.897767 Received DATA (on stdin) 19:01:19.897781 > 53 bytes data, server => client 19:01:19.897792 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:19.897848 < 6 bytes data, client => server 19:01:19.897859 'HELP\r\n' 19:01:19.897988 Received DATA (on stdin) 19:01:19.898000 > 22 bytes data, server => client 19:01:19.898010 '214 WE ROOLZ: 109820\r\n' 19:01:19.898123 < 6 bytes data, client => server 19:01:19.898136 'QUIT\r\n' 19:01:19.898238 Received DATA (on stdin) 19:01:19.898249 > 35 bytes data, server => client 19:01:19.898260 '221 curl ESMTP server signing off\r\n' 19:01:19.898948 ====> Client disconnect 19:01:19.899572 Received ACKD (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 ==124364== ==124364== Process terminating with default action of signal 4 (SIGILL) ==124364== Illegal opcode at address 0x4013E00 ==124364== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124364== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124364== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124364== by 0x40037A4: main (tool_main.c:199) === End of file valgrind901 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/12/valgrind914 ../src/curl -q --output log/12/curl914.out --include --trace-ascii log/12/trace914 --trace-time smtp://127.0.0.1:42749/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/12/test914.eml > log/12/stdout914 2> log/12/stderr914 914: 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 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/12/valgrind914 ../src/curl -q --output log/12/curl914.out --include --trace-ascii log/12/trace914 --trace-time smtp://127.0.0.1:42749/914 --mail-rcpt recipient@example.com --mail-from invalid -T log/12/test914.eml > log/12/stdout914 2> log/12/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 19:01:20.636509 ====> Client connect 19:01:20.636707 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:20.637106 < "EHLO verifiedserver" 19:01:20.637163 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:20.637459 < "HELP" 19:01:20.637514 > "214 WE ROOLZ: 109817[CR][LF]" 19:01:20.637534 return proof we are we 19:01:20.637834 < "QUIT" 19:01:20.637879 > "221 curl ESMTP server signing off[CR][LF]" 19:01:20.638733 MAIN sockfilt said DISC 19:01:20.638778 ====> Client disconnected 19:01:20.638856 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.408182 ====> Client connect 19:01:20.408787 Received DATA (on stdin) 19:01:20.408811 > 160 bytes data, server => client 19:01:20.408824 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:20.408836 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:20.408848 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:20.408971 < 21 bytes data, client => server 19:01:20.408990 'EHLO verifiedserver\r\n' 19:01:20.409229 Received DATA (on stdin) 19:01:20.409246 > 53 bytes data, server => client 19:01:20.409261 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:20.409352 < 6 bytes data, client => server 19:01:20.409380 'HELP\r\n' 19:01:20.409598 Received DATA (on stdin) 19:01:20.409616 > 22 bytes data, server => client 19:01:20.409629 '214 WE ROOLZ: 109817\r\n' 19:01:20.409758 < 6 bytes data, client => server 19:01:20.409775 'QUIT\r\n' 19:01:20.409966 Received DATA (on stdin) 19:01:20.409982 > 35 bytes data, server => client 19:01:20.409995 '221 curl ESMTP server signing off\r\n' 19:01:20.410714 ====> Client disconnect 19:01:20.410925 Received ACKD (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 ==124480== ==124480== Process terminating with default action of signal 4 (SIGILL) ==124480== Illegal opcode at address 0x4013E00 ==124480== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124480== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124480== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124480== by 0x40037A4: main (tool_main.c:199) === End of file valgrind914 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 --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/18/valgrind923 ../src/curl -q --output log/18/curl923.out --include --trace-ascii log/18/trace923 --trace-time smtp://127.0.0.1:34079/923 --mail-rcpt recipient > log/18/stdout923 2> log/18/stderr923 CMD (33792): ../libtool --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/valgrind900 ../src/curl -q --output log/13/curl900.out --include --trace-ascii log/13/trace900 --trace-time smtp://127.0.0.1:46883/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/mail900 > log/13/stdout900 2> log/13/stderr900 =log/24/valgrind921 ../src/curl -q --output log/24/curl921.out --include --trace-ascii log/24/trace921 --trace-time smtp://127.0.0.1:40091/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/24/stdout921 2> log/24/stderr921 921: 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 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/24/valgrind921 ../src/curl -q --output log/24/curl921.out --include --trace-ascii log/24/trace921 --trace-time smtp://127.0.0.1:40091/921 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass --sasl-ir -T - log/24/stdout921 2> log/24/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 19:01:20.722183 ====> Client connect 19:01:20.722304 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:20.722533 < "EHLO verifiedserver" 19:01:20.722568 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:20.722701 < "HELP" 19:01:20.722728 > "214 WE ROOLZ: 109754[CR][LF]" 19:01:20.722739 return proof we are we 19:01:20.722901 < "QUIT" 19:01:20.722923 > "221 curl ESMTP server signing off[CR][LF]" 19:01:20.723423 MAIN sockfilt said DISC 19:01:20.723445 ====> Client disconnected 19:01:20.723492 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:21.494159 ====> Client connect 19:01:21.494365 Received DATA (on stdin) 19:01:21.494377 > 160 bytes data, server => client 19:01:21.494386 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:21.494395 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:21.494403 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:21.494462 < 21 bytes data, client => server 19:01:21.494472 'EHLO verifiedserver\r\n' 19:01:21.494623 Received DATA (on stdin) 19:01:21.494633 > 53 bytes data, server => client 19:01:21.494642 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:21.494683 < 6 bytes data, client => server 19:01:21.494692 'HELP\r\n' 19:01:21.494790 Received DATA (on stdin) 19:01:21.494799 > 22 bytes data, server => client 19:01:21.494807 '214 WE ROOLZ: 109754\r\n' 19:01:21.494875 < 6 bytes data, client => server 19:01:21.494885 'QUIT\r\n' 19:01:21.494975 Received DATA (on stdin) 19:01:21.494984 > 35 bytes data, server => client 19:01:21.494992 '221 curl ESMTP server signing off\r\n' 19:01:21.495432 ====> Client disconnect 19:01:21.495546 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 ==124560== ==124560== Process terminating with default action of signal 4 (SIGILL) ==124560== Illegal opcode at address 0x4013E00 ==124560== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124560== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124560== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124560== by 0x40037A4: main (tool_main.c:199) === End of file valgrind921 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/18/valgrind923 ../src/curl -q --output log/18/curl923.out --include --trace-ascii log/18/trace923 --trace-time smtp://127.0.0.1:34079/923 --mail-rcpt recipient > log/18/stdout923 2> log/18/stderr923 923: 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 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/18/valgrind923 ../src/curl -q --output log/18/curl923.out --include --trace-ascii log/18/trace923 --trace-time smtp://127.0.0.1:34079/923 --mail-rcpt recipient > log/18/stdout923 2> log/18/stderr923 === End of file commands.log === Start of file server.cmd Testnum 923 === End of file server.cmd === Start of file smtp_server.log 19:01:20.859363 ====> Client connect 19:01:20.859485 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:20.859699 < "EHLO verifiedserver" 19:01:20.859729 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:20.859849 < "HELP" 19:01:20.859870 > "214 WE ROOLZ: 109952[CR][LF]" 19:01:20.859880 return proof we are we 19:01:20.860032 < "QUIT" 19:01:20.860050 > "221 curl ESMTP server signing off[CR][LF]" 19:01:20.860437 MAIN sockfilt said DISC 19:01:20.860458 ====> Client disconnected 19:01:20.860501 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.631337 ====> Client connect 19:01:20.631545 Received DATA (on stdin) 19:01:20.631556 > 160 bytes data, server => client 19:01:20.631565 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:20.631574 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:20.631581 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:20.631636 < 21 bytes data, client => server 19:01:20.631645 'EHLO verifiedserver\r\n' 19:01:20.631782 Received DATA (on stdin) 19:01:20.631792 > 53 bytes data, server => client 19:01:20.631801 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:20.631839 < 6 bytes data, client => server 19:01:20.631847 'HELP\r\n' 19:01:20.631931 Received DATA (on stdin) 19:01:20.631939 > 22 bytes data, server => client 19:01:20.631947 '214 WE ROOLZ: 109952\r\n' 19:01:20.632011 < 6 bytes data, client => server 19:01:20.632021 'QUIT\r\n' 19:01:20.632101 Received DATA (on stdin) 19:01:20.632109 > 35 bytes data, server => client 19:01:20.632117 '221 curl ESMTP server signing off\r\n' 19:01:20.632448 ====> Client disconnect 19:01:20.632551 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind923 ==124631== ==124631== Process terminating with default action of signal 4 (SIGILL) ==124631== Illegal opcode at address 0x4013E00 ==124631== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124631== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124631== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124631== by 0x40037A4: main (tool_main.c:199) === End of file valgrind923 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 46883 (log/13/server/smtp_server.port) RUN: SMTP server is PID 124334 port 46883 * pid smtp => 124334 124334 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/13/valgrind900 ../src/curl -q --output log/13/curl900.out --include --trace-ascii log/13/trace900 --trace-time smtp://127.0.0.1:46883/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/mail900 > log/13/stdout900 2> log/13/stderr900 900: 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 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/13/valgrind900 ../src/curl -q --output log/13/curl900.out --include --trace-ascii log/13/trace900 --trace-time smtp://127.0.0.1:46883/900 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/13/mail900 > log/13/stdout900 2> log/13/stderr900 === End of file commands.log === Start of file mail900 From: different To: another body 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901CMD (33792): ../libtool --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/valgrind924 ../src/curl -q --output log/19/curl924.out --include --trace-ascii log/19/trace924 --trace-time smtp://127.0.0.1:33483/924 --mail-rcpt smith > log/19/stdout924 2> log/19/stderr924 CMD (33792): ../libtool --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/valgrind902 ../src/curl -q --output log/4/curl902.out --include --trace-ascii log/4/trace902 --trace-time smtp://127.0.0.1:44681/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/4/stdout902 2> log/4/stderr902 234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 === End of file mail900 === Start of file server.cmd Testnum 900 === End of file server.cmd === Start of file smtp_server.log 19:01:20.116878 SMTP server listens on port IPv4/46883 19:01:20.116972 logged pid 124334 in log/13/server/smtp_server.pid 19:01:20.117002 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.888442 Running IPv4 version 19:01:20.888547 Listening on port 46883 19:01:20.888587 Wrote pid 124355 to log/13/server/smtp_sockfilt.pid 19:01:20.888614 Wrote port 46883 to log/13/server/smtp_server.port 19:01:20.888834 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind900 ==124685== ==124685== Process terminating with default action of signal 4 (SIGILL) ==124685== Illegal opcode at address 0x4013E00 ==124685== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124685== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124685== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124685== by 0x40037A4: main (tool_main.c:199) === End of file valgrind900 test 0924...[SMTP ambiguous 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/19/valgrind924 ../src/curl -q --output log/19/curl924.out --include --trace-ascii log/19/trace924 --trace-time smtp://127.0.0.1:33483/924 --mail-rcpt smith > log/19/stdout924 2> log/19/stderr924 924: 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 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/19/valgrind924 ../src/curl -q --output log/19/curl924.out --include --trace-ascii log/19/trace924 --trace-time smtp://127.0.0.1:33483/924 --mail-rcpt smith > log/19/stdout924 2> log/19/stderr924 === End of file commands.log === Start of file server.cmd Testnum 924 === End of file server.cmd === Start of file smtp_server.log 19:01:21.103340 ====> Client connect 19:01:21.103451 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:21.103655 < "EHLO verifiedserver" 19:01:21.103685 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:21.103806 < "HELP" 19:01:21.103827 > "214 WE ROOLZ: 109820[CR][LF]" 19:01:21.103838 return proof we are we 19:01:21.103980 < "QUIT" 19:01:21.104000 > "221 curl ESMTP server signing off[CR][LF]" 19:01:21.104430 MAIN sockfilt said DISC 19:01:21.104451 ====> Client disconnected 19:01:21.104497 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.875313 ====> Client connect 19:01:20.875512 Received DATA (on stdin) 19:01:20.875523 > 160 bytes data, server => client 19:01:20.875533 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:20.875541 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:20.875549 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:20.875603 < 21 bytes data, client => server 19:01:20.875613 'EHLO verifiedserver\r\n' 19:01:20.875738 Received DATA (on stdin) 19:01:20.875748 > 53 bytes data, server => client 19:01:20.875756 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:20.875796 < 6 bytes data, client => server 19:01:20.875804 'HELP\r\n' 19:01:20.875888 Received DATA (on stdin) 19:01:20.875897 > 22 bytes data, server => client 19:01:20.875905 '214 WE ROOLZ: 109820\r\n' 19:01:20.875969 < 6 bytes data, client => server 19:01:20.875978 'QUIT\r\n' 19:01:20.876051 Received DATA (on stdin) 19:01:20.876060 > 35 bytes data, server => client 19:01:20.876068 '221 curl ESMTP server signing off\r\n' 19:01:20.876442 ====> Client disconnect 19:01:20.876548 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind924 ==124753== ==124753== Process terminating with default action of signal 4 (SIGILL) ==124753== Illegal opcode at address 0x4013E00 ==124753== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124753== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124753== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124753== by 0x40037A4: 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/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 44681 (log/4/server/smtp_server.port) RUN: SMTP server is PID 124365 port 44681 * pid smtp => 124365 124365 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/4/valgrind902 ../src/curl -q --output log/4/curl902.out --include --trace-ascii log/4/trace902 --trace-time smtp://127.0.0.1:44681/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/4/stdout902 2> log/4/stderr902 902: 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 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/4/valgrind902 ../src/curl -q --output log/4/curl902.out --include --trace-ascii log/4/trace902 --trace-time smtp://127.0.0.1:44681/902 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/4/stdout902 2> log/4/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 19:01:20.235538 SMTP server listens on port IPv4/44681 19:01:20.235652 logged pid 124365 in log/4/server/smtp_server.pid 19:01:20.235688 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.003013 Running IPv4 version 19:01:20.003119 Listening on port 44681 19:01:20.003165 Wrote pid 124381 to log/4/server/smtp_sockfilt.pid 19:01:20.003199 Wrote port 44681 to log/4/server/smtp_server.port 19:01:20.007446 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 ==124806== ==124806== Process terminating with default action of signal 4 (SIGILL) ==124806== Illegal opcode at address 0x4013E00 ==124806== at 0x4013E00: 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/6/valgrind740 ../src/curl -q --output log/6/curl740.out --include --trace-ascii log/6/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout740 2> log/6/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/12/valgrind925 ../src/curl -q --output log/12/curl925.out --include --trace-ascii log/12/trace925 --trace-time smtp://127.0.0.1:42749/925 --mail-rcpt user@example.net > log/12/stdout925 2> log/12/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/24/valgrind926 ../src/curl -q --output log/24/curl926.out --include --trace-ascii log/24/trace926 --trace-time smtp://127.0.0.1:40091/926 --mail-rcpt recipient > log/24/stdout926 2> log/24/stderr926 eter (tool_getparam.c:2846) ==124806== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124806== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124806== by 0x40037A4: main (tool_main.c:199) === End of file valgrind902 setenv HOME = /startdir/src/build-curl/tests/log/6 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/6/valgrind740 ../src/curl -q --output log/6/curl740.out --include --trace-ascii log/6/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout740 2> log/6/stderr740 740: 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 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/6/valgrind740 ../src/curl -q --output log/6/curl740.out --include --trace-ascii log/6/trace740 --trace-time ipfs://bafybeidecnvkrygux6uoukouzps5ofkeevoqland7kopseiod6pzqvjg7u > log/6/stdout740 2> log/6/stderr740 === End of file commands.log === Start of file http_server.log 19:01:10.834476 ====> Client connect 19:01:10.834509 accept_connection 3 returned 4 19:01:10.834526 accept_connection 3 returned 0 19:01:10.834541 Read 93 bytes 19:01:10.834552 Process 93 bytes request 19:01:10.834566 Got request: GET /verifiedserver HTTP/1.1 19:01:10.834577 Are-we-friendly question received 19:01:10.834602 Wrote request (93 bytes) input to log/6/server.input 19:01:10.834619 Identifying ourselves as friends 19:01:10.834663 Response sent (56 bytes) and written to log/6/server.response 19:01:10.834674 special request received, no persistency 19:01:10.834685 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 38402 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind740 ==115245== ==115245== Process terminating with default action of signal 4 (SIGILL) ==115245== Illegal opcode at address 0x4013E00 ==115245== at 0x4013E00: getparameter (tool_getparam.c:2846) ==115245== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==115245== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==115245== by 0x40037A4: main (tool_main.c:199) === End of file valgrind740 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/12/valgrind925 ../src/curl -q --output log/12/curl925.out --include --trace-ascii log/12/trace925 --trace-time smtp://127.0.0.1:42749/925 --mail-rcpt user@example.net > log/12/stdout925 2> log/12/stderr925 925: 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 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/12/valgrind925 ../src/curl -q --output log/12/curl925.out --include --trace-ascii log/12/trace925 --trace-time smtp://127.0.0.1:42749/925 --mail-rcpt user@example.net > log/12/stdout925 2> log/12/stderr925 === End of file commands.log === Start of file server.cmd Testnum 925 === End of file server.cmd === Start of file smtp_server.log 19:01:21.359784 ====> Client connect 19:01:21.359894 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:21.360118 < "EHLO verifiedserver" 19:01:21.360153 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:21.360287 < "HELP" 19:01:21.360311 > "214 WE ROOLZ: 109817[CR][LF]" 19:01:21.360322 return proof we are we 19:01:21.360490 < "QUIT" 19:01:21.360510 > "221 curl ESMTP server signing off[CR][LF]" 19:01:21.361000 MAIN sockfilt said DISC 19:01:21.361020 ====> Client disconnected 19:01:21.361062 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:21.131743 ====> Client connect 19:01:21.131954 Received DATA (on stdin) 19:01:21.131967 > 160 bytes data, server => client 19:01:21.131977 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:21.131985 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:21.131994 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:21.132049 < 21 bytes data, client => server 19:01:21.132059 'EHLO verifiedserver\r\n' 19:01:21.132207 Received DATA (on stdin) 19:01:21.132217 > 53 bytes data, server => client 19:01:21.132226 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:21.132266 < 6 bytes data, client => server 19:01:21.132275 'HELP\r\n' 19:01:21.132373 Received DATA (on stdin) 19:01:21.132382 > 22 bytes data, server => client 19:01:21.132391 '214 WE ROOLZ: 109817\r\n' 19:01:21.132457 < 6 bytes data, client => server 19:01:21.132468 'QUIT\r\n' 19:01:21.132562 Received DATA (on stdin) 19:01:21.132571 > 35 bytes data, server => client 19:01:21.132579 '221 curl ESMTP server signing off\r\n' 19:01:21.133013 ====> Client disconnect 19:01:21.133113 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind925 ==124889== ==124889== Process terminating with default action of signal 4 (SIGILL) ==124889== Illegal opcode at address 0x4013E00 ==124889== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124889== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124889== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124889== by 0x40037A4: main (tool_main.c:199) === End of file valgrind925 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/24/valgrind926 ../src/curl -q --output log/24/curl926.out --include --trace-ascii log/24/trace926 --trace-time smtp://127.0.0.1:40091/926 --mail-rcpt recipient > log/24/stdout926 2> log/24/stderr926 926: 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 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/24/valgrind926 ../src/curl -q --output log/24/curl926.out --include --trace-ascii log/24/trace926 --trace-time smtp://127.0.0.1:40091/926 --mail-rcpt recipient > log/24/stdout926 2> log/24/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 19:01:21.359784 ====> Client connect 19:01:21.359894 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:21.360114 < "EHLO verifiedCMD (33792): ../libtool --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/valgrind904 ../src/curl -q --output log/21/curl904.out --include --trace-ascii log/21/trace904 --trace-time smtp://127.0.0.1:45703/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout904 2> log/21/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/7/valgrind903 ../src/curl -q --output log/7/curl903.out --include --trace-ascii log/7/trace903 --trace-time smtp://127.0.0.1:36447/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/7/stdout903 2> log/7/stderr903 CMD (33792): ../libtool --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/valgrind908 ../src/curl -q --output log/1/curl908.out --include --trace-ascii log/1/trace908 --trace-time smtp://127.0.0.1:44329/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/1/stdout908 2> log/1/stderr908 server" 19:01:21.360146 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:21.360275 < "HELP" 19:01:21.360298 > "214 WE ROOLZ: 109754[CR][LF]" 19:01:21.360308 return proof we are we 19:01:21.360478 < "QUIT" 19:01:21.360498 > "221 curl ESMTP server signing off[CR][LF]" 19:01:21.360929 MAIN sockfilt said DISC 19:01:21.360950 ====> Client disconnected 19:01:21.360997 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.131742 ====> Client connect 19:01:22.131955 Received DATA (on stdin) 19:01:22.131967 > 160 bytes data, server => client 19:01:22.131976 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.131985 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.131993 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.132047 < 21 bytes data, client => server 19:01:22.132057 'EHLO verifiedserver\r\n' 19:01:22.132201 Received DATA (on stdin) 19:01:22.132211 > 53 bytes data, server => client 19:01:22.132220 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.132262 < 6 bytes data, client => server 19:01:22.132271 'HELP\r\n' 19:01:22.132359 Received DATA (on stdin) 19:01:22.132368 > 22 bytes data, server => client 19:01:22.132377 '214 WE ROOLZ: 109754\r\n' 19:01:22.132444 < 6 bytes data, client => server 19:01:22.132455 'QUIT\r\n' 19:01:22.132550 Received DATA (on stdin) 19:01:22.132559 > 35 bytes data, server => client 19:01:22.132568 '221 curl ESMTP server signing off\r\n' 19:01:22.132945 ====> Client disconnect 19:01:22.133047 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind926 ==124890== ==124890== Process terminating with default action of signal 4 (SIGILL) ==124890== Illegal opcode at address 0x4013E00 ==124890== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124890== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124890== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124890== by 0x40037A4: main (tool_main.c:199) === End of file valgrind926 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 45703 (log/21/server/smtp_server.port) RUN: SMTP server is PID 124443 port 45703 * pid smtp => 124443 124443 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/21/valgrind904 ../src/curl -q --output log/21/curl904.out --include --trace-ascii log/21/trace904 --trace-time smtp://127.0.0.1:45703/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout904 2> log/21/stderr904 904: 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 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/21/valgrind904 ../src/curl -q --output log/21/curl904.out --include --trace-ascii log/21/trace904 --trace-time smtp://127.0.0.1:45703/904 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout904 2> log/21/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 19:01:20.527156 SMTP server listens on port IPv4/45703 19:01:20.527253 logged pid 124443 in log/21/server/smtp_server.pid 19:01:20.527285 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.298929 Running IPv4 version 19:01:20.299013 Listening on port 45703 19:01:20.299053 Wrote pid 124445 to log/21/server/smtp_sockfilt.pid 19:01:20.299083 Wrote port 45703 to log/21/server/smtp_server.port 19:01:20.299106 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 ==124996== ==124996== Process terminating with default action of signal 4 (SIGILL) ==124996== Illegal opcode at address 0x4013E00 ==124996== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124996== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124996== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124996== by 0x40037A4: 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/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 36447 (log/7/server/smtp_server.port) RUN: SMTP server is PID 124441 port 36447 * pid smtp => 124441 124441 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/7/valgrind903 ../src/curl -q --output log/7/curl903.out --include --trace-ascii log/7/trace903 --trace-time smtp://127.0.0.1:36447/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/7/stdout903 2> log/7/stderr903 903: 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 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/7/valgrind903 ../src/curl -q --output log/7/curl903.out --include --trace-ascii log/7/trace903 --trace-time smtp://127.0.0.1:36447/903 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/7/stdout903 2> log/7/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 19:01:20.525080 SMTP server listens on port IPv4/36447 19:01:20.525151 logged pid 124441 in log/7/server/smtp_server.pid 19:01:20.525174 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.296584 Running IPv4 version 19:01:20.296657 Listening on port 36447 19:01:20.296691 Wrote pid 124444 to log/7/server/smtp_sockfilt.pid 19:01:20.296776 Wrote port 36447 to log/7/server/smtp_server.port 19:01:20.296797 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 ==124992== ==124992== Process terminating with default action of signal 4 (SIGILL) ==124992== Illegal opcode at address 0x4013E00 ==124992== at 0x4013E00: getparameter (tool_getparam.c:2846) ==124992== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==124992== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==124992== by 0x40037A4: 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/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 runsCMD (33792): ../libtool --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/valgrind927 ../src/curl -q --output log/18/curl927.out --include --trace-ascii log/18/trace927 --trace-time smtp://127.0.0.1:34079/927 --mail-rcpt Friends -X EXPN > log/18/stdout927 2> log/18/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/23/valgrind906 ../src/curl -q --output log/23/curl906.out --include --trace-ascii log/23/trace906 --trace-time smtp://127.0.0.1:42473/906 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - log/23/stdout906 2> log/23/stderr906 on port 44329 (log/1/server/smtp_server.port) RUN: SMTP server is PID 124448 port 44329 * pid smtp => 124448 124448 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/1/valgrind908 ../src/curl -q --output log/1/curl908.out --include --trace-ascii log/1/trace908 --trace-time smtp://127.0.0.1:44329/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/1/stdout908 2> log/1/stderr908 908: 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 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/1/valgrind908 ../src/curl -q --output log/1/curl908.out --include --trace-ascii log/1/trace908 --trace-time smtp://127.0.0.1:44329/908 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/1/stdout908 2> log/1/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 19:01:20.565869 SMTP server listens on port IPv4/44329 19:01:20.565947 logged pid 124448 in log/1/server/smtp_server.pid 19:01:20.565976 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.337661 Running IPv4 version 19:01:20.337738 Listening on port 44329 19:01:20.337778 Wrote pid 124450 to log/1/server/smtp_sockfilt.pid 19:01:20.337811 Wrote port 44329 to log/1/server/smtp_server.port 19:01:20.337835 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 ==125123== ==125123== Process terminating with default action of signal 4 (SIGILL) ==125123== Illegal opcode at address 0x4013E00 ==125123== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125123== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125123== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125123== by 0x40037A4: main (tool_main.c:199) === End of file valgrind908 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/18/valgrind927 ../src/curl -q --output log/18/curl927.out --include --trace-ascii log/18/trace927 --trace-time smtp://127.0.0.1:34079/927 --mail-rcpt Friends -X EXPN > log/18/stdout927 2> log/18/stderr927 927: 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 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/18/valgrind927 ../src/curl -q --output log/18/curl927.out --include --trace-ascii log/18/trace927 --trace-time smtp://127.0.0.1:34079/927 --mail-rcpt Friends -X EXPN > log/18/stdout927 2> log/18/stderr927 === End of file commands.log === Start of file server.cmd Testnum 927 === End of file server.cmd === Start of file smtp_server.log 19:01:21.555677 ====> Client connect 19:01:21.555830 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:21.556044 < "EHLO verifiedserver" 19:01:21.556076 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:21.556238 < "HELP" 19:01:21.556268 > "214 WE ROOLZ: 109952[CR][LF]" 19:01:21.556282 return proof we are we 19:01:21.556480 < "QUIT" 19:01:21.556513 > "221 curl ESMTP server signing off[CR][LF]" 19:01:21.556662 MAIN sockfilt said DISC 19:01:21.556690 ====> Client disconnected 19:01:21.556772 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:21.327589 ====> Client connect 19:01:21.327860 Received DATA (on stdin) 19:01:21.327885 > 160 bytes data, server => client 19:01:21.327897 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:21.327907 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:21.327915 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:21.327981 < 21 bytes data, client => server 19:01:21.327991 'EHLO verifiedserver\r\n' 19:01:21.328133 Received DATA (on stdin) 19:01:21.328144 > 53 bytes data, server => client 19:01:21.328155 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:21.328206 < 6 bytes data, client => server 19:01:21.328217 'HELP\r\n' 19:01:21.328337 Received DATA (on stdin) 19:01:21.328349 > 22 bytes data, server => client 19:01:21.328360 '214 WE ROOLZ: 109952\r\n' 19:01:21.328453 < 6 bytes data, client => server 19:01:21.328467 'QUIT\r\n' 19:01:21.328573 Received DATA (on stdin) 19:01:21.328587 > 35 bytes data, server => client 19:01:21.328599 '221 curl ESMTP server signing off\r\n' 19:01:21.328662 ====> Client disconnect 19:01:21.328807 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind927 ==125191== ==125191== Process terminating with default action of signal 4 (SIGILL) ==125191== Illegal opcode at address 0x4013E00 ==125191== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125191== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125191== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125191== by 0x40037A4: 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/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 42473 (log/23/server/smtp_server.port) RUN: SMTP server is PID 124447 port 42473 * pid smtp => 124447 124447 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 --include --trace-ascii log/23/trace906 --trace-time smtp://127.0.0.1:42473/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:42473/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 TlRMTVNTUAACAAAAAgACADAAAACGggEAc51AYVDgyNcAAAAAAAAAAG4AbgAyAAAAQ0MCAAQAQwBDAAEAEgBFAEwASQBTAEEAQgBFAFQASAAEABgAYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAwAsAGUAbABpAHMAYQBiAGUAdABoAC4AYwBjAC4AaQBjAGUAZABlAHYALgBuAHUAAAAACMD (33792): ../libtool --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/valgrind905 ../src/curl -q --output log/5/curl905.out --include --trace-ascii log/5/trace905 --trace-time smtp://127.0.0.1:45829/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/5/stdout905 2> log/5/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/20/valgrind911 ../src/curl -q --output log/20/curl911.out --include --trace-ascii log/20/trace911 --trace-time smtp://127.0.0.1:34071/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/20/stdout911 2> log/20/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/15/valgrind915 ../src/curl -q --output log/15/curl915.out --include --trace-ascii log/15/trace915 --trace-time smtp://127.0.0.1:46573/915 --mail-rcpt recipient@example.com -T - log/15/stdout915 2> log/15/stderr915 AA== REPLY TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAAAAABwAAAACAAIAHAAAAALAAsAeAAAAAAAAAAAAAAAhoIBAFpkQwKRCZFMhjj0tw47wEjKHRHlvzfxQamFcheMuv8v+xeqphEO5V41xRd7R9deOXRlc3R1c2VyV09SS1NUQVRJT04= 235 Authenticated Testnum 906 === End of file server.cmd === Start of file smtp_server.log 19:01:20.573409 SMTP server listens on port IPv4/42473 19:01:20.573476 logged pid 124447 in log/23/server/smtp_server.pid 19:01:20.573497 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.345230 Running IPv4 version 19:01:20.345311 Listening on port 42473 19:01:20.345343 Wrote pid 124451 to log/23/server/smtp_sockfilt.pid 19:01:20.345366 Wrote port 42473 to log/23/server/smtp_server.port 19:01:20.345386 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 ==125108== ==125108== Process terminating with default action of signal 4 (SIGILL) ==125108== Illegal opcode at address 0x4013E00 ==125108== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125108== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125108== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125108== by 0x40037A4: 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/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/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45829 (log/5/server/smtp_server.port) RUN: SMTP server is PID 124446 port 45829 * pid smtp => 124446 124446 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/5/valgrind905 ../src/curl -q --output log/5/curl905.out --include --trace-ascii log/5/trace905 --trace-time smtp://127.0.0.1:45829/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/5/stdout905 2> log/5/stderr905 905: 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 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/5/valgrind905 ../src/curl -q --output log/5/curl905.out --include --trace-ascii log/5/trace905 --trace-time smtp://127.0.0.1:45829/905 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/5/stdout905 2> log/5/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 19:01:20.574066 SMTP server listens on port IPv4/45829 19:01:20.574148 logged pid 124446 in log/5/server/smtp_server.pid 19:01:20.574177 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.345848 Running IPv4 version 19:01:20.345919 Listening on port 45829 19:01:20.345958 Wrote pid 124452 to log/5/server/smtp_sockfilt.pid 19:01:20.345988 Wrote port 45829 to log/5/server/smtp_server.port 19:01:20.346012 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 ==125099== ==125099== Process terminating with default action of signal 4 (SIGILL) ==125099== Illegal opcode at address 0x4013E00 ==125099== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125099== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125099== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125099== by 0x40037A4: main (tool_main.c:199) === End of file valgrind905 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 34071 (log/20/server/smtp_server.port) RUN: SMTP server is PID 124456 port 34071 * pid smtp => 124456 124456 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/20/valgrind911 ../src/curl -q --output log/20/curl911.out --include --trace-ascii log/20/trace911 --trace-time smtp://127.0.0.1:34071/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/20/stdout911 2> log/20/stderr911 911: 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 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/20/valgrind911 ../src/curl -q --output log/20/curl911.out --include --trace-ascii log/20/trace911 --trace-time smtp://127.0.0.1:34071/911 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/20/stdout911 2> log/20/stderr911 === End of file commands.log === Start of file server.cmd Testnum 911 === End of file server.cmd === Start of file smtp_server.log 19:01:20.642865 SMTP server listens on port IPv4/34071 19:01:20.642953 logged pid 124456 in log/20/server/smtp_server.pid 19:01:20.642983 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.414515 Running IPv4 version 19:01:20.414582 Listening on port 34071 19:01:20.414624 Wrote pid 124478 to log/20/server/smtp_sockfilt.pid 19:01:20.414656 Wrote port 34071 to log/20/server/smtp_server.port 19:01:20.414825 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind911 ==125313== ==125313== Process terminating with default action of signal 4 (SIGILL) ==125313== Illegal opcode at address 0x4013E00 ==125313== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125313== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125313== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125313== by 0x40037A4: 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/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 46573 (log/15/server/smtp_server.port) RUN: SMTP server is PID 124465 port 46573 * pid smtp => 124465 124465 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/15/valgrind915 ../src/curl -q --output log/15/curl915.out --include --trace-ascii log/15/trace915 --trace-time smtp://127.0.0.1:46573/915 --mail-rcpt recipient@example.com -T - log/15/stdout915 2> log/15/stderr915 915: 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 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 -CMD (33792): ../libtool --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/valgrind912 ../src/curl -q --output log/17/curl912.out --include --trace-ascii log/17/trace912 --trace-time smtp://127.0.0.1:39497/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/17/test912.eml > log/17/stdout912 2> log/17/stderr912 CMD (33792): ../libtool --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/valgrind909 ../src/curl -q --output log/8/curl909.out --include --trace-ascii log/8/trace909 --trace-time smtp://127.0.0.1:44579/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/8/test909.eml > log/8/stdout909 2> log/8/stderr909 CMD (33792): ../libtool --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/valgrind910 ../src/curl -q --output log/14/curl910.out --include --trace-ascii log/14/trace910 --trace-time smtp://127.0.0.1:37909/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/14/stdout910 2> log/14/stderr910 -log-file=log/15/valgrind915 ../src/curl -q --output log/15/curl915.out --include --trace-ascii log/15/trace915 --trace-time smtp://127.0.0.1:46573/915 --mail-rcpt recipient@example.com -T - log/15/stdout915 2> log/15/stderr915 === End of file commands.log === Start of file server.cmd Testnum 915 === End of file server.cmd === Start of file smtp_server.log 19:01:20.654725 SMTP server listens on port IPv4/46573 19:01:20.654804 logged pid 124465 in log/15/server/smtp_server.pid 19:01:20.654856 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.426485 Running IPv4 version 19:01:20.426566 Listening on port 46573 19:01:20.426622 Wrote pid 124489 to log/15/server/smtp_sockfilt.pid 19:01:20.426656 Wrote port 46573 to log/15/server/smtp_server.port 19:01:20.426679 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 ==125414== ==125414== Process terminating with default action of signal 4 (SIGILL) ==125414== Illegal opcode at address 0x4013E00 ==125414== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125414== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125414== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125414== by 0x40037A4: main (tool_main.c:199) === End of file valgrind915 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 39497 (log/17/server/smtp_server.port) RUN: SMTP server is PID 124457 port 39497 * pid smtp => 124457 124457 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/17/valgrind912 ../src/curl -q --output log/17/curl912.out --include --trace-ascii log/17/trace912 --trace-time smtp://127.0.0.1:39497/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/17/test912.eml > log/17/stdout912 2> log/17/stderr912 912: 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 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/17/valgrind912 ../src/curl -q --output log/17/curl912.out --include --trace-ascii log/17/trace912 --trace-time smtp://127.0.0.1:39497/912 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/17/test912.eml > log/17/stdout912 2> log/17/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 19:01:20.640906 SMTP server listens on port IPv4/39497 19:01:20.641011 logged pid 124457 in log/17/server/smtp_server.pid 19:01:20.641041 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.412712 Running IPv4 version 19:01:20.412786 Listening on port 39497 19:01:20.412824 Wrote pid 124476 to log/17/server/smtp_sockfilt.pid 19:01:20.412851 Wrote port 39497 to log/17/server/smtp_server.port 19:01:20.412871 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 ==125333== ==125333== Process terminating with default action of signal 4 (SIGILL) ==125333== Illegal opcode at address 0x4013E00 ==125333== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125333== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125333== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125333== by 0x40037A4: 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 44579 (log/8/server/smtp_server.port) RUN: SMTP server is PID 124454 port 44579 * pid smtp => 124454 124454 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/8/valgrind909 ../src/curl -q --output log/8/curl909.out --include --trace-ascii log/8/trace909 --trace-time smtp://127.0.0.1:44579/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/8/test909.eml > log/8/stdout909 2> log/8/stderr909 909: 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 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/8/valgrind909 ../src/curl -q --output log/8/curl909.out --include --trace-ascii log/8/trace909 --trace-time smtp://127.0.0.1:44579/909 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/8/test909.eml > log/8/stdout909 2> log/8/stderr909 === End of file commands.log === Start of file server.cmd Testnum 909 === End of file server.cmd === Start of file smtp_server.log 19:01:20.641023 SMTP server listens on port IPv4/44579 19:01:20.641098 logged pid 124454 in log/8/server/smtp_server.pid 19:01:20.641122 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.412809 Running IPv4 version 19:01:20.412871 Listening on port 44579 19:01:20.412915 Wrote pid 124477 to log/8/server/smtp_sockfilt.pid 19:01:20.412948 Wrote port 44579 to log/8/server/smtp_server.port 19:01:20.412973 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 ==125304== ==125304== Process terminating with default action of signal 4 (SIGILL) ==125304== Illegal opcode at address 0x4013E00 ==125304== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125304== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125304== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125304== by 0x40037A4: main (tool_main.c:199) === End of file valgrind909 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 37909 (log/14/server/smtp_server.port) RUN: SMTP server is PID 124455 port 37909 * pid smtp => 124455 124455 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/14/valgrind910 ../src/curl -q --output log/14/curl910.out --include --trace-ascii log/14/trace910 --trace-time smtp://127.0.0.1:37909/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/14/stdout910 2> log/14/stderr910 910: 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 910 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheCMD (33792): ../libtool --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/valgrind917 ../src/curl -q --output log/10/curl917.out --include --trace-ascii log/10/trace917 --trace-time smtp://127.0.0.1:44353/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/10/stdout917 2> log/10/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:37381/913 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/9/test913.eml > log/9/stdout913 2> log/9/stderr913 CMD (33792): ../libtool --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/valgrind916 ../src/curl -q --output log/22/curl916.out --include --trace-ascii log/22/trace916 --trace-time smtp://127.0.0.1:39835/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/22/stdout916 2> log/22/stderr916 ck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/14/valgrind910 ../src/curl -q --output log/14/curl910.out --include --trace-ascii log/14/trace910 --trace-time smtp://127.0.0.1:37909/910 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/14/stdout910 2> log/14/stderr910 === End of file commands.log === Start of file server.cmd Testnum 910 === End of file server.cmd === Start of file smtp_server.log 19:01:20.640618 SMTP server listens on port IPv4/37909 19:01:20.640706 logged pid 124455 in log/14/server/smtp_server.pid 19:01:20.640740 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.412393 Running IPv4 version 19:01:20.412466 Listening on port 37909 19:01:20.412510 Wrote pid 124475 to log/14/server/smtp_sockfilt.pid 19:01:20.412543 Wrote port 37909 to log/14/server/smtp_server.port 19:01:20.412565 Received PING (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 ==125312== ==125312== Process terminating with default action of signal 4 (SIGILL) ==125312== Illegal opcode at address 0x4013E00 ==125312== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125312== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125312== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125312== by 0x40037A4: main (tool_main.c:199) === End of file valgrind910 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 44353 (log/10/server/smtp_server.port) RUN: SMTP server is PID 124520 port 44353 * pid smtp => 124520 124520 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/10/valgrind917 ../src/curl -q --output log/10/curl917.out --include --trace-ascii log/10/trace917 --trace-time smtp://127.0.0.1:44353/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/10/stdout917 2> log/10/stderr917 917: 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 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/10/valgrind917 ../src/curl -q --output log/10/curl917.out --include --trace-ascii log/10/trace917 --trace-time smtp://127.0.0.1:44353/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/10/stdout917 2> log/10/stderr917 === End of file commands.log === Start of file server.cmd Testnum 917 === End of file server.cmd === Start of file smtp_server.log 19:01:20.710758 SMTP server listens on port IPv4/44353 19:01:20.710842 logged pid 124520 in log/10/server/smtp_server.pid 19:01:20.710874 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.482531 Running IPv4 version 19:01:20.482615 Listening on port 44353 19:01:20.482652 Wrote pid 124540 to log/10/server/smtp_sockfilt.pid 19:01:20.482687 Wrote port 44353 to log/10/server/smtp_server.port 19:01:20.482710 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 ==125638== ==125638== Process terminating with default action of signal 4 (SIGILL) ==125638== Illegal opcode at address 0x4013E00 ==125638== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125638== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125638== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125638== by 0x40037A4: 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 37381 (log/9/server/smtp_server.port) RUN: SMTP server is PID 124458 port 37381 * pid smtp => 124458 124458 test 0913...[SMTP with large message 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/9/valgrind913 ../src/curl -q --output log/9/curl913.out --include --trace-ascii log/9/trace913 --trace-time smtp://127.0.0.1:37381/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:37381/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 19:01:20.651493 SMTP server listens on port IPv4/37381 19:01:20.651586 logged pid 124458 in log/9/server/smtp_server.pid 19:01:20.651616 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.423265 Running IPv4 version 19:01:20.423345 Listening on port 37381 19:01:20.423383 Wrote pid 124484 to log/9/server/smtp_sockfilt.pid 19:01:20.423414 Wrote port 37381 to log/9/server/smtp_server.port 19:01:20.423436 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 ==125379== ==125379== Process terminating with default action of signal 4 (SIGILL) ==125379== Illegal opcode at address 0x4013E00 ==125379== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125379== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125379== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125379== by 0x40037A4: 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/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 39835 (log/22/server/smtp_server.port) RUN: SMTP server is PID 124505 port 39835 * pid smtp => 124505 124505 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/22/valgrind916 ../src/curl -q --output log/22/curl916.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/11/valgrind920 ../src/curl -q --output log/11/curl920.out --include --trace-ascii log/11/trace920 --trace-time smtp://127.0.0.1:39655/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/11/stdout920 2> log/11/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/3/valgrind918 ../src/curl -q --output log/3/curl918.out --include --trace-ascii log/3/trace918 --trace-time smtp://127.0.0.1:46705/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/3/stdout918 2> log/3/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/16/valgrind919 ../src/curl -q --output log/16/curl919.out --include --trace-ascii log/16/trace919 --trace-time smtp://127.0.0.1:45589/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/16/stdout919 2> log/16/stderr919 --trace-ascii log/22/trace916 --trace-time smtp://127.0.0.1:39835/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/22/stdout916 2> log/22/stderr916 916: 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 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/22/valgrind916 ../src/curl -q --output log/22/curl916.out --include --trace-ascii log/22/trace916 --trace-time smtp://127.0.0.1:39835/916 --mail-rcpt invalid --mail-from sender@example.com -T - log/22/stdout916 2> log/22/stderr916 === End of file commands.log === Start of file server.cmd Testnum 916 === End of file server.cmd === Start of file smtp_server.log 19:01:20.698632 SMTP server listens on port IPv4/39835 19:01:20.698693 logged pid 124505 in log/22/server/smtp_server.pid 19:01:20.698714 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.470484 Running IPv4 version 19:01:20.470541 Listening on port 39835 19:01:20.470572 Wrote pid 124538 to log/22/server/smtp_sockfilt.pid 19:01:20.470595 Wrote port 39835 to log/22/server/smtp_server.port 19:01:20.470612 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 ==125615== ==125615== Process terminating with default action of signal 4 (SIGILL) ==125615== Illegal opcode at address 0x4013E00 ==125615== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125615== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125615== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125615== by 0x40037A4: main (tool_main.c:199) === End of file valgrind916 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 39655 (log/11/server/smtp_server.port) RUN: SMTP server is PID 124537 port 39655 * pid smtp => 124537 124537 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/11/valgrind920 ../src/curl -q --output log/11/curl920.out --include --trace-ascii log/11/trace920 --trace-time smtp://127.0.0.1:39655/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/11/stdout920 2> log/11/stderr920 920: 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 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/11/valgrind920 ../src/curl -q --output log/11/curl920.out --include --trace-ascii log/11/trace920 --trace-time smtp://127.0.0.1:39655/920 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/11/stdout920 2> log/11/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 19:01:20.721767 SMTP server listens on port IPv4/39655 19:01:20.721833 logged pid 124537 in log/11/server/smtp_server.pid 19:01:20.721854 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.493444 Running IPv4 version 19:01:20.493517 Listening on port 39655 19:01:20.493561 Wrote pid 124558 to log/11/server/smtp_sockfilt.pid 19:01:20.493595 Wrote port 39655 to log/11/server/smtp_server.port 19:01:20.493738 Received PING (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 ==125708== ==125708== Process terminating with default action of signal 4 (SIGILL) ==125708== Illegal opcode at address 0x4013E00 ==125708== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125708== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125708== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125708== by 0x40037A4: 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/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 46705 (log/3/server/smtp_server.port) RUN: SMTP server is PID 124528 port 46705 * pid smtp => 124528 124528 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/3/valgrind918 ../src/curl -q --output log/3/curl918.out --include --trace-ascii log/3/trace918 --trace-time smtp://127.0.0.1:46705/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/3/stdout918 2> log/3/stderr918 918: 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 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/3/valgrind918 ../src/curl -q --output log/3/curl918.out --include --trace-ascii log/3/trace918 --trace-time smtp://127.0.0.1:46705/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/3/stdout918 2> log/3/stderr918 === End of file commands.log === Start of file server.cmd Testnum 918 === End of file server.cmd === Start of file smtp_server.log 19:01:20.711088 SMTP server listens on port IPv4/46705 19:01:20.711149 logged pid 124528 in log/3/server/smtp_server.pid 19:01:20.711169 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.482940 Running IPv4 version 19:01:20.482998 Listening on port 46705 19:01:20.483025 Wrote pid 124541 to log/3/server/smtp_sockfilt.pid 19:01:20.483047 Wrote port 46705 to log/3/server/smtp_server.port 19:01:20.483064 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 ==125640== ==125640== Process terminating with default action of signal 4 (SIGILL) ==125640== Illegal opcode at address 0x4013E00 ==125640== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125640== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125640== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125640== by 0x40037A4: 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_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/19/valgrind929 ../src/curl -q --output log/19/curl929.out --include --trace-ascii log/19/trace929 --trace-time smtp://127.0.0.1:33483/929 -X NOOP -I > log/19/stdout929 2> log/19/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/2/valgrind922 ../src/curl -q --output log/2/curl922.out --include --trace-ascii log/2/trace922 --trace-time smtp://127.0.0.1:37463/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/2/stdout922 2> log/2/stderr922 CMD (33792): ../libtool --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/valgrind928 ../src/curl -q --output log/13/curl928.out --include --trace-ascii log/13/trace928 --trace-time smtp://127.0.0.1:46883/928 > log/13/stdout928 2> log/13/stderr928 er.port" --srcdir "/startdir/src/curl/tests" --proto smtp --ipv4 --port 0 --addr "127.0.0.1" PINGPONG runs on port 45589 (log/16/server/smtp_server.port) RUN: SMTP server is PID 124535 port 45589 * pid smtp => 124535 124535 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/16/valgrind919 ../src/curl -q --output log/16/curl919.out --include --trace-ascii log/16/trace919 --trace-time smtp://127.0.0.1:45589/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/16/stdout919 2> log/16/stderr919 919: 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 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/16/valgrind919 ../src/curl -q --output log/16/curl919.out --include --trace-ascii log/16/trace919 --trace-time smtp://127.0.0.1:45589/919 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --sasl-ir -T - log/16/stdout919 2> log/16/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 19:01:20.717481 SMTP server listens on port IPv4/45589 19:01:20.717541 logged pid 124535 in log/16/server/smtp_server.pid 19:01:20.717562 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.489334 Running IPv4 version 19:01:20.489390 Listening on port 45589 19:01:20.489418 Wrote pid 124553 to log/16/server/smtp_sockfilt.pid 19:01:20.489441 Wrote port 45589 to log/16/server/smtp_server.port 19:01:20.489457 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 ==125668== ==125668== Process terminating with default action of signal 4 (SIGILL) ==125668== Illegal opcode at address 0x4013E00 ==125668== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125668== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125668== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125668== by 0x40037A4: main (tool_main.c:199) === End of file valgrind919 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/19/valgrind929 ../src/curl -q --output log/19/curl929.out --include --trace-ascii log/19/trace929 --trace-time smtp://127.0.0.1:33483/929 -X NOOP -I > log/19/stdout929 2> log/19/stderr929 929: 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 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/19/valgrind929 ../src/curl -q --output log/19/curl929.out --include --trace-ascii log/19/trace929 --trace-time smtp://127.0.0.1:33483/929 -X NOOP -I > log/19/stdout929 2> log/19/stderr929 === End of file commands.log === Start of file server.cmd Testnum 929 === End of file server.cmd === Start of file smtp_server.log 19:01:21.888853 ====> Client connect 19:01:21.889006 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:21.895577 < "EHLO verifiedserver" 19:01:21.895650 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:21.902122 < "HELP" 19:01:21.902188 > "214 WE ROOLZ: 109820[CR][LF]" 19:01:21.902206 return proof we are we 19:01:21.902455 < "QUIT" 19:01:21.902482 > "221 curl ESMTP server signing off[CR][LF]" 19:01:21.903461 MAIN sockfilt said DISC 19:01:21.903489 ====> Client disconnected 19:01:21.903569 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:21.660781 ====> Client connect 19:01:21.661074 Received DATA (on stdin) 19:01:21.661090 > 160 bytes data, server => client 19:01:21.661104 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:21.661117 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:21.661129 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:21.662613 < 21 bytes data, client => server 19:01:21.662635 'EHLO verifiedserver\r\n' 19:01:21.670775 Received DATA (on stdin) 19:01:21.670814 > 53 bytes data, server => client 19:01:21.670829 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:21.670932 < 6 bytes data, client => server 19:01:21.670946 'HELP\r\n' 19:01:21.674268 Received DATA (on stdin) 19:01:21.674283 > 22 bytes data, server => client 19:01:21.674295 '214 WE ROOLZ: 109820\r\n' 19:01:21.674417 < 6 bytes data, client => server 19:01:21.674430 'QUIT\r\n' 19:01:21.674540 Received DATA (on stdin) 19:01:21.674552 > 35 bytes data, server => client 19:01:21.674564 '221 curl ESMTP server signing off\r\n' 19:01:21.675469 ====> Client disconnect 19:01:21.675626 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind929 ==125936== ==125936== Process terminating with default action of signal 4 (SIGILL) ==125936== Illegal opcode at address 0x4013E00 ==125936== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125936== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125936== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125936== by 0x40037A4: 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/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 37463 (log/2/server/smtp_server.port) RUN: SMTP server is PID 124613 port 37463 * pid smtp => 124613 124613 test 0922...[SMTP 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/2/valgrind922 ../src/curl -q --output log/2/curl922.out --include --trace-ascii log/2/trace922 --trace-time smtp://127.0.0.1:37463/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/2/stdout922 2> log/2/stderr922 922: 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 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/2/valgrind922 ../src/curl -q --output log/2/curl922.out --include --trace-ascii log/2/trace922 --trace-time smtp://127.0.0.1:37463/922 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/2/stdout922 2> log/2/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 19:01:20.872308 SMTP server listens on port IPv4/37463 19:01:20.872431 logged pid 124613 in log/2/server/smtp_server.pid 19:01:20.872459 AwaitCMD (33792): ../libtool --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/valgrind930 ../src/curl -q --output log/4/curl930.out --include --trace-ascii log/4/trace930 --trace-time smtp://127.0.0.1:44681/930 -X RSET -I > log/4/stdout930 2> log/4/stderr930 CMD (33792): ../libtool --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/valgrind932 ../src/curl -q --output log/12/curl932.out --include --trace-ascii log/12/trace932 --trace-time smtp://127.0.0.1:42749/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/12/stdout932 2> log/12/stderr932 ing input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:20.643994 Running IPv4 version 19:01:20.644050 Listening on port 37463 19:01:20.644078 Wrote pid 124644 to log/2/server/smtp_sockfilt.pid 19:01:20.644235 Wrote port 37463 to log/2/server/smtp_server.port 19:01:20.644274 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 ==125908== ==125908== Process terminating with default action of signal 4 (SIGILL) ==125908== Illegal opcode at address 0x4013E00 ==125908== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125908== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125908== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125908== by 0x40037A4: main (tool_main.c:199) === End of file valgrind922 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/13/valgrind928 ../src/curl -q --output log/13/curl928.out --include --trace-ascii log/13/trace928 --trace-time smtp://127.0.0.1:46883/928 > log/13/stdout928 2> log/13/stderr928 928: 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 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/13/valgrind928 ../src/curl -q --output log/13/curl928.out --include --trace-ascii log/13/trace928 --trace-time smtp://127.0.0.1:46883/928 > log/13/stdout928 2> log/13/stderr928 === End of file commands.log === Start of file server.cmd Testnum 928 === End of file server.cmd === Start of file smtp_server.log 19:01:21.897012 ====> Client connect 19:01:21.897168 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:21.897489 < "EHLO verifiedserver" 19:01:21.897536 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:21.897724 < "HELP" 19:01:21.897757 > "214 WE ROOLZ: 124334[CR][LF]" 19:01:21.897774 return proof we are we 19:01:21.898021 < "QUIT" 19:01:21.898050 > "221 curl ESMTP server signing off[CR][LF]" 19:01:21.898955 MAIN sockfilt said DISC 19:01:21.898988 ====> Client disconnected 19:01:21.908768 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.668966 ====> Client connect 19:01:22.669242 Received DATA (on stdin) 19:01:22.669259 > 160 bytes data, server => client 19:01:22.669274 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.669285 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.669297 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.669376 < 21 bytes data, client => server 19:01:22.669391 'EHLO verifiedserver\r\n' 19:01:22.669599 Received DATA (on stdin) 19:01:22.669614 > 53 bytes data, server => client 19:01:22.669627 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.669683 < 6 bytes data, client => server 19:01:22.669695 'HELP\r\n' 19:01:22.669832 Received DATA (on stdin) 19:01:22.669846 > 22 bytes data, server => client 19:01:22.669858 '214 WE ROOLZ: 124334\r\n' 19:01:22.669979 < 6 bytes data, client => server 19:01:22.669994 'QUIT\r\n' 19:01:22.670107 Received DATA (on stdin) 19:01:22.670119 > 35 bytes data, server => client 19:01:22.670132 '221 curl ESMTP server signing off\r\n' 19:01:22.670947 ====> Client disconnect 19:01:22.671092 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind928 ==125935== ==125935== Process terminating with default action of signal 4 (SIGILL) ==125935== Illegal opcode at address 0x4013E00 ==125935== at 0x4013E00: getparameter (tool_getparam.c:2846) ==125935== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==125935== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==125935== by 0x40037A4: main (tool_main.c:199) === End of file valgrind928 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/4/valgrind930 ../src/curl -q --output log/4/curl930.out --include --trace-ascii log/4/trace930 --trace-time smtp://127.0.0.1:44681/930 -X RSET -I > log/4/stdout930 2> log/4/stderr930 930: 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 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/4/valgrind930 ../src/curl -q --output log/4/curl930.out --include --trace-ascii log/4/trace930 --trace-time smtp://127.0.0.1:44681/930 -X RSET -I > log/4/stdout930 2> log/4/stderr930 === End of file commands.log === Start of file server.cmd Testnum 930 === End of file server.cmd === Start of file smtp_server.log 19:01:22.072335 ====> Client connect 19:01:22.072505 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.072801 < "EHLO verifiedserver" 19:01:22.072842 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.073003 < "HELP" 19:01:22.073033 > "214 WE ROOLZ: 124365[CR][LF]" 19:01:22.073047 return proof we are we 19:01:22.073259 < "QUIT" 19:01:22.073284 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.073963 MAIN sockfilt said DISC 19:01:22.073990 ====> Client disconnected 19:01:22.074054 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:21.844275 ====> Client connect 19:01:21.844573 Received DATA (on stdin) 19:01:21.844588 > 160 bytes data, server => client 19:01:21.844602 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:21.844614 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:21.844625 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:21.844701 < 21 bytes data, client => server 19:01:21.844714 'EHLO verifiedserver\r\n' 19:01:21.844900 Received DATA (on stdin) 19:01:21.844913 > 53 bytes data, server => client 19:01:21.844925 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:21.844977 < 6 bytes data, client => server 19:01:21.844989 'HELP\r\n' 19:01:21.845102 Received DATA (on stdin) 19:01:21.845114 > 22 bytes data, server => client 19:01:21.845125 '214 WE ROOLZ: 124365\r\n' 19:01:21.845213 < 6 bytes data, client => server 19:01:21.845226 'QUIT\r\n' 19:01:21.845340 Received DATA (on stdin) 19:01:21.845351 > 35 bytes data, server => client 19:01:21.845363 '221 curl ESMTP server signing off\r\n' 19:01:21.845965 ====> Client disconnect 19:01:21.846111 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind930 ==126088== ==126088== Process terminating with default action of signal 4 (SIGILL) ==126088== Illegal opcode at address 0x4013E00 ==126088== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126088== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126088== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126088== by 0x40037A4: main (tool_main.c:199) === End of file valgrind930 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/12/valgrind932 ../src/curl -q --output log/12/curl932.out --include --trace-ascii log/12/trace932 --trace-time 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/24/valgrind933 ../src/curl -q --output log/24/curl933.out --include --trace-ascii log/24/trace933 --trace-time smtp://127.0.0.1:40091/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/24/stdout933 2> log/24/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/21/valgrind935 ../src/curl -q --output log/21/curl935.out --include --trace-ascii log/21/trace935 --trace-time smtp://127.0.0.1:45703/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout935 2> log/21/stderr935 mtp://127.0.0.1:42749/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/12/stdout932 2> log/12/stderr932 932: 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 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/12/valgrind932 ../src/curl -q --output log/12/curl932.out --include --trace-ascii log/12/trace932 --trace-time smtp://127.0.0.1:42749/932 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - > log/12/stdout932 2> log/12/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 19:01:22.313458 ====> Client connect 19:01:22.313646 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.313948 < "EHLO verifiedserver" 19:01:22.313990 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.314167 < "HELP" 19:01:22.314198 > "214 WE ROOLZ: 109817[CR][LF]" 19:01:22.314214 return proof we are we 19:01:22.314446 < "QUIT" 19:01:22.314473 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.315410 MAIN sockfilt said DISC 19:01:22.315439 ====> Client disconnected 19:01:22.315509 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.085374 ====> Client connect 19:01:22.085717 Received DATA (on stdin) 19:01:22.085733 > 160 bytes data, server => client 19:01:22.085747 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.085760 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.085775 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.085854 < 21 bytes data, client => server 19:01:22.085868 'EHLO verifiedserver\r\n' 19:01:22.086050 Received DATA (on stdin) 19:01:22.086063 > 53 bytes data, server => client 19:01:22.086076 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.086132 < 6 bytes data, client => server 19:01:22.086145 'HELP\r\n' 19:01:22.086270 Received DATA (on stdin) 19:01:22.086283 > 22 bytes data, server => client 19:01:22.086295 '214 WE ROOLZ: 109817\r\n' 19:01:22.086413 < 6 bytes data, client => server 19:01:22.086429 'QUIT\r\n' 19:01:22.086530 Received DATA (on stdin) 19:01:22.086543 > 35 bytes data, server => client 19:01:22.086555 '221 curl ESMTP server signing off\r\n' 19:01:22.087406 ====> Client disconnect 19:01:22.087566 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind932 ==126211== ==126211== Process terminating with default action of signal 4 (SIGILL) ==126211== Illegal opcode at address 0x4013E00 ==126211== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126211== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126211== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126211== by 0x40037A4: main (tool_main.c:199) === End of file valgrind932 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/24/valgrind933 ../src/curl -q --output log/24/curl933.out --include --trace-ascii log/24/trace933 --trace-time smtp://127.0.0.1:40091/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/24/stdout933 2> log/24/stderr933 933: 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 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/24/valgrind933 ../src/curl -q --output log/24/curl933.out --include --trace-ascii log/24/trace933 --trace-time smtp://127.0.0.1:40091/933 --mail-rcpt recipient@example.com --mail-from sender@example.com -u testuser:testpass -T - > log/24/stdout933 2> log/24/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 19:01:22.332326 ====> Client connect 19:01:22.332501 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.338967 < "EHLO verifiedserver" 19:01:22.339042 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.339371 < "HELP" 19:01:22.339417 > "214 WE ROOLZ: 109754[CR][LF]" 19:01:22.339436 return proof we are we 19:01:22.339700 < "QUIT" 19:01:22.339729 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.340983 MAIN sockfilt said DISC 19:01:22.341012 ====> Client disconnected 19:01:22.341082 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.104140 ====> Client connect 19:01:23.104582 Received DATA (on stdin) 19:01:23.104601 > 160 bytes data, server => client 19:01:23.104615 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.104628 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.104640 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.104770 < 21 bytes data, client => server 19:01:23.104784 'EHLO verifiedserver\r\n' 19:01:23.111122 Received DATA (on stdin) 19:01:23.111162 > 53 bytes data, server => client 19:01:23.111176 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.111335 < 6 bytes data, client => server 19:01:23.111348 'HELP\r\n' 19:01:23.111495 Received DATA (on stdin) 19:01:23.111508 > 22 bytes data, server => client 19:01:23.111520 '214 WE ROOLZ: 109754\r\n' 19:01:23.111642 < 6 bytes data, client => server 19:01:23.111658 'QUIT\r\n' 19:01:23.111786 Received DATA (on stdin) 19:01:23.111799 > 35 bytes data, server => client 19:01:23.111811 '221 curl ESMTP server signing off\r\n' 19:01:23.112990 ====> Client disconnect 19:01:23.113138 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind933 ==126218== ==126218== Process terminating with default action of signal 4 (SIGILL) ==126218== Illegal opcode at address 0x4013E00 ==126218== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126218== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126218== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126218== by 0x40037A4: main (tool_main.c:199) === End of file valgrind933 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/21/valgrind935 ../src/curl -q --output log/21/curl935.out --include --trace-ascii log/21/trace935 --trace-time smtp://127.0.0.1:45703/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout935 2> log/21/stderr935 935: 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 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/21/valgrind935 ../src/curl -q --CMD (33792): ../libtool --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/valgrind936 ../src/curl -q --output log/7/curl936.out --include --trace-ascii log/7/trace936 --trace-time smtp://127.0.0.1:36447/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/7/stdout936 2> log/7/stderr936 CMD (33792): ../libtool --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/valgrind940 ../src/curl -q --output log/18/curl940.out --include --trace-ascii log/18/trace940 --trace-time smtp://127.0.0.1:34079/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/18/stdout940 2> log/18/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/1/valgrind939 ../src/curl -q --output log/1/curl939.out --include --trace-ascii log/1/trace939 --trace-time smtp://127.0.0.1:44329/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout939 2> log/1/stderr939 output log/21/curl935.out --include --trace-ascii log/21/trace935 --trace-time smtp://127.0.0.1:45703/935 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/21/stdout935 2> log/21/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 19:01:22.569103 ====> Client connect 19:01:22.569303 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.569679 < "EHLO verifiedserver" 19:01:22.569740 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.569961 < "HELP" 19:01:22.570003 > "214 WE ROOLZ: 124443[CR][LF]" 19:01:22.570019 return proof we are we 19:01:22.570301 < "QUIT" 19:01:22.570341 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.570751 MAIN sockfilt said DISC 19:01:22.570786 ====> Client disconnected 19:01:22.570854 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.341023 ====> Client connect 19:01:22.341389 Received DATA (on stdin) 19:01:22.341410 > 160 bytes data, server => client 19:01:22.341424 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.341437 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.341449 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.341541 < 21 bytes data, client => server 19:01:22.341559 'EHLO verifiedserver\r\n' 19:01:22.341806 Received DATA (on stdin) 19:01:22.341822 > 53 bytes data, server => client 19:01:22.341836 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.341900 < 6 bytes data, client => server 19:01:22.341915 'HELP\r\n' 19:01:22.342078 Received DATA (on stdin) 19:01:22.342092 > 22 bytes data, server => client 19:01:22.342104 '214 WE ROOLZ: 124443\r\n' 19:01:22.342242 < 6 bytes data, client => server 19:01:22.342260 'QUIT\r\n' 19:01:22.342403 Received DATA (on stdin) 19:01:22.342418 > 35 bytes data, server => client 19:01:22.342431 '221 curl ESMTP server signing off\r\n' 19:01:22.342743 ====> Client disconnect 19:01:22.342920 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 ==126356== ==126356== Process terminating with default action of signal 4 (SIGILL) ==126356== Illegal opcode at address 0x4013E00 ==126356== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126356== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126356== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126356== by 0x40037A4: main (tool_main.c:199) === End of file valgrind935 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/7/valgrind936 ../src/curl -q --output log/7/curl936.out --include --trace-ascii log/7/trace936 --trace-time smtp://127.0.0.1:36447/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/7/stdout936 2> log/7/stderr936 936: 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 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/7/valgrind936 ../src/curl -q --output log/7/curl936.out --include --trace-ascii log/7/trace936 --trace-time smtp://127.0.0.1:36447/936 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/7/stdout936 2> log/7/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 19:01:22.595183 ====> Client connect 19:01:22.595569 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.595917 < "EHLO verifiedserver" 19:01:22.595965 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.596163 < "HELP" 19:01:22.596198 > "214 WE ROOLZ: 124441[CR][LF]" 19:01:22.596216 return proof we are we 19:01:22.596443 < "QUIT" 19:01:22.596475 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.596984 MAIN sockfilt said DISC 19:01:22.597017 ====> Client disconnected 19:01:22.597089 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.367119 ====> Client connect 19:01:22.367641 Received DATA (on stdin) 19:01:22.367657 > 160 bytes data, server => client 19:01:22.367672 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.367684 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.367695 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.367776 < 21 bytes data, client => server 19:01:22.367792 'EHLO verifiedserver\r\n' 19:01:22.368030 Received DATA (on stdin) 19:01:22.368045 > 53 bytes data, server => client 19:01:22.368058 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.368119 < 6 bytes data, client => server 19:01:22.368134 'HELP\r\n' 19:01:22.368274 Received DATA (on stdin) 19:01:22.368288 > 22 bytes data, server => client 19:01:22.368300 '214 WE ROOLZ: 124441\r\n' 19:01:22.368402 < 6 bytes data, client => server 19:01:22.368420 'QUIT\r\n' 19:01:22.368555 Received DATA (on stdin) 19:01:22.368570 > 35 bytes data, server => client 19:01:22.368583 '221 curl ESMTP server signing off\r\n' 19:01:22.368957 ====> Client disconnect 19:01:22.369156 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 ==126386== ==126386== Process terminating with default action of signal 4 (SIGILL) ==126386== Illegal opcode at address 0x4013E00 ==126386== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126386== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126386== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126386== by 0x40037A4: main (tool_main.c:199) === End of file valgrind936 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/18/valgrind940 ../src/curl -q --output log/18/curl940.out --include --trace-ascii log/18/trace940 --trace-time smtp://127.0.0.1:34079/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/18/stdout940 2> log/18/stderr940 940: 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 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/18/valgrind940 ../src/curl -q --output log/18/curl940.out --include --trace-ascii log/18/trace940 --trace-time smtp://127.0.0.1:34079/940 --mail-rcpt recipient@example.com --mail-from sender@example.com -u 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/23/valgrind941 ../src/curl -q --output log/23/curl941.out --include --trace-ascii log/23/trace941 --trace-time smtp://127.0.0.1:42473/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/23/upload941 --crlf > log/23/stdout941 2> log/23/stderr941 er:secret -T - log/18/stdout940 2> log/18/stderr940 === End of file commands.log === Start of file server.cmd Testnum 940 === End of file server.cmd === Start of file smtp_server.log 19:01:22.645218 ====> Client connect 19:01:22.645339 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.645614 < "EHLO verifiedserver" 19:01:22.645656 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.645835 < "HELP" 19:01:22.645869 > "214 WE ROOLZ: 109952[CR][LF]" 19:01:22.645886 return proof we are we 19:01:22.646128 < "QUIT" 19:01:22.646156 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.646449 MAIN sockfilt said DISC 19:01:22.646475 ====> Client disconnected 19:01:22.646529 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.417182 ====> Client connect 19:01:22.417401 Received DATA (on stdin) 19:01:22.417418 > 160 bytes data, server => client 19:01:22.417439 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.417450 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.417458 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.417529 < 21 bytes data, client => server 19:01:22.417544 'EHLO verifiedserver\r\n' 19:01:22.417719 Received DATA (on stdin) 19:01:22.417732 > 53 bytes data, server => client 19:01:22.417744 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.417801 < 6 bytes data, client => server 19:01:22.417813 'HELP\r\n' 19:01:22.417943 Received DATA (on stdin) 19:01:22.417958 > 22 bytes data, server => client 19:01:22.417971 '214 WE ROOLZ: 109952\r\n' 19:01:22.418087 < 6 bytes data, client => server 19:01:22.418105 'QUIT\r\n' 19:01:22.418208 Received DATA (on stdin) 19:01:22.418222 > 35 bytes data, server => client 19:01:22.418232 '221 curl ESMTP server signing off\r\n' 19:01:22.418462 ====> Client disconnect 19:01:22.418585 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 ==126518== ==126518== Process terminating with default action of signal 4 (SIGILL) ==126518== Illegal opcode at address 0x4013E00 ==126518== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126518== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126518== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126518== by 0x40037A4: 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/1/valgrind939 ../src/curl -q --output log/1/curl939.out --include --trace-ascii log/1/trace939 --trace-time smtp://127.0.0.1:44329/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout939 2> log/1/stderr939 939: 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 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/1/valgrind939 ../src/curl -q --output log/1/curl939.out --include --trace-ascii log/1/trace939 --trace-time smtp://127.0.0.1:44329/939 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret -T - log/1/stdout939 2> log/1/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 19:01:22.607157 ====> Client connect 19:01:22.607345 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.607690 < "EHLO verifiedserver" 19:01:22.607741 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.607950 < "HELP" 19:01:22.607988 > "214 WE ROOLZ: 124448[CR][LF]" 19:01:22.608006 return proof we are we 19:01:22.608259 < "QUIT" 19:01:22.608290 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.608963 MAIN sockfilt said DISC 19:01:22.608996 ====> Client disconnected 19:01:22.609067 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.379109 ====> Client connect 19:01:22.379422 Received DATA (on stdin) 19:01:22.379440 > 160 bytes data, server => client 19:01:22.379455 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.379468 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.379480 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.379568 < 21 bytes data, client => server 19:01:22.379586 'EHLO verifiedserver\r\n' 19:01:22.379806 Received DATA (on stdin) 19:01:22.379821 > 53 bytes data, server => client 19:01:22.379835 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.379896 < 6 bytes data, client => server 19:01:22.379911 'HELP\r\n' 19:01:22.380065 Received DATA (on stdin) 19:01:22.380080 > 22 bytes data, server => client 19:01:22.380092 '214 WE ROOLZ: 124448\r\n' 19:01:22.380212 < 6 bytes data, client => server 19:01:22.380229 'QUIT\r\n' 19:01:22.380350 Received DATA (on stdin) 19:01:22.380364 > 35 bytes data, server => client 19:01:22.380378 '221 curl ESMTP server signing off\r\n' 19:01:22.380953 ====> Client disconnect 19:01:22.381128 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 ==126404== ==126404== Process terminating with default action of signal 4 (SIGILL) ==126404== Illegal opcode at address 0x4013E00 ==126404== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126404== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126404== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126404== by 0x40037A4: 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/23/valgrind941 ../src/curl -q --output log/23/curl941.out --include --trace-ascii log/23/trace941 --trace-time smtp://127.0.0.1:42473/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/23/upload941 --crlf > log/23/stdout941 2> log/23/stderr941 941: 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 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/23/valgrind941 ../src/curl -q --output log/23/curl941.out --include --trace-ascii log/23/trace941 --trace-time smtp://127.0.0.1:42473/941 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/23/upload941 --crlf > log/23/stdout941 2> log/23/stderr941 === End of file commands.log === Start of file server.cmd Testnum 941 === End of file server.cmd === Start of file smtp_server.log 19:01:22.656932 ====> Client connect 19:01:22.657121 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.657534 < "EHLO verifiedserver" 19:01:22.657588 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.657800 < "HELP" 19:01:22.657847 > "214 WE ROOLZ: 124447[CR][LF]" 19:01:22.657865 return proof we are we 19:01:22.658138 < "QUIT" 19:01:22.658177 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.658328 MAIN sockfilt said DISC 19:01:22.658365 ====> Client disconnected 19:01:22.658438 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.428869 ====> Client connect 19:01:22.429208 Received DATA (on stdin) 19:01:22.429230 > 160 bytes data, server => client 19:01:22.429248 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.429261 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.429273 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.429391 < 21 bytes data, client => server 19:01:22.429411 'EHLO verifiedserver\r\n' 19:01:22.429651 Received DATA (on stdin) 19:01:22.429665 > 53 bytes data, server => client 19:01:22.429677 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.429743 < 6 bytes data, client => server 19:01:22.429757 'HELP\r\n' 19:01:22.429925 Received DATA (on stdin) 19:01:22.429940 > 22 bytes data, server => client 19:01:22.429952 '214 WE ROOLZ: 124447\r\n' 19:01:22.430077 < 6 bytes data, client => server 19:01:22.430094 'QUIT\r\n' 19:01:22.430238 Received DATA (on stdin) 19:01:22.430253 > 35 bytes data, server => client 19:01:22.430265 '221 curl ESMTP server signing off\r\n' 19:01:22.430327 ====> Client disconnect 19:01:22.430499 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 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 0123456789012345678CMD (33792): ../libtool --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/valgrind944 ../src/curl -q --output log/15/curl944.out --include --trace-ascii log/15/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:46573/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/15/stdout944 2> log/15/stderr944 CMD (33792): ../libtool --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/valgrind945 ../src/curl -q --output log/17/curl945.out --include --trace-ascii log/17/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:39497/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/17/stdout945 2> log/17/stderr945 901234567890123456789012345678901234567890123456789012345678901234567890123456789 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 ==126585== ==126585== Process terminating with default action of signal 4 (SIGILL) ==126585== Illegal opcode at address 0x4013E00 ==126585== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126585== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126585== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126585== by 0x40037A4: main (tool_main.c:199) === End of file valgrind941 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/15/valgrind944 ../src/curl -q --output log/15/curl944.out --include --trace-ascii log/15/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:46573/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/15/stdout944 2> log/15/stderr944 944: 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 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/15/valgrind944 ../src/curl -q --output log/15/curl944.out --include --trace-ascii log/15/trace944 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:46573/944' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/15/stdout944 2> log/15/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 19:01:22.710187 ====> Client connect 19:01:22.710387 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.710790 < "EHLO verifiedserver" 19:01:22.710846 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.711065 < "HELP" 19:01:22.711102 > "214 WE ROOLZ: 124465[CR][LF]" 19:01:22.711118 return proof we are we 19:01:22.711410 < "QUIT" 19:01:22.711442 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.711857 MAIN sockfilt said DISC 19:01:22.711886 ====> Client disconnected 19:01:22.711956 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.482136 ====> Client connect 19:01:22.482462 Received DATA (on stdin) 19:01:22.482479 > 160 bytes data, server => client 19:01:22.482493 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.482505 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.482517 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.482601 < 21 bytes data, client => server 19:01:22.482615 'EHLO verifiedserver\r\n' 19:01:22.482907 Received DATA (on stdin) 19:01:22.482922 > 53 bytes data, server => client 19:01:22.482934 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.482993 < 6 bytes data, client => server 19:01:22.483006 'HELP\r\n' 19:01:22.483175 Received DATA (on stdin) 19:01:22.483188 > 22 bytes data, server => client 19:01:22.483199 '214 WE ROOLZ: 124465\r\n' 19:01:22.483357 < 6 bytes data, client => server 19:01:22.483373 'QUIT\r\n' 19:01:22.483499 Received DATA (on stdin) 19:01:22.483512 > 35 bytes data, server => client 19:01:22.483524 '221 curl ESMTP server signing off\r\n' 19:01:22.483858 ====> Client disconnect 19:01:22.484017 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 ==126734== ==126734== Process terminating with default action of signal 4 (SIGILL) ==126734== Illegal opcode at address 0x4013E00 ==126734== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126734== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126734== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126734== by 0x40037A4: main (tool_main.c:199) === End of file valgrind944 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/17/valgrind945 ../src/curl -q --output log/17/curl945.out --include --trace-ascii log/17/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:39497/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/17/stdout945 2> log/17/stderr945 945: 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 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/17/valgrind945 ../src/curl -q --output log/17/curl945.out --include --trace-ascii log/17/trace945 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:39497/945' --mail-rcpt recipient@example.com --mail-from sender@example.com --sasl-ir -T - log/17/stdout945 2> log/17/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_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/5/valgrind942 ../src/curl -q --output log/5/curl942.out --include --trace-ascii log/5/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:45829/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/5/stdout942 2> log/5/stderr942 CMD (33792): ../libtool --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/valgrind943 ../src/curl -q --output log/20/curl943.out --include --trace-ascii log/20/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:34071/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/20/stdout943 2> log/20/stderr943 ver.log 19:01:22.710344 ====> Client connect 19:01:22.710509 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.710845 < "EHLO verifiedserver" 19:01:22.710891 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.711118 < "HELP" 19:01:22.711151 > "214 WE ROOLZ: 124457[CR][LF]" 19:01:22.711166 return proof we are we 19:01:22.711730 < "QUIT" 19:01:22.712441 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.713386 MAIN sockfilt said DISC 19:01:22.713442 ====> Client disconnected 19:01:22.713526 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.482293 ====> Client connect 19:01:22.482579 Received DATA (on stdin) 19:01:22.482595 > 160 bytes data, server => client 19:01:22.482609 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.482621 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.482632 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.482736 < 21 bytes data, client => server 19:01:22.482753 'EHLO verifiedserver\r\n' 19:01:22.482952 Received DATA (on stdin) 19:01:22.482966 > 53 bytes data, server => client 19:01:22.482979 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.483038 < 6 bytes data, client => server 19:01:22.483054 'HELP\r\n' 19:01:22.483253 Received DATA (on stdin) 19:01:22.483520 > 22 bytes data, server => client 19:01:22.483534 '214 WE ROOLZ: 124457\r\n' 19:01:22.483630 < 6 bytes data, client => server 19:01:22.483645 'QUIT\r\n' 19:01:22.484644 Received DATA (on stdin) 19:01:22.484661 > 35 bytes data, server => client 19:01:22.484674 '221 curl ESMTP server signing off\r\n' 19:01:22.485344 ====> Client disconnect 19:01:22.488804 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 ==126735== ==126735== Process terminating with default action of signal 4 (SIGILL) ==126735== Illegal opcode at address 0x4013E00 ==126735== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126735== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126735== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126735== by 0x40037A4: main (tool_main.c:199) === End of file valgrind945 test 0942...[SMTP 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/5/valgrind942 ../src/curl -q --output log/5/curl942.out --include --trace-ascii log/5/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:45829/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/5/stdout942 2> log/5/stderr942 942: 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 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/5/valgrind942 ../src/curl -q --output log/5/curl942.out --include --trace-ascii log/5/trace942 --trace-time 'smtp://user;AUTH=EXTERNAL@127.0.0.1:45829/942' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/5/stdout942 2> log/5/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 19:01:22.684852 ====> Client connect 19:01:22.685068 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.685436 < "EHLO verifiedserver" 19:01:22.685500 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.685744 < "HELP" 19:01:22.685790 > "214 WE ROOLZ: 124446[CR][LF]" 19:01:22.685809 return proof we are we 19:01:22.686037 < "QUIT" 19:01:22.686069 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.686701 MAIN sockfilt said DISC 19:01:22.686734 ====> Client disconnected 19:01:22.686808 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.456771 ====> Client connect 19:01:22.457149 Received DATA (on stdin) 19:01:22.457169 > 160 bytes data, server => client 19:01:22.457183 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.457195 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.457207 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.457302 < 21 bytes data, client => server 19:01:22.457319 'EHLO verifiedserver\r\n' 19:01:22.457564 Received DATA (on stdin) 19:01:22.457579 > 53 bytes data, server => client 19:01:22.457592 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.457663 < 6 bytes data, client => server 19:01:22.457677 'HELP\r\n' 19:01:22.457867 Received DATA (on stdin) 19:01:22.457881 > 22 bytes data, server => client 19:01:22.457893 '214 WE ROOLZ: 124446\r\n' 19:01:22.457993 < 6 bytes data, client => server 19:01:22.458007 'QUIT\r\n' 19:01:22.458144 Received DATA (on stdin) 19:01:22.458157 > 35 bytes data, server => client 19:01:22.458170 '221 curl ESMTP server signing off\r\n' 19:01:22.458671 ====> Client disconnect 19:01:22.458863 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 ==126639== ==126639== Process terminating with default action of signal 4 (SIGILL) ==126639== Illegal opcode at address 0x4013E00 ==126639== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126639== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126639== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126639== by 0x40037A4: main (tool_main.c:199) === End of file valgrind942 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/20/valgrind943 ../src/curl -q --output log/20/curl943.out --include --trace-ascii log/20/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:34071/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/20/stdout943 2> log/20/stderr943 943: 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 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/20/valgrind943 ../src/curl -q --output log/20/curl943.out --include --trace-ascii log/20/trace943 --trace-time 'smtp://;AUTH=EXTERNAL@127.0.0.1:34071/943' --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/20/stdout943 2> log/20/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 19:01:22.694674 ====> Client connect 19:01:22.694861 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.695194 < "EHLO verifiedserver" 19:01:22.695238 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.695628 < "HELP" 19:01:22.695664 > "214 WE ROOLZ: 124456[CR][LF]"CMD (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/5/stdout971 2> log/5/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/8/valgrind946 ../src/curl -q --output log/8/curl946.out --include --trace-ascii log/8/trace946 --trace-time smtp://127.0.0.1:44579/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 CMD (33792): ../libtool --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/valgrind947 ../src/curl -q --output log/14/curl947.out --include --trace-ascii log/14/trace947 --trace-time smtp://127.0.0.1:37909/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/14/stdout947 2> log/14/stderr947 19:01:22.695681 return proof we are we 19:01:22.695901 < "QUIT" 19:01:22.695927 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.696307 MAIN sockfilt said DISC 19:01:22.696351 ====> Client disconnected 19:01:22.696415 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.466610 ====> Client connect 19:01:22.466936 Received DATA (on stdin) 19:01:22.466955 > 160 bytes data, server => client 19:01:22.466969 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.466980 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.466991 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.467081 < 21 bytes data, client => server 19:01:22.467095 'EHLO verifiedserver\r\n' 19:01:22.467297 Received DATA (on stdin) 19:01:22.467310 > 53 bytes data, server => client 19:01:22.467322 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.467584 < 6 bytes data, client => server 19:01:22.467601 'HELP\r\n' 19:01:22.467738 Received DATA (on stdin) 19:01:22.467750 > 22 bytes data, server => client 19:01:22.467760 '214 WE ROOLZ: 124456\r\n' 19:01:22.467857 < 6 bytes data, client => server 19:01:22.467871 'QUIT\r\n' 19:01:22.467982 Received DATA (on stdin) 19:01:22.467993 > 35 bytes data, server => client 19:01:22.468004 '221 curl ESMTP server signing off\r\n' 19:01:22.468292 ====> Client disconnect 19:01:22.468497 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 ==126675== ==126675== Process terminating with default action of signal 4 (SIGILL) ==126675== Illegal opcode at address 0x4013E00 ==126675== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126675== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126675== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126675== by 0x40037A4: 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/5/stdout971 2> log/5/stderr971 valgrind SKIPPED -r-----e--- OK (915 out of 1746, remaining: 01:23, took 0.024s, duration: 01:31) 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:44579/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:44579/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 bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDQ1NzkBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 235 Authenticated Testnum 946 === End of file server.cmd === Start of file smtp_server.log 19:01:22.792735 ====> Client connect 19:01:22.792936 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.794552 < "EHLO verifiedserver" 19:01:22.794601 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.794941 < "HELP" 19:01:22.794973 > "214 WE ROOLZ: 124454[CR][LF]" 19:01:22.794989 return proof we are we 19:01:22.795286 < "QUIT" 19:01:22.795313 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.796618 MAIN sockfilt said DISC 19:01:22.796682 ====> Client disconnected 19:01:22.796780 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.563804 ====> Client connect 19:01:22.565012 Received DATA (on stdin) 19:01:22.565306 > 160 bytes data, server => client 19:01:22.565322 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.565339 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.565350 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.566221 < 21 bytes data, client => server 19:01:22.566472 'EHLO verifiedserver\r\n' 19:01:22.566647 Received DATA (on stdin) 19:01:22.566682 > 53 bytes data, server => client 19:01:22.566762 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.566857 < 6 bytes data, client => server 19:01:22.567052 'HELP\r\n' 19:01:22.567068 Received DATA (on stdin) 19:01:22.567120 > 22 bytes data, server => client 19:01:22.567132 '214 WE ROOLZ: 124454\r\n' 19:01:22.567252 < 6 bytes data, client => server 19:01:22.567267 'QUIT\r\n' 19:01:22.567369 Received DATA (on stdin) 19:01:22.567382 > 35 bytes data, server => client 19:01:22.567394 '221 curl ESMTP server signing off\r\n' 19:01:22.567646 ====> Client disconnect 19:01:22.568846 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 ==126950== ==126950== Process terminating with default action of signal 4 (SIGILL) ==126950== Illegal opcode at address 0x4013E00 ==126950== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126950== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126950== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126950== by 0x40037A4: main (tool_main.c:199) === End of file valgrind946 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/14/valgrind947 ../src/curl -q --output log/14/curl947.out --include --trace-ascii log/14/trace947 --trace-time smtp://127.0.0.1:37909/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/14/stdout947 2> log/14/stderr947 947: 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 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/14/valgrind947 ../src/curl -q --output log/14/curl947.out --include --trace-ascii log/14/trace947 --trace-time smtp://127.0.0.1:37909/947 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/14/stdout947 2> log/14/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 19:01:22.801900 ====> Client connect 19:01:22.802272 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.802421 log/11/stdout951 2> log/11/stderr951 CMD (33792): ../libtool --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/valgrind948 ../src/curl -q --output log/10/curl948.out --include --trace-ascii log/10/trace948 --trace-time smtp://127.0.0.1:44353/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/10/stdout948 2> log/10/stderr948 "EHLO verifiedserver" 19:01:22.802466 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.802649 < "HELP" 19:01:22.802681 > "214 WE ROOLZ: 124455[CR][LF]" 19:01:22.802700 return proof we are we 19:01:22.802919 < "QUIT" 19:01:22.802947 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.803925 MAIN sockfilt said DISC 19:01:22.803951 ====> Client disconnected 19:01:22.804010 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.573851 ====> Client connect 19:01:22.574126 Received DATA (on stdin) 19:01:22.574155 > 160 bytes data, server => client 19:01:22.574169 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.574181 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.574192 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.574280 < 21 bytes data, client => server 19:01:22.574292 'EHLO verifiedserver\r\n' 19:01:22.574526 Received DATA (on stdin) 19:01:22.574540 > 53 bytes data, server => client 19:01:22.574552 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.574609 < 6 bytes data, client => server 19:01:22.574620 'HELP\r\n' 19:01:22.574754 Received DATA (on stdin) 19:01:22.574766 > 22 bytes data, server => client 19:01:22.574776 '214 WE ROOLZ: 124455\r\n' 19:01:22.574867 < 6 bytes data, client => server 19:01:22.574880 'QUIT\r\n' 19:01:22.575001 Received DATA (on stdin) 19:01:22.575013 > 35 bytes data, server => client 19:01:22.575024 '221 curl ESMTP server signing off\r\n' 19:01:22.575925 ====> Client disconnect 19:01:22.576065 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 ==126970== ==126970== Process terminating with default action of signal 4 (SIGILL) ==126970== Illegal opcode at address 0x4013E00 ==126970== at 0x4013E00: getparameter (tool_getparam.c:2846) ==126970== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==126970== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==126970== by 0x40037A4: main (tool_main.c:199) === End of file valgrind947 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/11/valgrind951 ../src/curl -q --output log/11/curl951.out --include --trace-ascii log/11/trace951 --trace-time smtp://127.0.0.1:39655/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/11/stdout951 2> log/11/stderr951 951: 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 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/11/valgrind951 ../src/curl -q --output log/11/curl951.out --include --trace-ascii log/11/trace951 --trace-time smtp://127.0.0.1:39655/951 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/11/stdout951 2> log/11/stderr951 === End of file commands.log === Start of file server.cmd Testnum 951 === End of file server.cmd === Start of file smtp_server.log 19:01:22.861112 ====> Client connect 19:01:22.861359 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.861726 < "EHLO verifiedserver" 19:01:22.861782 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.861983 < "HELP" 19:01:22.862021 > "214 WE ROOLZ: 124537[CR][LF]" 19:01:22.862040 return proof we are we 19:01:22.862293 < "QUIT" 19:01:22.862324 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.863230 MAIN sockfilt said DISC 19:01:22.863263 ====> Client disconnected 19:01:22.863325 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.633050 ====> Client connect 19:01:22.633444 Received DATA (on stdin) 19:01:22.633466 > 160 bytes data, server => client 19:01:22.633481 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.633494 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.633505 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.633591 < 21 bytes data, client => server 19:01:22.633609 'EHLO verifiedserver\r\n' 19:01:22.633849 Received DATA (on stdin) 19:01:22.633865 > 53 bytes data, server => client 19:01:22.633878 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.633934 < 6 bytes data, client => server 19:01:22.633947 'HELP\r\n' 19:01:22.634112 Received DATA (on stdin) 19:01:22.634126 > 22 bytes data, server => client 19:01:22.634137 '214 WE ROOLZ: 124537\r\n' 19:01:22.634246 < 6 bytes data, client => server 19:01:22.634262 'QUIT\r\n' 19:01:22.634385 Received DATA (on stdin) 19:01:22.634400 > 35 bytes data, server => client 19:01:22.634413 '221 curl ESMTP server signing off\r\n' 19:01:22.635224 ====> Client disconnect 19:01:22.635386 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 ==127103== ==127103== Process terminating with default action of signal 4 (SIGILL) ==127103== Illegal opcode at address 0x4013E00 ==127103== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127103== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127103== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127103== by 0x40037A4: main (tool_main.c:199) === End of file valgrind951 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/10/valgrind948 ../src/curl -q --output log/10/curl948.out --include --trace-ascii log/10/trace948 --trace-time smtp://127.0.0.1:44353/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/10/stdout948 2> log/10/stderr948 948: 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 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/10/valgrind948 ../src/curl -q --output log/10/curl948.out --include --trace-ascii log/10/trace948 --trace-time smtp://127.0.0.1:44353/948 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM -T - log/10/stdout948 2> log/10/stderr948 === End of file commands.log === Start of file server.cmd AUTH OAUTHBEARER REPLY AUTH 334 OAUTHBEARER supported REPLY bixhPXVzZXIsAWhvc3Q9MTI3LjAuMC4xAXBvcnQ9NDQzNTMBYXV0aD1CZWFyZXIgbUZfOS5CNWYtNC4xSnFNAQE= 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 19:01:22.845597 ====> Client connect 19:01:22.845776 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.846100 < "EHLO verifiedserver" 19:01:22.846143 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.846789CMD (33792): ../libtool --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/valgrind949 ../src/curl -q --output log/9/curl949.out --include --trace-ascii log/9/trace949 --trace-time smtp://127.0.0.1:37381/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/9/stdout949 2> log/9/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/3/valgrind952 ../src/curl -q --output log/3/curl952.out --include --trace-ascii log/3/trace952 --trace-time smtp://127.0.0.1:46705/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout952 2> log/3/stderr952 < "HELP" 19:01:22.846829 > "214 WE ROOLZ: 124520[CR][LF]" 19:01:22.846844 return proof we are we 19:01:22.847083 < "QUIT" 19:01:22.847113 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.848171 MAIN sockfilt said DISC 19:01:22.848204 ====> Client disconnected 19:01:22.848270 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.617521 ====> Client connect 19:01:22.617848 Received DATA (on stdin) 19:01:22.617864 > 160 bytes data, server => client 19:01:22.617877 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.617889 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.617900 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.617987 < 21 bytes data, client => server 19:01:22.618000 'EHLO verifiedserver\r\n' 19:01:22.618629 Received DATA (on stdin) 19:01:22.618651 > 53 bytes data, server => client 19:01:22.618665 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.618726 < 6 bytes data, client => server 19:01:22.618738 'HELP\r\n' 19:01:22.618900 Received DATA (on stdin) 19:01:22.618912 > 22 bytes data, server => client 19:01:22.618924 '214 WE ROOLZ: 124520\r\n' 19:01:22.619045 < 6 bytes data, client => server 19:01:22.619059 'QUIT\r\n' 19:01:22.619169 Received DATA (on stdin) 19:01:22.619181 > 35 bytes data, server => client 19:01:22.619193 '221 curl ESMTP server signing off\r\n' 19:01:22.620170 ====> Client disconnect 19:01:22.620326 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 ==127075== ==127075== Process terminating with default action of signal 4 (SIGILL) ==127075== Illegal opcode at address 0x4013E00 ==127075== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127075== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127075== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127075== by 0x40037A4: main (tool_main.c:199) === End of file valgrind948 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/9/valgrind949 ../src/curl -q --output log/9/curl949.out --include --trace-ascii log/9/trace949 --trace-time smtp://127.0.0.1:37381/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/9/stdout949 2> log/9/stderr949 949: 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 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/9/valgrind949 ../src/curl -q --output log/9/curl949.out --include --trace-ascii log/9/trace949 --trace-time smtp://127.0.0.1:37381/949 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user --oauth2-bearer mF_9.B5f-4.1JqM --sasl-ir -T - log/9/stdout949 2> log/9/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 19:01:22.858527 ====> Client connect 19:01:22.858690 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.859019 < "EHLO verifiedserver" 19:01:22.859071 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.859250 < "HELP" 19:01:22.859282 > "214 WE ROOLZ: 124458[CR][LF]" 19:01:22.859296 return proof we are we 19:01:22.859506 < "QUIT" 19:01:22.859533 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.860396 MAIN sockfilt said DISC 19:01:22.860424 ====> Client disconnected 19:01:22.860487 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.630479 ====> Client connect 19:01:22.630779 Received DATA (on stdin) 19:01:22.630796 > 160 bytes data, server => client 19:01:22.630810 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.630821 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.630834 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.630914 < 21 bytes data, client => server 19:01:22.630927 'EHLO verifiedserver\r\n' 19:01:22.631131 Received DATA (on stdin) 19:01:22.631144 > 53 bytes data, server => client 19:01:22.631157 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.631212 < 6 bytes data, client => server 19:01:22.631223 'HELP\r\n' 19:01:22.631351 Received DATA (on stdin) 19:01:22.631363 > 22 bytes data, server => client 19:01:22.631374 '214 WE ROOLZ: 124458\r\n' 19:01:22.631474 < 6 bytes data, client => server 19:01:22.631488 'QUIT\r\n' 19:01:22.631588 Received DATA (on stdin) 19:01:22.631600 > 35 bytes data, server => client 19:01:22.631611 '221 curl ESMTP server signing off\r\n' 19:01:22.632244 ====> Client disconnect 19:01:22.632543 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 ==127094== ==127094== Process terminating with default action of signal 4 (SIGILL) ==127094== Illegal opcode at address 0x4013E00 ==127094== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127094== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127094== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127094== by 0x40037A4: main (tool_main.c:199) === End of file valgrind949 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/3/valgrind952 ../src/curl -q --output log/3/curl952.out --include --trace-ascii log/3/trace952 --trace-time smtp://127.0.0.1:46705/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout952 2> log/3/stderr952 952: 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 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/3/valgrind952 ../src/curl -q --output log/3/curl952.out --include --trace-ascii log/3/trace952 --trace-time smtp://127.0.0.1:46705/952 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - log/3/stdout952 2> log/3/stderr952 === End of file commands.log === Start of file server.cmd Testnum 952 === End of file server.cmd === Start of file smtp_server.log 19:01:22.858699 ====> Client connect 19:01:22.858899 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.859241 < "EHLO verifiedserver" 19:01:22.859292 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.861933 < "HELP" 19:01:22.861985 > "214 WE ROOLZ: 124528[CR][LF]" 19:01:22.862002 return proof we are we 19:01:22.862411 < "QUIT" 19:01:22.862446 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.863393 MAIN sockfilt said DISC 19:01:22.863421 ====> ClCMD (33792): ../libtool --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/valgrind950 ../src/curl -q --output log/22/curl950.out --include --trace-ascii log/22/trace950 --trace-time smtp://127.0.0.1:39835/950 --mail-rcpt recipient --request "vrfy" > log/22/stdout950 2> log/22/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/16/valgrind953 ../src/curl -q --output log/16/curl953.out --include --trace-ascii log/16/trace953 --trace-time smtp://127.0.0.1:45589/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/16/stdout953 2> log/16/stderr953 ient disconnected 19:01:22.863481 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.630160 ====> Client connect 19:01:22.630975 Received DATA (on stdin) 19:01:22.630995 > 160 bytes data, server => client 19:01:22.631010 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.631022 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.631033 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.631126 < 21 bytes data, client => server 19:01:22.631140 'EHLO verifiedserver\r\n' 19:01:22.631355 Received DATA (on stdin) 19:01:22.631369 > 53 bytes data, server => client 19:01:22.631382 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.631438 < 6 bytes data, client => server 19:01:22.631454 'HELP\r\n' 19:01:22.634063 Received DATA (on stdin) 19:01:22.634080 > 22 bytes data, server => client 19:01:22.634216 '214 WE ROOLZ: 124528\r\n' 19:01:22.634341 < 6 bytes data, client => server 19:01:22.634362 'QUIT\r\n' 19:01:22.634505 Received DATA (on stdin) 19:01:22.634517 > 35 bytes data, server => client 19:01:22.634529 '221 curl ESMTP server signing off\r\n' 19:01:22.635392 ====> Client disconnect 19:01:22.635536 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 ==127135== ==127135== Process terminating with default action of signal 4 (SIGILL) ==127135== Illegal opcode at address 0x4013E00 ==127135== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127135== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127135== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127135== by 0x40037A4: main (tool_main.c:199) === End of file valgrind952 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/22/valgrind950 ../src/curl -q --output log/22/curl950.out --include --trace-ascii log/22/trace950 --trace-time smtp://127.0.0.1:39835/950 --mail-rcpt recipient --request "vrfy" > log/22/stdout950 2> log/22/stderr950 950: 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 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/22/valgrind950 ../src/curl -q --output log/22/curl950.out --include --trace-ascii log/22/trace950 --trace-time smtp://127.0.0.1:39835/950 --mail-rcpt recipient --request "vrfy" > log/22/stdout950 2> log/22/stderr950 === End of file commands.log === Start of file server.cmd Testnum 950 === End of file server.cmd === Start of file smtp_server.log 19:01:22.858493 ====> Client connect 19:01:22.858670 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.858989 < "EHLO verifiedserver" 19:01:22.859034 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.859204 < "HELP" 19:01:22.859237 > "214 WE ROOLZ: 124505[CR][LF]" 19:01:22.859252 return proof we are we 19:01:22.859465 < "QUIT" 19:01:22.859490 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.860847 MAIN sockfilt said DISC 19:01:22.860875 ====> Client disconnected 19:01:22.860930 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.630421 ====> Client connect 19:01:22.630741 Received DATA (on stdin) 19:01:22.630766 > 160 bytes data, server => client 19:01:22.630779 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.630791 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.630802 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.630882 < 21 bytes data, client => server 19:01:22.630894 'EHLO verifiedserver\r\n' 19:01:22.631094 Received DATA (on stdin) 19:01:22.631107 > 53 bytes data, server => client 19:01:22.631119 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.631172 < 6 bytes data, client => server 19:01:22.631185 'HELP\r\n' 19:01:22.631308 Received DATA (on stdin) 19:01:22.631320 > 22 bytes data, server => client 19:01:22.631331 '214 WE ROOLZ: 124505\r\n' 19:01:22.631434 < 6 bytes data, client => server 19:01:22.631448 'QUIT\r\n' 19:01:22.631546 Received DATA (on stdin) 19:01:22.631559 > 35 bytes data, server => client 19:01:22.631571 '221 curl ESMTP server signing off\r\n' 19:01:22.632849 ====> Client disconnect 19:01:22.632988 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind950 ==127301== ==127301== Process terminating with default action of signal 4 (SIGILL) ==127301== Illegal opcode at address 0x4013E00 ==127301== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127301== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127301== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127301== by 0x40037A4: main (tool_main.c:199) === End of file valgrind950 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/16/valgrind953 ../src/curl -q --output log/16/curl953.out --include --trace-ascii log/16/trace953 --trace-time smtp://127.0.0.1:45589/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/16/stdout953 2> log/16/stderr953 953: 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 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/16/valgrind953 ../src/curl -q --output log/16/curl953.out --include --trace-ascii log/16/trace953 --trace-time smtp://127.0.0.1:45589/953 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/16/stdout953 2> log/16/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 19:01:22.920032 ====> Client connect 19:01:22.920249 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:22.920596 < "EHLO verifiedserver" 19:01:22.920648 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:22.920846 < "HELP" 19:01:22.920885 > "214 WE ROOLZ: 124535[CR][LF]" 19:01:22.920901 return proof we are we 19:01:22.921149 < "QUIT" 19:01:22.921179 > "221 curl ESMTP server signing off[CR][LF]" 19:01:22.922076 MAIN sockfilt said DISC 19:01:22.922107 ====> Client disconnected 19:01:22.922177 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.691972 ====> Client connect 19:01:22.692329 Received DATA (on stdin) 19:01:22.692349 > 160 bytes data, server => client 19:01:22.692363 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.692375 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.692386 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.692478 < 21 bytes data, client => server 19:01:22.692491 'EHLO verifiedserver\r\n' 19:01:22.692712 Received DATA (on stdin) 19:01:22.692726 > 53 bytes data, server => client 19:CMD (33792): ../libtool --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/valgrind931 ../src/curl -q --output log/6/curl931.out --include --trace-ascii log/6/trace931 --trace-time smtp://127.0.0.1:36439/%0d%0a/931 > log/6/stdout931 2> log/6/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/2/valgrind955 ../src/curl -q --output log/2/curl955.out --include --trace-ascii log/2/trace955 --trace-time smtp://127.0.0.1:37463/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/2/stdout955 2> log/2/stderr955 CMD (33792): ../libtool --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/valgrind956 ../src/curl -q --output log/13/curl956.out --include --trace-ascii log/13/trace956 --trace-time smtp://127.0.0.1:46883/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/13/stdout956 2> log/13/stderr956 01:22.692739 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.692798 < 6 bytes data, client => server 19:01:22.692811 'HELP\r\n' 19:01:22.692958 Received DATA (on stdin) 19:01:22.692971 > 22 bytes data, server => client 19:01:22.692983 '214 WE ROOLZ: 124535\r\n' 19:01:22.693107 < 6 bytes data, client => server 19:01:22.693123 'QUIT\r\n' 19:01:22.693236 Received DATA (on stdin) 19:01:22.693249 > 35 bytes data, server => client 19:01:22.693261 '221 curl ESMTP server signing off\r\n' 19:01:22.694062 ====> Client disconnect 19:01:22.694234 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 ==127318== ==127318== Process terminating with default action of signal 4 (SIGILL) ==127318== Illegal opcode at address 0x4013E00 ==127318== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127318== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127318== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127318== by 0x40037A4: main (tool_main.c:199) === End of file valgrind953 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 36439 (log/6/server/smtp_server.port) RUN: SMTP server is PID 126142 port 36439 * pid smtp => 126142 126142 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/6/valgrind931 ../src/curl -q --output log/6/curl931.out --include --trace-ascii log/6/trace931 --trace-time smtp://127.0.0.1:36439/%0d%0a/931 > log/6/stdout931 2> log/6/stderr931 curl returned 132, when expecting 3 931: exit FAILED == Contents of files in the log/6/ 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/6/valgrind931 ../src/curl -q --output log/6/curl931.out --include --trace-ascii log/6/trace931 --trace-time smtp://127.0.0.1:36439/%0d%0a/931 > log/6/stdout931 2> log/6/stderr931 === End of file commands.log === Start of file server.cmd Testnum 931 === End of file server.cmd === Start of file smtp_server.log 19:01:22.284649 SMTP server listens on port IPv4/36439 19:01:22.284957 logged pid 126142 in log/6/server/smtp_server.pid 19:01:22.284991 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.055559 Running IPv4 version 19:01:22.055724 Listening on port 36439 19:01:22.055766 Wrote pid 126174 to log/6/server/smtp_sockfilt.pid 19:01:22.055796 Wrote port 36439 to log/6/server/smtp_server.port 19:01:22.056572 Received PING (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind931 ==127529== ==127529== Process terminating with default action of signal 4 (SIGILL) ==127529== Illegal opcode at address 0x4013E00 ==127529== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127529== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127529== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127529== by 0x40037A4: main (tool_main.c:199) === End of file valgrind931 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/2/valgrind955 ../src/curl -q --output log/2/curl955.out --include --trace-ascii log/2/trace955 --trace-time smtp://127.0.0.1:37463/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/2/stdout955 2> log/2/stderr955 955: 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 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/2/valgrind955 ../src/curl -q --output log/2/curl955.out --include --trace-ascii log/2/trace955 --trace-time smtp://127.0.0.1:37463/955 --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T - log/2/stdout955 2> log/2/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 19:01:23.232467 ====> Client connect 19:01:23.232652 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.232993 < "EHLO verifiedserver" 19:01:23.233044 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.233245 < "HELP" 19:01:23.233283 > "214 WE ROOLZ: 124613[CR][LF]" 19:01:23.233300 return proof we are we 19:01:23.233546 < "QUIT" 19:01:23.233574 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.234901 MAIN sockfilt said DISC 19:01:23.234933 ====> Client disconnected 19:01:23.234996 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.004202 ====> Client connect 19:01:23.004733 Received DATA (on stdin) 19:01:23.004754 > 160 bytes data, server => client 19:01:23.004767 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.004779 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.004789 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.004880 < 21 bytes data, client => server 19:01:23.004894 'EHLO verifiedserver\r\n' 19:01:23.005109 Received DATA (on stdin) 19:01:23.005124 > 53 bytes data, server => client 19:01:23.005136 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.005196 < 6 bytes data, client => server 19:01:23.005210 'HELP\r\n' 19:01:23.005359 Received DATA (on stdin) 19:01:23.005373 > 22 bytes data, server => client 19:01:23.005385 '214 WE ROOLZ: 124613\r\n' 19:01:23.005505 < 6 bytes data, client => server 19:01:23.005520 'QUIT\r\n' 19:01:23.005631 Received DATA (on stdin) 19:01:23.005644 > 35 bytes data, server => client 19:01:23.005656 '221 curl ESMTP server signing off\r\n' 19:01:23.006448 ====> Client disconnect 19:01:23.007056 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 ==127595== ==127595== Process terminating with default action of signal 4 (SIGILL) ==127595== Illegal opcode at address 0x4013E00 ==127595== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127595== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127595== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127595== by 0x40037A4: 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/13/valgrind956 ../src/curl -q --output log/13/curl956.out --include --trace-ascii log/13/trace956 --trace-time smtp://127.0.0.1:46883/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/13/stdout956 2> log/13/stderr956 956: 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 testCMD (33792): ../libtool --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/valgrind954 ../src/curl -q --output log/19/curl954.out --include --trace-ascii log/19/trace954 --trace-time smtp://127.0.0.1:33483/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/19/stdout954 2> log/19/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/4/valgrind957 ../src/curl -q --output log/4/curl957.out --include --trace-ascii log/4/trace957 --trace-time smtp://127.0.0.1:44681/957 --mail-rcpt Användaren > log/4/stdout957 2> log/4/stderr957 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/13/valgrind956 ../src/curl -q --output log/13/curl956.out --include --trace-ascii log/13/trace956 --trace-time smtp://127.0.0.1:46883/956 --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T - log/13/stdout956 2> log/13/stderr956 === End of file commands.log === Start of file server.cmd Testnum 956 === End of file server.cmd === Start of file smtp_server.log 19:01:23.215427 ====> Client connect 19:01:23.215626 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.215987 < "EHLO verifiedserver" 19:01:23.216029 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.216193 < "HELP" 19:01:23.216222 > "214 WE ROOLZ: 124334[CR][LF]" 19:01:23.216237 return proof we are we 19:01:23.216526 < "QUIT" 19:01:23.216553 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.217635 MAIN sockfilt said DISC 19:01:23.217661 ====> Client disconnected 19:01:23.217723 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.984124 ====> Client connect 19:01:23.987704 Received DATA (on stdin) 19:01:23.987729 > 160 bytes data, server => client 19:01:23.987743 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.987755 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.987767 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.987894 < 21 bytes data, client => server 19:01:23.987907 'EHLO verifiedserver\r\n' 19:01:23.988089 Received DATA (on stdin) 19:01:23.988102 > 53 bytes data, server => client 19:01:23.988114 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.988167 < 6 bytes data, client => server 19:01:23.988178 'HELP\r\n' 19:01:23.988292 Received DATA (on stdin) 19:01:23.988304 > 22 bytes data, server => client 19:01:23.988316 '214 WE ROOLZ: 124334\r\n' 19:01:23.988500 < 6 bytes data, client => server 19:01:23.988513 'QUIT\r\n' 19:01:23.988609 Received DATA (on stdin) 19:01:23.988621 > 35 bytes data, server => client 19:01:23.988633 '221 curl ESMTP server signing off\r\n' 19:01:23.989643 ====> Client disconnect 19:01:23.989778 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 ==127520== ==127520== Process terminating with default action of signal 4 (SIGILL) ==127520== Illegal opcode at address 0x4013E00 ==127520== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127520== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127520== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127520== by 0x40037A4: main (tool_main.c:199) === End of file valgrind956 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/19/valgrind954 ../src/curl -q --output log/19/curl954.out --include --trace-ascii log/19/trace954 --trace-time smtp://127.0.0.1:33483/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/19/stdout954 2> log/19/stderr954 954: 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 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/19/valgrind954 ../src/curl -q --output log/19/curl954.out --include --trace-ascii log/19/trace954 --trace-time smtp://127.0.0.1:33483/954 --mail-rcpt recipient@example.com --mail-from sender@example.com -u kurt:xipj3plmq --sasl-authzid ursel -T - log/19/stdout954 2> log/19/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 19:01:23.210231 ====> Client connect 19:01:23.210402 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.210710 < "EHLO verifiedserver" 19:01:23.210756 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.210944 < "HELP" 19:01:23.210976 > "214 WE ROOLZ: 109820[CR][LF]" 19:01:23.210992 return proof we are we 19:01:23.211207 < "QUIT" 19:01:23.211237 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.215119 MAIN sockfilt said DISC 19:01:23.215160 ====> Client disconnected 19:01:23.215326 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:22.982163 ====> Client connect 19:01:22.982473 Received DATA (on stdin) 19:01:22.982491 > 160 bytes data, server => client 19:01:22.982505 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:22.982518 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:22.982530 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:22.982613 < 21 bytes data, client => server 19:01:22.982627 'EHLO verifiedserver\r\n' 19:01:22.982820 Received DATA (on stdin) 19:01:22.982835 > 53 bytes data, server => client 19:01:22.982848 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:22.982906 < 6 bytes data, client => server 19:01:22.982918 'HELP\r\n' 19:01:22.983050 Received DATA (on stdin) 19:01:22.983063 > 22 bytes data, server => client 19:01:22.983075 '214 WE ROOLZ: 109820\r\n' 19:01:22.983173 < 6 bytes data, client => server 19:01:22.983187 'QUIT\r\n' 19:01:22.983295 Received DATA (on stdin) 19:01:22.983308 > 35 bytes data, server => client 19:01:22.983321 '221 curl ESMTP server signing off\r\n' 19:01:22.987106 ====> Client disconnect 19:01:22.987392 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 ==127521== ==127521== Process terminating with default action of signal 4 (SIGILL) ==127521== Illegal opcode at address 0x4013E00 ==127521== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127521== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127521== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127521== by 0x40037A4: main (tool_main.c:199) === End of file valgrind954 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/4/valgrind957 ../src/curl -q --output log/4/curl957.out --include --trace-ascii log/4/trace957 --trace-time smtp://127.0.0.1:44681/957 --mail-rcpt Användaren > log/4/stdout957 2> log/4/stderr957 957: 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 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/4/valgrind957 ../src/curl -q --output log/4/curl957.out --include --trace-ascii log/4/trace957 --trace-time smtp://127.0.0.1:44681/957 --mail-rcpt Användaren > log/4/stdout957 2> log/4/stderr957 === End of file commands.log === 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/24/valgrind962 ../src/curl -q --output log/24/curl962.out --include --trace-ascii log/24/trace962 --trace-time smtp://127.0.0.1:40091/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/24/stdout962 2> log/24/stderr962 CMD (33792): ../libtool --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/valgrind958 ../src/curl -q --output log/12/curl958.out --include --trace-ascii log/12/trace958 --trace-time smtp://127.0.0.1:42749/958 --mail-rcpt Användaren@example.com > log/12/stdout958 2> log/12/stderr958 Testnum 957 === End of file server.cmd === Start of file smtp_server.log 19:01:23.322723 ====> Client connect 19:01:23.322898 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.323267 < "EHLO verifiedserver" 19:01:23.323317 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.323512 < "HELP" 19:01:23.323546 > "214 WE ROOLZ: 124365[CR][LF]" 19:01:23.323561 return proof we are we 19:01:23.323798 < "QUIT" 19:01:23.323827 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.324704 MAIN sockfilt said DISC 19:01:23.324733 ====> Client disconnected 19:01:23.324804 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.094645 ====> Client connect 19:01:23.094976 Received DATA (on stdin) 19:01:23.094996 > 160 bytes data, server => client 19:01:23.095010 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.095023 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.095035 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.095123 < 21 bytes data, client => server 19:01:23.095140 'EHLO verifiedserver\r\n' 19:01:23.095379 Received DATA (on stdin) 19:01:23.095395 > 53 bytes data, server => client 19:01:23.095407 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.095467 < 6 bytes data, client => server 19:01:23.095479 'HELP\r\n' 19:01:23.095617 Received DATA (on stdin) 19:01:23.095630 > 22 bytes data, server => client 19:01:23.095642 '214 WE ROOLZ: 124365\r\n' 19:01:23.095742 < 6 bytes data, client => server 19:01:23.095756 'QUIT\r\n' 19:01:23.095884 Received DATA (on stdin) 19:01:23.095897 > 35 bytes data, server => client 19:01:23.095908 '221 curl ESMTP server signing off\r\n' 19:01:23.096711 ====> Client disconnect 19:01:23.096863 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind957 ==127658== ==127658== Process terminating with default action of signal 4 (SIGILL) ==127658== Illegal opcode at address 0x4013E00 ==127658== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127658== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127658== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127658== by 0x40037A4: main (tool_main.c:199) === End of file valgrind957 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/24/valgrind962 ../src/curl -q --output log/24/curl962.out --include --trace-ascii log/24/trace962 --trace-time smtp://127.0.0.1:40091/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/24/stdout962 2> log/24/stderr962 962: 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 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/24/valgrind962 ../src/curl -q --output log/24/curl962.out --include --trace-ascii log/24/trace962 --trace-time smtp://127.0.0.1:40091/962 --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T - log/24/stdout962 2> log/24/stderr962 === End of file commands.log === Start of file server.cmd Testnum 962 === End of file server.cmd === Start of file smtp_server.log 19:01:23.642663 ====> Client connect 19:01:23.642812 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.643137 < "EHLO verifiedserver" 19:01:23.643178 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.643349 < "HELP" 19:01:23.643378 > "214 WE ROOLZ: 109754[CR][LF]" 19:01:23.643394 return proof we are we 19:01:23.643641 < "QUIT" 19:01:23.643668 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.644728 MAIN sockfilt said DISC 19:01:23.644755 ====> Client disconnected 19:01:23.644818 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:24.414588 ====> Client connect 19:01:24.414881 Received DATA (on stdin) 19:01:24.414897 > 160 bytes data, server => client 19:01:24.414911 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:24.414924 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:24.414936 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:24.415049 < 21 bytes data, client => server 19:01:24.415062 'EHLO verifiedserver\r\n' 19:01:24.415239 Received DATA (on stdin) 19:01:24.415252 > 53 bytes data, server => client 19:01:24.415266 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:24.415320 < 6 bytes data, client => server 19:01:24.415332 'HELP\r\n' 19:01:24.415451 Received DATA (on stdin) 19:01:24.415464 > 22 bytes data, server => client 19:01:24.415476 '214 WE ROOLZ: 109754\r\n' 19:01:24.415611 < 6 bytes data, client => server 19:01:24.415625 'QUIT\r\n' 19:01:24.415725 Received DATA (on stdin) 19:01:24.415737 > 35 bytes data, server => client 19:01:24.415750 '221 curl ESMTP server signing off\r\n' 19:01:24.416734 ====> Client disconnect 19:01:24.416874 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 ==127868== ==127868== Process terminating with default action of signal 4 (SIGILL) ==127868== Illegal opcode at address 0x4013E00 ==127868== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127868== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127868== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127868== by 0x40037A4: main (tool_main.c:199) === End of file valgrind962 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/12/valgrind958 ../src/curl -q --output log/12/curl958.out --include --trace-ascii log/12/trace958 --trace-time smtp://127.0.0.1:42749/958 --mail-rcpt Användaren@example.com > log/12/stdout958 2> log/12/stderr958 958: 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 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/12/valgrind958 ../src/curl -q --output log/12/curl958.out --include --trace-ascii log/12/trace958 --trace-time smtp://127.0.0.1:42749/958 --mail-rcpt Användaren@example.com > log/12/stdout958 2> log/12/stderr958 === End of file commands.log === Start of file server.cmd Testnum 958 === End of file server.cmd === Start of file smtp_server.log 19:01:23.566007 ====> Client connect 19:01:23.566171 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.566465 < "EHLO verifiedserver" 19:01:23.566506 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.566683 < "HELP" 19:01:23.566714 > "214 WE ROOLZ: 109817[CR][LF]" 19:01:23.566729 return proof we are we 19:01:23.566936 < "QUIT" 19:01:23.566963 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.567643 MAIN sockfilt said DISC 19:01:23.567672 ====> Client disconnectCMD (33792): ../libtool --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/valgrind964 ../src/curl -q --output log/7/curl964.out --include --trace-ascii log/7/trace964 --trace-time smtp://127.0.0.1:36447/964 --mail-rcpt user@åäö.se > log/7/stdout964 2> log/7/stderr964 CMD (33792): ../libtool --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/valgrind963 ../src/curl -q --output log/21/curl963.out --include --trace-ascii log/21/trace963 --trace-time smtp://127.0.0.1:45703/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/21/stdout963 2> log/21/stderr963 ed 19:01:23.567740 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.337931 ====> Client connect 19:01:23.338242 Received DATA (on stdin) 19:01:23.338258 > 160 bytes data, server => client 19:01:23.338272 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.338285 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.338297 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.338375 < 21 bytes data, client => server 19:01:23.338389 'EHLO verifiedserver\r\n' 19:01:23.338567 Received DATA (on stdin) 19:01:23.338581 > 53 bytes data, server => client 19:01:23.338595 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.338650 < 6 bytes data, client => server 19:01:23.338663 'HELP\r\n' 19:01:23.338785 Received DATA (on stdin) 19:01:23.338798 > 22 bytes data, server => client 19:01:23.338810 '214 WE ROOLZ: 109817\r\n' 19:01:23.338904 < 6 bytes data, client => server 19:01:23.338919 'QUIT\r\n' 19:01:23.339019 Received DATA (on stdin) 19:01:23.339032 > 35 bytes data, server => client 19:01:23.339044 '221 curl ESMTP server signing off\r\n' 19:01:23.339650 ====> Client disconnect 19:01:23.339797 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind958 ==127828== ==127828== Process terminating with default action of signal 4 (SIGILL) ==127828== Illegal opcode at address 0x4013E00 ==127828== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127828== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127828== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127828== by 0x40037A4: main (tool_main.c:199) === End of file valgrind958 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/7/valgrind964 ../src/curl -q --output log/7/curl964.out --include --trace-ascii log/7/trace964 --trace-time smtp://127.0.0.1:36447/964 --mail-rcpt user@åäö.se > log/7/stdout964 2> log/7/stderr964 964: 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 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/7/valgrind964 ../src/curl -q --output log/7/curl964.out --include --trace-ascii log/7/trace964 --trace-time smtp://127.0.0.1:36447/964 --mail-rcpt user@åäö.se > log/7/stdout964 2> log/7/stderr964 === End of file commands.log === Start of file server.cmd Testnum 964 === End of file server.cmd === Start of file smtp_server.log 19:01:23.768752 ====> Client connect 19:01:23.768883 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.769105 < "EHLO verifiedserver" 19:01:23.769145 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.769318 < "HELP" 19:01:23.769347 > "214 WE ROOLZ: 124441[CR][LF]" 19:01:23.769362 return proof we are we 19:01:23.769591 < "QUIT" 19:01:23.769618 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.770258 MAIN sockfilt said DISC 19:01:23.770333 ====> Client disconnected 19:01:23.770403 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.540688 ====> Client connect 19:01:23.540944 Received DATA (on stdin) 19:01:23.540957 > 160 bytes data, server => client 19:01:23.540967 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.540976 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.540985 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.541045 < 21 bytes data, client => server 19:01:23.541055 'EHLO verifiedserver\r\n' 19:01:23.541205 Received DATA (on stdin) 19:01:23.541218 > 53 bytes data, server => client 19:01:23.541231 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.541285 < 6 bytes data, client => server 19:01:23.541297 'HELP\r\n' 19:01:23.541418 Received DATA (on stdin) 19:01:23.541431 > 22 bytes data, server => client 19:01:23.541442 '214 WE ROOLZ: 124441\r\n' 19:01:23.541559 < 6 bytes data, client => server 19:01:23.541574 'QUIT\r\n' 19:01:23.541669 Received DATA (on stdin) 19:01:23.541684 > 35 bytes data, server => client 19:01:23.541694 '221 curl ESMTP server signing off\r\n' 19:01:23.541994 ====> Client disconnect 19:01:23.542328 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind964 ==127988== ==127988== Process terminating with default action of signal 4 (SIGILL) ==127988== Illegal opcode at address 0x4013E00 ==127988== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127988== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127988== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127988== by 0x40037A4: main (tool_main.c:199) === End of file valgrind964 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/21/valgrind963 ../src/curl -q --output log/21/curl963.out --include --trace-ascii log/21/trace963 --trace-time smtp://127.0.0.1:45703/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/21/stdout963 2> log/21/stderr963 963: 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 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/21/valgrind963 ../src/curl -q --output log/21/curl963.out --include --trace-ascii log/21/trace963 --trace-time smtp://127.0.0.1:45703/963 --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T - log/21/stdout963 2> log/21/stderr963 === End of file commands.log === Start of file server.cmd Testnum 963 === End of file server.cmd === Start of file smtp_server.log 19:01:23.715526 ====> Client connect 19:01:23.715674 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.715974 < "EHLO verifiedserver" 19:01:23.716013 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.716182 < "HELP" 19:01:23.716210 > "214 WE ROOLZ: 124443[CR][LF]" 19:01:23.716224 return proof we are we 19:01:23.716455 < "QUIT" 19:01:23.716483 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.718195 MAIN sockfilt said DISC 19:01:23.718227 ====> Client disconnected 19:01:23.718285 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.487454 ====> Client connect 19:01:23.487743 Received DATA (on stdin) 19:01:23.487759 > 160 bytes data, server => client 19:01:23.487774 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.487786 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.487798 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.487883 < 21 bytes data, client => server 19:01:23.487899 'EHLO verifiedserver\r\n' 19:01:23.488072 Received DATA (on stdin) 19:01:23.488085 > 53 bytes data, server => client 19:01:23.488099 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.488155 < 6 bytes data, client => server 19:01:23.488167 'HELP\r\n' 19:01:23.488279 Received DATA (on stdin) 19:01:23.CMD (33792): ../libtool --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/valgrind966 ../src/curl -q --output log/1/curl966.out --include --trace-ascii log/1/trace966 --trace-time smtp://127.0.0.1:44329/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/1/stdout966 2> log/1/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/18/valgrind965 ../src/curl -q --output log/18/curl965.out --include --trace-ascii log/18/trace965 --trace-time smtp://127.0.0.1:34079/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/18/stdout965 2> log/18/stderr965 488291 > 22 bytes data, server => client 19:01:23.488303 '214 WE ROOLZ: 124443\r\n' 19:01:23.488419 < 6 bytes data, client => server 19:01:23.488436 'QUIT\r\n' 19:01:23.488539 Received DATA (on stdin) 19:01:23.488552 > 35 bytes data, server => client 19:01:23.488564 '221 curl ESMTP server signing off\r\n' 19:01:23.489715 ====> Client disconnect 19:01:23.490343 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 ==127980== ==127980== Process terminating with default action of signal 4 (SIGILL) ==127980== Illegal opcode at address 0x4013E00 ==127980== at 0x4013E00: getparameter (tool_getparam.c:2846) ==127980== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==127980== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==127980== by 0x40037A4: main (tool_main.c:199) === End of file valgrind963 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/1/valgrind966 ../src/curl -q --output log/1/curl966.out --include --trace-ascii log/1/trace966 --trace-time smtp://127.0.0.1:44329/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/1/stdout966 2> log/1/stderr966 966: 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 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/1/valgrind966 ../src/curl -q --output log/1/curl966.out --include --trace-ascii log/1/trace966 --trace-time smtp://127.0.0.1:44329/966 --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T - log/1/stdout966 2> log/1/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 19:01:23.834569 ====> Client connect 19:01:23.834707 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.835008 < "EHLO verifiedserver" 19:01:23.835052 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.835250 < "HELP" 19:01:23.835286 > "214 WE ROOLZ: 124448[CR][LF]" 19:01:23.835303 return proof we are we 19:01:23.835561 < "QUIT" 19:01:23.835594 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.836420 MAIN sockfilt said DISC 19:01:23.836451 ====> Client disconnected 19:01:23.836519 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.606331 ====> Client connect 19:01:23.606774 Received DATA (on stdin) 19:01:23.606790 > 160 bytes data, server => client 19:01:23.606803 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.606815 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.606827 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.606919 < 21 bytes data, client => server 19:01:23.606935 'EHLO verifiedserver\r\n' 19:01:23.607115 Received DATA (on stdin) 19:01:23.607130 > 53 bytes data, server => client 19:01:23.607144 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.607203 < 6 bytes data, client => server 19:01:23.607218 'HELP\r\n' 19:01:23.607362 Received DATA (on stdin) 19:01:23.607377 > 22 bytes data, server => client 19:01:23.607389 '214 WE ROOLZ: 124448\r\n' 19:01:23.607498 < 6 bytes data, client => server 19:01:23.607515 'QUIT\r\n' 19:01:23.607656 Received DATA (on stdin) 19:01:23.607672 > 35 bytes data, server => client 19:01:23.607685 '221 curl ESMTP server signing off\r\n' 19:01:23.608425 ====> Client disconnect 19:01:23.608851 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 ==128124== ==128124== Process terminating with default action of signal 4 (SIGILL) ==128124== Illegal opcode at address 0x4013E00 ==128124== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128124== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128124== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128124== by 0x40037A4: main (tool_main.c:199) === End of file valgrind966 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/18/valgrind965 ../src/curl -q --output log/18/curl965.out --include --trace-ascii log/18/trace965 --trace-time smtp://127.0.0.1:34079/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/18/stdout965 2> log/18/stderr965 965: 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 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/18/valgrind965 ../src/curl -q --output log/18/curl965.out --include --trace-ascii log/18/trace965 --trace-time smtp://127.0.0.1:34079/965 --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T - log/18/stdout965 2> log/18/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 19:01:23.841286 ====> Client connect 19:01:23.841468 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.841786 < "EHLO verifiedserver" 19:01:23.841830 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.842022 < "HELP" 19:01:23.842068 > "214 WE ROOLZ: 109952[CR][LF]" 19:01:23.842086 return proof we are we 19:01:23.843162 < "QUIT" 19:01:23.843193 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.844141 MAIN sockfilt said DISC 19:01:23.844170 ====> Client disconnected 19:01:23.844234 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.612281 ====> Client connect 19:01:23.613541 Received DATA (on stdin) 19:01:23.613560 > 160 bytes data, server => client 19:01:23.613574 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.613587 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.613599 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.613692 < 21 bytes data, client => server 19:01:23.613710 'EHLO verifiedserver\r\n' 19:01:23.613893 Received DATA (on stdin) 19:01:23.613908 > 53 bytes data, server => client 19:01:23.613921 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.613981 < 6 bytes data, client => server 19:01:23.613996 'HELP\r\n' 19:01:23.614956 Received DATA (on stdin) 19:01:23.614977 > 22 bytes data, server => client 19:01:23.614991 '214 WE ROOLZ: 109952\r\n' 19:01:23.615119 < 6 bytes data, client => server 19:01:23.615136 'QUIT\r\n' 19:01:23.615255 Received DATA (on stdin) 19:01:23.615269 > 35 bytes data, server => client 19:01:23.615282 '221 curl ESMTP server signing off\r\n' 19:01:23.616144 ====> Client disconnect 19:01:23.616296 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 =CMD (33792): ../libtool --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/valgrind968 ../src/curl -q --output log/15/curl968.out --include --trace-ascii log/15/trace968 --trace-time smtp://127.0.0.1:46573/968 --mail-rcpt Användaren > log/15/stdout968 2> log/15/stderr968 CMD (33792): ../libtool --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/valgrind967 ../src/curl -q --output log/23/curl967.out --include --trace-ascii log/23/trace967 --trace-time smtp://127.0.0.1:42473/967 --mail-rcpt Användaren@åäö.se > log/23/stdout967 2> log/23/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/17/valgrind969 ../src/curl -q --output log/17/curl969.out --include --trace-ascii log/17/trace969 --trace-time smtp://127.0.0.1:39497/969 --mail-rcpt Friends -X EXPN > log/17/stdout969 2> log/17/stderr969 == Start of file valgrind965 ==128149== ==128149== Process terminating with default action of signal 4 (SIGILL) ==128149== Illegal opcode at address 0x4013E00 ==128149== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128149== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128149== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128149== by 0x40037A4: main (tool_main.c:199) === End of file valgrind965 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/15/valgrind968 ../src/curl -q --output log/15/curl968.out --include --trace-ascii log/15/trace968 --trace-time smtp://127.0.0.1:46573/968 --mail-rcpt Användaren > log/15/stdout968 2> log/15/stderr968 968: 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 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/15/valgrind968 ../src/curl -q --output log/15/curl968.out --include --trace-ascii log/15/trace968 --trace-time smtp://127.0.0.1:46573/968 --mail-rcpt Användaren > log/15/stdout968 2> log/15/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 19:01:23.876799 ====> Client connect 19:01:23.876947 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.877268 < "EHLO verifiedserver" 19:01:23.877319 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.877519 < "HELP" 19:01:23.877558 > "214 WE ROOLZ: 124465[CR][LF]" 19:01:23.877574 return proof we are we 19:01:23.877822 < "QUIT" 19:01:23.877853 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.878869 MAIN sockfilt said DISC 19:01:23.878900 ====> Client disconnected 19:01:23.878977 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.648760 ====> Client connect 19:01:23.649025 Received DATA (on stdin) 19:01:23.649044 > 160 bytes data, server => client 19:01:23.649058 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.649071 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.649082 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.649168 < 21 bytes data, client => server 19:01:23.649183 'EHLO verifiedserver\r\n' 19:01:23.649381 Received DATA (on stdin) 19:01:23.649396 > 53 bytes data, server => client 19:01:23.649408 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.649468 < 6 bytes data, client => server 19:01:23.649480 'HELP\r\n' 19:01:23.649632 Received DATA (on stdin) 19:01:23.649645 > 22 bytes data, server => client 19:01:23.649656 '214 WE ROOLZ: 124465\r\n' 19:01:23.649775 < 6 bytes data, client => server 19:01:23.649793 'QUIT\r\n' 19:01:23.649912 Received DATA (on stdin) 19:01:23.649924 > 35 bytes data, server => client 19:01:23.649936 '221 curl ESMTP server signing off\r\n' 19:01:23.650870 ====> Client disconnect 19:01:23.651037 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind968 ==128222== ==128222== Process terminating with default action of signal 4 (SIGILL) ==128222== Illegal opcode at address 0x4013E00 ==128222== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128222== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128222== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128222== by 0x40037A4: main (tool_main.c:199) === End of file valgrind968 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/23/valgrind967 ../src/curl -q --output log/23/curl967.out --include --trace-ascii log/23/trace967 --trace-time smtp://127.0.0.1:42473/967 --mail-rcpt Användaren@åäö.se > log/23/stdout967 2> log/23/stderr967 967: 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 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/23/valgrind967 ../src/curl -q --output log/23/curl967.out --include --trace-ascii log/23/trace967 --trace-time smtp://127.0.0.1:42473/967 --mail-rcpt Användaren@åäö.se > log/23/stdout967 2> log/23/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 19:01:23.867995 ====> Client connect 19:01:23.868116 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.868407 < "EHLO verifiedserver" 19:01:23.868453 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.868648 < "HELP" 19:01:23.868680 > "214 WE ROOLZ: 124447[CR][LF]" 19:01:23.868695 return proof we are we 19:01:23.869064 < "QUIT" 19:01:23.869092 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.870494 MAIN sockfilt said DISC 19:01:23.870524 ====> Client disconnected 19:01:23.870589 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.639956 ====> Client connect 19:01:23.640187 Received DATA (on stdin) 19:01:23.640204 > 160 bytes data, server => client 19:01:23.640216 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.640228 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.640238 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.640315 < 21 bytes data, client => server 19:01:23.640331 'EHLO verifiedserver\r\n' 19:01:23.640515 Received DATA (on stdin) 19:01:23.640529 > 53 bytes data, server => client 19:01:23.640542 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.640602 < 6 bytes data, client => server 19:01:23.640616 'HELP\r\n' 19:01:23.640751 Received DATA (on stdin) 19:01:23.640902 > 22 bytes data, server => client 19:01:23.640914 '214 WE ROOLZ: 124447\r\n' 19:01:23.641027 < 6 bytes data, client => server 19:01:23.641042 'QUIT\r\n' 19:01:23.641146 Received DATA (on stdin) 19:01:23.641159 > 35 bytes data, server => client 19:01:23.641170 '221 curl ESMTP server signing off\r\n' 19:01:23.642500 ====> Client disconnect 19:01:23.642648 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind967 ==128359== ==128359== Process terminating with default action of signal 4 (SIGILL) ==128359== Illegal opcode at address 0x4013E00 ==128359== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128359== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128359== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128359== by 0x40037A4: main (tool_main.c:199) === End of file valgrind967 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/17/valgrind969 ../src/curl -q --output log/17/curl969.out --include --trace-ascii log/17/trace969 --trace-time smtp://127.0.0.1:39497/969 --mail-rcpt Friends -X EXPN > log/17/stdout969 2> log/17/stderr969 969: protocol FAILED! There was no content at all in the file log/17/server.input. Server glitch? 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/5/valgrind974 ../src/curl -q --output log/5/curl974.out --include --trace-ascii log/5/trace974 --trace-time -x http://127.0.0.1:46771 http://firsthost.com -L -u joe:secret > log/5/stdout974 2> log/5/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/20/valgrind973 ../src/curl -q --output log/20/curl973.out --include --trace-ascii log/20/trace973 --trace-time http://127.0.0.1:38583/973 -L -u joe:secret > log/20/stdout973 2> log/20/stderr973 otal curl failure? Returned: 132 == Contents of files in the log/17/ 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/17/valgrind969 ../src/curl -q --output log/17/curl969.out --include --trace-ascii log/17/trace969 --trace-time smtp://127.0.0.1:39497/969 --mail-rcpt Friends -X EXPN > log/17/stdout969 2> log/17/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 19:01:23.878989 ====> Client connect 19:01:23.879142 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.879437 < "EHLO verifiedserver" 19:01:23.879485 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:23.879679 < "HELP" 19:01:23.879721 > "214 WE ROOLZ: 124457[CR][LF]" 19:01:23.879738 return proof we are we 19:01:23.879993 < "QUIT" 19:01:23.880024 > "221 curl ESMTP server signing off[CR][LF]" 19:01:23.880819 MAIN sockfilt said DISC 19:01:23.880848 ====> Client disconnected 19:01:23.880913 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.650931 ====> Client connect 19:01:23.651214 Received DATA (on stdin) 19:01:23.651231 > 160 bytes data, server => client 19:01:23.651243 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.651253 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.651263 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.651340 < 21 bytes data, client => server 19:01:23.651353 'EHLO verifiedserver\r\n' 19:01:23.651549 Received DATA (on stdin) 19:01:23.651563 > 53 bytes data, server => client 19:01:23.651576 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.651635 < 6 bytes data, client => server 19:01:23.651647 'HELP\r\n' 19:01:23.651796 Received DATA (on stdin) 19:01:23.651810 > 22 bytes data, server => client 19:01:23.651822 '214 WE ROOLZ: 124457\r\n' 19:01:23.651948 < 6 bytes data, client => server 19:01:23.651965 'QUIT\r\n' 19:01:23.652084 Received DATA (on stdin) 19:01:23.652097 > 35 bytes data, server => client 19:01:23.652109 '221 curl ESMTP server signing off\r\n' 19:01:23.652825 ====> Client disconnect 19:01:23.652971 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind969 ==128227== ==128227== Process terminating with default action of signal 4 (SIGILL) ==128227== Illegal opcode at address 0x4013E00 ==128227== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128227== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128227== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128227== by 0x40037A4: 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/5/valgrind974 ../src/curl -q --output log/5/curl974.out --include --trace-ascii log/5/trace974 --trace-time -x http://127.0.0.1:46771 http://firsthost.com -L -u joe:secret > log/5/stdout974 2> log/5/stderr974 974: 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 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/5/valgrind974 ../src/curl -q --output log/5/curl974.out --include --trace-ascii log/5/trace974 --trace-time -x http://127.0.0.1:46771 http://firsthost.com -L -u joe:secret > log/5/stdout974 2> log/5/stderr974 === End of file commands.log === Start of file http_server.log 19:01:23.689110 ====> Client connect 19:01:23.689146 accept_connection 3 returned 4 19:01:23.689165 accept_connection 3 returned 0 19:01:23.689181 Read 93 bytes 19:01:23.689192 Process 93 bytes request 19:01:23.689207 Got request: GET /verifiedserver HTTP/1.1 19:01:23.689218 Are-we-friendly question received 19:01:23.689242 Wrote request (93 bytes) input to log/5/server.input 19:01:23.689260 Identifying ourselves as friends 19:01:23.689319 Response sent (56 bytes) and written to log/5/server.response 19:01:23.689331 special request received, no persistency 19:01:23.689342 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 50500 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.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:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind974 ==128368== ==128368== Process terminating with default action of signal 4 (SIGILL) ==128368== Illegal opcode at address 0x4013E00 ==128368== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128368== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128368== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128368== by 0x40037A4: 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/20/valgrind973 ../src/curl -q --output log/20/curl973.out --include --trace-ascii log/20/trace973 --trace-time http://127.0.0.1:38583/973 -L -u joe:secret > log/20/stdout973 2> log/20/stderr973 973: 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 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/20/valgrind973 ../src/curl -q --output log/20/curl973.out --include --trace-ascii log/20/trace973 --trace-time http://127.0.0.1:38583/973 -L -u joe:secret > log/20/stdout973 2> log/20/stderr973 === End of file commands.log === Start of file ftp_server.log 19:01:23.919715 ====> Client connect 19:01:23.919892 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:23.920189 < "USER anonymous" 19:01:23.920274 > "331 We are happy you popped in![CR][LF]" 19:01:23.920452 < "PASS ftp@example.com" 19:01:23.920486 > "230 Welcome you silly person[CR][LF]" 19:01:23.920667 < "PWD" 19:01:23.920700 > "257 "/" is current directory[CR][LF]" 19:01:23.920881 < "EPSV" 19:01:23.920910 ====> Passive DATA channel requested by client 19:01:23.920928 DATA sockfilt for passive data channel starting... 19:01:23.926922 DATA sockfilt for passive data channel started (pid 128340) 19:01:23.927052 DATA sockfilt for passive data channel listens on port 42379 19:01:23.927100 > "229 Entering Passive Mode (|||42379|)[CR][LF]" 19:01:23.927119 Client has been notified that DATA conn will be accepted on port 42379 19:01:23.927423 Client connects to port 42379 19:01:23.927454 ====> Client established passive DATA connection on port 42379 19:01:23.9275CMD (33792): ../libtool --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/valgrind977 ../src/curl -q --output log/11/curl977.out --include --trace-ascii log/11/trace977 --trace-time -x http://127.0.0.1:46317 http://firsthost.me. -c log/11/cookies977 > log/11/stdout977 2> log/11/stderr977 44 < "TYPE I" 19:01:23.927576 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:23.927734 < "SIZE verifiedserver" 19:01:23.927772 > "213 17[CR][LF]" 19:01:23.927924 < "RETR verifiedserver" 19:01:23.927956 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:23.928035 =====> Closing passive DATA connection... 19:01:23.928052 Server disconnects passive DATA connection 19:01:23.928226 Server disconnected passive DATA connection 19:01:23.928256 DATA sockfilt for passive data channel quits (pid 128340) 19:01:23.928471 DATA sockfilt for passive data channel quit (pid 128340) 19:01:23.928498 =====> Closed passive DATA connection 19:01:23.928527 > "226 File transfer complete[CR][LF]" 19:01:23.972412 < "QUIT" 19:01:23.972475 > "221 bye bye baby[CR][LF]" 19:01:23.973568 MAIN sockfilt said DISC 19:01:23.973613 ====> Client disconnected 19:01:23.973688 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:23.691676 ====> Client connect 19:01:23.691970 Received DATA (on stdin) 19:01:23.691991 > 160 bytes data, server => client 19:01:23.692006 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.692018 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.692030 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.692108 < 16 bytes data, client => server 19:01:23.692123 'USER anonymous\r\n' 19:01:23.692270 Received DATA (on stdin) 19:01:23.692287 > 33 bytes data, server => client 19:01:23.692340 '331 We are happy you popped in!\r\n' 19:01:23.692400 < 22 bytes data, client => server 19:01:23.692416 'PASS ftp@example.com\r\n' 19:01:23.692548 Received DATA (on stdin) 19:01:23.692562 > 30 bytes data, server => client 19:01:23.692574 '230 Welcome you silly person\r\n' 19:01:23.692629 < 5 bytes data, client => server 19:01:23.692643 'PWD\r\n' 19:01:23.692758 Received DATA (on stdin) 19:01:23.692771 > 30 bytes data, server => client 19:01:23.692783 '257 "/" is current directory\r\n' 19:01:23.692845 < 6 bytes data, client => server 19:01:23.692858 'EPSV\r\n' 19:01:23.699187 Received DATA (on stdin) 19:01:23.699206 > 39 bytes data, server => client 19:01:23.699220 '229 Entering Passive Mode (|||42379|)\r\n' 19:01:23.699426 < 8 bytes data, client => server 19:01:23.699439 'TYPE I\r\n' 19:01:23.699635 Received DATA (on stdin) 19:01:23.699647 > 33 bytes data, server => client 19:01:23.699660 '200 I modify TYPE as you wanted\r\n' 19:01:23.699709 < 21 bytes data, client => server 19:01:23.699721 'SIZE verifiedserver\r\n' 19:01:23.699828 Received DATA (on stdin) 19:01:23.699841 > 8 bytes data, server => client 19:01:23.699852 '213 17\r\n' 19:01:23.699902 < 21 bytes data, client => server 19:01:23.699914 'RETR verifiedserver\r\n' 19:01:23.700111 Received DATA (on stdin) 19:01:23.700123 > 29 bytes data, server => client 19:01:23.700136 '150 Binary junk (17 bytes).\r\n' 19:01:23.700586 Received DATA (on stdin) 19:01:23.700601 > 28 bytes data, server => client 19:01:23.700613 '226 File transfer complete\r\n' 19:01:23.744274 < 6 bytes data, client => server 19:01:23.744303 'QUIT\r\n' 19:01:23.744547 Received DATA (on stdin) 19:01:23.744567 > 18 bytes data, server => client 19:01:23.744579 '221 bye bye baby\r\n' 19:01:23.745560 ====> Client disconnect 19:01:23.745746 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:23.698619 Running IPv4 version 19:01:23.698689 Listening on port 42379 19:01:23.698732 Wrote pid 128340 to log/20/server/ftp_sockdata.pid 19:01:23.698917 Received PING (on stdin) 19:01:23.699015 Received PORT (on stdin) 19:01:23.699397 ====> Client connect 19:01:23.700143 Received DATA (on stdin) 19:01:23.700166 > 17 bytes data, server => client 19:01:23.700179 'WE ROOLZ: 80693\r\n' 19:01:23.700213 Received DISC (on stdin) 19:01:23.700228 ====> Client forcibly disconnected 19:01:23.700324 Received QUIT (on stdin) 19:01:23.700338 quits 19:01:23.700403 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:01:23.661366 ====> Client connect 19:01:23.661399 accept_connection 3 returned 4 19:01:23.661416 accept_connection 3 returned 0 19:01:23.661432 Read 93 bytes 19:01:23.661442 Process 93 bytes request 19:01:23.661455 Got request: GET /verifiedserver HTTP/1.1 19:01:23.661466 Are-we-friendly question received 19:01:23.661489 Wrote request (93 bytes) input to log/20/server.input 19:01:23.661507 Identifying ourselves as friends 19:01:23.661562 Response sent (56 bytes) and written to log/20/server.response 19:01:23.661573 special request received, no persistency 19:01:23.661583 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 42432 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind973 ==128528== ==128528== Process terminating with default action of signal 4 (SIGILL) ==128528== Illegal opcode at address 0x4013E00 ==128528== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128528== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128528== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128528== by 0x40037A4: main (tool_main.c:199) === End of file valgrind973 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/11/valgrind977 ../src/curl -q --output log/11/curl977.out --include --trace-ascii log/11/trace977 --trace-time -x http://127.0.0.1:46317 http://firsthost.me. -c log/11/cookies977 > log/11/stdout977 2> log/11/stderr977 977: 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 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/11/valgrind977 ../src/curl -q --output log/11/curl977.out --include --trace-ascii log/11/trace977 --trace-time -x http://127.0.0.1:46317 http://firsthost.me. -c log/11/cookies977 > log/11/stdout977 2> log/11/stderr977 === End of file commands.log === Start of file http_server.log 19:01:23.817543 ====> Client connect 19:01:23.817584 accept_connection 3 returned 4 19:01:23.817606 accept_connection 3 returned 0 19:01:23.817625 Read 93 bytes 19:01:23.817637 Process 93 bytes request 19:01:23.817652 Got request: GET /verifiedserver HTTP/1.1 19:01:23.817663 Are-we-friendly question received 19:01:23.817693 Wrote request (93 bytes) input to log/11/server.input 19:01:23.817715 Identifying ourselves as friends 19:01:23.817784 Response sent (56 bytes) and written to log/11/server.response 19:01:23.817799 special request received, no persistency 19:01:23.817811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 51360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.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/14/valgrind976 ../src/curl -q --output log/14/curl976.out --include --trace-ascii log/14/trace976 --trace-time -x http://127.0.0.1:36759 http://firsthost.com --location-trusted -u joe:secret > log/14/stdout976 2> log/14/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/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:36745/979 -L -u smith:doggie > log/9/stdout979 2> log/9/stderr979 CMD (33792): ../libtool --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/valgrind978 ../src/curl -q --output log/10/curl978.out --include --trace-ascii log/10/trace978 --trace-time http://127.0.0.1:37879/978 --stderr log/10/redir --silent -w '%{stderr}nonsense\n' > log/10/stdout978 2> log/10/stderr978 e http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind977 ==128640== ==128640== Process terminating with default action of signal 4 (SIGILL) ==128640== Illegal opcode at address 0x4013E00 ==128640== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128640== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128640== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128640== by 0x40037A4: main (tool_main.c:199) === End of file valgrind977 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/14/valgrind976 ../src/curl -q --output log/14/curl976.out --include --trace-ascii log/14/trace976 --trace-time -x http://127.0.0.1:36759 http://firsthost.com --location-trusted -u joe:secret > log/14/stdout976 2> log/14/stderr976 976: 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 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/14/valgrind976 ../src/curl -q --output log/14/curl976.out --include --trace-ascii log/14/trace976 --trace-time -x http://127.0.0.1:36759 http://firsthost.com --location-trusted -u joe:secret > log/14/stdout976 2> log/14/stderr976 === End of file commands.log === Start of file http_server.log 19:01:23.796105 ====> Client connect 19:01:23.796245 accept_connection 3 returned 4 19:01:23.796270 accept_connection 3 returned 0 19:01:23.796289 Read 93 bytes 19:01:23.796301 Process 93 bytes request 19:01:23.796316 Got request: GET /verifiedserver HTTP/1.1 19:01:23.796326 Are-we-friendly question received 19:01:23.796442 Wrote request (93 bytes) input to log/14/server.input 19:01:23.796466 Identifying ourselves as friends 19:01:23.796532 Response sent (56 bytes) and written to log/14/server.response 19:01:23.796545 special request received, no persistency 19:01:23.796556 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 46678 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind976 ==128608== ==128608== Process terminating with default action of signal 4 (SIGILL) ==128608== Illegal opcode at address 0x4013E00 ==128608== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128608== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128608== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128608== by 0x40037A4: main (tool_main.c:199) === End of file valgrind976 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:36745/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:36745/979 -L -u smith:doggie > log/9/stdout979 2> log/9/stderr979 === End of file commands.log === Start of file http_server.log 19:01:23.842076 ====> Client connect 19:01:23.842109 accept_connection 3 returned 4 19:01:23.842125 accept_connection 3 returned 0 19:01:23.842140 Read 93 bytes 19:01:23.842154 Process 93 bytes request 19:01:23.842167 Got request: GET /verifiedserver HTTP/1.1 19:01:23.842177 Are-we-friendly question received 19:01:23.842201 Wrote request (93 bytes) input to log/9/server.input 19:01:23.842217 Identifying ourselves as friends 19:01:23.842268 Response sent (56 bytes) and written to log/9/server.response 19:01:23.842278 special request received, no persistency 19:01:23.842287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 38370 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind979 ==128748== ==128748== Process terminating with default action of signal 4 (SIGILL) ==128748== Illegal opcode at address 0x4013E00 ==128748== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128748== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128748== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128748== by 0x40037A4: main (tool_main.c:199) === End of file valgrind979 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/10/valgrind978 ../src/curl -q --output log/10/curl978.out --include --trace-ascii log/10/trace978 --trace-time http://127.0.0.1:37879/978 --stderr log/10/redir --silent -w '%{stderr}nonsense\n' > log/10/stdout978 2> log/10/stderr978 978: 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 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/10/valgrind978 ../src/curl -q --output log/10/curl978.out --include --trace-ascii log/10/trace978 --trace-time http://127.0.0.1:37879/978 --stderr log/10/redir --silent -w '%{stderr}nonsense\n' > log/10/stdout978 2> log/10/stderr978 === End of file commands.log === Start of file http_server.log 19:01:23.819474 ====> Client connect 19:01:23.819507 accept_connection 3 returned 4 19:01:23.819524 accept_connection 3 returned 0 19:01:23.819539 Read 93 bytes 19:01:23.819551 Process 93 bytes request 19:01:23.819564 Got request: GET /verifiedserver HTTP/1.1 19:01:23.819574 Are-we-friendly question received 19:01:23.819600 Wrote request (93 bytes) input to log/10/server.input 19:CMD (33792): ../libtool --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/valgrind980 ../src/curl -q --output log/3/curl980.out --include --trace-ascii log/3/trace980 --trace-time smtp://127.0.0.1:46705/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/3/stdout980 2> log/3/stderr980 CMD (33792): ../libtool --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/valgrind981 ../src/curl -q --output log/22/curl981.out --include --trace-ascii log/22/trace981 --trace-time imap://127.0.0.1:42425/981 -T log/22/upload981 -u user:secret --ssl > log/22/stdout981 2> log/22/stderr981 01:23.819617 Identifying ourselves as friends 19:01:23.819671 Response sent (56 bytes) and written to log/10/server.response 19:01:23.819682 special request received, no persistency 19:01:23.819692 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 43530 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind978 ==128639== ==128639== Process terminating with default action of signal 4 (SIGILL) ==128639== Illegal opcode at address 0x4013E00 ==128639== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128639== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128639== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128639== by 0x40037A4: main (tool_main.c:199) === End of file valgrind978 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/3/valgrind980 ../src/curl -q --output log/3/curl980.out --include --trace-ascii log/3/trace980 --trace-time smtp://127.0.0.1:46705/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/3/stdout980 2> log/3/stderr980 980: 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 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/3/valgrind980 ../src/curl -q --output log/3/curl980.out --include --trace-ascii log/3/trace980 --trace-time smtp://127.0.0.1:46705/980 --mail-rcpt recipient@example.com --mail-from sender@example.com -u user:secret --ssl --sasl-ir -T - log/3/stdout980 2> log/3/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 Enter 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 19:01:24.080042 ====> Client connect 19:01:24.080203 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:24.080506 < "EHLO verifiedserver" 19:01:24.080552 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:24.080738 < "HELP" 19:01:24.080771 > "214 WE ROOLZ: 124528[CR][LF]" 19:01:24.080787 return proof we are we 19:01:24.081022 < "QUIT" 19:01:24.081051 > "221 curl ESMTP server signing off[CR][LF]" 19:01:24.081831 MAIN sockfilt said DISC 19:01:24.081859 ====> Client disconnected 19:01:24.081925 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:23.851956 ====> Client connect 19:01:23.852275 Received DATA (on stdin) 19:01:23.852293 > 160 bytes data, server => client 19:01:23.852307 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.852319 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.852330 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.852413 < 21 bytes data, client => server 19:01:23.852427 'EHLO verifiedserver\r\n' 19:01:23.852615 Received DATA (on stdin) 19:01:23.852628 > 53 bytes data, server => client 19:01:23.852641 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:23.852698 < 6 bytes data, client => server 19:01:23.852711 'HELP\r\n' 19:01:23.852843 Received DATA (on stdin) 19:01:23.852855 > 22 bytes data, server => client 19:01:23.852867 '214 WE ROOLZ: 124528\r\n' 19:01:23.852965 < 6 bytes data, client => server 19:01:23.852980 'QUIT\r\n' 19:01:23.853108 Received DATA (on stdin) 19:01:23.853121 > 35 bytes data, server => client 19:01:23.853133 '221 curl ESMTP server signing off\r\n' 19:01:23.853837 ====> Client disconnect 19:01:23.853981 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 ==128754== ==128754== Process terminating with default action of signal 4 (SIGILL) ==128754== Illegal opcode at address 0x4013E00 ==128754== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128754== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128754== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128754== by 0x40037A4: main (tool_main.c:199) === End of file valgrind980 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/22/valgrind981 ../src/curl -q --output log/22/curl981.out --include --trace-ascii log/22/trace981 --trace-time imap://127.0.0.1:42425/981 -T log/22/upload981 -u user:secret --ssl > log/22/stdout981 2> log/22/stderr981 981: 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 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/22/valgrind981 ../src/curl -q --output log/22/curl981.out --include --trace-ascii log/22/trace981 --trace-time imap://127.0.0.1:42425/981 -T log/22/upload981 -u user:secret --ssl > log/22/stdout981 2> log/22/stderr981 === End of file commands.log === Start of file imap_server.log 19:01:24.083804 ====> Client connect 19:01:24.083947 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:24.085871 < "A001 CAPABILITY" 19:01:24.085909 > "A001 BAD Command[CR][LF]" 19:01:24.086071 < "A002 LIST "verifiedserver" *" 19:01:24.086098 LIST_imap got "verifiedserver" * 19:01:24.086123 > "* LIST () "/" "WE ROOLZ: 118557"[CR][LF]" 19:01:24.086143 > "A002 OK LIST Completed[CR][LF]" 19:01:24.086156 return proof we are we 19:01:24.135721 < "A003 LOGOUT" 19:01:24.135784 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:24.135806 > "A003 OK LOGOUT completed[CR][LF]" 19:01:24.137344 MAIN sockfilt said DISC 19:01:24.137390 ====> Client disconnected 19:01:24.137460 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:23.855257 ====> Client connect 19:01:23.856014 Received DATA (on stdin) 19:01:23.856029 > 178 bytes data, server => client 19:01:23.856043 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:23.856054 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:23.856065 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:23.856074 'rve\r\n' 19:01:23.857776 < 17 bytes data, client => server 19:01:23.857795 'A001 CAPABILITY\r\n' 19:01:23.857967 Received DATA (on stdin) 19:01:23.857979 > 18 bytes data, server => client 19:01:23.857990 'A001 BAD Command\r\n' 19:01:23.858044 < 30 byCMD (33792): ../libtool --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/valgrind975 ../src/curl -q --output log/8/curl975.out --include --trace-ascii log/8/trace975 --trace-time http://127.0.0.1:43853/975 --location-trusted -u joe:secret > log/8/stdout975 2> log/8/stderr975 tes data, client => server 19:01:23.858056 'A002 LIST "verifiedserver" *\r\n' 19:01:23.858211 Received DATA (on stdin) 19:01:23.858223 > 34 bytes data, server => client 19:01:23.858234 '* LIST () "/" "WE ROOLZ: 118557"\r\n' 19:01:23.858255 Received DATA (on stdin) 19:01:23.858266 > 24 bytes data, server => client 19:01:23.858276 'A002 OK LIST Completed\r\n' 19:01:23.907571 < 13 bytes data, client => server 19:01:23.907605 'A003 LOGOUT\r\n' 19:01:23.907867 Received DATA (on stdin) 19:01:23.907883 > 36 bytes data, server => client 19:01:23.907895 '* BYE curl IMAP server signing off\r\n' 19:01:23.907923 Received DATA (on stdin) 19:01:23.907934 > 26 bytes data, server => client 19:01:23.907945 'A003 OK LOGOUT completed\r\n' 19:01:23.908787 ====> Client disconnect 19:01:23.909522 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 ==128893== ==128893== Process terminating with default action of signal 4 (SIGILL) ==128893== Illegal opcode at address 0x4013E00 ==128893== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128893== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128893== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128893== by 0x40037A4: main (tool_main.c:199) === End of file valgrind981 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/8/valgrind975 ../src/curl -q --output log/8/curl975.out --include --trace-ascii log/8/trace975 --trace-time http://127.0.0.1:43853/975 --location-trusted -u joe:secret > log/8/stdout975 2> log/8/stderr975 975: 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 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/8/valgrind975 ../src/curl -q --output log/8/curl975.out --include --trace-ascii log/8/trace975 --trace-time http://127.0.0.1:43853/975 --location-trusted -u joe:secret > log/8/stdout975 2> log/8/stderr975 === End of file commands.log === Start of file ftp_server.log 19:01:24.046893 ====> Client connect 19:01:24.047072 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:24.054564 < "USER anonymous" 19:01:24.054625 > "331 We are happy you popped in![CR][LF]" 19:01:24.054864 < "PASS ftp@example.com" 19:01:24.054906 > "230 Welcome you silly person[CR][LF]" 19:01:24.055546 < "PWD" 19:01:24.055592 > "257 "/" is current directory[CR][LF]" 19:01:24.055808 < "EPSV" 19:01:24.055835 ====> Passive DATA channel requested by client 19:01:24.055851 DATA sockfilt for passive data channel starting... 19:01:24.058420 DATA sockfilt for passive data channel started (pid 128624) 19:01:24.058553 DATA sockfilt for passive data channel listens on port 36717 19:01:24.058605 > "229 Entering Passive Mode (|||36717|)[CR][LF]" 19:01:24.058629 Client has been notified that DATA conn will be accepted on port 36717 19:01:24.058915 Client connects to port 36717 19:01:24.058950 ====> Client established passive DATA connection on port 36717 19:01:24.059056 < "TYPE I" 19:01:24.059094 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:24.059275 < "SIZE verifiedserver" 19:01:24.059352 > "213 17[CR][LF]" 19:01:24.059501 < "RETR verifiedserver" 19:01:24.059539 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:24.059634 =====> Closing passive DATA connection... 19:01:24.059653 Server disconnects passive DATA connection 19:01:24.059942 Server disconnected passive DATA connection 19:01:24.059975 DATA sockfilt for passive data channel quits (pid 128624) 19:01:24.060250 DATA sockfilt for passive data channel quit (pid 128624) 19:01:24.060279 =====> Closed passive DATA connection 19:01:24.060312 > "226 File transfer complete[CR][LF]" 19:01:24.105561 < "QUIT" 19:01:24.105626 > "221 bye bye baby[CR][LF]" 19:01:24.122998 MAIN sockfilt said DISC 19:01:24.123102 ====> Client disconnected 19:01:24.123205 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:23.817887 ====> Client connect 19:01:23.819156 Received DATA (on stdin) 19:01:23.819179 > 160 bytes data, server => client 19:01:23.819195 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:23.819208 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:23.819220 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:23.824588 < 16 bytes data, client => server 19:01:23.824614 'USER anonymous\r\n' 19:01:23.826697 Received DATA (on stdin) 19:01:23.826717 > 33 bytes data, server => client 19:01:23.826731 '331 We are happy you popped in!\r\n' 19:01:23.826802 < 22 bytes data, client => server 19:01:23.826819 'PASS ftp@example.com\r\n' 19:01:23.826970 Received DATA (on stdin) 19:01:23.826987 > 30 bytes data, server => client 19:01:23.827000 '230 Welcome you silly person\r\n' 19:01:23.827061 < 5 bytes data, client => server 19:01:23.827075 'PWD\r\n' 19:01:23.827657 Received DATA (on stdin) 19:01:23.827674 > 30 bytes data, server => client 19:01:23.827688 '257 "/" is current directory\r\n' 19:01:23.827760 < 6 bytes data, client => server 19:01:23.827778 'EPSV\r\n' 19:01:23.830697 Received DATA (on stdin) 19:01:23.830714 > 39 bytes data, server => client 19:01:23.830728 '229 Entering Passive Mode (|||36717|)\r\n' 19:01:23.830886 < 8 bytes data, client => server 19:01:23.830903 'TYPE I\r\n' 19:01:23.831157 Received DATA (on stdin) 19:01:23.831171 > 33 bytes data, server => client 19:01:23.831183 '200 I modify TYPE as you wanted\r\n' 19:01:23.831239 < 21 bytes data, client => server 19:01:23.831252 'SIZE verifiedserver\r\n' 19:01:23.831355 Received DATA (on stdin) 19:01:23.831369 > 8 bytes data, server => client 19:01:23.831410 '213 17\r\n' 19:01:23.831463 < 21 bytes data, client => server 19:01:23.831478 'RETR verifiedserver\r\n' 19:01:23.831715 Received DATA (on stdin) 19:01:23.831730 > 29 bytes data, server => client 19:01:23.831742 '150 Binary junk (17 bytes).\r\n' 19:01:23.832374 Received DATA (on stdin) 19:01:23.832390 > 28 bytes data, server => client 19:01:23.832403 '226 File transfer complete\r\n' 19:01:23.884613 < 6 bytes data, client => server 19:01:23.884657 'QUIT\r\n' 19:01:23.884680 Received DATA (on stdin) 19:01:23.884692 > 18 bytes data, server => client 19:01:23.884703 '221 bye bye baby\r\n' 19:01:23.885590 ====> Client disconnect 19:01:23.895282 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:24.829819 Running IPv4 version 19:01:24.829887 Listening on port 36717 19:01:24.829931 Wrote pid 128624 to log/8/server/ftp_sockdata.pid 19:01:24.830401 Received PING (on stdin) 19:01:24.830513 Received PORT (on stdin) 19:01:24.830925 ====> Client connect 19:01:24.831803 Received DATA (on stdin) 19:01:24.831820 > 17 bytes data, server => client 19:01:24.831832 'WE ROOLZ: 80760\r\n' 19:01:24.831863 Received DISC (on stdin) 19:01:24.831879 ====> Client forcibly disconnected 19:01:24.832048 Received QUIT (on stdin) 19:01:24.832064 quits 19:01:24.832142 ============> sockfilt quits === End of file ftp_socCMD (33792): ../libtool --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/valgrind982 ../src/curl -q --output log/16/curl982.out --include --trace-ascii log/16/trace982 --trace-time pop3://127.0.0.1:43313/982 -u user:secret --ssl > log/16/stdout982 2> log/16/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/4/valgrind990 ../src/curl -q --output log/4/curl990.out --include --trace-ascii log/4/trace990 --trace-time http://127.0.0.1:37985/990 -w '%output{log/4/output}%{http_code}\n' > log/4/stdout990 2> log/4/stderr990 kdata.log === Start of file http_server.log 19:01:23.772649 ====> Client connect 19:01:23.772682 accept_connection 3 returned 4 19:01:23.772699 accept_connection 3 returned 0 19:01:23.772714 Read 93 bytes 19:01:23.772725 Process 93 bytes request 19:01:23.772740 Got request: GET /verifiedserver HTTP/1.1 19:01:23.772750 Are-we-friendly question received 19:01:23.772775 Wrote request (93 bytes) input to log/8/server.input 19:01:23.772793 Identifying ourselves as friends 19:01:23.772850 Response sent (56 bytes) and written to log/8/server.response 19:01:23.772862 special request received, no persistency 19:01:23.772872 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 59834 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind975 ==128965== ==128965== Process terminating with default action of signal 4 (SIGILL) ==128965== Illegal opcode at address 0x4013E00 ==128965== at 0x4013E00: getparameter (tool_getparam.c:2846) ==128965== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==128965== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==128965== by 0x40037A4: main (tool_main.c:199) === End of file valgrind975 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/16/valgrind982 ../src/curl -q --output log/16/curl982.out --include --trace-ascii log/16/trace982 --trace-time pop3://127.0.0.1:43313/982 -u user:secret --ssl > log/16/stdout982 2> log/16/stderr982 982: 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 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/16/valgrind982 ../src/curl -q --output log/16/curl982.out --include --trace-ascii log/16/trace982 --trace-time pop3://127.0.0.1:43313/982 -u user:secret --ssl > log/16/stdout982 2> log/16/stderr982 === End of file commands.log === Start of file pop3_server.log 19:01:24.195883 ====> Client connect 19:01:24.196085 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:24.196425 < "CAPA" 19:01:24.196468 > "-ERR Unrecognized command[CR][LF]" 19:01:24.196657 < "RETR verifiedserver" 19:01:24.196685 return proof we are we 19:01:24.196708 > "+OK Mail transfer starts[CR][LF]" 19:01:24.196727 > "WE ROOLZ: 121638[CR][LF]" 19:01:24.196745 > ".[CR][LF]" 19:01:24.245757 < "QUIT" 19:01:24.245819 > "+OK curl POP3 server signing off[CR][LF]" 19:01:24.246923 MAIN sockfilt said DISC 19:01:24.246964 ====> Client disconnected 19:01:24.247044 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:23.965337 ====> Client connect 19:01:23.968162 Received DATA (on stdin) 19:01:23.968183 > 178 bytes data, server => client 19:01:23.968198 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:23.968211 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:23.968223 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:23.968233 've \r\n' 19:01:23.968331 < 6 bytes data, client => server 19:01:23.968345 'CAPA\r\n' 19:01:23.968528 Received DATA (on stdin) 19:01:23.968542 > 27 bytes data, server => client 19:01:23.968555 '-ERR Unrecognized command\r\n' 19:01:23.968615 < 21 bytes data, client => server 19:01:23.968628 'RETR verifiedserver\r\n' 19:01:23.968803 Received DATA (on stdin) 19:01:23.968816 > 26 bytes data, server => client 19:01:23.968828 '+OK Mail transfer starts\r\n' 19:01:23.968851 Received DATA (on stdin) 19:01:23.968862 > 18 bytes data, server => client 19:01:23.968873 'WE ROOLZ: 121638\r\n' 19:01:23.968886 Received DATA (on stdin) 19:01:23.968896 > 3 bytes data, server => client 19:01:23.968907 '.\r\n' 19:01:24.017593 < 6 bytes data, client => server 19:01:24.017633 'QUIT\r\n' 19:01:24.017887 Received DATA (on stdin) 19:01:24.017904 > 34 bytes data, server => client 19:01:24.017917 '+OK curl POP3 server signing off\r\n' 19:01:24.018918 ====> Client disconnect 19:01:24.019102 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 ==129039== ==129039== Process terminating with default action of signal 4 (SIGILL) ==129039== Illegal opcode at address 0x4013E00 ==129039== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129039== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129039== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129039== by 0x40037A4: main (tool_main.c:199) === End of file valgrind982 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/4/valgrind990 ../src/curl -q --output log/4/curl990.out --include --trace-ascii log/4/trace990 --trace-time http://127.0.0.1:37985/990 -w '%output{log/4/output}%{http_code}\n' > log/4/stdout990 2> log/4/stderr990 990: 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 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/4/valgrind990 ../src/curl -q --output log/4/curl990.out --include --trace-ascii log/4/trace990 --trace-time http://127.0.0.1:37985/990 -w '%output{log/4/output}%{http_code}\n' > log/4/stdout990 2> log/4/stderr990 === End of file commands.log === Start of file http_server.log 19:01:25.372392 ====> Client connect 19:01:25.372434 accept_connection 3 returned 4 19:01:25.372454 accept_connection 3 returned 0 19:01:25.372472 Read 93 bytes 19:01:25.372483 Process 93 bytes request 19:01:25.372499 Got request: GET /verifiedserver HTTP/1.1 19:01:25.372510 Are-we-friendly question received 19:01:25.372536 Wrote request (93 bytes) input to log/4/server.input 19:01:25.372555 Identifying ourselves as friends 19:01:25.372623 Response sent (56 bytes) and written to log/4/server.response 19:01:25.372636 special request received, no persistency 19:01:25.372646 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 37338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === End of file http_verify.out === Start 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/valgrind984 ../src/curl -q --output log/2/curl984.out --include --trace-ascii log/2/trace984 --trace-time imap://127.0.0.1:42853/984 -T log/2/upload984 -u user:secret --ssl-reqd > log/2/stdout984 2> log/2/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/6/valgrind983 ../src/curl -q --output log/6/curl983.out --include --trace-ascii log/6/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:36475/983 -T log/6/test983.txt -u user:secret -P 127.0.0.1 > log/6/stdout983 2> log/6/stderr983 ile server.cmd Testnum 990 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74797 === End of file server.response === Start of file valgrind990 ==129253== ==129253== Process terminating with default action of signal 4 (SIGILL) ==129253== Illegal opcode at address 0x4013E00 ==129253== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129253== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129253== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129253== by 0x40037A4: main (tool_main.c:199) === End of file valgrind990 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/2/valgrind984 ../src/curl -q --output log/2/curl984.out --include --trace-ascii log/2/trace984 --trace-time imap://127.0.0.1:42853/984 -T log/2/upload984 -u user:secret --ssl-reqd > log/2/stdout984 2> log/2/stderr984 984: 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 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/2/valgrind984 ../src/curl -q --output log/2/curl984.out --include --trace-ascii log/2/trace984 --trace-time imap://127.0.0.1:42853/984 -T log/2/upload984 -u user:secret --ssl-reqd > log/2/stdout984 2> log/2/stderr984 === End of file commands.log === Start of file imap_server.log 19:01:24.478893 ====> Client connect 19:01:24.479072 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:24.482355 < "A001 CAPABILITY" 19:01:24.482413 > "A001 BAD Command[CR][LF]" 19:01:24.482640 < "A002 LIST "verifiedserver" *" 19:01:24.482674 LIST_imap got "verifiedserver" * 19:01:24.482704 > "* LIST () "/" "WE ROOLZ: 109814"[CR][LF]" 19:01:24.482724 > "A002 OK LIST Completed[CR][LF]" 19:01:24.482739 return proof we are we 19:01:24.532271 < "A003 LOGOUT" 19:01:24.532339 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:24.532361 > "A003 OK LOGOUT completed[CR][LF]" 19:01:24.534333 MAIN sockfilt said DISC 19:01:24.534384 ====> Client disconnected 19:01:24.534462 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:24.250804 ====> Client connect 19:01:24.251148 Received DATA (on stdin) 19:01:24.251168 > 178 bytes data, server => client 19:01:24.251182 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:24.251193 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:24.251205 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:24.251215 'rve\r\n' 19:01:24.254191 < 17 bytes data, client => server 19:01:24.254226 'A001 CAPABILITY\r\n' 19:01:24.254477 Received DATA (on stdin) 19:01:24.254494 > 18 bytes data, server => client 19:01:24.254506 'A001 BAD Command\r\n' 19:01:24.254578 < 30 bytes data, client => server 19:01:24.254591 'A002 LIST "verifiedserver" *\r\n' 19:01:24.254796 Received DATA (on stdin) 19:01:24.254810 > 34 bytes data, server => client 19:01:24.254823 '* LIST () "/" "WE ROOLZ: 109814"\r\n' 19:01:24.254846 Received DATA (on stdin) 19:01:24.254858 > 24 bytes data, server => client 19:01:24.254869 'A002 OK LIST Completed\r\n' 19:01:24.304127 < 13 bytes data, client => server 19:01:24.304165 'A003 LOGOUT\r\n' 19:01:24.304426 Received DATA (on stdin) 19:01:24.304444 > 36 bytes data, server => client 19:01:24.304456 '* BYE curl IMAP server signing off\r\n' 19:01:24.304484 Received DATA (on stdin) 19:01:24.304495 > 26 bytes data, server => client 19:01:24.304506 'A003 OK LOGOUT completed\r\n' 19:01:24.306318 ====> Client disconnect 19:01:24.306525 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 ==129171== ==129171== Process terminating with default action of signal 4 (SIGILL) ==129171== Illegal opcode at address 0x4013E00 ==129171== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129171== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129171== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129171== by 0x40037A4: main (tool_main.c:199) === End of file valgrind984 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/6/valgrind983 ../src/curl -q --output log/6/curl983.out --include --trace-ascii log/6/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:36475/983 -T log/6/test983.txt -u user:secret -P 127.0.0.1 > log/6/stdout983 2> log/6/stderr983 983: 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 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/6/valgrind983 ../src/curl -q --output log/6/curl983.out --include --trace-ascii log/6/trace983 --trace-time --ssl --ftp-ssl-control ftp://127.0.0.1:36475/983 -T log/6/test983.txt -u user:secret -P 127.0.0.1 > log/6/stdout983 2> log/6/stderr983 === End of file commands.log === Start of file ftp_server.log 19:01:24.469950 ====> Client connect 19:01:24.470124 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:24.470457 < "USER anonymous" 19:01:24.470496 > "331 We are happy you popped in![CR][LF]" 19:01:24.470677 < "PASS ftp@example.com" 19:01:24.470704 > "230 Welcome you silly person[CR][LF]" 19:01:24.470859 < "PWD" 19:01:24.470892 > "257 "/" is current directory[CR][LF]" 19:01:24.471057 < "EPSV" 19:01:24.471084 ====> Passive DATA channel requested by client 19:01:24.471099 DATA sockfilt for passive data channel starting... 19:01:24.473648 DATA sockfilt for passive data channel started (pid 129148) 19:01:24.473770 DATA sockfilt for passive data channel listens on port 35599 19:01:24.473821 > "229 Entering Passive Mode (|||35599|)[CR][LF]" 19:01:24.473839 Client has been notified that DATA conn will be accepted on port 35599 19:01:24.474096 Client connects to port 35599 19:01:24.474131 ====> Client established passive DATA connection on port 35599 19:01:24.474258 < "TYPE I" 19:01:24.474292 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:24.474482 < "SIZE verifiedserver" 19:01:24.474526 > "213 17[CR][LF]" 19:01:24.474717 < "RETR verifiedserver" 19:01:24.474760 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:24.474851 =====> Closing passive DATA connection... 19:01:24.474872 Server disconnects passive DATA connection 19:01:24.475158 Server disconnected passive DATA connection 19:01:24.475193 DATA sockfilt for passive data channel quits (pid 129148) 19:01:24.475541 DATA sockfilt for passive data channel quit (pid 129148) 19:01:24.475570 =====> Closed passive DATA connection 19:01:24.475603 > "226 File transfer complete[CR][LF]" 19:01:24.517059 < "QUIT" 19:01:24.517121 > "221 bye bye baby[CR][LF]" 19:01:24.CMD (33792): ../libtool --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/valgrind986 ../src/curl -q --output log/19/curl986.out --include --trace-ascii log/19/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:33175/986 -T log/19/test986.txt -u user:secret > log/19/stdout986 2> log/19/stderr986 519682 MAIN sockfilt said DISC 19:01:24.519726 ====> Client disconnected 19:01:24.520270 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:25.241876 ====> Client connect 19:01:25.242201 Received DATA (on stdin) 19:01:25.242224 > 160 bytes data, server => client 19:01:25.242239 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:25.242251 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:25.242264 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:25.242352 < 16 bytes data, client => server 19:01:25.242369 'USER anonymous\r\n' 19:01:25.242556 Received DATA (on stdin) 19:01:25.242570 > 33 bytes data, server => client 19:01:25.242581 '331 We are happy you popped in!\r\n' 19:01:25.242635 < 22 bytes data, client => server 19:01:25.242647 'PASS ftp@example.com\r\n' 19:01:25.242762 Received DATA (on stdin) 19:01:25.242774 > 30 bytes data, server => client 19:01:25.242785 '230 Welcome you silly person\r\n' 19:01:25.242831 < 5 bytes data, client => server 19:01:25.242842 'PWD\r\n' 19:01:25.242948 Received DATA (on stdin) 19:01:25.242961 > 30 bytes data, server => client 19:01:25.242971 '257 "/" is current directory\r\n' 19:01:25.243026 < 6 bytes data, client => server 19:01:25.243039 'EPSV\r\n' 19:01:25.245904 Received DATA (on stdin) 19:01:25.245920 > 39 bytes data, server => client 19:01:25.245932 '229 Entering Passive Mode (|||35599|)\r\n' 19:01:25.246206 < 8 bytes data, client => server 19:01:25.246221 'TYPE I\r\n' 19:01:25.246353 Received DATA (on stdin) 19:01:25.246365 > 33 bytes data, server => client 19:01:25.246377 '200 I modify TYPE as you wanted\r\n' 19:01:25.246432 < 21 bytes data, client => server 19:01:25.246446 'SIZE verifiedserver\r\n' 19:01:25.246587 Received DATA (on stdin) 19:01:25.246602 > 8 bytes data, server => client 19:01:25.246615 '213 17\r\n' 19:01:25.246677 < 21 bytes data, client => server 19:01:25.246692 'RETR verifiedserver\r\n' 19:01:25.247044 Received DATA (on stdin) 19:01:25.247060 > 29 bytes data, server => client 19:01:25.247072 '150 Binary junk (17 bytes).\r\n' 19:01:25.247663 Received DATA (on stdin) 19:01:25.247678 > 28 bytes data, server => client 19:01:25.247691 '226 File transfer complete\r\n' 19:01:25.287984 < 6 bytes data, client => server 19:01:25.288022 'QUIT\r\n' 19:01:25.289186 Received DATA (on stdin) 19:01:25.289204 > 18 bytes data, server => client 19:01:25.289217 '221 bye bye baby\r\n' 19:01:25.291672 ====> Client disconnect 19:01:25.291880 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:24.245373 Running IPv4 version 19:01:24.245439 Listening on port 35599 19:01:24.245477 Wrote pid 129148 to log/6/server/ftp_sockdata.pid 19:01:24.245642 Received PING (on stdin) 19:01:24.245730 Received PORT (on stdin) 19:01:24.246099 ====> Client connect 19:01:24.246936 Received DATA (on stdin) 19:01:24.246951 > 17 bytes data, server => client 19:01:24.246963 'WE ROOLZ: 80654\r\n' 19:01:24.247002 Received DISC (on stdin) 19:01:24.247016 ====> Client forcibly disconnected 19:01:24.247264 Received QUIT (on stdin) 19:01:24.247279 quits 19:01:24.247359 ============> 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 ==129163== ==129163== Process terminating with default action of signal 4 (SIGILL) ==129163== Illegal opcode at address 0x4013E00 ==129163== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129163== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129163== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129163== by 0x40037A4: main (tool_main.c:199) === End of file valgrind983 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/19/valgrind986 ../src/curl -q --output log/19/curl986.out --include --trace-ascii log/19/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:33175/986 -T log/19/test986.txt -u user:secret > log/19/stdout986 2> log/19/stderr986 986: 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 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/19/valgrind986 ../src/curl -q --output log/19/curl986.out --include --trace-ascii log/19/trace986 --trace-time --ssl-reqd --ftp-ssl-control ftp://127.0.0.1:33175/986 -T log/19/test986.txt -u user:secret > log/19/stdout986 2> log/19/stderr986 === End of file commands.log === Start of file ftp_server.log 19:01:24.564505 ====> Client connect 19:01:24.564700 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:24.565039 < "USER anonymous" 19:01:24.565084 > "331 We are happy you popped in![CR][LF]" 19:01:24.565272 < "PASS ftp@example.com" 19:01:24.565301 > "230 Welcome you silly person[CR][LF]" 19:01:24.565486 < "PWD" 19:01:24.565525 > "257 "/" is current directory[CR][LF]" 19:01:24.565932 < "EPSV" 19:01:24.565962 ====> Passive DATA channel requested by client 19:01:24.565978 DATA sockfilt for passive data channel starting... 19:01:24.569581 DATA sockfilt for passive data channel started (pid 129204) 19:01:24.569703 DATA sockfilt for passive data channel listens on port 43371 19:01:24.569757 > "229 Entering Passive Mode (|||43371|)[CR][LF]" 19:01:24.569781 Client has been notified that DATA conn will be accepted on port 43371 19:01:24.570065 Client connects to port 43371 19:01:24.570098 ====> Client established passive DATA connection on port 43371 19:01:24.570189 < "TYPE I" 19:01:24.570224 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:24.570414 < "SIZE verifiedserver" 19:01:24.570458 > "213 17[CR][LF]" 19:01:24.570642 < "RETR verifiedserver" 19:01:24.570680 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:24.570771 =====> Closing passive DATA connection... 19:01:24.570791 Server disconnects passive DATA connection 19:01:24.571328 Server disconnected passive DATA connection 19:01:24.571363 DATA sockfilt for passive data channel quits (pid 129204) 19:01:24.572229 DATA sockfilt for passive data channel quit (pid 129204) 19:01:24.572259 =====> Closed passive DATA connection 19:01:24.572289 > "226 File transfer complete[CR][LF]" 19:01:24.615781 < "QUIT" 19:01:24.615831 > "221 bye bye baby[CR][LF]" 19:01:24.616805 MAIN sockfilt said DISC 19:01:24.616842 ====> Client disconnected 19:01:24.616909 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:25.336368 ====> Client connect 19:01:25.336779 Received DATA (on stdin) 19:01:25.336797 > 160 bytes data, server => client 19:01:25.336811 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:25.336824 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:25.336836 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:25.336928 < 16 bytes data, client => server 19:01:25.336943 'USER anonymous\r\n' 19:01:25.337146 Received DATA (on stdin) 19:01:25.337161 > 33 bytes data, server => client 19:01:25.337174 '331 We are happy you popped in!\r\n' 19:01:25.337230 < 22 bytes data, client => server 19:01:25.337246 'PASS ftp@example.com\r\n' 19:01:25.337359 Received DATA (on stdin) 19:01:25.337374 > 30 bytes data, server => client 19:01:25.337386 '230 Welcome yoCMD (33792): ../libtool --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/valgrind992 ../src/curl -q --output log/12/curl992.out --include --trace-ascii log/12/trace992 --trace-time smtp://127.0.0.1:42749/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/12/stdout992 2> log/12/stderr992 CMD (33792): ../libtool --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/valgrind991 ../src/curl -q --output log/24/curl991.out --include --trace-ascii log/24/trace991 --trace-time http://127.0.0.1:39383/991 -w '%output{>>log/24/output}%{http_code}' > log/24/stdout991 2> log/24/stderr991 u silly person\r\n' 19:01:25.337449 < 5 bytes data, client => server 19:01:25.337463 'PWD\r\n' 19:01:25.337781 Received DATA (on stdin) 19:01:25.337803 > 30 bytes data, server => client 19:01:25.337816 '257 "/" is current directory\r\n' 19:01:25.337887 < 6 bytes data, client => server 19:01:25.337904 'EPSV\r\n' 19:01:25.341848 Received DATA (on stdin) 19:01:25.341865 > 39 bytes data, server => client 19:01:25.341878 '229 Entering Passive Mode (|||43371|)\r\n' 19:01:25.342033 < 8 bytes data, client => server 19:01:25.342051 'TYPE I\r\n' 19:01:25.342285 Received DATA (on stdin) 19:01:25.342301 > 33 bytes data, server => client 19:01:25.342314 '200 I modify TYPE as you wanted\r\n' 19:01:25.342371 < 21 bytes data, client => server 19:01:25.342386 'SIZE verifiedserver\r\n' 19:01:25.342519 Received DATA (on stdin) 19:01:25.342534 > 8 bytes data, server => client 19:01:25.342546 '213 17\r\n' 19:01:25.342600 < 21 bytes data, client => server 19:01:25.342616 'RETR verifiedserver\r\n' 19:01:25.343205 Received DATA (on stdin) 19:01:25.343220 > 29 bytes data, server => client 19:01:25.343233 '150 Binary junk (17 bytes).\r\n' 19:01:25.344350 Received DATA (on stdin) 19:01:25.344365 > 28 bytes data, server => client 19:01:25.344378 '226 File transfer complete\r\n' 19:01:25.387669 < 6 bytes data, client => server 19:01:25.387698 'QUIT\r\n' 19:01:25.387896 Received DATA (on stdin) 19:01:25.387912 > 18 bytes data, server => client 19:01:25.387924 '221 bye bye baby\r\n' 19:01:25.388804 ====> Client disconnect 19:01:25.388967 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:24.341020 Running IPv4 version 19:01:24.341102 Listening on port 43371 19:01:24.341141 Wrote pid 129204 to log/19/server/ftp_sockdata.pid 19:01:24.341573 Received PING (on stdin) 19:01:24.341668 Received PORT (on stdin) 19:01:24.342075 ====> Client connect 19:01:24.343098 Received DATA (on stdin) 19:01:24.343119 > 17 bytes data, server => client 19:01:24.343132 'WE ROOLZ: 80854\r\n' 19:01:24.343164 Received DISC (on stdin) 19:01:24.343177 ====> Client forcibly disconnected 19:01:24.343438 Received QUIT (on stdin) 19:01:24.343453 quits 19:01:24.343517 ============> 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 ==129268== ==129268== Process terminating with default action of signal 4 (SIGILL) ==129268== Illegal opcode at address 0x4013E00 ==129268== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129268== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129268== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129268== by 0x40037A4: 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/12/valgrind992 ../src/curl -q --output log/12/curl992.out --include --trace-ascii log/12/trace992 --trace-time smtp://127.0.0.1:42749/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/12/stdout992 2> log/12/stderr992 992: 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 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/12/valgrind992 ../src/curl -q --output log/12/curl992.out --include --trace-ascii log/12/trace992 --trace-time smtp://127.0.0.1:42749/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/12/stdout992 2> log/12/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 19:01:24.812098 ====> Client connect 19:01:24.812394 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:24.815339 < "EHLO verifiedserver" 19:01:24.815413 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:24.815594 < "HELP" 19:01:24.815627 > "214 WE ROOLZ: 109817[CR][LF]" 19:01:24.815644 return proof we are we 19:01:24.815889 < "QUIT" 19:01:24.815916 > "221 curl ESMTP server signing off[CR][LF]" 19:01:24.817017 MAIN sockfilt said DISC 19:01:24.817047 ====> Client disconnected 19:01:24.817117 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:24.581661 ====> Client connect 19:01:24.587011 Received DATA (on stdin) 19:01:24.587050 > 160 bytes data, server => client 19:01:24.587065 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:24.587078 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:24.587090 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:24.587211 < 21 bytes data, client => server 19:01:24.587226 'EHLO verifiedserver\r\n' 19:01:24.587474 Received DATA (on stdin) 19:01:24.587488 > 53 bytes data, server => client 19:01:24.587501 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:24.587558 < 6 bytes data, client => server 19:01:24.587572 'HELP\r\n' 19:01:24.587701 Received DATA (on stdin) 19:01:24.587714 > 22 bytes data, server => client 19:01:24.587726 '214 WE ROOLZ: 109817\r\n' 19:01:24.587853 < 6 bytes data, client => server 19:01:24.587869 'QUIT\r\n' 19:01:24.587973 Received DATA (on stdin) 19:01:24.587986 > 35 bytes data, server => client 19:01:24.587998 '221 curl ESMTP server signing off\r\n' 19:01:24.589023 ====> Client disconnect 19:01:24.594109 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 ==129452== ==129452== Process terminating with default action of signal 4 (SIGILL) ==129452== Illegal opcode at address 0x4013E00 ==129452== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129452== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129452== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129452== by 0x40037A4: main (tool_main.c:199) === End of file valgrind992 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/24/valgrind991 ../src/curl -q --output log/24/curl991.out --include --trace-ascii log/24/trace991 --trace-time http://127.0.0.1:39383/991 -w '%output{>>log/24/output}%{http_code}' > log/24/stdout991 2> log/24/stderr991 991: 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 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/24/valgrind991 ../src/curl -q --output log/24/curl991.out --include --trace-ascii log/24/trace991 --trace-time http://127.0.0.1:39383/991 -w '%output{>>log/24/output}%{http_code}' > log/24/stdout991 2> log/24/stderr991 === End of file commands.log === Start of file http_server.log 19:01:24.583548 ====> Client connectCMD (33792): ../libtool --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/valgrind994 ../src/curl -q --include --trace-ascii log/21/trace994 --trace-time -o "log/21/#1" "http://127.0.0.1:35043/994/{hey,ho}" --skip-existing > log/21/stdout994 2> log/21/stderr994 19:01:24.583586 accept_connection 3 returned 4 19:01:24.583606 accept_connection 3 returned 0 19:01:24.583622 Read 93 bytes 19:01:24.583633 Process 93 bytes request 19:01:24.583648 Got request: GET /verifiedserver HTTP/1.1 19:01:24.583659 Are-we-friendly question received 19:01:24.583687 Wrote request (93 bytes) input to log/24/server.input 19:01:24.583718 Identifying ourselves as friends 19:01:24.583784 Response sent (56 bytes) and written to log/24/server.response 19:01:24.583798 special request received, no persistency 19:01:24.583810 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind991 ==129451== ==129451== Process terminating with default action of signal 4 (SIGILL) ==129451== Illegal opcode at address 0x4013E00 ==129451== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129451== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129451== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129451== by 0x40037A4: main (tool_main.c:199) === End of file valgrind991 CMD (33792): ../libtool --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/valgrind996 ../src/curl -q --include --trace-ascii log/18/trace996 --trace-time -o log/18/there http://127.0.0.1:39771/996 --skip-existing > log/18/stdout996 2> log/18/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/21/valgrind994 ../src/curl -q --include --trace-ascii log/21/trace994 --trace-time -o "log/21/#1" "http://127.0.0.1:35043/994/{hey,ho}" --skip-existing > log/21/stdout994 2> log/21/stderr994 994: stderr FAILED: --- log/21/check-expected 2025-11-13 19:01:25.962724796 +0000 +++ log/21/check-generated 2025-11-13 19:01:25.962724796 +0000 @@ -1,2 +0,0 @@ -Note: skips transfer, "log/21/hey" exists locally[CR][LF] -Note: skips transfer, "log/21/ho" exists locally[CR][LF] == Contents of files in the log/21/ dir after test 994 === Start of file check-expected Note: skips transfer, "log/21/hey" exists locally[CR][LF] Note: skips transfer, "log/21/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/21/valgrind994 ../src/curl -q --include --trace-ascii log/21/trace994 --trace-time -o "log/21/#1" "http://127.0.0.1:35043/994/{hey,ho}" --skip-existing > log/21/stdout994 2> log/21/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 19:01:24.699933 ====> Client connect 19:01:24.699974 accept_connection 3 returned 4 19:01:24.699994 accept_connection 3 returned 0 19:01:24.700011 Read 93 bytes 19:01:24.700022 Process 93 bytes request 19:01:24.700039 Got request: GET /verifiedserver HTTP/1.1 19:01:24.700049 Are-we-friendly question received 19:01:24.700076 Wrote request (93 bytes) input to log/21/server.input 19:01:24.700095 Identifying ourselves as friends 19:01:24.700165 Response sent (56 bytes) and written to log/21/server.response 19:01:24.700176 special request received, no persistency 19:01:24.700187 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 39384 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind994 ==129583== ==129583== Process terminating with default action of signal 4 (SIGILL) ==129583== Illegal opcode at address 0x4013E00 ==129583== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129583== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129583== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129583== by 0x40037A4: main (tool_main.c:199) === End of file valgrind994 CMD (33792): ../libtool --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/valgrind995 ../src/curl -q --trace-ascii log/1/trace995 --trace-time -o log/1/there http://127.0.0.1:40353/995 --skip-existing > log/1/stdout995 2> log/1/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/23/valgrind998 ../src/curl -q --output log/23/curl998.out --include --trace-ascii log/23/trace998 --trace-time -x 127.0.0.1:35243 http://alberto:einstein@somewhere.example/998 --location-trusted > log/23/stdout998 2> log/23/stderr998 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/18/valgrind996 ../src/curl -q --include --trace-ascii log/18/trace996 --trace-time -o log/18/there http://127.0.0.1:39771/996 --skip-existing > log/18/stdout996 2> log/18/stderr996 996: stderr FAILED: --- log/18/check-expected 2025-11-13 19:01:26.026058131 +0000 +++ log/18/check-generated 2025-11-13 19:01:26.026058131 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/18/there" exists locally[CR][LF] == Contents of files in the log/18/ dir after test 996 === Start of file check-expected Note: skips transfer, "log/18/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/18/valgrind996 ../src/curl -q --include --trace-ascii log/18/trace996 --trace-time -o log/18/there http://127.0.0.1:39771/996 --skip-existing > log/18/stdout996 2> log/18/stderr996 === End of file commands.log === Start of file http_server.log 19:01:24.742481 ====> Client connect 19:01:24.742518 accept_connection 3 returned 4 19:01:24.742537 accept_connection 3 returned 0 19:01:24.742553 Read 93 bytes 19:01:24.742565 Process 93 bytes request 19:01:24.742578 Got request: GET /verifiedserver HTTP/1.1 19:01:24.742589 Are-we-friendly question received 19:01:24.742617 Wrote request (93 bytes) input to log/18/server.input 19:01:24.742636 Identifying ourselves as friends 19:01:24.742693 Response sent (56 bytes) and written to log/18/server.response 19:01:24.742705 special request received, no persistency 19:01:24.742716 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 40092 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file there content === End of file there === Start of file valgrind996 ==129684== ==129684== Process terminating with default action of signal 4 (SIGILL) ==129684== Illegal opcode at address 0x4013E00 ==129684== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129684== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129684== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129684== by 0x40037A4: main (tool_main.c:199) === End of file valgrind996 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/1/valgrind995 ../src/curl -q --trace-ascii log/1/trace995 --trace-time -o log/1/there http://127.0.0.1:40353/995 --skip-existing > log/1/stdout995 2> log/1/stderr995 995: 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 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/1/valgrind995 ../src/curl -q --trace-ascii log/1/trace995 --trace-time -o log/1/there http://127.0.0.1:40353/995 --skip-existing > log/1/stdout995 2> log/1/stderr995 === End of file commands.log === Start of file http_server.log 19:01:24.743206 ====> Client connect 19:01:24.743243 accept_connection 3 returned 4 19:01:24.743261 accept_connection 3 returned 0 19:01:24.743276 Read 93 bytes 19:01:24.743287 Process 93 bytes request 19:01:24.743301 Got request: GET /verifiedserver HTTP/1.1 19:01:24.743312 Are-we-friendly question received 19:01:24.743338 Wrote request (93 bytes) input to log/1/server.input 19:01:24.743358 Identifying ourselves as friends 19:01:24.743416 Response sent (56 bytes) and written to log/1/server.response 19:01:24.743427 special request received, no persistency 19:01:24.743437 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 57244 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind995 ==129670== ==129670== Process terminating with default action of signal 4 (SIGILL) ==129670== Illegal opcode at address 0x4013E00 ==129670== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129670== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129670== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129670== by 0x40037A4: main (tool_main.c:199) === End of file valgrind995 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/23/valgrind998 ../src/curl -q --output log/23/curl998.out --include --trace-ascii log/23/trace998 --trace-time -x 127.0.0.1:35243 http://alberto:einstein@somewhere.example/998 --location-trusted > log/23/stdout998 2> log/23/stderr998 998: 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 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/23/valgrind998 ../src/curl -q --output log/23/curl998.out --include --trace-ascii log/23/trace998 --trace-time -x 127.0.0.1:35243 http://alberto:einstein@somewhere.example/998 --location-trusted > log/23/stdout998 2> log/23/stderr998 === End of file commands.log === Start of file http_server.log 19:01:24.795520 ====> Client connect 19:01:24.795561 accept_connection 3 returned 4 19:01:24.795580 accept_connection 3 returned 0 19:01:24.795598 Read 93 bytes 19:01:24.795609 Process 93 bytes request 19:01:24.795625 Got request: GET /verifiedserver HTTP/1.1 19:01:24.795635 Are-we-friendly question received 19:01:24.795665 Wrote request (93 bytes) input to log/23/server.input 19:01:24.795684 Identifying ourselves as friends 19:01:24.795753 Response sent (56 bytes) and written to log/23/server.response 19:01:24.795768 special request received, no persistency 19:01:24.795779 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 40732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 leftCMD (33792): ../libtool --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/valgrind997 ../src/curl -q --output log/15/curl997.out --include --trace-ascii log/15/trace997 --trace-time pop3://127.0.0.1:44873 -u user:secret -X 'STAT' > log/15/stdout997 2> log/15/stderr997 CMD (33792): ../libtool --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/valgrind999 ../src/curl -q --output log/17/curl999.out --include --trace-ascii log/17/trace999 --trace-time -x 127.0.0.1:40515 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/17/stdout999 2> log/17/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/7/valgrind993 ../src/curl -q --output log/7/curl993.out --include --trace-ascii log/7/trace993 --trace-time pop3://127.0.0.1:44601/ -u user:secret > log/7/stdout993 2> log/7/stderr993 intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind998 ==129821== ==129821== Process terminating with default action of signal 4 (SIGILL) ==129821== Illegal opcode at address 0x4013E00 ==129821== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129821== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129821== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129821== by 0x40037A4: main (tool_main.c:199) === End of file valgrind998 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/15/valgrind997 ../src/curl -q --output log/15/curl997.out --include --trace-ascii log/15/trace997 --trace-time pop3://127.0.0.1:44873 -u user:secret -X 'STAT' > log/15/stdout997 2> log/15/stderr997 997: 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 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/15/valgrind997 ../src/curl -q --output log/15/curl997.out --include --trace-ascii log/15/trace997 --trace-time pop3://127.0.0.1:44873 -u user:secret -X 'STAT' > log/15/stdout997 2> log/15/stderr997 === End of file commands.log === Start of file pop3_server.log 19:01:25.004070 ====> Client connect 19:01:25.004251 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:25.004642 < "CAPA" 19:01:25.004693 > "-ERR Unrecognized command[CR][LF]" 19:01:25.004908 < "RETR verifiedserver" 19:01:25.004939 return proof we are we 19:01:25.004967 > "+OK Mail transfer starts[CR][LF]" 19:01:25.004987 > "WE ROOLZ: 121623[CR][LF]" 19:01:25.005005 > ".[CR][LF]" 19:01:25.049628 < "QUIT" 19:01:25.049685 > "+OK curl POP3 server signing off[CR][LF]" 19:01:25.050621 MAIN sockfilt said DISC 19:01:25.050661 ====> Client disconnected 19:01:25.050740 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:24.776000 ====> Client connect 19:01:24.776344 Received DATA (on stdin) 19:01:24.776369 > 178 bytes data, server => client 19:01:24.776384 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:24.776397 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:24.776409 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:24.776420 've \r\n' 19:01:24.776520 < 6 bytes data, client => server 19:01:24.776538 'CAPA\r\n' 19:01:24.776759 Received DATA (on stdin) 19:01:24.776775 > 27 bytes data, server => client 19:01:24.776788 '-ERR Unrecognized command\r\n' 19:01:24.776849 < 21 bytes data, client => server 19:01:24.776864 'RETR verifiedserver\r\n' 19:01:24.777065 Received DATA (on stdin) 19:01:24.777080 > 26 bytes data, server => client 19:01:24.777092 '+OK Mail transfer starts\r\n' 19:01:24.777117 Received DATA (on stdin) 19:01:24.777129 > 18 bytes data, server => client 19:01:24.777141 'WE ROOLZ: 121623\r\n' 19:01:24.777156 Received DATA (on stdin) 19:01:24.777167 > 3 bytes data, server => client 19:01:24.777178 '.\r\n' 19:01:24.821496 < 6 bytes data, client => server 19:01:24.821523 'QUIT\r\n' 19:01:24.821752 Received DATA (on stdin) 19:01:24.821767 > 34 bytes data, server => client 19:01:24.821780 '+OK curl POP3 server signing off\r\n' 19:01:24.822617 ====> Client disconnect 19:01:24.822797 Received ACKD (on stdin) === End of file pop3_sockfilt.log === Start of file server.cmd CAPA TOP USER Testnum 997 === End of file server.cmd === Start of file valgrind997 ==129856== ==129856== Process terminating with default action of signal 4 (SIGILL) ==129856== Illegal opcode at address 0x4013E00 ==129856== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129856== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129856== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129856== by 0x40037A4: main (tool_main.c:199) === End of file valgrind997 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/17/valgrind999 ../src/curl -q --output log/17/curl999.out --include --trace-ascii log/17/trace999 --trace-time -x 127.0.0.1:40515 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/17/stdout999 2> log/17/stderr999 999: 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 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/17/valgrind999 ../src/curl -q --output log/17/curl999.out --include --trace-ascii log/17/trace999 --trace-time -x 127.0.0.1:40515 http://alberto:einstein@somewhere.example/999 http://somewhere.else.example/999 > log/17/stdout999 2> log/17/stderr999 === End of file commands.log === Start of file http_server.log 19:01:25.798904 ====> Client connect 19:01:25.798974 accept_connection 3 returned 4 19:01:25.798994 accept_connection 3 returned 0 19:01:25.799009 Read 93 bytes 19:01:25.799020 Process 93 bytes request 19:01:25.799032 Got request: GET /verifiedserver HTTP/1.1 19:01:25.799043 Are-we-friendly question received 19:01:25.799072 Wrote request (93 bytes) input to log/17/server.input 19:01:25.799091 Identifying ourselves as friends 19:01:25.799225 Response sent (56 bytes) and written to log/17/server.response 19:01:25.799240 special request received, no persistency 19:01:25.799250 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 57020 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind999 ==129829== ==129829== Process terminating with default action of signal 4 (SIGILL) ==129829== Illegal opcode at address 0x4013E00 ==129829== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129829== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129829== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129829== by 0x40037A4: main (tool_main.c:199) === End of file valgrind999 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/7/valgrind993 ../src/curl -q --output log/7/curl993.out --include --trace-ascii log/7/trace993 --trace-time pop3://127.0.0.1:44601/ -u user:secret > log/7/stdout993 2> log/7/stderr993 993: protocol FAILED! There was no content at all in the file log/7/server.input. Server glitch? Total curl failure? ReturnCMD (33792): ../libtool --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/valgrind1001 ../src/curl -q --output log/20/curl1001.out --include --trace-ascii log/20/trace1001 --trace-time http://127.0.0.1:38583/1001 -u auser:apasswd --digest -T log/20/1001 -x http://127.0.0.1:38583 -C 2 -X GET > log/20/stdout1001 2> log/20/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/5/valgrind1000 ../src/curl -q --output log/5/curl1000.out --include --trace-ascii log/5/trace1000 --trace-time ftp://127.0.0.1:41821/1000/ -I > log/5/stdout1000 2> log/5/stderr1000 ed: 132 == Contents of files in the log/7/ 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/7/valgrind993 ../src/curl -q --output log/7/curl993.out --include --trace-ascii log/7/trace993 --trace-time pop3://127.0.0.1:44601/ -u user:secret > log/7/stdout993 2> log/7/stderr993 === End of file commands.log === Start of file pop3_server.log 19:01:24.930919 ====> Client connect 19:01:24.931076 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:24.931406 < "CAPA" 19:01:24.931456 > "-ERR Unrecognized command[CR][LF]" 19:01:24.931662 < "RETR verifiedserver" 19:01:24.931690 return proof we are we 19:01:24.931713 > "+OK Mail transfer starts[CR][LF]" 19:01:24.931730 > "WE ROOLZ: 121612[CR][LF]" 19:01:24.931746 > ".[CR][LF]" 19:01:24.975678 < "QUIT" 19:01:24.975733 > "+OK curl POP3 server signing off[CR][LF]" 19:01:24.976991 MAIN sockfilt said DISC 19:01:24.977040 ====> Client disconnected 19:01:24.977110 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:24.702870 ====> Client connect 19:01:24.703151 Received DATA (on stdin) 19:01:24.703170 > 178 bytes data, server => client 19:01:24.703183 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:24.703196 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:24.703208 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:24.703218 've \r\n' 19:01:24.703304 < 6 bytes data, client => server 19:01:24.703318 'CAPA\r\n' 19:01:24.703519 Received DATA (on stdin) 19:01:24.703534 > 27 bytes data, server => client 19:01:24.703546 '-ERR Unrecognized command\r\n' 19:01:24.703611 < 21 bytes data, client => server 19:01:24.703623 'RETR verifiedserver\r\n' 19:01:24.703806 Received DATA (on stdin) 19:01:24.703818 > 26 bytes data, server => client 19:01:24.703830 '+OK Mail transfer starts\r\n' 19:01:24.703851 Received DATA (on stdin) 19:01:24.703862 > 18 bytes data, server => client 19:01:24.703873 'WE ROOLZ: 121612\r\n' 19:01:24.703887 Received DATA (on stdin) 19:01:24.703897 > 3 bytes data, server => client 19:01:24.703907 '.\r\n' 19:01:24.747563 < 6 bytes data, client => server 19:01:24.747590 'QUIT\r\n' 19:01:24.747795 Received DATA (on stdin) 19:01:24.747808 > 34 bytes data, server => client 19:01:24.747821 '+OK curl POP3 server signing off\r\n' 19:01:24.748557 ====> Client disconnect 19:01:24.749172 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 ==129844== ==129844== Process terminating with default action of signal 4 (SIGILL) ==129844== Illegal opcode at address 0x4013E00 ==129844== at 0x4013E00: getparameter (tool_getparam.c:2846) ==129844== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==129844== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==129844== by 0x40037A4: main (tool_main.c:199) === End of file valgrind993 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/20/valgrind1001 ../src/curl -q --output log/20/curl1001.out --include --trace-ascii log/20/trace1001 --trace-time http://127.0.0.1:38583/1001 -u auser:apasswd --digest -T log/20/1001 -x http://127.0.0.1:38583 -C 2 -X GET > log/20/stdout1001 2> log/20/stderr1001 1001: 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 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/20/valgrind1001 ../src/curl -q --output log/20/curl1001.out --include --trace-ascii log/20/trace1001 --trace-time http://127.0.0.1:38583/1001 -u auser:apasswd --digest -T log/20/1001 -x http://127.0.0.1:38583 -C 2 -X GET > log/20/stdout1001 2> log/20/stderr1001 === End of file commands.log === Start of file http_server.log 19:01:24.876660 ====> Client connect 19:01:24.876694 accept_connection 3 returned 4 19:01:24.876713 accept_connection 3 returned 0 19:01:24.876729 Read 93 bytes 19:01:24.876740 Process 93 bytes request 19:01:24.876755 Got request: GET /verifiedserver HTTP/1.1 19:01:24.876766 Are-we-friendly question received 19:01:24.876792 Wrote request (93 bytes) input to log/20/server.input 19:01:24.876810 Identifying ourselves as friends 19:01:24.876866 Response sent (56 bytes) and written to log/20/server.response 19:01:24.876878 special request received, no persistency 19:01:24.876888 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 42448 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind1001 ==130034== ==130034== Process terminating with default action of signal 4 (SIGILL) ==130034== Illegal opcode at address 0x4013E00 ==130034== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130034== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130034== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130034== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1001 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/5/valgrind1000 ../src/curl -q --output log/5/curl1000.out --include --trace-ascii log/5/trace1000 --trace-time ftp://127.0.0.1:41821/1000/ -I > log/5/stdout1000 2> log/5/stderr1000 1000: 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 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/5/valgrind1000 ../src/curl -q --output log/5/curl1000.out --include --trace-ascii log/5/trace1000 --trace-time ftp://127.0.0.1:41821/1000/ -I > log/5/stdout1000 2> log/5/stderr1000 === End of file commands.log === Start of file ftp_server.log 19:01:25.025497 ====> Client connect 19:01:25.025658 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:25.025946 < "USER anonymous" 19:01:25.025985 > "331 We are happy you popped in![CR][LF]" 19:01:25.026162 < "PASS ftp@example.com" 19:01:25.026192 > "230 Welcome you silly person[CR][LF]" 19:01:25.026354 < "PWD" 19:01:25.026384 > "257 "/" is current directory[CR][LF]" 19:01:25.026545 < "EPSV" 19:01:25.026566 ====> Passive DATA channel requested by client 19:01:25.026580 DATA sockfilt for passive data channel starting... 19:01:25.028571 DATA sockfilt foCMD (33792): ../libtool --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/valgrind1004 ../src/curl -q --output log/10/curl1004.out --include --trace-ascii log/10/trace1004 --trace-time http://127.0.0.1:37879/1004 --proxy "" > log/10/stdout1004 2> log/10/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/11/valgrind1002 ../src/curl -q --output log/11/curl1002.out --include --trace-ascii log/11/trace1002 --trace-time http://127.0.0.1:46317/1002.upload1 -T log/11/1002 http://127.0.0.1:46317/1002.upload2 -T log/11/1002 -u auser:apasswd --digest -x http://127.0.0.1:46317 -C 2 -X GET > log/11/stdout1002 2> log/11/stderr1002 r passive data channel started (pid 129796) 19:01:25.028675 DATA sockfilt for passive data channel listens on port 42911 19:01:25.028714 > "229 Entering Passive Mode (|||42911|)[CR][LF]" 19:01:25.028742 Client has been notified that DATA conn will be accepted on port 42911 19:01:25.028974 Client connects to port 42911 19:01:25.029007 ====> Client established passive DATA connection on port 42911 19:01:25.029087 < "TYPE I" 19:01:25.029114 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:25.029278 < "SIZE verifiedserver" 19:01:25.029313 > "213 17[CR][LF]" 19:01:25.029470 < "RETR verifiedserver" 19:01:25.029503 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:25.029586 =====> Closing passive DATA connection... 19:01:25.029602 Server disconnects passive DATA connection 19:01:25.029856 Server disconnected passive DATA connection 19:01:25.029883 DATA sockfilt for passive data channel quits (pid 129796) 19:01:25.030129 DATA sockfilt for passive data channel quit (pid 129796) 19:01:25.030152 =====> Closed passive DATA connection 19:01:25.030178 > "226 File transfer complete[CR][LF]" 19:01:25.072468 < "QUIT" 19:01:25.072519 > "221 bye bye baby[CR][LF]" 19:01:25.073919 MAIN sockfilt said DISC 19:01:25.073980 ====> Client disconnected 19:01:25.074073 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:24.797450 ====> Client connect 19:01:24.797728 Received DATA (on stdin) 19:01:24.797745 > 160 bytes data, server => client 19:01:24.797759 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:24.797771 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:24.797782 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:24.797855 < 16 bytes data, client => server 19:01:24.797869 'USER anonymous\r\n' 19:01:24.798045 Received DATA (on stdin) 19:01:24.798059 > 33 bytes data, server => client 19:01:24.798071 '331 We are happy you popped in!\r\n' 19:01:24.798123 < 22 bytes data, client => server 19:01:24.798136 'PASS ftp@example.com\r\n' 19:01:24.798250 Received DATA (on stdin) 19:01:24.798263 > 30 bytes data, server => client 19:01:24.798275 '230 Welcome you silly person\r\n' 19:01:24.798325 < 5 bytes data, client => server 19:01:24.798337 'PWD\r\n' 19:01:24.798440 Received DATA (on stdin) 19:01:24.798452 > 30 bytes data, server => client 19:01:24.798464 '257 "/" is current directory\r\n' 19:01:24.798520 < 6 bytes data, client => server 19:01:24.798532 'EPSV\r\n' 19:01:24.800806 Received DATA (on stdin) 19:01:24.800821 > 39 bytes data, server => client 19:01:24.800833 '229 Entering Passive Mode (|||42911|)\r\n' 19:01:24.800946 < 8 bytes data, client => server 19:01:24.800962 'TYPE I\r\n' 19:01:24.801172 Received DATA (on stdin) 19:01:24.801186 > 33 bytes data, server => client 19:01:24.801199 '200 I modify TYPE as you wanted\r\n' 19:01:24.801249 < 21 bytes data, client => server 19:01:24.801263 'SIZE verifiedserver\r\n' 19:01:24.801370 Received DATA (on stdin) 19:01:24.801383 > 8 bytes data, server => client 19:01:24.801395 '213 17\r\n' 19:01:24.801443 < 21 bytes data, client => server 19:01:24.801456 'RETR verifiedserver\r\n' 19:01:24.801663 Received DATA (on stdin) 19:01:24.801676 > 29 bytes data, server => client 19:01:24.801689 '150 Binary junk (17 bytes).\r\n' 19:01:24.802236 Received DATA (on stdin) 19:01:24.802251 > 28 bytes data, server => client 19:01:24.802263 '226 File transfer complete\r\n' 19:01:24.844332 < 6 bytes data, client => server 19:01:24.844363 'QUIT\r\n' 19:01:24.844579 Received DATA (on stdin) 19:01:24.844592 > 18 bytes data, server => client 19:01:24.844602 '221 bye bye baby\r\n' 19:01:24.845507 ====> Client disconnect 19:01:24.846130 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:25.800308 Running IPv4 version 19:01:25.800371 Listening on port 42911 19:01:25.800409 Wrote pid 129796 to log/5/server/ftp_sockdata.pid 19:01:25.800569 Received PING (on stdin) 19:01:25.800653 Received PORT (on stdin) 19:01:25.800982 ====> Client connect 19:01:25.801742 Received DATA (on stdin) 19:01:25.801758 > 17 bytes data, server => client 19:01:25.801771 'WE ROOLZ: 80429\r\n' 19:01:25.801797 Received DISC (on stdin) 19:01:25.801810 ====> Client forcibly disconnected 19:01:25.801946 Received QUIT (on stdin) 19:01:25.801958 quits 19:01:25.802013 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1000 === End of file server.cmd === Start of file valgrind1000 ==130046== ==130046== Process terminating with default action of signal 4 (SIGILL) ==130046== Illegal opcode at address 0x4013E00 ==130046== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130046== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130046== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130046== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1000 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/10/valgrind1004 ../src/curl -q --output log/10/curl1004.out --include --trace-ascii log/10/trace1004 --trace-time http://127.0.0.1:37879/1004 --proxy "" > log/10/stdout1004 2> log/10/stderr1004 1004: 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 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/10/valgrind1004 ../src/curl -q --output log/10/curl1004.out --include --trace-ascii log/10/trace1004 --trace-time http://127.0.0.1:37879/1004 --proxy "" > log/10/stdout1004 2> log/10/stderr1004 === End of file commands.log === Start of file http_server.log 19:01:24.990649 ====> Client connect 19:01:24.990686 accept_connection 3 returned 4 19:01:24.990705 accept_connection 3 returned 0 19:01:24.990845 Read 93 bytes 19:01:24.990861 Process 93 bytes request 19:01:24.990875 Got request: GET /verifiedserver HTTP/1.1 19:01:24.990886 Are-we-friendly question received 19:01:24.990917 Wrote request (93 bytes) input to log/10/server.input 19:01:24.990935 Identifying ourselves as friends 19:01:24.990996 Response sent (56 bytes) and written to log/10/server.response 19:01:24.991008 special request received, no persistency 19:01:24.991018 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 43542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1004 ==130212== ==130212== Process terminating with default action of signal 4 (SIGILL) ==130212== Illegal opcode at address 0x4013E00 ==130212== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130212== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130212== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130212== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1004 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/11/valgrind1002 ../src/curl -q --output log/11/CMD (33792): ../libtool --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/valgrind1005 ../src/curl -q --output log/3/curl1005.out --include --trace-ascii log/3/trace1005 --trace-time ftp://127.0.0.1:36301/path/1005 > log/3/stdout1005 2> log/3/stderr1005 CMD (33792): ../libtool --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/valgrind1003 ../src/curl -q --output log/14/curl1003.out --include --trace-ascii log/14/trace1003 --trace-time ftp://127.0.0.1:35357/path/1003 > log/14/stdout1003 2> log/14/stderr1003 curl1002.out --include --trace-ascii log/11/trace1002 --trace-time http://127.0.0.1:46317/1002.upload1 -T log/11/1002 http://127.0.0.1:46317/1002.upload2 -T log/11/1002 -u auser:apasswd --digest -x http://127.0.0.1:46317 -C 2 -X GET > log/11/stdout1002 2> log/11/stderr1002 1002: 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 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/curl/tests/valgrind.supp --num-callers=16 --log-file=log/11/valgrind1002 ../src/curl -q --output log/11/curl1002.out --include --trace-ascii log/11/trace1002 --trace-time http://127.0.0.1:46317/1002.upload1 -T log/11/1002 http://127.0.0.1:46317/1002.upload2 -T log/11/1002 -u auser:apasswd --digest -x http://127.0.0.1:46317 -C 2 -X GET > log/11/stdout1002 2> log/11/stderr1002 === End of file commands.log === Start of file http_server.log 19:01:24.983336 ====> Client connect 19:01:24.983368 accept_connection 3 returned 4 19:01:24.983385 accept_connection 3 returned 0 19:01:24.983402 Read 93 bytes 19:01:24.983413 Process 93 bytes request 19:01:24.983427 Got request: GET /verifiedserver HTTP/1.1 19:01:24.983438 Are-we-friendly question received 19:01:24.983462 Wrote request (93 bytes) input to log/11/server.input 19:01:24.983479 Identifying ourselves as friends 19:01:24.983531 Response sent (56 bytes) and written to log/11/server.response 19:01:24.983542 special request received, no persistency 19:01:24.983553 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 51364 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind1002 ==130218== ==130218== Process terminating with default action of signal 4 (SIGILL) ==130218== Illegal opcode at address 0x4013E00 ==130218== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130218== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130218== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130218== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1002 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/3/valgrind1005 ../src/curl -q --output log/3/curl1005.out --include --trace-ascii log/3/trace1005 --trace-time ftp://127.0.0.1:36301/path/1005 > log/3/stdout1005 2> log/3/stderr1005 1005: 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 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/3/valgrind1005 ../src/curl -q --output log/3/curl1005.out --include --trace-ascii log/3/trace1005 --trace-time ftp://127.0.0.1:36301/path/1005 > log/3/stdout1005 2> log/3/stderr1005 === End of file commands.log === Start of file ftp_server.log 19:01:25.231471 ====> Client connect 19:01:25.231613 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:25.231924 < "USER anonymous" 19:01:25.231963 > "331 We are happy you popped in![CR][LF]" 19:01:25.232159 < "PASS ftp@example.com" 19:01:25.232188 > "230 Welcome you silly person[CR][LF]" 19:01:25.232356 < "PWD" 19:01:25.232389 > "257 "/" is current directory[CR][LF]" 19:01:25.232559 < "EPSV" 19:01:25.232583 ====> Passive DATA channel requested by client 19:01:25.232596 DATA sockfilt for passive data channel starting... 19:01:25.234525 DATA sockfilt for passive data channel started (pid 130208) 19:01:25.234629 DATA sockfilt for passive data channel listens on port 42429 19:01:25.234669 > "229 Entering Passive Mode (|||42429|)[CR][LF]" 19:01:25.234687 Client has been notified that DATA conn will be accepted on port 42429 19:01:25.234914 Client connects to port 42429 19:01:25.234943 ====> Client established passive DATA connection on port 42429 19:01:25.235018 < "TYPE I" 19:01:25.235047 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:25.235203 < "SIZE verifiedserver" 19:01:25.235239 > "213 17[CR][LF]" 19:01:25.235400 < "RETR verifiedserver" 19:01:25.235434 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:25.235516 =====> Closing passive DATA connection... 19:01:25.235532 Server disconnects passive DATA connection 19:01:25.235649 Server disconnected passive DATA connection 19:01:25.235671 DATA sockfilt for passive data channel quits (pid 130208) 19:01:25.235921 DATA sockfilt for passive data channel quit (pid 130208) 19:01:25.235967 =====> Closed passive DATA connection 19:01:25.236006 > "226 File transfer complete[CR][LF]" 19:01:25.279099 < "QUIT" 19:01:25.279156 > "221 bye bye baby[CR][LF]" 19:01:25.280144 MAIN sockfilt said DISC 19:01:25.280184 ====> Client disconnected 19:01:25.280278 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:25.003417 ====> Client connect 19:01:25.003686 Received DATA (on stdin) 19:01:25.003704 > 160 bytes data, server => client 19:01:25.003717 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:25.003728 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:25.003740 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:25.003817 < 16 bytes data, client => server 19:01:25.003830 'USER anonymous\r\n' 19:01:25.004023 Received DATA (on stdin) 19:01:25.004036 > 33 bytes data, server => client 19:01:25.004048 '331 We are happy you popped in!\r\n' 19:01:25.004108 < 22 bytes data, client => server 19:01:25.004120 'PASS ftp@example.com\r\n' 19:01:25.004244 Received DATA (on stdin) 19:01:25.004256 > 30 bytes data, server => client 19:01:25.004267 '230 Welcome you silly person\r\n' 19:01:25.004316 < 5 bytes data, client => server 19:01:25.004329 'PWD\r\n' 19:01:25.004446 Received DATA (on stdin) 19:01:25.004459 > 30 bytes data, server => client 19:01:25.004470 '257 "/" is current directory\r\n' 19:01:25.004527 < 6 bytes data, client => server 19:01:25.004541 'EPSV\r\n' 19:01:25.006750 Received DATA (on stdin) 19:01:25.006764 > 39 bytes data, server => client 19:01:25.006776 '229 Entering Passive Mode (|||42429|)\r\n' 19:01:25.006887 < 8 bytes data, client => server 19:01:25.006903 'TYPE I\r\n' 19:01:25.007104 Received DATA (on stdin) 19:01:25.007117 > 33 bytes data, server => client 19:01:25.007128 '200 I modify TYPE as you wanted\r\n' 19:01:25.007178 < 21 bytes data, client => server 19:01:25.007190 'SIZE verifiedserver\r\n' 19:01:25.007294 Received DATA (on stdin) 19:01:25.007306 > 8 bytes data, server => client 19:01:25.007317 '213 17\r\n' 19:01:25.007366 < 21 bytes data, client => server 19:01:25.007378 'RETR verifiedserver\r\n' 19:01:25.007666 Received DATA (on stdin) 19:01:25.007699 > 29 bytes data, server => client 19:01:25.007714 '150 Binary junk (17 bytes).\r\n' 19:01:25.008076 Received DATA (on stdin) 19:01:25.008094 > 28 bytes data, server => client 19:01:25.008107 '226 File transfer complete\r\n' 19:01:25.050959 < 6 bytes data, client => server 19:01:25.050996 'QUIT\r\n' 19:01:25.051221 Received DATA (on stdin) 19:01:25.051236 > 18 bytes data, server => client 19:01:25.051248 '221 bye bye baby\r\n' 19:01:25.052139 ====> Client disconnect 19:01:25.052337 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:25.006249 Running IPv4 version 19:01:25.006324 Listening on port 42429 19:01:25.006384 Wrote pid 130208 to log/3/server/ftp_sockdata.pid 19:01:25.006527 Received PING (on stdin) 19:01:25.006604 Received PORT (on stdin) 19:01:25.006924 ====> Client connect 19:01:25.007591 Received DATA (on stdin) 19:01:25.007605 > 17 bytes data, server => client 19:01:25.007616 'WE ROOLZ: 80615\r\n' 19:01:25.007641 Received DISC (on stdin) 19:01:25.007657 ====> Client forcibly disconnected 19:01:25.007732 Received QUIT (on stdin) 19:01:25.007744 quits 19:01:25.007796 ============> 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 ==130322== ==130322== Process terminating with default action of signal 4 (SIGILL) ==130322== Illegal opcode at address 0x4013E00 ==130322== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130322== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130322== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130322== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1005 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/14/valgrind1003 ../src/curl -q --output log/14/curl1003.out --include --trace-ascii log/14/trace1003 --trace-time ftp://127.0.0.1:35357/path/1003 > log/14/stdout1003 2> log/14/stderr1003 1003: 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 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/14/valgrind1003 ../src/curl -q --output log/14/curl1003.out --include --trace-ascii log/14/trace1003 --trace-time ftp://127.0.0.1:35357/path/1003 > log/14/stdout1003 2> log/14/stderr1003 === End of file commands.log === Start of file ftp_server.log 19:01:25.218432 ====> Client connect 19:01:25.218610 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:25.218948 < "USER anonymous" 19:01:25.218995 > "331 We are happy you popped in![CR][LF]" 19:01:25.219200 < "PASS ftp@example.com" 19:01:25.219233 > "230 Welcome you silly person[CR][LF]" 19:01:25.219416 < "PWD" 19:01:25.219454 > "257 "/" is current directory[CR][LF]" 19:01:25.219645 < "EPSV" 19:01:25.219673 ====> Passive DATA channel requested by client 19:01:25.219689 DATA sockfilt for passive data channel starting... 19:01:25.223220 DATA sockfilt for passive data channel started (pid 130184) 19:01:25.223329 DATA sockfilt for passive data channel listens on port 37887 19:01:25.223371 > "229 Entering Passive Mode (|||37887|)[CR][LF]" 19:01:25.223389 Client has been notified that DATA conn will be accepted on port 37887 19:01:25.223618 Client connects to port 37887 19:01:25.223647 ====> Client established passive DATA connection on port 37887 19:01:25.223718 < "TYPE I" 19:01:25.223746 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:25.223898 < "SIZE verifiedserver" 19:01:25.223936 > "213 17[CR][LF]" 19:01:25.224085 < "RETR verifiedserver" 19:01:25.224117 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:25.224188 =====> Closing passive DATA connection... 19:01:25.224202 Server disconnects passive DATA connection 19:01:25.224421 Server disconnected passive DATA connection 19:01:25.224448 DATA sockfilt for passive data channel quits (pid 130184) 19:01:25.224666 DATA sockfilt for passive data channel quit (pid 130184) 19:01:25.224689 =====> Closed passive DATA connection 19:01:25.224716 > "226 File transfer complete[CR][LF]" 19:01:25.266778 < "QUIT" 19:01:25.266841 > "221 bye bye baby[CR][LF]" 19:01:25.268019 MAIN sockfilt said DISC 19:01:25.268059 ====> Client disconnected 19:01:25.268140 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:25.990376 ====> Client connect 19:01:25.990690 Received DATA (on stdin) 19:01:25.990710 > 160 bytes data, server => client 19:01:25.990725 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:25.990738 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:25.990750 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:25.990840 < 16 bytes data, client => server 19:01:25.990858 'USER anonymous\r\n' 19:01:25.991061 Received DATA (on stdin) 19:01:25.991077 > 33 bytes data, server => client 19:01:25.991090 '331 We are happy you popped in!\r\n' 19:01:25.991149 < 22 bytes data, client => server 19:01:25.991161 'PASS ftp@example.com\r\n' 19:01:25.991294 Received DATA (on stdin) 19:01:25.991308 > 30 bytes data, server => client 19:01:25.991320 '230 Welcome you silly person\r\n' 19:01:25.991375 < 5 bytes data, client => server 19:01:25.991389 'PWD\r\n' 19:01:25.991513 Received DATA (on stdin) 19:01:25.991528 > 30 bytes data, server => client 19:01:25.991541 '257 "/" is current directory\r\n' 19:01:25.991606 < 6 bytes data, client => server 19:01:25.991621 'EPSV\r\n' 19:01:25.995450 Received DATA (on stdin) 19:01:25.995463 > 39 bytes data, server => client 19:01:25.995475 '229 Entering Passive Mode (|||37887|)\r\n' 19:01:25.995589 < 8 bytes data, client => server 19:01:25.995605 'TYPE I\r\n' 19:01:25.995801 Received DATA (on stdin) 19:01:25.995813 > 33 bytes data, server => client 19:01:25.995825 '200 I modify TYPE as you wanted\r\n' 19:01:25.995872 < 21 bytes data, client => server 19:01:25.995884 'SIZE verifiedserver\r\n' 19:01:25.995992 Received DATA (on stdin) 19:01:25.996004 > 8 bytes data, server => client 19:01:25.996015 '213 17\r\n' 19:01:25.996061 < 21 bytes data, client => server 19:01:25.996073 'RETR verifiedserver\r\n' 19:01:25.996258 Received DATA (on stdin) 19:01:25.996270 > 29 bytes data, server => client 19:01:25.996281 '150 Binary junk (17 bytes).\r\n' 19:01:25.996774 Received DATA (on stdin) 19:01:25.996788 > 28 bytes data, server => client 19:01:25.996799 '226 File transfer complete\r\n' 19:01:26.038646 < 6 bytes data, client => server 19:01:26.038674 'QUIT\r\n' 19:01:26.038914 Received DATA (on stdin) 19:01:26.038935 > 18 bytes data, server => client 19:01:26.038947 '221 bye bye baby\r\n' 19:01:26.040011 ====> Client disconnect 19:01:26.040208 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:25.994965 Running IPv4 version 19:01:25.995024 Listening on port 37887 19:01:25.995059 Wrote pid 130184 to log/14/server/ftp_sockdata.pid 19:01:25.995217 Received PING (on stdin) 19:01:25.995300 Received PORT (on stdin) 19:01:25.995627 ====> Client connect 19:01:25.996306 Received DATA (on stdin) 19:01:25.996318 > 17 bytes data, server => client 19:01:25.996329 'WE ROOLZ: 80651\r\n' 19:01:25.996352 Received DISC (on stdin) 19:01:25.996364 ====> Client forcibly disconnected 19:01:25.996511 Received QUIT (on stdin) 19:01:25.996523 quits 19:01:25.996580 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 250 CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --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/valgrind1008 ../src/curl -q --output log/8/curl1008.out --include --trace-ascii log/8/trace1008 --trace-time http://test.remote.example.com.1008:43853/path/10080002 --proxy http://127.0.0.1:43853 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/8/stdout1008 2> log/8/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/9/valgrind1006 ../src/curl -q --output log/9/curl1006.out --include --trace-ascii log/9/trace1006 --trace-time ftp://127.0.0.1:41525/path/1006 > log/9/stdout1006 2> log/9/stderr1006 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB Testnum 1003 === End of file server.cmd === Start of file valgrind1003 ==130304== ==130304== Process terminating with default action of signal 4 (SIGILL) ==130304== Illegal opcode at address 0x4013E00 ==130304== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130304== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130304== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130304== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1003 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/8/valgrind1008 ../src/curl -q --output log/8/curl1008.out --include --trace-ascii log/8/trace1008 --trace-time http://test.remote.example.com.1008:43853/path/10080002 --proxy http://127.0.0.1:43853 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/8/stdout1008 2> log/8/stderr1008 1008: 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 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/8/valgrind1008 ../src/curl -q --output log/8/curl1008.out --include --trace-ascii log/8/trace1008 --trace-time http://test.remote.example.com.1008:43853/path/10080002 --proxy http://127.0.0.1:43853 --proxy-user testuser:testpass --proxy-ntlm --proxytunnel > log/8/stdout1008 2> log/8/stderr1008 === End of file commands.log === Start of file http_server.log 19:01:25.111115 ====> Client connect 19:01:25.111147 accept_connection 3 returned 4 19:01:25.111166 accept_connection 3 returned 0 19:01:25.111182 Read 93 bytes 19:01:25.111194 Process 93 bytes request 19:01:25.111209 Got request: GET /verifiedserver HTTP/1.1 19:01:25.111220 Are-we-friendly question received 19:01:25.111243 Wrote request (93 bytes) input to log/8/server.input 19:01:25.111261 Identifying ourselves as friends 19:01:25.111313 Response sent (56 bytes) and written to log/8/server.response 19:01:25.111324 special request received, no persistency 19:01:25.111334 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 59844 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1008 ==130447== ==130447== Process terminating with default action of signal 4 (SIGILL) ==130447== Illegal opcode at address 0x4013E00 ==130447== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130447== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130447== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130447== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1008 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/9/valgrind1006 ../src/curl -q --output log/9/curl1006.out --include --trace-ascii log/9/trace1006 --trace-time ftp://127.0.0.1:41525/path/1006 > log/9/stdout1006 2> log/9/stderr1006 1006: 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 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/9/valgrind1006 ../src/curl -q --output log/9/curl1006.out --include --trace-ascii log/9/trace1006 --trace-time ftp://127.0.0.1:41525/path/1006 > log/9/stdout1006 2> log/9/stderr1006 === End of file commands.log === Start of file ftp_server.log 19:01:25.262840 ====> Client connect 19:01:25.262977 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:25.263424 < "USER anonymous" 19:01:25.263483 > "331 We are happy you popped in![CR][LF]" 19:01:25.263659 < "PASS ftp@example.com" 19:01:25.263684 > "230 Welcome you silly person[CR][LF]" 19:01:25.263836 < "PWD" 19:01:25.263866 > "257 "/" is current directory[CR][LF]" 19:01:25.264024 < "EPSV" 19:01:25.264047 ====> Passive DATA channel requested by client 19:01:25.264060 DATA sockfilt for passive data channel starting... 19:01:25.265985 DATA sockfilt for passive data channel started (pid 130275) 19:01:25.266090 DATA sockfilt for passive data channel listens on port 39915 19:01:25.266132 > "229 Entering Passive Mode (|||39915|)[CR][LF]" 19:01:25.266152 Client has been notified that DATA conn will be accepted on port 39915 19:01:25.266364 Client connects to port 39915 19:01:25.266398 ====> Client established passive DATA connection on port 39915 19:01:25.267096 < "TYPE I" 19:01:25.267128 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:25.267549 < "SIZE verifiedserver" 19:01:25.267589 > "213 17[CR][LF]" 19:01:25.267741 < "RETR verifiedserver" 19:01:25.267772 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:25.267857 =====> Closing passive DATA connection... 19:01:25.267873 Server disconnects passive DATA connection 19:01:25.268126 Server disconnected passive DATA connection 19:01:25.268152 DATA sockfilt for passive data channel quits (pid 130275) 19:01:25.268394 DATA sockfilt for passive data channel quit (pid 130275) 19:01:25.268419 =====> Closed passive DATA connection 19:01:25.268444 > "226 File transfer complete[CR][LF]" 19:01:25.309332 < "QUIT" 19:01:25.309382 > "221 bye bye baby[CR][LF]" 19:01:25.312098 MAIN sockfilt said DISC 19:01:25.312143 ====> Client disconnected 19:01:25.312211 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:25.034778 ====> Client connect 19:01:25.035041 Received DATA (on stdin) 19:01:25.035055 > 160 bytes data, server => client 19:01:25.035065 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:25.035074 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:25.035083 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:25.035248 < 16 bytes data, client => server 19:01:25.035283 'USER anonymous\r\n' 19:01:25.035546 Received DATA (on stdin) 19:01:25.035560 > 33 bytes data, server => client 19:01:25.035573 '331 We are happy you popped in!\r\n' 19:01:25.035628 < 22 bytes data, client => server 19:01:25.035640 'PASS ftp@example.com\r\n' 19:01:25.035741 Received DATA (on stdin) 19:01:25.035753 > 30 bytes data, server => client 19:01:25.035765 '230 Welcome you silly person\r\n' 19:01:25.035813 < 5 bytes data, client => server 19:01:25.035825 'PWD\r\n' 19:01:25.035921 Received DATA (on stdin) 19:01:25.035933 > 30 bytes data, server => client 19:01:25.035945 '257 "/" is current directory\r\n' 19:01:25.036002 < 6 bytes data, client => server 19:01:25.036014 'EPSV\r\n' 19:01:25.038214 Received DATA (on stdin) 19:01:25.038229 > 39 bytes data, server => client 19:01:25.038241 '229 Entering Passive Mode (|||39915|)\r\n' 19:01:25.038472 < 8 bytes data, client => server 19:01:25.038485 'TYPE I\r\n' 19:01:25.039187 Received DATA (on stdin) 19:01:25.039201 > 33 bytes data, server => client 19:01:25.039213 '200 I modify TYPE as you wanted\r\n' 19:01:25.039509 < 21 bytes data, client => server 19:01:25.039527 'SIZE verifiedserver\r\n' 19:01:25.039647 Received DATA (on stdin) 19:01:25.039660 > 8 bytes data, server => client 19:01:25.039671 '213 17\r\n' 19:01:25.039718 < 21 bytes data, client => server 19:01:25.039730 'RETR verifiedserver\r\n' 19:01:25.039932 Received DATA (on stdin) 19:01:25.039945 > 29 bytes data, server => client 19:01:25.039956 '150 Binary junk (17 bytes).\r\n' 19:01:25.040502 Received DATA (on stdin) 19:01:25.040516 > 28 bytes data, server => client 19:01:25.040529 '226 File transfer complete\r\n' 19:01:25.081220 < 6 bytes data, client => server 19:01:25.081248 'QUIT\r\n' 19:01:25.081447 Received DATA (on stdin) 19:01:25.081462 > 18 bytes data, server => client 19:01:25.081474 '221 bye bye baby\r\n' 19:01:25.084079 ====> Client disconnect 19:01:25.084748 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:25.037735 Running IPv4 version 19:01:25.037802 Listening on port 39915 19:01:25.037837 Wrote pid 130275 to log/9/server/ftp_sockdata.pid 19:01:25.037984 Received PING (on stdin) 19:01:25.038062 Received PORT (on stdin) 19:01:25.038372 ====> Client connect 19:01:25.040011 Received DATA (on stdin) 19:01:25.040026 > 17 bytes data, server => client 19:01:25.040038 'WE ROOLZ: 80682\r\n' 19:01:25.040063 Received DISC (on stdin) 19:01:25.040075 ====> Client forcibly disconnected 19:01:25.040217 Received QUIT (on stdin) 19:01:25.040229 quits 19:01:25.040283 ============> 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\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --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/valgrind985 ../src/curl -q --output log/13/curl985.out --include --trace-ascii log/13/trace985 --trace-time pop3://127.0.0.1:43793/985 -u user:secret --ssl-reqd > log/13/stdout985 2> log/13/stderr985 CMD (33792): ../libtool --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/valgrind1012 ../src/curl -q --output log/6/curl1012.out --include --trace-ascii log/6/trace1012 --trace-time http://127.0.0.1:41595/blah/1012 -L -d "moo" --post301 > log/6/stdout1012 2> log/6/stderr1012 CMD (33792): ../libtool --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/valgrind1011 ../src/curl -q --output log/2/curl1011.out --include --trace-ascii log/2/trace1011 --trace-time http://127.0.0.1:44325/blah/1011 -L -d "moo" > log/2/stdout1011 2> log/2/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/19/valgrind1013 ../src/curl -q --output log/19/curl1013.out --include --trace-ascii log/19/trace1013 --trace-time --version > log/19/stdout1013 2> log/19/stderr1013 AA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-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 ==130461== ==130461== Process terminating with default action of signal 4 (SIGILL) ==130461== Illegal opcode at address 0x4013E00 ==130461== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130461== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130461== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130461== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1006 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 43793 (log/13/server/pop3_server.port) RUN: POP3 server is PID 129119 port 43793 * pid pop3 => 129119 129119 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/13/valgrind985 ../src/curl -q --output log/13/curl985.out --include --trace-ascii log/13/trace985 --trace-time pop3://127.0.0.1:43793/985 -u user:secret --ssl-reqd > log/13/stdout985 2> log/13/stderr985 985: 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 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/13/valgrind985 ../src/curl -q --output log/13/curl985.out --include --trace-ascii log/13/trace985 --trace-time pop3://127.0.0.1:43793/985 -u user:secret --ssl-reqd > log/13/stdout985 2> log/13/stderr985 === End of file commands.log === Start of file pop3_server.log 19:01:24.501881 POP3 server listens on port IPv4/43793 19:01:24.501967 logged pid 129119 in log/13/server/pop3_server.pid 19:01:24.501998 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:24.273524 Running IPv4 version 19:01:24.273612 Listening on port 43793 19:01:24.273655 Wrote pid 129153 to log/13/server/pop3_sockfilt.pid 19:01:24.273686 Wrote port 43793 to log/13/server/pop3_server.port 19:01:24.273846 Received PING (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 ==130544== ==130544== Process terminating with default action of signal 4 (SIGILL) ==130544== Illegal opcode at address 0x4013E00 ==130544== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130544== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130544== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130544== by 0x40037A4: main (tool_main.c:199) === End of file valgrind985 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/2/valgrind1011 ../src/curl -q --output log/2/curl1011.out --include --trace-ascii log/2/trace1011 --trace-time http://127.0.0.1:44325/blah/1011 -L -d "moo" > log/2/stdout1011 2> log/2/stderr1011 1011: 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 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/2/valgrind1011 ../src/curl -q --output log/2/curl1011.out --include --trace-ascii log/2/trace1011 --trace-time http://127.0.0.1:44325/blah/1011 -L -d "moo" > log/2/stdout1011 2> log/2/stderr1011 === End of file commands.log === Start of file http_server.log 19:01:26.567106 ====> Client connect 19:01:26.567138 accept_connection 3 returned 4 19:01:26.567156 accept_connection 3 returned 0 19:01:26.567287 Read 93 bytes 19:01:26.567319 Process 93 bytes request 19:01:26.567335 Got request: GET /verifiedserver HTTP/1.1 19:01:26.567346 Are-we-friendly question received 19:01:26.567388 Wrote request (93 bytes) input to log/2/server.input 19:01:26.567409 Identifying ourselves as friends 19:01: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/19/stdout1013 protocols CMD (33792): ../libtool --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/valgrind1010 ../src/curl -q --output log/4/curl1010.out --include --trace-ascii log/4/trace1010 --trace-time ftp://127.0.0.1:35791//list/this/path/1010/ ftp://127.0.0.1:35791//list/this/path/1010/ --ftp-method nocwd > log/4/stdout1010 2> log/4/stderr1010 26.567559 Response sent (56 bytes) and written to log/2/server.response 19:01:26.567571 special request received, no persistency 19:01:26.567582 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 49624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind1011 ==130702== ==130702== Process terminating with default action of signal 4 (SIGILL) ==130702== Illegal opcode at address 0x4013E00 ==130702== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130702== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130702== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130702== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1011 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/6/valgrind1012 ../src/curl -q --output log/6/curl1012.out --include --trace-ascii log/6/trace1012 --trace-time http://127.0.0.1:41595/blah/1012 -L -d "moo" --post301 > log/6/stdout1012 2> log/6/stderr1012 1012: 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 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/6/valgrind1012 ../src/curl -q --output log/6/curl1012.out --include --trace-ascii log/6/trace1012 --trace-time http://127.0.0.1:41595/blah/1012 -L -d "moo" --post301 > log/6/stdout1012 2> log/6/stderr1012 === End of file commands.log === Start of file http_server.log 19:01:25.573894 ====> Client connect 19:01:25.573933 accept_connection 3 returned 4 19:01:25.573953 accept_connection 3 returned 0 19:01:25.575549 Read 93 bytes 19:01:25.575578 Process 93 bytes request 19:01:25.575595 Got request: GET /verifiedserver HTTP/1.1 19:01:25.575608 Are-we-friendly question received 19:01:25.575655 Wrote request (93 bytes) input to log/6/server.input 19:01:25.575680 Identifying ourselves as friends 19:01:25.575753 Response sent (56 bytes) and written to log/6/server.response 19:01:25.575767 special request received, no persistency 19:01:25.575778 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 48972 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1012 ==130715== ==130715== Process terminating with default action of signal 4 (SIGILL) ==130715== Illegal opcode at address 0x4013E00 ==130715== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130715== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130715== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130715== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1012 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/19/valgrind1013 ../src/curl -q --output log/19/curl1013.out --include --trace-ascii log/19/trace1013 --trace-time --version > log/19/stdout1013 2> log/19/stderr1013 postcheck /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/19/stdout1013 protocols 1013: postcheck FAILED == Contents of files in the log/19/ 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/19/valgrind1013 ../src/curl -q --output log/19/curl1013.out --include --trace-ascii log/19/trace1013 --trace-time --version > log/19/stdout1013 2> log/19/stderr1013 === End of file commands.log === Start of file server.cmd Testnum 1013 === End of file server.cmd === Start of file valgrind1013 ==130667== ==130667== Process terminating with default action of signal 4 (SIGILL) ==130667== Illegal opcode at address 0x4013E00 ==130667== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130667== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130667== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130667== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1013 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/4/valgrind1010 ../src/curl -q --output log/4/curl1010.out --include --trace-ascii log/4/trace1010 --trace-time ftp://127.0.0.1:35791//list/this/path/1010/ ftp://127.0.0.1:35791//list/this/path/1010/ --ftp-method nocwd > log/4/stdout1010 2> log/4/stderr1010 1010: 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 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/4/valgrind1010 ../src/curl -q --output log/4/curl1010.out --include --trace-ascii log/4/trace1010 --trace-time ftp://127.0.0.1:35791//list/this/path/1010/ ftp://127.0.0.1:35791//list/this/path/1010/ --ftp-method nocwd > log/4/stdout1010 2> log/4/stderr1010 === End of file commands.log === Start of file ftp_server.log 19:01:25.788259 ====> Client connect 19:01:25.788445 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:25.788807 < "USER anonymous" 19:01:25.788860 > "331 We are happy you popped in![CR][LF]" 19:01:25.789073 < "PASS ftp@example.com" 19:01:25.789108 > "230 Welcome you silly person[CR][LF]" 19:01:25.789290 < "PWD" 19:01:25.789327 > "257 "/" is current directory[CR][LF]" 19:01:25.789518 < "EPSV" 19:01:25.789545 ====> Passive DATA channel requested by client 19:01:25.789560 DATA sockfilt for passive data channel starting... 19:01:25.791578 DATA sockfilt for passive data channel started (pid 130683) 19:01:25.791700 DATA sockfilt for passive data channel listens on port 38989 19:01:25.791748 > "229 Entering Passive Mode (|||38989|)[CR][LF]" 19:01:25.791771 Client has been notified that DATA conn will be accepted on port 38989 19:01:25.792035 Client connects to port 38989 19:01:25.792074 ====> Client established passive DATA connection on port 38989 19:01:25.792165 < "TYPE I" 19:01:25.792196 > "200 I modify TYPE as you wanted[CR]CMD (33792): ../libtool --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/valgrind1016 ../src/curl -q --trace-ascii log/21/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/21/test1016.txt > log/21/stdout1016 2> log/21/stderr1016 [LF]" 19:01:25.792378 < "SIZE verifiedserver" 19:01:25.792422 > "213 17[CR][LF]" 19:01:25.792600 < "RETR verifiedserver" 19:01:25.792640 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:25.792740 =====> Closing passive DATA connection... 19:01:25.792759 Server disconnects passive DATA connection 19:01:25.793024 Server disconnected passive DATA connection 19:01:25.793057 DATA sockfilt for passive data channel quits (pid 130683) 19:01:25.793295 DATA sockfilt for passive data channel quit (pid 130683) 19:01:25.793325 =====> Closed passive DATA connection 19:01:25.793355 > "226 File transfer complete[CR][LF]" 19:01:25.838602 < "QUIT" 19:01:25.838661 > "221 bye bye baby[CR][LF]" 19:01:25.839724 MAIN sockfilt said DISC 19:01:25.839766 ====> Client disconnected 19:01:25.839848 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:25.560184 ====> Client connect 19:01:25.560526 Received DATA (on stdin) 19:01:25.560546 > 160 bytes data, server => client 19:01:25.560561 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:25.560574 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:25.560585 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:25.560675 < 16 bytes data, client => server 19:01:25.560693 'USER anonymous\r\n' 19:01:25.560926 Received DATA (on stdin) 19:01:25.560942 > 33 bytes data, server => client 19:01:25.560955 '331 We are happy you popped in!\r\n' 19:01:25.561016 < 22 bytes data, client => server 19:01:25.561031 'PASS ftp@example.com\r\n' 19:01:25.561167 Received DATA (on stdin) 19:01:25.561181 > 30 bytes data, server => client 19:01:25.561194 '230 Welcome you silly person\r\n' 19:01:25.561249 < 5 bytes data, client => server 19:01:25.561263 'PWD\r\n' 19:01:25.561387 Received DATA (on stdin) 19:01:25.561401 > 30 bytes data, server => client 19:01:25.561414 '257 "/" is current directory\r\n' 19:01:25.561478 < 6 bytes data, client => server 19:01:25.561493 'EPSV\r\n' 19:01:25.563837 Received DATA (on stdin) 19:01:25.563853 > 39 bytes data, server => client 19:01:25.563866 '229 Entering Passive Mode (|||38989|)\r\n' 19:01:25.564036 < 8 bytes data, client => server 19:01:25.564050 'TYPE I\r\n' 19:01:25.564257 Received DATA (on stdin) 19:01:25.564272 > 33 bytes data, server => client 19:01:25.564285 '200 I modify TYPE as you wanted\r\n' 19:01:25.564341 < 21 bytes data, client => server 19:01:25.564354 'SIZE verifiedserver\r\n' 19:01:25.564481 Received DATA (on stdin) 19:01:25.564495 > 8 bytes data, server => client 19:01:25.564507 '213 17\r\n' 19:01:25.564561 < 21 bytes data, client => server 19:01:25.564577 'RETR verifiedserver\r\n' 19:01:25.564821 Received DATA (on stdin) 19:01:25.564836 > 29 bytes data, server => client 19:01:25.564848 '150 Binary junk (17 bytes).\r\n' 19:01:25.565417 Received DATA (on stdin) 19:01:25.565432 > 28 bytes data, server => client 19:01:25.565445 '226 File transfer complete\r\n' 19:01:25.610451 < 6 bytes data, client => server 19:01:25.610485 'QUIT\r\n' 19:01:25.610728 Received DATA (on stdin) 19:01:25.610746 > 18 bytes data, server => client 19:01:25.610768 '221 bye bye baby\r\n' 19:01:25.611714 ====> Client disconnect 19:01:25.611905 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:25.563265 Running IPv4 version 19:01:25.563326 Listening on port 38989 19:01:25.563399 Wrote pid 130683 to log/4/server/ftp_sockdata.pid 19:01:25.563573 Received PING (on stdin) 19:01:25.563663 Received PORT (on stdin) 19:01:25.564004 ====> Client connect 19:01:25.564877 Received DATA (on stdin) 19:01:25.564892 > 17 bytes data, server => client 19:01:25.564904 'WE ROOLZ: 80681\r\n' 19:01:25.564930 Received DISC (on stdin) 19:01:25.564944 ====> Client forcibly disconnected 19:01:25.565127 Received QUIT (on stdin) 19:01:25.565141 quits 19:01:25.565211 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1010 === End of file server.cmd === Start of file valgrind1010 ==130766== ==130766== Process terminating with default action of signal 4 (SIGILL) ==130766== Illegal opcode at address 0x4013E00 ==130766== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130766== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130766== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130766== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1010 CMD (33792): ../libtool --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/valgrind1014 ../src/curl -q --output log/12/curl1014.out --include --trace-ascii log/12/trace1014 --trace-time --version > log/12/stdout1014 2> log/12/stderr1014 CMD (33792): ../libtool --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/valgrind1015 ../src/curl -q --output log/24/curl1015.out --include --trace-ascii log/24/trace1015 --trace-time http://127.0.0.1:39383/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/24/1015.txt" --data-urlencode @log/24/1015.txt > log/24/stdout1015 2> log/24/stderr1015 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/12/stdout1014 features > log/12/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/1/valgrind1018 ../src/curl -q --trace-ascii log/1/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/1/test1018.txt > log/1/stdout1018 2> log/1/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/21/valgrind1016 ../src/curl -q --trace-ascii log/21/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/21/test1016.txt > log/21/stdout1016 2> log/21/stderr1016 1016: stdout FAILED: --- log/21/check-expected 2025-11-13 19:01:27.062724806 +0000 +++ log/21/check-generated 2025-11-13 19:01:27.062724806 +0000 @@ -1 +0,0 @@ -2345 == Contents of files in the log/21/ 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/21/valgrind1016 ../src/curl -q --trace-ascii log/21/trace1016 --trace-time -r 1-4 file://localhost/startdir/src/build-curl/tests/log/21/test1016.txt > log/21/stdout1016 2> log/21/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 ==130934== ==130934== Process terminating with default action of signal 4 (SIGILL) ==130934== Illegal opcode at address 0x4013E00 ==130934== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130934== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130934== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130934== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1016 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/24/valgrind1015 ../src/curl -q --output log/24/curl1015.out --include --trace-ascii log/24/trace1015 --trace-time http://127.0.0.1:39383/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/24/1015.txt" --data-urlencode @log/24/1015.txt > log/24/stdout1015 2> log/24/stderr1015 1015: 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 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/24/valgrind1015 ../src/curl -q --output log/24/curl1015.out --include --trace-ascii log/24/trace1015 --trace-time http://127.0.0.1:39383/1015 --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@log/24/1015.txt" --data-urlencode @log/24/1015.txt > log/24/stdout1015 2> log/24/stderr1015 === End of file commands.log === Start of file http_server.log 19:01:25.753003 ====> Client connect 19:01:25.753040 accept_connection 3 returned 4 19:01:25.753059 accept_connection 3 returned 0 19:01:25.753075 Read 93 bytes 19:01:25.753086 Process 93 bytes request 19:01:25.753102 Got request: GET /verifiedserver HTTP/1.1 19:01:25.753113 Are-we-friendly question received 19:01:25.753141 Wrote request (93 bytes) input to log/24/server.input 19:01:25.753161 Identifying ourselves as friends 19:01:25.753230 Response sent (56 bytes) and written to log/24/server.response 19:01:25.753243 special request received, no persistency 19:01:25.753254 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54140 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind1015 ==130973== ==130973== Process terminating with default action of signal 4 (SIGILL) ==130973== Illegal opcode at address 0x4013E00 ==130973== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130973== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130973== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130973== by 0x40037A4: 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/12/valgrind1014 ../src/curl -q --output log/12/curl1014.out --include --trace-ascii log/12/trace1014 --trace-time --version > log/12/stdout1014 2> log/12/stderr1014 postcheck /startdir/src/curl/tests/libtest/test1013.pl ../curl-config log/12/stdout1014 features > log/12/result1014 1014: postcheck FAILED == Contents of files in the log/12/ 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/12/valgrind1014 ../src/curl -q --output log/12/curl1014.out --include --trace-ascii log/12/trace1014 --trace-time --version > log/12/stdout1014 2> log/12/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 ==130889== ==130889== Process terminating with default action of signal 4 (SIGILL) ==130889== Illegal opcode at address 0x4013E00 ==130889== at 0x4013E00: getparameter (tool_getparam.c:2846) ==130889== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==130889== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==130889== by 0x40037A4: 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/18/valgrind1017 ../src/curl -q --trace-ascii log/18/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/18/test1017.txt > log/18/stdout1017 2> log/18/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/1/valgrind1018 ../src/curl -q --trace-ascii log/1/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/1/test1018.txt > log/1/stdout1018 2> log/1/stderr1018 1018: stdout FAILED: --- log/1/check-expected 2025-11-13 19:01:27.152724808 +0000 +++ log/1/check-generated 2025-11-13 19:01:27.152724808 +0000 @@ -1 +0,0 @@ -5 == Contents of files in the log/1/ 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/1/valgrind1018 ../src/curl -q --trace-ascii log/1/trace1018 --trace-time -r 4-4 file://localhost/startdir/src/build-curl/tests/log/1/test1018.txt > log/1/stdout1018 2> log/1/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 ==131033== ==131033== Process terminating with default action of signal 4 (SIGILL) ==131033== Illegal opcode at address 0x4013E00 ==131033== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131033== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131033== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131033== by 0x40037A4: 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/15/valgrind1020 ../src/curl -q --trace-ascii log/15/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/15/test1020.txt > log/15/stdout1020 2> log/15/stderr1020 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/18/valgrind1017 ../src/curl -q --trace-ascii log/18/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/18/test1017.txt > log/18/stdout1017 2> log/18/stderr1017 1017: stdout FAILED: --- log/18/check-expected 2025-11-13 19:01:27.159391475 +0000 +++ log/18/check-generated 2025-11-13 19:01:27.159391475 +0000 @@ -1 +0,0 @@ -1234 == Contents of files in the log/18/ 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/18/valgrind1017 ../src/curl -q --trace-ascii log/18/trace1017 --trace-time -r 0-3 file://localhost/startdir/src/build-curl/tests/log/18/test1017.txt > log/18/stdout1017 2> log/18/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 ==131032== ==131032== Process terminating with default action of signal 4 (SIGILL) ==131032== Illegal opcode at address 0x4013E00 ==131032== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131032== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131032== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131032== by 0x40037A4: 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/23/valgrind1019 ../src/curl -q --trace-ascii log/23/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/23/test1019.txt > log/23/stdout1019 2> log/23/stderr1019 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/15/valgrind1020 ../src/curl -q --trace-ascii log/15/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/15/test1020.txt > log/15/stdout1020 2> log/15/stderr1020 1020: stdout FAILED: --- log/15/check-expected 2025-11-13 19:01:27.209391475 +0000 +++ log/15/check-generated 2025-11-13 19:01:27.209391475 +0000 @@ -1 +0,0 @@ -34567890[LF] == Contents of files in the log/15/ 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/15/valgrind1020 ../src/curl -q --trace-ascii log/15/trace1020 --trace-time -r -9 file://localhost/startdir/src/build-curl/tests/log/15/test1020.txt > log/15/stdout1020 2> log/15/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 ==131178== ==131178== Process terminating with default action of signal 4 (SIGILL) ==131178== Illegal opcode at address 0x4013E00 ==131178== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131178== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131178== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131178== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1020 CMD (33792): ../libtool --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/valgrind1021 ../src/curl -q --output log/17/curl1021.out --include --trace-ascii log/17/trace1021 --trace-time http://test.remote.example.com.1021:40515/path/10210002 --proxy http://127.0.0.1:40515 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/17/stdout1021 2> log/17/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/5/valgrind1024 ../src/curl -q --output log/5/curl1024.out --include --trace-ascii log/5/trace1024 --trace-time http://127.0.0.1:46771/want/1024 -L -c log/5/jar1024 > log/5/stdout1024 2> log/5/stderr1024 CMD (33792): ../libtool --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/valgrind1023 ../src/curl -q --output log/20/curl1023.out --include --trace-ascii log/20/trace1023 --trace-time --version > log/20/stdout1023 2> log/20/stderr1023 CMD (33792): ../libtool --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 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 $_ 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.17.0 Use of uninitialized value $version in string ne at /startdir/src/curl/tests/libtest/test1022.pl line 73. CMD (256): /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/20/stdout1023 vernum 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.17.0 CMD (256): /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/7/stdout1022 version 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/23/valgrind1019 ../src/curl -q --trace-ascii log/23/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/23/test1019.txt > log/23/stdout1019 2> log/23/stderr1019 1019: stdout FAILED: --- log/23/check-expected 2025-11-13 19:01:27.282724809 +0000 +++ log/23/check-generated 2025-11-13 19:01:27.282724809 +0000 @@ -1,2 +0,0 @@ -890[LF] -1234567890[LF] == Contents of files in the log/23/ 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/23/valgrind1019 ../src/curl -q --trace-ascii log/23/trace1019 --trace-time -r 7- file://localhost/startdir/src/build-curl/tests/log/23/test1019.txt > log/23/stdout1019 2> log/23/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 ==131163== ==131163== Process terminating with default action of signal 4 (SIGILL) ==131163== Illegal opcode at address 0x4013E00 ==131163== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131163== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131163== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131163== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1019 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/17/valgrind1021 ../src/curl -q --output log/17/curl1021.out --include --trace-ascii log/17/trace1021 --trace-time http://test.remote.example.com.1021:40515/path/10210002 --proxy http://127.0.0.1:40515 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/17/stdout1021 2> log/17/stderr1021 1021: 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 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/17/valgrind1021 ../src/curl -q --output log/17/curl1021.out --include --trace-ascii log/17/trace1021 --trace-time http://test.remote.example.com.1021:40515/path/10210002 --proxy http://127.0.0.1:40515 --proxy-user testuser:testpass --proxy-anyauth --proxytunnel > log/17/stdout1021 2> log/17/stderr1021 === End of file commands.log === Start of file http_server.log 19:01:26.970076 ====> Client connect 19:01:26.970114 accept_connection 3 returned 4 19:01:26.970132 accept_connection 3 returned 0 19:01:26.970149 Read 93 bytes 19:01:26.970160 Process 93 bytes request 19:01:26.970176 Got request: GET /verifiedserver HTTP/1.1 19:01:26.970187 Are-we-friendly question received 19:01:26.970216 Wrote request (93 bytes) input to log/17/server.input 19:01:26.970235 Identifying ourselves as friends 19:01:26.970294 Response sent (56 bytes) and written to log/17/server.response 19:01:26.970310 special request received, no persistency 19:01:26.970321 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 57030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind1021 ==131265== ==131265== Process terminating with default action of signal 4 (SIGILL) ==131265== Illegal opcode at address 0x4013E00 ==131265== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131265== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131265== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131265== by 0x40037A4: 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/5/valgrind1024 ../src/curl -q --output log/5/curl1024.out --include --trace-ascii log/5/trace1024 --trace-time http://127.0.0.1:46771/want/1024 -L -c log/5/jar1024 > log/5/stdout1024 2> log/5/stderr1024 1024: 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 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/5/valgrind1024 ../src/curl -q --output log/5/curl1024.out --include --trace-ascii log/5/trace1024 --trace-time http://127.0.0.1:46771/want/1024 -L -c log/5/jar1024 > log/5/stdout1024 2> log/5/stderr1024 === End of file commands.log === Start of file http_server.log 19:01:26.028900 ====> Client connect 19:01:26.028937 accept_connection 3 returned 4 19:01:26.028956 accept_connection 3 returned 0 19:01:26.028972 Read 93 bytes 19:01:26.028983 Process 93 bytes request 19:01:26.028998 Got request: GET /verifiedserver HTTP/1.1 19:01:26.029009 Are-we-friendly question received 19:01:26.029045 Wrote request (93 bytes) input to log/5/server.input 19:01:26.029066 Identifying ourselves as friends 19:01:26.029124 Response sent (56 bytes) and written to log/5/server.response 19:01:26.029137 special request received, no persistency 19:01:26.029147 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 50502 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1024 ==131406== ==131406== Process terminating with default action of signal 4 (SIGILL) ==131406== Illegal opcode at address 0x4013E00 ==131406== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131406== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131406== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131406== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1024 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/20/valgrind1023 ../src/curl -q --output log/20/curl1023.out --include --trace-ascii log/20/trace1023 --trace-time --verCMD (33792): ../libtool --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 (33792): ../libtool --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/valgrind1007 ../src/curl -q --output log/22/curl1007.out --include --trace-ascii log/22/trace1007 --trace-time -T log/22/test1007.txt tftp://127.0.0.1:56895//invalid-file -sS > log/22/stdout1007 2> log/22/stderr1007 sion > log/20/stdout1023 2> log/20/stderr1023 postcheck /startdir/src/curl/tests/libtest/test1022.pl ../curl-config log/20/stdout1023 vernum 1023: postcheck FAILED == Contents of files in the log/20/ 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/20/valgrind1023 ../src/curl -q --output log/20/curl1023.out --include --trace-ascii log/20/trace1023 --trace-time --version > log/20/stdout1023 2> log/20/stderr1023 === End of file commands.log === Start of file server.cmd Testnum 1023 === End of file server.cmd === Start of file valgrind1023 ==131315== ==131315== Process terminating with default action of signal 4 (SIGILL) ==131315== Illegal opcode at address 0x4013E00 ==131315== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131315== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131315== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131315== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1023 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 ==131205== ==131205== Process terminating with default action of signal 4 (SIGILL) ==131205== Illegal opcode at address 0x4013E00 ==131205== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131205== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131205== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131205== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1022 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/10/valgrind1025 ../src/curl -q --output log/10/curl1025.out --include --trace-ascii log/10/trace1025 --trace-time http://127.0.0.1:37879/want/1025 -L -c log/10/jar1025 -b forcedcookie=yes > log/10/stdout1025 2> log/10/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/14/valgrind1029 ../src/curl -q --include --trace-ascii log/14/trace1029 --trace-time http://127.0.0.1:36759/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/14/stdout1029 2> log/14/stderr1029 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/22/server/tftp_server.pid" --portfile "log/22/server/tftp_server.port" --logfile "log/22/tftp_server.log" --logdir "log/22" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 130354 port 56895 * pid tftp => 130354 130354 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/22/valgrind1007 ../src/curl -q --output log/22/curl1007.out --include --trace-ascii log/22/trace1007 --trace-time -T log/22/test1007.txt tftp://127.0.0.1:56895//invalid-file -sS > log/22/stdout1007 2> log/22/stderr1007 1007: stderr FAILED: --- log/22/check-expected 2025-11-13 19:01:27.432724811 +0000 +++ log/22/check-generated 2025-11-13 19:01:27.432724811 +0000 @@ -1 +0,0 @@ -curl: (69) TFTP: Access Violation[CR][LF] == Contents of files in the log/22/ 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/22/valgrind1007 ../src/curl -q --output log/22/curl1007.out --include --trace-ascii log/22/trace1007 --trace-time -T log/22/test1007.txt tftp://127.0.0.1:56895//invalid-file -sS > log/22/stdout1007 2> log/22/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 19:01:25.107955 Wrote pid 130354 to log/22/server/tftp_server.pid 19:01:25.108020 Wrote port 56895 to log/22/server/tftp_server.port 19:01:25.108035 Running IPv4 version on port UDP/56895 === End of file tftp_server.log === Start of file valgrind1007 ==131474== ==131474== Process terminating with default action of signal 4 (SIGILL) ==131474== Illegal opcode at address 0x4013E00 ==131474== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131474== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131474== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131474== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1007 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 ==131508== ==131508== Process terminating with default action of signal 4 (SIGILL) ==131508== Illegal opcode at address 0x4013E00 ==131508== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131508== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131508== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131508== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1027 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/10/valgrind1025 ../src/curl -q --output log/10/curl1025.out --include --trace-ascii log/10/trace1025 --trace-time http://127.0.0.1:37879/want/1025 -L -c log/10/jar1025 -b forcedcookie=yes > log/10/stdout1025 2> log/10/stderr1025 1025: 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 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/10/valgrind1025 ../src/curl -q --output log/10/curl1025.out --include --trace-ascii log/10/trace1025 --trace-time http://127.0.0.1:37879/want/1025 -L -c log/10/jar1025 -b forcedcookie=yes > log/10/stdout1025 2> log/10/stderr1025 === End of file commands.log === Start of file http_server.log 19:01:26.148599 ====> Client connect 19:01:26.148629 accept_connection 3 returned 4 19:01:26.148645 accept_connection 3 returned 0 19:01:26.148660 Read 93 bytes 19:01:26.148670 Process 93 bytes request 19:01:26.148683 Got request: GET /verifiedserver HTTP/1.1 19:01:26.148693 Are-we-friendly question received 19:01:26.148716 Wrote request (93 bytes) input to log/10/server.input 19:01:26.148733 Identifying ourselves as friends 19:01:26.148806 Response sent (56 bytes) and written to log/10/server.response 19:01:26.148817 special request received, no persistency 19:01:26.148827 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 43546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1025 ==131581== ==131581== Process terminating with default action of signal 4 (SIGILL) ==131581== Illegal opcode at address 0x4013E00 ==131581== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131581== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131581== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131581== by 0x40037A4: 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/9/valgrind1031 ../src/curl -q --output log/9/curl1031.out --include --trace-ascii log/9/trace1031 --trace-time http://127.0.0.1:36745/want/this/1031 -L > log/9/stdout1031 2> log/9/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/8/valgrind1030 ../src/curl -q --output log/8/curl1030.out --include --trace-ascii log/8/trace1030 --trace-time http://127.0.0.1:43853/1030 -T log/8/put1030 -u testuser:testpass --anyauth > log/8/stdout1030 2> log/8/stderr1030 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/14/valgrind1029 ../src/curl -q --include --trace-ascii log/14/trace1029 --trace-time http://127.0.0.1:36759/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/14/stdout1029 2> log/14/stderr1029 1029: stdout FAILED: --- log/14/check-expected 2025-11-13 19:01:27.556058144 +0000 +++ log/14/check-generated 2025-11-13 19:01:27.556058144 +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:36759/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:36759/we/want/our/1029 0 [LF] == Contents of files in the log/14/ 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:36759/we/want/our/data/10290002.txt?coolsite=yes http://127.0.0.1:36759/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/14/valgrind1029 ../src/curl -q --include --trace-ascii log/14/trace1029 --trace-time http://127.0.0.1:36759/we/want/our/1029 -w '%{redirect_url} %{url} %{exitcode} %{errormsg}\n' > log/14/stdout1029 2> log/14/stderr1029 === End of file commands.log === Start of file http_server.log 19:01:26.175640 ====> Client connect 19:01:26.175896 accept_connection 3 returned 4 19:01:26.175915 accept_connection 3 returned 0 19:01:26.175931 Read 93 bytes 19:01:26.175941 Process 93 bytes request 19:01:26.175954 Got request: GET /verifiedserver HTTP/1.1 19:01:26.175964 Are-we-friendly question received 19:01:26.175991 Wrote request (93 bytes) input to log/14/server.input 19:01:26.176007 Identifying ourselves as friends 19:01:26.176067 Response sent (56 bytes) and written to log/14/server.response 19:01:26.176077 special request received, no persistency 19:01:26.176086 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 46682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind1029 ==131637== ==131637== Process terminating with default action of signal 4 (SIGILL) ==131637== Illegal opcode at address 0x4013E00 ==131637== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131637== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131637== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131637== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1029 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/9/valgrind1031 ../src/curl -q --output log/9/curl1031.out --include --trace-ascii log/9/trace1031 --trace-time http://127.0.0.1:36745/want/this/1031 -L > log/9/stdout1031 2> log/9/stderr1031 1031: 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 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/9/valgrind1031 ../src/curl -q --output log/9/curl1031.out --include --trace-ascii log/9/trace1031 --trace-time http://127.0.0.1:36745/want/this/1031 -L > log/9/stdout1031 2> log/9/stderr1031 === End of file commands.log === Start of file http_server.log 19:01:26.245833 ====> Client connect 19:01:26.245871 accept_connection 3 returned 4 19:01:26.245890 accept_connection 3 returned 0 19:01:26.245906 Read 93 bytes 19:01:26.245917 Process 93 bytes request 19:01:26.245934 Got request: GET /verifiedserver HTTP/1.1 19:01:26.245945 Are-we-friendly question received 19:01:26.245980 Wrote request (93 bytes) input to log/9/server.input 19:01:26.246002 Identifying ourselves as friends 19:01:26.246076 Response sent (56 bytes) and written to log/9/server.response 19:01:26.246088 special request received, no persistency 19:01:26.246098 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 38380 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind1031 ==131744== ==131744== Process terminating with default action of signal 4 (SIGILL) ==131744== Illegal opcode at address 0x4013E00 ==131744== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131744== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131744== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131744== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1031 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/8/valgrind1030 ../src/curl -q --output log/8/curl1030.out --include --trace-ascii log/8/trace1030 --trace-time http://127.0.0.1:43853/1030 -T log/8/put1030 -u testuser:testpass --anyauth > log/8/stdout1030 2> log/8/stderr1030 1030: 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 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/8/valgrind1030 ../src/curl -q --output log/8/curl1030.out --include --trace-ascii log/8/trace1030 --trace-time http://127.0.0.1:43853/1030 -T log/8/put1030 -u testuser:testpass --anyauth > log/8/stdout1030 2> log/8/stderr1030 === End of file commands.log === Start of file http_server.log 19:01:26.247490 ====> Client connect 19:01:26.247528 accept_connection 3 returned 4 19:01:26.247548 accept_connection 3 returned 0 19:01:26.247564 Read 93 bytes 19:01:26.247575 Process 93 bytes request 19:01:26.247589 Got request: GET /verifiedserver HTTP/1.1 19:01:26.247600 Are-we-friendly question received 19:01:26.247624 Wrote request (93 bytes) input to log/8/server.inpuCMD (33792): ../libtool --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/valgrind1009 ../src/curl -q --output log/16/curl1009.out --include --trace-ascii log/16/trace1009 --trace-time tftp://127.0.0.1:57002//1009 --local-port 44444-45444 > log/16/stdout1009 2> log/16/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/3/valgrind1028 ../src/curl -q --include --trace-ascii log/3/trace1028 --trace-time http://127.0.0.1:46261/10280001 -L > log/3/stdout1028 2> log/3/stderr1028 t 19:01:26.247643 Identifying ourselves as friends 19:01:26.247709 Response sent (56 bytes) and written to log/8/server.response 19:01:26.247722 special request received, no persistency 19:01:26.247736 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 59846 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1030 ==131762== ==131762== Process terminating with default action of signal 4 (SIGILL) ==131762== Illegal opcode at address 0x4013E00 ==131762== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131762== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131762== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131762== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1030 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/16/server/tftp_server.pid" --portfile "log/16/server/tftp_server.port" --logfile "log/16/tftp_server.log" --logdir "log/16" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 130552 port 57002 * pid tftp => 130552 130552 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/16/valgrind1009 ../src/curl -q --output log/16/curl1009.out --include --trace-ascii log/16/trace1009 --trace-time tftp://127.0.0.1:57002//1009 --local-port 44444-45444 > log/16/stdout1009 2> log/16/stderr1009 1009: 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 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/16/valgrind1009 ../src/curl -q --output log/16/curl1009.out --include --trace-ascii log/16/trace1009 --trace-time tftp://127.0.0.1:57002//1009 --local-port 44444-45444 > log/16/stdout1009 2> log/16/stderr1009 === End of file commands.log === Start of file server.cmd Testnum 1009 === End of file server.cmd === Start of file tftp_server.log 19:01:25.283477 Wrote pid 130552 to log/16/server/tftp_server.pid 19:01:25.283541 Wrote port 57002 to log/16/server/tftp_server.port 19:01:25.283557 Running IPv4 version on port UDP/57002 === End of file tftp_server.log === Start of file valgrind1009 ==131745== ==131745== Process terminating with default action of signal 4 (SIGILL) ==131745== Illegal opcode at address 0x4013E00 ==131745== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131745== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131745== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131745== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1009 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:46261/10280001 -L > log/3/stdout1028 2> log/3/stderr1028 1028: stdout FAILED: --- log/3/check-expected 2025-11-13 19:01:27.662724813 +0000 +++ log/3/check-generated 2025-11-13 19:01:27.659391478 +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:36301/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:36301/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:46261/10280001 -L > log/3/stdout1028 2> log/3/stderr1028 === End of file commands.log === Start of file ftp_server.log 19:01:26.456569 ====> Client connect 19:01:26.456708 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:26.456961 < "USER anonymous" 19:01:26.456995 > "331 We are happy you popped in![CR][LF]" 19:01:26.457166 < "PASS ftp@example.com" 19:01:26.457189 > "230 Welcome you silly person[CR][LF]" 19:01:26.457341 < "PWD" 19:01:26.457368 > "257 "/" is current directory[CR][LF]" 19:01:26.457531 < "EPSV" 19:01:26.457555 ====> Passive DATA channel requested by client 19:01:26.457568 DATA sockfilt for passive data channel starting... 19:01:26.459311 DATA sockfilt for passive data channel started (pid 131687) 19:01:26.459415 DATA sockfilt for passive data channel listens on port 36221 19:01:26.459455 > "229 Entering Passive Mode (|||36221|)[CR][LF]" 19:01:26.459474 Client has been notified that DATA conn will be accepted on port 36221 19:01:26.459704 Client connects to port 36221 19:01:26.459733 ====> Client established passive DATA connection on port 36221 19:01:26.459808 < "TYPE I" 19:01:26.459836 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:26.459991 < "SIZE verifiedserver" 19:01:26.460025 > "213 17[CR][LF]" 19:01:26.460176 < "RETR verifiedserver" 19:01:26.460206 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:26.460280 =====> Closing passive DATA connection... 19:01:26.460295 Server disconnects passive DATA connection 19:01:26.460533 Server disconnected passive DATA connection 19:01:26.460558 DATA sockfilt for passive data channel quits (pid 131687) 19:01:26.460765 DATA sockfilt for passive data channel quit (pid 131687) 19:01:26.460789 =====> Closed passive DATA connection 19:01:26.460814 > "226 File transfer complete[CR][LF]" 19:01:26.507849 < "QUIT" 19:01:26.507907 > "221 bye bye baby[CR][LF]" 19:01:26.509024 MAIN sockfilt said DISC 19:01:26.509071 ====> Client disconnected 19:01:26.509151 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:26.228509 ====> Client connect 19:01:26.228776 Received DATA (on stdin) 19:01:26.228790 > 160 bytes data, server => client 19:01:26.228804 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:26.228815 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:26.228826 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:26.228898 < 16 bytes data, client => server 19:01:26.228911 'USER anonymous\r\n' 19:01:26.229054 Received DATA (on stdin) 19:01:26.229067 > 33 bytes data, server => client 19:01:26.229079 '331 We are happy you popped in!\r\n' 19:01:26.229130 < 22 bytes data, client => server 19:01:26.229142 'PASS ftp@example.com\r\n' 19:01:26.229246 Received DATA (on stdin) 19:01:26.229258 > 30 bytes data, server => client 19:01:26.229270 '230 Welcome you silly person\r\n' 19:01:26.229316 < 5 bytes data, client => server 19:01:26.229327 'PWD\r\n' 19:01:26.229424 Received DATA (on stdin) 19:01:26.229436 > 30 bytes data, server => client 19:01:26.229448 '257 "/" is current directory\r\n' 19:01:26.229503 < 6 bytes data, client => server 19:01:26.229517 'EPSV\r\n' 19:01:26.231537 Received DATA (on stdin) 19:01:26.231551 > 39 bytes data, server => client 19:01:26.231564 '229 Entering Passive Mode (|||36221|)\r\n' 19:01:26.231675 < 8 bytes data, client => server 19:01:26.231690 'TYPE I\r\n' 19:01:26.231893 Received DATA (on stdin) 19:01:26.231906 > 33 bytes data, server => client 19:01:26.231918 '200 I modify TYPE as you wanted\r\n' 19:01:26.231967 < 21 bytes data, client => server 19:01:26.231979 'SIZE verifiedserver\r\n' 19:01:26.232082 Received DATA (on stdin) 19:01:26.232094 > 8 bytes data, server => client 19:01:26.232105 '213 17\r\n' 19:01:26.232151 < 21 bytes data, client => server 19:01:26.232162 'RETR verifiedserver\r\n' 19:01:26.232354 Received DATA (on stdin) 19:01:26.232367 > 29 bytes data, server => client 19:01:26.232379 '150 Binary junk (17 bytes).\r\n' 19:01:26.232871 Received DATA (on stdin) 19:01:26.232885 > 28 bytes data, server => client 19:01:26.232897 '226 File transfer complete\r\n' 19:01:26.279705 < 6 bytes data, client => server 19:01:26.279734 'QUIT\r\n' 19:01:26.279972 Received DATA (on stdin) 19:01:26.279987 > 18 bytes data, server => client 19:01:26.279999 '221 bye bye baby\r\n' 19:01:26.281018 ====> Client disconnect 19:01:26.281212 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:26.231069 Running IPv4 version 19:01:26.231134 Listening on port 36221 19:01:26.231170 Wrote pid 131687 to log/3/server/ftp_sockdata.pid 19:01:26.231313 Received PING (on stdin) 19:01:26.231390 Received PORT (on stdin) 19:01:26.231710 ====> Client connect 19:01:26.232405 Received DATA (on stdin) 19:01:26.232419 > 17 bytes data, server => client 19:01:26.232430 'WE ROOLZ: 80615\r\n' 19:01:26.232453 Received DISC (on stdin) 19:01:26.232465 ====> Client forcibly disconnected 19:01:26.232624 Received QUIT (on stdin) 19:01:26.232636 quits 19:01:26.232695 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:01:27.183521 ====> Client connect 19:01:27.183560 accept_connection 3 returned 4 19:01:27.183578 accept_connection 3 returned 0 19:01:27.184318 Read 93 bytes 19:01:27.184341 Process 93 bytes request 19:01:27.184356 Got request: GET /verifiedserver HTTP/1.1 19:01:27.184367 Are-we-friendly question received 19:01:27.184406 Wrote request (93 bytes) input to log/3/server.input 19:01:27.184425 Identifying ourselves as friends 19:01:27.184485 Response sent (56 bytes) and written to log/3/server.response 19:01:27.184497 special request received, no persistency 19:01:27.184507 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 42296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.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/13/valgrind1032 ../src/curl -q --output log/13/curl1032.out --include --trace-ascii log/13/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:35301/1032 > log/13/stdout1032 2> log/13/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/19/valgrind1034 ../src/curl -q --output log/19/curl1034.out --include --trace-ascii log/19/trace1034 --trace-time -K - -x 127.0.0.1:47 log/19/stdout1034 2> log/19/stderr1034 CMD (33792): ../libtool --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/valgrind1035 ../src/curl -q --output log/2/curl1035.out --include --trace-ascii log/2/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/2/stdout1035 2> log/2/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/6/valgrind1033 ../src/curl -q --output log/6/curl1033.out --include --trace-ascii log/6/trace1033 --trace-time http://127.0.0.1:41595/1033 > log/6/stdout1033 2> log/6/stderr1033 WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind1028 ==131815== ==131815== Process terminating with default action of signal 4 (SIGILL) ==131815== Illegal opcode at address 0x4013E00 ==131815== at 0x4013E00: getparameter (tool_getparam.c:2846) ==131815== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==131815== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==131815== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1028 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/13/valgrind1032 ../src/curl -q --output log/13/curl1032.out --include --trace-ascii log/13/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:35301/1032 > log/13/stdout1032 2> log/13/stderr1032 1032: 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 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/13/valgrind1032 ../src/curl -q --output log/13/curl1032.out --include --trace-ascii log/13/trace1032 --trace-time --range 1-3 --head http://127.0.0.1:35301/1032 > log/13/stdout1032 2> log/13/stderr1032 === End of file commands.log === Start of file http_server.log 19:01:26.430817 ====> Client connect 19:01:26.430853 accept_connection 3 returned 4 19:01:26.430873 accept_connection 3 returned 0 19:01:26.430890 Read 93 bytes 19:01:26.430901 Process 93 bytes request 19:01:26.430916 Got request: GET /verifiedserver HTTP/1.1 19:01:26.430927 Are-we-friendly question received 19:01:26.430952 Wrote request (93 bytes) input to log/13/server.input 19:01:26.430971 Identifying ourselves as friends 19:01:26.431030 Response sent (56 bytes) and written to log/13/server.response 19:01:26.431042 special request received, no persistency 19:01:26.431052 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 40186 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind1032 ==132002== ==132002== Process terminating with default action of signal 4 (SIGILL) ==132002== Illegal opcode at address 0x4013E00 ==132002== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132002== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132002== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132002== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1032 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/19/valgrind1034 ../src/curl -q --output log/19/curl1034.out --include --trace-ascii log/19/trace1034 --trace-time -K - -x 127.0.0.1:47 log/19/stdout1034 2> log/19/stderr1034 curl returned 132, when expecting 3 1034: exit FAILED == Contents of files in the log/19/ 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/19/valgrind1034 ../src/curl -q --output log/19/curl1034.out --include --trace-ascii log/19/trace1034 --trace-time -K - -x 127.0.0.1:47 log/19/stdout1034 2> log/19/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 ==132095== ==132095== Process terminating with default action of signal 4 (SIGILL) ==132095== Illegal opcode at address 0x4013E00 ==132095== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132095== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132095== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132095== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1034 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/2/valgrind1035 ../src/curl -q --output log/2/curl1035.out --include --trace-ascii log/2/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/2/stdout1035 2> log/2/stderr1035 curl returned 132, when expecting 3 1035: exit FAILED == Contents of files in the log/2/ 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/2/valgrind1035 ../src/curl -q --output log/2/curl1035.out --include --trace-ascii log/2/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/2/stdout1035 2> log/2/stderr1035 === End of file commands.log === Start of file server.cmd Testnum 1035 === End of file server.cmd === Start of file valgrind1035 ==132105== ==132105== Process terminating with default action of signal 4 (SIGILL) ==132105== Illegal opcode at address 0x4013E00 ==132105== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132105== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132105== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132105== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1035 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/6/valgrind1033 ../src/curl -q --output log/6/curl1033.out --include --trace-ascii log/6/trace1033 --trace-time http://127.0.0.1:41595/1033 > log/6/stdout1033 2> log/6/stderr1033 1033: 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 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/6/valgrind1033 ../src/curl -q --output log/6/curl1033.out --include --trace-ascii log/6/trace1033 --trace-time http://127.0.0.1:41595/1033 > log/6/stdout1033 2> log/6/stderr1033 === End of file commands.log === Start of file http_server.log 19:01:26.733856 ====> Client connect 19:01:26.733893 accept_connection 3 returned 4 19:01:26.733911 accept_connection 3 returned 0 19:01:26.733926 Read 93 bytes 19:01:26.733937 Process 93 bytes request 19:01:26.733952 Got request: GET /verifiedserver HTTP/1.1 19:01:26.733963 Are-we-friendly question received CMD (33792): ../libtool --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/valgrind1036 ../src/curl -q --output log/4/curl1036.out --include --trace-ascii log/4/trace1036 --trace-time ftp://127.0.0.1:35791/1036 -C - > log/4/stdout1036 2> log/4/stderr1036 19:01:26.733990 Wrote request (93 bytes) input to log/6/server.input 19:01:26.734007 Identifying ourselves as friends 19:01:26.734062 Response sent (56 bytes) and written to log/6/server.response 19:01:26.734074 special request received, no persistency 19:01:26.734084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 48978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1033 ==132128== ==132128== Process terminating with default action of signal 4 (SIGILL) ==132128== Illegal opcode at address 0x4013E00 ==132128== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132128== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132128== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132128== by 0x40037A4: 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/4/valgrind1036 ../src/curl -q --output log/4/curl1036.out --include --trace-ascii log/4/trace1036 --trace-time ftp://127.0.0.1:35791/1036 -C - > log/4/stdout1036 2> log/4/stderr1036 1036: 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 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/4/valgrind1036 ../src/curl -q --output log/4/curl1036.out --include --trace-ascii log/4/trace1036 --trace-time ftp://127.0.0.1:35791/1036 -C - > log/4/stdout1036 2> log/4/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 19:01:26.992823 ====> Client connect 19:01:26.993001 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:26.993316 < "USER anonymous" 19:01:26.993356 > "331 We are happy you popped in![CR][LF]" 19:01:26.993539 < "PASS ftp@example.com" 19:01:26.993570 > "230 Welcome you silly person[CR][LF]" 19:01:26.993739 < "PWD" 19:01:26.993772 > "257 "/" is current directory[CR][LF]" 19:01:26.993940 < "EPSV" 19:01:26.993966 ====> Passive DATA channel requested by client 19:01:26.993981 DATA sockfilt for passive data channel starting... 19:01:26.996724 DATA sockfilt for passive data channel started (pid 132156) 19:01:26.996839 DATA sockfilt for passive data channel listens on port 46303 19:01:26.996880 > "229 Entering Passive Mode (|||46303|)[CR][LF]" 19:01:26.996901 Client has been notified that DATA conn will be accepted on port 46303 19:01:26.997153 Client connects to port 46303 19:01:26.997184 ====> Client established passive DATA connection on port 46303 19:01:26.997269 < "TYPE I" 19:01:26.997296 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:26.997461 < "SIZE verifiedserver" 19:01:26.997503 > "213 17[CR][LF]" 19:01:26.997658 < "RETR verifiedserver" 19:01:26.997694 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:26.997783 =====> Closing passive DATA connection... 19:01:26.997799 Server disconnects passive DATA connection 19:01:26.998047 Server disconnected passive DATA connection 19:01:26.998076 DATA sockfilt for passive data channel quits (pid 132156) 19:01:26.998342 DATA sockfilt for passive data channel quit (pid 132156) 19:01:26.998367 =====> Closed passive DATA connection 19:01:26.998394 > "226 File transfer complete[CR][LF]" 19:01:27.048967 < "QUIT" 19:01:27.049031 > "221 bye bye baby[CR][LF]" 19:01:27.057428 MAIN sockfilt said DISC 19:01:27.057506 ====> Client disconnected 19:01:27.057601 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:26.764734 ====> Client connect 19:01:26.765075 Received DATA (on stdin) 19:01:26.765093 > 160 bytes data, server => client 19:01:26.765108 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:26.765121 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:26.765133 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:26.765218 < 16 bytes data, client => server 19:01:26.765232 'USER anonymous\r\n' 19:01:26.765418 Received DATA (on stdin) 19:01:26.765432 > 33 bytes data, server => client 19:01:26.765445 '331 We are happy you popped in!\r\n' 19:01:26.765498 < 22 bytes data, client => server 19:01:26.765511 'PASS ftp@example.com\r\n' 19:01:26.765630 Received DATA (on stdin) 19:01:26.765644 > 30 bytes data, server => client 19:01:26.765656 '230 Welcome you silly person\r\n' 19:01:26.765707 < 5 bytes data, client => server 19:01:26.765719 'PWD\r\n' 19:01:26.765829 Received DATA (on stdin) 19:01:26.765842 > 30 bytes data, server => client 19:01:26.765854 '257 "/" is current directory\r\n' 19:01:26.765913 < 6 bytes data, client => server 19:01:26.765926 'EPSV\r\n' 19:01:26.768966 Received DATA (on stdin) 19:01:26.768982 > 39 bytes data, server => client 19:01:26.768996 '229 Entering Passive Mode (|||46303|)\r\n' 19:01:26.769123 < 8 bytes data, client => server 19:01:26.769139 'TYPE I\r\n' 19:01:26.769355 Received DATA (on stdin) 19:01:26.769368 > 33 bytes data, server => client 19:01:26.769381 '200 I modify TYPE as you wanted\r\n' 19:01:26.769433 < 21 bytes data, client => server 19:01:26.769446 'SIZE verifiedserver\r\n' 19:01:26.769560 Received DATA (on stdin) 19:01:26.769573 > 8 bytes data, server => client 19:01:26.769584 '213 17\r\n' 19:01:26.769633 < 21 bytes data, client => server 19:01:26.769646 'RETR verifiedserver\r\n' 19:01:26.769856 Received DATA (on stdin) 19:01:26.769869 > 29 bytes data, server => client 19:01:26.769881 '150 Binary junk (17 bytes).\r\n' 19:01:26.770454 Received DATA (on stdin) 19:01:26.770468 > 28 bytes data, server => client 19:01:26.770481 '226 File transfer complete\r\n' 19:01:26.820803 < 6 bytes data, client => server 19:01:26.820835 'QUIT\r\n' 19:01:26.821102 Received DATA (on stdin) 19:01:26.821119 > 18 bytes data, server => client 19:01:26.821132 '221 bye bye baby\r\n' 19:01:26.827443 ====> Client disconnect 19:01:26.829671 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:26.768436 Running IPv4 version 19:01:26.768501 Listening on port 46303 19:01:26.768553 Wrote pid 132156 to log/4/server/ftp_sockdata.pid 19:01:26.768722 Received PING (on stdin) 19:01:26.768802 Received PORT (on stdin) 19:01:26.769161 ====> Client connect 19:01:26.769908 Received DATA (on stdin) 19:01:26.769922 > 17 bytes data, server => client 19:01:26.769934 'WE ROOLZ: 80681\r\n' 19:01:26.769959 Received DISC (on stdin) 19:01:26.769972 ====> Client forcibly disconnected 19:01:26.770140 Received QUIT (on stdin) 19:01:26.770153 quits 19:01:26.770221 ============> 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 ==132262== ==132262== Process terminating with default action of signal 4 (SIGILL) ==132262== Illegal opcode at address 0x4013E00 ==132262== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132262== by 0x4003CMD (33792): ../libtool --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/valgrind1037 ../src/curl -q --output log/21/curl1037.out --include --trace-ascii log/21/trace1037 --trace-time ftp://127.0.0.1:35487/1037 -C - > log/21/stdout1037 2> log/21/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/18/valgrind1041 ../src/curl -q --output log/18/curl1041.out --include --trace-ascii log/18/trace1041 --trace-time http://127.0.0.1:39771/1041 -Tlog/18/test1041.txt -C - > log/18/stdout1041 2> log/18/stderr1041 7A4: UnknownInlinedFun (tool_getparam.c:3029) ==132262== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132262== by 0x40037A4: 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/21/valgrind1037 ../src/curl -q --output log/21/curl1037.out --include --trace-ascii log/21/trace1037 --trace-time ftp://127.0.0.1:35487/1037 -C - > log/21/stdout1037 2> log/21/stderr1037 1037: 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 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/21/valgrind1037 ../src/curl -q --output log/21/curl1037.out --include --trace-ascii log/21/trace1037 --trace-time ftp://127.0.0.1:35487/1037 -C - > log/21/stdout1037 2> log/21/stderr1037 === End of file commands.log === Start of file ftp_server.log 19:01:27.103188 ====> Client connect 19:01:27.103338 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:27.103615 < "USER anonymous" 19:01:27.103648 > "331 We are happy you popped in![CR][LF]" 19:01:27.103812 < "PASS ftp@example.com" 19:01:27.103836 > "230 Welcome you silly person[CR][LF]" 19:01:27.103982 < "PWD" 19:01:27.104010 > "257 "/" is current directory[CR][LF]" 19:01:27.104163 < "EPSV" 19:01:27.104186 ====> Passive DATA channel requested by client 19:01:27.104202 DATA sockfilt for passive data channel starting... 19:01:27.106243 DATA sockfilt for passive data channel started (pid 132314) 19:01:27.106340 DATA sockfilt for passive data channel listens on port 43569 19:01:27.106375 > "229 Entering Passive Mode (|||43569|)[CR][LF]" 19:01:27.106391 Client has been notified that DATA conn will be accepted on port 43569 19:01:27.106568 Client connects to port 43569 19:01:27.106596 ====> Client established passive DATA connection on port 43569 19:01:27.106704 < "TYPE I" 19:01:27.106739 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:27.106915 < "SIZE verifiedserver" 19:01:27.106954 > "213 17[CR][LF]" 19:01:27.107121 < "RETR verifiedserver" 19:01:27.107158 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:27.107249 =====> Closing passive DATA connection... 19:01:27.107267 Server disconnects passive DATA connection 19:01:27.107515 Server disconnected passive DATA connection 19:01:27.107544 DATA sockfilt for passive data channel quits (pid 132314) 19:01:27.107787 DATA sockfilt for passive data channel quit (pid 132314) 19:01:27.107814 =====> Closed passive DATA connection 19:01:27.107843 > "226 File transfer complete[CR][LF]" 19:01:27.149255 < "QUIT" 19:01:27.149316 > "221 bye bye baby[CR][LF]" 19:01:27.154151 MAIN sockfilt said DISC 19:01:27.154204 ====> Client disconnected 19:01:27.154280 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:26.875126 ====> Client connect 19:01:26.875407 Received DATA (on stdin) 19:01:26.875422 > 160 bytes data, server => client 19:01:26.875436 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:26.875448 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:26.875459 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:26.875531 < 16 bytes data, client => server 19:01:26.875544 'USER anonymous\r\n' 19:01:26.875707 Received DATA (on stdin) 19:01:26.875720 > 33 bytes data, server => client 19:01:26.875732 '331 We are happy you popped in!\r\n' 19:01:26.875783 < 22 bytes data, client => server 19:01:26.875795 'PASS ftp@example.com\r\n' 19:01:26.875892 Received DATA (on stdin) 19:01:26.875904 > 30 bytes data, server => client 19:01:26.875916 '230 Welcome you silly person\r\n' 19:01:26.875960 < 5 bytes data, client => server 19:01:26.875972 'PWD\r\n' 19:01:26.876065 Received DATA (on stdin) 19:01:26.876077 > 30 bytes data, server => client 19:01:26.876088 '257 "/" is current directory\r\n' 19:01:26.876142 < 6 bytes data, client => server 19:01:26.876153 'EPSV\r\n' 19:01:26.878452 Received DATA (on stdin) 19:01:26.878466 > 39 bytes data, server => client 19:01:26.878477 '229 Entering Passive Mode (|||43569|)\r\n' 19:01:26.878663 < 8 bytes data, client => server 19:01:26.878675 'TYPE I\r\n' 19:01:26.878798 Received DATA (on stdin) 19:01:26.878812 > 33 bytes data, server => client 19:01:26.878824 '200 I modify TYPE as you wanted\r\n' 19:01:26.878878 < 21 bytes data, client => server 19:01:26.878893 'SIZE verifiedserver\r\n' 19:01:26.879013 Received DATA (on stdin) 19:01:26.879027 > 8 bytes data, server => client 19:01:26.879039 '213 17\r\n' 19:01:26.879090 < 21 bytes data, client => server 19:01:26.879103 'RETR verifiedserver\r\n' 19:01:26.879328 Received DATA (on stdin) 19:01:26.879343 > 29 bytes data, server => client 19:01:26.879355 '150 Binary junk (17 bytes).\r\n' 19:01:26.879903 Received DATA (on stdin) 19:01:26.879917 > 28 bytes data, server => client 19:01:26.879929 '226 File transfer complete\r\n' 19:01:26.921104 < 6 bytes data, client => server 19:01:26.921140 'QUIT\r\n' 19:01:26.921381 Received DATA (on stdin) 19:01:26.921397 > 18 bytes data, server => client 19:01:26.921409 '221 bye bye baby\r\n' 19:01:26.922240 ====> Client disconnect 19:01:26.929020 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:27.878037 Running IPv4 version 19:01:27.878088 Listening on port 43569 19:01:27.878119 Wrote pid 132314 to log/21/server/ftp_sockdata.pid 19:01:27.878248 Received PING (on stdin) 19:01:27.878320 Received PORT (on stdin) 19:01:27.878576 ====> Client connect 19:01:27.879382 Received DATA (on stdin) 19:01:27.879396 > 17 bytes data, server => client 19:01:27.879408 'WE ROOLZ: 81255\r\n' 19:01:27.879432 Received DISC (on stdin) 19:01:27.879444 ====> Client forcibly disconnected 19:01:27.879611 Received QUIT (on stdin) 19:01:27.879625 quits 19:01:27.879690 ============> 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 ==132375== ==132375== Process terminating with default action of signal 4 (SIGILL) ==132375== Illegal opcode at address 0x4013E00 ==132375== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132375== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132375== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132375== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1037 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/18/valgrind1041 ../src/curl -q --output log/18/curl1041.out --include --trace-ascii log/18/trace1041 --trace-time http://127.0.0.1:39771/1041 -Tlog/18/test1041.txt -C - > log/18/stdout1041 2> log/18/stderr1041 1041: 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 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/18/valgrind1041 ../src/curl -q --output log/18/curl1041.out --include --trace-ascii log/18/trace1041 --trace-time http://127.0.0.1:39771/1041 -Tlog/18/test1041.txt -C - > log/18/stdout1041 2> log/18/stderr1041 === End of file commands.log === Start of file http_server.log 19:01:26.967506 ====> Client connect 19:01:26.967552 accCMD (33792): ../libtool --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/valgrind1040 ../src/curl -q --output log/1/curl1040.out --include --trace-ascii log/1/trace1040 --trace-time http://127.0.0.1:40353/1040 -C - > log/1/stdout1040 2> log/1/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/12/valgrind1039 ../src/curl -q --output log/12/curl1039.out --include --trace-ascii log/12/trace1039 --trace-time ftp://127.0.0.1:35151/1039 -T log/12/upload1039 -C - > log/12/stdout1039 2> log/12/stderr1039 CMD (33792): ../libtool --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/valgrind1038 ../src/curl -q --output log/24/curl1038.out --include --trace-ascii log/24/trace1038 --trace-time ftp://127.0.0.1:41217/1038 -T log/24/upload1038 -C - > log/24/stdout1038 2> log/24/stderr1038 ept_connection 3 returned 4 19:01:26.967573 accept_connection 3 returned 0 19:01:26.967591 Read 93 bytes 19:01:26.967602 Process 93 bytes request 19:01:26.967617 Got request: GET /verifiedserver HTTP/1.1 19:01:26.967628 Are-we-friendly question received 19:01:26.967656 Wrote request (93 bytes) input to log/18/server.input 19:01:26.967674 Identifying ourselves as friends 19:01:26.967750 Response sent (56 bytes) and written to log/18/server.response 19:01:26.967762 special request received, no persistency 19:01:26.967772 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 40104 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === 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 ==132470== ==132470== Process terminating with default action of signal 4 (SIGILL) ==132470== Illegal opcode at address 0x4013E00 ==132470== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132470== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132470== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132470== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1041 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/1/valgrind1040 ../src/curl -q --output log/1/curl1040.out --include --trace-ascii log/1/trace1040 --trace-time http://127.0.0.1:40353/1040 -C - > log/1/stdout1040 2> log/1/stderr1040 1040: 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 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/1/valgrind1040 ../src/curl -q --output log/1/curl1040.out --include --trace-ascii log/1/trace1040 --trace-time http://127.0.0.1:40353/1040 -C - > log/1/stdout1040 2> log/1/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 19:01:26.965083 ====> Client connect 19:01:26.965156 accept_connection 3 returned 4 19:01:26.965176 accept_connection 3 returned 0 19:01:26.965193 Read 93 bytes 19:01:26.965204 Process 93 bytes request 19:01:26.965219 Got request: GET /verifiedserver HTTP/1.1 19:01:26.965230 Are-we-friendly question received 19:01:26.965256 Wrote request (93 bytes) input to log/1/server.input 19:01:26.965273 Identifying ourselves as friends 19:01:26.965329 Response sent (56 bytes) and written to log/1/server.response 19:01:26.965340 special request received, no persistency 19:01:26.965350 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 57260 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1040 ==132466== ==132466== Process terminating with default action of signal 4 (SIGILL) ==132466== Illegal opcode at address 0x4013E00 ==132466== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132466== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132466== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132466== by 0x40037A4: 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/12/valgrind1039 ../src/curl -q --output log/12/curl1039.out --include --trace-ascii log/12/trace1039 --trace-time ftp://127.0.0.1:35151/1039 -T log/12/upload1039 -C - > log/12/stdout1039 2> log/12/stderr1039 1039: 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 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/12/valgrind1039 ../src/curl -q --output log/12/curl1039.out --include --trace-ascii log/12/trace1039 --trace-time ftp://127.0.0.1:35151/1039 -T log/12/upload1039 -C - > log/12/stdout1039 2> log/12/stderr1039 === End of file commands.log === Start of file ftp_server.log 19:01:27.118218 ====> Client connect 19:01:27.118468 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:27.118877 < "USER anonymous" 19:01:27.118922 > "331 We are happy you popped in![CR][LF]" 19:01:27.121469 < "PASS ftp@example.com" 19:01:27.121512 > "230 Welcome you silly person[CR][LF]" 19:01:27.121747 < "PWD" 19:01:27.121791 > "257 "/" is current directory[CR][LF]" 19:01:27.121983 < "EPSV" 19:01:27.122047 ====> Passive DATA channel requested by client 19:01:27.122080 DATA sockfilt for passive data channel starting... 19:01:27.127444 DATA sockfilt for passive data channel started (pid 132335) 19:01:27.127588 DATA sockfilt for passive data channel listens on port 34137 19:01:27.127645 > "229 Entering Passive Mode (|||34137|)[CR][LF]" 19:01:27.127669 Client has been notified that DATA conn will be accepted on port 34137 19:01:27.127924 Client connects to port 34137 19:01:27.127958 ====> Client established passive DATA connection on port 34137 19:01:27.128096 < "TYPE I" 19:01:27.128134 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:27.129913 < "SIZE verifiedserver" 19:01:27.129962 > "213 17[CR][LF]" 19:01:27.131633 < "RETR verifiedserver" 19:01:27.131682 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:27.131798 =====> Closing passive DATA connection... 19:01:27.131817 Server disconnects passive DATA connection 19:01:27.132023 Server disconnected passive DATA connection 19:01:27.132047 DATA sockfilt for passive data channel quits (pid 132335) 19:01:27.132287 DATA sockfilt for passive data channel quit (pid 132335) 19:01:27.132310 =====> Closed passive DATA connection 19:01:27.132339 > "226 File transfer complete[CR][LF]" 19:01:27.178915 < "QUIT" 19:01:27.178971 > "221 bye bye baby[CR][LF]" 19:01:27.179777 MAIN sockfilt said DISC 19:01:27.179818 ====> Client disconnected 19:01:27.179887 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:26.890141 ====> Client connect 19:01:26.890550 Received DATA (on stdin) 19:01:26.890570 > 160 bytes data, server => client 19:01:26.890585 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:26.890597 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:26.890608 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:26.890734 < 16 bytes data, client => server 19:01:26.890765 'USER anonymous\r\n' 19:01:26.891020 Received DATA (on stdin) 19:01:26.891036 > 33 bytes data, server => client 19:01:26.891049 '331 We are happy you popped in!\r\n' 19:01:26.891107 < 22 bytes data, client => server 19:01:26.891122 'PASS ftp@example.com\r\n' 19:01:26.893574 Received DATA (on stdin) 19:01:26.893590 > 30 bytes data, server => client 19:01:26.893602 '230 Welcome you silly person\r\n' 19:01:26.893660 < 5 bytes data, client => server 19:01:26.893674 'PWD\r\n' 19:01:26.893852 Received DATA (on stdin) 19:01:26.893866 > 30 bytes data, server => client 19:01:26.893879 '257 "/" is current directory\r\n' 19:01:26.893943 < 6 bytes data, client => server 19:01:26.893958 'EPSV\r\n' 19:01:26.899740 Received DATA (on stdin) 19:01:26.899761 > 39 bytes data, server => client 19:01:26.899775 '229 Entering Passive Mode (|||34137|)\r\n' 19:01:26.900036 < 8 bytes data, client => server 19:01:26.900050 'TYPE I\r\n' 19:01:26.900193 Received DATA (on stdin) 19:01:26.900207 > 33 bytes data, server => client 19:01:26.900220 '200 I modify TYPE as you wanted\r\n' 19:01:26.901855 < 21 bytes data, client => server 19:01:26.901876 'SIZE verifiedserver\r\n' 19:01:26.902024 Received DATA (on stdin) 19:01:26.902039 > 8 bytes data, server => client 19:01:26.902051 '213 17\r\n' 19:01:26.902107 < 21 bytes data, client => server 19:01:26.902122 'RETR verifiedserver\r\n' 19:01:26.903883 Received DATA (on stdin) 19:01:26.903900 > 29 bytes data, server => client 19:01:26.903913 '150 Binary junk (17 bytes).\r\n' 19:01:26.904399 Received DATA (on stdin) 19:01:26.904413 > 28 bytes data, server => client 19:01:26.904425 '226 File transfer complete\r\n' 19:01:26.950801 < 6 bytes data, client => server 19:01:26.950828 'QUIT\r\n' 19:01:26.951036 Received DATA (on stdin) 19:01:26.951051 > 18 bytes data, server => client 19:01:26.951064 '221 bye bye baby\r\n' 19:01:26.951772 ====> Client disconnect 19:01:26.951946 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:27.898601 Running IPv4 version 19:01:27.898675 Listening on port 34137 19:01:27.898718 Wrote pid 132335 to log/12/server/ftp_sockdata.pid 19:01:27.899432 Received PING (on stdin) 19:01:27.899546 Received PORT (on stdin) 19:01:27.899927 ====> Client connect 19:01:27.903951 Received DATA (on stdin) 19:01:27.903972 > 17 bytes data, server => client 19:01:27.903984 'WE ROOLZ: 80702\r\n' 19:01:27.904012 Received DISC (on stdin) 19:01:27.904026 ====> Client forcibly disconnected 19:01:27.904118 Received QUIT (on stdin) 19:01:27.904131 quits 19:01:27.904189 ============> 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 ==132427== ==132427== Process terminating with default action of signal 4 (SIGILL) ==132427== Illegal opcode at address 0x4013E00 ==132427== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132427== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132427== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132427== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1039 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/24/valgrind1038 ../src/curl -q --output log/24/curl1038.out --include --trace-ascii log/24/trace1038 --trace-time ftp://127.0.0.1:41217/1038 -T log/24/upload1038 -C - > log/24/stdout1038 2> log/24/stderr1038 1038: 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 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/24/valgrind1038 ../src/curl -q --output log/24/curl1038.out --include --trace-ascii log/24/trace1038 --trace-time ftp://127.0.0.1:41217/1038 -T log/24/upload1038 -C - > log/24/stdout1038 2> log/24/stderr1038 === End of file commands.log === Start of file ftp_server.log 19:01:27.126325 ====> Client connect 19:01:27.126488 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:27.126773 < "USER anonymous" 19:01:27.126810 > "331 We are happy you popped in![CR][LF]" 19:01:27.126979 < "PASS ftp@example.com" 19:01:27.127005 > "230 Welcome you silly person[CR][LF]" 19:01:27.127159 < "PWD" 19:01:27.127191 > "257 "/" is current directory[CR][LF]" 19:01:27.127356 < "EPSV" 19:01:27.127384 ====> Passive DATA channel requested by client 19:01:27.127398 DATA sockfilt for passive data channel starting... 19:01:27.129404 DATA sockfilt for passive data channel started (pid 132337) 19:01:27.129514 DATA sockfilt for passive data channel listens on port 39473 19:01:27.129556 > "229 Entering Passive Mode (|||39473|)[CR][LF]" 19:01:27.129576 Client has been notified that DATA conn will be accepted on port 39473 19:01:27.129781 Client connects to port 39473 19:01:27.129811 ====> Client established passive DATA connection on port 39473 19:01:27.130311 < "TYPE I" 19:01:27.130344 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:27.130506 < "SIZE verifiedserver" 19:01:27.130548 > "213 17[CR][LF]" 19:01:27.130703 < "RETR verifiedserver" 19:01:27.130741 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:27.130850 =====> Closing passive DATA connection... 19:01:27.130867 Server disconnects passive DATA connection 19:01:27.131135 Server disconnected passive DATA connection 19:01:27.131165 DATA sockfilt for passive data channel quits (pid 132337) 19:01:27.131428 DATA sockfilt for passive data channel quit (pid 132337) 19:01:27.131454 =====> Closed passive DATA connection 19:01:27.131487 > "226 File transfer complete[CR][LF]" 19:01:27.173709 < "QUIT" 19:01:27.173760 > "221 bye bye baby[CR][LF]" 19:01:27.174779 MAIN sockfilt said DISC 19:01:27.174818 ====> Client disconnected 19:01:27.174878 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:26.898266 ====> Client connect 19:01:26.898559 Received DATA (on stdin) 19:01:26.898575 > 160 bytes data, server => client 19:01:26.898589 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:26.898601 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:26.898612 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:26.898688 < 16 bytes data, client => server 19:01:26.898702 'USER anonymous\r\n' 19:01:26.898871 Received DATA (on stdin) 19:01:26.898884 > 33 bytes data, server => client 19:01:26.898897 '331 We are happy you popped in!\r\n' 19:01:26.898947 < 22 bytes data, client => server 19:01:26.898960 'PASS ftp@example.com\r\n' 19:01:26.899061 Received DATA (on stdin) 19:01:26.899073 > 30 bytes data, server => client 19:01:26.899085 '230 Welcome you silly person\r\n' 19:01:26.899132 < 5 bytes data, client => server 19:01:26.899144 'PWD\r\n' 19:01:26.899248 Received DATA (on stdin) 19:01:26.899260 > 30 bytes data, server => client 19:01:26.899272 '257 "/" is current directory\r\n' 19:01:26.899328 < 6 bytes data, client => server 19:01:26.899341 'EPSV\r\n' 19:01:26.901641 Received DATA (on stdin) 19:01:26.901657 > 39 bytes data, server => client 19:01:26.90CMD (33792): ../libtool --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/valgrind1042 ../src/curl -q --output log/15/curl1042.out --include --trace-ascii log/15/trace1042 --trace-time http://127.0.0.1:44531/1042 -C 200 > log/15/stdout1042 2> log/15/stderr1042 CMD (33792): ../libtool --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/valgrind1045 ../src/curl -q --output log/5/curl1045.out --include --trace-ascii log/5/trace1045 --trace-time http://127.0.0.1:46771/1045 --interface 127.0.0.1 > log/5/stdout1045 2> log/5/stderr1045 1670 '229 Entering Passive Mode (|||39473|)\r\n' 19:01:26.902251 < 8 bytes data, client => server 19:01:26.902269 'TYPE I\r\n' 19:01:26.902401 Received DATA (on stdin) 19:01:26.902414 > 33 bytes data, server => client 19:01:26.902426 '200 I modify TYPE as you wanted\r\n' 19:01:26.902478 < 21 bytes data, client => server 19:01:26.902491 'SIZE verifiedserver\r\n' 19:01:26.902605 Received DATA (on stdin) 19:01:26.902618 > 8 bytes data, server => client 19:01:26.902629 '213 17\r\n' 19:01:26.902677 < 21 bytes data, client => server 19:01:26.902689 'RETR verifiedserver\r\n' 19:01:26.902928 Received DATA (on stdin) 19:01:26.902941 > 29 bytes data, server => client 19:01:26.902953 '150 Binary junk (17 bytes).\r\n' 19:01:26.903546 Received DATA (on stdin) 19:01:26.903560 > 28 bytes data, server => client 19:01:26.903572 '226 File transfer complete\r\n' 19:01:26.945605 < 6 bytes data, client => server 19:01:26.945632 'QUIT\r\n' 19:01:26.945823 Received DATA (on stdin) 19:01:26.945837 > 18 bytes data, server => client 19:01:26.945850 '221 bye bye baby\r\n' 19:01:26.946775 ====> Client disconnect 19:01:26.946935 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:27.901152 Running IPv4 version 19:01:27.901215 Listening on port 39473 19:01:27.901252 Wrote pid 132337 to log/24/server/ftp_sockdata.pid 19:01:27.901405 Received PING (on stdin) 19:01:27.901483 Received PORT (on stdin) 19:01:27.901788 ====> Client connect 19:01:27.902979 Received DATA (on stdin) 19:01:27.902993 > 17 bytes data, server => client 19:01:27.903005 'WE ROOLZ: 81247\r\n' 19:01:27.903032 Received DISC (on stdin) 19:01:27.903045 ====> Client forcibly disconnected 19:01:27.903230 Received QUIT (on stdin) 19:01:27.903242 quits 19:01:27.903315 ============> 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 ==132422== ==132422== Process terminating with default action of signal 4 (SIGILL) ==132422== Illegal opcode at address 0x4013E00 ==132422== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132422== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132422== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132422== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1038 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/15/valgrind1042 ../src/curl -q --output log/15/curl1042.out --include --trace-ascii log/15/trace1042 --trace-time http://127.0.0.1:44531/1042 -C 200 > log/15/stdout1042 2> log/15/stderr1042 1042: 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 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/15/valgrind1042 ../src/curl -q --output log/15/curl1042.out --include --trace-ascii log/15/trace1042 --trace-time http://127.0.0.1:44531/1042 -C 200 > log/15/stdout1042 2> log/15/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 19:01:27.018370 ====> Client connect 19:01:27.018419 accept_connection 3 returned 4 19:01:27.018438 accept_connection 3 returned 0 19:01:27.018542 Read 93 bytes 19:01:27.018555 Process 93 bytes request 19:01:27.018569 Got request: GET /verifiedserver HTTP/1.1 19:01:27.018579 Are-we-friendly question received 19:01:27.018608 Wrote request (93 bytes) input to log/15/server.input 19:01:27.018626 Identifying ourselves as friends 19:01:27.018680 Response sent (56 bytes) and written to log/15/server.response 19:01:27.018691 special request received, no persistency 19:01:27.018702 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 55670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind1042 ==132671== ==132671== Process terminating with default action of signal 4 (SIGILL) ==132671== Illegal opcode at address 0x4013E00 ==132671== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132671== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132671== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132671== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1042 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/5/valgrind1045 ../src/curl -q --output log/5/curl1045.out --include --trace-ascii log/5/trace1045 --trace-time http://127.0.0.1:46771/1045 --interface 127.0.0.1 > log/5/stdout1045 2> log/5/stderr1045 1045: 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 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/5/valgrind1045 ../src/curl -q --output log/5/curl1045.out --include --trace-ascii log/5/trace1045 --trace-time http://127.0.0.1:46771/1045 --interface 127.0.0.1 > log/5/stdout1045 2> log/5/stderr1045 === End of file commands.log === Start of file http_server.log 19:01:27.134355 ====> Client connect 19:01:27.134388 accept_connection 3 returned 4 19:01:27.134405 accept_connection 3 returned 0 19:01:27.134420 Read 93 bytes 19:01:27.134430 Process 93 bytes request 19:01:27.134443 Got request: GET /verifiedserver HTTP/1.1 19:01:27.134452 Are-we-friendly question received 19:01:27.134478 Wrote request (93 bytes) input to log/5/server.input 19:01:27.134494 Identifying ourselves as friends 19:01:27.134546 Response sent (56 bytes) and written to log/5/server.response 19:01:27.134557 special request received, no persistency 19:01:27.134566 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 50518 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1045 ==132806== ==132806== Process terminating with default action of signal 4 (SIGILL) ==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/valgrind1043 ../src/curl -q --output log/23/curl1043.out --include --trace-ascii log/23/trace1043 --trace-time http://127.0.0.1:35243/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/7/valgrind1047 ../src/curl -q --output log/7/curl1047.out --include --trace-ascii log/7/trace1047 --trace-time ftp://127.0.0.1:34277/ --interface 127.0.0.1 > log/7/stdout1047 2> log/7/stderr1047 32806== Illegal opcode at address 0x4013E00 ==132806== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132806== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132806== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132806== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1045 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:35243/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:35243/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 19:01:27.117790 ====> Client connect 19:01:27.117828 accept_connection 3 returned 4 19:01:27.117847 accept_connection 3 returned 0 19:01:27.117864 Read 93 bytes 19:01:27.117876 Process 93 bytes request 19:01:27.117892 Got request: GET /verifiedserver HTTP/1.1 19:01:27.117903 Are-we-friendly question received 19:01:27.117927 Wrote request (93 bytes) input to log/23/server.input 19:01:27.117946 Identifying ourselves as friends 19:01:27.118008 Response sent (56 bytes) and written to log/23/server.response 19:01:27.118020 special request received, no persistency 19:01:27.118031 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 40736 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind1043 ==132808== ==132808== Process terminating with default action of signal 4 (SIGILL) ==132808== Illegal opcode at address 0x4013E00 ==132808== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132808== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132808== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132808== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1043 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:34277/ --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:34277/ --interface 127.0.0.1 > log/7/stdout1047 2> log/7/stderr1047 === End of file commands.log === Start of file ftp_server.log 19:01:27.377666 ====> Client connect 19:01:27.377835 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:27.379521 < "USER anonymous" 19:01:27.379579 > "331 We are happy you popped in![CR][LF]" 19:01:27.379843 < "PASS ftp@example.com" 19:01:27.379872 > "230 Welcome you silly person[CR][LF]" 19:01:27.380048 < "PWD" 19:01:27.380079 > "257 "/" is current directory[CR][LF]" 19:01:27.380250 < "EPSV" 19:01:27.380277 ====> Passive DATA channel requested by client 19:01:27.380291 DATA sockfilt for passive data channel starting... 19:01:27.382209 DATA sockfilt for passive data channel started (pid 132816) 19:01:27.382324 DATA sockfilt for passive data channel listens on port 39739 19:01:27.382368 > "229 Entering Passive Mode (|||39739|)[CR][LF]" 19:01:27.382389 Client has been notified that DATA conn will be accepted on port 39739 19:01:27.382658 Client connects to port 39739 19:01:27.382689 ====> Client established passive DATA connection on port 39739 19:01:27.382770 < "TYPE I" 19:01:27.382803 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:27.382971 < "SIZE verifiedserver" 19:01:27.383017 > "213 17[CR][LF]" 19:01:27.383178 < "RETR verifiedserver" 19:01:27.383214 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:27.383318 =====> Closing passive DATA connection... 19:01:27.383335 Server disconnects passive DATA connection 19:01:27.384342 Server disconnected passive DATA connection 19:01:27.384398 DATA sockfilt for passive data channel quits (pid 132816) 19:01:27.384710 DATA sockfilt for passive data channel quit (pid 132816) 19:01:27.384735 =====> Closed passive DATA connection 19:01:27.384863 > "226 File transfer complete[CR][LF]" 19:01:27.432507 < "QUIT" 19:01:27.432560 > "221 bye bye baby[CR][LF]" 19:01:27.433425 MAIN sockfilt said DISC 19:01:27.433472 ====> Client disconnected 19:01:27.433542 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:27.149608 ====> Client connect 19:01:27.149907 Received DATA (on stdin) 19:01:27.149924 > 160 bytes data, server => client 19:01:27.149938 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:27.149951 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:27.149963 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:27.150043 < 16 bytes data, client => server 19:01:27.150057 'USER anonymous\r\n' 19:01:27.151649 Received DATA (on stdin) 19:01:27.151671 > 33 bytes data, server => client 19:01:27.151687 '331 We are happy you popped in!\r\n' 19:01:27.151777 < 22 bytes data, client => server 19:01:27.151797 'PASS ftp@example.com\r\n' 19:01:27.151930 Received DATA (on stdin) 19:01:27.151943 > 30 bytes data, server => client 19:01:27.151955 '230 Welcome you silly person\r\n' 19:01:27.152011 < 5 bytes data, client => server 19:01:27.152024 'PWD\r\n' 19:01:27.152136 Received DATA (on stdin) 19:01:27.152149 > 30 bytes data, server => client 19:01:27.152161 '257 "/" is current directory\r\n' 19:01:27.152222 < 6 bytes data, client => server 19:01:27.152235 'EPSV\r\n' 19:01:27.154450 Received DATA (on stdin) 19:01:27.154470 > 39 bytes data, server => client 19:01:27.154483 '229 Entering Passive Mode (|||39739|)\r\n' 19:01:27.154657 < 8 bytes data, client => server 19:01:27.154670 'TYPE I\r\n' 19:01:27.154861 Received DATA (on stdin) 19:01:27.154874 > 33 bytes data, server => client 19:01:27.154886 '200 I modify TYPE as you wanted\r\n' 19:01:27.154941 < 21 bytes data, client => server 19:01:27.154953 'SIZE verifiedserver\r\n' 19:01:27.155075 Received DATA (on stdin) 19:01:27.155088 > 8 bytes data, server => 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/17/valgrind1044 ../src/curl -q --include --trace-ascii log/17/trace1044 --trace-time ftp://127.0.0.1:32811/blalbla/1044 -I > log/17/stdout1044 2> log/17/stderr1044 19:01:27.155100 '213 17\r\n' 19:01:27.155151 < 21 bytes data, client => server 19:01:27.155163 'RETR verifiedserver\r\n' 19:01:27.155394 Received DATA (on stdin) 19:01:27.155408 > 29 bytes data, server => client 19:01:27.155420 '150 Binary junk (17 bytes).\r\n' 19:01:27.156834 Received DATA (on stdin) 19:01:27.156853 > 28 bytes data, server => client 19:01:27.156872 '226 File transfer complete\r\n' 19:01:27.204383 < 6 bytes data, client => server 19:01:27.204417 'QUIT\r\n' 19:01:27.204624 Received DATA (on stdin) 19:01:27.204638 > 18 bytes data, server => client 19:01:27.204650 '221 bye bye baby\r\n' 19:01:27.205414 ====> Client disconnect 19:01:27.205603 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:27.154065 Running IPv4 version 19:01:27.154139 Listening on port 39739 19:01:27.154181 Wrote pid 132816 to log/7/server/ftp_sockdata.pid 19:01:27.154205 Received PING (on stdin) 19:01:27.154294 Received PORT (on stdin) 19:01:27.154625 ====> Client connect 19:01:27.156119 Received DATA (on stdin) 19:01:27.156151 > 17 bytes data, server => client 19:01:27.156164 'WE ROOLZ: 89392\r\n' 19:01:27.156208 Received DISC (on stdin) 19:01:27.156222 ====> Client forcibly disconnected 19:01:27.156481 Received QUIT (on stdin) 19:01:27.156498 quits 19:01:27.156587 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1047 === End of file server.cmd === Start of file valgrind1047 ==132907== ==132907== Process terminating with default action of signal 4 (SIGILL) ==132907== Illegal opcode at address 0x4013E00 ==132907== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132907== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132907== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132907== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1047 CMD (33792): ../libtool --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/valgrind1049 ../src/curl -q --output log/11/curl1049.out --include --trace-ascii log/11/trace1049 --trace-time tftp://127.0.0.1:44013//1049 --interface 127.0.0.1 > log/11/stdout1049 2> log/11/stderr1049 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/17/valgrind1044 ../src/curl -q --include --trace-ascii log/17/trace1044 --trace-time ftp://127.0.0.1:32811/blalbla/1044 -I > log/17/stdout1044 2> log/17/stderr1044 1044: stdout FAILED: --- log/17/check-expected 2025-11-13 19:01:28.432724819 +0000 +++ log/17/check-generated 2025-11-13 19:01:28.432724819 +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/17/ 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/17/valgrind1044 ../src/curl -q --include --trace-ascii log/17/trace1044 --trace-time ftp://127.0.0.1:32811/blalbla/1044 -I > log/17/stdout1044 2> log/17/stderr1044 === End of file commands.log === Start of file ftp_server.log 19:01:27.358675 ====> Client connect 19:01:27.358952 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:27.361709 < "USER anonymous" 19:01:27.361756 > "331 We are happy you popped in![CR][LF]" 19:01:27.362174 < "PASS ftp@example.com" 19:01:27.362203 > "230 Welcome you silly person[CR][LF]" 19:01:27.362361 < "PWD" 19:01:27.362390 > "257 "/" is current directory[CR][LF]" 19:01:27.363564 < "EPSV" 19:01:27.363589 ====> Passive DATA channel requested by client 19:01:27.363603 DATA sockfilt for passive data channel starting... 19:01:27.366229 DATA sockfilt for passive data channel started (pid 132795) 19:01:27.366332 DATA sockfilt for passive data channel listens on port 36239 19:01:27.366372 > "229 Entering Passive Mode (|||36239|)[CR][LF]" 19:01:27.366390 Client has been notified that DATA conn will be accepted on port 36239 19:01:27.367149 Client connects to port 36239 19:01:27.367181 ====> Client established passive DATA connection on port 36239 19:01:27.367257 < "TYPE I" 19:01:27.367281 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:27.367418 < "SIZE verifiedserver" 19:01:27.367448 > "213 17[CR][LF]" 19:01:27.367568 < "RETR verifiedserver" 19:01:27.367594 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:27.367660 =====> Closing passive DATA connection... 19:01:27.367672 Server disconnects passive DATA connection 19:01:27.367863 Server disconnected passive DATA connection 19:01:27.367885 DATA sockfilt for passive data channel quits (pid 132795) 19:01:27.368045 DATA sockfilt for passive data channel quit (pid 132795) 19:01:27.368063 =====> Closed passive DATA connection 19:01:27.368084 > "226 File transfer complete[CR][LF]" 19:01:27.412566 < "QUIT" 19:01:27.412619 > "221 bye bye baby[CR][LF]" 19:01:27.416730 MAIN sockfilt said DISC 19:01:27.416780 ====> Client disconnected 19:01:27.416866 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:27.130398 ====> Client connect 19:01:27.131022 Received DATA (on stdin) 19:01:27.131039 > 160 bytes data, server => client 19:01:27.131053 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:27.131065 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:27.131076 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:27.131190 < 16 bytes data, client => server 19:01:27.131220 'USER anonymous\r\n' 19:01:27.133821 Received DATA (on stdin) 19:01:27.133837 > 33 bytes data, server => client 19:01:27.133850 '331 We are happy you popped in!\r\n' 19:01:27.134127 < 22 bytes data, client => server 19:01:27.134146 'PASS ftp@example.com\r\n' 19:01:27.134260 Received DATA (on stdin) 19:01:27.134273 > 30 bytes data, server => client 19:01:27.134285 '230 Welcome you silly person\r\n' 19:01:27.134335 < 5 bytes data, client => server 19:01:27.134347 'PWD\r\n' 19:01:27.134446 Received DATA (on stdin) 19:01:27.134459 > 30 bytes data, server => client 19:01:27.134470 '257 "/" is current directory\r\n' 19:01:27.135524 < 6 bytes data, client => server 19:01:27.135541 'EPSV\r\n' 19:01:27.138451 Received DATA (on stdin) 19:01:27.138465 > 39 bytes data, server => client 19:01:27.138476 '229 Entering Passive Mode (|||36239|)\r\n' 19:01:27.139149 < 8 bytes data, client => server 19:01:27.139163 'TYPE I\r\n' 19:01:27.139335 Received DATA (on stdin) 19:01:27.139346 > 33 bytes data, server => client 19:01:27.139355 '200 I modify TYPE as you wanted\r\n' 19:01:27.139398 < 21 bytes data, client => server 19:01:27.139408 'SIZE verifiedserver\r\n' 19:01:27.139500 Received DATA (on stdin) 19:01:27.139510 > 8 bytes data, server => client 19:01:27.139518 '213 17\r\n' 19:01:27.139556 < 21 bytes data, client => server 19:01:27.139565 'RETR verifiedserver\r\n' 19:01:27.139798 Received DATA (on stdin) 19:01:27.139809 > 29 bytes data, server => client 19:01:27.139818 '150 Binary junk (17 bytes).\r\n' 19:01:27.140138 Received DATA (on stdin) 19:01:27.140149 > 28 bytes data, server => client 19:01:27.140159 '226 File transfer complete\r\n' 19:01:27.184423 < 6 bytes data, client => server 19:01:27.184452 'QUIT\r\n' 19:01:27.187441 Received DATA (on stdin) 19:01:27.187467 > 18 bytes data, server => client 19:01:27.187479 '221 bye bye baby\r\n' 19:01:27.188726 ====> Client disconnect 19:01:27.188926 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:27.137020 Running IPv4 version 19:01:27.137076 Listening on port 36239 19:01:27.137111 Wrote pid 132795 to log/17/server/ftp_sockdata.pid 19:01:27.138216 Received PING (on stdin) 19:01:27.138310 Received PORT (on stdin) 19:01:27.139113 ====> Client connect 19:01:27.139727 Received DATA (on stdin) 19:01:27.139738 > 17 bytes data, server => client 19:01:27.139748 'WE ROOLZ: 80755\r\n' 19:01:27.139770 Received DISC (on stdin) 19:01:27.139779 ====> Client forcibly disconnected 19:01:27.139946 Received QUIT (on stdin) 19:01:27.139956 quits 19:01:27.140000 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1044 === End of file server.cmd === Start of file valgrind1044 ==132874== ==132874== Process terminating with default action of signal 4 (SIGILL) ==132874== Illegal opcode at address 0x4013E00 ==132874== at 0x4013E00: getparameter (tool_getparam.c:2846) ==132874== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==132874== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==132874== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1044 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/11/valgrind1049 ../src/curl -q --output log/11/curl1049.out --include --trace-ascii log/11/trace1049 --trace-time tftp://127.0.0.1:44013//1049 --interface 127.0.0.1 > log/11/stdout1049 2> log/11/stderr1049 1049: 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 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/11/valgrind1049 ../src/curl -q --output log/11/curl1049.out --include --trace-ascii log/11/trace1049 --trace-time tftp://127.0.0.1:44013//1049 --interface 127.0.0.1 > log/11/stdout1049 2> log/11/stderr1049 === End of file commands.log === Start of file server.cmd Testnum 1049 === 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/14/valgrind1051 ../src/curl -q --output log/14/curl1051.out --include --trace-ascii log/14/trace1051 --trace-time http://127.0.0.1:36759/want/1051 -L -T log/14/test1051.txt > log/14/stdout1051 2> log/14/stderr1051 CMD (33792): ../libtool --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:36745/want/1052 -0 -L -T log/9/test1052.txt > log/9/stdout1052 2> log/9/stderr1052 CMD (33792): ../libtool --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:42747/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/8/valgrind1053 ../src/curl -q --output log/8/curl1053.out --include --trace-ascii log/8/trace1053 --trace-time http://127.0.0.1:43853/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/8/test1053.txt > log/8/stdout1053 2> log/8/stderr1053 .cmd === Start of file tftp_server.log 19:01:28.262785 trying to get file: verifiedserver mode 1 19:01:28.262818 Are-we-friendly question received 19:01:28.262835 write 19:01:28.262856 read 19:01:28.263473 read: 4 19:01:28.263535 end of one transfer === End of file tftp_server.log === Start of file valgrind1049 ==133005== ==133005== Process terminating with default action of signal 4 (SIGILL) ==133005== Illegal opcode at address 0x4013E00 ==133005== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133005== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133005== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133005== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1049 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:36745/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:36745/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 19:01:27.378477 ====> Client connect 19:01:27.378514 accept_connection 3 returned 4 19:01:27.378533 accept_connection 3 returned 0 19:01:27.378549 Read 93 bytes 19:01:27.378560 Process 93 bytes request 19:01:27.378575 Got request: GET /verifiedserver HTTP/1.1 19:01:27.378585 Are-we-friendly question received 19:01:27.378613 Wrote request (93 bytes) input to log/9/server.input 19:01:27.378631 Identifying ourselves as friends 19:01:27.378690 Response sent (56 bytes) and written to log/9/server.response 19:01:27.378702 special request received, no persistency 19:01:27.378713 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 38396 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === 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 ==133133== ==133133== Process terminating with default action of signal 4 (SIGILL) ==133133== Illegal opcode at address 0x4013E00 ==133133== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133133== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133133== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133133== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1052 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/14/valgrind1051 ../src/curl -q --output log/14/curl1051.out --include --trace-ascii log/14/trace1051 --trace-time http://127.0.0.1:36759/want/1051 -L -T log/14/test1051.txt > log/14/stdout1051 2> log/14/stderr1051 1051: 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 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/14/valgrind1051 ../src/curl -q --output log/14/curl1051.out --include --trace-ascii log/14/trace1051 --trace-time http://127.0.0.1:36759/want/1051 -L -T log/14/test1051.txt > log/14/stdout1051 2> log/14/stderr1051 === End of file commands.log === Start of file http_server.log 19:01:27.361017 ====> Client connect 19:01:27.361055 accept_connection 3 returned 4 19:01:27.361073 accept_connection 3 returned 0 19:01:27.361090 Read 93 bytes 19:01:27.361101 Process 93 bytes request 19:01:27.361117 Got request: GET /verifiedserver HTTP/1.1 19:01:27.361128 Are-we-friendly question received 19:01:27.361157 Wrote request (93 bytes) input to log/14/server.input 19:01:27.361175 Identifying ourselves as friends 19:01:27.361236 Response sent (56 bytes) and written to log/14/server.response 19:01:27.361248 special request received, no persistency 19:01:27.361258 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 46686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file test1051.txt Weird file to upload for testing the PUT feature === End of file test1051.txt === Start of file valgrind1051 ==133117== ==133117== Process terminating with default action of signal 4 (SIGILL) ==133117== Illegal opcode at address 0x4013E00 ==133117== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133117== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133117== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133117== by 0x40037A4: 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:42747/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:42747/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 19:01:28.443770 ====> Client connect 19:01:28.443802 accept_connection 3 returned 4 19:01:28.443819 accept_connection 3 returned 0 19:01:CMD (33792): ../libtool --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/valgrind1055 ../src/curl -q --output log/3/curl1055.out --include --trace-ascii log/3/trace1055 --trace-time http://127.0.0.1:46261/1055 -L -T log/3/test1055.txt > log/3/stdout1055 2> log/3/stderr1055 28.443834 Read 93 bytes 19:01:28.443845 Process 93 bytes request 19:01:28.443859 Got request: GET /verifiedserver HTTP/1.1 19:01:28.443869 Are-we-friendly question received 19:01:28.443892 Wrote request (93 bytes) input to log/16/server.input 19:01:28.443909 Identifying ourselves as friends 19:01:28.443961 Response sent (56 bytes) and written to log/16/server.response 19:01:28.443971 special request received, no persistency 19:01:28.443981 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 46538 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file test1054.txt field=data === End of file test1054.txt === Start of file valgrind1054 ==133278== ==133278== Process terminating with default action of signal 4 (SIGILL) ==133278== Illegal opcode at address 0x4013E00 ==133278== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133278== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133278== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133278== by 0x40037A4: 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/8/valgrind1053 ../src/curl -q --output log/8/curl1053.out --include --trace-ascii log/8/trace1053 --trace-time http://127.0.0.1:43853/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/8/test1053.txt > log/8/stdout1053 2> log/8/stderr1053 1053: 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 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/8/valgrind1053 ../src/curl -q --output log/8/curl1053.out --include --trace-ascii log/8/trace1053 --trace-time http://127.0.0.1:43853/we/want/1053 -L -F name=daniel -F tool=curl -F file=@log/8/test1053.txt > log/8/stdout1053 2> log/8/stderr1053 === End of file commands.log === Start of file http_server.log 19:01:27.422141 ====> Client connect 19:01:27.422181 accept_connection 3 returned 4 19:01:27.422200 accept_connection 3 returned 0 19:01:27.422217 Read 93 bytes 19:01:27.422228 Process 93 bytes request 19:01:27.422245 Got request: GET /verifiedserver HTTP/1.1 19:01:27.422256 Are-we-friendly question received 19:01:27.422282 Wrote request (93 bytes) input to log/8/server.input 19:01:27.422300 Identifying ourselves as friends 19:01:27.422359 Response sent (56 bytes) and written to log/8/server.response 19:01:27.422370 special request received, no persistency 19:01:27.422380 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 59858 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === 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 ==133256== ==133256== Process terminating with default action of signal 4 (SIGILL) ==133256== Illegal opcode at address 0x4013E00 ==133256== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133256== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133256== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133256== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1053 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/3/valgrind1055 ../src/curl -q --output log/3/curl1055.out --include --trace-ascii log/3/trace1055 --trace-time http://127.0.0.1:46261/1055 -L -T log/3/test1055.txt > log/3/stdout1055 2> log/3/stderr1055 1055: 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 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/3/valgrind1055 ../src/curl -q --output log/3/curl1055.out --include --trace-ascii log/3/trace1055 --trace-time http://127.0.0.1:46261/1055 -L -T log/3/test1055.txt > log/3/stdout1055 2> log/3/stderr1055 === End of file commands.log === Start of file ftp_server.log 19:01:27.712248 ====> Client connect 19:01:27.712466 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:27.712841 < "USER anonymous" 19:01:27.712897 > "331 We are happy you popped in![CR][LF]" 19:01:27.713147 < "PASS ftp@example.com" 19:01:27.713187 > "230 Welcome you silly person[CR][LF]" 19:01:27.713385 < "PWD" 19:01:27.713427 > "257 "/" is current directory[CR][LF]" 19:01:27.713617 < "EPSV" 19:01:27.713646 ====> Passive DATA channel requested by client 19:01:27.713661 DATA sockfilt for passive data channel starting... 19:01:27.715720 DATA sockfilt for passive data channel started (pid 133351) 19:01:27.715820 DATA sockfilt for passive data channel listens on port 36667 19:01:27.715858 > "229 Entering Passive Mode (|||36667|)[CR][LF]" 19:01:27.715875 Client has been notified that DATA conn will be accepted on port 36667 19:01:27.716113 Client connects to port 36667 19:01:27.716175 ====> Client established passive DATA connection on port 36667 19:01:27.716287 < "TYPE I" 19:01:27.716327 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:27.716905 < "SIZE verifiedserver" 19:01:27.716958 > "213 17[CR][LF]" 19:01:27.717860 < "RETR verifiedserver" 19:01:27.717908 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:27.717999 =====> Closing passive DATA connection... 19:01:27.718015 Server disconnects passive DATA connection 19:01:27.718301 Server disconnected passive DATA connection 19:01:27.718331 DATA sockfilt for passive data channel quits (pid 133351) 19:01:27.718576 DATA sockfilt for passive data channel quit (pid 133351) 19:01:27.718602 =====> Closed passive DATA connection 19:01:27.718634 > "226 File transfer complete[CR][LF]" 19:01:27.761897 < "QUIT" 19:01:27.761956 > "221 bye bye baby[CR][LF]" 19:01:27.762799 MAIN sockfilt said DISC 19:01:27.762850 ====> Client disconnected 19:01:27.762942 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:27.484142 ====> Client connect 19:01:27.484546 Received DATA (on stdin) 19:01:27.484568 > 160 bytes data, server => client 19:01:27.4845CMD (33792): ../libtool --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/valgrind1057 ../src/curl -q --output log/19/curl1057.out --include --trace-ascii log/19/trace1057 --trace-time -r -12 ftp://127.0.0.1:33175/1057 > log/19/stdout1057 2> log/19/stderr1057 83 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:27.484596 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:27.484608 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:27.484736 < 16 bytes data, client => server 19:01:27.484751 'USER anonymous\r\n' 19:01:27.484967 Received DATA (on stdin) 19:01:27.484983 > 33 bytes data, server => client 19:01:27.484997 '331 We are happy you popped in!\r\n' 19:01:27.485066 < 22 bytes data, client => server 19:01:27.485081 'PASS ftp@example.com\r\n' 19:01:27.485250 Received DATA (on stdin) 19:01:27.485264 > 30 bytes data, server => client 19:01:27.485276 '230 Welcome you silly person\r\n' 19:01:27.485335 < 5 bytes data, client => server 19:01:27.485349 'PWD\r\n' 19:01:27.485488 Received DATA (on stdin) 19:01:27.485502 > 30 bytes data, server => client 19:01:27.485515 '257 "/" is current directory\r\n' 19:01:27.485582 < 6 bytes data, client => server 19:01:27.485596 'EPSV\r\n' 19:01:27.487936 Received DATA (on stdin) 19:01:27.487950 > 39 bytes data, server => client 19:01:27.487963 '229 Entering Passive Mode (|||36667|)\r\n' 19:01:27.488079 < 8 bytes data, client => server 19:01:27.488094 'TYPE I\r\n' 19:01:27.488393 Received DATA (on stdin) 19:01:27.488412 > 33 bytes data, server => client 19:01:27.488425 '200 I modify TYPE as you wanted\r\n' 19:01:27.488829 < 21 bytes data, client => server 19:01:27.488851 'SIZE verifiedserver\r\n' 19:01:27.489019 Received DATA (on stdin) 19:01:27.489032 > 8 bytes data, server => client 19:01:27.489044 '213 17\r\n' 19:01:27.489111 < 21 bytes data, client => server 19:01:27.489128 'RETR verifiedserver\r\n' 19:01:27.490079 Received DATA (on stdin) 19:01:27.490094 > 29 bytes data, server => client 19:01:27.490107 '150 Binary junk (17 bytes).\r\n' 19:01:27.490695 Received DATA (on stdin) 19:01:27.490711 > 28 bytes data, server => client 19:01:27.490724 '226 File transfer complete\r\n' 19:01:27.533713 < 6 bytes data, client => server 19:01:27.533754 'QUIT\r\n' 19:01:27.534023 Received DATA (on stdin) 19:01:27.534040 > 18 bytes data, server => client 19:01:27.534052 '221 bye bye baby\r\n' 19:01:27.534788 ====> Client disconnect 19:01:27.535008 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:27.487468 Running IPv4 version 19:01:27.487535 Listening on port 36667 19:01:27.487569 Wrote pid 133351 to log/3/server/ftp_sockdata.pid 19:01:27.487723 Received PING (on stdin) 19:01:27.487797 Received PORT (on stdin) 19:01:27.488085 ====> Client connect 19:01:27.490140 Received DATA (on stdin) 19:01:27.490157 > 17 bytes data, server => client 19:01:27.490169 'WE ROOLZ: 80615\r\n' 19:01:27.490199 Received DISC (on stdin) 19:01:27.490212 ====> Client forcibly disconnected 19:01:27.490400 Received QUIT (on stdin) 19:01:27.490414 quits 19:01:27.490484 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:01:28.462490 ====> Client connect 19:01:28.462532 accept_connection 3 returned 4 19:01:28.462550 accept_connection 3 returned 0 19:01:28.462567 Read 93 bytes 19:01:28.462578 Process 93 bytes request 19:01:28.462593 Got request: GET /verifiedserver HTTP/1.1 19:01:28.462604 Are-we-friendly question received 19:01:28.462631 Wrote request (93 bytes) input to log/3/server.input 19:01:28.462649 Identifying ourselves as friends 19:01:28.462703 Response sent (56 bytes) and written to log/3/server.response 19:01:28.462714 special request received, no persistency 19:01:28.462725 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 42304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === 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 ==133398== ==133398== Process terminating with default action of signal 4 (SIGILL) ==133398== Illegal opcode at address 0x4013E00 ==133398== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133398== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133398== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133398== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1055 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/19/valgrind1057 ../src/curl -q --output log/19/curl1057.out --include --trace-ascii log/19/trace1057 --trace-time -r -12 ftp://127.0.0.1:33175/1057 > log/19/stdout1057 2> log/19/stderr1057 1057: 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 1057 === Start of file commands.log ../libtool --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/valgrind1057 ../src/curl -q --output log/19/curl1057.out --include --trace-ascii log/19/trace1057 --trace-time -r -12 ftp://127.0.0.1:33175/1057 > log/19/stdout1057 2> log/19/stderr1057 === End of file commands.log === Start of file ftp_server.log 19:01:28.050672 ====> Client connect 19:01:28.050845 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:28.051130 < "USER anonymous" 19:01:28.051164 > "331 We are happy you popped in![CR][LF]" 19:01:28.051338 < "PASS ftp@example.com" 19:01:28.051363 > "230 Welcome you silly person[CR][LF]" 19:01:28.051517 < "PWD" 19:01:28.051547 > "257 "/" is current directory[CR][LF]" 19:01:28.051710 < "EPSV" 19:01:28.051738 ====> Passive DATA channel requested by client 19:01:28.051753 DATA sockfilt for passive data channel starting... 19:01:28.053993 DATA sockfilt for passive data channel started (pid 133503) 19:01:28.054118 DATA sockfilt for passive data channel listens on port 36273 19:01:28.054163 > "229 Entering Passive Mode (|||36273|)[CR][LF]" 19:01:28.054184 Client has been notified that DATA conn will be accepted on port 36273 19:01:28.054564 Client connects to port 36273 19:01:28.054595 ====> Client established passive DATA connection on port 36273 19:01:28.054670 < "TYPE I" 19:01:28.054700 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:28.054859 < "SIZE verifiedserver" 19:01:28.054899 > "213 17[CR][LF]" 19:01:28.055049 < "RETR verifiedserver" 19:01:28.055080 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:28.055160 =====> Closing passive DATA connection... 19:01:28.055176 Server disconnects passive DATA connection 19:01:28.055429 Server disconnected passive DATA connection 19:01:28.055459 DATA sockfilt for passive data channel quits (pid 133503) 19:01:28.055701 DATA sockfilt for passive data channel quit (pid 133503) 19:01:28.055724 =====> Closed passive DATA connection 19:01:28.055749 > "226 File transfer complete[CR][LF]" 19:01:28.095905 < "QUIT" 19:01:28.095957 > "221 bye bye baby[CR][LF]" 19:01:28.097032 MAIN sockfilt said DISC 19:01:28.097063 ====> Client disconnected 19:01:28.097128 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:28.822596 ====> Client connect 19:01:28.822915 CMD (33792): ../libtool --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/valgrind1059 ../src/curl -q --output log/6/curl1059.out --include --trace-ascii log/6/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:41595 > log/6/stdout1059 2> log/6/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/2/valgrind1058 ../src/curl -q --output log/2/curl1058.out --include --trace-ascii log/2/trace1058 --trace-time http://127.0.0.1:44325/want/1058 -r -101 > log/2/stdout1058 2> log/2/stderr1058 Received DATA (on stdin) 19:01:28.822932 > 160 bytes data, server => client 19:01:28.822946 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:28.822958 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:28.822970 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:28.823045 < 16 bytes data, client => server 19:01:28.823058 'USER anonymous\r\n' 19:01:28.823225 Received DATA (on stdin) 19:01:28.823239 > 33 bytes data, server => client 19:01:28.823252 '331 We are happy you popped in!\r\n' 19:01:28.823303 < 22 bytes data, client => server 19:01:28.823316 'PASS ftp@example.com\r\n' 19:01:28.823420 Received DATA (on stdin) 19:01:28.823433 > 30 bytes data, server => client 19:01:28.823445 '230 Welcome you silly person\r\n' 19:01:28.823492 < 5 bytes data, client => server 19:01:28.823503 'PWD\r\n' 19:01:28.823603 Received DATA (on stdin) 19:01:28.823616 > 30 bytes data, server => client 19:01:28.823628 '257 "/" is current directory\r\n' 19:01:28.823685 < 6 bytes data, client => server 19:01:28.823697 'EPSV\r\n' 19:01:28.826245 Received DATA (on stdin) 19:01:28.826357 > 39 bytes data, server => client 19:01:28.826370 '229 Entering Passive Mode (|||36273|)\r\n' 19:01:28.826565 < 8 bytes data, client => server 19:01:28.826578 'TYPE I\r\n' 19:01:28.826756 Received DATA (on stdin) 19:01:28.826769 > 33 bytes data, server => client 19:01:28.826781 '200 I modify TYPE as you wanted\r\n' 19:01:28.826831 < 21 bytes data, client => server 19:01:28.826844 'SIZE verifiedserver\r\n' 19:01:28.826955 Received DATA (on stdin) 19:01:28.826968 > 8 bytes data, server => client 19:01:28.826979 '213 17\r\n' 19:01:28.827026 < 21 bytes data, client => server 19:01:28.827039 'RETR verifiedserver\r\n' 19:01:28.827235 Received DATA (on stdin) 19:01:28.827248 > 29 bytes data, server => client 19:01:28.827260 '150 Binary junk (17 bytes).\r\n' 19:01:28.827807 Received DATA (on stdin) 19:01:28.827821 > 28 bytes data, server => client 19:01:28.827834 '226 File transfer complete\r\n' 19:01:28.867795 < 6 bytes data, client => server 19:01:28.867822 'QUIT\r\n' 19:01:28.868178 Received DATA (on stdin) 19:01:28.868197 > 18 bytes data, server => client 19:01:28.868210 '221 bye bye baby\r\n' 19:01:28.869036 ====> Client disconnect 19:01:28.869190 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:28.825697 Running IPv4 version 19:01:28.825756 Listening on port 36273 19:01:28.825797 Wrote pid 133503 to log/19/server/ftp_sockdata.pid 19:01:28.825993 Received PING (on stdin) 19:01:28.826074 Received PORT (on stdin) 19:01:28.826535 ====> Client connect 19:01:28.827285 Received DATA (on stdin) 19:01:28.827299 > 17 bytes data, server => client 19:01:28.827311 'WE ROOLZ: 80854\r\n' 19:01:28.827339 Received DISC (on stdin) 19:01:28.827351 ====> Client forcibly disconnected 19:01:28.827526 Received QUIT (on stdin) 19:01:28.827539 quits 19:01:28.827600 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1057 === End of file server.cmd === Start of file valgrind1057 ==133537== ==133537== Process terminating with default action of signal 4 (SIGILL) ==133537== Illegal opcode at address 0x4013E00 ==133537== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133537== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133537== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133537== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1057 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/6/valgrind1059 ../src/curl -q --output log/6/curl1059.out --include --trace-ascii log/6/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:41595 > log/6/stdout1059 2> log/6/stderr1059 1059: 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 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/6/valgrind1059 ../src/curl -q --output log/6/curl1059.out --include --trace-ascii log/6/trace1059 --trace-time ftp://test-number:1059/wanted/page -p -x 127.0.0.1:41595 > log/6/stdout1059 2> log/6/stderr1059 === End of file commands.log === Start of file http_server.log 19:01:27.883836 ====> Client connect 19:01:27.883877 accept_connection 3 returned 4 19:01:27.883898 accept_connection 3 returned 0 19:01:27.883915 Read 93 bytes 19:01:27.883927 Process 93 bytes request 19:01:27.883942 Got request: GET /verifiedserver HTTP/1.1 19:01:27.883953 Are-we-friendly question received 19:01:27.883983 Wrote request (93 bytes) input to log/6/server.input 19:01:27.884003 Identifying ourselves as friends 19:01:27.884072 Response sent (56 bytes) and written to log/6/server.response 19:01:27.884085 special request received, no persistency 19:01:27.884504 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 48984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1059 ==133573== ==133573== Process terminating with default action of signal 4 (SIGILL) ==133573== Illegal opcode at address 0x4013E00 ==133573== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133573== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133573== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133573== by 0x40037A4: 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/2/valgrind1058 ../src/curl -q --output log/2/curl1058.out --include --trace-ascii log/2/trace1058 --trace-time http://127.0.0.1:44325/want/1058 -r -101 > log/2/stdout1058 2> log/2/stderr1058 1058: 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 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/2/valgrind1058 ../src/curl -q --output log/2/curl1058.out --include --trace-ascii log/2/trace1058 --trace-time http://127.0.0.1:44325/want/1058 -r -101 > log/2/stdout1058 2> log/2/stderr1058 === End of file commands.log === Start of file http_server.log 19:01:28.878718 ====> Client connect 19:01:28.878752 accept_connection 3 returned 4 19:01:28.878770 accept_connection 3 returned 0 19:01:28.878786 Read 93 bytes 19:01:28.878797 Process 93 bytes request 19:01:28.878812 Got request: GET /verifiedserver HTTP/1.1 19:01:28.878823 Are-we-friendly question received 19:01:28.878847 Wrote request (93 bytes) input to log/2/server.input 19:01:28.878869 Identifying ourselves as friends 19:01:28.878928 Response sent (56 bytes) and written to log/2/server.response 19:01:28.878940 special request received, no persistency 19:01:28.878950 ====> 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/4/valgrind1060 ../src/curl -q --output log/4/curl1060.out --include --trace-ascii log/4/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:37985 --proxy-user silly:person --proxy-digest --proxytunnel > log/4/stdout1060 2> log/4/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/12/valgrind1063 ../src/curl -q --output log/12/curl1063.out --include --trace-ascii log/12/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/12/test1063.txt > log/12/stdout1063 2> log/12/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/24/valgrind1064 ../src/curl -q --include --trace-ascii log/24/trace1064 --trace-time -H "Expect:" -T log/24/1064 http://127.0.0.1:39383/1064.upload1 -T log/24/1064 http://127.0.0.1:39383/10640002.upload2 > log/24/stdout1064 2> log/24/stderr1064 CMD (33792): ../libtool --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/valgrind1065 ../src/curl -q --include --trace-ascii log/1/trace1065 --trace-time -H "Expect:" -T log/1/1065 http://127.0.0.1:40353/1065.upload1 http://127.0.0.1:40353/10650002.url2 > log/1/stdout1065 2> log/1/stderr1065 connect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 49626 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind1058 ==133553== ==133553== Process terminating with default action of signal 4 (SIGILL) ==133553== Illegal opcode at address 0x4013E00 ==133553== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133553== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133553== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133553== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1058 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/4/valgrind1060 ../src/curl -q --output log/4/curl1060.out --include --trace-ascii log/4/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:37985 --proxy-user silly:person --proxy-digest --proxytunnel > log/4/stdout1060 2> log/4/stderr1060 1060: 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 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/4/valgrind1060 ../src/curl -q --output log/4/curl1060.out --include --trace-ascii log/4/trace1060 --trace-time http://test.remote.haxx.se.1060:8990/path/10600002 --proxy http://127.0.0.1:37985 --proxy-user silly:person --proxy-digest --proxytunnel > log/4/stdout1060 2> log/4/stderr1060 === End of file commands.log === Start of file http_server.log 19:01:28.921231 ====> Client connect 19:01:28.921262 accept_connection 3 returned 4 19:01:28.921279 accept_connection 3 returned 0 19:01:28.921294 Read 93 bytes 19:01:28.921305 Process 93 bytes request 19:01:28.921320 Got request: GET /verifiedserver HTTP/1.1 19:01:28.921330 Are-we-friendly question received 19:01:28.921355 Wrote request (93 bytes) input to log/4/server.input 19:01:28.921373 Identifying ourselves as friends 19:01:28.921425 Response sent (56 bytes) and written to log/4/server.response 19:01:28.921436 special request received, no persistency 19:01:28.921446 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 37352 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind1060 ==133701== ==133701== Process terminating with default action of signal 4 (SIGILL) ==133701== Illegal opcode at address 0x4013E00 ==133701== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133701== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133701== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133701== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1060 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/12/valgrind1063 ../src/curl -q --output log/12/curl1063.out --include --trace-ascii log/12/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/12/test1063.txt > log/12/stdout1063 2> log/12/stderr1063 curl returned 132, when expecting 36 1063: exit FAILED == Contents of files in the log/12/ 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/12/valgrind1063 ../src/curl -q --output log/12/curl1063.out --include --trace-ascii log/12/trace1063 --trace-time -r 4294967303- file://localhost/startdir/src/build-curl/tests/log/12/test1063.txt > log/12/stdout1063 2> log/12/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 ==133793== ==133793== Process terminating with default action of signal 4 (SIGILL) ==133793== Illegal opcode at address 0x4013E00 ==133793== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133793== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133793== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133793== by 0x40037A4: 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/21/valgrind1061 ../src/curl -q --output log/21/curl1061.out --include --trace-ascii log/21/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:35043 --proxy-user silly:person --proxy-digest --proxytunnel > log/21/stdout1061 2> log/21/stderr1061 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/24/valgrind1064 ../src/curl -q --include --trace-ascii log/24/trace1064 --trace-time -H "Expect:" -T log/24/1064 http://127.0.0.1:39383/1064.upload1 -T log/24/1064 http://127.0.0.1:39383/10640002.upload2 > log/24/stdout1064 2> log/24/stderr1064 1064: stdout FAILED: --- log/24/check-expected 2025-11-13 19:01:29.322724829 +0000 +++ log/24/check-generated 2025-11-13 19:01:29.322724829 +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/24/ 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/24/valgrind1064 ../src/curl -q --include --trace-ascii log/24/trace1064 --trace-time -H "Expect:" -T log/24/1064 http://127.0.0.1:39383/1064.upload1 -T log/24/1064 http://127.0.0.1:39383/10640002.upload2 > log/24/stdout1064 2> log/24/stderr1064 === End of file commands.log === Start of file http_server.log 19:01:28.057695 ====> Client connect 19:01:28.057729 accept_connection 3 returned 4 19:01:28.057747 accept_connection 3 returned 0 19:01:28.057762 Read 93 bytes 19:01:28.057774 Process 93 bytes request 19:01:28.057788 Got request: GET /verifiedserver HTTP/1.1 19:01:28.057798 Are-we-friendly question received 19:01:28.057824 Wrote request (93 bytes) input to log/24/server.input 19:01:28.057842 Identifying ourselves as friends 19:01:28.057898 Response sent (56 bytes) and written to log/24/server.response 19:01:28.057910 special request received, no persistency 19:01:28.057921 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54148 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind1064 ==133880== ==133880== Process terminating with default action of signal 4 (SIGILL) ==133880== Illegal opcode at address 0x4013E00 ==133880== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133880== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133880== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133880== by 0x40037A4: 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/18/valgrind1062 ../src/curl -q --output log/18/curl1062.out --include --trace-ascii log/18/trace1062 --trace-time ftp://127.0.0.1:38611/path/1062 > log/18/stdout1062 2> log/18/stderr1062 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/1/valgrind1065 ../src/curl -q --include --trace-ascii log/1/trace1065 --trace-time -H "Expect:" -T log/1/1065 http://127.0.0.1:40353/1065.upload1 http://127.0.0.1:40353/10650002.url2 > log/1/stdout1065 2> log/1/stderr1065 1065: stdout FAILED: --- log/1/check-expected 2025-11-13 19:01:29.332724829 +0000 +++ log/1/check-generated 2025-11-13 19:01:29.332724829 +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/1/ 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/1/valgrind1065 ../src/curl -q --include --trace-ascii log/1/trace1065 --trace-time -H "Expect:" -T log/1/1065 http://127.0.0.1:40353/1065.upload1 http://127.0.0.1:40353/10650002.url2 > log/1/stdout1065 2> log/1/stderr1065 === End of file commands.log === Start of file http_server.log 19:01:28.060959 ====> Client connect 19:01:28.060994 accept_connection 3 returned 4 19:01:28.061013 accept_connection 3 returned 0 19:01:28.061029 Read 93 bytes 19:01:28.061041 Process 93 bytes request 19:01:28.061055 Got request: GET /verifiedserver HTTP/1.1 19:01:28.061066 Are-we-friendly question received 19:01:28.061092 Wrote request (93 bytes) input to log/1/server.input 19:01:28.061110 Identifying ourselves as friends 19:01:28.061168 Response sent (56 bytes) and written to log/1/server.response 19:01:28.061180 special request received, no persistency 19:01:28.061191 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 57266 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1065 ==133890== ==133890== Process terminating with default action of signal 4 (SIGILL) ==133890== Illegal opcode at address 0x4013E00 ==133890== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133890== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133890== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133890== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1065 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/21/valgrind1061 ../src/curl -q --output log/21/curl1061.out --include --trace-ascii log/21/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:35043 --proxy-user silly:person --proxy-digest --proxytunnel > log/21/stdout1061 2> log/21/stderr1061 1061: 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 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/21/valgrind1061 ../src/curl -q --output log/21/curl1061.out --include --trace-ascii log/21/trace1061 --trace-time http://test.remote.haxx.se.1061:8990/path/10610002 --proxy http://127.0.0.1:35043 --proxy-user silly:person --proxy-digest --proxytunnel > log/21/stdout1061 2> log/21/stderr1061 === End of file commands.log === Start of file http_server.log 19:01:28.020851 ====> Client connect 19:01:28.020887 accept_connection 3 returned 4 19:01:28.020904 accept_connection 3 returned 0 19:01:28.020919 Read 93 bytes 19:01:28.020929 Process 93 bytes request 19:01:28.020942 Got request: GET /verifiedserver HTTP/1.1 19:01:28.020952 Are-we-friendly question received 19:01:28.020993 Wrote request (93 bytes) input to log/21/server.input 19:01:28.021010 Identifying ourselves as friends 19:01:28.021060 Response sent (56 bytes) and written to log/21/server.response 19:01:28.021071 special request received, no persistency 19:01:28.021081 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 39386 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind1061 ==133807== ==133807== Process terminating with default action of signal 4 (SIGILL) ==133807== Illegal opcode at address 0x4013E00 ==133807== at 0x4013E00: getparameter (tool_getparam.c:2846) ==133807== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==133807== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==133807== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1061 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/18/valgrind1062 ../src/curl -q --output log/18/curl1062.out --include --trace-ascii log/18/trace1062 --trace-time ftp://127.0.0.1:38611/path/1062 > log/18/stdout1062 2> log/18/stderr1062 1062: 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 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/18/valgrind1062 ../src/curl -q --output log/18/curl1062.out --include --trace-ascii log/18/trace1062 --trace-time ftp://127.0.0.1:38611/path/1062 > log/18/stdout1062 2> log/18/stderr1062 === End of file commands.log === Start of file ftp_server.log 19:01:28.277596 ====> Client connect 19:01:28.277792 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:28.278145 < "USER anonymous" 19:01:28.278197 > "331 We are happy you popped in![CR][LF]" 19:01:28.278413 < "PASS ftp@example.com" 19:01:28.278454 > "230 Welcome you silly person[CR][LF]" 19:01:28.278648 < "PWD" 19:01:28.278691 > "257 "/" is current directory[CR][LF]" 19:01:28.278975 < "EPSV" 19:01:28.279006 ====> Passive DATA channel requested by client 19:01:28.279022 DATA sockfilt for passive data channel starting... 19:01:28.281264 DATA sockfilt for passive data channel started (pid 133828) 19:01:28.281401 DATA sockfilt for passive data channel listens on port 46481 19:01:28.281453 > "229 Entering Passive Mode (|||46481|)[CR][LF]" 19:01:28.281476 Client has been notified that DATA conn will be accepted on port 46481 19:01:28.281764 Client connects to port 46481 19:01:28.281802 ====> Client established passive DATA connection on port 46481 19:01:28.281893 < "TYPE I" 19:01:28.281925 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:28.282120 < "SIZE verifiedserver" 19:01:28.282166 > "213 17[CR][LF]" 19:01:28.282348 < "RETR verifiedserver" 19:01:28.282386 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:28.282480 =====> Closing passive DATA connection... 19:01:28.282500 Server disconnects passive DATA connection 19:01:28.282776 Server disconnected passive DATA connection 19:01:28.282810 DATA sockfilt for passive data channel quits (pid 133828) 19:01:28.283070 DATA sockfilt for passive data channel quit (pid 133828) 19:01:28.283101 =====> Closed passive DATA connection 19:01:28.283133 > "226 File transfer complete[CR][LF]" 19:01:28.329390 < "QUIT" 19:01:28.329473 > "221 bye bye baby[CR][LF]" 19:01:28.329879 MAIN sockfilt said DISC 19:01:28.329943 ====> Client disconnected 19:01:28.330076 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:29.049514 ====> Client connect 19:01:29.049874 Received DATA (on stdin) 19:01:29.049895 > 160 bytes data, server => client 19:01:29.049910 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:29.049922 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:29.049934 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:29.050030 < 16 bytes data, client => server 19:01:29.050047 'USER anonymous\r\n' 19:01:29.050264 Received DATA (on stdin) 19:01:29.050280 > 33 bytes data, server => client 19:01:29.050293 '331 We are happy you popped in!\r\n' 19:01:29.050351 < 22 bytes data, client => server 19:01:29.050367 'PASS ftp@example.com\r\n' 19:01:29.050516 Received DATA (on stdin) 19:01:29.050530 > 30 bytes data, server => client 19:01:29.050543 '230 Welcome you silly person\r\n' 19:01:29.050599 < 5 bytes data, client => server 19:01:29.050614 'PWD\r\n' 19:01:29.050752 Received DATA (on stdin) 19:01:29.050834 > 30 bytes data, server => client 19:01:29.050847 '257 "/" is current directory\r\n' 19:01:29.050917 < 6 bytes data, client => server 19:01:29.050932 'EPSV\r\n' 19:01:29.053543 Received DATA (on stdin) 19:01:29.053561 > 39 bytes data, server => client 19:01:29.053575 '229 Entering Passive Mode (|||46481|)\r\n' 19:01:29.053762 < 8 bytes data, client => server 19:01:29.053776 'TYPE I\r\n' 19:01:29.053985 Received DATA (on stdin) 19:01:29.054000 > 33 bytes data, server => client 19:01:29.054013 '200 I modify TYPE as you wanted\r\n' 19:01:29.054068 < 21 bytes data, client => server 19:01:29.054085 'SIZE verifiedserver\r\n' 19:01:29.054226 Received DATA (on stdin) 19:01:29.054241 > 8 bytes data, server => client 19:01:29.054253 '213 17\r\n' 19:01:29.054308 < 21 bytes data, client => server 19:01:29.054324 'RETR verifiedserver\r\n' 19:01:29.054562 Received DATA (on stdin) 19:01:29.054577 > 29 bytes data, server => client 19:01:29.054589 '150 Binary junk (17 bytes).\r\n' 19:01:29.055196 Received DATA (on stdin) 19:01:29.055216 > 28 bytes data, server => client 19:01:29.055229 '226 File transfer complete\r\n' 19:01:29.101173 < 6 bytes data, client => server 19:01:29.101224 'QUIT\r\n' 19:01:29.101548 Received DATA (on stdin) 19:01:29.101567 > 18 bytes data, server => client 19:01:29.101580 '221 bye bye baby\r\n' 19:01:29.101849 ====> Client disconnect 19:01:29.102068 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:28.052952 Running IPv4 version 19:01:28.053027 Listening on port 46481 19:01:28.053072 Wrote pid 133828 to log/18/server/ftp_sockdata.pid 19:01:28.053254 Received PING (on stdin) 19:01:28.053353 Received PORT (on stdin) 19:01:28.053729 ====> Client connect 19:01:28.054618 Received DATA (on stdin) 19:01:28.054634 > 17 bytes data, server => client 19:01:28.054646 'WE ROOLZ: 80927\r\n' 19:01:28.054675 Received DISC (on stdin) 19:01:28.054688 ====> Client forcibly disconnected 19:01:28.054883 Received QUIT (on stdin) 19:01:28.054898 quits 19:01:28.054977 ============> 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-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMD (33792): ../libtool --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/valgrind1066 ../src/curl -q --include --trace-ascii log/15/trace1066 --trace-time http://127.0.0.1:44531/want/1066 http://127.0.0.1:44531/want/10660001 --dump-header - > log/15/stdout1066 2> log/15/stderr1066 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\r\n250-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 ==134017== ==134017== Process terminating with default action of signal 4 (SIGILL) ==134017== Illegal opcode at address 0x4013E00 ==134017== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134017== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134017== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134017== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1062 CMD (33792): ../libtool --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/valgrind1046 ../src/curl -q --output log/20/curl1046.out --include --trace-ascii log/20/trace1046 --trace-time -g "http://[::1]:37893/1046" --interface ::1 > log/20/stdout1046 2> log/20/stderr1046 CMD (33792): ../libtool --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/valgrind1069 ../src/curl -q --output log/7/curl1069.out --include --trace-ascii log/7/trace1069 --trace-time http://127.0.0.1:41017/bzz/1069 -T - -0 log/7/stdout1069 2> log/7/stderr1069 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/15/valgrind1066 ../src/curl -q --include --trace-ascii log/15/trace1066 --trace-time http://127.0.0.1:44531/want/1066 http://127.0.0.1:44531/want/10660001 --dump-header - > log/15/stdout1066 2> log/15/stderr1066 1066: stdout FAILED: --- log/15/check-expected 2025-11-13 19:01:29.416058163 +0000 +++ log/15/check-generated 2025-11-13 19:01:29.416058163 +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/15/ 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/15/valgrind1066 ../src/curl -q --include --trace-ascii log/15/trace1066 --trace-time http://127.0.0.1:44531/want/1066 http://127.0.0.1:44531/want/10660001 --dump-header - > log/15/stdout1066 2> log/15/stderr1066 === End of file commands.log === Start of file http_server.log 19:01:28.105651 ====> Client connect 19:01:28.105686 accept_connection 3 returned 4 19:01:28.105704 accept_connection 3 returned 0 19:01:28.105719 Read 93 bytes 19:01:28.105730 Process 93 bytes request 19:01:28.105745 Got request: GET /verifiedserver HTTP/1.1 19:01:28.105756 Are-we-friendly question received 19:01:28.105779 Wrote request (93 bytes) input to log/15/server.input 19:01:28.105796 Identifying ourselves as friends 19:01:28.105847 Response sent (56 bytes) and written to log/15/server.response 19:01:28.105858 special request received, no persistency 19:01:28.105868 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 55682 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind1066 ==134038== ==134038== Process terminating with default action of signal 4 (SIGILL) ==134038== Illegal opcode at address 0x4013E00 ==134038== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134038== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134038== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134038== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1066 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/20/server/http_ipv6_server.pid" --logfile "log/20/http_ipv6_server.log" --logdir "log/20" --portfile log/20/server/http_ipv6_server.port --config log/20/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 132772 port 37893 * pid http-ipv6 => 132772 132772 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/20/valgrind1046 ../src/curl -q --output log/20/curl1046.out --include --trace-ascii log/20/trace1046 --trace-time -g "http://[::1]:37893/1046" --interface ::1 > log/20/stdout1046 2> log/20/stderr1046 1046: 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 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/20/valgrind1046 ../src/curl -q --output log/20/curl1046.out --include --trace-ascii log/20/trace1046 --trace-time -g "http://[::1]:37893/1046" --interface ::1 > log/20/stdout1046 2> log/20/stderr1046 === End of file commands.log === Start of file http_ipv6_server.log 19:01:27.146410 Running HTTP IPv6 version on port 37893 19:01:27.146525 Wrote pid 132772 to log/20/server/http_ipv6_server.pid 19:01:27.146562 Wrote port 37893 to log/20/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 ==134094== ==134094== Process terminating with default action of signal 4 (SIGILL) ==134094== Illegal opcode at address 0x4013E00 ==134094== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134094== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134094== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134094== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1046 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/7/valgrind1069 ../src/curl -q --output log/7/curl1069.out --include --trace-ascii log/7/trace1069 --trace-time http://127.0.0.1:41017/bzz/1069 -T - -0 log/7/stdout1069 2> log/7/stderr1069 curl returned 132, when expecting 25 1069: exit FAILED == Contents of files in the log/7/ 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/7/valgrind1069 ../src/curl -q --output log/7/curl1069.out --include --trace-ascii log/7/trace1069 --trace-time http://127.0.0.1:41017/bzz/1069 -T - -0 log/7/stdout1069 2> log/7/stderr1069 === End of file commands.log === Start of file http_server.log 19:01:28.226968 ====> Client connect 19:01:28.227005 accept_connection 3 returned 4 19:01:28.227023 accept_connection 3 returned 0 19:01:28.227040 Read 93 bytes 19:01:28.227052 Process 93 bytes request 19:01:28.227068 Got request: GET /verifiedserver HTTP/1.1 19:01:28.227079 Are-we-friendly question received 19:01:28.227107 Wrote request (93 bytes) input to log/7/server.input 19:01:28.227125 Identifying ourselves as friends 19:01:28.227185 Response sent (56 bytes) and written to log/7/server.response 19:01:28.227197 special request received, no persistency 19:01:28.227208 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 49836CMD (33792): ../libtool --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:35243/bzz/1068 -T - log/23/stdout1068 2> log/23/stderr1068 CMD (33792): ../libtool --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/valgrind1048 ../src/curl -q --output log/22/curl1048.out --include --trace-ascii log/22/trace1048 --trace-time -g "ftp://[::1]:36803/" --interface ::1 > log/22/stdout1048 2> log/22/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/5/valgrind1067 ../src/curl -q --output log/5/curl1067.out --include --trace-ascii log/5/trace1067 --trace-time http://127.0.0.1:46771/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/5/stdout1067 2> log/5/stderr1067 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === 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 ==134266== ==134266== Process terminating with default action of signal 4 (SIGILL) ==134266== Illegal opcode at address 0x4013E00 ==134266== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134266== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134266== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134266== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1069 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:35243/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:35243/bzz/1068 -T - log/23/stdout1068 2> log/23/stderr1068 === End of file commands.log === Start of file http_server.log 19:01:28.219728 ====> Client connect 19:01:28.219767 accept_connection 3 returned 4 19:01:28.219786 accept_connection 3 returned 0 19:01:28.219802 Read 93 bytes 19:01:28.219814 Process 93 bytes request 19:01:28.219827 Got request: GET /verifiedserver HTTP/1.1 19:01:28.219838 Are-we-friendly question received 19:01:28.219869 Wrote request (93 bytes) input to log/23/server.input 19:01:28.219888 Identifying ourselves as friends 19:01:28.219950 Response sent (56 bytes) and written to log/23/server.response 19:01:28.219962 special request received, no persistency 19:01:28.219973 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 40738 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === 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 ==134248== ==134248== Process terminating with default action of signal 4 (SIGILL) ==134248== Illegal opcode at address 0x4013E00 ==134248== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134248== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134248== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134248== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1068 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 36803 (log/22/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 132903 port 36803 * pid ftp-ipv6 => 132903 132903 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/22/valgrind1048 ../src/curl -q --output log/22/curl1048.out --include --trace-ascii log/22/trace1048 --trace-time -g "ftp://[::1]:36803/" --interface ::1 > log/22/stdout1048 2> log/22/stderr1048 1048: 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 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/22/valgrind1048 ../src/curl -q --output log/22/curl1048.out --include --trace-ascii log/22/trace1048 --trace-time -g "ftp://[::1]:36803/" --interface ::1 > log/22/stdout1048 2> log/22/stderr1048 === End of file commands.log === Start of file ftp_ipv6_server.log 19:01:27.493070 FTP server listens on port IPv6/36803 19:01:27.493161 logged pid 132903 in log/22/server/ftp_ipv6_server.pid 19:01:27.493189 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:01:27.264859 Running IPv6 version 19:01:27.264922 Listening on port 36803 19:01:27.264963 Wrote pid 132988 to log/22/server/ftp_ipv6_sockctrl.pid 19:01:27.264994 Wrote port 36803 to log/22/server/ftp_ipv6_server.port 19:01:27.265017 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 ==134253== ==134253== Process terminating with default action of signal 4 (SIGILL) ==134253== Illegal opcode at address 0x4013E00 ==134253== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134253== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134253== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134253== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1048 CMD (33792): ../libtool --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/valgrind1070 ../src/curl -q --output log/17/curl1070.out --include --trace-ascii log/17/trace1070 --trace-time -d @log/17/input1070 http://127.0.0.1:40515/1070 -H "Expect: 100-continue" > log/17/stdout1070 2> log/17/stderr1070 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/5/valgrind1067 ../src/curl -q --output log/5/curl1067.out --include --trace-ascii log/5/trace1067 --trace-time http://127.0.0.1:46771/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/5/stdout1067 2> log/5/stderr1067 1067: stderr FAILED: --- log/5/check-expected 2025-11-13 19:01:29.612724832 +0000 +++ log/5/check-generated 2025-11-13 19:01:29.612724832 +0000 @@ -1 +0,0 @@ -|http://127.0.0.1:46771/want/1067| == Contents of files in the log/5/ dir after test 1067 === Start of file check-expected |http://127.0.0.1:46771/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/5/valgrind1067 ../src/curl -q --output log/5/curl1067.out --include --trace-ascii log/5/trace1067 --trace-time http://127.0.0.1:46771/want/1067 --silent --location --referer "firstone.html;auto" --write-out "%{stderr}|%{referer}|" > log/5/stdout1067 2> log/5/stderr1067 === End of file commands.log === Start of file http_server.log 19:01:28.219142 ====> Client connect 19:01:28.219178 accept_connection 3 returned 4 19:01:28.219197 accept_connection 3 returned 0 19:01:28.219214 Read 93 bytes 19:01:28.219226 Process 93 bytes request 19:01:28.219242 Got request: GET /verifiedserver HTTP/1.1 19:01:28.219253 Are-we-friendly question received 19:01:28.219282 Wrote request (93 bytes) input to log/5/server.input 19:01:28.219301 Identifying ourselves as friends 19:01:28.219368 Response sent (56 bytes) and written to log/5/server.response 19:01:28.219381 special request received, no persistency 19:01:28.219392 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 50524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1067 ==134257== ==134257== Process terminating with default action of signal 4 (SIGILL) ==134257== Illegal opcode at address 0x4013E00 ==134257== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134257== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134257== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134257== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1067 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/17/valgrind1070 ../src/curl -q --output log/17/curl1070.out --include --trace-ascii log/17/trace1070 --trace-time -d @log/17/input1070 http://127.0.0.1:40515/1070 -H "Expect: 100-continue" > log/17/stdout1070 2> log/17/stderr1070 1070: 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 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/17/valgrind1070 ../src/curl -q --output log/17/curl1070.out --include --trace-ascii log/17/trace1070 --trace-time -d @log/17/input1070 http://127.0.0.1:40515/1070 -H "Expect: 100-continue" > log/17/stdout1070 2> log/17/stderr1070 === End of file commands.log === Start of file http_server.log 19:01:29.247501 ====> Client connect 19:01:29.247537 accept_connection 3 returned 4 19:01:29.247560 accept_connection 3 returned 0 19:01:29.247578 Read 93 bytes 19:01:29.247591 Process 93 bytes request 19:01:29.247606 Got request: GET /verifiedserver HTTP/1.1 19:01:29.247617 Are-we-friendly question received 19:01:29.247645 Wrote request (93 bytes) input to log/17/server.input 19:01:29.247664 Identifying ourselves as friends 19:01:29.247728 Response sent (56 bytes) and written to log/17/server.response 19:01:29.247740 special request received, no persistency 19:01:29.247750 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 57040 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start 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/11/valgrind1071 ../src/curl -q --output log/11/curl1071.out --include --trace-ascii log/11/trace1071 --trace-time http://127.0.0.1:46317/1071 -T log/11/put1071 -u testuser:testpass --anyauth > log/11/stdout1071 2> log/11/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/10/valgrind1050 ../src/curl -q --output log/10/curl1050.out --include --trace-ascii log/10/trace1050 --trace-time -g "ftp://[::1]:34573/" -P ::1 > log/10/stdout1050 2> log/10/stderr1050 CMD (33792): ../libtool --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:42747/1073 -T - -L log/16/stdout1073 2> log/16/stderr1073 ==134356== ==134356== Process terminating with default action of signal 4 (SIGILL) ==134356== Illegal opcode at address 0x4013E00 ==134356== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134356== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134356== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134356== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1070 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/11/valgrind1071 ../src/curl -q --output log/11/curl1071.out --include --trace-ascii log/11/trace1071 --trace-time http://127.0.0.1:46317/1071 -T log/11/put1071 -u testuser:testpass --anyauth > log/11/stdout1071 2> log/11/stderr1071 1071: 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 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/11/valgrind1071 ../src/curl -q --output log/11/curl1071.out --include --trace-ascii log/11/trace1071 --trace-time http://127.0.0.1:46317/1071 -T log/11/put1071 -u testuser:testpass --anyauth > log/11/stdout1071 2> log/11/stderr1071 === End of file commands.log === Start of file http_server.log 19:01:28.317183 ====> Client connect 19:01:28.317231 accept_connection 3 returned 4 19:01:28.317255 accept_connection 3 returned 0 19:01:28.317518 Read 93 bytes 19:01:28.317544 Process 93 bytes request 19:01:28.317561 Got request: GET /verifiedserver HTTP/1.1 19:01:28.317573 Are-we-friendly question received 19:01:28.317614 Wrote request (93 bytes) input to log/11/server.input 19:01:28.317636 Identifying ourselves as friends 19:01:28.317702 Response sent (56 bytes) and written to log/11/server.response 19:01:28.317715 special request received, no persistency 19:01:28.317726 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 51372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind1071 ==134508== ==134508== Process terminating with default action of signal 4 (SIGILL) ==134508== Illegal opcode at address 0x4013E00 ==134508== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134508== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134508== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134508== by 0x40037A4: 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/10/server/ftp_ipv6_server.pid" --logfile "log/10/ftp_ipv6_server.log" --logdir "log/10" --portfile "log/10/server/ftp_ipv6_server.port" --srcdir "/startdir/src/curl/tests" --proto ftp --ipv6 --port 0 --addr "[::1]" PINGPONG runs on port 34573 (log/10/server/ftp_ipv6_server.port) RUN: FTP-IPv6 server is PID 133060 port 34573 * pid ftp-ipv6 => 133060 133060 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/10/valgrind1050 ../src/curl -q --output log/10/curl1050.out --include --trace-ascii log/10/trace1050 --trace-time -g "ftp://[::1]:34573/" -P ::1 > log/10/stdout1050 2> log/10/stderr1050 1050: 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 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/10/valgrind1050 ../src/curl -q --output log/10/curl1050.out --include --trace-ascii log/10/trace1050 --trace-time -g "ftp://[::1]:34573/" -P ::1 > log/10/stdout1050 2> log/10/stderr1050 === End of file commands.log === Start of file ftp_ipv6_server.log 19:01:27.601406 FTP server listens on port IPv6/34573 19:01:27.601502 logged pid 133060 in log/10/server/ftp_ipv6_server.pid 19:01:27.601531 Awaiting input === End of file ftp_ipv6_server.log === Start of file ftp_ipv6_sockctrl.log 19:01:27.373009 Running IPv6 version 19:01:27.373129 Listening on port 34573 19:01:27.373172 Wrote pid 133110 to log/10/server/ftp_ipv6_sockctrl.pid 19:01:27.373206 Wrote port 34573 to log/10/server/ftp_ipv6_server.port 19:01:27.373368 Received PING (on stdin) === End of file ftp_ipv6_sockctrl.log === Start of file server.cmd Testnum 1050 === End of file server.cmd === Start of file valgrind1050 ==134512== ==134512== Process terminating with default action of signal 4 (SIGILL) ==134512== Illegal opcode at address 0x4013E00 ==134512== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134512== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134512== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134512== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1050 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-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:42747/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:42747/1073 -T - -L log/16/stdout1073 2> log/16/stderr1073 === End of file commands.log === Start of file http_server.log 19:01:29.456890 ====> Client connect 19:01:29.456924 accept_connection 3 returned 4 19:01:29.456942 accept_connection 3 returned 0 19:01:29.456963 Read 93 bytes 19:01:29.456973 Process 93 bytes request 19:01:29.456987 Got request: GET /verifiedserver HTTP/1.1 19:01:29.456998 Are-we-friendly question received 19:01:29.457024 Wrote request (93 bytes) input to log/16/server.input 19:01:29.457041 Identifying ourselves as friends 19:01:29.457096 Response sent (56 bytes) and written to log/16/server.response 19:01:29.457108 special request received, no persistency 19:01:29.457117 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 46542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > log/14/stdout1072 2> log/14/stderr1072 CMD (33792): ../libtool --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/valgrind1074 ../src/curl -q --include --trace-ascii log/8/trace1074 --trace-time http://127.0.0.1:43853/want/1074 http://127.0.0.1:43853/wantmore/10740001 > log/8/stdout1074 2> log/8/stderr1074 HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === 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 ==134683== ==134683== Process terminating with default action of signal 4 (SIGILL) ==134683== Illegal opcode at address 0x4013E00 ==134683== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134683== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134683== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134683== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1073 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/14/valgrind1072 ../src/curl -q --output log/14/curl1072.out --include --trace-ascii log/14/trace1072 --trace-time http://127.0.0.1:36759/1072 -T - -u testuser:testpass --anyauth log/14/stdout1072 2> log/14/stderr1072 1072: 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 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/14/valgrind1072 ../src/curl -q --output log/14/curl1072.out --include --trace-ascii log/14/trace1072 --trace-time http://127.0.0.1:36759/1072 -T - -u testuser:testpass --anyauth log/14/stdout1072 2> log/14/stderr1072 === End of file commands.log === Start of file http_server.log 19:01:28.442725 ====> Client connect 19:01:28.442763 accept_connection 3 returned 4 19:01:28.442782 accept_connection 3 returned 0 19:01:28.442798 Read 93 bytes 19:01:28.442809 Process 93 bytes request 19:01:28.442823 Got request: GET /verifiedserver HTTP/1.1 19:01:28.442833 Are-we-friendly question received 19:01:28.442860 Wrote request (93 bytes) input to log/14/server.input 19:01:28.442878 Identifying ourselves as friends 19:01:28.442939 Response sent (56 bytes) and written to log/14/server.response 19:01:28.442951 special request received, no persistency 19:01:28.442961 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 46696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === 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 ==134669== ==134669== Process terminating with default action of signal 4 (SIGILL) ==134669== Illegal opcode at address 0x4013E00 ==134669== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134669== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134669== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134669== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1072 CMD (33792): ../libtool --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:36745/1075 -T log/9/put1075 -u testuser:testpass --anyauth > log/9/stdout1075 2> log/9/stderr1075 CMD (33792): ../libtool --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/valgrind1076 ../src/curl -q --output log/3/curl1076.out --include --trace-ascii log/3/trace1076 --trace-time http://127.0.0.1:46261/blah/1076 -L -d "moo" --post302 > log/3/stdout1076 2> log/3/stderr1076 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/8/valgrind1074 ../src/curl -q --include --trace-ascii log/8/trace1074 --trace-time http://127.0.0.1:43853/want/1074 http://127.0.0.1:43853/wantmore/10740001 > log/8/stdout1074 2> log/8/stderr1074 1074: stdout FAILED: --- log/8/check-expected 2025-11-13 19:01:29.822724832 +0000 +++ log/8/check-generated 2025-11-13 19:01:29.822724832 +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/8/ 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/8/valgrind1074 ../src/curl -q --include --trace-ascii log/8/trace1074 --trace-time http://127.0.0.1:43853/want/1074 http://127.0.0.1:43853/wantmore/10740001 > log/8/stdout1074 2> log/8/stderr1074 === End of file commands.log === Start of file http_server.log 19:01:28.457345 ====> Client connect 19:01:28.457383 accept_connection 3 returned 4 19:01:28.457401 accept_connection 3 returned 0 19:01:28.457416 Read 93 bytes 19:01:28.457439 Process 93 bytes request 19:01:28.457452 Got request: GET /verifiedserver HTTP/1.1 19:01:28.457463 Are-we-friendly question received 19:01:28.457490 Wrote request (93 bytes) input to log/8/server.input 19:01:28.457508 Identifying ourselves as friends 19:01:28.457563 Response sent (56 bytes) and written to log/8/server.response 19:01:28.457574 special request received, no persistency 19:01:28.457585 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 59866 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1074 ==134709== ==134709== Process terminating with default action of signal 4 (SIGILL) ==134709== Illegal opcode at address 0x4013E00 ==134709== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134709== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134709== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134709== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1074 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:36745/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:36745/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 19:01:28.489381 ====> Client connect 19:01:28.489416 accept_connection 3 returned 4 19:01:28.489435 accept_connection 3 returned 0 19:01:28.489452 Read 93 bytes 19:01:28.489463 Process 93 bytes request 19:01:28.489477 Got request: GET /verifiedserver HTTP/1.1 19:01:28.489488 Are-we-friendly question received 19:01:28.489514 Wrote request (93 bytes) input to log/9/server.input 19:01:28.489532 Identifying ourselves as friends 19:01:28.489587 Response sent (56 bytes) and written to log/9/server.response 19:01:28.489599 special request received, no persistency 19:01:28.489610 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 38398 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind1075 ==134757== ==134757== Process terminating with default action of signal 4 (SIGILL) ==134757== Illegal opcode at address 0x4013E00 ==134757== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134757== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134757== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134757== by 0x40037A4: 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/3/valgrind1076 ../src/curl -q --output log/3/curl1076.out --include --trace-ascii log/3/trace1076 --trace-time http://127.0.0.1:46261/blah/1076 -L -d "moo" --post302 > log/3/stdout1076 2> log/3/stderr1076 1076: 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 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/3/valgrind1076 ../src/curl -q --output log/3/curl1076.out --include --trace-ascii log/3/trace1076 --trace-time http://127.0.0.1:46261/blah/1076 -L -d "moo" --post302 > log/3/stdout1076 2> log/3/stderr1076 === End of file commands.log === Start of file http_server.log 19:01:29.559669 ====> Client connect 19:01:29.559709 accept_connection 3 returned 4 19:01:29.559729 accept_connection 3 returned 0 19:01:29.559747 Read 93 bytes 19:01:29.559757 Process 93 bytes request 19:01:29.559773 Got request: GET /verifiedserver HTTP/1.1 19:01:29.559783 Are-we-friendly question received 19:01:29.559850 Wrote request (93 bytes) input to log/3/server.input 19:01:29.559871 IdentifyiCMD (33792): ../libtool --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/valgrind1056 ../src/curl -q --output log/13/curl1056.out --include --trace-ascii log/13/trace1056 --trace-time http://127.0.0.1:35301/we/are/all/twits/1056 -L > log/13/stdout1056 2> log/13/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/19/valgrind1077 ../src/curl -q --output log/19/curl1077.out --include --trace-ascii log/19/trace1077 --trace-time -x 127.0.0.1:41761 ftp://127.0.0.1:41761/we/want/that/page/1077 ftp://127.0.0.1:41761/we/want/that/page/10770002 > log/19/stdout1077 2> log/19/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/2/valgrind1079 ../src/curl -q --output log/2/curl1079.out --include --trace-ascii log/2/trace1079 --trace-time http://127.0.0.1:44325/1079 -u testuser:testpass --digest > log/2/stdout1079 2> log/2/stderr1079 ng ourselves as friends 19:01:29.559938 Response sent (56 bytes) and written to log/3/server.response 19:01:29.559950 special request received, no persistency 19:01:29.559961 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 42316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind1076 ==134886== ==134886== Process terminating with default action of signal 4 (SIGILL) ==134886== Illegal opcode at address 0x4013E00 ==134886== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134886== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134886== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134886== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1076 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 133477 port 43941 * pid http-ipv6 => 133477 133477 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/13/valgrind1056 ../src/curl -q --output log/13/curl1056.out --include --trace-ascii log/13/trace1056 --trace-time http://127.0.0.1:35301/we/are/all/twits/1056 -L > log/13/stdout1056 2> log/13/stderr1056 1056: 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 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/13/valgrind1056 ../src/curl -q --output log/13/curl1056.out --include --trace-ascii log/13/trace1056 --trace-time http://127.0.0.1:35301/we/are/all/twits/1056 -L > log/13/stdout1056 2> log/13/stderr1056 === End of file commands.log === Start of file http_ipv6_server.log 19:01:27.727374 Running HTTP IPv6 version on port 43941 19:01:27.727520 Wrote pid 133477 to log/13/server/http_ipv6_server.pid 19:01:27.727557 Wrote port 43941 to log/13/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file http_server.log 19:01:27.702912 ====> Client connect 19:01:27.702954 accept_connection 3 returned 4 19:01:27.702973 accept_connection 3 returned 0 19:01:27.702990 Read 93 bytes 19:01:27.703002 Process 93 bytes request 19:01:27.703016 Got request: GET /verifiedserver HTTP/1.1 19:01:27.703027 Are-we-friendly question received 19:01:27.703057 Wrote request (93 bytes) input to log/13/server.input 19:01:27.703077 Identifying ourselves as friends 19:01:27.703140 Response sent (56 bytes) and written to log/13/server.response 19:01:27.703153 special request received, no persistency 19:01:27.703163 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 40202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind1056 ==134946== ==134946== Process terminating with default action of signal 4 (SIGILL) ==134946== Illegal opcode at address 0x4013E00 ==134946== at 0x4013E00: getparameter (tool_getparam.c:2846) ==134946== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==134946== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==134946== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1056 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/19/valgrind1077 ../src/curl -q --output log/19/curl1077.out --include --trace-ascii log/19/trace1077 --trace-time -x 127.0.0.1:41761 ftp://127.0.0.1:41761/we/want/that/page/1077 ftp://127.0.0.1:41761/we/want/that/page/10770002 > log/19/stdout1077 2> log/19/stderr1077 1077: 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 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/19/valgrind1077 ../src/curl -q --output log/19/curl1077.out --include --trace-ascii log/19/trace1077 --trace-time -x 127.0.0.1:41761 ftp://127.0.0.1:41761/we/want/that/page/1077 ftp://127.0.0.1:41761/we/want/that/page/10770002 > log/19/stdout1077 2> log/19/stderr1077 === End of file commands.log === Start of file http_server.log 19:01:28.968050 ====> Client connect 19:01:28.968084 accept_connection 3 returned 4 19:01:28.968101 accept_connection 3 returned 0 19:01:28.968117 Read 93 bytes 19:01:28.968128 Process 93 bytes request 19:01:28.968141 Got request: GET /verifiedserver HTTP/1.1 19:01:28.968152 Are-we-friendly question received 19:01:28.968176 Wrote request (93 bytes) input to log/19/server.input 19:01:28.968194 Identifying ourselves as friends 19:01:28.968251 Response sent (56 bytes) and written to log/19/server.response 19:01:28.968264 special request received, no persistency 19:01:28.968275 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 58724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind1077 ==135096== ==135096== Process terminating with default action of signal 4 (SIGILL) ==135096== Illegal opcode at address 0x4013E00 ==135096== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135096== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135096== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135096== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1077 test 1079...[HTTP retry after closed connection and empty response] ../libtool --modCMD (33792): ../libtool --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/valgrind1078 ../src/curl -q --include --trace-ascii log/6/trace1078 --trace-time --proxy1.0 127.0.0.1:42771 -p http://127.0.0.1:41595/we/want/that/page/1078 http://127.0.0.1:41595/we/want/that/page/1078 > log/6/stdout1078 2> log/6/stderr1078 e=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1079 ../src/curl -q --output log/2/curl1079.out --include --trace-ascii log/2/trace1079 --trace-time http://127.0.0.1:44325/1079 -u testuser:testpass --digest > log/2/stdout1079 2> log/2/stderr1079 1079: 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 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/2/valgrind1079 ../src/curl -q --output log/2/curl1079.out --include --trace-ascii log/2/trace1079 --trace-time http://127.0.0.1:44325/1079 -u testuser:testpass --digest > log/2/stdout1079 2> log/2/stderr1079 === End of file commands.log === Start of file http_server.log 19:01:29.948468 ====> Client connect 19:01:29.948507 accept_connection 3 returned 4 19:01:29.948526 accept_connection 3 returned 0 19:01:29.948543 Read 93 bytes 19:01:29.948554 Process 93 bytes request 19:01:29.948571 Got request: GET /verifiedserver HTTP/1.1 19:01:29.948582 Are-we-friendly question received 19:01:29.948607 Wrote request (93 bytes) input to log/2/server.input 19:01:29.948626 Identifying ourselves as friends 19:01:29.948687 Response sent (56 bytes) and written to log/2/server.response 19:01:29.948700 special request received, no persistency 19:01:29.948710 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 49640 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind1079 ==135085== ==135085== Process terminating with default action of signal 4 (SIGILL) ==135085== Illegal opcode at address 0x4013E00 ==135085== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135085== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135085== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135085== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1079 CMD (33792): ../libtool --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/valgrind1080 ../src/curl -q --include --trace-ascii log/4/trace1080 --trace-time http://127.0.0.1:37985/we/want/our/1080 http://127.0.0.1:37985/we/want/our/1080 -w '%{redirect_url}\n' > log/4/stdout1080 2> log/4/stderr1080 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/6/valgrind1078 ../src/curl -q --include --trace-ascii log/6/trace1078 --trace-time --proxy1.0 127.0.0.1:42771 -p http://127.0.0.1:41595/we/want/that/page/1078 http://127.0.0.1:41595/we/want/that/page/1078 > log/6/stdout1078 2> log/6/stderr1078 1078: stdout FAILED: --- log/6/check-expected 2025-11-13 19:01:30.302724838 +0000 +++ log/6/check-generated 2025-11-13 19:01:30.302724838 +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/6/ 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/6/valgrind1078 ../src/curl -q --include --trace-ascii log/6/trace1078 --trace-time --proxy1.0 127.0.0.1:42771 -p http://127.0.0.1:41595/we/want/that/page/1078 http://127.0.0.1:41595/we/want/that/page/1078 > log/6/stdout1078 2> log/6/stderr1078 === End of file commands.log === Start of file http2_server.log 19:01:30.010607 ====> Client connect 19:01:30.010652 accept_connection 3 returned 4 19:01:30.010673 accept_connection 3 returned 0 19:01:30.010691 Read 93 bytes 19:01:30.010703 Process 93 bytes request 19:01:30.010718 Got request: GET /verifiedserver HTTP/1.1 19:01:30.010729 Are-we-friendly question received 19:01:30.010766 Wrote request (93 bytes) input to log/6/proxy.input 19:01:30.010792 Identifying ourselves as friends 19:01:30.010868 Response sent (57 bytes) and written to log/6/proxy.response 19:01:30.010887 special request received, no persistency 19:01:30.010898 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:42771... * Established connection to 127.0.0.1 (127.0.0.1 port 42771) from 127.0.0.1 port 44116 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42771 > User-Agent: curl/8.17.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:42771 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 103605 === End of file http2_verify.out === Start of file http_server.log 19:01:28.961802 ====> Client connect 19:01:28.961840 accept_connection 3 returned 4 19:01:28.961859 accept_connection 3 returned 0 19:01:28.961874 Read 93 bytes 19:01:28.961886 Process 93 bytes request 19:01:28.961899 Got request: GET /verifiedserver HTTP/1.1 19:01:28.961911 Are-we-friendly question received 19:01:28.961939 Wrote request (93 bytes) input to log/6/server.input 19:01:28.961957 Identifying ourselves as friends 19:01:28.962017 Response sent (56 bytes) and written to log/6/server.response 19:01:28.962030 special request received, no persistency 19:01:28.962041 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 48986 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 103605 === 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: 76270 === End of file server.response === Start of file valgrind1078 ==135169== ==135169== Process terminating with default action of signal 4 (SIGILL) ==135169== Illegal opcode at address 0x4013E00 ==135169== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135169== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135169== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135169== by 0x40037A4: 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/12/valgrind1081 ../src/curl -q --include --trace-ascii log/12/trace1081 --trace-time http://127.0.0.1:46819/we/want/our/1081 http://127.0.0.1:46819/we/want/our/10810002 -w '%{redirect_url}\n' > log/12/stdout1081 2> log/12/stderr1081 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/4/valgrind1080 ../src/curl -q --include --trace-ascii log/4/trace1080 --trace-time http://127.0.0.1:37985/we/want/our/1080 http://127.0.0.1:37985/we/want/our/1080 -w '%{redirect_url}\n' > log/4/stdout1080 2> log/4/stderr1080 1080: stdout FAILED: --- log/4/check-expected 2025-11-13 19:01:30.312724838 +0000 +++ log/4/check-generated 2025-11-13 19:01:30.309391505 +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:37985/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:37985/we/want/our/data/10800002.txt?coolsite=yes[LF] == Contents of files in the log/4/ 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:37985/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:37985/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/4/valgrind1080 ../src/curl -q --include --trace-ascii log/4/trace1080 --trace-time http://127.0.0.1:37985/we/want/our/1080 http://127.0.0.1:37985/we/want/our/1080 -w '%{redirect_url}\n' > log/4/stdout1080 2> log/4/stderr1080 === End of file commands.log === Start of file http_server.log 19:01:30.042569 ====> Client connect 19:01:30.042603 accept_connection 3 returned 4 19:01:30.042622 accept_connection 3 returned 0 19:01:30.042639 Read 93 bytes 19:01:30.042650 Process 93 bytes request 19:01:30.042664 Got request: GET /verifiedserver HTTP/1.1 19:01:30.042675 Are-we-friendly question received 19:01:30.042700 Wrote request (93 bytes) input to log/4/server.input 19:01:30.042721 Identifying ourselves as friends 19:01:30.042778 Response sent (56 bytes) and written to log/4/server.response 19:01:30.042790 special request received, no persistency 19:01:30.042800 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 37362 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind1080 ==135211== ==135211== Process terminating with default action of signal 4 (SIGILL) ==135211== Illegal opcode at address 0x4013E00 ==135211== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135211== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135211== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135211== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1080 CMD (33792): ../libtool --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/valgrind1084 ../src/curl -q --output log/1/curl1084.out --include --trace-ascii log/1/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/1/stdout1084 2> log/1/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/24/valgrind1082 ../src/curl -q --output log/24/curl1082.out --include --trace-ascii log/24/trace1082 --trace-time http://127.0.0.1:39383/1082 -4 --interface 127.0.0.1 > log/24/stdout1082 2> log/24/stderr1082 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/12/valgrind1081 ../src/curl -q --include --trace-ascii log/12/trace1081 --trace-time http://127.0.0.1:46819/we/want/our/1081 http://127.0.0.1:46819/we/want/our/10810002 -w '%{redirect_url}\n' > log/12/stdout1081 2> log/12/stderr1081 1081: stdout FAILED: --- log/12/check-expected 2025-11-13 19:01:30.346058172 +0000 +++ log/12/check-generated 2025-11-13 19:01:30.346058172 +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:46819/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/12/ 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:46819/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/12/valgrind1081 ../src/curl -q --include --trace-ascii log/12/trace1081 --trace-time http://127.0.0.1:46819/we/want/our/1081 http://127.0.0.1:46819/we/want/our/10810002 -w '%{redirect_url}\n' > log/12/stdout1081 2> log/12/stderr1081 === End of file commands.log === Start of file http_server.log 19:01:29.119342 ====> Client connect 19:01:29.119378 accept_connection 3 returned 4 19:01:29.119397 accept_connection 3 returned 0 19:01:29.119413 Read 93 bytes 19:01:29.119425 Process 93 bytes request 19:01:29.119441 Got request: GET /verifiedserver HTTP/1.1 19:01:29.119451 Are-we-friendly question received 19:01:29.119511 Wrote request (93 bytes) input to log/12/server.input 19:01:29.119532 Identifying ourselves as friends 19:01:29.119595 Response sent (56 bytes) and written to log/12/server.response 19:01:29.119609 special request received, no persistency 19:01:29.119620 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 58398 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind1081 ==135348== ==135348== Process terminating with default action of signal 4 (SIGILL) ==135348== Illegal opcode at address 0x4013E00 ==135348== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135348== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135348== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135348== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1081 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/1/valgrind1084 ../src/curl -q --output log/1/curl1084.out --include --trace-ascii log/1/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/1/stdout1084 2> log/1/stderr1084 curl returned 132, when expecting 45 1084: exit FAILED == Contents of files in the log/1/ 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/1/valgrind1084 ../src/curl -q --output log/1/curl1084.out --include --trace-ascii log/1/trace1084 --trace-time http://127.0.0.1:47/1084 --interface non-existing-host.haxx.se. > log/1/stdout1084 2> log/1/stderr1084 === End of file commands.log === Start of file server.cmd Testnum 1084 === End of file server.cmd === Start of file valgrind1084 ==135357== ==135357== Process terminating with default action of signal 4 (SIGILL) ==135357== Illegal opcode at address 0x4013E00 ==135357== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135357== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135357== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135357== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1084 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:39383/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:39383/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 19:01:29.131550 ====> Client connect 19:01:29.131587 accept_connection 3 returned 4 19:01:29.131606 accept_connection 3 returned 0 19:01:29.131622 Read 93 bytes 19:01:29.131634 Process 93 bytes request 19:01:29.131650 Got request: GET /verifiedserver HTTP/1.1 19:01:29.131661 Are-we-friendly question received 19:01:29.131688 Wrote request (93 bytes) input to log/24/server.input 19:01:29.131707 Identifying ourselves as friends 19:01:29.131766 Response sent (56 bytes) and written to log/24/server.response 19:01:29.131777 special request received, no persistency 19:01:29.131787 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54152 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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 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/18/valgrind1085 ../src/curl -q --output log/18/curl1085.out --include --trace-ascii log/18/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/18/stdout1085 2> log/18/stderr1085 CMD (33792): ../libtool --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/valgrind1087 ../src/curl -q --output log/20/curl1087.out --include --trace-ascii log/20/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:38583 --user iam:myself --location --anyauth > log/20/stdout1087 2> log/20/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/15/valgrind1086 ../src/curl -q --output log/15/curl1086.out --include --trace-ascii log/15/trace1086 --trace-time ftp://127.0.0.1:36561/1086 -m 5 > log/15/stdout1086 2> log/15/stderr1086 * kill pid for ftp-ctrl => 81096 RUN: Process with pid 81045 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/23/valgrind1089 ../src/curl -q --include --trace-ascii log/23/trace1089 --trace-time http://127.0.0.1:35243/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 ontent-Length: 17 WE ROOLZ: 74417 === End of file server.response === Start of file valgrind1082 ==135371== ==135371== Process terminating with default action of signal 4 (SIGILL) ==135371== Illegal opcode at address 0x4013E00 ==135371== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135371== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135371== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135371== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1082 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/18/valgrind1085 ../src/curl -q --output log/18/curl1085.out --include --trace-ascii log/18/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/18/stdout1085 2> log/18/stderr1085 curl returned 132, when expecting 45 1085: exit FAILED == Contents of files in the log/18/ 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/18/valgrind1085 ../src/curl -q --output log/18/curl1085.out --include --trace-ascii log/18/trace1085 --trace-time -g "http://[::1]:47/1085" --interface non-existing-host.haxx.se. > log/18/stdout1085 2> log/18/stderr1085 === End of file commands.log === Start of file server.cmd Testnum 1085 === End of file server.cmd === Start of file valgrind1085 ==135499== ==135499== Process terminating with default action of signal 4 (SIGILL) ==135499== Illegal opcode at address 0x4013E00 ==135499== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135499== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135499== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135499== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1085 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/20/valgrind1087 ../src/curl -q --output log/20/curl1087.out --include --trace-ascii log/20/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:38583 --user iam:myself --location --anyauth > log/20/stdout1087 2> log/20/stderr1087 1087: 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 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/20/valgrind1087 ../src/curl -q --output log/20/curl1087.out --include --trace-ascii log/20/trace1087 --trace-time http://first.host.it.is/we/want/that/page/10871000 -x 127.0.0.1:38583 --user iam:myself --location --anyauth > log/20/stdout1087 2> log/20/stderr1087 === End of file commands.log === Start of file http_server.log 19:01:29.223060 ====> Client connect 19:01:29.223099 accept_connection 3 returned 4 19:01:29.223120 accept_connection 3 returned 0 19:01:29.223138 Read 93 bytes 19:01:29.223150 Process 93 bytes request 19:01:29.223166 Got request: GET /verifiedserver HTTP/1.1 19:01:29.223178 Are-we-friendly question received 19:01:29.223208 Wrote request (93 bytes) input to log/20/server.input 19:01:29.223227 Identifying ourselves as friends 19:01:29.223290 Response sent (56 bytes) and written to log/20/server.response 19:01:29.223302 special request received, no persistency 19:01:29.223313 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 42450 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind1087 ==135568== ==135568== Process terminating with default action of signal 4 (SIGILL) ==135568== Illegal opcode at address 0x4013E00 ==135568== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135568== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135568== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135568== by 0x40037A4: 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/22/valgrind1090 ../src/curl -q --include --trace-ascii log/22/trace1090 --trace-time http://127.0.0.1:41061/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/22/stdout1090 2> log/22/stderr1090 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:35243/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-11-13 19:01:30.559391506 +0000 +++ log/23/check-generated 2025-11-13 19:01:30.559391506 +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:35243/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:35243/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:35243/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 19:01:29.318402 ====> Client connect 19:01:29.318440 accept_connection 3 returned 4 19:01:29.318458 accept_connection 3 returned 0 19:01:29.318475 Read 93 bytes 19:01:29.318487 Process 93 bytes request 19:01:29.318502 Got request: GET /verifiedserver HTTP/1.1 19:01:29.318513 Are-we-friendly question received 19:01:29.318543 Wrote request (93 bytes) input to log/23/server.input 19:01:29.318563 Identifying ourselves as friends 19:01:29.318627 Response sent (56 bytes) and written to log/23/server.response 19:01:29.318639 special request received, no persistency 19:01:29.318650 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 40744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind1089 ==135739== ==135739== Process terminating with default action of signal 4 (SIGILL) ==135739== Illegal opcode at address 0x4013E00 ==135739== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135739== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135739== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135739== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1089 CMD (33792): ../libtool --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/valgrind1088 ../src/curl -q --output log/7/curl1088.out --include --trace-ascii log/7/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:41017 --user iam:myself --location-trusted --anyauth > log/7/stdout1088 2> log/7/stderr1088 RUN: Process with pid 81045 gracefully died 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/22/valgrind1090 ../src/curl -q --include --trace-ascii log/22/trace1090 --trace-time http://127.0.0.1:41061/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/22/stdout1090 2> log/22/stderr1090 1090: stdout FAILED: --- log/22/check-expected 2025-11-13 19:01:30.576058173 +0000 +++ log/22/check-generated 2025-11-13 19:01:30.576058173 +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:41061/10900001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/22/ 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:41061/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/22/valgrind1090 ../src/curl -q --include --trace-ascii log/22/trace1090 --trace-time http://127.0.0.1:41061/1090 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/22/stdout1090 2> log/22/stderr1090 === End of file commands.log === Start of file http_server.log 19:01:29.319059 ====> Client connect 19:01:29.319092 accept_connection 3 returned 4 19:01:29.319109 accept_connection 3 returned 0 19:01:29.319124 Read 93 bytes 19:01:29.319135 Process 93 bytes request 19:01:29.319146 Got request: GET /verifiedserver HTTP/1.1 19:01:29.319156 Are-we-friendly question received 19:01:29.319210 Wrote request (93 bytes) input to log/22/server.input 19:01:29.319228 Identifying ourselves as friends 19:01:29.319282 Response sent (56 bytes) and written to log/22/server.response 19:01:29.319292 special request received, no persistency 19:01:29.319302 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 60744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind1090 ==135742== ==135742== Process terminating with default action of signal 4 (SIGILL) ==135742== Illegal opcode at address 0x4013E00 ==135742== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135742== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135742== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135742== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1090 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/7/valgrind1088 ../src/curl -q --output log/7/curl1088.out --include --trace-ascii log/7/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:41017 --user iam:myself --location-trusted --anyauth > log/7/stdout1088 2> log/7/stderr1088 1088: 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 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/7/valgrind1088 ../src/curl -q --output log/7/curl1088.out --include --trace-ascii log/7/trace1088 --trace-time http://first.host.it.is/we/want/that/page/10881000 -x 127.0.0.1:41017 --user iam:myself --location-trusted --anyauth > log/7/stdout1088 2> log/7/stderr1088 === End of file commands.log === Start of file http_server.log 19:01:29.308348 ====> Client connect 19:01:29.308382 accept_connection 3 returned 4 19:01:29.308399 accept_connection 3 returned 0 19:01:29.308415 Read 93 bytes 19:01:29.308427 Process 93 bytes request 19:01:29.308443 Got request: GET /verifiedserver HTTP/1.1 19:01:29.308454 Are-we-friendly question received 19:01:29.308483 Wrote request (93 bytes) input to log/7/server.input 19:01:29.308502 Identifying ourselves as friends 19:01:29.308559 Response sent (56 bytes) and written to log/7/server.response 19:01:29.308570 special request received, no persistency 19:01:29.308581 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 49846 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind1088 ==135717== ==135717== Process terminating with default action of signal 4 (SIGILL) ==135717== Illegal opcode at address 0x4013E00 ==135717== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135717== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135717== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135717== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1088 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/15/valgrind1086 ../src/curl -q --output log/15/curl1086.out --include --trace-ascii log/15/trace1086 --trace-time ftp://127.0.0.1:36561/1086 -m 5 > log/15/stdout1086 2> log/15/stderr1086 1086: 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 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/15/valgrind1086 ../src/curl -q --output log/15/curl1CMD (33792): ../libtool --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/valgrind1093 ../src/curl -q --output log/11/curl1093.out --include --trace-ascii log/11/trace1093 --trace-time "tftp://127.0.0.1:44013//1093;mode=octet" --use-ascii > log/11/stdout1093 2> log/11/stderr1093 CMD (33792): ../libtool --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/valgrind1092 ../src/curl -q --output log/17/curl1092.out --include --trace-ascii log/17/trace1092 --trace-time "ftp://127.0.0.1:40515/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:40515 > log/17/stdout1092 2> log/17/stderr1092 086.out --include --trace-ascii log/15/trace1086 --trace-time ftp://127.0.0.1:36561/1086 -m 5 > log/15/stdout1086 2> log/15/stderr1086 === End of file commands.log === Start of file ftp_server.log 19:01:29.450937 ====> Client connect 19:01:29.451116 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:29.451396 < "USER anonymous" 19:01:29.451435 > "331 We are happy you popped in![CR][LF]" 19:01:29.451595 < "PASS ftp@example.com" 19:01:29.451621 > "230 Welcome you silly person[CR][LF]" 19:01:29.451767 < "PWD" 19:01:29.451796 > "257 "/" is current directory[CR][LF]" 19:01:29.451948 < "EPSV" 19:01:29.451972 ====> Passive DATA channel requested by client 19:01:29.451986 DATA sockfilt for passive data channel starting... 19:01:29.454097 DATA sockfilt for passive data channel started (pid 135551) 19:01:29.454215 DATA sockfilt for passive data channel listens on port 40439 19:01:29.454268 > "229 Entering Passive Mode (|||40439|)[CR][LF]" 19:01:29.454291 Client has been notified that DATA conn will be accepted on port 40439 19:01:29.454547 Client connects to port 40439 19:01:29.454580 ====> Client established passive DATA connection on port 40439 19:01:29.454668 < "TYPE I" 19:01:29.454703 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:29.454886 < "SIZE verifiedserver" 19:01:29.454932 > "213 17[CR][LF]" 19:01:29.455111 < "RETR verifiedserver" 19:01:29.455152 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:29.455268 =====> Closing passive DATA connection... 19:01:29.455291 Server disconnects passive DATA connection 19:01:29.455635 Server disconnected passive DATA connection 19:01:29.455670 DATA sockfilt for passive data channel quits (pid 135551) 19:01:29.455971 DATA sockfilt for passive data channel quit (pid 135551) 19:01:29.456000 =====> Closed passive DATA connection 19:01:29.456033 > "226 File transfer complete[CR][LF]" 19:01:29.498500 < "QUIT" 19:01:29.498558 > "221 bye bye baby[CR][LF]" 19:01:29.499472 MAIN sockfilt said DISC 19:01:29.499531 ====> Client disconnected 19:01:29.499633 Awaiting input 19:01:30.546563 Failed to read input 19:01:30.546621 Error: FTP server, read zero 19:01:30.546641 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 19:01:29.222868 ====> Client connect 19:01:29.223186 Received DATA (on stdin) 19:01:29.223202 > 160 bytes data, server => client 19:01:29.223215 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:29.223226 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:29.223236 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:29.223303 < 16 bytes data, client => server 19:01:29.223316 'USER anonymous\r\n' 19:01:29.223494 Received DATA (on stdin) 19:01:29.223507 > 33 bytes data, server => client 19:01:29.223518 '331 We are happy you popped in!\r\n' 19:01:29.223567 < 22 bytes data, client => server 19:01:29.223579 'PASS ftp@example.com\r\n' 19:01:29.223676 Received DATA (on stdin) 19:01:29.223688 > 30 bytes data, server => client 19:01:29.223699 '230 Welcome you silly person\r\n' 19:01:29.223744 < 5 bytes data, client => server 19:01:29.223755 'PWD\r\n' 19:01:29.223850 Received DATA (on stdin) 19:01:29.223862 > 30 bytes data, server => client 19:01:29.223873 '257 "/" is current directory\r\n' 19:01:29.223926 < 6 bytes data, client => server 19:01:29.223938 'EPSV\r\n' 19:01:29.226357 Received DATA (on stdin) 19:01:29.226373 > 39 bytes data, server => client 19:01:29.226386 '229 Entering Passive Mode (|||40439|)\r\n' 19:01:29.226546 < 8 bytes data, client => server 19:01:29.226560 'TYPE I\r\n' 19:01:29.226763 Received DATA (on stdin) 19:01:29.226777 > 33 bytes data, server => client 19:01:29.226790 '200 I modify TYPE as you wanted\r\n' 19:01:29.226847 < 21 bytes data, client => server 19:01:29.226862 'SIZE verifiedserver\r\n' 19:01:29.226994 Received DATA (on stdin) 19:01:29.227008 > 8 bytes data, server => client 19:01:29.227020 '213 17\r\n' 19:01:29.227075 < 21 bytes data, client => server 19:01:29.227089 'RETR verifiedserver\r\n' 19:01:29.227353 Received DATA (on stdin) 19:01:29.227368 > 29 bytes data, server => client 19:01:29.227380 '150 Binary junk (17 bytes).\r\n' 19:01:29.228095 Received DATA (on stdin) 19:01:29.228111 > 28 bytes data, server => client 19:01:29.228123 '226 File transfer complete\r\n' 19:01:29.270327 < 6 bytes data, client => server 19:01:29.270356 'QUIT\r\n' 19:01:29.270625 Received DATA (on stdin) 19:01:29.270640 > 18 bytes data, server => client 19:01:29.270653 '221 bye bye baby\r\n' 19:01:29.271466 ====> Client disconnect 19:01:29.272913 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:29.225949 Running IPv4 version 19:01:29.226030 Listening on port 40439 19:01:29.226071 Wrote pid 135551 to log/15/server/ftp_sockdata.pid 19:01:29.226095 Received PING (on stdin) 19:01:29.226183 Received PORT (on stdin) 19:01:29.226514 ====> Client connect 19:01:29.227410 Received DATA (on stdin) 19:01:29.227483 > 17 bytes data, server => client 19:01:29.227497 'WE ROOLZ: 81045\r\n' 19:01:29.227531 Received DISC (on stdin) 19:01:29.227545 ====> Client forcibly disconnected 19:01:29.227746 Received QUIT (on stdin) 19:01:29.227760 quits 19:01:29.227829 ============> 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 ==135613== ==135613== Process terminating with default action of signal 4 (SIGILL) ==135613== Illegal opcode at address 0x4013E00 ==135613== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135613== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135613== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135613== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1086 test 1093...[TFTP retrieve with mode=octet] ../libtool --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/valgrind1093 ../src/curl -q --output log/11/curl1093.out --include --trace-ascii log/11/trace1093 --trace-time "tftp://127.0.0.1:44013//1093;mode=octet" --use-ascii > log/11/stdout1093 2> log/11/stderr1093 1093: 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 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/11/valgrind1093 ../src/curl -q --output log/11/curl1093.out --include --trace-ascii log/11/trace1093 --trace-time "tftp://127.0.0.1:44013//1093;mode=octet" --use-ascii > log/11/stdout1093 2> log/11/stderr1093 === End of file commands.log === Start of file server.cmd Testnum 1093 === End of file server.cmd === Start of file tftp_server.log 19:01:30.434829 trying to get file: verifiedserver mode 1 19:01:30.434860 Are-we-friendly question received 19:01:30.434877 write 19:01:30.434897 read 19:01:30.435613 read: 4 19:01:30.435673 end of one transfer === End of file tftp_server.log === Start of file valgrind1093 ==135934== ==135934== Process terminating with default action of signal 4 (SIGILL) ==135934== Illegal opcode at address 0x4013E00 ==135934== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135934== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135934== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135934== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1093 test 1092...[FTP with type=i over HTTP proxy] ../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/5/valgrind1091 ../src/curl -q --output log/5/curl1091.out --include --trace-ascii log/5/trace1091 --trace-time "ftp://127.0.0.1:41821/%2ftmp/moo/1091;type=i" --use-ascii > log/5/stdout1091 2> log/5/stderr1091 --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1092 ../src/curl -q --output log/17/curl1092.out --include --trace-ascii log/17/trace1092 --trace-time "ftp://127.0.0.1:40515/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:40515 > log/17/stdout1092 2> log/17/stderr1092 1092: 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 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/17/valgrind1092 ../src/curl -q --output log/17/curl1092.out --include --trace-ascii log/17/trace1092 --trace-time "ftp://127.0.0.1:40515/we/want/that/page/1092;type=i" --use-ascii -x 127.0.0.1:40515 > log/17/stdout1092 2> log/17/stderr1092 === End of file commands.log === Start of file http_server.log 19:01:30.438509 ====> Client connect 19:01:30.438540 accept_connection 3 returned 4 19:01:30.438559 accept_connection 3 returned 0 19:01:30.438575 Read 93 bytes 19:01:30.438586 Process 93 bytes request 19:01:30.438601 Got request: GET /verifiedserver HTTP/1.1 19:01:30.438612 Are-we-friendly question received 19:01:30.438641 Wrote request (93 bytes) input to log/17/server.input 19:01:30.438659 Identifying ourselves as friends 19:01:30.438713 Response sent (56 bytes) and written to log/17/server.response 19:01:30.438725 special request received, no persistency 19:01:30.438735 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 57050 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind1092 ==135943== ==135943== Process terminating with default action of signal 4 (SIGILL) ==135943== Illegal opcode at address 0x4013E00 ==135943== at 0x4013E00: getparameter (tool_getparam.c:2846) ==135943== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==135943== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==135943== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1092 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/5/valgrind1091 ../src/curl -q --output log/5/curl1091.out --include --trace-ascii log/5/trace1091 --trace-time "ftp://127.0.0.1:41821/%2ftmp/moo/1091;type=i" --use-ascii > log/5/stdout1091 2> log/5/stderr1091 1091: 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 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/5/valgrind1091 ../src/curl -q --output log/5/curl1091.out --include --trace-ascii log/5/trace1091 --trace-time "ftp://127.0.0.1:41821/%2ftmp/moo/1091;type=i" --use-ascii > log/5/stdout1091 2> log/5/stderr1091 === End of file commands.log === Start of file ftp_server.log 19:01:29.656510 ====> Client connect 19:01:29.656651 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:29.656915 < "USER anonymous" 19:01:29.656948 > "331 We are happy you popped in![CR][LF]" 19:01:29.657107 < "PASS ftp@example.com" 19:01:29.657133 > "230 Welcome you silly person[CR][LF]" 19:01:29.657279 < "PWD" 19:01:29.657309 > "257 "/" is current directory[CR][LF]" 19:01:29.657460 < "EPSV" 19:01:29.657483 ====> Passive DATA channel requested by client 19:01:29.657496 DATA sockfilt for passive data channel starting... 19:01:29.660357 DATA sockfilt for passive data channel started (pid 135925) 19:01:29.660470 DATA sockfilt for passive data channel listens on port 41287 19:01:29.660511 > "229 Entering Passive Mode (|||41287|)[CR][LF]" 19:01:29.660531 Client has been notified that DATA conn will be accepted on port 41287 19:01:29.660759 Client connects to port 41287 19:01:29.660797 ====> Client established passive DATA connection on port 41287 19:01:29.660877 < "TYPE I" 19:01:29.660905 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:29.661077 < "SIZE verifiedserver" 19:01:29.661113 > "213 17[CR][LF]" 19:01:29.661269 < "RETR verifiedserver" 19:01:29.661301 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:29.661381 =====> Closing passive DATA connection... 19:01:29.661398 Server disconnects passive DATA connection 19:01:29.661649 Server disconnected passive DATA connection 19:01:29.661677 DATA sockfilt for passive data channel quits (pid 135925) 19:01:29.662080 DATA sockfilt for passive data channel quit (pid 135925) 19:01:29.662112 =====> Closed passive DATA connection 19:01:29.662145 > "226 File transfer complete[CR][LF]" 19:01:29.709841 < "QUIT" 19:01:29.709903 > "221 bye bye baby[CR][LF]" 19:01:29.710836 MAIN sockfilt said DISC 19:01:29.710883 ====> Client disconnected 19:01:29.710970 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:29.428446 ====> Client connect 19:01:29.428719 Received DATA (on stdin) 19:01:29.428734 > 160 bytes data, server => client 19:01:29.428746 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:29.428758 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:29.428768 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:29.428841 < 16 bytes data, client => server 19:01:29.428853 'USER anonymous\r\n' 19:01:29.429007 Received DATA (on stdin) 19:01:29.429019 > 33 bytes data, server => client 19:01:29.429031 '331 We are happy you popped in!\r\n' 19:01:29.429080 < 22 bytes data, client => server 19:01:29.429092 'PASS ftp@example.com\r\n' 19:01:29.429187 Received DATA (on stdin) 19:01:29.429200 > 30 bytes data, server => client 19:01:29.429211 '230 Welcome you silly person\r\n' 19:01:29.429257 < 5 bytes data, client => server 19:01:29.429268 'PWD\r\n' 19:01:29.429363 Received DATA (on stdin) 19:01:29.429374 > 30 bytes data, server => client 19:01:29.429386 '257 "/" is current directory\r\n' 19:01:29.429439 < 6 bytes data, client => server 19:01:29.429450 'EPSV\r\n' 19:01:29.432593 Received DATA (on stdin) 19:01:29.432608 > 39 bytes data, server => client 19:01:29.432621 '229 Entering Passive Mode (|||41287|)\r\n' 19:01:29.432759 < 8 bytes data, client => server 19:01:29.432776 'TYPE I\r\n' 19:01:29.432964 Received DATA (on stdin) 19:01:29.432979 > 33 bytes data, server => client 19:01:29.432991 '200 I modify TYPE as you wanted\r\n' 19:01:29.433048 < 21 bytes data, client => server 19:01:29.433061 'SIZE verifiedserver\r\n' 19:01:29.433171 Received DATA (on stdin) 19:01:29.433183 > 8 bytes data, server => client 19:01:29.433195 '213 17\r\n' 19:01:29.433243 < 21 bytes data, client => server 19:01:29.433256 'RETR verifiedserver\r\n' 19:01:29.433458 Received DATA (on stdin) 19:01:29.433472 > 29 bytes data, server => client 19:01:29.433484 '150 Binary junk (17 bytes).\r\n' 19:01:29.434426 Received DATA (on stdin) 19:01:29.434469 > 28 bytes data, server => client 19:01:29.434483 '226 File transfer complete\r\n' 19:01:29.48CMD (33792): ../libtool --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/valgrind1095 ../src/curl -q --output log/16/curl1095.out --include --trace-ascii log/16/trace1095 --trace-time http://127.0.0.1:42747/1095 -u testuser:testpass --digest > log/16/stdout1095 2> log/16/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/14/valgrind1096 ../src/curl -q --output log/14/curl1096.out --include --trace-ascii log/14/trace1096 --trace-time ftp://127.0.0.1:35357/dir/1096 ftp://127.0.0.1:35357/dir/1096 > log/14/stdout1096 2> log/14/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/8/valgrind1098 ../src/curl -q --include --trace-ascii log/8/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:43853 > log/8/stdout1098 2> log/8/stderr1098 0922 < 6 bytes data, client => server 19:01:29.481166 'QUIT\r\n' 19:01:29.481970 Received DATA (on stdin) 19:01:29.481989 > 18 bytes data, server => client 19:01:29.482003 '221 bye bye baby\r\n' 19:01:29.482826 ====> Client disconnect 19:01:29.483035 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:29.432152 Running IPv4 version 19:01:29.432217 Listening on port 41287 19:01:29.432255 Wrote pid 135925 to log/5/server/ftp_sockdata.pid 19:01:29.432342 Received PING (on stdin) 19:01:29.432437 Received PORT (on stdin) 19:01:29.432763 ====> Client connect 19:01:29.433510 Received DATA (on stdin) 19:01:29.433524 > 17 bytes data, server => client 19:01:29.433537 'WE ROOLZ: 80429\r\n' 19:01:29.433562 Received DISC (on stdin) 19:01:29.433575 ====> Client forcibly disconnected 19:01:29.433742 Received QUIT (on stdin) 19:01:29.433754 quits 19:01:29.433817 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1091 === End of file server.cmd === Start of file valgrind1091 ==136021== ==136021== Process terminating with default action of signal 4 (SIGILL) ==136021== Illegal opcode at address 0x4013E00 ==136021== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136021== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136021== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136021== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1091 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/16/valgrind1095 ../src/curl -q --output log/16/curl1095.out --include --trace-ascii log/16/trace1095 --trace-time http://127.0.0.1:42747/1095 -u testuser:testpass --digest > log/16/stdout1095 2> log/16/stderr1095 1095: 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 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/16/valgrind1095 ../src/curl -q --output log/16/curl1095.out --include --trace-ascii log/16/trace1095 --trace-time http://127.0.0.1:42747/1095 -u testuser:testpass --digest > log/16/stdout1095 2> log/16/stderr1095 === End of file commands.log === Start of file http_server.log 19:01:30.535542 ====> Client connect 19:01:30.535581 accept_connection 3 returned 4 19:01:30.535599 accept_connection 3 returned 0 19:01:30.535615 Read 93 bytes 19:01:30.535626 Process 93 bytes request 19:01:30.535639 Got request: GET /verifiedserver HTTP/1.1 19:01:30.535649 Are-we-friendly question received 19:01:30.535673 Wrote request (93 bytes) input to log/16/server.input 19:01:30.535689 Identifying ourselves as friends 19:01:30.535759 Response sent (56 bytes) and written to log/16/server.response 19:01:30.535770 special request received, no persistency 19:01:30.535779 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 46556 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind1095 ==136113== ==136113== Process terminating with default action of signal 4 (SIGILL) ==136113== Illegal opcode at address 0x4013E00 ==136113== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136113== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136113== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136113== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1095 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/14/valgrind1096 ../src/curl -q --output log/14/curl1096.out --include --trace-ascii log/14/trace1096 --trace-time ftp://127.0.0.1:35357/dir/1096 ftp://127.0.0.1:35357/dir/1096 > log/14/stdout1096 2> log/14/stderr1096 1096: 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 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/14/valgrind1096 ../src/curl -q --output log/14/curl1096.out --include --trace-ascii log/14/trace1096 --trace-time ftp://127.0.0.1:35357/dir/1096 ftp://127.0.0.1:35357/dir/1096 > log/14/stdout1096 2> log/14/stderr1096 === End of file commands.log === Start of file ftp_server.log 19:01:29.766519 ====> Client connect 19:01:29.766653 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:29.766883 < "USER anonymous" 19:01:29.766912 > "331 We are happy you popped in![CR][LF]" 19:01:29.767046 < "PASS ftp@example.com" 19:01:29.767065 > "230 Welcome you silly person[CR][LF]" 19:01:29.767184 < "PWD" 19:01:29.767209 > "257 "/" is current directory[CR][LF]" 19:01:29.767336 < "EPSV" 19:01:29.767355 ====> Passive DATA channel requested by client 19:01:29.767366 DATA sockfilt for passive data channel starting... 19:01:29.768956 DATA sockfilt for passive data channel started (pid 136110) 19:01:29.769076 DATA sockfilt for passive data channel listens on port 38645 19:01:29.769151 > "229 Entering Passive Mode (|||38645|)[CR][LF]" 19:01:29.769194 Client has been notified that DATA conn will be accepted on port 38645 19:01:29.769460 Client connects to port 38645 19:01:29.769491 ====> Client established passive DATA connection on port 38645 19:01:29.769614 < "TYPE I" 19:01:29.769647 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:29.769811 < "SIZE verifiedserver" 19:01:29.769848 > "213 17[CR][LF]" 19:01:29.770008 < "RETR verifiedserver" 19:01:29.770072 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:29.770153 =====> Closing passive DATA connection... 19:01:29.770170 Server disconnects passive DATA connection 19:01:29.770416 Server disconnected passive DATA connection 19:01:29.770444 DATA sockfilt for passive data channel quits (pid 136110) 19:01:29.770652 DATA sockfilt for passive data channel quit (pid 136110) 19:01:29.770676 =====> Closed passive DATA connection 19:01:29.770700 > "226 File transfer complete[CR][LF]" 19:01:29.815009 < "QUIT" 19:01:29.815068 > "221 bye bye baby[CR][LF]" 19:01:29.816144 MAIN sockfilt said DISC 19:01:29.816187 ====> Client disconnected 19:01:29.816272 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:30.538476 ====> Client connect 19:01:30.538716 Received DATA (on stdin) 19:01:30.538729 > 160 bytes data, server => client 19:01:30.538739 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:30.538749 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:30.538758 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:30.538814 < 16 bytes data, client => server 19:01:30.538824 'USER anonymous\r\n' 19:01:30.538967 Received DATA (on stdin) 19:01:30.538978 > 33 bytes data, server => client 19:01:30.538987 '331 We are happy you popped in!\r\n' 19:01:30.539029 < 22 bytes data, client => server 19:01:30.539039 'PASS ftp@example.com\r\n' 19:01:30.539117 Received DATA (on stdin) 19:01:30.539127 > 30 bytes data, server => client 19:01:30.539136 '230 Welcome you silly person\r\n' 19:01:30.539173 < 5 bytes data, client => server 19:01:30.539182 'PWD\r\n' 19:01:30.539260 Received DATA (on stdin) 19:01:30.539270 > 30 bytes data, server => client 19:01:30.539279 '257 "/" is current directory\r\n' 19:01:30.539324 < 6 bytes data, client => server 19:01:30.539334 'EPSV\r\n' 19:01:30.541261 Received DATA (on stdin) 19:01:30.541277 > 39 bytes data, server => client 19:01:30.541311 '229 Entering Passive Mode (|||38645|)\r\n' 19:01:30.541565 < 8 bytes data, client => server 19:01:30.541579 'TYPE I\r\n' 19:01:30.541705 Received DATA (on stdin) 19:01:30.541718 > 33 bytes data, server => client 19:01:30.541730 '200 I modify TYPE as you wanted\r\n' 19:01:30.541783 < 21 bytes data, client => server 19:01:30.541796 'SIZE verifiedserver\r\n' 19:01:30.541905 Received DATA (on stdin) 19:01:30.541918 > 8 bytes data, server => client 19:01:30.541930 '213 17\r\n' 19:01:30.541979 < 21 bytes data, client => server 19:01:30.541992 'RETR verifiedserver\r\n' 19:01:30.542230 Received DATA (on stdin) 19:01:30.542244 > 29 bytes data, server => client 19:01:30.542257 '150 Binary junk (17 bytes).\r\n' 19:01:30.542758 Received DATA (on stdin) 19:01:30.542773 > 28 bytes data, server => client 19:01:30.542785 '226 File transfer complete\r\n' 19:01:30.586863 < 6 bytes data, client => server 19:01:30.586893 'QUIT\r\n' 19:01:30.587133 Received DATA (on stdin) 19:01:30.587148 > 18 bytes data, server => client 19:01:30.587161 '221 bye bye baby\r\n' 19:01:30.588138 ====> Client disconnect 19:01:30.588332 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:29.540696 Running IPv4 version 19:01:29.540762 Listening on port 38645 19:01:29.540799 Wrote pid 136110 to log/14/server/ftp_sockdata.pid 19:01:29.540952 Received PING (on stdin) 19:01:29.541044 Received PORT (on stdin) 19:01:29.541463 ====> Client connect 19:01:29.542284 Received DATA (on stdin) 19:01:29.542299 > 17 bytes data, server => client 19:01:29.542311 'WE ROOLZ: 80651\r\n' 19:01:29.542336 Received DISC (on stdin) 19:01:29.542348 ====> Client forcibly disconnected 19:01:29.542509 Received QUIT (on stdin) 19:01:29.542522 quits 19:01:29.542577 ============> 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 ==136165== ==136165== Process terminating with default action of signal 4 (SIGILL) ==136165== Illegal opcode at address 0x4013E00 ==136165== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136165== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136165== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136165== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1096 CMD (33792): ../libtool --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/valgrind1101 ../src/curl -q --output log/3/curl1101.out --include --trace-ascii log/3/trace1101 --trace-time http://user:secret@127.0.0.1:46261/gimme/1101 > log/3/stdout1101 2> log/3/stderr1101 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1119.pl /startdir/src/curl/tests/.. ../include/curl > log/5/stdout1119 2> log/5/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/13/valgrind1102 ../src/curl -q --output log/13/curl1102.out --include --trace-ascii log/13/trace1102 --trace-time ftp://127.0.0.1:40887/1102 > log/13/stdout1102 2> log/13/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/8/valgrind1098 ../src/curl -q --include --trace-ascii log/8/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:43853 > log/8/stdout1098 2> log/8/stderr1098 1098: stdout FAILED: --- log/8/check-expected 2025-11-13 19:01:30.879391510 +0000 +++ log/8/check-generated 2025-11-13 19:01:30.879391510 +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/8/ 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/8/valgrind1098 ../src/curl -q --include --trace-ascii log/8/trace1098 --trace-time ftp://ftp-site/moo/1098 ftp://ftp-site/moo/1098 --proxy http://127.0.0.1:43853 > log/8/stdout1098 2> log/8/stderr1098 === End of file commands.log === Start of file http_server.log 19:01:29.626954 ====> Client connect 19:01:29.627038 accept_connection 3 returned 4 19:01:29.627074 accept_connection 3 returned 0 19:01:29.627093 Read 93 bytes 19:01:29.627105 Process 93 bytes request 19:01:29.627120 Got request: GET /verifiedserver HTTP/1.1 19:01:29.627131 Are-we-friendly question received 19:01:29.627171 Wrote request (93 bytes) input to log/8/server.input 19:01:29.627191 Identifying ourselves as friends 19:01:29.627275 Response sent (56 bytes) and written to log/8/server.response 19:01:29.627289 special request received, no persistency 19:01:29.627299 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 59880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1098 ==136228== ==136228== Process terminating with default action of signal 4 (SIGILL) ==136228== Illegal opcode at address 0x4013E00 ==136228== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136228== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136228== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136228== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1098 setenv no_proxy = 127.0.0.1 setenv 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/3/valgrind1101 ../src/curl -q --output log/3/curl1101.out --include --trace-ascii log/3/trace1101 --trace-time http://user:secret@127.0.0.1:46261/gimme/1101 > log/3/stdout1101 2> log/3/stderr1101 1101: 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 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/3/valgrind1101 ../src/curl -q --output log/3/curl1101.out --include --trace-ascii log/3/trace1101 --trace-time http://user:secret@127.0.0.1:46261/gimme/1101 > log/3/stdout1101 2> log/3/stderr1101 === End of file commands.log === Start of file http_server.log 19:01:30.819236 ====> Client connect 19:01:30.819272 accept_connection 3 returned 4 19:01:30.819289 accept_connection 3 returned 0 19:01:30.819304 Read 93 bytes 19:01:30.819315 Process 93 bytes request 19:01:30.819329 Got request: GET /verifiedserver HTTP/1.1 19:01:30.819340 Are-we-friendly question received 19:01:30.819365 Wrote request (93 bytes) input to log/3/server.input 19:01:30.819382 Identifying ourselves as friends 19:01:30.819435 Response sent (56 bytes) and written to log/3/server.response 19:01:30.819446 special request received, no persistency 19:01:30.819457 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 55670 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind1101 ==136321== ==136321== Process terminating with default action of signal 4 (SIGILL) ==136321== Illegal opcode at address 0x4013E00 ==136321== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136321== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136321== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136321== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1101 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/5/stdout1119 2> log/5/stderr1119 valgrind SKIPPED s------e--- OK (1060 out of 1746, remaining: 01:03, took 0.336s, duration: 01:38) 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/13/valgrind1102 ../src/curl -q --output log/13/curl1102.out --include --trace-ascii log/13/trace1102 --trace-time ftp://127.0.0.1:40887/1102 > log/13/stdout1102 2> log/13/stderr1102 1102: 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 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/13/valgrind1102 ../src/curl -q --output log/13/curl1102.out --include --trace-ascii log/13/trace1102 --trace-time ftp://127.0.0.1:40887/1102 > log/13/stdout1102 2> log/13/stderr1102 === End of file commands.log === Start of file ftp_server.log 19:01:30.083963 ====> Client connect 19:01:30.084149 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:30.084504 < "USER anonymous" 19:01:30.084550 > "331 We are happy you popCMD (33792): ../libtool --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/valgrind1104 ../src/curl -q --output log/2/curl1104.out --include --trace-ascii log/2/trace1104 --trace-time http://127.0.0.1:44325/want/1104 -L -x 127.0.0.1:44325 -c log/2/cookies1104.jar > log/2/stdout1104 2> log/2/stderr1104 ped in![CR][LF]" 19:01:30.084752 < "PASS ftp@example.com" 19:01:30.084784 > "230 Welcome you silly person[CR][LF]" 19:01:30.084967 < "PWD" 19:01:30.085002 > "257 "/" is current directory[CR][LF]" 19:01:30.085250 < "EPSV" 19:01:30.085293 ====> Passive DATA channel requested by client 19:01:30.085308 DATA sockfilt for passive data channel starting... 19:01:30.087247 DATA sockfilt for passive data channel started (pid 136360) 19:01:30.087373 DATA sockfilt for passive data channel listens on port 39847 19:01:30.087425 > "229 Entering Passive Mode (|||39847|)[CR][LF]" 19:01:30.087445 Client has been notified that DATA conn will be accepted on port 39847 19:01:30.087763 Client connects to port 39847 19:01:30.087796 ====> Client established passive DATA connection on port 39847 19:01:30.087893 < "TYPE I" 19:01:30.087934 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:30.088132 < "SIZE verifiedserver" 19:01:30.088176 > "213 17[CR][LF]" 19:01:30.088354 < "RETR verifiedserver" 19:01:30.088391 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:30.088474 =====> Closing passive DATA connection... 19:01:30.088492 Server disconnects passive DATA connection 19:01:30.088765 Server disconnected passive DATA connection 19:01:30.088796 DATA sockfilt for passive data channel quits (pid 136360) 19:01:30.089074 DATA sockfilt for passive data channel quit (pid 136360) 19:01:30.089101 =====> Closed passive DATA connection 19:01:30.089133 > "226 File transfer complete[CR][LF]" 19:01:30.129160 < "QUIT" 19:01:30.129217 > "221 bye bye baby[CR][LF]" 19:01:30.130029 MAIN sockfilt said DISC 19:01:30.130070 ====> Client disconnected 19:01:30.130149 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:29.855872 ====> Client connect 19:01:29.856231 Received DATA (on stdin) 19:01:29.856251 > 160 bytes data, server => client 19:01:29.856265 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:29.856278 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:29.856290 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:29.856389 < 16 bytes data, client => server 19:01:29.856404 'USER anonymous\r\n' 19:01:29.856613 Received DATA (on stdin) 19:01:29.856628 > 33 bytes data, server => client 19:01:29.856641 '331 We are happy you popped in!\r\n' 19:01:29.856701 < 22 bytes data, client => server 19:01:29.856715 'PASS ftp@example.com\r\n' 19:01:29.856841 Received DATA (on stdin) 19:01:29.856855 > 30 bytes data, server => client 19:01:29.856867 '230 Welcome you silly person\r\n' 19:01:29.856932 < 5 bytes data, client => server 19:01:29.856946 'PWD\r\n' 19:01:29.857059 Received DATA (on stdin) 19:01:29.857072 > 30 bytes data, server => client 19:01:29.857085 '257 "/" is current directory\r\n' 19:01:29.857150 < 6 bytes data, client => server 19:01:29.857163 'EPSV\r\n' 19:01:29.859513 Received DATA (on stdin) 19:01:29.859533 > 39 bytes data, server => client 19:01:29.859546 '229 Entering Passive Mode (|||39847|)\r\n' 19:01:29.859760 < 8 bytes data, client => server 19:01:29.859775 'TYPE I\r\n' 19:01:29.859998 Received DATA (on stdin) 19:01:29.860013 > 33 bytes data, server => client 19:01:29.860026 '200 I modify TYPE as you wanted\r\n' 19:01:29.860088 < 21 bytes data, client => server 19:01:29.860103 'SIZE verifiedserver\r\n' 19:01:29.860236 Received DATA (on stdin) 19:01:29.860251 > 8 bytes data, server => client 19:01:29.860263 '213 17\r\n' 19:01:29.860317 < 21 bytes data, client => server 19:01:29.860331 'RETR verifiedserver\r\n' 19:01:29.860657 Received DATA (on stdin) 19:01:29.860671 > 29 bytes data, server => client 19:01:29.860683 '150 Binary junk (17 bytes).\r\n' 19:01:29.861193 Received DATA (on stdin) 19:01:29.861209 > 28 bytes data, server => client 19:01:29.861221 '226 File transfer complete\r\n' 19:01:29.901016 < 6 bytes data, client => server 19:01:29.901053 'QUIT\r\n' 19:01:29.901278 Received DATA (on stdin) 19:01:29.901292 > 18 bytes data, server => client 19:01:29.901303 '221 bye bye baby\r\n' 19:01:29.902026 ====> Client disconnect 19:01:29.902205 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:30.859074 Running IPv4 version 19:01:30.859163 Listening on port 39847 19:01:30.859214 Wrote pid 136360 to log/13/server/ftp_sockdata.pid 19:01:30.859238 Received PING (on stdin) 19:01:30.859336 Received PORT (on stdin) 19:01:30.859724 ====> Client connect 19:01:30.860554 Received DATA (on stdin) 19:01:30.860570 > 17 bytes data, server => client 19:01:30.860583 'WE ROOLZ: 80703\r\n' 19:01:30.860614 Received DISC (on stdin) 19:01:30.860629 ====> Client forcibly disconnected 19:01:30.860864 Received QUIT (on stdin) 19:01:30.860877 quits 19:01:30.860949 ============> 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 ==136392== ==136392== Process terminating with default action of signal 4 (SIGILL) ==136392== Illegal opcode at address 0x4013E00 ==136392== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136392== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136392== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136392== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1102 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/2/valgrind1104 ../src/curl -q --output log/2/curl1104.out --include --trace-ascii log/2/trace1104 --trace-time http://127.0.0.1:44325/want/1104 -L -x 127.0.0.1:44325 -c log/2/cookies1104.jar > log/2/stdout1104 2> log/2/stderr1104 1104: 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 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/2/valgrind1104 ../src/curl -q --output log/2/curl1104.out --include --trace-ascii log/2/trace1104 --trace-time http://127.0.0.1:44325/want/1104 -L -x 127.0.0.1:44325 -c log/2/cookies1104.jar > log/2/stdout1104 2> log/2/stderr1104 === End of file commands.log === Start of file http_server.log 19:01:31.090405 ====> Client connect 19:01:31.090435 accept_connection 3 returned 4 19:01:31.090452 accept_connection 3 returned 0 19:01:31.090465 Read 93 bytes 19:01:31.090476 Process 93 bytes request 19:01:31.090491 Got request: GET /verifiedserver HTTP/1.1 19:01:31.090501 Are-we-friendly question received 19:01:31.090523 Wrote request (93 bytes) input to log/2/server.input 19:01:31.090539 Identifying ourselves as friends 19:01:31.090592 Response sent (56 bytes) and written to log/2/server.response 19:01:31.090604 special request received, no persistency 19:01:31.090614 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 32858 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind1104 ==136516== ==136516== Process terminating with default action of signal 4 (SIGILL) ==136516== 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/4/valgrind1106 ../src/curl -q --output log/4/curl1106.out --include --trace-ascii log/4/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/4/stdout1106 2> log/4/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/21/valgrind1083 ../src/curl -q --output log/21/curl1083.out --include --trace-ascii log/21/trace1083 --trace-time -g "http://[::1]:39741/1083" --interface ip6-localhost > log/21/stdout1083 2> log/21/stderr1083 CMD (33792): ../libtool --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/valgrind1103 ../src/curl -q --output log/19/curl1103.out --include --trace-ascii log/19/trace1103 --trace-time ftp://127.0.0.1:33175/1103 > log/19/stdout1103 2> log/19/stderr1103 at address 0x4013E00 ==136516== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136516== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136516== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136516== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1104 setenv ftp_proxy = http://127.0.0.1:37985/ 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/4/valgrind1106 ../src/curl -q --output log/4/curl1106.out --include --trace-ascii log/4/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/4/stdout1106 2> log/4/stderr1106 1106: 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 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/4/valgrind1106 ../src/curl -q --output log/4/curl1106.out --include --trace-ascii log/4/trace1106 --trace-time ftp://127.0.0.1:23456/1106 > log/4/stdout1106 2> log/4/stderr1106 === End of file commands.log === Start of file http_server.log 19:01:31.114339 ====> Client connect 19:01:31.114376 accept_connection 3 returned 4 19:01:31.114395 accept_connection 3 returned 0 19:01:31.114412 Read 93 bytes 19:01:31.114424 Process 93 bytes request 19:01:31.114439 Got request: GET /verifiedserver HTTP/1.1 19:01:31.114450 Are-we-friendly question received 19:01:31.114476 Wrote request (93 bytes) input to log/4/server.input 19:01:31.114496 Identifying ourselves as friends 19:01:31.114556 Response sent (56 bytes) and written to log/4/server.response 19:01:31.114568 special request received, no persistency 19:01:31.114579 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 56510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind1106 ==136555== ==136555== Process terminating with default action of signal 4 (SIGILL) ==136555== Illegal opcode at address 0x4013E00 ==136555== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136555== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136555== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136555== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1106 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 135316 port 39741 * pid http-ipv6 => 135316 135316 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...[HTTP-IPv6 GET with ip6-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/21/valgrind1083 ../src/curl -q --output log/21/curl1083.out --include --trace-ascii log/21/trace1083 --trace-time -g "http://[::1]:39741/1083" --interface ip6-localhost > log/21/stdout1083 2> log/21/stderr1083 1083: 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 1083 === Start of file commands.log ../libtool --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/valgrind1083 ../src/curl -q --output log/21/curl1083.out --include --trace-ascii log/21/trace1083 --trace-time -g "http://[::1]:39741/1083" --interface ip6-localhost > log/21/stdout1083 2> log/21/stderr1083 === End of file commands.log === Start of file http_ipv6_server.log 19:01:29.144885 Running HTTP IPv6 version on port 39741 19:01:29.145026 Wrote pid 135316 to log/21/server/http_ipv6_server.pid 19:01:29.145064 Wrote port 39741 to log/21/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file server.cmd Testnum 1083 === End of file server.cmd === Start of file valgrind1083 ==136594== ==136594== Process terminating with default action of signal 4 (SIGILL) ==136594== Illegal opcode at address 0x4013E00 ==136594== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136594== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136594== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136594== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1083 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/19/valgrind1103 ../src/curl -q --output log/19/curl1103.out --include --trace-ascii log/19/trace1103 --trace-time ftp://127.0.0.1:33175/1103 > log/19/stdout1103 2> log/19/stderr1103 1103: 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 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/19/valgrind1103 ../src/curl -q --output log/19/curl1103.out --include --trace-ascii log/19/trace1103 --trace-time ftp://127.0.0.1:33175/1103 > log/19/stdout1103 2> log/19/stderr1103 === End of file commands.log === Start of file ftp_server.log 19:01:30.316859 ====> Client connect 19:01:30.317017 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:30.317323 < "USER anonymous" 19:01:30.317368 > "331 We are happy you popped in![CR][LF]" 19:01:30.317554 < "PASS ftp@example.com" 19:01:30.317581 > "230 Welcome you silly person[CR][LF]" 19:01:30.317737 < "PWD" 19:01:30.317769 > "257 "/" is current directory[CR][LF]" 19:01:30.317934 < "EPSV" 19:01:30.317960 ====> Passive DATA channel requested by client 19:01:30.317974 DATA sockfilt for passive data channel starting... 19:01:30.319750 DATA sockfilt for passive data channel started (pid 136489) 19:01:30.319859 DATA sockfilt for passive data channel listens on port 43047 19:01:30.319905 > "229 Entering Passive Mode (|||43047|)[CR][LF]" 19:01:30.319926 Client has been notified that DATA conn will be accepted on port 43047 19:01:30.320156 Client connects to port 43047 19:01:30.320190 ====> Client established passive DATA connection on port 43047 19:01:30.320268 < "TYPE I" 19:01:30.320303 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:30.320476 < "SIZE verifiedserver" 19:01:30.320514 > "213 17[CR][LF]" 19:01:30.320725 < "RETR verifiedserver" 19:01:30.320792 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:30.320883 =====> Closing pasCMD (33792): ../libtool --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/valgrind1105 ../src/curl -q --output log/6/curl1105.out --include --trace-ascii log/6/trace1105 --trace-time "http://127.0.0.1:41595/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/6/cookie1105.txt -d "userid=myname&password=mypassword" > log/6/stdout1105 2> log/6/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/1/valgrind1108 ../src/curl -q --output log/1/curl1108.out --include --trace-ascii log/1/trace1108 --trace-time ftp://127.0.0.1:41393/1108 --ftp-pret > log/1/stdout1108 2> log/1/stderr1108 sive DATA connection... 19:01:30.320902 Server disconnects passive DATA connection 19:01:30.321133 Server disconnected passive DATA connection 19:01:30.321163 DATA sockfilt for passive data channel quits (pid 136489) 19:01:30.321432 DATA sockfilt for passive data channel quit (pid 136489) 19:01:30.321459 =====> Closed passive DATA connection 19:01:30.321490 > "226 File transfer complete[CR][LF]" 19:01:30.368727 < "QUIT" 19:01:30.368786 > "221 bye bye baby[CR][LF]" 19:01:30.369875 MAIN sockfilt said DISC 19:01:30.369908 ====> Client disconnected 19:01:30.369984 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:31.088799 ====> Client connect 19:01:31.089092 Received DATA (on stdin) 19:01:31.089110 > 160 bytes data, server => client 19:01:31.089123 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:31.089135 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:31.089146 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:31.089227 < 16 bytes data, client => server 19:01:31.089240 'USER anonymous\r\n' 19:01:31.089431 Received DATA (on stdin) 19:01:31.089445 > 33 bytes data, server => client 19:01:31.089457 '331 We are happy you popped in!\r\n' 19:01:31.089514 < 22 bytes data, client => server 19:01:31.089526 'PASS ftp@example.com\r\n' 19:01:31.089637 Received DATA (on stdin) 19:01:31.089649 > 30 bytes data, server => client 19:01:31.089660 '230 Welcome you silly person\r\n' 19:01:31.089708 < 5 bytes data, client => server 19:01:31.089720 'PWD\r\n' 19:01:31.089825 Received DATA (on stdin) 19:01:31.089837 > 30 bytes data, server => client 19:01:31.089849 '257 "/" is current directory\r\n' 19:01:31.089905 < 6 bytes data, client => server 19:01:31.089917 'EPSV\r\n' 19:01:31.091987 Received DATA (on stdin) 19:01:31.092003 > 39 bytes data, server => client 19:01:31.092015 '229 Entering Passive Mode (|||43047|)\r\n' 19:01:31.092249 < 8 bytes data, client => server 19:01:31.092276 'TYPE I\r\n' 19:01:31.092363 Received DATA (on stdin) 19:01:31.092381 > 33 bytes data, server => client 19:01:31.092394 '200 I modify TYPE as you wanted\r\n' 19:01:31.092448 < 21 bytes data, client => server 19:01:31.092461 'SIZE verifiedserver\r\n' 19:01:31.092571 Received DATA (on stdin) 19:01:31.092583 > 8 bytes data, server => client 19:01:31.092595 '213 17\r\n' 19:01:31.092643 < 21 bytes data, client => server 19:01:31.092656 'RETR verifiedserver\r\n' 19:01:31.092970 Received DATA (on stdin) 19:01:31.092990 > 29 bytes data, server => client 19:01:31.093004 '150 Binary junk (17 bytes).\r\n' 19:01:31.093557 Received DATA (on stdin) 19:01:31.093574 > 28 bytes data, server => client 19:01:31.093586 '226 File transfer complete\r\n' 19:01:31.140584 < 6 bytes data, client => server 19:01:31.140615 'QUIT\r\n' 19:01:31.140848 Received DATA (on stdin) 19:01:31.140863 > 18 bytes data, server => client 19:01:31.140875 '221 bye bye baby\r\n' 19:01:31.141879 ====> Client disconnect 19:01:31.142046 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:30.091626 Running IPv4 version 19:01:30.091683 Listening on port 43047 19:01:30.091723 Wrote pid 136489 to log/19/server/ftp_sockdata.pid 19:01:30.091745 Received PING (on stdin) 19:01:30.091834 Received PORT (on stdin) 19:01:30.092160 ====> Client connect 19:01:30.093054 Received DATA (on stdin) 19:01:30.093075 > 17 bytes data, server => client 19:01:30.093088 'WE ROOLZ: 80854\r\n' 19:01:30.093120 Received DISC (on stdin) 19:01:30.093133 ====> Client forcibly disconnected 19:01:30.093231 Received QUIT (on stdin) 19:01:30.093244 quits 19:01:30.093309 ============> 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 ==136650== ==136650== Process terminating with default action of signal 4 (SIGILL) ==136650== Illegal opcode at address 0x4013E00 ==136650== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136650== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136650== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136650== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1103 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/6/valgrind1105 ../src/curl -q --output log/6/curl1105.out --include --trace-ascii log/6/trace1105 --trace-time "http://127.0.0.1:41595/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/6/cookie1105.txt -d "userid=myname&password=mypassword" > log/6/stdout1105 2> log/6/stderr1105 1105: 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 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/6/valgrind1105 ../src/curl -q --output log/6/curl1105.out --include --trace-ascii log/6/trace1105 --trace-time "http://127.0.0.1:41595/we/want/1105?parm1=this*that/other/thing&parm2=foobar/1105" -c log/6/cookie1105.txt -d "userid=myname&password=mypassword" > log/6/stdout1105 2> log/6/stderr1105 === End of file commands.log === Start of file http_server.log 19:01:30.108227 ====> Client connect 19:01:30.108259 accept_connection 3 returned 4 19:01:30.108277 accept_connection 3 returned 0 19:01:30.108323 Read 93 bytes 19:01:30.108336 Process 93 bytes request 19:01:30.108351 Got request: GET /verifiedserver HTTP/1.1 19:01:30.108362 Are-we-friendly question received 19:01:30.108388 Wrote request (93 bytes) input to log/6/server.input 19:01:30.108406 Identifying ourselves as friends 19:01:30.108460 Response sent (56 bytes) and written to log/6/server.response 19:01:30.108471 special request received, no persistency 19:01:30.108482 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 51342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1105 ==136558== ==136558== Process terminating with default action of signal 4 (SIGILL) ==136558== Illegal opcode at address 0x4013E00 ==136558== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136558== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136558== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136558== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1105 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/1/valgrind1108 ../src/curl -q --output log/1/curl1108.out --include --trace-ascii log/1/trace1108 --trace-time ftp://127.0.0.1:41393/1108 --ftp-pret > log/1/stdout1108 2> log/1/stderr1108 1108: 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 1108 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --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/12/valgrind1107 ../src/curl -q --output log/12/curl1107.out --include --trace-ascii log/12/trace1107 --trace-time ftp://127.0.0.1:35151/1107 --ftp-pret > log/12/stdout1107 2> log/12/stderr1107 l=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1108 ../src/curl -q --output log/1/curl1108.out --include --trace-ascii log/1/trace1108 --trace-time ftp://127.0.0.1:41393/1108 --ftp-pret > log/1/stdout1108 2> log/1/stderr1108 === End of file commands.log === Start of file ftp_server.log 19:01:30.379278 ====> Client connect 19:01:30.379428 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:30.379707 < "USER anonymous" 19:01:30.379749 > "331 We are happy you popped in![CR][LF]" 19:01:30.379947 < "PASS ftp@example.com" 19:01:30.379977 > "230 Welcome you silly person[CR][LF]" 19:01:30.380149 < "PWD" 19:01:30.380187 > "257 "/" is current directory[CR][LF]" 19:01:30.380368 < "EPSV" 19:01:30.380394 ====> Passive DATA channel requested by client 19:01:30.380409 DATA sockfilt for passive data channel starting... 19:01:30.382503 DATA sockfilt for passive data channel started (pid 136658) 19:01:30.382658 DATA sockfilt for passive data channel listens on port 39125 19:01:30.382715 > "229 Entering Passive Mode (|||39125|)[CR][LF]" 19:01:30.382740 Client has been notified that DATA conn will be accepted on port 39125 19:01:30.383044 Client connects to port 39125 19:01:30.383087 ====> Client established passive DATA connection on port 39125 19:01:30.383197 < "TYPE I" 19:01:30.383235 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:30.383454 < "SIZE verifiedserver" 19:01:30.383505 > "213 17[CR][LF]" 19:01:30.383703 < "RETR verifiedserver" 19:01:30.383746 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:30.383840 =====> Closing passive DATA connection... 19:01:30.383858 Server disconnects passive DATA connection 19:01:30.384048 Server disconnected passive DATA connection 19:01:30.384075 DATA sockfilt for passive data channel quits (pid 136658) 19:01:30.384349 DATA sockfilt for passive data channel quit (pid 136658) 19:01:30.384377 =====> Closed passive DATA connection 19:01:30.384410 > "226 File transfer complete[CR][LF]" 19:01:30.427214 < "QUIT" 19:01:30.427274 > "221 bye bye baby[CR][LF]" 19:01:30.433460 MAIN sockfilt said DISC 19:01:30.433535 ====> Client disconnected 19:01:30.433620 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:31.151236 ====> Client connect 19:01:31.151498 Received DATA (on stdin) 19:01:31.151515 > 160 bytes data, server => client 19:01:31.151528 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:31.151540 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:31.151552 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:31.151621 < 16 bytes data, client => server 19:01:31.151637 'USER anonymous\r\n' 19:01:31.151811 Received DATA (on stdin) 19:01:31.151825 > 33 bytes data, server => client 19:01:31.151837 '331 We are happy you popped in!\r\n' 19:01:31.151891 < 22 bytes data, client => server 19:01:31.151905 'PASS ftp@example.com\r\n' 19:01:31.152037 Received DATA (on stdin) 19:01:31.152051 > 30 bytes data, server => client 19:01:31.152063 '230 Welcome you silly person\r\n' 19:01:31.152114 < 5 bytes data, client => server 19:01:31.152128 'PWD\r\n' 19:01:31.152246 Received DATA (on stdin) 19:01:31.152260 > 30 bytes data, server => client 19:01:31.152272 '257 "/" is current directory\r\n' 19:01:31.152333 < 6 bytes data, client => server 19:01:31.152348 'EPSV\r\n' 19:01:31.154811 Received DATA (on stdin) 19:01:31.154832 > 39 bytes data, server => client 19:01:31.154846 '229 Entering Passive Mode (|||39125|)\r\n' 19:01:31.154998 < 8 bytes data, client => server 19:01:31.155019 'TYPE I\r\n' 19:01:31.155299 Received DATA (on stdin) 19:01:31.155316 > 33 bytes data, server => client 19:01:31.155328 '200 I modify TYPE as you wanted\r\n' 19:01:31.155395 < 21 bytes data, client => server 19:01:31.155411 'SIZE verifiedserver\r\n' 19:01:31.155567 Received DATA (on stdin) 19:01:31.155583 > 8 bytes data, server => client 19:01:31.155595 '213 17\r\n' 19:01:31.155654 < 21 bytes data, client => server 19:01:31.155668 'RETR verifiedserver\r\n' 19:01:31.155919 Received DATA (on stdin) 19:01:31.155934 > 29 bytes data, server => client 19:01:31.155947 '150 Binary junk (17 bytes).\r\n' 19:01:31.156472 Received DATA (on stdin) 19:01:31.156489 > 28 bytes data, server => client 19:01:31.156503 '226 File transfer complete\r\n' 19:01:31.199075 < 6 bytes data, client => server 19:01:31.199097 'QUIT\r\n' 19:01:31.204124 Received DATA (on stdin) 19:01:31.204168 > 18 bytes data, server => client 19:01:31.204181 '221 bye bye baby\r\n' 19:01:31.205444 ====> Client disconnect 19:01:31.205680 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:30.154001 Running IPv4 version 19:01:30.154056 Listening on port 39125 19:01:30.154106 Wrote pid 136658 to log/1/server/ftp_sockdata.pid 19:01:30.154128 Received PING (on stdin) 19:01:30.154606 Received PORT (on stdin) 19:01:30.155045 ====> Client connect 19:01:30.155980 Received DATA (on stdin) 19:01:30.155998 > 17 bytes data, server => client 19:01:30.156011 'WE ROOLZ: 80887\r\n' 19:01:30.156038 Received DISC (on stdin) 19:01:30.156054 ====> Client forcibly disconnected 19:01:30.156142 Received QUIT (on stdin) 19:01:30.156156 quits 19:01:30.156225 ============> 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 ==136808== ==136808== Process terminating with default action of signal 4 (SIGILL) ==136808== Illegal opcode at address 0x4013E00 ==136808== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136808== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136808== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136808== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1108 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/12/valgrind1107 ../src/curl -q --output log/12/curl1107.out --include --trace-ascii log/12/trace1107 --trace-time ftp://127.0.0.1:35151/1107 --ftp-pret > log/12/stdout1107 2> log/12/stderr1107 1107: 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 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/12/valgrind1107 ../src/curl -q --output log/12/curl1107.out --include --trace-ascii log/12/trace1107 --trace-time ftp://127.0.0.1:35151/1107 --ftp-pret > log/12/stdout1107 2> log/12/stderr1107 === End of file commands.log === Start of file ftp_server.log 19:01:30.377056 ====> Client connect 19:01:30.377301 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:30.377582 < "USER anonymous" 19:01:30.377625 > "331 We are happy you popped in![CR][LF]" 19:01:30.377818 < "PASS ftp@example.com" 19:01:30.377849 > "230 Welcome you silly person[CR][LF]" 19:01:30.378017 < "PWD" 19:01:30.378051 > "257 "/" is current directory[CR][LF]" 19:01:30.378362 < "EPSV" 19:01:30.378405 ====> Passive DATA channel requested by client 19:01:30.378423 DATA sockfilt for passive data channel starting... 19:01:30.380389 DATA sockfilt for passive data channel started (pid 136647) 19:01:30.380502 DATA sockfilt for passive data channel listens on port 44071 19:01:30.380548 > "229 Entering Passive Mode (|||44071|)[CR][LF]" 19:01:30.380569 Client has been notified that DATA conn will be accepted on port 44071 19:01:30.38CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1132.pl /startdir/src/curl/tests/../lib > log/12/stdout1132 2> log/12/stderr1132 CMD (33792): ../libtool --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/valgrind1109 ../src/curl -q --output log/24/curl1109.out --include --trace-ascii log/24/trace1109 --trace-time http://127.0.0.1:39383/1109#test > log/24/stdout1109 2> log/24/stderr1109 CMD (33792): ../libtool --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/valgrind1111 ../src/curl -q --output log/20/curl1111.out --include --trace-ascii log/20/trace1111 --trace-time http://127.0.0.1:38583/1111?q=foobar#fragment#fragment2 > log/20/stdout1111 2> log/20/stderr1111 0895 Client connects to port 44071 19:01:30.380948 ====> Client established passive DATA connection on port 44071 19:01:30.381066 < "TYPE I" 19:01:30.381110 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:30.381318 < "SIZE verifiedserver" 19:01:30.381364 > "213 17[CR][LF]" 19:01:30.381544 < "RETR verifiedserver" 19:01:30.381585 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:30.381671 =====> Closing passive DATA connection... 19:01:30.381691 Server disconnects passive DATA connection 19:01:30.381970 Server disconnected passive DATA connection 19:01:30.382004 DATA sockfilt for passive data channel quits (pid 136647) 19:01:30.382319 DATA sockfilt for passive data channel quit (pid 136647) 19:01:30.382352 =====> Closed passive DATA connection 19:01:30.382386 > "226 File transfer complete[CR][LF]" 19:01:30.425661 < "QUIT" 19:01:30.425720 > "221 bye bye baby[CR][LF]" 19:01:30.426759 MAIN sockfilt said DISC 19:01:30.426793 ====> Client disconnected 19:01:30.426873 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:30.149013 ====> Client connect 19:01:30.149377 Received DATA (on stdin) 19:01:30.149394 > 160 bytes data, server => client 19:01:30.149408 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:30.149418 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:30.149426 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:30.149493 < 16 bytes data, client => server 19:01:30.149504 'USER anonymous\r\n' 19:01:30.149688 Received DATA (on stdin) 19:01:30.149703 > 33 bytes data, server => client 19:01:30.149715 '331 We are happy you popped in!\r\n' 19:01:30.149769 < 22 bytes data, client => server 19:01:30.149783 'PASS ftp@example.com\r\n' 19:01:30.149907 Received DATA (on stdin) 19:01:30.149921 > 30 bytes data, server => client 19:01:30.149933 '230 Welcome you silly person\r\n' 19:01:30.149983 < 5 bytes data, client => server 19:01:30.149996 'PWD\r\n' 19:01:30.150105 Received DATA (on stdin) 19:01:30.150116 > 30 bytes data, server => client 19:01:30.150125 '257 "/" is current directory\r\n' 19:01:30.150245 < 6 bytes data, client => server 19:01:30.150273 'EPSV\r\n' 19:01:30.152612 Received DATA (on stdin) 19:01:30.152640 > 39 bytes data, server => client 19:01:30.152655 '229 Entering Passive Mode (|||44071|)\r\n' 19:01:30.152866 < 8 bytes data, client => server 19:01:30.152883 'TYPE I\r\n' 19:01:30.153173 Received DATA (on stdin) 19:01:30.153188 > 33 bytes data, server => client 19:01:30.153201 '200 I modify TYPE as you wanted\r\n' 19:01:30.153262 < 21 bytes data, client => server 19:01:30.153278 'SIZE verifiedserver\r\n' 19:01:30.153424 Received DATA (on stdin) 19:01:30.153439 > 8 bytes data, server => client 19:01:30.153450 '213 17\r\n' 19:01:30.153505 < 21 bytes data, client => server 19:01:30.153519 'RETR verifiedserver\r\n' 19:01:30.153754 Received DATA (on stdin) 19:01:30.153770 > 29 bytes data, server => client 19:01:30.153783 '150 Binary junk (17 bytes).\r\n' 19:01:30.154449 Received DATA (on stdin) 19:01:30.154464 > 28 bytes data, server => client 19:01:30.154477 '226 File transfer complete\r\n' 19:01:30.197494 < 6 bytes data, client => server 19:01:30.197540 'QUIT\r\n' 19:01:30.197782 Received DATA (on stdin) 19:01:30.197796 > 18 bytes data, server => client 19:01:30.197809 '221 bye bye baby\r\n' 19:01:30.198759 ====> Client disconnect 19:01:30.198931 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:30.152132 Running IPv4 version 19:01:30.152191 Listening on port 44071 19:01:30.152226 Wrote pid 136647 to log/12/server/ftp_sockdata.pid 19:01:30.152386 Received PING (on stdin) 19:01:30.152474 Received PORT (on stdin) 19:01:30.152825 ====> Client connect 19:01:30.153816 Received DATA (on stdin) 19:01:30.153834 > 17 bytes data, server => client 19:01:30.153847 'WE ROOLZ: 80702\r\n' 19:01:30.153875 Received DISC (on stdin) 19:01:30.153888 ====> Client forcibly disconnected 19:01:30.154074 Received QUIT (on stdin) 19:01:30.154096 quits 19:01:30.154171 ============> 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 ==136806== ==136806== Process terminating with default action of signal 4 (SIGILL) ==136806== Illegal opcode at address 0x4013E00 ==136806== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136806== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136806== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136806== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1107 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/12/stdout1132 2> log/12/stderr1132 valgrind SKIPPED -------e--- OK (1073 out of 1746, remaining: 01:02, took 0.033s, duration: 01:39) 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/24/valgrind1109 ../src/curl -q --output log/24/curl1109.out --include --trace-ascii log/24/trace1109 --trace-time http://127.0.0.1:39383/1109#test > log/24/stdout1109 2> log/24/stderr1109 1109: 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 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/24/valgrind1109 ../src/curl -q --output log/24/curl1109.out --include --trace-ascii log/24/trace1109 --trace-time http://127.0.0.1:39383/1109#test > log/24/stdout1109 2> log/24/stderr1109 === End of file commands.log === Start of file http_server.log 19:01:30.235700 ====> Client connect 19:01:30.235737 accept_connection 3 returned 4 19:01:30.235755 accept_connection 3 returned 0 19:01:30.235772 Read 93 bytes 19:01:30.235784 Process 93 bytes request 19:01:30.235800 Got request: GET /verifiedserver HTTP/1.1 19:01:30.235810 Are-we-friendly question received 19:01:30.235838 Wrote request (93 bytes) input to log/24/server.input 19:01:30.235857 Identifying ourselves as friends 19:01:30.235917 Response sent (56 bytes) and written to log/24/server.response 19:01:30.235929 special request received, no persistency 19:01:30.235939 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54772 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind1109 ==136901== ==136901== Process terminating with default action of signal 4 (SIGILL) ==136901== Illegal opcode at address 0x4013E00 ==136901== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136901== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136901== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136901== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1109 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-CMD (33792): ../libtool --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/valgrind1110 ../src/curl -q --output log/18/curl1110.out --include --trace-ascii log/18/trace1110 --trace-time http://127.0.0.1:39771/1110?q=foobar#fragment > log/18/stdout1110 2> log/18/stderr1110 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl /startdir/src/curl/tests/.. > log/20/stdout1135 2> log/20/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/7/valgrind1115 ../src/curl -q --output log/7/curl1115.out --include --trace-ascii log/7/trace1115 --trace-time http://127.0.0.1:41017/1115 > log/7/stdout1115 2> log/7/stderr1115 callers=16 --log-file=log/20/valgrind1111 ../src/curl -q --output log/20/curl1111.out --include --trace-ascii log/20/trace1111 --trace-time http://127.0.0.1:38583/1111?q=foobar#fragment#fragment2 > log/20/stdout1111 2> log/20/stderr1111 1111: 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 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/20/valgrind1111 ../src/curl -q --output log/20/curl1111.out --include --trace-ascii log/20/trace1111 --trace-time http://127.0.0.1:38583/1111?q=foobar#fragment#fragment2 > log/20/stdout1111 2> log/20/stderr1111 === End of file commands.log === Start of file http_server.log 19:01:30.253865 ====> Client connect 19:01:30.253909 accept_connection 3 returned 4 19:01:30.253930 accept_connection 3 returned 0 19:01:30.253948 Read 93 bytes 19:01:30.253961 Process 93 bytes request 19:01:30.253976 Got request: GET /verifiedserver HTTP/1.1 19:01:30.253988 Are-we-friendly question received 19:01:30.254020 Wrote request (93 bytes) input to log/20/server.input 19:01:30.254042 Identifying ourselves as friends 19:01:30.254124 Response sent (56 bytes) and written to log/20/server.response 19:01:30.254139 special request received, no persistency 19:01:30.254151 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 37880 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind1111 ==136974== ==136974== Process terminating with default action of signal 4 (SIGILL) ==136974== Illegal opcode at address 0x4013E00 ==136974== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136974== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136974== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136974== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1111 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/18/valgrind1110 ../src/curl -q --output log/18/curl1110.out --include --trace-ascii log/18/trace1110 --trace-time http://127.0.0.1:39771/1110?q=foobar#fragment > log/18/stdout1110 2> log/18/stderr1110 1110: 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 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/18/valgrind1110 ../src/curl -q --output log/18/curl1110.out --include --trace-ascii log/18/trace1110 --trace-time http://127.0.0.1:39771/1110?q=foobar#fragment > log/18/stdout1110 2> log/18/stderr1110 === End of file commands.log === Start of file http_server.log 19:01:30.248059 ====> Client connect 19:01:30.248091 accept_connection 3 returned 4 19:01:30.248108 accept_connection 3 returned 0 19:01:30.248123 Read 93 bytes 19:01:30.248135 Process 93 bytes request 19:01:30.248149 Got request: GET /verifiedserver HTTP/1.1 19:01:30.248160 Are-we-friendly question received 19:01:30.248186 Wrote request (93 bytes) input to log/18/server.input 19:01:30.248203 Identifying ourselves as friends 19:01:30.248257 Response sent (56 bytes) and written to log/18/server.response 19:01:30.248269 special request received, no persistency 19:01:30.248280 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 48930 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind1110 ==136947== ==136947== Process terminating with default action of signal 4 (SIGILL) ==136947== Illegal opcode at address 0x4013E00 ==136947== at 0x4013E00: getparameter (tool_getparam.c:2846) ==136947== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==136947== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==136947== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1110 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/20/stdout1135 2> log/20/stderr1135 valgrind SKIPPED s------e--- OK (1076 out of 1746, remaining: 01:01, took 0.037s, duration: 01:39) 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/7/valgrind1115 ../src/curl -q --output log/7/curl1115.out --include --trace-ascii log/7/trace1115 --trace-time http://127.0.0.1:41017/1115 > log/7/stdout1115 2> log/7/stderr1115 1115: 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 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/7/valgrind1115 ../src/curl -q --output log/7/curl1115.out --include --trace-ascii log/7/trace1115 --trace-time http://127.0.0.1:41017/1115 > log/7/stdout1115 2> log/7/stderr1115 === End of file commands.log === Start of file http_server.log 19:01:30.381413 ====> Client connect 19:01:30.381448 accept_connection 3 returned 4 19:01:30.381467 accept_connection 3 returned 0 19:01:30.381482 Read 93 bytes 19:01:30.381494 Process 93 bytes request 19:01:30.381511 Got request: GET /verifiedserver HTTP/1.1 19:01:30.381522 Are-we-friendly question received 19:01:30.381551 Wrote request (93 bytes) input to log/7/server.input 19:01:30.381570 Identifying ourselves as friends 19:01:30.381628 Response sent (56 bytes) and written to log/7/server.response 19:01:30.381640 special request received, no persistency 19:01:30.381650 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 39566 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === End of file http_verify.CMD (33792): ../libtool --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/valgrind1094 ../src/curl -q --output log/10/curl1094.out --include --trace-ascii log/10/trace1094 --trace-time "tftp://127.0.0.1:36311//1094;mode=netascii" > log/10/stdout1094 2> log/10/stderr1094 CMD (33792): ../libtool --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/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:45397/fully_simulated/DOS/*.txt" > log/23/stdout1113 2> log/23/stderr1113 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: 74741 === End of file server.response === Start of file valgrind1115 ==137146== ==137146== Process terminating with default action of signal 4 (SIGILL) ==137146== Illegal opcode at address 0x4013E00 ==137146== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137146== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137146== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137146== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1115 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/10/server/tftp_server.pid" --portfile "log/10/server/tftp_server.port" --logfile "log/10/tftp_server.log" --logdir "log/10" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 135904 port 36311 * pid tftp => 135904 135904 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/10/valgrind1094 ../src/curl -q --output log/10/curl1094.out --include --trace-ascii log/10/trace1094 --trace-time "tftp://127.0.0.1:36311//1094;mode=netascii" > log/10/stdout1094 2> log/10/stderr1094 1094: 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 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/10/valgrind1094 ../src/curl -q --output log/10/curl1094.out --include --trace-ascii log/10/trace1094 --trace-time "tftp://127.0.0.1:36311//1094;mode=netascii" > log/10/stdout1094 2> log/10/stderr1094 === End of file commands.log === Start of file server.cmd Testnum 1094 === End of file server.cmd === Start of file tftp_server.log 19:01:29.439154 Wrote pid 135904 to log/10/server/tftp_server.pid 19:01:29.439223 Wrote port 36311 to log/10/server/tftp_server.port 19:01:29.439236 Running IPv4 version on port UDP/36311 === End of file tftp_server.log === Start of file valgrind1094 ==137199== ==137199== Process terminating with default action of signal 4 (SIGILL) ==137199== Illegal opcode at address 0x4013E00 ==137199== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137199== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137199== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137199== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1094 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/23/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:45397/fully_simulated/DOS/*.txt" > log/23/stdout1113 2> log/23/stderr1113 1113: stdout FAILED: --- log/23/check-expected 2025-11-13 19:01:31.706058184 +0000 +++ log/23/check-generated 2025-11-13 19:01:31.706058184 +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/23/ 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/23/valgrind1113 ./libtest/libtests lib574 "ftp://127.0.0.1:45397/fully_simulated/DOS/*.txt" > log/23/stdout1113 2> log/23/stderr1113 === End of file commands.log === Start of file ftp_server.log 19:01:30.599298 ====> Client connect 19:01:30.599451 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:30.599728 < "USER anonymous" 19:01:30.599760 > "331 We are happy you popped in![CR][LF]" 19:01:30.599922 < "PASS ftp@example.com" 19:01:30.599945 > "230 Welcome you silly person[CR][LF]" 19:01:30.600098 < "PWD" 19:01:30.600126 > "257 "/" is current directory[CR][LF]" 19:01:30.600281 < "EPSV" 19:01:30.600303 ====> Passive DATA channel requested by client 19:01:30.600316 DATA sockfilt for passive data channel starting... 19:01:30.603210 DATA sockfilt for passive data channel started (pid 137132) 19:01:30.603321 DATA sockfilt for passive data channel listens on port 38563 19:01:30.603369 > "229 Entering Passive Mode (|||38563|)[CR][LF]" 19:01:30.603392 Client has been notified that DATA conn will be accepted on port 38563 19:01:30.603834 Client connects to port 38563 19:01:30.603865 ====> Client established passive DATA connection on port 38563 19:01:30.603949 < "TYPE I" 19:01:30.603979 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:30.604156 < "SIZE verifiedserver" 19:01:30.604198 > "213 17[CR][LF]" 19:01:30.604371 < "RETR verifiedserver" 19:01:30.604416 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:30.604532 =====> Closing passive DATA connection... 19:01:30.604551 Server disconnects passive DATA connection 19:01:30.604809 Server disconnected passive DATA connection 19:01:30.604839 DATA sockfilt for passive data channel quits (pid 137132) 19:01:30.605056 DATA sockfilt for passive data channel quit (pid 137132) 19:01:30.605085 =====> Closed passive DATA connection 19:01:30.605116 > "226 File transfer complete[CR][LF]" 19:01:30.649860 < "QUIT" 19:01:30.649913 > "221 bye bye baby[CR][LF]" 19:01:30.650940 MAIN sockfilt said DISC 19:01:30.651004 ====> Client disconnected 19:01:30.651075 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:30.371241 ====> Client connect 19:01:30.371518 Received DATA (on stdin) 19:01:30.371532 > 160 bytes data, server => client 19:01:30.371546 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:30.371559 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:30.371570 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:30.371644 < 16 bytes data, client => server 19:01:30.371656 'USER anonymous\r\n' 19:01:30.371819 Received DATA (on stdin) 19:01:30.371832 > 33 bytes data, server => client 19:01:30.371845 '331 We are happy you popped in!\r\n' 19:01:30.371894 < 22 bytes data, client => server 19:01:30.371906 'PASS ftp@example.com\r\n' 19:01:30.372000 Received DATA (on stdin) 19:01:30.372014 > 30 bytes data, server => client 19:01:30.372025 '230 Welcome you silly person\r\n' 19:01:30.372072 < 5 bytes data, client => server 19:01:30.372084 'PWD\r\n' 19:01:30.372181 Received DATA (on stdin) 19:01:30.372193 > 30 bytes data, server => client 19:01:30.372205 '257 "/" is current directory\r\n' 19:01:30.372260 < 6 bytes data, client => server 19:01:30.372271 'EPSV\r\n' 19:01:30.375459 Received DATA (on stdin) 19:01:30.375476 > 39 bytes data, server => client 19:01:30.375489 '229 Entering Passive Mode (|||38563|)\r\n' 19:01:30.375836 < 8 bytes data, client => server 19:01:30.375850 'TYPE I\r\n' 19:01:30.376039 Received DATA (on stdin) 19:01:30.376053 > 33 bytes data, server => client 19:01:30.376066 '200 I modify TYPE as you wanted\r\n' 19:01:30.376119 < 21 bytes data, client => server 19:01:30.376134 'SIZE verifiedserver\r\n' 19:01:30.376257 Received DATA (on stdin) 19:01:30.376271 > 8 bytes data, server => client 19:01:30.376283 '213 17\r\n' 19:01:30.376335 < 21 bytes data, client => server 19:01:30.376350 'RETR verifiedserver\r\n' 19:01:30.376614 Received DATA (on stdin) 19:01:30.376628 > 29 bytes data, server => client 19:01:30.376641 '150 Binary junk (17 bytes).\r\n' 19:01:30.377176 Received DATA (on stdin) 19:01:30.377191 > 28 bytes data, server => client 19:01:30.377203 '226 File transfer complete\r\n' 19:01:30.421725 < 6 bytes data, client => server 19:01:30.421752 'QUIT\r\n' 19:01:30.421975 Received DATA (on stdin) 19:01:30.421989 > 18 bytes data, server => client 19:01:30.422001 '221 bye bye baby\r\n' 19:01:30.422929 ====> Client disconnect 19:01:30.423142 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:30.373781 Running IPv4 version 19:01:30.373834 Listening on port 38563 19:01:30.373870 Wrote pid 137132 to log/23/server/ftp_sockdata.pid 19:01:30.375200 Received PING (on stdin) 19:01:30.375291 Received PORT (on stdin) 19:01:30.375803 ====> Client connect 19:01:30.376668 Received DATA (on stdin) 19:01:30.376683 > 17 bytes data, server => client 19:01:30.376695 'WE ROOLZ: 80691\r\n' 19:01:30.376722 Received DISC (on stdin) 19:01:30.376735 ====> Client forcibly disconnected 19:01:30.376907 Received QUIT (on stdin) 19:01:30.376921 quits 19:01:30.376980 ============> 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:45397/fully_simulated/DOS/*.txt === End of file stderr1113 === Start of file valgrind1113 ==137223== ==137223== Process terminating with default action of signal 4 (SIGILL) ==137223== Illegal opcode at address 0x51D5F1F ==137223== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==137223== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==137223== by 0x51D5F1F: Curl_open (url.c:525) ==137223== by 0x514F6EF: curl_easy_init (easy.c:371) ==137223== by 0x4016146: test_lib574.lto_priv.0 (lib574.c:47) ==137223== by 0x400347F: main (first.c:280) ==137223== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==137223== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==137223== by 0x51D5EBD: Curl_open (url.c:504) ==137223== by 0x514F6EF: curl_easy_init (easy.c:371) ==137223== by 0x4016146: test_lib574.lto_priv.0 (lib574.c:47) ==137223== 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/10/stdout1139 2> log/10/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/15/valgrind1116 ../src/curl -q --output log/15/curl1116.out --include --trace-ascii log/15/trace1116 --trace-time http://127.0.0.1:44531/1116 -D log/15/heads1116 > log/15/stdout1116 2> log/15/stderr1116 CMD (33792): ../libtool --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/valgrind1118 ../src/curl -q --output log/17/curl1118.out --include --trace-ascii log/17/trace1118 --trace-time http://127.0.0.1:40515?email=name@example.com/1118 > log/17/stdout1118 2> log/17/stderr1118 CMD (33792): ../libtool --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/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:36953/fully_simulated/DOS/* > log/22/stdout1114 2> log/22/stderr1114 by 0x400347F: main (first.c:280) ==137223== === End of file valgrind1113 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/10/stdout1139 2> log/10/stderr1139 valgrind SKIPPED -r-----e--- OK (1080 out of 1746, remaining: 01:01, took 0.046s, duration: 01:39) 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/15/valgrind1116 ../src/curl -q --output log/15/curl1116.out --include --trace-ascii log/15/trace1116 --trace-time http://127.0.0.1:44531/1116 -D log/15/heads1116 > log/15/stdout1116 2> log/15/stderr1116 1116: 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 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/15/valgrind1116 ../src/curl -q --output log/15/curl1116.out --include --trace-ascii log/15/trace1116 --trace-time http://127.0.0.1:44531/1116 -D log/15/heads1116 > log/15/stdout1116 2> log/15/stderr1116 === End of file commands.log === Start of file http_server.log 19:01:30.444345 ====> Client connect 19:01:30.444380 accept_connection 3 returned 4 19:01:30.444399 accept_connection 3 returned 0 19:01:30.444506 Read 93 bytes 19:01:30.444521 Process 93 bytes request 19:01:30.444536 Got request: GET /verifiedserver HTTP/1.1 19:01:30.444547 Are-we-friendly question received 19:01:30.444577 Wrote request (93 bytes) input to log/15/server.input 19:01:30.444596 Identifying ourselves as friends 19:01:30.444674 Response sent (56 bytes) and written to log/15/server.response 19:01:30.444687 special request received, no persistency 19:01:30.444697 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 44562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind1116 ==137256== ==137256== Process terminating with default action of signal 4 (SIGILL) ==137256== Illegal opcode at address 0x4013E00 ==137256== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137256== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137256== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137256== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1116 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/17/valgrind1118 ../src/curl -q --output log/17/curl1118.out --include --trace-ascii log/17/trace1118 --trace-time http://127.0.0.1:40515?email=name@example.com/1118 > log/17/stdout1118 2> log/17/stderr1118 1118: 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 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/17/valgrind1118 ../src/curl -q --output log/17/curl1118.out --include --trace-ascii log/17/trace1118 --trace-time http://127.0.0.1:40515?email=name@example.com/1118 > log/17/stdout1118 2> log/17/stderr1118 === End of file commands.log === Start of file http_server.log 19:01:31.507893 ====> Client connect 19:01:31.507942 accept_connection 3 returned 4 19:01:31.507959 accept_connection 3 returned 0 19:01:31.507974 Read 93 bytes 19:01:31.507985 Process 93 bytes request 19:01:31.507997 Got request: GET /verifiedserver HTTP/1.1 19:01:31.508008 Are-we-friendly question received 19:01:31.508034 Wrote request (93 bytes) input to log/17/server.input 19:01:31.508051 Identifying ourselves as friends 19:01:31.508110 Response sent (56 bytes) and written to log/17/server.response 19:01:31.508122 special request received, no persistency 19:01:31.508132 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 45710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind1118 ==137425== ==137425== Process terminating with default action of signal 4 (SIGILL) ==137425== Illegal opcode at address 0x4013E00 ==137425== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137425== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137425== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137425== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1118 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/22/valgrind1114 ./libtest/libtests lib576 ftp://127.0.0.1:36953/fully_simulated/DOS/* > log/22/stdout1114 2> log/22/stderr1114 1114: stdout FAILED: --- log/22/check-expected 2025-11-13 19:01:31.746058185 +0000 +++ log/22/check-generated 2025-11-13 19:01:31.746058185 +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/22/ 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/22/valgrind1114 ./libtest/libtestsCMD (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/23/stdout1140 2> log/23/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/11/valgrind1117 ../src/curl -q --include --trace-ascii log/11/trace1117 --trace-time -r 10-22 http://127.0.0.1:46317/want/1117 http://127.0.0.1:46317/wantmore/11170001 > log/11/stdout1117 2> log/11/stderr1117 lib576 ftp://127.0.0.1:36953/fully_simulated/DOS/* > log/22/stdout1114 2> log/22/stderr1114 === End of file commands.log === Start of file ftp_server.log 19:01:30.608242 ====> Client connect 19:01:30.608406 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:30.608747 < "USER anonymous" 19:01:30.608801 > "331 We are happy you popped in![CR][LF]" 19:01:30.609017 < "PASS ftp@example.com" 19:01:30.609057 > "230 Welcome you silly person[CR][LF]" 19:01:30.609301 < "PWD" 19:01:30.609339 > "257 "/" is current directory[CR][LF]" 19:01:30.609550 < "EPSV" 19:01:30.609584 ====> Passive DATA channel requested by client 19:01:30.609599 DATA sockfilt for passive data channel starting... 19:01:30.611494 DATA sockfilt for passive data channel started (pid 137142) 19:01:30.611617 DATA sockfilt for passive data channel listens on port 32997 19:01:30.611660 > "229 Entering Passive Mode (|||32997|)[CR][LF]" 19:01:30.611680 Client has been notified that DATA conn will be accepted on port 32997 19:01:30.611933 Client connects to port 32997 19:01:30.611962 ====> Client established passive DATA connection on port 32997 19:01:30.612037 < "TYPE I" 19:01:30.612077 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:30.612234 < "SIZE verifiedserver" 19:01:30.612269 > "213 17[CR][LF]" 19:01:30.612418 < "RETR verifiedserver" 19:01:30.612455 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:30.612548 =====> Closing passive DATA connection... 19:01:30.612563 Server disconnects passive DATA connection 19:01:30.612802 Server disconnected passive DATA connection 19:01:30.612829 DATA sockfilt for passive data channel quits (pid 137142) 19:01:30.613054 DATA sockfilt for passive data channel quit (pid 137142) 19:01:30.613077 =====> Closed passive DATA connection 19:01:30.613104 > "226 File transfer complete[CR][LF]" 19:01:30.659821 < "QUIT" 19:01:30.659883 > "221 bye bye baby[CR][LF]" 19:01:30.660555 MAIN sockfilt said DISC 19:01:30.660604 ====> Client disconnected 19:01:30.660678 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:31.380170 ====> Client connect 19:01:31.380486 Received DATA (on stdin) 19:01:31.380506 > 160 bytes data, server => client 19:01:31.380519 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:31.380531 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:31.380542 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:31.380621 < 16 bytes data, client => server 19:01:31.380636 'USER anonymous\r\n' 19:01:31.380867 Received DATA (on stdin) 19:01:31.380883 > 33 bytes data, server => client 19:01:31.380896 '331 We are happy you popped in!\r\n' 19:01:31.380953 < 22 bytes data, client => server 19:01:31.380968 'PASS ftp@example.com\r\n' 19:01:31.381120 Received DATA (on stdin) 19:01:31.381134 > 30 bytes data, server => client 19:01:31.381146 '230 Welcome you silly person\r\n' 19:01:31.381248 < 5 bytes data, client => server 19:01:31.381262 'PWD\r\n' 19:01:31.381399 Received DATA (on stdin) 19:01:31.381413 > 30 bytes data, server => client 19:01:31.381425 '257 "/" is current directory\r\n' 19:01:31.381499 < 6 bytes data, client => server 19:01:31.381514 'EPSV\r\n' 19:01:31.383742 Received DATA (on stdin) 19:01:31.383759 > 39 bytes data, server => client 19:01:31.383772 '229 Entering Passive Mode (|||32997|)\r\n' 19:01:31.383935 < 8 bytes data, client => server 19:01:31.383948 'TYPE I\r\n' 19:01:31.384134 Received DATA (on stdin) 19:01:31.384147 > 33 bytes data, server => client 19:01:31.384159 '200 I modify TYPE as you wanted\r\n' 19:01:31.384207 < 21 bytes data, client => server 19:01:31.384219 'SIZE verifiedserver\r\n' 19:01:31.384324 Received DATA (on stdin) 19:01:31.384337 > 8 bytes data, server => client 19:01:31.384348 '213 17\r\n' 19:01:31.384394 < 21 bytes data, client => server 19:01:31.384406 'RETR verifiedserver\r\n' 19:01:31.384712 Received DATA (on stdin) 19:01:31.384725 > 29 bytes data, server => client 19:01:31.384737 '150 Binary junk (17 bytes).\r\n' 19:01:31.385160 Received DATA (on stdin) 19:01:31.385174 > 28 bytes data, server => client 19:01:31.385186 '226 File transfer complete\r\n' 19:01:31.431675 < 6 bytes data, client => server 19:01:31.431708 'QUIT\r\n' 19:01:31.431946 Received DATA (on stdin) 19:01:31.431978 > 18 bytes data, server => client 19:01:31.431992 '221 bye bye baby\r\n' 19:01:31.432542 ====> Client disconnect 19:01:31.432737 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:30.383346 Running IPv4 version 19:01:30.383425 Listening on port 32997 19:01:30.383466 Wrote pid 137142 to log/22/server/ftp_sockdata.pid 19:01:30.383488 Received PING (on stdin) 19:01:30.383578 Received PORT (on stdin) 19:01:30.383908 ====> Client connect 19:01:30.384621 Received DATA (on stdin) 19:01:30.384639 > 17 bytes data, server => client 19:01:30.384651 'WE ROOLZ: 80850\r\n' 19:01:30.384677 Received DISC (on stdin) 19:01:30.384690 ====> Client forcibly disconnected 19:01:30.384897 Received QUIT (on stdin) 19:01:30.384911 quits 19:01:30.384964 ============> 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:36953/fully_simulated/DOS/* === End of file stderr1114 === Start of file valgrind1114 ==137240== ==137240== Process terminating with default action of signal 4 (SIGILL) ==137240== Illegal opcode at address 0x51D5F1F ==137240== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==137240== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==137240== by 0x51D5F1F: Curl_open (url.c:525) ==137240== by 0x514F6EF: curl_easy_init (easy.c:371) ==137240== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==137240== by 0x400347F: main (first.c:280) ==137240== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==137240== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==137240== by 0x51D5EBD: Curl_open (url.c:504) ==137240== by 0x514F6EF: curl_easy_init (easy.c:371) ==137240== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==137240== by 0x400347F: main (first.c:280) ==137240== === End of file valgrind1114 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/23/stdout1140 2> log/23/stderr1140 valgrind SKIPPED s------e--- OK (1081 out of 1746, remaining: 01:01, took 0.062s, duration: 01:39) CMD (33792): ../libtool --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/valgrind1120 ../src/curl -q --output log/16/curl1120.out --include --trace-ascii log/16/trace1120 --trace-time ftp://127.0.0.1:35319/a/path/1120 > log/16/stdout1120 2> log/16/stderr1120 CMD (33792): ../libtool --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/valgrind1099 ../src/curl -q --include --trace-ascii log/9/trace1099 --trace-time tftp://127.0.0.1:48991/an/invalid-file tftp://127.0.0.1:48991//1099 > log/9/stdout1099 2> log/9/stderr1099 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/11/valgrind1117 ../src/curl -q --include --trace-ascii log/11/trace1117 --trace-time -r 10-22 http://127.0.0.1:46317/want/1117 http://127.0.0.1:46317/wantmore/11170001 > log/11/stdout1117 2> log/11/stderr1117 1117: stdout FAILED: --- log/11/check-expected 2025-11-13 19:01:31.782724852 +0000 +++ log/11/check-generated 2025-11-13 19:01:31.782724852 +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/11/ 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/11/valgrind1117 ../src/curl -q --include --trace-ascii log/11/trace1117 --trace-time -r 10-22 http://127.0.0.1:46317/want/1117 http://127.0.0.1:46317/wantmore/11170001 > log/11/stdout1117 2> log/11/stderr1117 === End of file commands.log === Start of file http_server.log 19:01:30.507537 ====> Client connect 19:01:30.507577 accept_connection 3 returned 4 19:01:30.507596 accept_connection 3 returned 0 19:01:30.507613 Read 93 bytes 19:01:30.507625 Process 93 bytes request 19:01:30.507640 Got request: GET /verifiedserver HTTP/1.1 19:01:30.507651 Are-we-friendly question received 19:01:30.507677 Wrote request (93 bytes) input to log/11/server.input 19:01:30.507696 Identifying ourselves as friends 19:01:30.507760 Response sent (56 bytes) and written to log/11/server.response 19:01:30.507772 special request received, no persistency 19:01:30.507783 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 46904 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind1117 ==137444== ==137444== Process terminating with default action of signal 4 (SIGILL) ==137444== Illegal opcode at address 0x4013E00 ==137444== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137444== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137444== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137444== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1117 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/16/valgrind1120 ../src/curl -q --output log/16/curl1120.out --include --trace-ascii log/16/trace1120 --trace-time ftp://127.0.0.1:35319/a/path/1120 > log/16/stdout1120 2> log/16/stderr1120 1120: 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 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/16/valgrind1120 ../src/curl -q --output log/16/curl1120.out --include --trace-ascii log/16/trace1120 --trace-time ftp://127.0.0.1:35319/a/path/1120 > log/16/stdout1120 2> log/16/stderr1120 === End of file commands.log === Start of file ftp_server.log 19:01:30.777119 ====> Client connect 19:01:30.777279 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:30.777600 < "USER anonymous" 19:01:30.777644 > "331 We are happy you popped in![CR][LF]" 19:01:30.777848 < "PASS ftp@example.com" 19:01:30.777882 > "230 Welcome you silly person[CR][LF]" 19:01:30.778066 < "PWD" 19:01:30.778104 > "257 "/" is current directory[CR][LF]" 19:01:30.778284 < "EPSV" 19:01:30.778309 ====> Passive DATA channel requested by client 19:01:30.778324 DATA sockfilt for passive data channel starting... 19:01:30.780337 DATA sockfilt for passive data channel started (pid 137500) 19:01:30.780447 DATA sockfilt for passive data channel listens on port 46279 19:01:30.780493 > "229 Entering Passive Mode (|||46279|)[CR][LF]" 19:01:30.780513 Client has been notified that DATA conn will be accepted on port 46279 19:01:30.780768 Client connects to port 46279 19:01:30.780798 ====> Client established passive DATA connection on port 46279 19:01:30.780877 < "TYPE I" 19:01:30.780908 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:30.781083 < "SIZE verifiedserver" 19:01:30.781121 > "213 17[CR][LF]" 19:01:30.781421 < "RETR verifiedserver" 19:01:30.781467 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:30.781555 =====> Closing passive DATA connection... 19:01:30.781572 Server disconnects passive DATA connection 19:01:30.781851 Server disconnected passive DATA connection 19:01:30.781879 DATA sockfilt for passive data channel quits (pid 137500) 19:01:30.782167 DATA sockfilt for passive data channel quit (pid 137500) 19:01:30.782195 =====> Closed passive DATA connection 19:01:30.782223 > "226 File transfer complete[CR][LF]" 19:01:30.824855 < "QUIT" 19:01:30.824918 > "221 bye bye baby[CR][LF]" 19:01:30.825866 MAIN sockfilt said DISC 19:01:30.825896 ====> Client disconnected 19:01:30.826090 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:30.549064 ====> Client connect 19:01:30.549356 Received DATA (on stdin) 19:01:30.549376 > 160 bytes data, server => client 19:01:30.549391 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:30.549404 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:30.549415 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:30.549501 < 16 bytes data, client => server 19:01:30.549516 'USER anonymous\r\n' 19:01:30.549707 Received DATA (on stdin) 19:01:30.549722 > 33 bytes data, server => client 19:01:30.549735 '331 We are happy you popped in!\r\n' 19:01:30.549792 < 22 bytes data, client => server 19:01:30.549806 'PASS ftp@example.com\r\n' 19:01:30.549942 Received DATA (on stdin) 19:01:30.549957 > 30 bytes data, server => client 19:01:30.549970 '230 Welcome you silly person\r\n' 19:01:30.550025 < 5 bytes data, client => server 19:01:30.550040 'PWD\r\n' 19:01:30.550162 Received DATA (on stdin) 19:01:30.550175 > 30 bytes data, server => client 19:01:30.550188 '257 "/" is current directory\r\n' 19:01:30.550250 < 6 bytes data, client => server 19:01:30.550264 'EPSV\r\n' 19:01:30.552577 Received DATA (on stdin) 19:01:30.552593 > 39 bytes data, server => client 19:01:30.552606 '229 Entering Passive Mode (|||46279|)\r\n' 19:01:30.552737 < 8 bytes data, client => server 19:01:30.552753 'TYPE I\r\n' 19:01:30.552970 Received DATA (on stdin) 19:01:30.552984 > 33 bytes data, server => client 19:01:30.552997 '200 I modify TYPE as you wanted\r\n' 19:01:30.553051 < 21 bytes data, client => server 19:01:30.553064 'SIZE verifiedserver\r\n' 19:01:30.553179 Received DATA (on stdin) 19:01:30.553193 > 8 bytes data, server => client 19:01:30.553205 '213 17\r\n' 19:01:30.553255 < 21 bytes data, client => server 19:01:30.553268 'RETR verifiedserver\r\n' 19:01:30.553635 Received DATA (on stdin) 19:01:30.553650 > 29 bytes data, server => client 19:01:30.553663 '150 Binary junk (17 bytes).\r\n' 19:01:30.554282 Received DATA (on stdin) 19:01:30.554297 > 28 bytes data, server => client 19:01:30.554310 '226 File transfer complete\r\n' 19:01:30.595820 < 6 bytes data, client => server 19:01:30.597056 'QUIT\r\n' 19:01:30.597082 Received DATA (on stdin) 19:01:30.597095 > 18 bytes data, server => client 19:01:30.597107 '221 bye bye baby\r\n' 19:01:30.597871 ====> Client disconnect 19:01:30.598151 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:30.552068 Running IPv4 version 19:01:30.552125 Listening on port 46279 19:01:30.552166 Wrote pid 137500 to log/16/server/ftp_sockdata.pid 19:01:30.552332 Received PING (on stdin) 19:01:30.552417 Received PORT (on stdin) 19:01:30.552776 ====> Client connect 19:01:30.553700 Received DATA (on stdin) 19:01:30.553716 > 17 bytes data, server => client 19:01:30.553728 'WE ROOLZ: 80535\r\n' 19:01:30.553758 Received DISC (on stdin) 19:01:30.553771 ====> Client forcibly disconnected 19:01:30.553942 Received QUIT (on stdin) 19:01:30.553955 quits 19:01:30.554020 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd REPLY CWD 421 Timeout Testnum 1120 === End of file server.cmd === Start of file valgrind1120 ==137563== ==137563== Process terminating with default action of signal 4 (SIGILL) ==137563== Illegal opcode at address 0x4013E00 ==137563== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137563== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137563== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137563== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1120 CMD (33792): ../libtool --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/valgrind1121 ../src/curl -q --output log/14/curl1121.out --include --trace-ascii log/14/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:36759/1121 > log/14/stdout1121 2> log/14/stderr1121 CMD (33792): ../libtool --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/valgrind1122 ../src/curl -q --output log/8/curl1122.out --include --trace-ascii log/8/trace1122 --trace-time http://127.0.0.1:43853/1122 --tr-encoding > log/8/stdout1122 2> log/8/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/5/valgrind1124 ../src/curl -q --output log/5/curl1124.out --include --trace-ascii log/5/trace1124 --trace-time http://127.0.0.1:46771/1124 --tr-encoding > log/5/stdout1124 2> log/5/stderr1124 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/9/server/tftp_server.pid" --portfile "log/9/server/tftp_server.port" --logfile "log/9/tftp_server.log" --logdir "log/9" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 136262 port 48991 * pid tftp => 136262 136262 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/9/valgrind1099 ../src/curl -q --include --trace-ascii log/9/trace1099 --trace-time tftp://127.0.0.1:48991/an/invalid-file tftp://127.0.0.1:48991//1099 > log/9/stdout1099 2> log/9/stderr1099 1099: stdout FAILED: --- log/9/check-expected 2025-11-13 19:01:31.959391521 +0000 +++ log/9/check-generated 2025-11-13 19:01:31.959391521 +0000 @@ -1 +0,0 @@ -data for 1099[LF] == Contents of files in the log/9/ 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/9/valgrind1099 ../src/curl -q --include --trace-ascii log/9/trace1099 --trace-time tftp://127.0.0.1:48991/an/invalid-file tftp://127.0.0.1:48991//1099 > log/9/stdout1099 2> log/9/stderr1099 === End of file commands.log === Start of file server.cmd Testnum 1099 === End of file server.cmd === Start of file tftp_server.log 19:01:29.695791 Wrote pid 136262 to log/9/server/tftp_server.pid 19:01:29.695848 Wrote port 48991 to log/9/server/tftp_server.port 19:01:29.695862 Running IPv4 version on port UDP/48991 === End of file tftp_server.log === Start of file valgrind1099 ==137657== ==137657== Process terminating with default action of signal 4 (SIGILL) ==137657== Illegal opcode at address 0x4013E00 ==137657== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137657== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137657== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137657== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1099 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/14/valgrind1121 ../src/curl -q --output log/14/curl1121.out --include --trace-ascii log/14/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:36759/1121 > log/14/stdout1121 2> log/14/stderr1121 1121: 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 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/14/valgrind1121 ../src/curl -q --output log/14/curl1121.out --include --trace-ascii log/14/trace1121 --trace-time -H "Host: host1" -H "Host: host2" -H "Host: host3" http://127.0.0.1:36759/1121 > log/14/stdout1121 2> log/14/stderr1121 === End of file commands.log === Start of file http_server.log 19:01:30.690457 ====> Client connect 19:01:30.690493 accept_connection 3 returned 4 19:01:30.690513 accept_connection 3 returned 0 19:01:30.690679 Read 93 bytes 19:01:30.690697 Process 93 bytes request 19:01:30.690712 Got request: GET /verifiedserver HTTP/1.1 19:01:30.690723 Are-we-friendly question received 19:01:30.690759 Wrote request (93 bytes) input to log/14/server.input 19:01:30.690794 Identifying ourselves as friends 19:01:30.690857 Response sent (56 bytes) and written to log/14/server.response 19:01:30.690869 special request received, no persistency 19:01:30.690879 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 55678 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind1121 ==137680== ==137680== Process terminating with default action of signal 4 (SIGILL) ==137680== Illegal opcode at address 0x4013E00 ==137680== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137680== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137680== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137680== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1121 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/8/valgrind1122 ../src/curl -q --output log/8/curl1122.out --include --trace-ascii log/8/trace1122 --trace-time http://127.0.0.1:43853/1122 --tr-encoding > log/8/stdout1122 2> log/8/stderr1122 1122: 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 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/8/valgrind1122 ../src/curl -q --output log/8/curl1122.out --include --trace-ascii log/8/trace1122 --trace-time http://127.0.0.1:43853/1122 --tr-encoding > log/8/stdout1122 2> log/8/stderr1122 === End of file commands.log === Start of file http_server.log 19:01:30.692292 ====> Client connect 19:01:30.692327 accept_connection 3 returned 4 19:01:30.692343 accept_connection 3 returned 0 19:01:30.692357 Read 93 bytes 19:01:30.692368 Process 93 bytes request 19:01:30.692381 Got request: GET /verifiedserver HTTP/1.1 19:01:30.692391 Are-we-friendly question received 19:01:30.692414 Wrote request (93 bytes) input to log/8/server.input 19:01:30.692431 Identifying ourselves as friends 19:01:30.692482 Response sent (56 bytes) and written to log/8/server.response 19:01:30.692492 special request received, no persistency 19:01:30.692502 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 47354 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1122 ==137682== ==137682== Process terminating with default action of signal 4 (SIGILL) ==137682== Illegal opcode at address 0x4013E00 ==137682== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137682== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137682== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137682== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1122 test 1124...[HTTP GET 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/3/valgrind1123 ../src/curl -q --output log/3/curl1123.out --include --trace-ascii log/3/trace1123 --trace-time http://127.0.0.1:46261/1123 --tr-encoding > log/3/stdout1123 2> log/3/stderr1123 CMD (33792): ../libtool --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/valgrind1125 ../src/curl -q --output log/13/curl1125.out --include --trace-ascii log/13/trace1125 --trace-time http://127.0.0.1:35301/1125 --tr-encoding -H "Connection: close" > log/13/stdout1125 2> log/13/stderr1125 zip+chunked 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/5/valgrind1124 ../src/curl -q --output log/5/curl1124.out --include --trace-ascii log/5/trace1124 --trace-time http://127.0.0.1:46771/1124 --tr-encoding > log/5/stdout1124 2> log/5/stderr1124 1124: 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 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/5/valgrind1124 ../src/curl -q --output log/5/curl1124.out --include --trace-ascii log/5/trace1124 --trace-time http://127.0.0.1:46771/1124 --tr-encoding > log/5/stdout1124 2> log/5/stderr1124 === End of file commands.log === Start of file http_server.log 19:01:30.868575 ====> Client connect 19:01:30.868615 accept_connection 3 returned 4 19:01:30.868634 accept_connection 3 returned 0 19:01:30.868651 Read 93 bytes 19:01:30.868663 Process 93 bytes request 19:01:30.868679 Got request: GET /verifiedserver HTTP/1.1 19:01:30.868690 Are-we-friendly question received 19:01:30.868718 Wrote request (93 bytes) input to log/5/server.input 19:01:30.868738 Identifying ourselves as friends 19:01:30.868799 Response sent (56 bytes) and written to log/5/server.response 19:01:30.868812 special request received, no persistency 19:01:30.868823 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 49456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1124 ==137856== ==137856== Process terminating with default action of signal 4 (SIGILL) ==137856== Illegal opcode at address 0x4013E00 ==137856== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137856== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137856== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137856== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1124 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/3/valgrind1123 ../src/curl -q --output log/3/curl1123.out --include --trace-ascii log/3/trace1123 --trace-time http://127.0.0.1:46261/1123 --tr-encoding > log/3/stdout1123 2> log/3/stderr1123 1123: 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 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/3/valgrind1123 ../src/curl -q --output log/3/curl1123.out --include --trace-ascii log/3/trace1123 --trace-time http://127.0.0.1:46261/1123 --tr-encoding > log/3/stdout1123 2> log/3/stderr1123 === End of file commands.log === Start of file http_server.log 19:01:31.892183 ====> Client connect 19:01:31.892227 accept_connection 3 returned 4 19:01:31.892250 accept_connection 3 returned 0 19:01:31.892269 Read 93 bytes 19:01:31.892280 Process 93 bytes request 19:01:31.892297 Got request: GET /verifiedserver HTTP/1.1 19:01:31.892309 Are-we-friendly question received 19:01:31.892343 Wrote request (93 bytes) input to log/3/server.input 19:01:31.892364 Identifying ourselves as friends 19:01:31.892428 Response sent (56 bytes) and written to log/3/server.response 19:01:31.892440 special request received, no persistency 19:01:31.892451 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 55674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind1123 ==137889== ==137889== Process terminating with default action of signal 4 (SIGILL) ==137889== Illegal opcode at address 0x4013E00 ==137889== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137889== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137889== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137889== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1123 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/13/valgrind1125 ../src/curl -q --output log/13/curl1125.out --include --trace-ascii log/13/trace1125 --trace-time http://127.0.0.1:35301/1125 --tr-encoding -H "Connection: close" > log/13/stdout1125 2> log/13/stderr1125 1125: 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 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/13/valgrind1125 ../src/curl -q --output log/13/curl1125.out --include --trace-ascii log/13/trace1125 --trace-time http://127.0.0.1:35301/1125 --tr-encoding -H "Connection: close" > log/13/stdout1125 2> log/13/stderr1125 === End of file commands.log === Start of file http_server.log 19:01:30.983659 ====> Client connect 19:01:30.983697 accept_connection 3 returned 4 19:01:30.983716 accept_connection 3 returned 0 19:01:30.983733 Read 93 bytes 19:01:30.983744 Process 93 bytes request 19:01:30.983758 Got request: GET /verifiedserver HTTP/1.1 19:01:30.983768 Are-we-friendly question received 19:01:30.983795 Wrote request (93 bytes) input to log/13/server.input 19:01:30.983815 Identifying ourselves as friends 19:01:30.983879 Response sent (56 bytes) and written to log/13/server.response 19:01:30.983892 special request received, no persistency 19:01:30.983902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 36958 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === End of file http_verify.out === Start of file server.cmd Testnum 1125 === End of file server.cmd === Start of file CMD (33792): ../libtool --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/valgrind1128 ../src/curl -q --include --trace-ascii log/21/trace1128 --trace-time http://127.0.0.1:35043/1128 http://127.0.0.1:35043/11280001 -z "dec 12 12:00:00 1999 GMT" > log/21/stdout1128 2> log/21/stderr1128 server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74477 === End of file server.response === Start of file valgrind1125 ==137963== ==137963== Process terminating with default action of signal 4 (SIGILL) ==137963== Illegal opcode at address 0x4013E00 ==137963== at 0x4013E00: getparameter (tool_getparam.c:2846) ==137963== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==137963== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==137963== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1125 CMD (33792): ../libtool --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/valgrind1126 ../src/curl -q --output log/2/curl1126.out --include --trace-ascii log/2/trace1126 --trace-time http://127.0.0.1:44325/1126 -z "dec 12 12:00:00 1999 GMT" > log/2/stdout1126 2> log/2/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/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:41761/1129 http://127.0.0.1:41761/11290001 > log/19/stdout1129 2> log/19/stderr1129 CMD (33792): ../libtool --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/valgrind1127 ../src/curl -q --output log/4/curl1127.out --include --trace-ascii log/4/trace1127 --trace-time http://127.0.0.1:37985/1127 -z "dec 12 12:00:00 1999 GMT" > log/4/stdout1127 2> log/4/stderr1127 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/21/valgrind1128 ../src/curl -q --include --trace-ascii log/21/trace1128 --trace-time http://127.0.0.1:35043/1128 http://127.0.0.1:35043/11280001 -z "dec 12 12:00:00 1999 GMT" > log/21/stdout1128 2> log/21/stderr1128 1128: stdout FAILED: --- log/21/check-expected 2025-11-13 19:01:32.512724859 +0000 +++ log/21/check-generated 2025-11-13 19:01:32.512724859 +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/21/ 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/21/valgrind1128 ../src/curl -q --include --trace-ascii log/21/trace1128 --trace-time http://127.0.0.1:35043/1128 http://127.0.0.1:35043/11280001 -z "dec 12 12:00:00 1999 GMT" > log/21/stdout1128 2> log/21/stderr1128 === End of file commands.log === Start of file http_server.log 19:01:31.212827 ====> Client connect 19:01:31.212862 accept_connection 3 returned 4 19:01:31.212879 accept_connection 3 returned 0 19:01:31.214380 Read 93 bytes 19:01:31.214405 Process 93 bytes request 19:01:31.214419 Got request: GET /verifiedserver HTTP/1.1 19:01:31.214430 Are-we-friendly question received 19:01:31.214464 Wrote request (93 bytes) input to log/21/server.input 19:01:31.214482 Identifying ourselves as friends 19:01:31.214539 Response sent (56 bytes) and written to log/21/server.response 19:01:31.214551 special request received, no persistency 19:01:31.214559 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 36392 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind1128 ==138129== ==138129== Process terminating with default action of signal 4 (SIGILL) ==138129== Illegal opcode at address 0x4013E00 ==138129== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138129== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138129== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138129== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1128 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/2/valgrind1126 ../src/curl -q --output log/2/curl1126.out --include --trace-ascii log/2/trace1126 --trace-time http://127.0.0.1:44325/1126 -z "dec 12 12:00:00 1999 GMT" > log/2/stdout1126 2> log/2/stderr1126 1126: 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 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/2/valgrind1126 ../src/curl -q --output log/2/curl1126.out --include --trace-ascii log/2/trace1126 --trace-time http://127.0.0.1:44325/1126 -z "dec 12 12:00:00 1999 GMT" > log/2/stdout1126 2> log/2/stderr1126 === End of file commands.log === Start of file http_server.log 19:01:32.201949 ====> Client connect 19:01:32.201981 accept_connection 3 returned 4 19:01:32.201999 accept_connection 3 returned 0 19:01:32.202015 Read 93 bytes 19:01:32.202026 Process 93 bytes request 19:01:32.202040 Got request: GET /verifiedserver HTTP/1.1 19:01:32.202050 Are-we-friendly question received 19:01:32.202077 Wrote request (93 bytes) input to log/2/server.input 19:01:32.202095 Identifying ourselves as friends 19:01:32.202147 Response sent (56 bytes) and written to log/2/server.response 19:01:32.202158 special request received, no persistency 19:01:32.202168 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 32866 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind1126 ==138091== ==138091== Process terminating with default action of signal 4 (SIGILL) ==138091== Illegal opcode at address 0x4013E00 ==138091== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138091== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138091== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138091== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1126 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:41761/1129 http://127.0.0.1:41761/11290001 > log/19/stdout1129 2> log/19/stderr1129 1129: stdout FAILED: --- log/19/check-expected 2025-11-13 19:01:32.549391526 +0000 +++ log/19/check-generated 2025-11-13 19:01:32.549391526 +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:41761/1129 http://127.0.0.1:41761/11290001 > log/19/stdout1129 2> log/19/stderr1129 === End of file commands.log === Start of file file1129 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD (33792): ../libtool --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/valgrind1130 ../src/curl -q --include --trace-ascii log/6/trace1130 --trace-time -d @log/6/file1130 http://127.0.0.1:41595/1130 http://127.0.0.1:41595/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/6/stdout1130 2> log/6/stderr1130 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx === End of file file1129 === Start of file http_server.log 19:01:31.231275 ====> Client connect 19:01:31.231310 accept_connection 3 returned 4 19:01:31.231328 accept_connection 3 returned 0 19:01:31.231346 Read 93 bytes 19:01:31.231358 Process 93 bytes request 19:01:31.231374 Got request: GET /verifiedserver HTTP/1.1 19:01:31.231385 Are-we-friendly question received 19:01:31.231412 Wrote request (93 bytes) input to log/19/server.input 19:01:31.231429 Identifying ourselves as friends 19:01:31.231485 Response sent (56 bytes) and written to log/19/server.response 19:01:31.231497 special request received, no persistency 19:01:31.231507 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 34290 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind1129 ==138250== ==138250== Process terminating with default action of signal 4 (SIGILL) ==138250== Illegal opcode at address 0x4013E00 ==138250== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138250== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138250== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138250== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1129 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/4/valgrind1127 ../src/curl -q --output log/4/curl1127.out --include --trace-ascii log/4/trace1127 --trace-time http://127.0.0.1:37985/1127 -z "dec 12 12:00:00 1999 GMT" > log/4/stdout1127 2> log/4/stderr1127 1127: 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 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/4/valgrind1127 ../src/curl -q --output log/4/curl1127.out --include --trace-ascii log/4/trace1127 --trace-time http://127.0.0.1:37985/1127 -z "dec 12 12:00:00 1999 GMT" > log/4/stdout1127 2> log/4/stderr1127 === End of file commands.log === Start of file http_server.log 19:01:32.210648 ====> Client connect 19:01:32.210683 accept_connection 3 returned 4 19:01:32.210700 accept_connection 3 returned 0 19:01:32.210715 Read 93 bytes 19:01:32.210726 Process 93 bytes request 19:01:32.210741 Got request: GET /verifiedserver HTTP/1.1 19:01:32.210751 Are-we-friendly question received 19:01:32.210787 Wrote request (93 bytes) input to log/4/server.input 19:01:32.210803 Identifying ourselves as friends 19:01:32.210851 Response sent (56 bytes) and written to log/4/server.response 19:01:32.210860 special request received, no persistency 19:01:32.210869 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 56514 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === End of file http_verify.out === Start of file server.cmd Testnum 1127 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74797 === End of file server.response === Start of file valgrind1127 ==138122== ==138122== Process terminating with default action of signal 4 (SIGILL) ==138122== Illegal opcode at address 0x4013E00 ==138122== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138122== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138122== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138122== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1127 CMD (33792): ../libtool --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/valgrind1131 ../src/curl -q --include --trace-ascii log/1/trace1131 --trace-time -H "Expect: 100-continue" -T log/1/file1131 http://127.0.0.1:40353/1131 -T log/1/file1131 http://127.0.0.1:40353/11310001 --expect100-timeout 99 > log/1/stdout1131 2> log/1/stderr1131 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/6/valgrind1130 ../src/curl -q --include --trace-ascii log/6/trace1130 --trace-time -d @log/6/file1130 http://127.0.0.1:41595/1130 http://127.0.0.1:41595/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/6/stdout1130 2> log/6/stderr1130 1130: stdout FAILED: --- log/6/check-expected 2025-11-13 19:01:32.566058193 +0000 +++ log/6/check-generated 2025-11-13 19:01:32.566058193 +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/6/ 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/6/valgrind1130 ../src/curl -q --include --trace-ascii log/6/trace1130 --trace-time -d @log/6/file1130 http://127.0.0.1:41595/1130 http://127.0.0.1:41595/11300001 -H "Expect: 100-continue" --expect100-timeout 99 > log/6/stdout1130 2> log/6/stderr1130 === End of file commands.log === Start of file file1130 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1130 === Start of file http_server.log 19:01:31.238379 ====> Client connect 19:01:31.238414 accept_connection 3 returned 4 19:01:31.238432 accept_connection 3 returned 0 19:01:31.238448 Read 93 bytes 19:01:31.238459 Process 93 bytes request 19:01:31.238474 Got request: GET /verifiedserver HTTP/1.1 19:01:31.238485 Are-we-friendly question received 19:01:31.238509 Wrote request (93 bytes) input to log/6/server.input 19:01:31.238527 Identifying ourselves as friends 19:01:31.238579 Response sent (56 bytes) and written to log/6/server.response 19:01:31.238591 special request received, no persistency 19:01:31.238601 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 51344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1130 ==138249== ==138249== Process terminating with default action of signal 4 (SIGILL) ==138249== Illegal opcode at address 0x4013E00 ==138249== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138249== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138249== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138249== by 0x40037A4: 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/valgrind1134 ../src/curl -q --output log/24/curl1134.out --include --trace-ascii log/24/trace1134 --trace-time http://127.0.0.1:39383/1134 -u user1:password1 --next http://127.0.0.1:39383/11340001 -u 2user:password2 > log/24/stdout1134 2> log/24/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/12/valgrind1133 ../src/curl -q --output log/12/curl1133.out --include --trace-ascii log/12/trace1133 --trace-time http://127.0.0.1:46819/we/want/1133 -F "file=@\"log/12/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/12/test1133,and;.txt"' -F 'file3=@"log/12/test1133,and;.txt";type=m/f,"log/12/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/12/stdout1133 2> log/12/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/18/valgrind1136 ../src/curl -q --output log/18/curl1136.out --include --trace-ascii log/18/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/18/jar1136.txt -x 127.0.0.1:39771 > log/18/stdout1136 2> log/18/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/1/valgrind1131 ../src/curl -q --include --trace-ascii log/1/trace1131 --trace-time -H "Expect: 100-continue" -T log/1/file1131 http://127.0.0.1:40353/1131 -T log/1/file1131 http://127.0.0.1:40353/11310001 --expect100-timeout 99 > log/1/stdout1131 2> log/1/stderr1131 1131: stdout FAILED: --- log/1/check-expected 2025-11-13 19:01:32.582724859 +0000 +++ log/1/check-generated 2025-11-13 19:01:32.582724859 +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/1/ 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/1/valgrind1131 ../src/curl -q --include --trace-ascii log/1/trace1131 --trace-time -H "Expect: 100-continue" -T log/1/file1131 http://127.0.0.1:40353/1131 -T log/1/file1131 http://127.0.0.1:40353/11310001 --expect100-timeout 99 > log/1/stdout1131 2> log/1/stderr1131 === End of file commands.log === Start of file file1131 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX === End of file file1131 === Start of file http_server.log 19:01:31.251859 ====> Client connect 19:01:31.251893 accept_connection 3 returned 4 19:01:31.251911 accept_connection 3 returned 0 19:01:31.251928 Read 93 bytes 19:01:31.251939 Process 93 bytes request 19:01:31.251953 Got request: GET /verifiedserver HTTP/1.1 19:01:31.251963 Are-we-friendly question received 19:01:31.251988 Wrote request (93 bytes) input to log/1/server.input 19:01:31.252006 Identifying ourselves as friends 19:01:31.252076 Response sent (56 bytes) and written to log/1/server.response 19:01:31.252088 special request received, no persistency 19:01:31.252099 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1131 ==138294== ==138294== Process terminating with default action of signal 4 (SIGILL) ==138294== Illegal opcode at address 0x4013E00 ==138294== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138294== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138294== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138294== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1131 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/24/valgrind1134 ../src/curl -q --output log/24/curl1134.out --include --trace-ascii log/24/trace1134 --trace-time http://127.0.0.1:39383/1134 -u user1:password1 --next http://127.0.0.1:39383/11340001 -u 2user:password2 > log/24/stdout1134 2> log/24/stderr1134 1134: 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 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/24/valgrind1134 ../src/curl -q --output log/24/curl1134.out --include --trace-ascii log/24/trace1134 --trace-time http://127.0.0.1:39383/1134 -u user1:password1 --next http://127.0.0.1:39383/11340001 -u 2user:password2 > log/24/stdout1134 2> log/24/stderr1134 === End of file commands.log === Start of file http_server.log 19:01:31.332880 ====> Client connect 19:01:31.332918 accept_connection 3 returned 4 19:01:31.332938 accept_connection 3 returned 0 19:01:31.332955 Read 93 bytes 19:01:31.332967 Process 93 bytes request 19:01:31.332982 Got request: GET /verifiedserver HTTP/1.1 19:01:31.332993 Are-we-friendly question received 19:01:31.333021 Wrote request (93 bytes) input to log/24/server.input 19:01:31.333040 Identifying ourselves as friends 19:01:31.333107 Response sent (56 bytes) and written to log/24/server.response 19:01:31.333120 special request received, no persistency 19:01:31.333131 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54778 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind1134 ==138481== ==138481== Process terminating with default action of signal 4 (SIGILL) ==138481== Illegal opcode at address 0x4013E00 ==138481== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138481== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138481== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138481== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1134 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/12/valgrind1133 ../src/curl -q --output log/12/curl1133.out --include --trace-ascii log/12/trace1133 --trace-time http://127.0.0.1:46819/we/want/1133 -F "file=@\"log/12/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/12/test1133,and;.txt"' -F 'file3=@"log/12/test1133,and;.txt";type=m/f,"log/12/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/12/stdout1133 2> log/12/stderr1133 1133: 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 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/12/valgrind1133 ../src/curl -q --output log/12/curl1133.out --include --trace-ascii log/12/trace1133 --trace-time http://127.0.0.1:46819/we/want/1133 -F "file=@\"log/12/test1133,and;.txt\";type=mo/foo;filename=\"faker,and;.txt\"" -F 'file2=@"log/12/test1133,and;.txt"' -F 'file3=@"log/12/test1133,and;.txt";type=m/f,"log/12/test1133,and;.txt"' -F a="{\"field1\":\"value1\",\"field2\":\"value2\"}" -F 'b=" \\value1;type=\"whatever\" "; type=text/foo; charset=utf-8 ; filename=param_b' > log/12/stdout1133 2> log/12/stderr1133 === End of file commands.log === Start of file http_server.log 19:01:31.305875 ====> Client connect 19:01:31.305914 accept_connection 3 returned 4 19:01:31.305933 accept_connection 3 returned 0 19:01:31.305950 Read 93 bytes 19:01:31.305961 Process 93 bytes request 19:01:31.305977 Got request: GET /verifiedserver HTTP/1.1 19:01:31.305987 Are-we-friendly question received 19:01:31.306018 Wrote request (93 bytes) input to log/12/server.input 19:01:31.306036 Identifying ourselves as friends 19:01:31.306099 Response sent (56 bytes) and written to log/12/server.response 19:01:31.306113 special request received, no persistency 19:01:31.306124 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 33322 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === 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 ==138453== ==138453== Process terminating with default action of signal 4 (SIGILL) ==138453== Illegal opcode at address 0x4013E00 ==138453== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138453== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138453== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138453== by 0x40037A4: 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/7/valgrind1138 ../src/curl -q --output log/7/curl1138.out --include --trace-ascii log/7/trace1138 --trace-time http://127.0.0.1:41017/we/are/all/twits/1138 -L > log/7/stdout1138 2> log/7/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/20/valgrind1137 ../src/curl -q --output log/20/curl1137.out --include --trace-ascii log/20/trace1137 --trace-time ftp://127.0.0.1:39091/1137 --ignore-content-length > log/20/stdout1137 2> log/20/stderr1137 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/18/valgrind1136 ../src/curl -q --output log/18/curl1136.out --include --trace-ascii log/18/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/18/jar1136.txt -x 127.0.0.1:39771 > log/18/stdout1136 2> log/18/stderr1136 1136: data FAILED: --- log/18/check-expected 2025-11-13 19:01:32.626058193 +0000 +++ log/18/check-generated 2025-11-13 19:01:32.626058193 +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/18/ 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/18/valgrind1136 ../src/curl -q --output log/18/curl1136.out --include --trace-ascii log/18/trace1136 --trace-time http://www.example.ck/1136 http://www.ck/1136 http://z-1.compute-1.amazonaws.com/1136 -b none -c log/18/jar1136.txt -x 127.0.0.1:39771 > log/18/stdout1136 2> log/18/stderr1136 === End of file commands.log === Start of file http_server.log 19:01:31.359829 ====> Client connect 19:01:31.359867 accept_connection 3 returned 4 19:01:31.359886 accept_connection 3 returned 0 19:01:31.359904 Read 93 bytes 19:01:31.359915 Process 93 bytes request 19:01:31.359930 Got request: GET /verifiedserver HTTP/1.1 19:01:31.359940 Are-we-friendly question received 19:01:31.359968 Wrote request (93 bytes) input to log/18/server.input 19:01:31.359988 Identifying ourselves as friends 19:01:31.360048 Response sent (56 bytes) and written to log/18/server.response 19:01:31.360061 special request received, no persistency 19:01:31.360072 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 48940 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind1136 ==138540== ==138540== Process terminating with default action of signal 4 (SIGILL) ==138540== Illegal opcode at address 0x4013E00 ==138540== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138540== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138540== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138540== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1136 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/7/valgrind1138 ../src/curl -q --output log/7/curl1138.out --include --trace-ascii log/7/trace1138 --trace-time http://127.0.0.1:41017/we/are/all/twits/1138 -L > log/7/stdout1138 2> log/7/stderr1138 1138: 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 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/7/valgrind1138 ../src/curl -q --output log/7/curl1138.out --include --trace-ascii log/7/trace1138 --trace-time http://127.0.0.1:41017/we/are/all/twits/1138 -L > log/7/stdout1138 2> log/7/stderr1138 === End of file commands.log === Start of file http_server.log 19:01:31.478683 ====> Client connect 19:01:31.478718 accept_connection 3 returned 4 19:01:31.478733 accept_connection 3 returned 0 19:01:31.478753 Read 93 bytes 19:01:31.478763 Process 93 bytes request 19:01:31.478776 Got request: GET /verifiedserver HTTP/1.1 19:01:31.478785 Are-we-friendly question received 19:01:31.478811 Wrote request (93 bytes) input to log/7/server.input 19:01:31.478828 Identifying ourselves as friends 19:01:31.478910 Response sent (56 bytes) and written to log/7/server.response 19:01:31.478922 special request received, no persistency 19:01:31.478932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 39568 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind1138 ==138713== ==138713== Process terminating with default action of signal 4 (SIGILL) ==138713== Illegal opcode at address 0x4013E00 ==138713== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138713== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138713== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138713== by 0x40037A4: 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/20/valgrind1137 ../src/curl -q --output log/20/curl1137.out --include --trace-ascii log/20/trace1137 --trace-time ftp://127.0.0.1:39091/1137 --ignore-content-length > log/20/stdout1137 2> log/20/stderr1137 1137: 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 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/20/valgrind1137 ../src/curl -q --output log/20/curl1137.out --include --trace-ascii log/20/trace1137 --trace-time ftp://127.0.0.1:39091/1137 --ignore-content-length > log/20/stdout1137 2> log/20/stderr1137 === End of file commands.log === Start of file ftp_server.log 19:01:31.6192CMD (33792): ../libtool --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/valgrind1145 ../src/curl -q --output log/23/curl1145.out --include --trace-ascii log/23/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/23/test1145.txt > log/23/stdout1145 2> log/23/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/22/valgrind1144 ../src/curl -q --output log/22/curl1144.out --include --trace-ascii log/22/trace1144 --trace-time -I http://127.0.0.1:41061/1144 --http0.9 > log/22/stdout1144 2> log/22/stderr1144 29 ====> Client connect 19:01:31.619405 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:31.619702 < "USER anonymous" 19:01:31.619737 > "331 We are happy you popped in![CR][LF]" 19:01:31.619926 < "PASS ftp@example.com" 19:01:31.619956 > "230 Welcome you silly person[CR][LF]" 19:01:31.620118 < "PWD" 19:01:31.620149 > "257 "/" is current directory[CR][LF]" 19:01:31.620314 < "EPSV" 19:01:31.620338 ====> Passive DATA channel requested by client 19:01:31.620352 DATA sockfilt for passive data channel starting... 19:01:31.628751 DATA sockfilt for passive data channel started (pid 138565) 19:01:31.628912 DATA sockfilt for passive data channel listens on port 33697 19:01:31.628966 > "229 Entering Passive Mode (|||33697|)[CR][LF]" 19:01:31.628985 Client has been notified that DATA conn will be accepted on port 33697 19:01:31.629305 Client connects to port 33697 19:01:31.629336 ====> Client established passive DATA connection on port 33697 19:01:31.629431 < "TYPE I" 19:01:31.629465 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:31.629636 < "SIZE verifiedserver" 19:01:31.629674 > "213 17[CR][LF]" 19:01:31.629833 < "RETR verifiedserver" 19:01:31.629869 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:31.629955 =====> Closing passive DATA connection... 19:01:31.629972 Server disconnects passive DATA connection 19:01:31.630175 Server disconnected passive DATA connection 19:01:31.630201 DATA sockfilt for passive data channel quits (pid 138565) 19:01:31.630499 DATA sockfilt for passive data channel quit (pid 138565) 19:01:31.630525 =====> Closed passive DATA connection 19:01:31.630554 > "226 File transfer complete[CR][LF]" 19:01:31.677126 < "QUIT" 19:01:31.677180 > "221 bye bye baby[CR][LF]" 19:01:31.678141 MAIN sockfilt said DISC 19:01:31.678168 ====> Client disconnected 19:01:31.678230 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:31.391159 ====> Client connect 19:01:31.391475 Received DATA (on stdin) 19:01:31.391492 > 160 bytes data, server => client 19:01:31.391506 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:31.391519 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:31.391532 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:31.391612 < 16 bytes data, client => server 19:01:31.391626 'USER anonymous\r\n' 19:01:31.391798 Received DATA (on stdin) 19:01:31.391812 > 33 bytes data, server => client 19:01:31.391825 '331 We are happy you popped in!\r\n' 19:01:31.391882 < 22 bytes data, client => server 19:01:31.391897 'PASS ftp@example.com\r\n' 19:01:31.392014 Received DATA (on stdin) 19:01:31.392028 > 30 bytes data, server => client 19:01:31.392041 '230 Welcome you silly person\r\n' 19:01:31.392091 < 5 bytes data, client => server 19:01:31.392103 'PWD\r\n' 19:01:31.392204 Received DATA (on stdin) 19:01:31.392217 > 30 bytes data, server => client 19:01:31.392229 '257 "/" is current directory\r\n' 19:01:31.392286 < 6 bytes data, client => server 19:01:31.392299 'EPSV\r\n' 19:01:31.401052 Received DATA (on stdin) 19:01:31.401072 > 39 bytes data, server => client 19:01:31.401085 '229 Entering Passive Mode (|||33697|)\r\n' 19:01:31.401277 < 8 bytes data, client => server 19:01:31.401293 'TYPE I\r\n' 19:01:31.401523 Received DATA (on stdin) 19:01:31.401536 > 33 bytes data, server => client 19:01:31.401549 '200 I modify TYPE as you wanted\r\n' 19:01:31.401606 < 21 bytes data, client => server 19:01:31.401620 'SIZE verifiedserver\r\n' 19:01:31.401733 Received DATA (on stdin) 19:01:31.401746 > 8 bytes data, server => client 19:01:31.401757 '213 17\r\n' 19:01:31.401805 < 21 bytes data, client => server 19:01:31.401817 'RETR verifiedserver\r\n' 19:01:31.402031 Received DATA (on stdin) 19:01:31.402044 > 29 bytes data, server => client 19:01:31.402057 '150 Binary junk (17 bytes).\r\n' 19:01:31.402612 Received DATA (on stdin) 19:01:31.402626 > 28 bytes data, server => client 19:01:31.402639 '226 File transfer complete\r\n' 19:01:31.449003 < 6 bytes data, client => server 19:01:31.449033 'QUIT\r\n' 19:01:31.449241 Received DATA (on stdin) 19:01:31.449254 > 18 bytes data, server => client 19:01:31.449266 '221 bye bye baby\r\n' 19:01:31.450149 ====> Client disconnect 19:01:31.450284 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:31.394641 Running IPv4 version 19:01:31.397935 Listening on port 33697 19:01:31.397981 Wrote pid 138565 to log/20/server/ftp_sockdata.pid 19:01:31.398006 Received PING (on stdin) 19:01:31.400864 Received PORT (on stdin) 19:01:31.401314 ====> Client connect 19:01:31.402111 Received DATA (on stdin) 19:01:31.402126 > 17 bytes data, server => client 19:01:31.402140 'WE ROOLZ: 80693\r\n' 19:01:31.402168 Received DISC (on stdin) 19:01:31.402181 ====> Client forcibly disconnected 19:01:31.402326 Received QUIT (on stdin) 19:01:31.402341 quits 19:01:31.402404 ============> 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 ==138681== ==138681== Process terminating with default action of signal 4 (SIGILL) ==138681== Illegal opcode at address 0x4013E00 ==138681== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138681== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138681== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138681== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1137 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/23/valgrind1145 ../src/curl -q --output log/23/curl1145.out --include --trace-ascii log/23/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/23/test1145.txt > log/23/stdout1145 2> log/23/stderr1145 curl returned 132, when expecting 3 1145: exit FAILED == Contents of files in the log/23/ 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/23/valgrind1145 ../src/curl -q --output log/23/curl1145.out --include --trace-ascii log/23/trace1145 --trace-time file://bad-host/startdir/src/build-curl/tests/log/23/test1145.txt > log/23/stdout1145 2> log/23/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 ==138862== ==138862== Process terminating with default action of signal 4 (SIGILL) ==138862== Illegal opcode at address 0x4013E00 ==138862== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138862== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138862== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138862== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1145 test 1144...[HTTP HEAD, receive no headers only 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/valgrind1144 ../src/curl -q --output log/22/curl1144.out --include --trace-ascii log/22/trace1144 --trace-time -I http://127.0.0.1:41061/1144 --http0.9 > log/22/stdout1144 2> log/22/stderr1144 1144: 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 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/22/valgrind1144 ../src/curl -q CMD (33792): ../libtool --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/valgrind1141 ../src/curl -q --output log/10/curl1141.out --include --trace-ascii log/10/trace1141 --trace-time 127.0.0.1:37879/want/1141 -L -x http://127.0.0.1:37879 > log/10/stdout1141 2> log/10/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/valgrind1142 ../src/curl -q --output log/15/curl1142.out --include --trace-ascii log/15/trace1142 --trace-time 127.0.0.1:44531/want/1142 -L -x http://127.0.0.1:44531 > log/15/stdout1142 2> log/15/stderr1142 CMD (33792): ../libtool --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/valgrind1143 ../src/curl -q --output log/17/curl1143.out --include --trace-ascii log/17/trace1143 --trace-time http:/127.0.0.1:40515/want/1143 > log/17/stdout1143 2> log/17/stderr1143 --output log/22/curl1144.out --include --trace-ascii log/22/trace1144 --trace-time -I http://127.0.0.1:41061/1144 --http0.9 > log/22/stdout1144 2> log/22/stderr1144 === End of file commands.log === Start of file http_server.log 19:01:31.564415 ====> Client connect 19:01:31.564458 accept_connection 3 returned 4 19:01:31.564477 accept_connection 3 returned 0 19:01:31.564493 Read 93 bytes 19:01:31.564505 Process 93 bytes request 19:01:31.564518 Got request: GET /verifiedserver HTTP/1.1 19:01:31.564529 Are-we-friendly question received 19:01:31.564556 Wrote request (93 bytes) input to log/22/server.input 19:01:31.564575 Identifying ourselves as friends 19:01:31.564634 Response sent (56 bytes) and written to log/22/server.response 19:01:31.564647 special request received, no persistency 19:01:31.564657 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 56014 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind1144 ==138931== ==138931== Process terminating with default action of signal 4 (SIGILL) ==138931== Illegal opcode at address 0x4013E00 ==138931== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138931== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138931== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138931== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1144 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/10/valgrind1141 ../src/curl -q --output log/10/curl1141.out --include --trace-ascii log/10/trace1141 --trace-time 127.0.0.1:37879/want/1141 -L -x http://127.0.0.1:37879 > log/10/stdout1141 2> log/10/stderr1141 1141: 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 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/10/valgrind1141 ../src/curl -q --output log/10/curl1141.out --include --trace-ascii log/10/trace1141 --trace-time 127.0.0.1:37879/want/1141 -L -x http://127.0.0.1:37879 > log/10/stdout1141 2> log/10/stderr1141 === End of file commands.log === Start of file http_server.log 19:01:31.529078 ====> Client connect 19:01:31.529117 accept_connection 3 returned 4 19:01:31.529137 accept_connection 3 returned 0 19:01:31.529154 Read 93 bytes 19:01:31.529166 Process 93 bytes request 19:01:31.529181 Got request: GET /verifiedserver HTTP/1.1 19:01:31.529193 Are-we-friendly question received 19:01:31.529222 Wrote request (93 bytes) input to log/10/server.input 19:01:31.529241 Identifying ourselves as friends 19:01:31.529303 Response sent (56 bytes) and written to log/10/server.response 19:01:31.529316 special request received, no persistency 19:01:31.529326 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 34156 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1141 ==138826== ==138826== Process terminating with default action of signal 4 (SIGILL) ==138826== Illegal opcode at address 0x4013E00 ==138826== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138826== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138826== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138826== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1141 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/15/valgrind1142 ../src/curl -q --output log/15/curl1142.out --include --trace-ascii log/15/trace1142 --trace-time 127.0.0.1:44531/want/1142 -L -x http://127.0.0.1:44531 > log/15/stdout1142 2> log/15/stderr1142 1142: 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 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/15/valgrind1142 ../src/curl -q --output log/15/curl1142.out --include --trace-ascii log/15/trace1142 --trace-time 127.0.0.1:44531/want/1142 -L -x http://127.0.0.1:44531 > log/15/stdout1142 2> log/15/stderr1142 === End of file commands.log === Start of file http_server.log 19:01:31.546105 ====> Client connect 19:01:31.546139 accept_connection 3 returned 4 19:01:31.546156 accept_connection 3 returned 0 19:01:31.546172 Read 93 bytes 19:01:31.546183 Process 93 bytes request 19:01:31.546198 Got request: GET /verifiedserver HTTP/1.1 19:01:31.546208 Are-we-friendly question received 19:01:31.546232 Wrote request (93 bytes) input to log/15/server.input 19:01:31.546249 Identifying ourselves as friends 19:01:31.546304 Response sent (56 bytes) and written to log/15/server.response 19:01:31.546316 special request received, no persistency 19:01:31.546326 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 44572 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind1142 ==138861== ==138861== Process terminating with default action of signal 4 (SIGILL) ==138861== Illegal opcode at address 0x4013E00 ==138861== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138861== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138861== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138861== by 0x40037A4: 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/CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1165.pl /startdir/src/curl/tests/.. > log/23/stdout1165 2> log/23/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/11/valgrind1146 ../src/curl -q --output log/11/curl1146.out --trace-ascii log/11/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/11/test1146.txt > log/11/stdout1146 2> log/11/stderr1146 17/valgrind1143 ../src/curl -q --output log/17/curl1143.out --include --trace-ascii log/17/trace1143 --trace-time http:/127.0.0.1:40515/want/1143 > log/17/stdout1143 2> log/17/stderr1143 1143: 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 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/17/valgrind1143 ../src/curl -q --output log/17/curl1143.out --include --trace-ascii log/17/trace1143 --trace-time http:/127.0.0.1:40515/want/1143 > log/17/stdout1143 2> log/17/stderr1143 === End of file commands.log === Start of file http_server.log 19:01:32.560607 ====> Client connect 19:01:32.560642 accept_connection 3 returned 4 19:01:32.560659 accept_connection 3 returned 0 19:01:32.560673 Read 93 bytes 19:01:32.560684 Process 93 bytes request 19:01:32.560698 Got request: GET /verifiedserver HTTP/1.1 19:01:32.560708 Are-we-friendly question received 19:01:32.560733 Wrote request (93 bytes) input to log/17/server.input 19:01:32.560750 Identifying ourselves as friends 19:01:32.560876 Response sent (56 bytes) and written to log/17/server.response 19:01:32.560891 special request received, no persistency 19:01:32.560900 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 45722 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind1143 ==138934== ==138934== Process terminating with default action of signal 4 (SIGILL) ==138934== Illegal opcode at address 0x4013E00 ==138934== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138934== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138934== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138934== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1143 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/23/stdout1165 2> log/23/stderr1165 valgrind SKIPPED -------e--- OK (1106 out of 1746, remaining: 00:58, took 0.064s, duration: 01:40) CMD (31488): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/runtests.pl -L /startdir/src/build-curl/tests/log/17/test1169-library.pl > log/17/stdout1169 2> log/17/stderr1169 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1167.pl /startdir/src/curl/tests/.. > log/10/stdout1167 2> log/10/stderr1167 CMD (33792): ../libtool --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/valgrind1147 ../src/curl -q --output log/16/curl1147.out --include --trace-ascii log/16/trace1147 --trace-time http://127.0.0.1:42747/1147 -H @log/16/heads1147.txt > log/16/stdout1147 2> log/16/stderr1147 CMD (33792): ../libtool --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:36745/1148 -# --stderr log/9/stderrlog1148 > log/9/stdout1148 2> log/9/stderr1148 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/11/valgrind1146 ../src/curl -q --output log/11/curl1146.out --trace-ascii log/11/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/11/test1146.txt > log/11/stdout1146 2> log/11/stderr1146 1146: data FAILED: --- log/11/check-expected 2025-11-13 19:01:32.952724862 +0000 +++ log/11/check-generated 2025-11-13 19:01:32.952724862 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/11/ 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/11/valgrind1146 ../src/curl -q --output log/11/curl1146.out --trace-ascii log/11/trace1146 --trace-time --proto-default file /startdir/src/build-curl/tests/log/11/test1146.txt > log/11/stdout1146 2> log/11/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 ==138922== ==138922== Process terminating with default action of signal 4 (SIGILL) ==138922== Illegal opcode at address 0x4013E00 ==138922== at 0x4013E00: getparameter (tool_getparam.c:2846) ==138922== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==138922== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==138922== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1146 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/17/test1169-library.pl > log/17/stdout1169 2> log/17/stderr1169 valgrind SKIPPED -------e--- OK (1110 out of 1746, remaining: 00:57, took 0.092s, duration: 01:40) 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/10/stdout1167 2> log/10/stderr1167 valgrind SKIPPED -------e--- OK (1108 out of 1746, remaining: 00:58, took 0.206s, duration: 01:40) 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/16/valgrind1147 ../src/curl -q --output log/16/curl1147.out --include --trace-ascii log/16/trace1147 --trace-time http://127.0.0.1:42747/1147 -H @log/16/heads1147.txt > log/16/stdout1147 2> log/16/stderr1147 1147: 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 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/16/valgrind1147 ../src/curl -q --output log/16/curl1147.out --include --trace-ascii log/16/trace1147 --trace-time http://127.0.0.1:42747/1147 -H @log/16/heads1147.txt > log/16/stdout1147 2> log/16/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 19:01:32.782576 ====> Client connect 19:01:32.782635 accept_connection 3 returned 4 19:01:32.782653 accept_connection 3 returned 0 19:01:32.782669 Read 93 bytes 19:01:32.782680 Process 93 bytes request 19:01:32.782694 Got request: GET /verifiedserver HTTP/1.1 19:01:32.782706 Are-we-friendly question received 19:01:32.782730 Wrote request (93 bytes) input to log/16/server.input 19:01:32.782748 Identifying ourselves as friends 19:01:32.782803 Response sent (56 bytes) and written to log/16/server.response 19:01:32.782815 special request received, no persistency 19:01:32.782826 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 51320 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind1147 ==139213== ==139213== Process terminating with default action of signal 4 (SIGILL) ==139213== Illegal opcode at address 0x4013E00 ==139213== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139213== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139213== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139213== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1147 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:36745/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:36745/1148 -# --stderr log/9/stderrlog1148 > log/9/stdout1148 2> log/9/stderr1148 === End of file commands.log === Start of file http_server.log 19:01:31.779975 ====> Client connect 19:01:31.780012 accept_connection 3 returned 4 19:01:31.780030 accept_connection 3 returned 0 19:01:31.780046 Read 93 bytes 19:01:31.780057 Process 93 bytes request 19:01:31.780072 Got request: GET /verifiedserver HTTP/1.1 19:01:31.780082 Are-we-friendly question received 19:01:31.780106 Wrote request (93 bytes) input to log/9/server.input 19:01:31.780125 Identifying ourselves as friends 19:01:31.780177 Response sent (56 bytes) and written to log/9/server.response 19:01:31.780188 special request received, no persistency 19:01:31.780199 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 40276 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind1148 ==139205== ==139205== Process terminating with default action of signal 4 (SIGILL) ==139205== Illegal opcode at address 0x401CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1175.pl /startdir/src/curl/tests/.. > log/9/stdout1175 2> log/9/stderr1175 CMD (33792): ../libtool --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/valgrind1150 ../src/curl -q --output log/8/curl1150.out --include --trace-ascii log/8/trace1150 --trace-time --proxy http://127.0.0.1:43853 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/8/stdout1150 2> log/8/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/14/valgrind1149 ../src/curl -q --output log/14/curl1149.out --include --trace-ascii log/14/trace1149 --trace-time ftp://127.0.0.1:35357/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:35357/list/this/path/1149/ --ftp-method nocwd > log/14/stdout1149 2> log/14/stderr1149 3E00 ==139205== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139205== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139205== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139205== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1148 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/9/stdout1175 2> log/9/stderr1175 valgrind SKIPPED -------e--- OK (1116 out of 1746, remaining: 00:56, took 0.023s, duration: 01:40) 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/8/valgrind1150 ../src/curl -q --output log/8/curl1150.out --include --trace-ascii log/8/trace1150 --trace-time --proxy http://127.0.0.1:43853 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/8/stdout1150 2> log/8/stderr1150 1150: 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 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/8/valgrind1150 ../src/curl -q --output log/8/curl1150.out --include --trace-ascii log/8/trace1150 --trace-time --proxy http://127.0.0.1:43853 http://test.remote.example.com.1150:150/path http://test.remote.example.com.1150:1234/path/ > log/8/stdout1150 2> log/8/stderr1150 === End of file commands.log === Start of file http_server.log 19:01:31.830011 ====> Client connect 19:01:31.830048 accept_connection 3 returned 4 19:01:31.830067 accept_connection 3 returned 0 19:01:31.830084 Read 93 bytes 19:01:31.830094 Process 93 bytes request 19:01:31.830108 Got request: GET /verifiedserver HTTP/1.1 19:01:31.830119 Are-we-friendly question received 19:01:31.830147 Wrote request (93 bytes) input to log/8/server.input 19:01:31.830165 Identifying ourselves as friends 19:01:31.830221 Response sent (56 bytes) and written to log/8/server.response 19:01:31.830232 special request received, no persistency 19:01:31.830242 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 47366 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1150 ==139306== ==139306== Process terminating with default action of signal 4 (SIGILL) ==139306== Illegal opcode at address 0x4013E00 ==139306== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139306== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139306== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139306== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1150 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/14/valgrind1149 ../src/curl -q --output log/14/curl1149.out --include --trace-ascii log/14/trace1149 --trace-time ftp://127.0.0.1:35357/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:35357/list/this/path/1149/ --ftp-method nocwd > log/14/stdout1149 2> log/14/stderr1149 1149: 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 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/14/valgrind1149 ../src/curl -q --output log/14/curl1149.out --include --trace-ascii log/14/trace1149 --trace-time ftp://127.0.0.1:35357/list/this/path/1149/ --ftp-method multicwd --next ftp://127.0.0.1:35357/list/this/path/1149/ --ftp-method nocwd > log/14/stdout1149 2> log/14/stderr1149 === End of file commands.log === Start of file ftp_server.log 19:01:32.029285 ====> Client connect 19:01:32.029440 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:32.029754 < "USER anonymous" 19:01:32.029801 > "331 We are happy you popped in![CR][LF]" 19:01:32.029989 < "PASS ftp@example.com" 19:01:32.030019 > "230 Welcome you silly person[CR][LF]" 19:01:32.030181 < "PWD" 19:01:32.030214 > "257 "/" is current directory[CR][LF]" 19:01:32.030383 < "EPSV" 19:01:32.030407 ====> Passive DATA channel requested by client 19:01:32.030421 DATA sockfilt for passive data channel starting... 19:01:32.033535 DATA sockfilt for passive data channel started (pid 139225) 19:01:32.033905 DATA sockfilt for passive data channel listens on port 34081 19:01:32.033976 > "229 Entering Passive Mode (|||34081|)[CR][LF]" 19:01:32.034000 Client has been notified that DATA conn will be accepted on port 34081 19:01:32.034324 Client connects to port 34081 19:01:32.034358 ====> Client established passive DATA connection on port 34081 19:01:32.034453 < "TYPE I" 19:01:32.034488 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:32.034844 < "SIZE verifiedserver" 19:01:32.034892 > "213 17[CR][LF]" 19:01:32.035074 < "RETR verifiedserver" 19:01:32.035111 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:32.035196 =====> Closing passive DATA connection... 19:01:32.035216 Server disconnects passive DATA connection 19:01:32.035490 Server disconnected passive DATA connection 19:01:32.035522 DATA sockfilt for passive data channel quits (pid 139225) 19:01:32.035752 DATA sockfilt for passive data channel quit (pid 139225) 19:01:32.035781 =====> Closed passive DATA connection 19:01:32.035811 > "226 File transfer complete[CR][LF]" 19:01:32.082350 < "QUIT" 19:01:32.082410 > "221 bye bye baby[CR][LF]" 19:01:32.083454 MAIN sockfilt said DISC 19:01:32.083489 ====> Client disconnected 19:01:32.083572 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:32.801230 ====> Client connect 19:01:32.801514 Received DATA (on stdin) 19:01:32.801531 > 160 bytes data, server => client 19:01:32.801544 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:32.801557 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:32.801568 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:32.801649 < 16 bytes data, client => server 19:01:32.801662 'USER anonymous\r\n' 19:01:32.801863 Received DATA (on stdin) 19:01:32.801877 > 33 bytes data, server => client 19:01:32.801890 '331 We are happy you popped in!\r\n' 19:01:32.801943 < 22 bytes data, client => server 19:01:32.801956 'PASS ftp@example.com\r\n' 19:01:32.802077 Received DATA (on stdin) 19:01:32.802090 > 30 bytes data, server => client 19:01:32.802102 '230 Welcome you silly person\r\n' 19:01:32.802151 < 5 bytes data, client => server 19:01:32.802163 'PWD\r\n' 19:01:32.802271 Received DATA (on stdin) 19:01:32.802283 > 30 bytes data, server => client 19:01:32.802295 '257 "/" is current directory\r\n' 19:01:32.802357 < 6 bytes data, client => server 19:01:32.802369 'EPSV\r\n' 19:01:32.806070 Received DATCMD (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/8/stdout1177 2> log/8/stderr1177 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/10/stdout1173 2> log/10/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/5/valgrind1151 ../src/curl -q --output log/5/curl1151.out --include --trace-ascii log/5/trace1151 --trace-time http://127.0.0.1:46771/1151 -c log/5/cookies1151.txt > log/5/stdout1151 2> log/5/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/13/valgrind1153 ../src/curl -q --output log/13/curl1153.out --include --trace-ascii log/13/trace1153 --trace-time ftp://127.0.0.1:40887/test-1153/ > log/13/stdout1153 2> log/13/stderr1153 A (on stdin) 19:01:32.806091 > 39 bytes data, server => client 19:01:32.806105 '229 Entering Passive Mode (|||34081|)\r\n' 19:01:32.806284 < 8 bytes data, client => server 19:01:32.806304 'TYPE I\r\n' 19:01:32.806549 Received DATA (on stdin) 19:01:32.806564 > 33 bytes data, server => client 19:01:32.806576 '200 I modify TYPE as you wanted\r\n' 19:01:32.806633 < 21 bytes data, client => server 19:01:32.806649 'SIZE verifiedserver\r\n' 19:01:32.806955 Received DATA (on stdin) 19:01:32.806971 > 8 bytes data, server => client 19:01:32.806983 '213 17\r\n' 19:01:32.807038 < 21 bytes data, client => server 19:01:32.807052 'RETR verifiedserver\r\n' 19:01:32.807277 Received DATA (on stdin) 19:01:32.807291 > 29 bytes data, server => client 19:01:32.807304 '150 Binary junk (17 bytes).\r\n' 19:01:32.807870 Received DATA (on stdin) 19:01:32.807885 > 28 bytes data, server => client 19:01:32.807897 '226 File transfer complete\r\n' 19:01:32.854145 < 6 bytes data, client => server 19:01:32.854209 'QUIT\r\n' 19:01:32.854479 Received DATA (on stdin) 19:01:32.854493 > 18 bytes data, server => client 19:01:32.854505 '221 bye bye baby\r\n' 19:01:32.855456 ====> Client disconnect 19:01:32.855627 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:32.805402 Running IPv4 version 19:01:32.805467 Listening on port 34081 19:01:32.805509 Wrote pid 139225 to log/14/server/ftp_sockdata.pid 19:01:32.805533 Received PING (on stdin) 19:01:32.805826 Received PORT (on stdin) 19:01:32.806327 ====> Client connect 19:01:32.807332 Received DATA (on stdin) 19:01:32.807347 > 17 bytes data, server => client 19:01:32.807360 'WE ROOLZ: 80651\r\n' 19:01:32.807389 Received DISC (on stdin) 19:01:32.807402 ====> Client forcibly disconnected 19:01:32.807589 Received QUIT (on stdin) 19:01:32.807602 quits 19:01:32.807663 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1149 === End of file server.cmd === Start of file valgrind1149 ==139341== ==139341== Process terminating with default action of signal 4 (SIGILL) ==139341== Illegal opcode at address 0x4013E00 ==139341== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139341== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139341== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139341== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1149 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/8/stdout1177 2> log/8/stderr1177 valgrind SKIPPED -------e--- OK (1118 out of 1746, remaining: 00:56, took 0.018s, duration: 01:40) 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/10/stdout1173 2> log/10/stderr1173 valgrind SKIPPED -r-----e--- OK (1114 out of 1746, remaining: 00:57, took 0.124s, duration: 01:40) 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/5/valgrind1151 ../src/curl -q --output log/5/curl1151.out --include --trace-ascii log/5/trace1151 --trace-time http://127.0.0.1:46771/1151 -c log/5/cookies1151.txt > log/5/stdout1151 2> log/5/stderr1151 1151: 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 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/5/valgrind1151 ../src/curl -q --output log/5/curl1151.out --include --trace-ascii log/5/trace1151 --trace-time http://127.0.0.1:46771/1151 -c log/5/cookies1151.txt > log/5/stdout1151 2> log/5/stderr1151 === End of file commands.log === Start of file http_server.log 19:01:32.051305 ====> Client connect 19:01:32.051341 accept_connection 3 returned 4 19:01:32.051359 accept_connection 3 returned 0 19:01:32.051375 Read 93 bytes 19:01:32.051385 Process 93 bytes request 19:01:32.051399 Got request: GET /verifiedserver HTTP/1.1 19:01:32.051409 Are-we-friendly question received 19:01:32.051434 Wrote request (93 bytes) input to log/5/server.input 19:01:32.051451 Identifying ourselves as friends 19:01:32.051505 Response sent (56 bytes) and written to log/5/server.response 19:01:32.051516 special request received, no persistency 19:01:32.051526 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 49470 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1151 ==139491== ==139491== Process terminating with default action of signal 4 (SIGILL) ==139491== Illegal opcode at address 0x4013E00 ==139491== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139491== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139491== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139491== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1151 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/13/valgrind1153 ../src/curl -q --output log/13/curl1153.out --include --trace-ascii log/13/trace1153 --trace-time ftp://127.0.0.1:40887/test-1153/ > log/13/stdout1153 2> log/13/stderr1153 1153: 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 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/13/valgrind1153 ../src/curl -q --output log/13/curl1153.out --include --trace-ascii log/13/trace1153 --trace-time ftp://127.0.0.1:40887/test-1153/ > log/13/stdout1153 2> log/13/stderr1153 === End of file commands.log === Start of file ftp_server.log 19:01:32.305547 ====> Client connect 19:01:32.305725 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:32.306058 < "USER anonymous" 19:01:32.306105 > "331 We are happy you popped in![CR][LF]" 19:01:32.306318 < "PASS ftp@example.com" 19:01:32.306352 > "230 Welcome you silly person[CR][LF]" 19:01:32.306533 < "PWD" 19:01:32.306569 > "257 "/" is current directory[CR][LF]" 19:01:32.306757 < "EPSV" 19:01:32.306785 ====> Passive DATA channel requested by client 19:01:32.306800 DATA sockfilt for passive data channel starting... 19:01:32.308986 DATA sockfilt for passive data channel started (pid 139507) 19:01:CMD (33792): ../libtool --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/valgrind1152 ../src/curl -q --output log/3/curl1152.out --include --trace-ascii log/3/trace1152 --trace-time ftp://127.0.0.1:36301/test-1152/ > log/3/stdout1152 2> log/3/stderr1152 32.309134 DATA sockfilt for passive data channel listens on port 36107 19:01:32.309191 > "229 Entering Passive Mode (|||36107|)[CR][LF]" 19:01:32.309212 Client has been notified that DATA conn will be accepted on port 36107 19:01:32.309494 Client connects to port 36107 19:01:32.309526 ====> Client established passive DATA connection on port 36107 19:01:32.309616 < "TYPE I" 19:01:32.309652 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:32.309837 < "SIZE verifiedserver" 19:01:32.309880 > "213 17[CR][LF]" 19:01:32.310056 < "RETR verifiedserver" 19:01:32.310092 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:32.310181 =====> Closing passive DATA connection... 19:01:32.310200 Server disconnects passive DATA connection 19:01:32.310455 Server disconnected passive DATA connection 19:01:32.310487 DATA sockfilt for passive data channel quits (pid 139507) 19:01:32.310696 DATA sockfilt for passive data channel quit (pid 139507) 19:01:32.310722 =====> Closed passive DATA connection 19:01:32.310752 > "226 File transfer complete[CR][LF]" 19:01:32.355788 < "QUIT" 19:01:32.355851 > "221 bye bye baby[CR][LF]" 19:01:32.356894 MAIN sockfilt said DISC 19:01:32.356927 ====> Client disconnected 19:01:32.357022 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:32.075027 ====> Client connect 19:01:32.077803 Received DATA (on stdin) 19:01:32.077824 > 160 bytes data, server => client 19:01:32.077838 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:32.077850 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:32.077862 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:32.077949 < 16 bytes data, client => server 19:01:32.077965 'USER anonymous\r\n' 19:01:32.078170 Received DATA (on stdin) 19:01:32.078185 > 33 bytes data, server => client 19:01:32.078198 '331 We are happy you popped in!\r\n' 19:01:32.078258 < 22 bytes data, client => server 19:01:32.078273 'PASS ftp@example.com\r\n' 19:01:32.078412 Received DATA (on stdin) 19:01:32.078426 > 30 bytes data, server => client 19:01:32.078439 '230 Welcome you silly person\r\n' 19:01:32.078493 < 5 bytes data, client => server 19:01:32.078506 'PWD\r\n' 19:01:32.078629 Received DATA (on stdin) 19:01:32.078642 > 30 bytes data, server => client 19:01:32.078655 '257 "/" is current directory\r\n' 19:01:32.078718 < 6 bytes data, client => server 19:01:32.078733 'EPSV\r\n' 19:01:32.081282 Received DATA (on stdin) 19:01:32.081302 > 39 bytes data, server => client 19:01:32.081316 '229 Entering Passive Mode (|||36107|)\r\n' 19:01:32.081460 < 8 bytes data, client => server 19:01:32.081479 'TYPE I\r\n' 19:01:32.081714 Received DATA (on stdin) 19:01:32.081729 > 33 bytes data, server => client 19:01:32.081741 '200 I modify TYPE as you wanted\r\n' 19:01:32.081796 < 21 bytes data, client => server 19:01:32.081812 'SIZE verifiedserver\r\n' 19:01:32.081939 Received DATA (on stdin) 19:01:32.081954 > 8 bytes data, server => client 19:01:32.081966 '213 17\r\n' 19:01:32.082020 < 21 bytes data, client => server 19:01:32.082035 'RETR verifiedserver\r\n' 19:01:32.082354 Received DATA (on stdin) 19:01:32.082369 > 29 bytes data, server => client 19:01:32.082382 '150 Binary junk (17 bytes).\r\n' 19:01:32.082811 Received DATA (on stdin) 19:01:32.082825 > 28 bytes data, server => client 19:01:32.082838 '226 File transfer complete\r\n' 19:01:32.127585 < 6 bytes data, client => server 19:01:32.127646 'QUIT\r\n' 19:01:32.127917 Received DATA (on stdin) 19:01:32.127932 > 18 bytes data, server => client 19:01:32.127945 '221 bye bye baby\r\n' 19:01:32.128894 ====> Client disconnect 19:01:32.129084 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:32.080829 Running IPv4 version 19:01:32.080900 Listening on port 36107 19:01:32.080945 Wrote pid 139507 to log/13/server/ftp_sockdata.pid 19:01:32.080969 Received PING (on stdin) 19:01:32.081090 Received PORT (on stdin) 19:01:32.081501 ====> Client connect 19:01:32.082260 Received DATA (on stdin) 19:01:32.082275 > 17 bytes data, server => client 19:01:32.082287 'WE ROOLZ: 80703\r\n' 19:01:32.082315 Received DISC (on stdin) 19:01:32.082329 ====> Client forcibly disconnected 19:01:32.082552 Received QUIT (on stdin) 19:01:32.082566 quits 19:01:32.082624 ============> 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 ==139557== ==139557== Process terminating with default action of signal 4 (SIGILL) ==139557== Illegal opcode at address 0x4013E00 ==139557== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139557== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139557== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139557== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1153 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/3/valgrind1152 ../src/curl -q --output log/3/curl1152.out --include --trace-ascii log/3/trace1152 --trace-time ftp://127.0.0.1:36301/test-1152/ > log/3/stdout1152 2> log/3/stderr1152 1152: 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 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/3/valgrind1152 ../src/curl -q --output log/3/curl1152.out --include --trace-ascii log/3/trace1152 --trace-time ftp://127.0.0.1:36301/test-1152/ > log/3/stdout1152 2> log/3/stderr1152 === End of file commands.log === Start of file ftp_server.log 19:01:32.298851 ====> Client connect 19:01:32.299014 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:32.299330 < "USER anonymous" 19:01:32.299367 > "331 We are happy you popped in![CR][LF]" 19:01:32.299550 < "PASS ftp@example.com" 19:01:32.299578 > "230 Welcome you silly person[CR][LF]" 19:01:32.299749 < "PWD" 19:01:32.299783 > "257 "/" is current directory[CR][LF]" 19:01:32.299970 < "EPSV" 19:01:32.299996 ====> Passive DATA channel requested by client 19:01:32.300010 DATA sockfilt for passive data channel starting... 19:01:32.302243 DATA sockfilt for passive data channel started (pid 139498) 19:01:32.302361 DATA sockfilt for passive data channel listens on port 40455 19:01:32.302407 > "229 Entering Passive Mode (|||40455|)[CR][LF]" 19:01:32.302429 Client has been notified that DATA conn will be accepted on port 40455 19:01:32.302688 Client connects to port 40455 19:01:32.302719 ====> Client established passive DATA connection on port 40455 19:01:32.302803 < "TYPE I" 19:01:32.302836 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:32.303019 < "SIZE verifiedserver" 19:01:32.303061 > "213 17[CR][LF]" 19:01:32.303242 < "RETR verifiedserver" 19:01:32.303280 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:32.303365 =====> Closing passive DATA connection... 19:01:32.303384 Server disconnects passive DATA connection 19:01:32.303645 Server disconnected passive DATA connection 19:01:32.303678 DATA sockfilt for passive data channel quits (pid 139498) 19:01:32.303902 DATA sockfilt for passive data channel quit (pid 139498) 19:01:32.303931 =====> Closed passive DATA connection 19:01:32.303959 > "226 File transfer complete[CR][LF]" 19:01:32.355787 < "QUIT" 19:01:32.355852 > "221 bye bye baby[CR][LF]" 19:01:32.362138 MAIN sockfilt said DISC 19:01:32.362197 ====> Client disconnected 19:01:32.362288 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:32.070792 ====> Client connect 19:01:32.071087 Received DATA (on stdin) 19CMD (1280): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/13/code1185.c > log/13/stdout1185 2> log/13/stderr1185 CMD (33792): ../libtool --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/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:38611/fully_simulated/DOS/[*\\s-'tl" > log/18/stdout1162 2> log/18/stderr1162 :01:32.071104 > 160 bytes data, server => client 19:01:32.071118 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:32.071130 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:32.071141 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:32.071232 < 16 bytes data, client => server 19:01:32.071248 'USER anonymous\r\n' 19:01:32.071428 Received DATA (on stdin) 19:01:32.071442 > 33 bytes data, server => client 19:01:32.071454 '331 We are happy you popped in!\r\n' 19:01:32.071508 < 22 bytes data, client => server 19:01:32.071522 'PASS ftp@example.com\r\n' 19:01:32.071636 Received DATA (on stdin) 19:01:32.071650 > 30 bytes data, server => client 19:01:32.071662 '230 Welcome you silly person\r\n' 19:01:32.071713 < 5 bytes data, client => server 19:01:32.071727 'PWD\r\n' 19:01:32.071842 Received DATA (on stdin) 19:01:32.071856 > 30 bytes data, server => client 19:01:32.071873 '257 "/" is current directory\r\n' 19:01:32.071935 < 6 bytes data, client => server 19:01:32.071948 'EPSV\r\n' 19:01:32.074493 Received DATA (on stdin) 19:01:32.074508 > 39 bytes data, server => client 19:01:32.074522 '229 Entering Passive Mode (|||40455|)\r\n' 19:01:32.074655 < 8 bytes data, client => server 19:01:32.074674 'TYPE I\r\n' 19:01:32.074897 Received DATA (on stdin) 19:01:32.074912 > 33 bytes data, server => client 19:01:32.074925 '200 I modify TYPE as you wanted\r\n' 19:01:32.074980 < 21 bytes data, client => server 19:01:32.074995 'SIZE verifiedserver\r\n' 19:01:32.075122 Received DATA (on stdin) 19:01:32.075137 > 8 bytes data, server => client 19:01:32.075149 '213 17\r\n' 19:01:32.075202 < 21 bytes data, client => server 19:01:32.075217 'RETR verifiedserver\r\n' 19:01:32.075447 Received DATA (on stdin) 19:01:32.075462 > 29 bytes data, server => client 19:01:32.075474 '150 Binary junk (17 bytes).\r\n' 19:01:32.076019 Received DATA (on stdin) 19:01:32.076034 > 28 bytes data, server => client 19:01:32.076047 '226 File transfer complete\r\n' 19:01:32.127582 < 6 bytes data, client => server 19:01:32.127646 'QUIT\r\n' 19:01:32.127917 Received DATA (on stdin) 19:01:32.127932 > 18 bytes data, server => client 19:01:32.127945 '221 bye bye baby\r\n' 19:01:32.134109 ====> Client disconnect 19:01:32.137433 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:32.073606 Running IPv4 version 19:01:32.073669 Listening on port 40455 19:01:32.073705 Wrote pid 139498 to log/3/server/ftp_sockdata.pid 19:01:32.074232 Received PING (on stdin) 19:01:32.074329 Received PORT (on stdin) 19:01:32.074696 ====> Client connect 19:01:32.075503 Received DATA (on stdin) 19:01:32.075517 > 17 bytes data, server => client 19:01:32.075530 'WE ROOLZ: 80615\r\n' 19:01:32.075554 Received DISC (on stdin) 19:01:32.075567 ====> Client forcibly disconnected 19:01:32.075747 Received QUIT (on stdin) 19:01:32.075761 quits 19:01:32.075818 ============> 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 ==139556== ==139556== Process terminating with default action of signal 4 (SIGILL) ==139556== Illegal opcode at address 0x4013E00 ==139556== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139556== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139556== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139556== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1152 test 1185...[checksrc] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/checksrc.pl -bmagicbad -balsobad log/13/code1185.c > log/13/stdout1185 2> log/13/stderr1185 valgrind SKIPPED s------e--- OK (1123 out of 1746, remaining: 00:56, took 0.050s, duration: 01:41) 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/18/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:38611/fully_simulated/DOS/[*\\s-'tl" > log/18/stdout1162 2> log/18/stderr1162 1162: 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 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/18/valgrind1162 ./libtest/libtests lib576 "ftp://127.0.0.1:38611/fully_simulated/DOS/[*\\s-'tl" > log/18/stdout1162 2> log/18/stderr1162 === End of file commands.log === Start of file ftp_server.log 19:01:32.678707 ====> Client connect 19:01:32.678891 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:32.679162 < "USER anonymous" 19:01:32.679195 > "331 We are happy you popped in![CR][LF]" 19:01:32.679356 < "PASS ftp@example.com" 19:01:32.679383 > "230 Welcome you silly person[CR][LF]" 19:01:32.680219 < "PWD" 19:01:32.680281 > "257 "/" is current directory[CR][LF]" 19:01:32.680578 < "EPSV" 19:01:32.680617 ====> Passive DATA channel requested by client 19:01:32.680636 DATA sockfilt for passive data channel starting... 19:01:32.683765 DATA sockfilt for passive data channel started (pid 140098) 19:01:32.683950 DATA sockfilt for passive data channel listens on port 39615 19:01:32.684006 > "229 Entering Passive Mode (|||39615|)[CR][LF]" 19:01:32.684027 Client has been notified that DATA conn will be accepted on port 39615 19:01:32.684643 Client connects to port 39615 19:01:32.684687 ====> Client established passive DATA connection on port 39615 19:01:32.684792 < "TYPE I" 19:01:32.684826 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:32.686112 < "SIZE verifiedserver" 19:01:32.686162 > "213 17[CR][LF]" 19:01:32.686336 < "RETR verifiedserver" 19:01:32.686370 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:32.686463 =====> Closing passive DATA connection... 19:01:32.686480 Server disconnects passive DATA connection 19:01:32.686747 Server disconnected passive DATA connection 19:01:32.686775 DATA sockfilt for passive data channel quits (pid 140098) 19:01:32.687019 DATA sockfilt for passive data channel quit (pid 140098) 19:01:32.687044 =====> Closed passive DATA connection 19:01:32.687074 > "226 File transfer complete[CR][LF]" 19:01:32.732411 < "QUIT" 19:01:32.732470 > "221 bye bye baby[CR][LF]" 19:01:32.733951 MAIN sockfilt said DISC 19:01:32.733994 ====> Client disconnected 19:01:32.734066 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:33.450630 ====> Client connect 19:01:33.450959 Received DATA (on stdin) 19:01:33.450973 > 160 bytes data, server => client 19:01:33.450986 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:33.450997 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:33.451008 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:33.451079 < 16 bytes data, client => server 19:01:33.451091 'USER anonymous\r\n' 19:01:33.451252 Received DATA (on stdin) 19:01:33.451264 > 33 bytes data, server => client 19:01:33.451275 '331 We are happy you popped in!\r\n' 19:01:33.451323 < 22 bytes data, client => server 19:01:33.451336 'PASS ftp@example.com\r\n' 19:01:33.451966 Received DATA (on stdin) 19:01:33.452012 > 30 bytes data, server => client 19:01:33.452024 '230 Welcome you silly person\r\n' 19:01:33.452077 < 5 bytes data, client => server 19:01:33.452089 'PWD\r\n' 19:01:33.452354 Received DATA (on stdin) 19:01:33.452376 > 30 bytes data, server => client 19:01:33.452390 '257 "/" is current directory\r\n' 19:01:33.452505 < 6 bytes data, client => server 19:01:33.452524 'EPSV\r\n' 19:01:33.456094 Received DATA (on stdin) 19:01:33.456113 > 39 bytes data, server => client 19:01:33.45612CMD (33792): ../libtool --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/valgrind1155 ../src/curl -q --output log/2/curl1155.out --include --trace-ascii log/2/trace1155 --trace-time http://127.0.0.1:44325/1155 -c log/2/cookies1155.txt > log/2/stdout1155 2> log/2/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/19/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:41761/want/1156 > log/19/stdout1156 2> log/19/stderr1156 6 '229 Entering Passive Mode (|||39615|)\r\n' 19:01:33.456330 < 8 bytes data, client => server 19:01:33.456348 'TYPE I\r\n' 19:01:33.457948 Received DATA (on stdin) 19:01:33.457971 > 33 bytes data, server => client 19:01:33.457984 '200 I modify TYPE as you wanted\r\n' 19:01:33.458051 < 21 bytes data, client => server 19:01:33.458065 'SIZE verifiedserver\r\n' 19:01:33.458221 Received DATA (on stdin) 19:01:33.458235 > 8 bytes data, server => client 19:01:33.458247 '213 17\r\n' 19:01:33.458299 < 21 bytes data, client => server 19:01:33.458313 'RETR verifiedserver\r\n' 19:01:33.458541 Received DATA (on stdin) 19:01:33.458555 > 29 bytes data, server => client 19:01:33.458568 '150 Binary junk (17 bytes).\r\n' 19:01:33.459133 Received DATA (on stdin) 19:01:33.459148 > 28 bytes data, server => client 19:01:33.459160 '226 File transfer complete\r\n' 19:01:33.504265 < 6 bytes data, client => server 19:01:33.504299 'QUIT\r\n' 19:01:33.504534 Received DATA (on stdin) 19:01:33.504548 > 18 bytes data, server => client 19:01:33.504560 '221 bye bye baby\r\n' 19:01:33.505500 ====> Client disconnect 19:01:33.506123 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:32.454897 Running IPv4 version 19:01:32.454958 Listening on port 39615 19:01:32.454999 Wrote pid 140098 to log/18/server/ftp_sockdata.pid 19:01:32.455242 Received PING (on stdin) 19:01:32.455892 Received PORT (on stdin) 19:01:32.456642 ====> Client connect 19:01:32.458597 Received DATA (on stdin) 19:01:32.458614 > 17 bytes data, server => client 19:01:32.458626 'WE ROOLZ: 80927\r\n' 19:01:32.458654 Received DISC (on stdin) 19:01:32.458669 ====> Client forcibly disconnected 19:01:32.458842 Received QUIT (on stdin) 19:01:32.458855 quits 19:01:32.458916 ============> 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:38611/fully_simulated/DOS/[*\s-'tl === End of file stderr1162 === Start of file valgrind1162 ==140204== ==140204== Process terminating with default action of signal 4 (SIGILL) ==140204== Illegal opcode at address 0x51D5F1F ==140204== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==140204== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==140204== by 0x51D5F1F: Curl_open (url.c:525) ==140204== by 0x514F6EF: curl_easy_init (easy.c:371) ==140204== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==140204== by 0x400347F: main (first.c:280) ==140204== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==140204== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==140204== by 0x51D5EBD: Curl_open (url.c:504) ==140204== by 0x514F6EF: curl_easy_init (easy.c:371) ==140204== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==140204== by 0x400347F: main (first.c:280) ==140204== === End of file valgrind1162 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/2/valgrind1155 ../src/curl -q --output log/2/curl1155.out --include --trace-ascii log/2/trace1155 --trace-time http://127.0.0.1:44325/1155 -c log/2/cookies1155.txt > log/2/stdout1155 2> log/2/stderr1155 1155: 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 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/2/valgrind1155 ../src/curl -q --output log/2/curl1155.out --include --trace-ascii log/2/trace1155 --trace-time http://127.0.0.1:44325/1155 -c log/2/cookies1155.txt > log/2/stdout1155 2> log/2/stderr1155 === End of file commands.log === Start of file http_server.log 19:01:33.335931 ====> Client connect 19:01:33.335965 accept_connection 3 returned 4 19:01:33.335983 accept_connection 3 returned 0 19:01:33.335999 Read 93 bytes 19:01:33.336010 Process 93 bytes request 19:01:33.336039 Got request: GET /verifiedserver HTTP/1.1 19:01:33.336050 Are-we-friendly question received 19:01:33.336099 Wrote request (93 bytes) input to log/2/server.input 19:01:33.336118 Identifying ourselves as friends 19:01:33.336240 Response sent (56 bytes) and written to log/2/server.response 19:01:33.336302 special request received, no persistency 19:01:33.336371 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 32874 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind1155 ==139710== ==139710== Process terminating with default action of signal 4 (SIGILL) ==139710== Illegal opcode at address 0x4013E00 ==139710== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139710== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139710== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139710== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1155 CMD (33792): ../libtool --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/valgrind1157 ../src/curl -q --output log/6/curl1157.out --include --trace-ascii log/6/trace1157 --trace-time http://127.0.0.1:41595/1157 -H @log/6/heads1157.txt > log/6/stdout1157 2> log/6/stderr1157 CMD (33792): ../libtool --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/valgrind1158 ../src/curl -q --output log/4/curl1158.out --include --trace-ascii log/4/trace1158 --trace-time http://127.0.0.1:37985/we/want/1158 -F "file=@\"log/4/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/4/test1158\".txt"' -F 'file3=@"log/4/test1158\".txt";type=m/f,"log/4/test1158\".txt"' > log/4/stdout1158 2> log/4/stderr1158 CMD (33792): ../libtool --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/valgrind1161 ../src/curl -q --output log/12/curl1161.out --include --trace-ascii log/12/trace1161 --trace-time http://127.0.0.1:46819/1161 -c log/12/cookies1161.txt > log/12/stdout1161 2> log/12/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/21/valgrind1154 ../src/curl -q --output log/21/curl1154.out --include --trace-ascii log/21/trace1154 --trace-time http://127.0.0.1:35043/1154 > log/21/stdout1154 2> log/21/stderr1154 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/19/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:41761/want/1156 > log/19/stdout1156 2> log/19/stderr1156 1156: stdout FAILED: --- log/19/check-expected 2025-11-13 19:01:33.772724870 +0000 +++ log/19/check-generated 2025-11-13 19:01:33.772724870 +0000 @@ -1 +0,0 @@ -0[LF] == Contents of files in the log/19/ 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/19/valgrind1156 ./libtest/libtests lib1156 http://127.0.0.1:41761/want/1156 > log/19/stdout1156 2> log/19/stderr1156 === End of file commands.log === Start of file http_server.log 19:01:32.366241 ====> Client connect 19:01:32.366277 accept_connection 3 returned 4 19:01:32.366297 accept_connection 3 returned 0 19:01:32.366315 Read 93 bytes 19:01:32.366327 Process 93 bytes request 19:01:32.366341 Got request: GET /verifiedserver HTTP/1.1 19:01:32.366352 Are-we-friendly question received 19:01:32.366378 Wrote request (93 bytes) input to log/19/server.input 19:01:32.366397 Identifying ourselves as friends 19:01:32.366476 Response sent (56 bytes) and written to log/19/server.response 19:01:32.366488 special request received, no persistency 19:01:32.366514 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 34300 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file stderr1156 URL: http://127.0.0.1:41761/want/1156 === End of file stderr1156 === Start of file valgrind1156 ==139809== ==139809== Process terminating with default action of signal 4 (SIGILL) ==139809== Illegal opcode at address 0x51D5F1F ==139809== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==139809== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==139809== by 0x51D5F1F: Curl_open (url.c:525) ==139809== by 0x514F6EF: curl_easy_init (easy.c:371) ==139809== by 0x4023DF5: test_lib1156.lto_priv.0 (lib1156.c:147) ==139809== by 0x400347F: main (first.c:280) ==139809== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==139809== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==139809== by 0x51D5EBD: Curl_open (url.c:504) ==139809== by 0x514F6EF: curl_easy_init (easy.c:371) ==139809== by 0x4023DF5: test_lib1156.lto_priv.0 (lib1156.c:147) ==139809== by 0x400347F: main (first.c:280) ==139809== === End of file valgrind1156 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/6/valgrind1157 ../src/curl -q --output log/6/curl1157.out --include --trace-ascii log/6/trace1157 --trace-time http://127.0.0.1:41595/1157 -H @log/6/heads1157.txt > log/6/stdout1157 2> log/6/stderr1157 1157: 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 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/6/valgrind1157 ../src/curl -q --output log/6/curl1157.out --include --trace-ascii log/6/trace1157 --trace-time http://127.0.0.1:41595/1157 -H @log/6/heads1157.txt > log/6/stdout1157 2> log/6/stderr1157 === End of file commands.log === Start of file http_server.log 19:01:32.373364 ====> Client connect 19:01:32.373400 accept_connection 3 returned 4 19:01:32.373438 accept_connection 3 returned 0 19:01:32.373456 Read 93 bytes 19:01:32.373468 Process 93 bytes request 19:01:32.373483 Got request: GET /verifiedserver HTTP/1.1 19:01:32.373494 Are-we-friendly question received 19:01:32.373524 Wrote request (93 bytes) input to log/6/server.input 19:01:32.373544 Identifying ourselves as friends 19:01:32.373607 Response sent (56 bytes) and written to log/6/server.response 19:01:32.373619 special request received, no persistency 19:01:32.373631 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 51350 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1157 ==139823== ==139823== Process terminating with default action of signal 4 (SIGILL) ==139823== Illegal opcode at address 0x4013E00 ==139823== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139823== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139823== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139823== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1157 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/4/valgrind1158 ../src/curl -q --output log/4/curl1158.out --include --trace-ascii log/4/trace1158 --trace-time http://127.0.0.1:37985/we/want/1158 -F "file=@\"log/4/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/4/test1158\".txt"' -F 'file3=@"log/4/test1158\".txt";type=m/f,"log/4/test1158\".txt"' > log/4/stdout1158 2> log/4/stderr1158 1158: 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 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/4/valgrind1158 ../src/curl -q --output log/4/curl1158.out --include --trace-ascii log/4/trace1158 --trace-time http://127.0.0.1:37985/we/want/1158 -F "file=@\"log/4/test1158\\\".txt\";type=mo/foo;filename=\"test1158\\\".txt\"" -F 'file2=@"log/4/test1158\".txt"' -F 'file3=@"log/4/test1158\".txt";type=m/f,"log/4/test1158\".txt"' > log/4/stdout1158 2> log/4/stderr1158 === End of file commands.log === Start of file http_server.log 19:01:33.373681 ====> Client connect 19:01:33.373713 accept_connection 3 returned 4 19:01:33.373731 accept_connection 3 returned 0 19:01:33.375432 Read 93 bytes 19:01:33.375456 Process 93 bytes request 19:01:33.375470 Got request: GET /verifiedserver HTTP/1.1 19:01:33.375481 Are-we-friendly question received 19:01:33.375516 Wrote request (93 bytes) input to log/4/server.input 19:01CMD (33792): ../libtool --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/valgrind1160 ../src/curl -q --output log/24/curl1160.out --include --trace-ascii log/24/trace1160 --trace-time http://127.0.0.1:39383/1160 -c log/24/cookies1160.txt > log/24/stdout1160 2> log/24/stderr1160 :33.375535 Identifying ourselves as friends 19:01:33.375590 Response sent (56 bytes) and written to log/4/server.response 19:01:33.375601 special request received, no persistency 19:01:33.375611 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 56522 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file test1158".txt foo bar This is a bar foo bar foo === End of file test1158".txt === Start of file valgrind1158 ==139880== ==139880== Process terminating with default action of signal 4 (SIGILL) ==139880== Illegal opcode at address 0x4013E00 ==139880== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139880== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139880== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139880== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1158 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/12/valgrind1161 ../src/curl -q --output log/12/curl1161.out --include --trace-ascii log/12/trace1161 --trace-time http://127.0.0.1:46819/1161 -c log/12/cookies1161.txt > log/12/stdout1161 2> log/12/stderr1161 1161: 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 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/12/valgrind1161 ../src/curl -q --output log/12/curl1161.out --include --trace-ascii log/12/trace1161 --trace-time http://127.0.0.1:46819/1161 -c log/12/cookies1161.txt > log/12/stdout1161 2> log/12/stderr1161 === End of file commands.log === Start of file http_server.log 19:01:32.429101 ====> Client connect 19:01:32.429137 accept_connection 3 returned 4 19:01:32.429155 accept_connection 3 returned 0 19:01:32.429172 Read 93 bytes 19:01:32.429183 Process 93 bytes request 19:01:32.429198 Got request: GET /verifiedserver HTTP/1.1 19:01:32.429209 Are-we-friendly question received 19:01:32.429236 Wrote request (93 bytes) input to log/12/server.input 19:01:32.429255 Identifying ourselves as friends 19:01:32.429314 Response sent (56 bytes) and written to log/12/server.response 19:01:32.429326 special request received, no persistency 19:01:32.429336 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 33324 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind1161 ==140072== ==140072== Process terminating with default action of signal 4 (SIGILL) ==140072== Illegal opcode at address 0x4013E00 ==140072== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140072== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140072== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140072== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1161 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/21/valgrind1154 ../src/curl -q --output log/21/curl1154.out --include --trace-ascii log/21/trace1154 --trace-time http://127.0.0.1:35043/1154 > log/21/stdout1154 2> log/21/stderr1154 1154: 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 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/21/valgrind1154 ../src/curl -q --output log/21/curl1154.out --include --trace-ascii log/21/trace1154 --trace-time http://127.0.0.1:35043/1154 > log/21/stdout1154 2> log/21/stderr1154 === End of file commands.log === Start of file http_server.log 19:01:32.343517 ====> Client connect 19:01:32.343546 accept_connection 3 returned 4 19:01:32.343561 accept_connection 3 returned 0 19:01:32.343573 Read 93 bytes 19:01:32.343582 Process 93 bytes request 19:01:32.343593 Got request: GET /verifiedserver HTTP/1.1 19:01:32.343602 Are-we-friendly question received 19:01:32.343623 Wrote request (93 bytes) input to log/21/server.input 19:01:32.343637 Identifying ourselves as friends 19:01:32.343682 Response sent (56 bytes) and written to log/21/server.response 19:01:32.343691 special request received, no persistency 19:01:32.343699 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 36408 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind1154 ==139714== ==139714== Process terminating with default action of signal 4 (SIGILL) ==139714== Illegal opcode at address 0x4013E00 ==139714== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139714== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139714== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139714== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1154 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/24/valgrind1160 ../src/curl -q --output log/24/curl1160.out --include --trace-ascii log/24/trace1160 --trace-time http://127.0.0.1:39383/1160 -c log/24/cookies1160.txt > log/24/stdout1160 2> log/24/stderr1160 1160: 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 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/24/valgrind1160 .CMD (33792): ../libtool --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/valgrind1159 ../src/curl -q --include --trace-ascii log/1/trace1159 --trace-time http://127.0.0.1:40353/we/want/our/1159 -w '%{redirect_url}\n' > log/1/stdout1159 2> log/1/stderr1159 ./src/curl -q --output log/24/curl1160.out --include --trace-ascii log/24/trace1160 --trace-time http://127.0.0.1:39383/1160 -c log/24/cookies1160.txt > log/24/stdout1160 2> log/24/stderr1160 === End of file commands.log === Start of file http_server.log 19:01:32.398460 ====> Client connect 19:01:32.398498 accept_connection 3 returned 4 19:01:32.398516 accept_connection 3 returned 0 19:01:32.398531 Read 93 bytes 19:01:32.398541 Process 93 bytes request 19:01:32.398556 Got request: GET /verifiedserver HTTP/1.1 19:01:32.398566 Are-we-friendly question received 19:01:32.398591 Wrote request (93 bytes) input to log/24/server.input 19:01:32.398607 Identifying ourselves as friends 19:01:32.398660 Response sent (56 bytes) and written to log/24/server.response 19:01:32.398671 special request received, no persistency 19:01:32.398681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54788 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind1160 ==139956== ==139956== Process terminating with default action of signal 4 (SIGILL) ==139956== Illegal opcode at address 0x4013E00 ==139956== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139956== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139956== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139956== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1160 CMD (33792): ../libtool --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/valgrind1164 ../src/curl -q --output log/20/curl1164.out --include --trace-ascii log/20/trace1164 --trace-time http://127.0.0.1:38583/1164 -w '%{size_download}\n' --http0.9 > log/20/stdout1164 2> log/20/stderr1164 CMD (33792): ../libtool --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/valgrind1168 ../src/curl -q --output log/15/curl1168.out --include --trace-ascii log/15/trace1168 --trace-time http://127.0.0.1:44531/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/15/stdout1168 2> log/15/stderr1168 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/1/valgrind1159 ../src/curl -q --include --trace-ascii log/1/trace1159 --trace-time http://127.0.0.1:40353/we/want/our/1159 -w '%{redirect_url}\n' > log/1/stdout1159 2> log/1/stderr1159 1159: stdout FAILED: --- log/1/check-expected 2025-11-13 19:01:33.809391538 +0000 +++ log/1/check-generated 2025-11-13 19:01:33.809391538 +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/1/ 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/1/valgrind1159 ../src/curl -q --include --trace-ascii log/1/trace1159 --trace-time http://127.0.0.1:40353/we/want/our/1159 -w '%{redirect_url}\n' > log/1/stdout1159 2> log/1/stderr1159 === End of file commands.log === Start of file http_server.log 19:01:32.386849 ====> Client connect 19:01:32.386881 accept_connection 3 returned 4 19:01:32.386899 accept_connection 3 returned 0 19:01:32.386916 Read 93 bytes 19:01:32.386927 Process 93 bytes request 19:01:32.386943 Got request: GET /verifiedserver HTTP/1.1 19:01:32.386954 Are-we-friendly question received 19:01:32.386979 Wrote request (93 bytes) input to log/1/server.input 19:01:32.386997 Identifying ourselves as friends 19:01:32.387053 Response sent (56 bytes) and written to log/1/server.response 19:01:32.387065 special request received, no persistency 19:01:32.387076 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48914 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1159 ==139960== ==139960== Process terminating with default action of signal 4 (SIGILL) ==139960== Illegal opcode at address 0x4013E00 ==139960== at 0x4013E00: getparameter (tool_getparam.c:2846) ==139960== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==139960== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==139960== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1159 CMD (33792): ../libtool --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/valgrind1166 ../src/curl -q --output log/22/curl1166.out --include --trace-ascii log/22/trace1166 --trace-time http://127.0.0.1:41061/want/1166 http://127.0.0.1:41061/want/1166 > log/22/stdout1166 2> log/22/stderr1166 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/20/valgrind1164 ../src/curl -q --output log/20/curl1164.out --include --trace-ascii log/20/trace1164 --trace-time http://127.0.0.1:38583/1164 -w '%{size_download}\n' --http0.9 > log/20/stdout1164 2> log/20/stderr1164 1164: stdout FAILED: --- log/20/check-expected 2025-11-13 19:01:33.916058206 +0000 +++ log/20/check-generated 2025-11-13 19:01:33.916058206 +0000 @@ -1 +0,0 @@ -208[CR][LF] == Contents of files in the log/20/ 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/20/valgrind1164 ../src/curl -q --output log/20/curl1164.out --include --trace-ascii log/20/trace1164 --trace-time http://127.0.0.1:38583/1164 -w '%{size_download}\n' --http0.9 > log/20/stdout1164 2> log/20/stderr1164 === End of file commands.log === Start of file http_server.log 19:01:32.648665 ====> Client connect 19:01:32.648697 accept_connection 3 returned 4 19:01:32.648715 accept_connection 3 returned 0 19:01:32.648730 Read 93 bytes 19:01:32.648742 Process 93 bytes request 19:01:32.648758 Got request: GET /verifiedserver HTTP/1.1 19:01:32.648769 Are-we-friendly question received 19:01:32.648794 Wrote request (93 bytes) input to log/20/server.input 19:01:32.648811 Identifying ourselves as friends 19:01:32.648864 Response sent (56 bytes) and written to log/20/server.response 19:01:32.648875 special request received, no persistency 19:01:32.648886 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 37892 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind1164 ==140325== ==140325== Process terminating with default action of signal 4 (SIGILL) ==140325== Illegal opcode at address 0x4013E00 ==140325== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140325== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140325== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140325== by 0x40037A4: 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/15/valgrind1168 ../src/curl -q --output log/15/curl1168.out --include --trace-ascii log/15/trace1168 --trace-time http://127.0.0.1:44531/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/15/stdout1168 2> log/15/stderr1168 1168: 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 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/15/valgrind1168 ../src/curl -q --output log/15/curl1168.out --include --trace-ascii log/15/trace1168 --trace-time http://127.0.0.1:44531/want/1168 -L -u "catmai#d:#DZaRJYrixKE*gFY" > log/15/stdout1168 2> log/15/stderr1168 === End of file commands.log === Start of file http_server.log 19:01:32.669317 ====> Client connect 19:01:32.669353 accept_connection 3 returned 4 19:01:32.669371 accept_connection 3 returned 0 19:01:32.669386 Read 93 bytes 19:01:32.669398 Process 93 bytes request 19:01:32.669411 Got request: GET /verifiedserver HTTP/1.1 19:01:32.669422 Are-we-friendly question received 19:01:32.669448 Wrote request (93 bytes) input to log/15/server.input 19:01:32.669466 Identifying ourselves as friends 19:01:32.669520 Response sent (56 bytes) and written to log/15/server.response 19:01:32.669531 special request received, no persistency 19:01:32.669542 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 44584 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind1168 ==140366== ==140366== Process terminating with default action of signal 4 (SIGILL) ==140366== Illegal opcode at address 0x4013E00 ==140366== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140366== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140366== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140366== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1168 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/22/valgrind1166 ../src/curl -q --output log/22/curl1166.out --include --trace-ascii log/22/trace1166 --trace-time http://127.0.0.1:41061/want/1166 http://127.0.0.1:41061/want/1166 > log/22/stdout1166 2> log/22/stderr1166 1166: 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 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/22/valgrind1166 ../src/curl -q --output log/22/curl1166.out --include --trace-ascii log/22/trace1166 --trace-time http://127.0.0.1:41061/want/1166 http://127.0.0.1:41061/want/1166 > log/22/stdout1166 2> log/22/stderr1166 === End of file commands.log === Start of file http_server.log 19:01:32.663880 ====> Client connect 19:01:32.663915 accept_connection 3 returned 4 19:01:32.663933 accept_connection 3 returned 0 19:01:32.663950 Read 93 bytes 19:01:32.663961 Process 93 bytes request 19:01:32.663976 Got request: GET /verifiedserver HTTP/1.1 19:01:32.663987 Are-we-friendly question received 19:01:32.664019 Wrote request (93 bytes) input to log/22/server.input 19:01:32.664038 Identifying ourselves as friends 19:01:32.665065 Response sent (56 bytes) and written to log/22/server.response 19:01:32.665090 special request received, no persistency 19:01:32.665101 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 56024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * 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/23/valgrind1170 ../src/curl -q --output log/23/curl1170.out --include --trace-ascii log/23/trace1170 --trace-time http://127.0.0.1:35243/1170 --tr-encoding -H "Connection:" > log/23/stdout1170 2> log/23/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/7/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:34277/fully_simulated/DOS/*[][" > log/7/stdout1163 2> log/7/stderr1163 onnection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind1166 ==140344== ==140344== Process terminating with default action of signal 4 (SIGILL) ==140344== Illegal opcode at address 0x4013E00 ==140344== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140344== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140344== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140344== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1166 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/23/valgrind1170 ../src/curl -q --output log/23/curl1170.out --include --trace-ascii log/23/trace1170 --trace-time http://127.0.0.1:35243/1170 --tr-encoding -H "Connection:" > log/23/stdout1170 2> log/23/stderr1170 1170: 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 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/23/valgrind1170 ../src/curl -q --output log/23/curl1170.out --include --trace-ascii log/23/trace1170 --trace-time http://127.0.0.1:35243/1170 --tr-encoding -H "Connection:" > log/23/stdout1170 2> log/23/stderr1170 === End of file commands.log === Start of file http_server.log 19:01:32.728422 ====> Client connect 19:01:32.728460 accept_connection 3 returned 4 19:01:32.728477 accept_connection 3 returned 0 19:01:32.728493 Read 93 bytes 19:01:32.728505 Process 93 bytes request 19:01:32.728520 Got request: GET /verifiedserver HTTP/1.1 19:01:32.728531 Are-we-friendly question received 19:01:32.728559 Wrote request (93 bytes) input to log/23/server.input 19:01:32.728578 Identifying ourselves as friends 19:01:32.728637 Response sent (56 bytes) and written to log/23/server.response 19:01:32.728649 special request received, no persistency 19:01:32.728660 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 32810 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind1170 ==140511== ==140511== Process terminating with default action of signal 4 (SIGILL) ==140511== Illegal opcode at address 0x4013E00 ==140511== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140511== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140511== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140511== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1170 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/7/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:34277/fully_simulated/DOS/*[][" > log/7/stdout1163 2> log/7/stderr1163 1163: 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 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/7/valgrind1163 ./libtest/libtests lib576 "ftp://127.0.0.1:34277/fully_simulated/DOS/*[][" > log/7/stdout1163 2> log/7/stderr1163 === End of file commands.log === Start of file ftp_server.log 19:01:32.861957 ====> Client connect 19:01:32.862338 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:32.865644 < "USER anonymous" 19:01:32.865694 > "331 We are happy you popped in![CR][LF]" 19:01:32.865903 < "PASS ftp@example.com" 19:01:32.865939 > "230 Welcome you silly person[CR][LF]" 19:01:32.866107 < "PWD" 19:01:32.866141 > "257 "/" is current directory[CR][LF]" 19:01:32.866319 < "EPSV" 19:01:32.866342 ====> Passive DATA channel requested by client 19:01:32.866353 DATA sockfilt for passive data channel starting... 19:01:32.868646 DATA sockfilt for passive data channel started (pid 140290) 19:01:32.868761 DATA sockfilt for passive data channel listens on port 34719 19:01:32.868805 > "229 Entering Passive Mode (|||34719|)[CR][LF]" 19:01:32.868825 Client has been notified that DATA conn will be accepted on port 34719 19:01:32.869090 Client connects to port 34719 19:01:32.869118 ====> Client established passive DATA connection on port 34719 19:01:32.869194 < "TYPE I" 19:01:32.869223 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:32.869375 < "SIZE verifiedserver" 19:01:32.869413 > "213 17[CR][LF]" 19:01:32.869553 < "RETR verifiedserver" 19:01:32.869586 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:32.869671 =====> Closing passive DATA connection... 19:01:32.869687 Server disconnects passive DATA connection 19:01:32.869947 Server disconnected passive DATA connection 19:01:32.869973 DATA sockfilt for passive data channel quits (pid 140290) 19:01:32.870244 DATA sockfilt for passive data channel quit (pid 140290) 19:01:32.870271 =====> Closed passive DATA connection 19:01:32.870300 > "226 File transfer complete[CR][LF]" 19:01:32.912538 < "QUIT" 19:01:32.912590 > "221 bye bye baby[CR][LF]" 19:01:32.913550 MAIN sockfilt said DISC 19:01:32.913594 ====> Client disconnected 19:01:32.913657 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:32.629731 ====> Client connect 19:01:32.634421 Received DATA (on stdin) 19:01:32.634442 > 160 bytes data, server => client 19:01:32.634455 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:32.634466 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:32.634475 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:32.637506 < 16 bytes data, client => server 19:01:32.637531 'USER anonymous\r\n' 19:01:32.637758 Received DATA (on stdin) 19:01:32.637773 > 33 bytes data, server => client 19:01:32.637784 '331 We are happy you popped in!\r\n' 19:01:32.637849 < 22 bytes data, client => server 19:01:32.637862 'PASS ftp@example.com\r\n' 19:01:32.637997 Received DATA (on stdin) 19:01:32.638011 > 30 bytes data, server => client 19:01:32.638022 '230 Welcome you silly person\r\n' 19:01:32.638076 < 5 bytes data, client => server 19:01:32.638088 'PWD\r\n' 19:01:32.638199 Received DATA (on stdin) 19:01:32.638213 > 30 bytes data, server => client 19:01:32.638225 '257 "/" is current directory\r\n' 19:01:32.638288 < 6 bytes data, client => server 19:01:32.638301 'EPSV\r\n' 19:01:32.640887 Received DATA (on stdin) 19:01:32.640902 > 39 bytes data, server => client 19:01:32.640913 '229 Entering Passive Mode (|||34719|)\r\n' 19:01:32.641058 < 8 bytes data, client => server 19:01:32.641075 'TYPE I\r\n' 19:01:32.641278 ReceiCMD (33792): ../libtool --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/valgrind1171 ../src/curl -q --output log/11/curl1171.out --include --trace-ascii log/11/trace1171 --trace-time http://127.0.0.1:46317/1171 --tr-encoding -H "Connection;" > log/11/stdout1171 2> log/11/stderr1171 CMD (33792): ../libtool --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/valgrind1172 ../src/curl -q --output log/17/curl1172.out --include --trace-ascii log/17/trace1172 --trace-time http://127.0.0.1:40515/1172 --no-http0.9 > log/17/stdout1172 2> log/17/stderr1172 ved DATA (on stdin) 19:01:32.641291 > 33 bytes data, server => client 19:01:32.641302 '200 I modify TYPE as you wanted\r\n' 19:01:32.641350 < 21 bytes data, client => server 19:01:32.641361 'SIZE verifiedserver\r\n' 19:01:32.641468 Received DATA (on stdin) 19:01:32.641480 > 8 bytes data, server => client 19:01:32.641490 '213 17\r\n' 19:01:32.641533 < 21 bytes data, client => server 19:01:32.641544 'RETR verifiedserver\r\n' 19:01:32.641744 Received DATA (on stdin) 19:01:32.641757 > 29 bytes data, server => client 19:01:32.641768 '150 Binary junk (17 bytes).\r\n' 19:01:32.642360 Received DATA (on stdin) 19:01:32.642375 > 28 bytes data, server => client 19:01:32.642387 '226 File transfer complete\r\n' 19:01:32.684412 < 6 bytes data, client => server 19:01:32.684439 'QUIT\r\n' 19:01:32.684653 Received DATA (on stdin) 19:01:32.684668 > 18 bytes data, server => client 19:01:32.684680 '221 bye bye baby\r\n' 19:01:32.685542 ====> Client disconnect 19:01:32.685716 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:32.639993 Running IPv4 version 19:01:32.640062 Listening on port 34719 19:01:32.640095 Wrote pid 140290 to log/7/server/ftp_sockdata.pid 19:01:32.640639 Received PING (on stdin) 19:01:32.640728 Received PORT (on stdin) 19:01:32.641097 ====> Client connect 19:01:32.641794 Received DATA (on stdin) 19:01:32.641808 > 17 bytes data, server => client 19:01:32.641819 'WE ROOLZ: 89392\r\n' 19:01:32.641858 Received DISC (on stdin) 19:01:32.641870 ====> Client forcibly disconnected 19:01:32.642038 Received QUIT (on stdin) 19:01:32.642051 quits 19:01:32.642106 ============> 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:34277/fully_simulated/DOS/*[][ === End of file stderr1163 === Start of file valgrind1163 ==140390== ==140390== Process terminating with default action of signal 4 (SIGILL) ==140390== Illegal opcode at address 0x51D5F1F ==140390== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==140390== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==140390== by 0x51D5F1F: Curl_open (url.c:525) ==140390== by 0x514F6EF: curl_easy_init (easy.c:371) ==140390== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==140390== by 0x400347F: main (first.c:280) ==140390== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==140390== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==140390== by 0x51D5EBD: Curl_open (url.c:504) ==140390== by 0x514F6EF: curl_easy_init (easy.c:371) ==140390== by 0x40162B7: test_lib576.lto_priv.0 (lib576.c:105) ==140390== by 0x400347F: main (first.c:280) ==140390== === End of file valgrind1163 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/11/valgrind1171 ../src/curl -q --output log/11/curl1171.out --include --trace-ascii log/11/trace1171 --trace-time http://127.0.0.1:46317/1171 --tr-encoding -H "Connection;" > log/11/stdout1171 2> log/11/stderr1171 1171: 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 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/11/valgrind1171 ../src/curl -q --output log/11/curl1171.out --include --trace-ascii log/11/trace1171 --trace-time http://127.0.0.1:46317/1171 --tr-encoding -H "Connection;" > log/11/stdout1171 2> log/11/stderr1171 === End of file commands.log === Start of file http_server.log 19:01:32.775285 ====> Client connect 19:01:32.775320 accept_connection 3 returned 4 19:01:32.775338 accept_connection 3 returned 0 19:01:32.775356 Read 93 bytes 19:01:32.775368 Process 93 bytes request 19:01:32.775382 Got request: GET /verifiedserver HTTP/1.1 19:01:32.775393 Are-we-friendly question received 19:01:32.775417 Wrote request (93 bytes) input to log/11/server.input 19:01:32.775434 Identifying ourselves as friends 19:01:32.775508 Response sent (56 bytes) and written to log/11/server.response 19:01:32.775520 special request received, no persistency 19:01:32.775530 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 46910 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind1171 ==140613== ==140613== Process terminating with default action of signal 4 (SIGILL) ==140613== Illegal opcode at address 0x4013E00 ==140613== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140613== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140613== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140613== by 0x40037A4: 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/17/valgrind1172 ../src/curl -q --output log/17/curl1172.out --include --trace-ascii log/17/trace1172 --trace-time http://127.0.0.1:40515/1172 --no-http0.9 > log/17/stdout1172 2> log/17/stderr1172 1172: 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 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/17/valgrind1172 ../src/curl -q --output log/17/curl1172.out --include --trace-ascii log/17/trace1172 --trace-time http://127.0.0.1:40515/1172 --no-http0.9 > log/17/stdout1172 2> log/17/stderr1172 === End of file commands.log === Start of file http_server.log 19:01:33.804942 ====> Client connect 19:01:33.804979 accept_connection 3 returned 4 19:01:33.804996 accept_connection 3 returned 0 19:01:33.805012 Read 93 bytes 19:01:33.805023 Process 93 bytes request 19:01:33.805037 Got request: GET /verifiedserver HTTP/1.1 19:01:33.805048 Are-we-friendly question received 19:01:33.805085 Wrote request (93 bytes) input to log/17/server.input 19:01:33.805102 Identifying ourselves as friends 19:01:33.805158 Response sent (56 bytes) and written to log/17/server.response 19:01:33.805169 special request received, no persistency 19:01:33.805179 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 45732 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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 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/16/valgrind1174 ../src/curl -q --output log/16/curl1174.out --include --trace-ascii log/16/trace1174 --trace-time http://127.0.0.1:42747/1174 > log/16/stdout1174 2> log/16/stderr1174 CMD (33792): ../libtool --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/valgrind1176 ../src/curl -q --include --trace-ascii log/9/trace1176 --trace-time http://127.0.0.1:36745/1176 -o 'log/9/base-#0' > log/9/stdout1176 2> log/9/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/8/valgrind1180 ../src/curl -q --output log/8/curl1180.out --include --trace-ascii log/8/trace1180 --trace-time --proxy http://127.0.0.1:43853 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:43853/1180 > log/8/stdout1180 2> log/8/stderr1180 OOLZ: 74424 === End of file server.response === Start of file valgrind1172 ==140671== ==140671== Process terminating with default action of signal 4 (SIGILL) ==140671== Illegal opcode at address 0x4013E00 ==140671== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140671== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140671== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140671== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1172 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:42747/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:42747/1174 > log/16/stdout1174 2> log/16/stderr1174 === End of file commands.log === Start of file http_server.log 19:01:33.913859 ====> Client connect 19:01:33.913894 accept_connection 3 returned 4 19:01:33.913912 accept_connection 3 returned 0 19:01:33.913929 Read 93 bytes 19:01:33.913941 Process 93 bytes request 19:01:33.913955 Got request: GET /verifiedserver HTTP/1.1 19:01:33.913965 Are-we-friendly question received 19:01:33.913990 Wrote request (93 bytes) input to log/16/server.input 19:01:33.914009 Identifying ourselves as friends 19:01:33.914067 Response sent (56 bytes) and written to log/16/server.response 19:01:33.914078 special request received, no persistency 19:01:33.914128 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 51328 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind1174 ==140785== ==140785== Process terminating with default action of signal 4 (SIGILL) ==140785== Illegal opcode at address 0x4013E00 ==140785== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140785== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140785== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140785== by 0x40037A4: 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/9/valgrind1176 ../src/curl -q --include --trace-ascii log/9/trace1176 --trace-time http://127.0.0.1:36745/1176 -o 'log/9/base-#0' > log/9/stdout1176 2> log/9/stderr1176 1176: 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 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/9/valgrind1176 ../src/curl -q --include --trace-ascii log/9/trace1176 --trace-time http://127.0.0.1:36745/1176 -o 'log/9/base-#0' > log/9/stdout1176 2> log/9/stderr1176 === End of file commands.log === Start of file http_server.log 19:01:32.959466 ====> Client connect 19:01:32.959496 accept_connection 3 returned 4 19:01:32.959513 accept_connection 3 returned 0 19:01:32.959527 Read 93 bytes 19:01:32.959537 Process 93 bytes request 19:01:32.959550 Got request: GET /verifiedserver HTTP/1.1 19:01:32.959559 Are-we-friendly question received 19:01:32.959582 Wrote request (93 bytes) input to log/9/server.input 19:01:32.959599 Identifying ourselves as friends 19:01:32.959648 Response sent (56 bytes) and written to log/9/server.response 19:01:32.959659 special request received, no persistency 19:01:32.959668 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 40292 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind1176 ==140847== ==140847== Process terminating with default action of signal 4 (SIGILL) ==140847== Illegal opcode at address 0x4013E00 ==140847== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140847== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140847== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140847== by 0x40037A4: 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/8/valgrind1180 ../src/curl -q --output log/8/curl1180.out --include --trace-ascii log/8/trace1180 --trace-time --proxy http://127.0.0.1:43853 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:43853/1180 > log/8/stdout1180 2> log/8/stderr1180 1180: 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 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/8/valgrind1180 ../src/curl -q --output log/8/curl1180.out --include --trace-ascii log/8/trace1180 --trace-time --proxy http://127.0.0.1:43853 -H "Proxy-Connection: Keep-Alive" http://127.0.0.1:43853/1180 > log/8/stdout1180 2> log/8/stderr1180 === End of file commands.log === Start of file http_server.log 19:01:32.981739 ====> Client connect 19:01:32.981771 accept_connection 3 returned 4 19:01:32.981787 accept_connection 3 returned 0 19:01:32.981802 Read 93 bytes 19:01:32.981812 Process 93 bytes request 19:01:32.981825 Got request: GET /verifiedserver HTTP/1.1 19:01:32.981835 Are-we-friendly question received 19:01:32.981888 Wrote request (93 bytes) input to log/8/server.input 19:01:32.981905 Identifying ourselves as friends 19:01:32.981956 Response sent (56 bytes) and written to log/8/server.response 19:01:32.981966 special request received, no persistency 19:01:32.981975 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 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/14/valgrind1178 ../src/curl -q --output log/14/curl1178.out --include --trace-ascii log/14/trace1178 --trace-time http://127.0.0.1:36759/we/want/that/page/1178 -x http://127.0.0.1:36759 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/14/stdout1178 2> log/14/stderr1178 CMD (33792): ../libtool --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/valgrind1181 ../src/curl -q --output log/10/curl1181.out --include --trace-ascii log/10/trace1181 --trace-time --proxy http://127.0.0.1:37879 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:37879/1181 > log/10/stdout1181 2> log/10/stderr1181 rt 47372 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1180 ==140896== ==140896== Process terminating with default action of signal 4 (SIGILL) ==140896== Illegal opcode at address 0x4013E00 ==140896== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140896== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140896== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140896== by 0x40037A4: 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/14/valgrind1178 ../src/curl -q --output log/14/curl1178.out --include --trace-ascii log/14/trace1178 --trace-time http://127.0.0.1:36759/we/want/that/page/1178 -x http://127.0.0.1:36759 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/14/stdout1178 2> log/14/stderr1178 1178: 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 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/14/valgrind1178 ../src/curl -q --output log/14/curl1178.out --include --trace-ascii log/14/trace1178 --trace-time http://127.0.0.1:36759/we/want/that/page/1178 -x http://127.0.0.1:36759 -U AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB > log/14/stdout1178 2> log/14/stderr1178 === End of file commands.log === Start of file http_server.log 19:01:32.964371 ====> Client connect 19:01:32.964405 accept_connection 3 returned 4 19:01:32.964424 accept_connection 3 returned 0 19:01:32.964558 Read 93 bytes 19:01:32.964574 Process 93 bytes request 19:01:32.964588 Got request: GET /verifiedserver HTTP/1.1 19:01:32.964599 Are-we-friendly question received 19:01:32.964630 Wrote request (93 bytes) input to log/14/server.input 19:01:32.964650 Identifying ourselves as friends 19:01:32.964719 Response sent (56 bytes) and written to log/14/server.response 19:01:32.964732 special request received, no persistency 19:01:32.964743 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 55690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind1178 ==140868== ==140868== Process terminating with default action of signal 4 (SIGILL) ==140868== Illegal opcode at address 0x4013E00 ==140868== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140868== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140868== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140868== by 0x40037A4: 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/10/valgrind1181 ../src/curl -q --output log/10/curl1181.out --include --trace-ascii log/10/trace1181 --trace-time --proxy http://127.0.0.1:37879 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:37879/1181 > log/10/stdout1181 2> log/10/stderr1181 1181: 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 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/10/valgrind1181 ../src/curl -q --output log/10/curl1181.out --include --trace-ascii log/10/trace1181 --trace-time --proxy http://127.0.0.1:37879 --proxy-header "Proxy-Connection: Keep-Alive" http://127.0.0.1:37879/1181 > log/10/stdout1181 2> log/10/stderr1181 === End of file commands.log === Start of file http_server.log 19:01:33.007498 ====> Client connect 19:01:33.007538 accept_connection 3 returned 4 19:01:33.007555 accept_connection 3 returned 0 19:01:33.007660 Read 93 bytes 19:01:33.007673 Process 93 bytes request 19:01:33.007688 Got request: GET /verifiedserver HTTP/1.1 19:01:33.007698 Are-we-friendly question received 19:01:33.007726 Wrote request (93 bytes) input to log/10/server.input 19:01:33.007744 Identifying ourselves as friends 19:01:33.007796 Response sent (56 bytes) and written to log/10/server.response 19:01:33.007807 special request received, no persistency 19:01:33.007817 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 34166 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.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/5/valgrind1183 ../src/curl -q --output log/5/curl1183.out --include --trace-ascii log/5/trace1183 --trace-time http://127.0.0.1:46771/1183 > log/5/stdout1183 2> log/5/stderr1183 CMD (33792): ../libtool --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/valgrind1186 ../src/curl -q --output log/3/curl1186.out --include --trace-ascii log/3/trace1186 --trace-time http://127.0.0.1:46261/we/want/1186 --form-escape -F "file=@\"log/3/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/3/test1186\".txt"' -F 'file3=@"log/3/test1186\".txt";type=m/f,"log/3/test1186\".txt"' > log/3/stdout1186 2> log/3/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/13/valgrind1187 ../src/curl -q --output log/13/curl1187.out --include --trace-ascii log/13/trace1187 --trace-time smtp://127.0.0.1:46883/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/13/stdout1187 2> log/13/stderr1187 est completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1181 ==140961== ==140961== Process terminating with default action of signal 4 (SIGILL) ==140961== Illegal opcode at address 0x4013E00 ==140961== at 0x4013E00: getparameter (tool_getparam.c:2846) ==140961== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==140961== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==140961== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1181 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/5/valgrind1183 ../src/curl -q --output log/5/curl1183.out --include --trace-ascii log/5/trace1183 --trace-time http://127.0.0.1:46771/1183 > log/5/stdout1183 2> log/5/stderr1183 1183: 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 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/5/valgrind1183 ../src/curl -q --output log/5/curl1183.out --include --trace-ascii log/5/trace1183 --trace-time http://127.0.0.1:46771/1183 > log/5/stdout1183 2> log/5/stderr1183 === End of file commands.log === Start of file http_server.log 19:01:33.146292 ====> Client connect 19:01:33.146334 accept_connection 3 returned 4 19:01:33.146351 accept_connection 3 returned 0 19:01:33.146368 Read 93 bytes 19:01:33.146380 Process 93 bytes request 19:01:33.146397 Got request: GET /verifiedserver HTTP/1.1 19:01:33.146407 Are-we-friendly question received 19:01:33.146435 Wrote request (93 bytes) input to log/5/server.input 19:01:33.146454 Identifying ourselves as friends 19:01:33.146510 Response sent (56 bytes) and written to log/5/server.response 19:01:33.146521 special request received, no persistency 19:01:33.146531 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 49472 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1183 ==141116== ==141116== Process terminating with default action of signal 4 (SIGILL) ==141116== Illegal opcode at address 0x4013E00 ==141116== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141116== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141116== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141116== by 0x40037A4: 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/3/valgrind1186 ../src/curl -q --output log/3/curl1186.out --include --trace-ascii log/3/trace1186 --trace-time http://127.0.0.1:46261/we/want/1186 --form-escape -F "file=@\"log/3/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/3/test1186\".txt"' -F 'file3=@"log/3/test1186\".txt";type=m/f,"log/3/test1186\".txt"' > log/3/stdout1186 2> log/3/stderr1186 1186: 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 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/3/valgrind1186 ../src/curl -q --output log/3/curl1186.out --include --trace-ascii log/3/trace1186 --trace-time http://127.0.0.1:46261/we/want/1186 --form-escape -F "file=@\"log/3/test1186\\\".txt\";type=mo/foo;filename=\"test1186\\\".txt\"" -F 'file2=@"log/3/test1186\".txt"' -F 'file3=@"log/3/test1186\".txt";type=m/f,"log/3/test1186\".txt"' > log/3/stdout1186 2> log/3/stderr1186 === End of file commands.log === Start of file http_server.log 19:01:34.277318 ====> Client connect 19:01:34.277355 accept_connection 3 returned 4 19:01:34.277373 accept_connection 3 returned 0 19:01:34.287449 Read 93 bytes 19:01:34.287476 Process 93 bytes request 19:01:34.287492 Got request: GET /verifiedserver HTTP/1.1 19:01:34.287503 Are-we-friendly question received 19:01:34.287544 Wrote request (93 bytes) input to log/3/server.input 19:01:34.287570 Identifying ourselves as friends 19:01:34.287638 Response sent (56 bytes) and written to log/3/server.response 19:01:34.287650 special request received, no persistency 19:01:34.287661 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 55686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === 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 ==141202== ==141202== Process terminating with default action of signal 4 (SIGILL) ==141202== Illegal opcode at address 0x4013E00 ==141202== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141202== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141202== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141202== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1186 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/13/valgrind1187 ../src/curl -q --output log/13/curl1187.out --include --trace-ascii log/13/trace1187 --trace-time smtp://127.0.0.1:46883/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/13/stdout1187 2> log/13/stderr1187 1187: 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 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/13/valgrind1187 ../src/curl -q --output log/13/curlCMD (33792): ../libtool --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/valgrind1188 ../src/curl -q --output log/18/curl1188.out --include --trace-ascii log/18/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:39771/we/want/our/1188 http://127.0.0.1:39771/we/want/our/1188 > log/18/stdout1188 2> log/18/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/2/valgrind1189 ../src/curl -q --output log/2/curl1189.out --include --trace-ascii log/2/trace1189 --trace-time http://127.0.0.1:44325/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/2/stdout1189 2> log/2/stderr1189 1187.out --include --trace-ascii log/13/trace1187 --trace-time smtp://127.0.0.1:46883/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/13/stdout1187 2> log/13/stderr1187 === End of file commands.log === Start of file server.cmd Testnum 1187 === End of file server.cmd === Start of file smtp_server.log 19:01:33.571766 ====> Client connect 19:01:33.572045 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:33.572416 < "EHLO verifiedserver" 19:01:33.572465 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:33.572669 < "HELP" 19:01:33.572708 > "214 WE ROOLZ: 124334[CR][LF]" 19:01:33.572725 return proof we are we 19:01:33.572997 < "QUIT" 19:01:33.573028 > "221 curl ESMTP server signing off[CR][LF]" 19:01:33.574156 MAIN sockfilt said DISC 19:01:33.574186 ====> Client disconnected 19:01:33.574253 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:34.343698 ====> Client connect 19:01:34.344141 Received DATA (on stdin) 19:01:34.344159 > 160 bytes data, server => client 19:01:34.344173 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:34.344184 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:34.344195 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:34.344310 < 21 bytes data, client => server 19:01:34.344324 'EHLO verifiedserver\r\n' 19:01:34.344528 Received DATA (on stdin) 19:01:34.344541 > 53 bytes data, server => client 19:01:34.344553 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:34.344616 < 6 bytes data, client => server 19:01:34.344631 'HELP\r\n' 19:01:34.344782 Received DATA (on stdin) 19:01:34.344797 > 22 bytes data, server => client 19:01:34.344808 '214 WE ROOLZ: 124334\r\n' 19:01:34.344952 < 6 bytes data, client => server 19:01:34.344968 'QUIT\r\n' 19:01:34.345087 Received DATA (on stdin) 19:01:34.345101 > 35 bytes data, server => client 19:01:34.345113 '221 curl ESMTP server signing off\r\n' 19:01:34.346159 ====> Client disconnect 19:01:34.346309 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 ==141246== ==141246== Process terminating with default action of signal 4 (SIGILL) ==141246== Illegal opcode at address 0x4013E00 ==141246== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141246== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141246== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141246== by 0x40037A4: 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/23/valgrind1197 ../src/curl -q --include --trace-ascii log/23/trace1197 --trace-time http://127.0.0.1:35243/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/23/stdout1197 2> log/23/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/18/valgrind1188 ../src/curl -q --output log/18/curl1188.out --include --trace-ascii log/18/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:39771/we/want/our/1188 http://127.0.0.1:39771/we/want/our/1188 > log/18/stdout1188 2> log/18/stderr1188 1188: stderr FAILED: --- log/18/check-expected 2025-11-13 19:01:34.569391546 +0000 +++ log/18/check-generated 2025-11-13 19:01:34.569391546 +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/18/ 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/18/valgrind1188 ../src/curl -q --output log/18/curl1188.out --include --trace-ascii log/18/trace1188 --trace-time -f -s -w '%{onerror}%{stderr}%{urlnum} says %{exitcode} %{errormsg}\n' http://127.0.0.1:39771/we/want/our/1188 http://127.0.0.1:39771/we/want/our/1188 > log/18/stdout1188 2> log/18/stderr1188 === End of file commands.log === Start of file http_server.log 19:01:33.513864 ====> Client connect 19:01:33.513902 accept_connection 3 returned 4 19:01:33.513920 accept_connection 3 returned 0 19:01:33.513936 Read 93 bytes 19:01:33.513947 Process 93 bytes request 19:01:33.513962 Got request: GET /verifiedserver HTTP/1.1 19:01:33.513973 Are-we-friendly question received 19:01:33.513999 Wrote request (93 bytes) input to log/18/server.input 19:01:33.514018 Identifying ourselves as friends 19:01:33.514074 Response sent (56 bytes) and written to log/18/server.response 19:01:33.514094 special request received, no persistency 19:01:33.514105 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 48952 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind1188 ==141359== ==141359== Process terminating with default action of signal 4 (SIGILL) ==141359== Illegal opcode at address 0x4013E00 ==141359== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141359== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141359== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141359== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1188 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/2/valgrind1189 ../src/curl -q --output log/2/curl1189.out --include --trace-ascii log/2/trace1189 --trace-time http://127.0.0.1:44325/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/2/stdout1189 2> log/2/stderr1189 1189: 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 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/2/valgrind1189 ../src/curl -q --output log/2/curl1189.out --include --trace-ascii log/2/trace1189 --trace-time http://127.0.0.1:44325/we/want/1189 --form-escape -F name=daniel -F tool=curl --form-string "str1=@literal" --form-string "str2= log/2/stdout1189 2> log/2/stderr1189 === End of file commands.log === Start of file http_server.log 19:01:34.539484 ====> Client connect 19:01:34.539517 accept_connection 3 returned 4 19:01:34.539535 accept_connection 3 returned 0 19:01:34.539552 Read 93 bytes 19:01:34.539563 Process 93 bytes request 19:01:34.539577 Got request: GET /verifiedserver HTTP/1.1 19:01:34.539588 Are-we-friendly question received 19:01:34.539642 Wrote request (93 bytes) input to log/2/server.input 19:01:34.539664 Identifying ourselves as friends 19:01:34.539724 Response sent (56 bytes) and written to log/2/server.response 19:01:34.539736 special request received, no persistency 19:01:34.539746 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 32878 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file test1189.txt foo bar This is a bar foo bar foo === End of file test1189.txt === Start of file valgrind1189 ==141387== ==141387== Process terminating with default action of signal 4 (SIGILL) ==141387== Illegal opcode at address 0x4013E00 ==141387== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141387== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141387== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141387== by 0x40037A4: 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/9/valgrind1204 ../src/curl -q --output log/9/curl1204.out --include --trace-ascii log/9/trace1204 --trace-time http://127.0.0.1:36745/1204 -u testuser:testpass --anyauth > log/9/stdout1204 2> log/9/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/8/valgrind1205 ../src/curl -q --output log/8/curl1205.out --include --trace-ascii log/8/trace1205 --trace-time http://127.0.0.1:43853/1205 > log/8/stdout1205 2> log/8/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/23/valgrind1197 ../src/curl -q --include --trace-ascii log/23/trace1197 --trace-time http://127.0.0.1:35243/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/23/stdout1197 2> log/23/stderr1197 1197: stdout FAILED: --- log/23/check-expected 2025-11-13 19:01:34.692724880 +0000 +++ log/23/check-generated 2025-11-13 19:01:34.692724880 +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/23/ 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/23/valgrind1197 ../src/curl -q --include --trace-ascii log/23/trace1197 --trace-time http://127.0.0.1:35243/1197 -w "%{method}\n" -L -d "twinkle twinkle little star" > log/23/stdout1197 2> log/23/stderr1197 === End of file commands.log === Start of file http_server.log 19:01:33.740788 ====> Client connect 19:01:33.740823 accept_connection 3 returned 4 19:01:33.740840 accept_connection 3 returned 0 19:01:33.740854 Read 93 bytes 19:01:33.740864 Process 93 bytes request 19:01:33.740879 Got request: GET /verifiedserver HTTP/1.1 19:01:33.740889 Are-we-friendly question received 19:01:33.740923 Wrote request (93 bytes) input to log/23/server.input 19:01:33.740940 Identifying ourselves as friends 19:01:33.741024 Response sent (56 bytes) and written to log/23/server.response 19:01:33.741036 special request received, no persistency 19:01:33.741045 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 32812 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind1197 ==141508== ==141508== Process terminating with default action of signal 4 (SIGILL) ==141508== Illegal opcode at address 0x4013E00 ==141508== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141508== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141508== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141508== by 0x40037A4: 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/9/valgrind1204 ../src/curl -q --output log/9/curl1204.out --include --trace-ascii log/9/trace1204 --trace-time http://127.0.0.1:36745/1204 -u testuser:testpass --anyauth > log/9/stdout1204 2> log/9/stderr1204 1204: 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 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/9/valgrind1204 ../src/curl -q --output log/9/curl1204.out --include --trace-ascii log/9/trace1204 --trace-time http://127.0.0.1:36745/1204 -u testuser:testpass --anyauth > log/9/stdout1204 2> log/9/stderr1204 === End of file commands.log === Start of file http_server.log 19:01:33.937105 ====> Client connect 19:01:33.937130 accept_connection 3 returned 4 19:01:33.937143 accept_connection 3 returned 0 19:01:33.937154 Read 93 bytes 19:01:33.937163 Process 93 bytes request 19:01:33.937174 Got request: GET /verifiedserver HTTP/1.1 19:01:33.937182 Are-we-friendly question received 19:01:33.937200 Wrote request (93 bytes) input to log/9/server.input 19:01:33.937213 Identifying ourselves as friends 19:01:33.937253 Response sent (56 bytes) and written to log/9/server.response 19:01:33.937262 special request received, no persistency 19:01:33.937269 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 40294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind1204 ==141616== ==141616== Process terminating with default action of signal 4 (SIGILL) ==141616== Illegal opcode at address 0x4013E00 ==141616== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141616== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141616== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141616== by 0x40037A4: 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/8/valgrind1205 ../src/curl -q --output log/8/curl1205.out --include --trace-ascii log/8/trace1205 --trace-time http://127.0.0.1:43853/1205 > log/8/stdout1205 2> log/8/stderr1205 1205: 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 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/8/valgrind1205 ../src/curl -q --output log/8/curl1205.out --include --trace-ascii log/8/trace1205 --trace-time http://127.0.0.1:43853/1205 > log/8/stdout1205 2> log/8/stderr1205 === End of file commands.log === Start of file http_server.log 19:01:33.939426 ====> Client connect 19:01:33.939452 accept_connection 3 returned 4 19:01:33.939465 accept_connection 3 returned 0 19:01:33.939476 Read 93 bytes 19:01:33.939484 Process 93 bytes request 19:01:33.939495 Got request: GET /verifiedserver HTTP/1.1 19:01:33.939502 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/4/valgrind1207 ../src/curl -q --output log/4/curl1207.out --include --trace-ascii log/4/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:35791/1207 -P - > log/4/stdout1207 2> log/4/stderr1207 ived 19:01:33.939521 Wrote request (93 bytes) input to log/8/server.input 19:01:33.939534 Identifying ourselves as friends 19:01:33.939582 Response sent (56 bytes) and written to log/8/server.response 19:01:33.939590 special request received, no persistency 19:01:33.939597 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 47376 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1205 ==141622== ==141622== Process terminating with default action of signal 4 (SIGILL) ==141622== Illegal opcode at address 0x4013E00 ==141622== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141622== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141622== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141622== by 0x40037A4: 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/4/valgrind1207 ../src/curl -q --output log/4/curl1207.out --include --trace-ascii log/4/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:35791/1207 -P - > log/4/stdout1207 2> log/4/stderr1207 1207: 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 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/4/valgrind1207 ../src/curl -q --output log/4/curl1207.out --include --trace-ascii log/4/trace1207 --trace-time --max-time 8 ftp://127.0.0.1:35791/1207 -P - > log/4/stdout1207 2> log/4/stderr1207 === End of file commands.log === Start of file ftp_server.log 19:01:34.186221 ====> Client connect 19:01:34.186334 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:34.186546 < "USER anonymous" 19:01:34.186576 > "331 We are happy you popped in![CR][LF]" 19:01:34.186811 < "PASS ftp@example.com" 19:01:34.186846 > "230 Welcome you silly person[CR][LF]" 19:01:34.186981 < "PWD" 19:01:34.187008 > "257 "/" is current directory[CR][LF]" 19:01:34.187129 < "EPSV" 19:01:34.187147 ====> Passive DATA channel requested by client 19:01:34.187158 DATA sockfilt for passive data channel starting... 19:01:34.188609 DATA sockfilt for passive data channel started (pid 141666) 19:01:34.188694 DATA sockfilt for passive data channel listens on port 43991 19:01:34.188728 > "229 Entering Passive Mode (|||43991|)[CR][LF]" 19:01:34.188747 Client has been notified that DATA conn will be accepted on port 43991 19:01:34.188895 Client connects to port 43991 19:01:34.188922 ====> Client established passive DATA connection on port 43991 19:01:34.188985 < "TYPE I" 19:01:34.189007 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:34.189125 < "SIZE verifiedserver" 19:01:34.189152 > "213 17[CR][LF]" 19:01:34.189260 < "RETR verifiedserver" 19:01:34.189286 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:34.189365 =====> Closing passive DATA connection... 19:01:34.189379 Server disconnects passive DATA connection 19:01:34.189432 Server disconnected passive DATA connection 19:01:34.189447 DATA sockfilt for passive data channel quits (pid 141666) 19:01:34.189611 DATA sockfilt for passive data channel quit (pid 141666) 19:01:34.189629 =====> Closed passive DATA connection 19:01:34.189656 > "226 File transfer complete[CR][LF]" 19:01:34.235639 < "QUIT" 19:01:34.235694 > "221 bye bye baby[CR][LF]" 19:01:34.235867 MAIN sockfilt said DISC 19:01:34.235893 ====> Client disconnected 19:01:34.235956 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:33.958194 ====> Client connect 19:01:33.958395 Received DATA (on stdin) 19:01:33.958407 > 160 bytes data, server => client 19:01:33.958417 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:33.958426 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:33.958434 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:33.958488 < 16 bytes data, client => server 19:01:33.958498 'USER anonymous\r\n' 19:01:33.958630 Received DATA (on stdin) 19:01:33.958640 > 33 bytes data, server => client 19:01:33.958648 '331 We are happy you popped in!\r\n' 19:01:33.958736 < 22 bytes data, client => server 19:01:33.958756 'PASS ftp@example.com\r\n' 19:01:33.958901 Received DATA (on stdin) 19:01:33.958912 > 30 bytes data, server => client 19:01:33.958921 '230 Welcome you silly person\r\n' 19:01:33.958967 < 5 bytes data, client => server 19:01:33.958975 'PWD\r\n' 19:01:33.959058 Received DATA (on stdin) 19:01:33.959067 > 30 bytes data, server => client 19:01:33.959075 '257 "/" is current directory\r\n' 19:01:33.959119 < 6 bytes data, client => server 19:01:33.959127 'EPSV\r\n' 19:01:33.960772 Received DATA (on stdin) 19:01:33.960787 > 39 bytes data, server => client 19:01:33.960798 '229 Entering Passive Mode (|||43991|)\r\n' 19:01:33.960927 < 8 bytes data, client => server 19:01:33.960939 'TYPE I\r\n' 19:01:33.961057 Received DATA (on stdin) 19:01:33.961067 > 33 bytes data, server => client 19:01:33.961075 '200 I modify TYPE as you wanted\r\n' 19:01:33.961115 < 21 bytes data, client => server 19:01:33.961124 'SIZE verifiedserver\r\n' 19:01:33.961202 Received DATA (on stdin) 19:01:33.961211 > 8 bytes data, server => client 19:01:33.961218 '213 17\r\n' 19:01:33.961253 < 21 bytes data, client => server 19:01:33.961262 'RETR verifiedserver\r\n' 19:01:33.961407 Received DATA (on stdin) 19:01:33.961430 > 29 bytes data, server => client 19:01:33.961444 '150 Binary junk (17 bytes).\r\n' 19:01:33.961707 Received DATA (on stdin) 19:01:33.961724 > 28 bytes data, server => client 19:01:33.961733 '226 File transfer complete\r\n' 19:01:34.007562 < 6 bytes data, client => server 19:01:34.007587 'QUIT\r\n' 19:01:34.007759 Received DATA (on stdin) 19:01:34.007776 > 18 bytes data, server => client 19:01:34.007789 '221 bye bye baby\r\n' 19:01:34.007874 ====> Client disconnect 19:01:34.008013 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:34.960392 Running IPv4 version 19:01:34.960453 Listening on port 43991 19:01:34.960485 Wrote pid 141666 to log/4/server/ftp_sockdata.pid 19:01:34.960617 Received PING (on stdin) 19:01:34.960678 Received PORT (on stdin) 19:01:34.960903 ====> Client connect 19:01:34.961347 Received DATA (on stdin) 19:01:34.961360 > 17 bytes data, server => client 19:01:34.961372 'WE ROOLZ: 80681\r\n' 19:01:34.961434 Received DISC (on stdin) 19:01:34.961445 ====> Client forcibly disconnected 19:01:34.961500 Received QUIT (on stdin) 19:01:34.961508 quits 19:01:34.961550 ============> 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 ==141758== ==141758== Process terminating with default action of signal 4 (SIGILL) ==141758== Illegal opcode at address 0x4013E00 ==141758== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141758== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141758== by 0x40037A4CMD (33792): ../libtool --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/valgrind1208 ../src/curl -q --output log/10/curl1208.out --include --trace-ascii log/10/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:42709/1208 -P - > log/10/stdout1208 2> log/10/stderr1208 CMD (33792): ../libtool --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/valgrind1206 ../src/curl -q --output log/14/curl1206.out --include --trace-ascii log/14/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:35357/1206 -P - > log/14/stdout1206 2> log/14/stderr1206 : UnknownInlinedFun (tool_operate.c:2237) ==141758== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1207 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/10/valgrind1208 ../src/curl -q --output log/10/curl1208.out --include --trace-ascii log/10/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:42709/1208 -P - > log/10/stdout1208 2> log/10/stderr1208 1208: 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 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/10/valgrind1208 ../src/curl -q --output log/10/curl1208.out --include --trace-ascii log/10/trace1208 --trace-time --max-time 8 ftp://127.0.0.1:42709/1208 -P - > log/10/stdout1208 2> log/10/stderr1208 === End of file commands.log === Start of file ftp_server.log 19:01:34.221881 ====> Client connect 19:01:34.222015 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:34.222254 < "USER anonymous" 19:01:34.222285 > "331 We are happy you popped in![CR][LF]" 19:01:34.222417 < "PASS ftp@example.com" 19:01:34.222437 > "230 Welcome you silly person[CR][LF]" 19:01:34.222549 < "PWD" 19:01:34.222572 > "257 "/" is current directory[CR][LF]" 19:01:34.222688 < "EPSV" 19:01:34.222706 ====> Passive DATA channel requested by client 19:01:34.222716 DATA sockfilt for passive data channel starting... 19:01:34.223930 DATA sockfilt for passive data channel started (pid 141743) 19:01:34.224015 DATA sockfilt for passive data channel listens on port 38663 19:01:34.224046 > "229 Entering Passive Mode (|||38663|)[CR][LF]" 19:01:34.224061 Client has been notified that DATA conn will be accepted on port 38663 19:01:34.224239 Client connects to port 38663 19:01:34.224261 ====> Client established passive DATA connection on port 38663 19:01:34.224314 < "TYPE I" 19:01:34.224335 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:34.224450 < "SIZE verifiedserver" 19:01:34.224477 > "213 17[CR][LF]" 19:01:34.224584 < "RETR verifiedserver" 19:01:34.224609 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:34.224670 =====> Closing passive DATA connection... 19:01:34.224682 Server disconnects passive DATA connection 19:01:34.224858 Server disconnected passive DATA connection 19:01:34.224878 DATA sockfilt for passive data channel quits (pid 141743) 19:01:34.225035 DATA sockfilt for passive data channel quit (pid 141743) 19:01:34.225053 =====> Closed passive DATA connection 19:01:34.225071 > "226 File transfer complete[CR][LF]" 19:01:34.266547 < "QUIT" 19:01:34.266591 > "221 bye bye baby[CR][LF]" 19:01:34.266828 MAIN sockfilt said DISC 19:01:34.266858 ====> Client disconnected 19:01:34.266923 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:34.993841 ====> Client connect 19:01:34.994077 Received DATA (on stdin) 19:01:34.994099 > 160 bytes data, server => client 19:01:34.994110 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:34.994118 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:34.994126 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:34.994189 < 16 bytes data, client => server 19:01:34.994199 'USER anonymous\r\n' 19:01:34.994338 Received DATA (on stdin) 19:01:34.994349 > 33 bytes data, server => client 19:01:34.994357 '331 We are happy you popped in!\r\n' 19:01:34.994396 < 22 bytes data, client => server 19:01:34.994405 'PASS ftp@example.com\r\n' 19:01:34.994487 Received DATA (on stdin) 19:01:34.994496 > 30 bytes data, server => client 19:01:34.994505 '230 Welcome you silly person\r\n' 19:01:34.994538 < 5 bytes data, client => server 19:01:34.994547 'PWD\r\n' 19:01:34.994622 Received DATA (on stdin) 19:01:34.994630 > 30 bytes data, server => client 19:01:34.994639 '257 "/" is current directory\r\n' 19:01:34.994679 < 6 bytes data, client => server 19:01:34.994688 'EPSV\r\n' 19:01:34.996115 Received DATA (on stdin) 19:01:34.996127 > 39 bytes data, server => client 19:01:34.996136 '229 Entering Passive Mode (|||38663|)\r\n' 19:01:34.996249 < 8 bytes data, client => server 19:01:34.996258 'TYPE I\r\n' 19:01:34.996386 Received DATA (on stdin) 19:01:34.996395 > 33 bytes data, server => client 19:01:34.996404 '200 I modify TYPE as you wanted\r\n' 19:01:34.996440 < 21 bytes data, client => server 19:01:34.996449 'SIZE verifiedserver\r\n' 19:01:34.996526 Received DATA (on stdin) 19:01:34.996535 > 8 bytes data, server => client 19:01:34.996543 '213 17\r\n' 19:01:34.996576 < 21 bytes data, client => server 19:01:34.996585 'RETR verifiedserver\r\n' 19:01:34.996735 Received DATA (on stdin) 19:01:34.996744 > 29 bytes data, server => client 19:01:34.996752 '150 Binary junk (17 bytes).\r\n' 19:01:34.997123 Received DATA (on stdin) 19:01:34.997134 > 28 bytes data, server => client 19:01:34.997142 '226 File transfer complete\r\n' 19:01:35.038412 < 6 bytes data, client => server 19:01:35.038441 'QUIT\r\n' 19:01:35.038646 Received DATA (on stdin) 19:01:35.038657 > 18 bytes data, server => client 19:01:35.038666 '221 bye bye baby\r\n' 19:01:35.038830 ====> Client disconnect 19:01:35.038976 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:34.995847 Running IPv4 version 19:01:34.995891 Listening on port 38663 19:01:34.995920 Wrote pid 141743 to log/10/server/ftp_sockdata.pid 19:01:34.995935 Received PING (on stdin) 19:01:34.995999 Received PORT (on stdin) 19:01:34.996226 ====> Client connect 19:01:34.996770 Received DATA (on stdin) 19:01:34.996781 > 17 bytes data, server => client 19:01:34.996790 'WE ROOLZ: 80847\r\n' 19:01:34.996807 Received DISC (on stdin) 19:01:34.996816 ====> Client forcibly disconnected 19:01:34.996936 Received QUIT (on stdin) 19:01:34.996946 quits 19:01:34.996993 ============> 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 ==141839== ==141839== Process terminating with default action of signal 4 (SIGILL) ==141839== Illegal opcode at address 0x4013E00 ==141839== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141839== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141839== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141839== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1208 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/14/valgrind1206 ../src/curl -q --output log/14/curl1206.out --include --trace-ascii log/14/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:35357/1206 -P - > log/14/stdout1206 2> log/14/stderr1206 1206: 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 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/14/valgrind1206 ../src/curl -q --output log/14/curl1206.out --include --trace-ascii log/14/trace1206 --trace-time --max-time 8 ftp://127.0.0.1:35357/1206 -P - > log/14/stdout1206 2> log/14/stderr1206 === End of file commands.log === Start of file ftp_server.log 19:01:34.176387 ====> Client connect 19:01:34.176528 > "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/3/valgrind1212 ../src/curl -q --output log/3/curl1212.out --include --trace-ascii log/3/trace1212 --trace-time http://user:secret@127.0.0.1:46261/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/3/stdout1212 2> log/3/stderr1212 | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:34.176753 < "USER anonymous" 19:01:34.176786 > "331 We are happy you popped in![CR][LF]" 19:01:34.176915 < "PASS ftp@example.com" 19:01:34.176935 > "230 Welcome you silly person[CR][LF]" 19:01:34.177642 < "PWD" 19:01:34.177683 > "257 "/" is current directory[CR][LF]" 19:01:34.177868 < "EPSV" 19:01:34.177899 ====> Passive DATA channel requested by client 19:01:34.177914 DATA sockfilt for passive data channel starting... 19:01:34.179225 DATA sockfilt for passive data channel started (pid 141627) 19:01:34.179323 DATA sockfilt for passive data channel listens on port 38255 19:01:34.179357 > "229 Entering Passive Mode (|||38255|)[CR][LF]" 19:01:34.179372 Client has been notified that DATA conn will be accepted on port 38255 19:01:34.179545 Client connects to port 38255 19:01:34.179591 ====> Client established passive DATA connection on port 38255 19:01:34.179658 < "TYPE I" 19:01:34.179684 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:34.179806 < "SIZE verifiedserver" 19:01:34.179835 > "213 17[CR][LF]" 19:01:34.179959 < "RETR verifiedserver" 19:01:34.179984 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:34.180043 =====> Closing passive DATA connection... 19:01:34.180055 Server disconnects passive DATA connection 19:01:34.180171 Server disconnected passive DATA connection 19:01:34.180191 DATA sockfilt for passive data channel quits (pid 141627) 19:01:34.180355 DATA sockfilt for passive data channel quit (pid 141627) 19:01:34.180374 =====> Closed passive DATA connection 19:01:34.180394 > "226 File transfer complete[CR][LF]" 19:01:34.228941 < "QUIT" 19:01:34.228986 > "221 bye bye baby[CR][LF]" 19:01:34.229727 MAIN sockfilt said DISC 19:01:34.229762 ====> Client disconnected 19:01:34.229826 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:34.948358 ====> Client connect 19:01:34.948591 Received DATA (on stdin) 19:01:34.948605 > 160 bytes data, server => client 19:01:34.948614 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:34.948623 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:34.948631 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:34.948691 < 16 bytes data, client => server 19:01:34.948701 'USER anonymous\r\n' 19:01:34.948839 Received DATA (on stdin) 19:01:34.948849 > 33 bytes data, server => client 19:01:34.948858 '331 We are happy you popped in!\r\n' 19:01:34.948898 < 22 bytes data, client => server 19:01:34.948907 'PASS ftp@example.com\r\n' 19:01:34.948985 Received DATA (on stdin) 19:01:34.948994 > 30 bytes data, server => client 19:01:34.949003 '230 Welcome you silly person\r\n' 19:01:34.949041 < 5 bytes data, client => server 19:01:34.949050 'PWD\r\n' 19:01:34.949724 Received DATA (on stdin) 19:01:34.949743 > 30 bytes data, server => client 19:01:34.949755 '257 "/" is current directory\r\n' 19:01:34.949820 < 6 bytes data, client => server 19:01:34.949832 'EPSV\r\n' 19:01:34.951428 Received DATA (on stdin) 19:01:34.951440 > 39 bytes data, server => client 19:01:34.951453 '229 Entering Passive Mode (|||38255|)\r\n' 19:01:34.951567 < 8 bytes data, client => server 19:01:34.951577 'TYPE I\r\n' 19:01:34.951736 Received DATA (on stdin) 19:01:34.951746 > 33 bytes data, server => client 19:01:34.951755 '200 I modify TYPE as you wanted\r\n' 19:01:34.951794 < 21 bytes data, client => server 19:01:34.951803 'SIZE verifiedserver\r\n' 19:01:34.951885 Received DATA (on stdin) 19:01:34.951895 > 8 bytes data, server => client 19:01:34.951905 '213 17\r\n' 19:01:34.951947 < 21 bytes data, client => server 19:01:34.951956 'RETR verifiedserver\r\n' 19:01:34.952107 Received DATA (on stdin) 19:01:34.952117 > 29 bytes data, server => client 19:01:34.952125 '150 Binary junk (17 bytes).\r\n' 19:01:34.952446 Received DATA (on stdin) 19:01:34.952457 > 28 bytes data, server => client 19:01:34.952466 '226 File transfer complete\r\n' 19:01:35.000843 < 6 bytes data, client => server 19:01:35.000867 'QUIT\r\n' 19:01:35.001046 Received DATA (on stdin) 19:01:35.001059 > 18 bytes data, server => client 19:01:35.001070 '221 bye bye baby\r\n' 19:01:35.001727 ====> Client disconnect 19:01:35.001881 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:34.951141 Running IPv4 version 19:01:34.951186 Listening on port 38255 19:01:34.951213 Wrote pid 141627 to log/14/server/ftp_sockdata.pid 19:01:34.951229 Received PING (on stdin) 19:01:34.951307 Received PORT (on stdin) 19:01:34.951544 ====> Client connect 19:01:34.952042 Received DATA (on stdin) 19:01:34.952058 > 17 bytes data, server => client 19:01:34.952068 'WE ROOLZ: 80651\r\n' 19:01:34.952106 Received DISC (on stdin) 19:01:34.952116 ====> Client forcibly disconnected 19:01:34.952248 Received QUIT (on stdin) 19:01:34.952259 quits 19:01:34.952298 ============> 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 ==141745== ==141745== Process terminating with default action of signal 4 (SIGILL) ==141745== Illegal opcode at address 0x4013E00 ==141745== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141745== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141745== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141745== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1206 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/3/valgrind1212 ../src/curl -q --output log/3/curl1212.out --include --trace-ascii log/3/trace1212 --trace-time http://user:secret@127.0.0.1:46261/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/3/stdout1212 2> log/3/stderr1212 1212: 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 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/3/valgrind1212 ../src/curl -q --output log/3/curl1212.out --include --trace-ascii log/3/trace1212 --trace-time http://user:secret@127.0.0.1:46261/ulion/1212 --socks5 non-existing-host.haxx.se:1080 --noproxy 127.0.0.1 --max-time 5 > log/3/stdout1212 2> log/3/stderr1212 === End of file commands.log === Start of file http_server.log 19:01:35.146145 ====> Client connect 19:01:35.146173 accept_connection 3 returned 4 19:01:35.146186 accept_connection 3 returned 0 19:01:35.146286 Read 93 bytes 19:01:35.146297 Process 93 bytes request 19:01:35.146307 Got request: GET /verifiedserver HTTP/1.1 19:01:35.146315 Are-we-friendly question received 19:01:35.146336 Wrote request (93 bytes) input to log/3/server.input 19:01:35.146349 Identifying ourselves as friends 19:01:35.146390 Response sent (56 bytes) and written to log/3/server.response 19:01:35.146398 special request received, no persistency 19:01:35.146405 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 55690 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === 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/5/valgrind1210 ../src/curl -q --trace-ascii log/5/trace1210 --trace-time http://127.0.0.1:46771/1210?junk -J -O --output-dir log/5 > log/5/stdout1210 2> log/5/stderr1210 CMD (33792): ../libtool --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/valgrind1213 ../src/curl -q --output log/13/curl1213.out --include --trace-ascii log/13/trace1213 --trace-time -x 127.0.0.1:35301 we.want.that.site.com.1213 > log/13/stdout1213 2> log/13/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/2/valgrind1215 ../src/curl -q --output log/2/curl1215.out --include --trace-ascii log/2/trace1215 --trace-time http://127.0.0.1:44325/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:44325 > log/2/stdout1215 2> log/2/stderr1215 CMD (33792): ../libtool --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/valgrind1214 ../src/curl -q --output log/18/curl1214.out --include --trace-ascii log/18/trace1214 --trace-time -x 127.0.0.1:39771 http://we.want.that.site.com.1214?moo=foo > log/18/stdout1214 2> log/18/stderr1214 == Start of file valgrind1212 ==141937== ==141937== Process terminating with default action of signal 4 (SIGILL) ==141937== Illegal opcode at address 0x4013E00 ==141937== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141937== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141937== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141937== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1212 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/5/valgrind1210 ../src/curl -q --trace-ascii log/5/trace1210 --trace-time http://127.0.0.1:46771/1210?junk -J -O --output-dir log/5 > log/5/stdout1210 2> log/5/stderr1210 1210: 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 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/5/valgrind1210 ../src/curl -q --trace-ascii log/5/trace1210 --trace-time http://127.0.0.1:46771/1210?junk -J -O --output-dir log/5 > log/5/stdout1210 2> log/5/stderr1210 === End of file commands.log === Start of file http_server.log 19:01:34.144220 ====> Client connect 19:01:34.144254 accept_connection 3 returned 4 19:01:34.144267 accept_connection 3 returned 0 19:01:34.144279 Read 93 bytes 19:01:34.144288 Process 93 bytes request 19:01:34.144299 Got request: GET /verifiedserver HTTP/1.1 19:01:34.144307 Are-we-friendly question received 19:01:34.144327 Wrote request (93 bytes) input to log/5/server.input 19:01:34.144340 Identifying ourselves as friends 19:01:34.144383 Response sent (56 bytes) and written to log/5/server.response 19:01:34.144391 special request received, no persistency 19:01:34.144398 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 49482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1210 ==141934== ==141934== Process terminating with default action of signal 4 (SIGILL) ==141934== Illegal opcode at address 0x4013E00 ==141934== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141934== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141934== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141934== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1210 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/13/valgrind1213 ../src/curl -q --output log/13/curl1213.out --include --trace-ascii log/13/trace1213 --trace-time -x 127.0.0.1:35301 we.want.that.site.com.1213 > log/13/stdout1213 2> log/13/stderr1213 1213: 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 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/13/valgrind1213 ../src/curl -q --output log/13/curl1213.out --include --trace-ascii log/13/trace1213 --trace-time -x 127.0.0.1:35301 we.want.that.site.com.1213 > log/13/stdout1213 2> log/13/stderr1213 === End of file commands.log === Start of file http_server.log 19:01:34.161580 ====> Client connect 19:01:34.161615 accept_connection 3 returned 4 19:01:34.161633 accept_connection 3 returned 0 19:01:34.161649 Read 93 bytes 19:01:34.161660 Process 93 bytes request 19:01:34.161675 Got request: GET /verifiedserver HTTP/1.1 19:01:34.161685 Are-we-friendly question received 19:01:34.161712 Wrote request (93 bytes) input to log/13/server.input 19:01:34.161730 Identifying ourselves as friends 19:01:34.161787 Response sent (56 bytes) and written to log/13/server.response 19:01:34.161800 special request received, no persistency 19:01:34.161809 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 36964 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind1213 ==141997== ==141997== Process terminating with default action of signal 4 (SIGILL) ==141997== Illegal opcode at address 0x4013E00 ==141997== at 0x4013E00: getparameter (tool_getparam.c:2846) ==141997== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==141997== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==141997== by 0x40037A4: 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/2/valgrind1215 ../src/curl -q --output log/2/curl1215.out --include --trace-ascii log/2/trace1215 --trace-time http://127.0.0.1:44325/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:44325 > log/2/stdout1215 2> log/2/stderr1215 1215: 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 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/2/valgrind1215 ../src/curl -q --output log/2/curl1215.out --include --trace-ascii log/2/trace1215 --trace-time http://127.0.0.1:44325/1215 -u testuser:testpass --ntlm --proxy http://127.0.0.1:44325 > log/2/stdout1215 2> log/2/stderr1215 === End of file commands.log === Start of file http_server.log 19:01:35.369932 ====> Client connect 19:01:35.369964 accept_connection 3 returned 4 19:01:35.369981 accept_connection 3 returned 0 19:01:35.369995 Read 93 bytes 19:01:35.370006 Process 93 bytes request 19:01:35.370019 Got request: GET /verifiedserver HTTP/1.1 19:01:35.370029 Are-we-friendly question received 19:01:35.370052 Wrote request (93 bytes) input to log/2/server.input 19:01:35.370069 Identifying ourselves as friends 19:01:35.370120 Response sent (56 bytes) and written to log/2/server.response 19:01:35.370131 special request received, no persistency 19:01:35.370141 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 32880 * uCMD (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/3/stdout1222 2> log/3/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/23/valgrind1216 ../src/curl -q --output log/23/curl1216.out --include --trace-ascii log/23/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/23/injar1216 -x 127.0.0.1:35243 > log/23/stdout1216 2> log/23/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/6/valgrind1191 ../src/curl -q --output log/6/curl1191.out --include --trace log/6/trace1191 --trace-time mqtt://127.0.0.1:45409/1191 -d something > log/6/stdout1191 2> log/6/stderr1191 sing HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind1215 ==142153== ==142153== Process terminating with default action of signal 4 (SIGILL) ==142153== Illegal opcode at address 0x4013E00 ==142153== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142153== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142153== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142153== by 0x40037A4: 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/18/valgrind1214 ../src/curl -q --output log/18/curl1214.out --include --trace-ascii log/18/trace1214 --trace-time -x 127.0.0.1:39771 http://we.want.that.site.com.1214?moo=foo > log/18/stdout1214 2> log/18/stderr1214 1214: 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 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/18/valgrind1214 ../src/curl -q --output log/18/curl1214.out --include --trace-ascii log/18/trace1214 --trace-time -x 127.0.0.1:39771 http://we.want.that.site.com.1214?moo=foo > log/18/stdout1214 2> log/18/stderr1214 === End of file commands.log === Start of file http_server.log 19:01:34.366640 ====> Client connect 19:01:34.366669 accept_connection 3 returned 4 19:01:34.366683 accept_connection 3 returned 0 19:01:34.366695 Read 93 bytes 19:01:34.366703 Process 93 bytes request 19:01:34.366715 Got request: GET /verifiedserver HTTP/1.1 19:01:34.366723 Are-we-friendly question received 19:01:34.366764 Wrote request (93 bytes) input to log/18/server.input 19:01:34.366778 Identifying ourselves as friends 19:01:34.366822 Response sent (56 bytes) and written to log/18/server.response 19:01:34.366831 special request received, no persistency 19:01:34.366838 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 48954 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind1214 ==142132== ==142132== Process terminating with default action of signal 4 (SIGILL) ==142132== Illegal opcode at address 0x4013E00 ==142132== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142132== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142132== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142132== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1214 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/3/stdout1222 2> log/3/stderr1222 valgrind SKIPPED -------e--- OK (1158 out of 1746, remaining: 00:52, took 0.368s, duration: 01:43) 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/23/valgrind1216 ../src/curl -q --output log/23/curl1216.out --include --trace-ascii log/23/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/23/injar1216 -x 127.0.0.1:35243 > log/23/stdout1216 2> log/23/stderr1216 1216: 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 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/23/valgrind1216 ../src/curl -q --output log/23/curl1216.out --include --trace-ascii log/23/trace1216 --trace-time http://example.fake/c/1216 http://bexample.fake/c/1216 -b log/23/injar1216 -x 127.0.0.1:35243 > log/23/stdout1216 2> log/23/stderr1216 === End of file commands.log === Start of file http_server.log 19:01:34.492477 ====> Client connect 19:01:34.492511 accept_connection 3 returned 4 19:01:34.492528 accept_connection 3 returned 0 19:01:34.492543 Read 93 bytes 19:01:34.492553 Process 93 bytes request 19:01:34.492566 Got request: GET /verifiedserver HTTP/1.1 19:01:34.492576 Are-we-friendly question received 19:01:34.492602 Wrote request (93 bytes) input to log/23/server.input 19:01:34.492619 Identifying ourselves as friends 19:01:34.492672 Response sent (56 bytes) and written to log/23/server.response 19:01:34.492682 special request received, no persistency 19:01:34.492692 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 32826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind1216 ==142258== ==142258== Process terminating with default action of signal 4 (SIGILL) ==142258== Illegal opcode at address 0x4013E00 ==142258== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142258== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142258== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142258== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1216 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 141388 on PORT 45409 * pid mqtt => 141388 141388 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/6/valgrind1191 ../src/curl -q --output log/6/curl1191.out --include --trace log/6/trace1191 --trace-time mqtt://127CMD (33792): ../libtool --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/valgrind1193 ../src/curl -q --output log/24/curl1193.out --include --trace log/24/trace1193 --trace-time mqtt://127.0.0.1:37199/1193 -d @log/24/payload1193 > log/24/stdout1193 2> log/24/stderr1193 CMD (33792): ../libtool --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/valgrind1190 ../src/curl -q --output log/19/curl1190.out --include --trace log/19/trace1190 --trace-time mqtt://127.0.0.1:37661/1190 > log/19/stdout1190 2> log/19/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/1/valgrind1194 ../src/curl -q --output log/1/curl1194.out --include --trace log/1/trace1194 --trace-time mqtt://127.0.0.1:37725/1194 > log/1/stdout1194 2> log/1/stderr1194 .0.0.1:45409/1191 -d something > log/6/stdout1191 2> log/6/stderr1191 1191: 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 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/6/valgrind1191 ../src/curl -q --output log/6/curl1191.out --include --trace log/6/trace1191 --trace-time mqtt://127.0.0.1:45409/1191 -d something > log/6/stdout1191 2> log/6/stderr1191 === End of file commands.log === Start of file mqtt_server.log 19:01:33.568972 Running IPv4 version 19:01:33.569024 Listening on port 45409 19:01:33.569064 Wrote pid 141388 to log/6/server/mqtt_server.pid 19:01:33.569096 Wrote port 45409 to log/6/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 ==142329== ==142329== Process terminating with default action of signal 4 (SIGILL) ==142329== Illegal opcode at address 0x4013E00 ==142329== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142329== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142329== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142329== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1191 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 141397 on PORT 37199 * pid mqtt => 141397 141397 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/24/valgrind1193 ../src/curl -q --output log/24/curl1193.out --include --trace log/24/trace1193 --trace-time mqtt://127.0.0.1:37199/1193 -d @log/24/payload1193 > log/24/stdout1193 2> log/24/stderr1193 1193: 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 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/24/valgrind1193 ../src/curl -q --output log/24/curl1193.out --include --trace log/24/trace1193 --trace-time mqtt://127.0.0.1:37199/1193 -d @log/24/payload1193 > log/24/stdout1193 2> log/24/stderr1193 === End of file commands.log === Start of file mqtt_server.log 19:01:33.573173 Running IPv4 version 19:01:33.573234 Listening on port 37199 19:01:33.573272 Wrote pid 141397 to log/24/server/mqtt_server.pid 19:01:33.573304 Wrote port 37199 to log/24/server/mqtt_server.port === End of file mqtt_server.log === Start of file payload1193 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 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 ==142328== ==142328== Process terminating with default action of signal 4 (SIGILL) ==142328== Illegal opcode at address 0x4013E00 ==142328== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142328== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142328== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142328== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1193 startnew: ./server/servers mqttd --port 0 --pidfile log/19/server/mqtt_server.pid --portfile log/19/server/mqtt_server.port --config log/19/server.cmd --logfile log/19/mqtt_server.log --logdir log/19 RUN: MQTT server is now running PID 141385 on PORT 37661 * pid mqtt => 141385 141385 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/19/valgrind1190 ../src/curl -q --output log/19/curl1190.out --include --trace log/19/trace1190 --trace-time mqtt://127.0.0.1:37661/1190 > log/19/stdout1190 2> log/19/stderr1190 1190: 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 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/19/valgrind1190 ../src/curl -q --output log/19/curl1190.out --include --trace log/19/trace1190 --trace-time mqtt://127.0.0.1:37661/1190 > log/19/stdout1190 2> log/19/stderr1190 === End of file commands.log === Start of file mqtt_server.log 19:01:33.568012 Running IPv4 version 19:01:33.568069 Listening on port 37661 19:01:33.568108 Wrote pid 141385 to log/19/server/mqtt_server.pid 19:01:33.568140 Wrote port 37661 to log/19/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 ==142314== ==142314== Process terminating with default action of signal 4 (SIGILL) ==142314== Illegal opcode at address 0x4013E00 ==142314== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142314== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142314== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142314== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1190 startnew: ./server/servers mqttd --port 0 --pidfile log/1/server/mqtt_server.pid --portfile log/1/server/mqtt_server.port --config log/1/server.cmd --logfile log/1/mqtt_server.log --logdir log/1 RUN: MQTT server is now running PID 141447 on PORT 37725 * pid mqtt => 141447 141447 test 1194...[MQTT SUBSCRIBE with PUBLISH before SUBACK] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/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/21/valgrind1192 ../src/curl -q --output log/21/curl1192.out --include --trace log/21/trace1192 --trace-time mqtt://127.0.0.1:42299/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/21/stdout1192 2> log/21/stderr1192 CMD (33792): ../libtool --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/valgrind1196 ../src/curl -q --output log/22/curl1196.out --include --trace log/22/trace1196 --trace-time mqtt://127.0.0.1:37941/1196 > log/22/stdout1196 2> log/22/stderr1196 rc/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1194 ../src/curl -q --output log/1/curl1194.out --include --trace log/1/trace1194 --trace-time mqtt://127.0.0.1:37725/1194 > log/1/stdout1194 2> log/1/stderr1194 1194: 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 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/1/valgrind1194 ../src/curl -q --output log/1/curl1194.out --include --trace log/1/trace1194 --trace-time mqtt://127.0.0.1:37725/1194 > log/1/stdout1194 2> log/1/stderr1194 === End of file commands.log === Start of file mqtt_server.log 19:01:33.594020 Running IPv4 version 19:01:33.594075 Listening on port 37725 19:01:33.594121 Wrote pid 141447 to log/1/server/mqtt_server.pid 19:01:33.594153 Wrote port 37725 to log/1/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 ==142432== ==142432== Process terminating with default action of signal 4 (SIGILL) ==142432== Illegal opcode at address 0x4013E00 ==142432== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142432== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142432== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142432== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1194 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 141393 on PORT 42299 * pid mqtt => 141393 141393 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/21/valgrind1192 ../src/curl -q --output log/21/curl1192.out --include --trace log/21/trace1192 --trace-time mqtt://127.0.0.1:42299/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/21/stdout1192 2> log/21/stderr1192 1192: 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 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/21/valgrind1192 ../src/curl -q --output log/21/curl1192.out --include --trace log/21/trace1192 --trace-time mqtt://127.0.0.1:42299/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/1192 > log/21/stdout1192 2> log/21/stderr1192 === End of file commands.log === Start of file mqtt_server.log 19:01:33.571855 Running IPv4 version 19:01:33.571908 Listening on port 42299 19:01:33.571935 Wrote pid 141393 to log/21/server/mqtt_server.pid 19:01:33.571957 Wrote port 42299 to log/21/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 ==142331== ==142331== Process terminating with default action of signal 4 (SIGILL) ==142331== Illegal opcode at address 0x4013E00 ==142331== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142331== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142331== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142331== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1192 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 141484 on PORT 37941 * pid mqtt => 141484 141484 test 1196...[MQTT with error in CONNACK] ../libtool --mode=execute /usr/bin/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/valgrind1218 ../src/curl -q --output log/8/curl1218.out --include --trace-ascii log/8/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:43853 > log/8/stdout1218 2> log/8/stderr1218 CMD (33792): ../libtool --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/valgrind1195 ../src/curl -q --output log/20/curl1195.out --include --trace log/20/trace1195 --trace-time mqtt://127.0.0.1:40355/1195 > log/20/stdout1195 2> log/20/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/7/valgrind1198 ../src/curl -q --output log/7/curl1198.out --include --trace log/7/trace1198 --trace-time mqtt://127.0.0.1:39183/%20 -d "" > log/7/stdout1198 2> log/7/stderr1198 algrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/22/valgrind1196 ../src/curl -q --output log/22/curl1196.out --include --trace log/22/trace1196 --trace-time mqtt://127.0.0.1:37941/1196 > log/22/stdout1196 2> log/22/stderr1196 1196: 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 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/22/valgrind1196 ../src/curl -q --output log/22/curl1196.out --include --trace log/22/trace1196 --trace-time mqtt://127.0.0.1:37941/1196 > log/22/stdout1196 2> log/22/stderr1196 === End of file commands.log === Start of file mqtt_server.log 19:01:33.704946 Running IPv4 version 19:01:33.704992 Listening on port 37941 19:01:33.705095 Wrote pid 141484 to log/22/server/mqtt_server.pid 19:01:33.705121 Wrote port 37941 to log/22/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 ==142638== ==142638== Process terminating with default action of signal 4 (SIGILL) ==142638== Illegal opcode at address 0x4013E00 ==142638== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142638== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142638== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142638== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1196 startnew: ./server/servers mqttd --port 0 --pidfile log/20/server/mqtt_server.pid --portfile log/20/server/mqtt_server.port --config log/20/server.cmd --logfile log/20/mqtt_server.log --logdir log/20 RUN: MQTT server is now running PID 141483 on PORT 40355 * pid mqtt => 141483 141483 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/20/valgrind1195 ../src/curl -q --output log/20/curl1195.out --include --trace log/20/trace1195 --trace-time mqtt://127.0.0.1:40355/1195 > log/20/stdout1195 2> log/20/stderr1195 1195: 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 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/20/valgrind1195 ../src/curl -q --output log/20/curl1195.out --include --trace log/20/trace1195 --trace-time mqtt://127.0.0.1:40355/1195 > log/20/stdout1195 2> log/20/stderr1195 === End of file commands.log === Start of file mqtt_server.log 19:01:33.702962 Running IPv4 version 19:01:33.703016 Listening on port 40355 19:01:33.703051 Wrote pid 141483 to log/20/server/mqtt_server.pid 19:01:33.703079 Wrote port 40355 to log/20/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 ==142631== ==142631== Process terminating with default action of signal 4 (SIGILL) ==142631== Illegal opcode at address 0x4013E00 ==142631== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142631== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142631== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142631== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1195 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/8/valgrind1218 ../src/curl -q --output log/8/curl1218.out --include --trace-ascii log/8/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:43853 > log/8/stdout1218 2> log/8/stderr1218 1218: 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 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/8/valgrind1218 ../src/curl -q --output log/8/curl1218.out --include --trace-ascii log/8/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:43853 > log/8/stdout1218 2> log/8/stderr1218 === End of file commands.log === Start of file http_server.log 19:01:34.677377 ====> Client connect 19:01:34.677447 accept_connection 3 returned 4 19:01:34.677465 accept_connection 3 returned 0 19:01:34.677481 Read 93 bytes 19:01:34.677493 Process 93 bytes request 19:01:34.677509 Got request: GET /verifiedserver HTTP/1.1 19:01:34.677520 Are-we-friendly question received 19:01:34.677547 Wrote request (93 bytes) input to log/8/server.input 19:01:34.677565 Identifying ourselves as friends 19:01:34.677622 Response sent (56 bytes) and written to log/8/server.response 19:01:34.677633 special request received, no persistency 19:01:34.677643 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 47380 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1218 ==142586== ==142586== Process terminating with default action of signal 4 (SIGILL) ==142586== Illegal opcode at address 0x4013E00 ==142586== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142586== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142586== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142586== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1218 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 141504 on PORT 39183 * pid mqtt => 141504 141504 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/7/valgrind1198 ../src/curl -q --output log/7/curl1198.out --include --trace log/7/trace1198 --trace-time mqtt://127.0.0.1:39183/%20 -d "" > log/7/stdout1198 2> log/7/stderr1198 1198: 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 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/7/valgrind1198 ../src/curl -q --output log/7/curl1198.out --include --trace log/7/trace1198 --trace-time mqtt://127.0.0.1:39183/%20 -d "" > log/7/stdout1198 2> log/7/stderr1198 === End of file CMD (33792): ../libtool --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/valgrind1217 ../src/curl -q --output log/9/curl1217.out --include --trace-ascii log/9/trace1217 --trace-time ftp://127.0.0.1:41525/get/file/1217 ftp://127.0.0.1:41525/get/file/again/1217 --ftp-method singlecwd > log/9/stdout1217 2> log/9/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/10/valgrind1220 ../src/curl -q --trace-ascii log/10/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test1220.txt?a_query=foobar#afragment > log/10/stdout1220 2> log/10/stderr1220 commands.log === Start of file mqtt_server.log 19:01:33.737760 Running IPv4 version 19:01:33.737810 Listening on port 39183 19:01:33.737838 Wrote pid 141504 to log/7/server/mqtt_server.pid 19:01:33.737861 Wrote port 39183 to log/7/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 ==142756== ==142756== Process terminating with default action of signal 4 (SIGILL) ==142756== Illegal opcode at address 0x4013E00 ==142756== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142756== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142756== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142756== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1198 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/9/valgrind1217 ../src/curl -q --output log/9/curl1217.out --include --trace-ascii log/9/trace1217 --trace-time ftp://127.0.0.1:41525/get/file/1217 ftp://127.0.0.1:41525/get/file/again/1217 --ftp-method singlecwd > log/9/stdout1217 2> log/9/stderr1217 1217: 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 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/9/valgrind1217 ../src/curl -q --output log/9/curl1217.out --include --trace-ascii log/9/trace1217 --trace-time ftp://127.0.0.1:41525/get/file/1217 ftp://127.0.0.1:41525/get/file/again/1217 --ftp-method singlecwd > log/9/stdout1217 2> log/9/stderr1217 === End of file commands.log === Start of file ftp_server.log 19:01:34.903261 ====> Client connect 19:01:34.903431 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:34.903748 < "USER anonymous" 19:01:34.903788 > "331 We are happy you popped in![CR][LF]" 19:01:34.903981 < "PASS ftp@example.com" 19:01:34.904009 > "230 Welcome you silly person[CR][LF]" 19:01:34.904180 < "PWD" 19:01:34.904212 > "257 "/" is current directory[CR][LF]" 19:01:34.904395 < "EPSV" 19:01:34.904422 ====> Passive DATA channel requested by client 19:01:34.904437 DATA sockfilt for passive data channel starting... 19:01:34.906125 DATA sockfilt for passive data channel started (pid 142584) 19:01:34.906247 DATA sockfilt for passive data channel listens on port 39573 19:01:34.906297 > "229 Entering Passive Mode (|||39573|)[CR][LF]" 19:01:34.906322 Client has been notified that DATA conn will be accepted on port 39573 19:01:34.906556 Client connects to port 39573 19:01:34.906587 ====> Client established passive DATA connection on port 39573 19:01:34.906661 < "TYPE I" 19:01:34.906688 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:34.906860 < "SIZE verifiedserver" 19:01:34.906899 > "213 17[CR][LF]" 19:01:34.907373 < "RETR verifiedserver" 19:01:34.907411 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:34.907492 =====> Closing passive DATA connection... 19:01:34.907511 Server disconnects passive DATA connection 19:01:34.907752 Server disconnected passive DATA connection 19:01:34.907783 DATA sockfilt for passive data channel quits (pid 142584) 19:01:34.907995 DATA sockfilt for passive data channel quit (pid 142584) 19:01:34.908024 =====> Closed passive DATA connection 19:01:34.908050 > "226 File transfer complete[CR][LF]" 19:01:34.949018 < "QUIT" 19:01:34.949071 > "221 bye bye baby[CR][LF]" 19:01:34.949267 MAIN sockfilt said DISC 19:01:34.949318 ====> Client disconnected 19:01:34.949395 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:34.675206 ====> Client connect 19:01:34.675503 Received DATA (on stdin) 19:01:34.675520 > 160 bytes data, server => client 19:01:34.675535 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:34.675547 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:34.675559 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:34.675638 < 16 bytes data, client => server 19:01:34.675655 'USER anonymous\r\n' 19:01:34.675856 Received DATA (on stdin) 19:01:34.675870 > 33 bytes data, server => client 19:01:34.675883 '331 We are happy you popped in!\r\n' 19:01:34.675937 < 22 bytes data, client => server 19:01:34.675952 'PASS ftp@example.com\r\n' 19:01:34.676066 Received DATA (on stdin) 19:01:34.676080 > 30 bytes data, server => client 19:01:34.676092 '230 Welcome you silly person\r\n' 19:01:34.676144 < 5 bytes data, client => server 19:01:34.676158 'PWD\r\n' 19:01:34.676269 Received DATA (on stdin) 19:01:34.676283 > 30 bytes data, server => client 19:01:34.676295 '257 "/" is current directory\r\n' 19:01:34.676358 < 6 bytes data, client => server 19:01:34.676373 'EPSV\r\n' 19:01:34.678385 Received DATA (on stdin) 19:01:34.678400 > 39 bytes data, server => client 19:01:34.678413 '229 Entering Passive Mode (|||39573|)\r\n' 19:01:34.678526 < 8 bytes data, client => server 19:01:34.678545 'TYPE I\r\n' 19:01:34.678747 Received DATA (on stdin) 19:01:34.678761 > 33 bytes data, server => client 19:01:34.678773 '200 I modify TYPE as you wanted\r\n' 19:01:34.678825 < 21 bytes data, client => server 19:01:34.678839 'SIZE verifiedserver\r\n' 19:01:34.678956 Received DATA (on stdin) 19:01:34.678970 > 8 bytes data, server => client 19:01:34.678982 '213 17\r\n' 19:01:34.679034 < 21 bytes data, client => server 19:01:34.679047 'RETR verifiedserver\r\n' 19:01:34.679571 Received DATA (on stdin) 19:01:34.679585 > 29 bytes data, server => client 19:01:34.679597 '150 Binary junk (17 bytes).\r\n' 19:01:34.680108 Received DATA (on stdin) 19:01:34.680123 > 28 bytes data, server => client 19:01:34.680136 '226 File transfer complete\r\n' 19:01:34.720887 < 6 bytes data, client => server 19:01:34.720911 'QUIT\r\n' 19:01:34.721138 Received DATA (on stdin) 19:01:34.721154 > 18 bytes data, server => client 19:01:34.721166 '221 bye bye baby\r\n' 19:01:34.721252 ====> Client disconnect 19:01:34.721408 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:34.677941 Running IPv4 version 19:01:34.677998 Listening on port 39573 19:01:34.678102 Wrote pid 142584 to log/9/server/ftp_sockdata.pid 19:01:34.678127 Received PING (on stdin) 19:01:34.678213 Received PORT (on stdin) 19:01:34.678565 ====> Client connect 19:01:34.679625 Received DATA (on stdin) 19:01:34.679639 > 17 bytes data, server => client 19:01:34.679651 'WE ROOLZ: 80682\r\n' 19:01:34.679675 Received DISC (on stdin) 19:01:34.679688 ====> Client forcibly disconnected 19:01:34.679852 Received QUIT (on stdin) 19:01:34.679866 quits 19:01:34.679920 ============> 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 ==142705== ==142705== Process terminating with default action of signal 4 (SIGILL) ==142705== Illegal opcode at address 0x4013E00 ==142705== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142705== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142705== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142705== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1217 CMD (33792): ../libtool --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/valgrind1219 ../src/curl -q --output log/4/curl1219.out --include --trace-ascii log/4/trace1219 --trace-time ftp://127.0.0.1:35791/1219 > log/4/stdout1219 2> log/4/stderr1219 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/10/valgrind1220 ../src/curl -q --trace-ascii log/10/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test1220.txt?a_query=foobar#afragment > log/10/stdout1220 2> log/10/stderr1220 1220: stdout FAILED: --- log/10/check-expected 2025-11-13 19:01:36.029391558 +0000 +++ log/10/check-generated 2025-11-13 19:01:36.029391558 +0000 @@ -1 +0,0 @@ -contents in a single file[LF] == Contents of files in the log/10/ 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/10/valgrind1220 ../src/curl -q --trace-ascii log/10/trace1220 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test1220.txt?a_query=foobar#afragment > log/10/stdout1220 2> log/10/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 ==142831== ==142831== Process terminating with default action of signal 4 (SIGILL) ==142831== Illegal opcode at address 0x4013E00 ==142831== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142831== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142831== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142831== by 0x40037A4: 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/4/valgrind1219 ../src/curl -q --output log/4/curl1219.out --include --trace-ascii log/4/trace1219 --trace-time ftp://127.0.0.1:35791/1219 > log/4/stdout1219 2> log/4/stderr1219 1219: 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 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/4/valgrind1219 ../src/curl -q --output log/4/curl1219.out --include --trace-ascii log/4/trace1219 --trace-time ftp://127.0.0.1:35791/1219 > log/4/stdout1219 2> log/4/stderr1219 === End of file commands.log === Start of file ftp_server.log 19:01:34.938809 ====> Client connect 19:01:34.938955 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:34.939287 < "USER anonymous" 19:01:34.939332 > "331 We are happy you popped in![CR][LF]" 19:01:34.939543 < "PASS ftp@example.com" 19:01:34.939576 > "230 Welcome you silly person[CR][LF]" 19:01:34.939757 < "PWD" 19:01:34.939791 > "257 "/" is current directory[CR][LF]" 19:01:34.939978 < "EPSV" 19:01:34.940006 ====> Passive DATA channel requested by client 19:01:34.940022 DATA sockfilt for passive data channel starting... 19:01:34.941717 DATA sockfilt for passive data channel started (pid 142634) 19:01:34.941841 DATA sockfilt for passive data channel listens on port 43573 19:01:34.941888 > "229 Entering Passive Mode (|||43573|)[CR][LF]" 19:01:34.941908 Client has been notified that DATA conn will be accepted on port 43573 19:01:34.942165 Client connects to port 43573 19:01:34.942204 ====> Client established passive DATA connection on port 43573 19:01:34.942294 < "TYPE I" 19:01:34.942329 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:34.942519 < "SIZE verifiedserver" 19:01:34.942562 > "213 17[CR][LF]" 19:01:34.942741 < "RETR verifiedserver" 19:01:34.942782 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:34.942881 =====> Closing passive DATA connection... 19:01:34.942900 Server disconnects passive DATA connection 19:01:34.943028 Server disconnected passive DATA connection 19:01:34.943055 DATA sockfilt for passive data channel quits (pid 142634) 19:01:34.943294 DATA sockfilt for passive data channel quit (pid 142634) 19:01:34.943350 =====> Closed passive DATA connection 19:01:34.943388 > "226 File transfer complete[CR][LF]" 19:01:34.989332 < "QUIT" 19:01:34.989389 > "221 bye bye baby[CR][LF]" 19:01:34.990361 MAIN sockfilt said DISC 19:01:34.990420 ====> Client disconnected 19:01:34.990500 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:34.710771 ====> Client connect 19:01:34.711028 Received DATA (on stdin) 19:01:34.711048 > 160 bytes data, server => client 19:01:34.711062 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:34.711074 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:34.711085 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:34.711175 < 16 bytes data, client => server 19:01:34.711198 'USER anonymous\r\n' 19:01:34.711396 Received DATA (on stdin) 19:01:34.711412 > 33 bytes data, server => client 19:01:34.711424 '331 We are happy you popped in!\r\n' 19:01:34.711483 < 22 bytes data, client => server 19:01:34.711499 'PASS ftp@example.com\r\n' 19:01:34.711635 Received DATA (on stdin) 19:01:34.711649 > 30 bytes data, server => client 19:01:34.711661 '230 Welcome you silly person\r\n' 19:01:34.711716 < 5 bytes data, client => server 19:01:34.711730 'PWD\r\n' 19:01:34.711850 Received DATA (on stdin) 19:01:34.711863 > 30 bytes data, server => client 19:01:34.711875 '257 "/" is current directory\r\n' 19:01:34.711938 < 6 bytes data, client => server 19:01:34.711954 'EPSV\r\n' 19:01:34.713969 Received DATA (on stdin) 19:01:34.713983 > 39 bytes data, server => client 19:01:34.713996 '229 Entering Passive Mode (|||43573|)\r\n' 19:01:34.714177 < 8 bytes data, client => server 19:01:34.714192 'TYPE I\r\n' 19:01:34.714390 Received DATA (on stdin) 19:01:34.714406 > 33 bytes data, server => client 19:01:34.714419 '200 I modify TYPE as you wanted\r\n' 19:01:34.714478 < 21 bytes data, client => server 19:01:34.714494 'SIZE verifiedserver\r\n' 19:01:34.714622 Received DATA (on stdin) 19:01:34.714637 > 8 bytes data, server => client 19:01:34.714649 '213 17\r\n' 19:01:34.714704 < 21 bytes data, client => server 19:01:34.714719 'RETR verifiedserver\r\n' 19:01:34.714925 Received DATA (on stdin) 19:01:34.714953 > 29 bytes data, server => client 19:01:34.714967 '150 Binary junk (17 bytes).\r\n' 19:01:34.715452 Received DATA (on stdin) 19:01:34.715466 > 28 bytes data, server => client 19:01:34.715478 '226 File transfer complete\r\n' 19:01:34.761177 < 6 bytes data, client => server 19:01:34.761213 'QUIT\r\n' 19:01:34.761453 Received DATA (on stdin) 19:01:34.761469 > 18 bytes data, server => client 19:01:34.761482 '221 bye bye baby\r\n' 19:01:34.762308 ====> Client disconnect 19:01:34.763428 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:34.713576 Running IPv4 version 19:01:34.713647 Listening on port 43573 19:01:34.713686 Wrote pid 142634 to log/4/server/ftp_sockdata.pid 19:01:34.713707 Received PING (on stdin) 19:01:34.713806 Received PORT (on stdin) 19:01:34.714111 ====> Client connect 19:01:34.714963 Received DATA (on stdin) 19:01:34.714978 > 17 bytes data, server => client 19:01:34.714990 'WE ROOLZ: 80681\r\n' 19:01:34.715019 Received DISC (on stdin) 19:01:34.715032 ====> Client forcibly disconnected 19:01:34.715121 Received QUIT (on stdin) 19:01:34.715136 quits 19:01:34.715195 ============> 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 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/15/valgrind1199 ../src/curl -q --output log/15/curl1199.out --include --trace log/15/trace1199 --trace-time mqtt://127.0.0.1:46615 -d "" > log/15/stdout1199 2> log/15/stderr1199 CMD (33792): ../libtool --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/valgrind1200 ../src/curl -q --output log/11/curl1200.out --include --trace-ascii log/11/trace1200 --trace-time gopher://127.0.0.1:38331/1/1200 > log/11/stdout1200 2> log/11/stderr1200 CMD (33792): ../libtool --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/valgrind1221 ../src/curl -q --output log/14/curl1221.out --include --trace-ascii log/14/trace1221 --trace-time http://127.0.0.1:36759/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/14/1221.txt" --url-query @log/14/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/14/stdout1221 2> log/14/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/17/valgrind1201 ../src/curl -q --output log/17/curl1201.out --include --trace-ascii log/17/trace1201 --trace-time gopher://127.0.0.1:38639/1/selector/SELECTOR/1201 > log/17/stdout1201 2> log/17/stderr1201 ile valgrind1219 ==142836== ==142836== Process terminating with default action of signal 4 (SIGILL) ==142836== Illegal opcode at address 0x4013E00 ==142836== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142836== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142836== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142836== by 0x40037A4: 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 141507 on PORT 46615 * pid mqtt => 141507 141507 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/15/valgrind1199 ../src/curl -q --output log/15/curl1199.out --include --trace log/15/trace1199 --trace-time mqtt://127.0.0.1:46615 -d "" > log/15/stdout1199 2> log/15/stderr1199 1199: 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 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/15/valgrind1199 ../src/curl -q --output log/15/curl1199.out --include --trace log/15/trace1199 --trace-time mqtt://127.0.0.1:46615 -d "" > log/15/stdout1199 2> log/15/stderr1199 === End of file commands.log === Start of file mqtt_server.log 19:01:33.761370 Running IPv4 version 19:01:33.761431 Listening on port 46615 19:01:33.761472 Wrote pid 141507 to log/15/server/mqtt_server.pid 19:01:33.761505 Wrote port 46615 to log/15/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 ==142822== ==142822== Process terminating with default action of signal 4 (SIGILL) ==142822== Illegal opcode at address 0x4013E00 ==142822== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142822== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142822== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142822== by 0x40037A4: 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/11/server/gopher_server.pid" --logfile "log/11/gopher_server.log" --logdir "log/11" --portfile log/11/server/gopher_server.port --config log/11/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 141541 port 38331 * pid gopher => 141541 141541 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/11/valgrind1200 ../src/curl -q --output log/11/curl1200.out --include --trace-ascii log/11/trace1200 --trace-time gopher://127.0.0.1:38331/1/1200 > log/11/stdout1200 2> log/11/stderr1200 1200: 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 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/11/valgrind1200 ../src/curl -q --output log/11/curl1200.out --include --trace-ascii log/11/trace1200 --trace-time gopher://127.0.0.1:38331/1/1200 > log/11/stdout1200 2> log/11/stderr1200 === End of file commands.log === Start of file gopher_server.log 19:01:34.807638 Running GOPHER IPv4 version on port 38331 19:01:34.807727 Wrote pid 141541 to log/11/server/gopher_server.pid 19:01:34.807760 Wrote port 38331 to log/11/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 ==142958== ==142958== Process terminating with default action of signal 4 (SIGILL) ==142958== Illegal opcode at address 0x4013E00 ==142958== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142958== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142958== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142958== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1200 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/14/valgrind1221 ../src/curl -q --output log/14/curl1221.out --include --trace-ascii log/14/trace1221 --trace-time http://127.0.0.1:36759/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/14/1221.txt" --url-query @log/14/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/14/stdout1221 2> log/14/stderr1221 1221: 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 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/14/valgrind1221 ../src/curl -q --output log/14/curl1221.out --include --trace-ascii log/14/trace1221 --trace-time http://127.0.0.1:36759/1221 --url-query "my name is moo[]" --url-query "yes=s i r" --url-query "v_alue@log/14/1221.txt" --url-query @log/14/1221.txt --url-query "+%3d%3d" --data-urlencode "start=once upon the time" > log/14/stdout1221 2> log/14/stderr1221 === End of file commands.log === Start of file http_server.log 19:01:34.789260 ====> Client connect 19:01:34.789291 accept_connection 3 returned 4 19:01:34.789310 accept_connection 3 returned 0 19:01:34.789327 Read 93 bytes 19:01:34.789338 Process 93 bytes request 19:01:34.789353 Got request: GET /verifiedserver HTTP/1.1 19:01:34.789364 Are-we-friendly question received 19:01:34.789391 Wrote request (93 bytes) input to log/14/server.input 19:01:34.789410 Identifying ourselves as friends 19:01:34.789465 Response sent (56 bytes) and written to log/14/server.response 19:01:34.789477 special request received, no persistency 19:01:34.789488 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 55700 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind1221 ==142976== ==142976== Process terminating with default action of signal 4 (SIGILL) ==142976== Illegal opcode at address 0x4013E00 ==142976== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142976== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142976== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142976== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1221 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --gopher --keepalive 30 --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/16/valgrind1203 ../src/curl -q --output log/16/curl1203.out --include --trace-ascii log/16/trace1203 --trace-time -g gopher://[::1]:33005/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/12/valgrind1202 ../src/curl -q --output log/12/curl1202.out --include --trace-ascii log/12/trace1202 --trace-time "gopher://127.0.0.1:40041/7/the/search/engine%09query%20succeeded/1202" > log/12/stdout1202 2> log/12/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/5/valgrind1223 ../src/curl -q --include --trace-ascii log/5/trace1223 --trace-time http://127.0.0.1:46771/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/5/stdout1223 2> log/5/stderr1223 17/server/gopher_server.pid" --logfile "log/17/gopher_server.log" --logdir "log/17" --portfile log/17/server/gopher_server.port --config log/17/server.cmd --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: GOPHER server is on PID 141555 port 38639 * pid gopher => 141555 141555 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/17/valgrind1201 ../src/curl -q --output log/17/curl1201.out --include --trace-ascii log/17/trace1201 --trace-time gopher://127.0.0.1:38639/1/selector/SELECTOR/1201 > log/17/stdout1201 2> log/17/stderr1201 1201: 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 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/17/valgrind1201 ../src/curl -q --output log/17/curl1201.out --include --trace-ascii log/17/trace1201 --trace-time gopher://127.0.0.1:38639/1/selector/SELECTOR/1201 > log/17/stdout1201 2> log/17/stderr1201 === End of file commands.log === Start of file gopher_server.log 19:01:34.816218 Running GOPHER IPv4 version on port 38639 19:01:34.816315 Wrote pid 141555 to log/17/server/gopher_server.pid 19:01:34.816349 Wrote port 38639 to log/17/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 ==142985== ==142985== Process terminating with default action of signal 4 (SIGILL) ==142985== Illegal opcode at address 0x4013E00 ==142985== at 0x4013E00: getparameter (tool_getparam.c:2846) ==142985== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==142985== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==142985== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1201 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 141565 port 33005 * pid gopher-ipv6 => 141565 141565 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]:33005/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]:33005/1/moo/1203 > log/16/stdout1203 2> log/16/stderr1203 === End of file commands.log === Start of file gopher_ipv6_server.log 19:01:34.932555 Running GOPHER IPv6 version on port 33005 19:01:34.932627 Wrote pid 141565 to log/16/server/gopher_ipv6_server.pid 19:01:34.932653 Wrote port 33005 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 ==143162== ==143162== Process terminating with default action of signal 4 (SIGILL) ==143162== Illegal opcode at address 0x4013E00 ==143162== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143162== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143162== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143162== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1203 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 141564 port 40041 * pid gopher => 141564 141564 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/12/valgrind1202 ../src/curl -q --output log/12/curl1202.out --include --trace-ascii log/12/trace1202 --trace-time "gopher://127.0.0.1:40041/7/the/search/engine%09query%20succeeded/1202" > log/12/stdout1202 2> log/12/stderr1202 1202: 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 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/12/valgrind1202 ../src/curl -q --output log/12/curl1202.out --include --trace-ascii log/12/trace1202 --trace-time "gopher://127.0.0.1:40041/7/the/search/engine%09query%20succeeded/1202" > log/12/stdout1202 2> log/12/stderr1202 === End of file commands.log === Start of file gopher_server.log 19:01:34.917429 Running GOPHER IPv4 version on port 40041 19:01:34.917507 Wrote pid 141564 to log/12/server/gopher_server.pid 19:01:34.917532 Wrote port 40041 to log/12/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 ==143168== ==143168== Process terminating with default action of signal 4 (SIGILL) ==143168== Illegal opcode at address 0x4013E00 ==143168== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143168== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143168== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143168== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1202 CMD (33792): ../libtool --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/valgrind1224 ../src/curl -q --output log/13/curl1224.out --include --trace-ascii log/13/trace1224 --trace-time ftp://127.0.0.1:40887//1224 > log/13/stdout1224 2> log/13/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/5/valgrind1223 ../src/curl -q --include --trace-ascii log/5/trace1223 --trace-time http://127.0.0.1:46771/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/5/stdout1223 2> log/5/stderr1223 1223: stdout FAILED: --- log/5/check-expected 2025-11-13 19:01:36.332724896 +0000 +++ log/5/check-generated 2025-11-13 19:01:36.332724896 +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 46771[LF] == Contents of files in the log/5/ 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 46771[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/valgrind1223 ../src/curl -q --include --trace-ascii log/5/trace1223 --trace-time http://127.0.0.1:46771/1223 -w 'IP %{remote_ip} and PORT %{remote_port}\n' > log/5/stdout1223 2> log/5/stderr1223 === End of file commands.log === Start of file http_server.log 19:01:34.987652 ====> Client connect 19:01:34.987687 accept_connection 3 returned 4 19:01:34.987705 accept_connection 3 returned 0 19:01:34.987722 Read 93 bytes 19:01:34.987733 Process 93 bytes request 19:01:34.987747 Got request: GET /verifiedserver HTTP/1.1 19:01:34.987758 Are-we-friendly question received 19:01:34.987785 Wrote request (93 bytes) input to log/5/server.input 19:01:34.987804 Identifying ourselves as friends 19:01:34.987861 Response sent (56 bytes) and written to log/5/server.response 19:01:34.987873 special request received, no persistency 19:01:34.987883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 49492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1223 ==143295== ==143295== Process terminating with default action of signal 4 (SIGILL) ==143295== Illegal opcode at address 0x4013E00 ==143295== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143295== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143295== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143295== by 0x40037A4: 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/13/valgrind1224 ../src/curl -q --output log/13/curl1224.out --include --trace-ascii log/13/trace1224 --trace-time ftp://127.0.0.1:40887//1224 > log/13/stdout1224 2> log/13/stderr1224 1224: 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 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/13/valgrind1224 ../src/curl -q --output log/13/curl1224.out --include --trace-ascii log/13/trace1224 --trace-time ftp://127.0.0.1:40887//1224 > log/13/stdout1224 2> log/13/stderr1224 === End of file commands.log === Start of file ftp_server.log 19:01:35.225518 ====> Client connect 19:01:35.225792 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:35.238891 < "USER anonymous" 19:01:35.238955 > "331 We are happy you popped in![CR][LF]" 19:01:35.252294 < "PASS ftp@example.com" 19:01:35.252358 > "230 Welcome you silly person[CR][LF]" 19:01:35.256974 < "PWD" 19:01:35.257020 > "257 "/" is current directory[CR][LF]" 19:01:35.257207 < "EPSV" 19:01:35.257232 ====> Passive DATA channel requested by client 19:01:35.257248 DATA sockfilt for passive data channel starting... 19:01:35.259184 DATA sockfilt for passive data channel started (pid 143304) 19:01:35.259287 DATA sockfilt for passive data channel listens on port 43111 19:01:35.259331 > "229 Entering Passive Mode (|||43111|)[CR][LF]" 19:01:35.259349 Client has been notified that DATA conn will be accepted on port 43111 19:01:35.259606 Client connects to port 43111 19:01:35.259636 ====> Client established passive DATA connection on port 43111 19:01:35.259707 < "TYPE I" 19:01:35.259739 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:35.259903 < "SIZE verifiedserver" 19:01:35.259940 > "213 17[CR][LF]" 19:01:35.260100 < "RETR verifiedserver" 19:01:35.260131 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:35.260214 =====> Closing passive DATA connection... 19:01:35.260230 Server disconnects passive DATA connection 19:01:35.260494 Server disconnected passive DATA connection 19:01:35.260522 DATA sockfilt for passive data channel quits (pid 143304) 19:01:35.260742 DATA sockfilt for passive data channel quit (pid 143304) 19:01:35.260766 =====> Closed passive DATA connection 19:01:35.260793 > "226 File transfer complete[CR][LF]" 19:01:35.309002 < "QUIT" 19:01:35.309056 > "221 bye bye baby[CR][LF]" 19:01:35.310338 MAIN sockfilt said DISC 19:01:35.310366 ====> Client disconnected 19:01:35.310435 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:34.997449 ====> Client connect 19:01:34.997864 Received DATA (on stdin) 19:01:34.997882 > 160 bytes data, server => client 19:01:34.997896 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:34.997909 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:34.997921 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:35.007457 < 16 bytes data, client => server 19:01:35.007497 'USER anonymous\r\n' 19:01:35.014110 Received DATA (on stdin) 19:01:35.014146 > 33 bytes data, server => client 19:01:35.014161 '331 We are happy you popped in!\r\n' 19:01:35.024124 < 22 bytes data, client => server 19:01:35.024165 'PASS ftp@example.com\r\n' 19:01:35.024424 Received DATA (on stdin) 19:01:35.024439 > 30 bytes data, server => client 19:01:35.024452 '230 Welcome you silly person\r\n' 19:01:35.028903 < 5 bytes data, client => server 19:01:35.028924 'PWD\r\n' 19:01:35.029080 Received DATA (on stdin) 19:01:35.029094 > 30 bytes data, server => client 19:01:35.029107 '257 "/" is current directory\r\n' 19:01:35.029176 < 6 bytes data, client => server 19:01:35.029189 'EPSV\r\n' 19:01:35.031409 Received DATA (on stdin) 19:01:35.031424 > 39 bytes data, server => client 19:01:35.031437 '229 Entering Passive Mode (|||43111|)\r\n' 19:01:35.031575 < 8 bytes data, client => server 19:01:35.031592 'TYPE I\r\n' 19:01:35.031797 Received DATA (on stdin) 19:01:35.031810 > 33 bytes data, server => client 19:01:35.031823 '200 I modify TYPE as you wanted\r\n' 19:01:35.031874 < 21 bytes data, client => server 19:01:35.031886 'SIZE verifiedserver\r\n' 19:01:35.031996 Received DATA (on stdin) 19:01:35.032010 > 8 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/2/valgrind1225 ../src/curl -q --output log/2/curl1225.out --include --trace-ascii log/2/trace1225 --trace-time ftp://127.0.0.1:37089//foo/1225 ftp://127.0.0.1:37089//foo/bar/1225 > log/2/stdout1225 2> log/2/stderr1225 rver => client 19:01:35.032022 '213 17\r\n' 19:01:35.032072 < 21 bytes data, client => server 19:01:35.032084 'RETR verifiedserver\r\n' 19:01:35.032288 Received DATA (on stdin) 19:01:35.032302 > 29 bytes data, server => client 19:01:35.032315 '150 Binary junk (17 bytes).\r\n' 19:01:35.032850 Received DATA (on stdin) 19:01:35.032865 > 28 bytes data, server => client 19:01:35.032878 '226 File transfer complete\r\n' 19:01:35.080868 < 6 bytes data, client => server 19:01:35.080905 'QUIT\r\n' 19:01:35.081115 Received DATA (on stdin) 19:01:35.081128 > 18 bytes data, server => client 19:01:35.081140 '221 bye bye baby\r\n' 19:01:35.082344 ====> Client disconnect 19:01:35.082489 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:35.030923 Running IPv4 version 19:01:35.030999 Listening on port 43111 19:01:35.031038 Wrote pid 143304 to log/13/server/ftp_sockdata.pid 19:01:35.031184 Received PING (on stdin) 19:01:35.031261 Received PORT (on stdin) 19:01:35.031614 ====> Client connect 19:01:35.032371 Received DATA (on stdin) 19:01:35.032386 > 17 bytes data, server => client 19:01:35.032399 'WE ROOLZ: 80703\r\n' 19:01:35.032426 Received DISC (on stdin) 19:01:35.032439 ====> Client forcibly disconnected 19:01:35.032585 Received QUIT (on stdin) 19:01:35.032598 quits 19:01:35.032659 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1224 === End of file server.cmd === Start of file valgrind1224 ==143358== ==143358== Process terminating with default action of signal 4 (SIGILL) ==143358== Illegal opcode at address 0x4013E00 ==143358== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143358== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143358== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143358== by 0x40037A4: 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/2/valgrind1225 ../src/curl -q --output log/2/curl1225.out --include --trace-ascii log/2/trace1225 --trace-time ftp://127.0.0.1:37089//foo/1225 ftp://127.0.0.1:37089//foo/bar/1225 > log/2/stdout1225 2> log/2/stderr1225 1225: 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 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/2/valgrind1225 ../src/curl -q --output log/2/curl1225.out --include --trace-ascii log/2/trace1225 --trace-time ftp://127.0.0.1:37089//foo/1225 ftp://127.0.0.1:37089//foo/bar/1225 > log/2/stdout1225 2> log/2/stderr1225 === End of file commands.log === Start of file ftp_server.log 19:01:35.543659 ====> Client connect 19:01:35.543848 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:35.544209 < "USER anonymous" 19:01:35.544267 > "331 We are happy you popped in![CR][LF]" 19:01:35.544480 < "PASS ftp@example.com" 19:01:35.544514 > "230 Welcome you silly person[CR][LF]" 19:01:35.544698 < "PWD" 19:01:35.544734 > "257 "/" is current directory[CR][LF]" 19:01:35.544926 < "EPSV" 19:01:35.544953 ====> Passive DATA channel requested by client 19:01:35.544968 DATA sockfilt for passive data channel starting... 19:01:35.549629 DATA sockfilt for passive data channel started (pid 143458) 19:01:35.549771 DATA sockfilt for passive data channel listens on port 33053 19:01:35.549824 > "229 Entering Passive Mode (|||33053|)[CR][LF]" 19:01:35.549844 Client has been notified that DATA conn will be accepted on port 33053 19:01:35.550109 Client connects to port 33053 19:01:35.550140 ====> Client established passive DATA connection on port 33053 19:01:35.550234 < "TYPE I" 19:01:35.550264 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:35.550430 < "SIZE verifiedserver" 19:01:35.550468 > "213 17[CR][LF]" 19:01:35.550632 < "RETR verifiedserver" 19:01:35.550665 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:35.550751 =====> Closing passive DATA connection... 19:01:35.550769 Server disconnects passive DATA connection 19:01:35.551025 Server disconnected passive DATA connection 19:01:35.551052 DATA sockfilt for passive data channel quits (pid 143458) 19:01:35.551270 DATA sockfilt for passive data channel quit (pid 143458) 19:01:35.551294 =====> Closed passive DATA connection 19:01:35.551324 > "226 File transfer complete[CR][LF]" 19:01:35.596552 < "QUIT" 19:01:35.596602 > "221 bye bye baby[CR][LF]" 19:01:35.597662 MAIN sockfilt said DISC 19:01:35.597704 ====> Client disconnected 19:01:35.597779 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:35.315579 ====> Client connect 19:01:35.315930 Received DATA (on stdin) 19:01:35.315951 > 160 bytes data, server => client 19:01:35.315965 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:35.315978 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:35.315991 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:35.316084 < 16 bytes data, client => server 19:01:35.316101 'USER anonymous\r\n' 19:01:35.316334 Received DATA (on stdin) 19:01:35.316351 > 33 bytes data, server => client 19:01:35.316364 '331 We are happy you popped in!\r\n' 19:01:35.316424 < 22 bytes data, client => server 19:01:35.316438 'PASS ftp@example.com\r\n' 19:01:35.316573 Received DATA (on stdin) 19:01:35.316586 > 30 bytes data, server => client 19:01:35.316598 '230 Welcome you silly person\r\n' 19:01:35.316654 < 5 bytes data, client => server 19:01:35.316670 'PWD\r\n' 19:01:35.316792 Received DATA (on stdin) 19:01:35.316807 > 30 bytes data, server => client 19:01:35.316821 '257 "/" is current directory\r\n' 19:01:35.316888 < 6 bytes data, client => server 19:01:35.316904 'EPSV\r\n' 19:01:35.321912 Received DATA (on stdin) 19:01:35.321931 > 39 bytes data, server => client 19:01:35.321944 '229 Entering Passive Mode (|||33053|)\r\n' 19:01:35.322081 < 8 bytes data, client => server 19:01:35.322099 'TYPE I\r\n' 19:01:35.322322 Received DATA (on stdin) 19:01:35.322335 > 33 bytes data, server => client 19:01:35.322348 '200 I modify TYPE as you wanted\r\n' 19:01:35.322400 < 21 bytes data, client => server 19:01:35.322413 'SIZE verifiedserver\r\n' 19:01:35.322525 Received DATA (on stdin) 19:01:35.322537 > 8 bytes data, server => client 19:01:35.322549 '213 17\r\n' 19:01:35.322600 < 21 bytes data, client => server 19:01:35.322615 'RETR verifiedserver\r\n' 19:01:35.322826 Received DATA (on stdin) 19:01:35.322840 > 29 bytes data, server => client 19:01:35.322852 '150 Binary junk (17 bytes).\r\n' 19:01:35.323382 Received DATA (on stdin) 19:01:35.323396 > 28 bytes data, server => client 19:01:35.323409 '226 File transfer complete\r\n' 19:01:35.368444 < 6 bytes data, client => server 19:01:35.368470 'QUIT\r\n' 19:01:35.368662 Received DATA (on stdin) 19:01:35.368676 > 18 bytes data, server => client 19:01:35.368689 '221 bye bye baby\r\n' 19:01:35.369658 ====> Client disconnect 19:01:35.369837 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:35.319958 Running IPv4 version 19:01:35.320019 Listening on port 33053 19:01:35.320061 Wrote pid 143458 to log/2/server/ftp_sockdata.pid 19:01:35.321602 Received PING (on stdin) 19:01:35.321726 Received PORT (on stdin) 19:01:35.322120 ====> Client connect 19:01:35.322908 Received DATA (on stdin) 19:01:35.322923 > 17 bytes data, server => client 19:01:35.322936 'WE ROOLZ: 80680\r\n' 19:01:35.322962 Received DISC (on stdin) 19:01:35.322976 ====> Client forcibly disconnected 19:01:35.323115 Received QUIT (on stdin) 19:01:35.323128 quits 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/valgrind1227 ../src/curl -q --output log/3/curl1227.out --include --trace-ascii log/3/trace1227 --trace-time ftp://127.0.0.1:36301//1227 --ftp-method nocwd > log/3/stdout1227 2> log/3/stderr1227 CMD (33792): ../libtool --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/valgrind1226 ../src/curl -q --output log/18/curl1226.out --include --trace-ascii log/18/trace1226 --trace-time ftp://127.0.0.1:38611//1226 --ftp-method singlecwd > log/18/stdout1226 2> log/18/stderr1226 9:01:35.323180 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1225 === End of file server.cmd === Start of file valgrind1225 ==143490== ==143490== Process terminating with default action of signal 4 (SIGILL) ==143490== Illegal opcode at address 0x4013E00 ==143490== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143490== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143490== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143490== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1225 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/3/valgrind1227 ../src/curl -q --output log/3/curl1227.out --include --trace-ascii log/3/trace1227 --trace-time ftp://127.0.0.1:36301//1227 --ftp-method nocwd > log/3/stdout1227 2> log/3/stderr1227 1227: 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 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/3/valgrind1227 ../src/curl -q --output log/3/curl1227.out --include --trace-ascii log/3/trace1227 --trace-time ftp://127.0.0.1:36301//1227 --ftp-method nocwd > log/3/stdout1227 2> log/3/stderr1227 === End of file commands.log === Start of file ftp_server.log 19:01:35.564966 ====> Client connect 19:01:35.565133 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:35.565472 < "USER anonymous" 19:01:35.565509 > "331 We are happy you popped in![CR][LF]" 19:01:35.565688 < "PASS ftp@example.com" 19:01:35.565714 > "230 Welcome you silly person[CR][LF]" 19:01:35.565873 < "PWD" 19:01:35.565905 > "257 "/" is current directory[CR][LF]" 19:01:35.566077 < "EPSV" 19:01:35.566102 ====> Passive DATA channel requested by client 19:01:35.566116 DATA sockfilt for passive data channel starting... 19:01:35.568037 DATA sockfilt for passive data channel started (pid 143476) 19:01:35.568147 DATA sockfilt for passive data channel listens on port 45335 19:01:35.568191 > "229 Entering Passive Mode (|||45335|)[CR][LF]" 19:01:35.568212 Client has been notified that DATA conn will be accepted on port 45335 19:01:35.568444 Client connects to port 45335 19:01:35.568474 ====> Client established passive DATA connection on port 45335 19:01:35.568551 < "TYPE I" 19:01:35.568579 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:35.568776 < "SIZE verifiedserver" 19:01:35.568815 > "213 17[CR][LF]" 19:01:35.568976 < "RETR verifiedserver" 19:01:35.569008 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:35.569094 =====> Closing passive DATA connection... 19:01:35.569110 Server disconnects passive DATA connection 19:01:35.569357 Server disconnected passive DATA connection 19:01:35.569384 DATA sockfilt for passive data channel quits (pid 143476) 19:01:35.569632 DATA sockfilt for passive data channel quit (pid 143476) 19:01:35.569657 =====> Closed passive DATA connection 19:01:35.569683 > "226 File transfer complete[CR][LF]" 19:01:35.612611 < "QUIT" 19:01:35.612662 > "221 bye bye baby[CR][LF]" 19:01:35.614361 MAIN sockfilt said DISC 19:01:35.614413 ====> Client disconnected 19:01:35.614494 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:35.336886 ====> Client connect 19:01:35.337202 Received DATA (on stdin) 19:01:35.337218 > 160 bytes data, server => client 19:01:35.337232 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:35.337245 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:35.337257 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:35.337335 < 16 bytes data, client => server 19:01:35.337349 'USER anonymous\r\n' 19:01:35.337570 Received DATA (on stdin) 19:01:35.337584 > 33 bytes data, server => client 19:01:35.337597 '331 We are happy you popped in!\r\n' 19:01:35.337653 < 22 bytes data, client => server 19:01:35.337666 'PASS ftp@example.com\r\n' 19:01:35.337770 Received DATA (on stdin) 19:01:35.337783 > 30 bytes data, server => client 19:01:35.337796 '230 Welcome you silly person\r\n' 19:01:35.337845 < 5 bytes data, client => server 19:01:35.337857 'PWD\r\n' 19:01:35.337961 Received DATA (on stdin) 19:01:35.337975 > 30 bytes data, server => client 19:01:35.337987 '257 "/" is current directory\r\n' 19:01:35.338045 < 6 bytes data, client => server 19:01:35.338057 'EPSV\r\n' 19:01:35.340273 Received DATA (on stdin) 19:01:35.340288 > 39 bytes data, server => client 19:01:35.340301 '229 Entering Passive Mode (|||45335|)\r\n' 19:01:35.340413 < 8 bytes data, client => server 19:01:35.340430 'TYPE I\r\n' 19:01:35.340636 Received DATA (on stdin) 19:01:35.340649 > 33 bytes data, server => client 19:01:35.340662 '200 I modify TYPE as you wanted\r\n' 19:01:35.340713 < 21 bytes data, client => server 19:01:35.340726 'SIZE verifiedserver\r\n' 19:01:35.340871 Received DATA (on stdin) 19:01:35.340885 > 8 bytes data, server => client 19:01:35.340897 '213 17\r\n' 19:01:35.340948 < 21 bytes data, client => server 19:01:35.340960 'RETR verifiedserver\r\n' 19:01:35.341169 Received DATA (on stdin) 19:01:35.341182 > 29 bytes data, server => client 19:01:35.341195 '150 Binary junk (17 bytes).\r\n' 19:01:35.341740 Received DATA (on stdin) 19:01:35.341755 > 28 bytes data, server => client 19:01:35.341767 '226 File transfer complete\r\n' 19:01:35.384475 < 6 bytes data, client => server 19:01:35.384503 'QUIT\r\n' 19:01:35.384727 Received DATA (on stdin) 19:01:35.384741 > 18 bytes data, server => client 19:01:35.384754 '221 bye bye baby\r\n' 19:01:35.385856 ====> Client disconnect 19:01:35.388415 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:35.339702 Running IPv4 version 19:01:35.339763 Listening on port 45335 19:01:35.340013 Wrote pid 143476 to log/3/server/ftp_sockdata.pid 19:01:35.340038 Received PING (on stdin) 19:01:35.340117 Received PORT (on stdin) 19:01:35.340453 ====> Client connect 19:01:35.341222 Received DATA (on stdin) 19:01:35.341236 > 17 bytes data, server => client 19:01:35.341248 'WE ROOLZ: 80615\r\n' 19:01:35.341275 Received DISC (on stdin) 19:01:35.341287 ====> Client forcibly disconnected 19:01:35.341450 Received QUIT (on stdin) 19:01:35.341463 quits 19:01:35.341517 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1227 === End of file server.cmd === Start of file valgrind1227 ==143520== ==143520== Process terminating with default action of signal 4 (SIGILL) ==143520== Illegal opcode at address 0x4013E00 ==143520== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143520== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143520== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143520== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1227 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/18/valgrind1226 ../src/curl -q --output log/18/curl1226.out --include --trace-ascii log/18/trace1226 --trace-time ftp://127.0.0.1:38611//1226 --ftp-method singlecwd > log/18/stdout1226 2> log/18/stderr1226 1226: 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 1226 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/CMD (33792): ../libtool --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/valgrind1228 ../src/curl -q --output log/23/curl1228.out --include --trace-ascii log/23/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:35243 > log/23/stdout1228 2> log/23/stderr1228 src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/18/valgrind1226 ../src/curl -q --output log/18/curl1226.out --include --trace-ascii log/18/trace1226 --trace-time ftp://127.0.0.1:38611//1226 --ftp-method singlecwd > log/18/stdout1226 2> log/18/stderr1226 === End of file commands.log === Start of file ftp_server.log 19:01:35.533449 ====> Client connect 19:01:35.533631 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:35.535859 < "USER anonymous" 19:01:35.535918 > "331 We are happy you popped in![CR][LF]" 19:01:35.536096 < "PASS ftp@example.com" 19:01:35.536122 > "230 Welcome you silly person[CR][LF]" 19:01:35.537487 < "PWD" 19:01:35.537521 > "257 "/" is current directory[CR][LF]" 19:01:35.537966 < "EPSV" 19:01:35.537992 ====> Passive DATA channel requested by client 19:01:35.538008 DATA sockfilt for passive data channel starting... 19:01:35.544780 DATA sockfilt for passive data channel started (pid 143456) 19:01:35.546359 DATA sockfilt for passive data channel listens on port 45527 19:01:35.546420 > "229 Entering Passive Mode (|||45527|)[CR][LF]" 19:01:35.546441 Client has been notified that DATA conn will be accepted on port 45527 19:01:35.546754 Client connects to port 45527 19:01:35.546786 ====> Client established passive DATA connection on port 45527 19:01:35.546880 < "TYPE I" 19:01:35.546913 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:35.547076 < "SIZE verifiedserver" 19:01:35.547114 > "213 17[CR][LF]" 19:01:35.547264 < "RETR verifiedserver" 19:01:35.547295 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:35.547383 =====> Closing passive DATA connection... 19:01:35.547399 Server disconnects passive DATA connection 19:01:35.547662 Server disconnected passive DATA connection 19:01:35.547690 DATA sockfilt for passive data channel quits (pid 143456) 19:01:35.547926 DATA sockfilt for passive data channel quit (pid 143456) 19:01:35.547950 =====> Closed passive DATA connection 19:01:35.547979 > "226 File transfer complete[CR][LF]" 19:01:35.590240 < "QUIT" 19:01:35.590297 > "221 bye bye baby[CR][LF]" 19:01:35.591393 MAIN sockfilt said DISC 19:01:35.591423 ====> Client disconnected 19:01:35.591510 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:36.305352 ====> Client connect 19:01:36.305705 Received DATA (on stdin) 19:01:36.305723 > 160 bytes data, server => client 19:01:36.305736 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:36.305748 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:36.305759 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:36.307636 < 16 bytes data, client => server 19:01:36.307678 'USER anonymous\r\n' 19:01:36.307980 Received DATA (on stdin) 19:01:36.307994 > 33 bytes data, server => client 19:01:36.308006 '331 We are happy you popped in!\r\n' 19:01:36.308062 < 22 bytes data, client => server 19:01:36.308075 'PASS ftp@example.com\r\n' 19:01:36.308177 Received DATA (on stdin) 19:01:36.308189 > 30 bytes data, server => client 19:01:36.308201 '230 Welcome you silly person\r\n' 19:01:36.309440 < 5 bytes data, client => server 19:01:36.309459 'PWD\r\n' 19:01:36.309578 Received DATA (on stdin) 19:01:36.309590 > 30 bytes data, server => client 19:01:36.309602 '257 "/" is current directory\r\n' 19:01:36.309661 < 6 bytes data, client => server 19:01:36.309673 'EPSV\r\n' 19:01:36.318510 Received DATA (on stdin) 19:01:36.318530 > 39 bytes data, server => client 19:01:36.318543 '229 Entering Passive Mode (|||45527|)\r\n' 19:01:36.318725 < 8 bytes data, client => server 19:01:36.318741 'TYPE I\r\n' 19:01:36.318970 Received DATA (on stdin) 19:01:36.318983 > 33 bytes data, server => client 19:01:36.318996 '200 I modify TYPE as you wanted\r\n' 19:01:36.319047 < 21 bytes data, client => server 19:01:36.319063 'SIZE verifiedserver\r\n' 19:01:36.319170 Received DATA (on stdin) 19:01:36.319182 > 8 bytes data, server => client 19:01:36.319193 '213 17\r\n' 19:01:36.319240 < 21 bytes data, client => server 19:01:36.319252 'RETR verifiedserver\r\n' 19:01:36.319458 Received DATA (on stdin) 19:01:36.319471 > 29 bytes data, server => client 19:01:36.319483 '150 Binary junk (17 bytes).\r\n' 19:01:36.320038 Received DATA (on stdin) 19:01:36.320053 > 28 bytes data, server => client 19:01:36.320065 '226 File transfer complete\r\n' 19:01:36.362089 < 6 bytes data, client => server 19:01:36.362125 'QUIT\r\n' 19:01:36.362358 Received DATA (on stdin) 19:01:36.362371 > 18 bytes data, server => client 19:01:36.362382 '221 bye bye baby\r\n' 19:01:36.363398 ====> Client disconnect 19:01:36.363565 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:35.311779 Running IPv4 version 19:01:35.311855 Listening on port 45527 19:01:35.311897 Wrote pid 143456 to log/18/server/ftp_sockdata.pid 19:01:35.315272 Received PING (on stdin) 19:01:35.318296 Received PORT (on stdin) 19:01:35.318763 ====> Client connect 19:01:35.319538 Received DATA (on stdin) 19:01:35.319552 > 17 bytes data, server => client 19:01:35.319567 'WE ROOLZ: 80927\r\n' 19:01:35.319594 Received DISC (on stdin) 19:01:35.319607 ====> Client forcibly disconnected 19:01:35.319754 Received QUIT (on stdin) 19:01:35.319767 quits 19:01:35.319828 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1226 === End of file server.cmd === Start of file valgrind1226 ==143481== ==143481== Process terminating with default action of signal 4 (SIGILL) ==143481== Illegal opcode at address 0x4013E00 ==143481== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143481== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143481== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143481== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1226 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/23/valgrind1228 ../src/curl -q --output log/23/curl1228.out --include --trace-ascii log/23/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:35243 > log/23/stdout1228 2> log/23/stderr1228 1228: 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 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/23/valgrind1228 ../src/curl -q --output log/23/curl1228.out --include --trace-ascii log/23/trace1228 --trace-time http://example.fake/hoge/1228 http://example.fake/hogege/ -b nonexisting -x 127.0.0.1:35243 > log/23/stdout1228 2> log/23/stderr1228 === End of file commands.log === Start of file http_server.log 19:01:35.516776 ====> Client connect 19:01:35.516816 accept_connection 3 returned 4 19:01:35.516835 accept_connection 3 returned 0 19:01:35.516852 Read 93 bytes 19:01:35.516864 Process 93 bytes request 19:01:35.516878 Got request: GET /verifiedserver HTTP/1.1 19:01:35.516889 Are-we-friendly question received 19:01:35.516920 Wrote request (93 bytes) input to log/23/server.input 19:01:35.516940 Identifying ourselves as friends 19:01:35.517005 Response sent (56 bytes) and written to log/23/server.response 19:01:35.517018 special request received, no persistency 19:01:35.517029 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 32838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 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/6/valgrind1229 ../src/curl -q --output log/6/curl1229.out --include --trace-ascii log/6/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:41595/1229 --digest > log/6/stdout1229 2> log/6/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/1/valgrind1232 ../src/curl -q --output log/1/curl1232.out --include --trace-ascii log/1/trace1232 --trace-time --proxy http://127.0.0.1:40353 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/1/stdout1232 2> log/1/stderr1232 CMD (33792): ../libtool --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/valgrind1231 ../src/curl -q --output log/19/curl1231.out --include --trace-ascii log/19/trace1231 --trace-time http://127.0.0.1:41761/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:41761/../../hej/but/who/../12310001#/../12310001 > log/19/stdout1231 2> log/19/stderr1231 < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind1228 ==143656== ==143656== Process terminating with default action of signal 4 (SIGILL) ==143656== Illegal opcode at address 0x4013E00 ==143656== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143656== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143656== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143656== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1228 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/6/valgrind1229 ../src/curl -q --output log/6/curl1229.out --include --trace-ascii log/6/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:41595/1229 --digest > log/6/stdout1229 2> log/6/stderr1229 1229: 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 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/6/valgrind1229 ../src/curl -q --output log/6/curl1229.out --include --trace-ascii log/6/trace1229 --trace-time http://%5cuser%22:password@127.0.0.1:41595/1229 --digest > log/6/stdout1229 2> log/6/stderr1229 === End of file commands.log === Start of file http_server.log 19:01:35.625143 ====> Client connect 19:01:35.625176 accept_connection 3 returned 4 19:01:35.625194 accept_connection 3 returned 0 19:01:35.625209 Read 93 bytes 19:01:35.625220 Process 93 bytes request 19:01:35.625235 Got request: GET /verifiedserver HTTP/1.1 19:01:35.625245 Are-we-friendly question received 19:01:35.625272 Wrote request (93 bytes) input to log/6/server.input 19:01:35.625288 Identifying ourselves as friends 19:01:35.625350 Response sent (56 bytes) and written to log/6/server.response 19:01:35.625361 special request received, no persistency 19:01:35.625371 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 51352 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1229 ==143773== ==143773== Process terminating with default action of signal 4 (SIGILL) ==143773== Illegal opcode at address 0x4013E00 ==143773== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143773== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143773== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143773== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1229 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/1/valgrind1232 ../src/curl -q --output log/1/curl1232.out --include --trace-ascii log/1/trace1232 --trace-time --proxy http://127.0.0.1:40353 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/1/stdout1232 2> log/1/stderr1232 1232: 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 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/1/valgrind1232 ../src/curl -q --output log/1/curl1232.out --include --trace-ascii log/1/trace1232 --trace-time --proxy http://127.0.0.1:40353 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/1/stdout1232 2> log/1/stderr1232 === End of file commands.log === Start of file http_server.log 19:01:35.635851 ====> Client connect 19:01:35.635882 accept_connection 3 returned 4 19:01:35.635898 accept_connection 3 returned 0 19:01:35.635912 Read 93 bytes 19:01:35.635922 Process 93 bytes request 19:01:35.635936 Got request: GET /verifiedserver HTTP/1.1 19:01:35.635946 Are-we-friendly question received 19:01:35.635969 Wrote request (93 bytes) input to log/1/server.input 19:01:35.635985 Identifying ourselves as friends 19:01:35.636034 Response sent (56 bytes) and written to log/1/server.response 19:01:35.636044 special request received, no persistency 19:01:35.636053 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1232 ==143795== ==143795== Process terminating with default action of signal 4 (SIGILL) ==143795== Illegal opcode at address 0x4013E00 ==143795== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143795== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143795== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143795== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1232 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/19/valgrind1231 ../src/curl -q --output log/19/curl1231.out --include --trace-ascii log/19/trace1231 --trace-time http://127.0.0.1:41761/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:41761/../../hej/but/who/../12310001#/../12310001 > log/19/stdout1231 2> log/19/stderr1231 1231: 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 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/19/valgrind1231 ../src/curl -q --output log/19/curl1231.out --include --trace-ascii log/19/trace1231 --trace-time http://127.0.0.1:41761/../../hej/but/who/../1231?stupid=me/../1231#soo/../1231 http://127.0.0.1:41761/../../hej/but/CMD (33792): ../libtool --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/valgrind1233 ../src/curl -q --output log/21/curl1233.out --include --trace-ascii log/21/trace1233 --trace-time ftp://127.0.0.1:35487/1233 > log/21/stdout1233 2> log/21/stderr1233 who/../12310001#/../12310001 > log/19/stdout1231 2> log/19/stderr1231 === End of file commands.log === Start of file http_server.log 19:01:35.630092 ====> Client connect 19:01:35.630126 accept_connection 3 returned 4 19:01:35.630145 accept_connection 3 returned 0 19:01:35.630162 Read 93 bytes 19:01:35.630175 Process 93 bytes request 19:01:35.630193 Got request: GET /verifiedserver HTTP/1.1 19:01:35.630204 Are-we-friendly question received 19:01:35.630234 Wrote request (93 bytes) input to log/19/server.input 19:01:35.630254 Identifying ourselves as friends 19:01:35.630316 Response sent (56 bytes) and written to log/19/server.response 19:01:35.630330 special request received, no persistency 19:01:35.630342 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 34304 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind1231 ==143778== ==143778== Process terminating with default action of signal 4 (SIGILL) ==143778== Illegal opcode at address 0x4013E00 ==143778== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143778== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143778== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143778== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1231 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/21/valgrind1233 ../src/curl -q --output log/21/curl1233.out --include --trace-ascii log/21/trace1233 --trace-time ftp://127.0.0.1:35487/1233 > log/21/stdout1233 2> log/21/stderr1233 1233: 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 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/21/valgrind1233 ../src/curl -q --output log/21/curl1233.out --include --trace-ascii log/21/trace1233 --trace-time ftp://127.0.0.1:35487/1233 > log/21/stdout1233 2> log/21/stderr1233 === End of file commands.log === Start of file ftp_server.log 19:01:35.865286 ====> Client connect 19:01:35.865470 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:35.865804 < "USER anonymous" 19:01:35.865852 > "331 We are happy you popped in![CR][LF]" 19:01:35.866070 < "PASS ftp@example.com" 19:01:35.866108 > "230 Welcome you silly person[CR][LF]" 19:01:35.866296 < "PWD" 19:01:35.866334 > "257 "/" is current directory[CR][LF]" 19:01:35.866526 < "EPSV" 19:01:35.866555 ====> Passive DATA channel requested by client 19:01:35.866570 DATA sockfilt for passive data channel starting... 19:01:35.868672 DATA sockfilt for passive data channel started (pid 143772) 19:01:35.868948 DATA sockfilt for passive data channel listens on port 43221 19:01:35.869000 > "229 Entering Passive Mode (|||43221|)[CR][LF]" 19:01:35.869022 Client has been notified that DATA conn will be accepted on port 43221 19:01:35.869270 Client connects to port 43221 19:01:35.869303 ====> Client established passive DATA connection on port 43221 19:01:35.869384 < "TYPE I" 19:01:35.869415 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:35.869589 < "SIZE verifiedserver" 19:01:35.869630 > "213 17[CR][LF]" 19:01:35.869797 < "RETR verifiedserver" 19:01:35.869832 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:35.869936 =====> Closing passive DATA connection... 19:01:35.869957 Server disconnects passive DATA connection 19:01:35.870166 Server disconnected passive DATA connection 19:01:35.870196 DATA sockfilt for passive data channel quits (pid 143772) 19:01:35.870420 DATA sockfilt for passive data channel quit (pid 143772) 19:01:35.870447 =====> Closed passive DATA connection 19:01:35.870476 > "226 File transfer complete[CR][LF]" 19:01:35.912478 < "QUIT" 19:01:35.912541 > "221 bye bye baby[CR][LF]" 19:01:35.913038 MAIN sockfilt said DISC 19:01:35.913075 ====> Client disconnected 19:01:35.913151 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:35.637232 ====> Client connect 19:01:35.637549 Received DATA (on stdin) 19:01:35.637570 > 160 bytes data, server => client 19:01:35.637585 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:35.637598 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:35.637609 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:35.637690 < 16 bytes data, client => server 19:01:35.637703 'USER anonymous\r\n' 19:01:35.637916 Received DATA (on stdin) 19:01:35.637932 > 33 bytes data, server => client 19:01:35.637945 '331 We are happy you popped in!\r\n' 19:01:35.638006 < 22 bytes data, client => server 19:01:35.638021 'PASS ftp@example.com\r\n' 19:01:35.638168 Received DATA (on stdin) 19:01:35.638184 > 30 bytes data, server => client 19:01:35.638196 '230 Welcome you silly person\r\n' 19:01:35.638251 < 5 bytes data, client => server 19:01:35.638265 'PWD\r\n' 19:01:35.638395 Received DATA (on stdin) 19:01:35.638410 > 30 bytes data, server => client 19:01:35.638422 '257 "/" is current directory\r\n' 19:01:35.638485 < 6 bytes data, client => server 19:01:35.638499 'EPSV\r\n' 19:01:35.641090 Received DATA (on stdin) 19:01:35.641105 > 39 bytes data, server => client 19:01:35.641118 '229 Entering Passive Mode (|||43221|)\r\n' 19:01:35.641235 < 8 bytes data, client => server 19:01:35.641254 'TYPE I\r\n' 19:01:35.641474 Received DATA (on stdin) 19:01:35.641488 > 33 bytes data, server => client 19:01:35.641501 '200 I modify TYPE as you wanted\r\n' 19:01:35.641554 < 21 bytes data, client => server 19:01:35.641568 'SIZE verifiedserver\r\n' 19:01:35.641688 Received DATA (on stdin) 19:01:35.641701 > 8 bytes data, server => client 19:01:35.641713 '213 17\r\n' 19:01:35.641764 < 21 bytes data, client => server 19:01:35.641777 'RETR verifiedserver\r\n' 19:01:35.642021 Received DATA (on stdin) 19:01:35.642036 > 29 bytes data, server => client 19:01:35.642049 '150 Binary junk (17 bytes).\r\n' 19:01:35.642536 Received DATA (on stdin) 19:01:35.642551 > 28 bytes data, server => client 19:01:35.642563 '226 File transfer complete\r\n' 19:01:35.684327 < 6 bytes data, client => server 19:01:35.684357 'QUIT\r\n' 19:01:35.684610 Received DATA (on stdin) 19:01:35.684628 > 18 bytes data, server => client 19:01:35.684642 '221 bye bye baby\r\n' 19:01:35.685035 ====> Client disconnect 19:01:35.685210 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:35.640399 Running IPv4 version 19:01:35.640463 Listening on port 43221 19:01:35.640501 Wrote pid 143772 to log/21/server/ftp_sockdata.pid 19:01:35.640667 Received PING (on stdin) 19:01:35.640905 Received PORT (on stdin) 19:01:35.641277 ====> Client connect 19:01:35.641913 Received DATA (on stdin) 19:01:35.641937 > 17 bytes data, server => client 19:01:35.641951 'WE ROOLZ: 81255\r\n' 19:01:35.642078 Received DISC (on stdin) 19:01:35.642094 ====> Client forcibly disconnected 19:01:35.642264 Received QUIT (on stdin) 19:01:35.642278 quits 19:01:35.642332 ============> sockfilt quCMD (33792): ../libtool --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/valgrind1236 ../src/curl -q --output log/8/curl1236.out --include --trace-ascii log/8/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/8/stdout1236 2> log/8/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/22/valgrind1234 ../src/curl -q --output log/22/curl1234.out --include --trace-ascii log/22/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/22/stdout1234 2> log/22/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/20/valgrind1235 ../src/curl -q --include --trace-ascii log/20/trace1235 --trace-time "127.0.0.1:38583/{1235,1235}{0001,0002}" > log/20/stdout1235 2> log/20/stderr1235 its === 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 ==143914== ==143914== Process terminating with default action of signal 4 (SIGILL) ==143914== Illegal opcode at address 0x4013E00 ==143914== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143914== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143914== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143914== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1233 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/8/valgrind1236 ../src/curl -q --output log/8/curl1236.out --include --trace-ascii log/8/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/8/stdout1236 2> log/8/stderr1236 curl returned 132, when expecting 3 1236: exit FAILED == Contents of files in the log/8/ 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/8/valgrind1236 ../src/curl -q --output log/8/curl1236.out --include --trace-ascii log/8/trace1236 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/[1-4611686018427387904][1-4611686018427387904]" > log/8/stdout1236 2> log/8/stderr1236 === End of file commands.log === Start of file server.cmd Testnum 1236 === End of file server.cmd === Start of file valgrind1236 ==143967== ==143967== Process terminating with default action of signal 4 (SIGILL) ==143967== Illegal opcode at address 0x4013E00 ==143967== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143967== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143967== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143967== by 0x40037A4: 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/22/valgrind1234 ../src/curl -q --output log/22/curl1234.out --include --trace-ascii log/22/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/22/stdout1234 2> log/22/stderr1234 curl returned 132, when expecting 3 1234: exit FAILED == Contents of files in the log/22/ 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/22/valgrind1234 ../src/curl -q --output log/22/curl1234.out --include --trace-ascii log/22/trace1234 --trace-time "127.0.0.1:47/1234[0-1]{" "127.0.0.1:47/{}{}{}{" > log/22/stdout1234 2> log/22/stderr1234 === End of file commands.log === Start of file server.cmd Testnum 1234 === End of file server.cmd === Start of file valgrind1234 ==143933== ==143933== Process terminating with default action of signal 4 (SIGILL) ==143933== Illegal opcode at address 0x4013E00 ==143933== at 0x4013E00: getparameter (tool_getparam.c:2846) ==143933== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==143933== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==143933== by 0x40037A4: 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/valgrind1239 ../src/curl -q --include --trace-ascii log/10/trace1239 --trace-time http://127.0.0.1:37879/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/10/stdout1239 2> log/10/stderr1239 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/20/valgrind1235 ../src/curl -q --include --trace-ascii log/20/trace1235 --trace-time "127.0.0.1:38583/{1235,1235}{0001,0002}" > log/20/stdout1235 2> log/20/stderr1235 1235: stdout FAILED: --- log/20/check-expected 2025-11-13 19:01:36.986058235 +0000 +++ log/20/check-generated 2025-11-13 19:01:36.986058235 +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/20/ 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/20/valgrind1235 ../src/curl -q --include --trace-ascii log/20/trace1235 --trace-time "127.0.0.1:38583/{1235,1235}{0001,0002}" > log/20/stdout1235 2> log/20/stderr1235 === End of file commands.log === Start of file http_server.log 19:01:35.745070 ====> Client connect 19:01:35.745104 accept_connection 3 returned 4 19:01:35.745120 accept_connection 3 returned 0 19:01:35.745136 Read 93 bytes 19:01:35.745146 Process 93 bytes request 19:01:35.745159 Got request: GET /verifiedserver HTTP/1.1 19:01:35.745169 Are-we-friendly question received 19:01:35.745193 Wrote request (93 bytes) input to log/20/server.input 19:01:35.745209 Identifying ourselves as friends 19:01:35.745262 Response sent (56 bytes) and written to log/20/server.response 19:01:35.745273 special request received, no persistency 19:01:35.745283 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 37906 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind1235 ==144066== ==144066== Process terminating with default action of signal 4 (SIGILL) ==144066== Illegal opcode at address 0x4013E00 ==144066== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144066== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144066== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144066== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1235 CMD (33792): ../libtool --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/valgrind1238 ../src/curl -q --output log/9/curl1238.out --include --trace-ascii log/9/trace1238 --trace-time tftp://127.0.0.1:48991//1238 -Y1000 -y2 > log/9/stdout1238 2> log/9/stderr1238 CMD (33792): ../libtool --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/valgrind1237 ../src/curl -q --output log/7/curl1237.out --include --trace-ascii log/7/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:41017/1237" > log/7/stdout1237 2> log/7/stderr1237 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/10/valgrind1239 ../src/curl -q --include --trace-ascii log/10/trace1239 --trace-time http://127.0.0.1:37879/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/10/stdout1239 2> log/10/stderr1239 1239: stdout FAILED: --- log/10/check-expected 2025-11-13 19:01:37.102724902 +0000 +++ log/10/check-generated 2025-11-13 19:01:37.102724902 +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/10/ 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/10/valgrind1239 ../src/curl -q --include --trace-ascii log/10/trace1239 --trace-time http://127.0.0.1:37879/1239 -z "-dec 12 12:00:00 1999 GMT" -w '%{response_code}' > log/10/stdout1239 2> log/10/stderr1239 === End of file commands.log === Start of file http_server.log 19:01:35.831515 ====> Client connect 19:01:35.831552 accept_connection 3 returned 4 19:01:35.831571 accept_connection 3 returned 0 19:01:35.831588 Read 93 bytes 19:01:35.831600 Process 93 bytes request 19:01:35.831616 Got request: GET /verifiedserver HTTP/1.1 19:01:35.831628 Are-we-friendly question received 19:01:35.831659 Wrote request (93 bytes) input to log/10/server.input 19:01:35.831678 Identifying ourselves as friends 19:01:35.831742 Response sent (56 bytes) and written to log/10/server.response 19:01:35.831754 special request received, no persistency 19:01:35.831764 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 34182 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1239 ==144293== ==144293== Process terminating with default action of signal 4 (SIGILL) ==144293== Illegal opcode at address 0x4013E00 ==144293== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144293== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144293== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144293== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1239 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/7/valgrind1237 ../src/curl -q --output log/7/curl1237.out --include --trace-ascii log/7/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:41017/1237" > log/7/stdout1237 2> log/7/stderr1237 1237: 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 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/7/valgrind1237 ../src/curl -q --output log/7/curl1237.out --include --trace-ascii log/7/trace1237 --trace-time "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBRUN: Process with pid 136262 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/valgrind1242 ../src/curl -q --output log/11/curl1242.out --include --trace-ascii log/11/trace1242 --trace-time tftp://127.0.0.1:44013//1242 --tftp-no-options > log/11/stdout1242 2> log/11/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/15/valgrind1241 ../src/curl -q --output log/15/curl1241.out --include --trace-ascii log/15/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:44531 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/15/stdout1241 2> log/15/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/4/valgrind1240 ../src/curl -q --output log/4/curl1240.out --include --trace-ascii log/4/trace1240 --trace-time "127.0.0.1:37985/0[0-1]/1240" > log/4/stdout1240 2> log/4/stderr1240 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@127.0.0.1:41017/1237" > log/7/stdout1237 2> log/7/stderr1237 === End of file commands.log === Start of file http_server.log 19:01:35.778491 ====> Client connect 19:01:35.778528 accept_connection 3 returned 4 19:01:35.778545 accept_connection 3 returned 0 19:01:35.778558 Read 93 bytes 19:01:35.778569 Process 93 bytes request 19:01:35.778583 Got request: GET /verifiedserver HTTP/1.1 19:01:35.778593 Are-we-friendly question received 19:01:35.778621 Wrote request (93 bytes) input to log/7/server.input 19:01:35.778639 Identifying ourselves as friends 19:01:35.778702 Response sent (56 bytes) and written to log/7/server.response 19:01:35.778714 special request received, no persistency 19:01:35.778723 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 39572 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind1237 ==144130== ==144130== Process terminating with default action of signal 4 (SIGILL) ==144130== Illegal opcode at address 0x4013E00 ==144130== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144130== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144130== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144130== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1237 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/11/valgrind1242 ../src/curl -q --output log/11/curl1242.out --include --trace-ascii log/11/trace1242 --trace-time tftp://127.0.0.1:44013//1242 --tftp-no-options > log/11/stdout1242 2> log/11/stderr1242 1242: 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 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/11/valgrind1242 ../src/curl -q --output log/11/curl1242.out --include --trace-ascii log/11/trace1242 --trace-time tftp://127.0.0.1:44013//1242 --tftp-no-options > log/11/stdout1242 2> log/11/stderr1242 === End of file commands.log === Start of file server.cmd Testnum 1242 === End of file server.cmd === Start of file tftp_server.log 19:01:36.841282 trying to get file: verifiedserver mode 1 19:01:36.841309 Are-we-friendly question received 19:01:36.841325 write 19:01:36.841344 read 19:01:36.841944 read: 4 19:01:36.842001 end of one transfer === End of file tftp_server.log === Start of file valgrind1242 ==144323== ==144323== Process terminating with default action of signal 4 (SIGILL) ==144323== Illegal opcode at address 0x4013E00 ==144323== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144323== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144323== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144323== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1242 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/15/valgrind1241 ../src/curl -q --output log/15/curl1241.out --include --trace-ascii log/15/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:44531 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/15/stdout1241 2> log/15/stderr1241 1241: 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 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/15/valgrind1241 ../src/curl -q --output log/15/curl1241.out --include --trace-ascii log/15/trace1241 --trace-time --path-as-is --proxy http://127.0.0.1:44531 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/15/stdout1241 2> log/15/stderr1241 === End of file commands.log === Start of file http_server.log 19:01:35.846682 ====> Client connect 19:01:35.846715 accept_connection 3 returned 4 19:01:35.846732 accept_connection 3 returned 0 19:01:35.846747 Read 93 bytes 19:01:35.846757 Process 93 bytes request 19:01:35.846770 Got request: GET /verifiedserver HTTP/1.1 19:01:35.846780 Are-we-friendly question received 19:01:35.846804 Wrote request (93 bytes) input to log/15/server.input 19:01:35.846822 Identifying ourselves as friends 19:01:35.846874 Response sent (56 bytes) and written to log/15/server.response 19:01:35.846885 special request received, no persistency 19:01:35.846894 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 44600 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind1241 ==144381== ==144381== Process terminating with default action of signal 4 (SIGILL) ==144381== Illegal opcode at address 0x4013E00 ==144381== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144381== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144381== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144381== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1241 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/4/valgrind1240 ../src/curl -q --output log/4/curl1240.out --include --trace-ascii log/4/trace1240 --trace-time "127.0.0.1:37985/0[0-1]/1240" > log/4/stdout1240 2> log/4/stderr1240 1240: 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 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 CMD (33792): ../libtool --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:44117// --tftp-no-options > log/14/stdout1243 2> log/14/stderr1243 CMD (33792): ../libtool --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/valgrind1245 ../src/curl -q --output log/17/curl1245.out --include --trace-ascii log/17/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:40515/1245 > log/17/stdout1245 2> log/17/stderr1245 --log-file=log/4/valgrind1240 ../src/curl -q --output log/4/curl1240.out --include --trace-ascii log/4/trace1240 --trace-time "127.0.0.1:37985/0[0-1]/1240" > log/4/stdout1240 2> log/4/stderr1240 === End of file commands.log === Start of file http_server.log 19:01:36.838757 ====> Client connect 19:01:36.838790 accept_connection 3 returned 4 19:01:36.838808 accept_connection 3 returned 0 19:01:36.838823 Read 93 bytes 19:01:36.838833 Process 93 bytes request 19:01:36.838847 Got request: GET /verifiedserver HTTP/1.1 19:01:36.838857 Are-we-friendly question received 19:01:36.838883 Wrote request (93 bytes) input to log/4/server.input 19:01:36.838900 Identifying ourselves as friends 19:01:36.838955 Response sent (56 bytes) and written to log/4/server.response 19:01:36.838967 special request received, no persistency 19:01:36.838976 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 56526 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind1240 ==144333== ==144333== Process terminating with default action of signal 4 (SIGILL) ==144333== Illegal opcode at address 0x4013E00 ==144333== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144333== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144333== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144333== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1240 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:44117// --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 the 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:44117// --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 19:01:36.865664 trying to get file: verifiedserver mode 1 19:01:36.865694 Are-we-friendly question received 19:01:36.865711 write 19:01:36.865733 read 19:01:36.866527 read: 4 19:01:36.866593 end of one transfer === End of file tftp_server.log === Start of file valgrind1243 ==144459== ==144459== Process terminating with default action of signal 4 (SIGILL) ==144459== Illegal opcode at address 0x4013E00 ==144459== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144459== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144459== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144459== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1243 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/17/valgrind1245 ../src/curl -q --output log/17/curl1245.out --include --trace-ascii log/17/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:40515/1245 > log/17/stdout1245 2> log/17/stderr1245 1245: 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 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/17/valgrind1245 ../src/curl -q --output log/17/curl1245.out --include --trace-ascii log/17/trace1245 --trace-time --location --proto +all,-ftp --proto-redir -all,+ftp http://127.0.0.1:40515/1245 > log/17/stdout1245 2> log/17/stderr1245 === End of file commands.log === Start of file ftp_server.log 19:01:36.152452 ====> Client connect 19:01:36.152616 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:36.152883 < "USER anonymous" 19:01:36.152916 > "331 We are happy you popped in![CR][LF]" 19:01:36.153069 < "PASS ftp@example.com" 19:01:36.153091 > "230 Welcome you silly person[CR][LF]" 19:01:36.153235 < "PWD" 19:01:36.153266 > "257 "/" is current directory[CR][LF]" 19:01:36.153420 < "EPSV" 19:01:36.153443 ====> Passive DATA channel requested by client 19:01:36.153457 DATA sockfilt for passive data channel starting... 19:01:36.155257 DATA sockfilt for passive data channel started (pid 144602) 19:01:36.155373 DATA sockfilt for passive data channel listens on port 33957 19:01:36.155746 > "229 Entering Passive Mode (|||33957|)[CR][LF]" 19:01:36.155769 Client has been notified that DATA conn will be accepted on port 33957 19:01:36.156018 Client connects to port 33957 19:01:36.156052 ====> Client established passive DATA connection on port 33957 19:01:36.156129 < "TYPE I" 19:01:36.156159 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:36.156323 < "SIZE verifiedserver" 19:01:36.156361 > "213 17[CR][LF]" 19:01:36.156521 < "RETR verifiedserver" 19:01:36.156554 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:36.156642 =====> Closing passive DATA connection... 19:01:36.156660 Server disconnects passive DATA connection 19:01:36.156911 Server disconnected passive DATA connection 19:01:36.156938 DATA sockfilt for passive data channel quits (pid 144602) 19:01:36.157157 DATA sockfilt for passive data channel quit (pid 144602) 19:01:36.157182 =====> Closed passive DATA connection 19:01:36.157215 > "226 File transfer complete[CR][LF]" 19:01:36.202399 < "QUIT" 19:01:36.202456 > "221 bye bye baby[CR][LF]" 19:01:36.203347 MAIN sockfilt said DISC 19:01:36.203379 ====> Client disconnected 19:01:36.203459 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:35.924380 ====> Client connect 19:01:35.924683 Received DATA (on stdin) 19:01:35.924699 > 160 bytes data, server => client 19:01:35.924712 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:35.924724 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:35.924736 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:35.924809 < 16 bytes data, client => server 19:01:35.924822 'USER anonymous\r\n' 19:01:35.924973 Received DATA (on stdin) 19:01:35.924985 > 33 bytes data, server => client 19:01:35.924997 '331 We are happy you popped in!\r\n' 19:01:35.925044 < 22 bytes data, client => server 19:01:35.925056 'PASS ftp@example.com\r\n' 19:01:35.925145 Received DATA (on stdin) 19:01:35.925157 > 30 bytes data, server => client 19:01:35.925168 '230 Welcome you silly person\r\n' 19:01:35.925212 < 5 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/12/valgrind1247 ../src/curl -q --output log/12/curl1247.out --include --trace-ascii log/12/trace1247 --trace-time --fail-early h1234://127.0.0.1:46819/1247 http://127.0.0.1:46819/1247 > log/12/stdout1247 2> log/12/stderr1247 CMD (33792): ../libtool --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/valgrind1246 ../src/curl -q --output log/16/curl1246.out --include --trace-ascii log/16/trace1246 --trace-time --proxy http://127.0.0.1:42747 http://test.remote.haxx.se.1246:42747#@127.0.0.1/tricked.html no-scheme-url.com.1246:42747#@127.127.127.127/again.html > log/16/stdout1246 2> log/16/stderr1246 s data, client => server 19:01:35.925223 'PWD\r\n' 19:01:35.925320 Received DATA (on stdin) 19:01:35.925332 > 30 bytes data, server => client 19:01:35.925344 '257 "/" is current directory\r\n' 19:01:35.925397 < 6 bytes data, client => server 19:01:35.925409 'EPSV\r\n' 19:01:35.927835 Received DATA (on stdin) 19:01:35.927851 > 39 bytes data, server => client 19:01:35.927864 '229 Entering Passive Mode (|||33957|)\r\n' 19:01:35.927988 < 8 bytes data, client => server 19:01:35.928005 'TYPE I\r\n' 19:01:35.928216 Received DATA (on stdin) 19:01:35.928230 > 33 bytes data, server => client 19:01:35.928243 '200 I modify TYPE as you wanted\r\n' 19:01:35.928293 < 21 bytes data, client => server 19:01:35.928306 'SIZE verifiedserver\r\n' 19:01:35.928417 Received DATA (on stdin) 19:01:35.928431 > 8 bytes data, server => client 19:01:35.928443 '213 17\r\n' 19:01:35.928493 < 21 bytes data, client => server 19:01:35.928505 'RETR verifiedserver\r\n' 19:01:35.928719 Received DATA (on stdin) 19:01:35.928732 > 29 bytes data, server => client 19:01:35.928745 '150 Binary junk (17 bytes).\r\n' 19:01:35.929274 Received DATA (on stdin) 19:01:35.929289 > 28 bytes data, server => client 19:01:35.929301 '226 File transfer complete\r\n' 19:01:35.974217 < 6 bytes data, client => server 19:01:35.974257 'QUIT\r\n' 19:01:35.974517 Received DATA (on stdin) 19:01:35.974530 > 18 bytes data, server => client 19:01:35.974542 '221 bye bye baby\r\n' 19:01:35.975353 ====> Client disconnect 19:01:35.975515 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:36.927006 Running IPv4 version 19:01:36.927069 Listening on port 33957 19:01:36.927106 Wrote pid 144602 to log/17/server/ftp_sockdata.pid 19:01:36.927254 Received PING (on stdin) 19:01:36.927341 Received PORT (on stdin) 19:01:36.928026 ====> Client connect 19:01:36.928772 Received DATA (on stdin) 19:01:36.928787 > 17 bytes data, server => client 19:01:36.928799 'WE ROOLZ: 80755\r\n' 19:01:36.928823 Received DISC (on stdin) 19:01:36.928836 ====> Client forcibly disconnected 19:01:36.929006 Received QUIT (on stdin) 19:01:36.929020 quits 19:01:36.929076 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:01:36.897347 ====> Client connect 19:01:36.897384 accept_connection 3 returned 4 19:01:36.897401 accept_connection 3 returned 0 19:01:36.898222 Read 93 bytes 19:01:36.898245 Process 93 bytes request 19:01:36.898261 Got request: GET /verifiedserver HTTP/1.1 19:01:36.898272 Are-we-friendly question received 19:01:36.898308 Wrote request (93 bytes) input to log/17/server.input 19:01:36.898328 Identifying ourselves as friends 19:01:36.898391 Response sent (56 bytes) and written to log/17/server.response 19:01:36.898402 special request received, no persistency 19:01:36.898413 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 45760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind1245 ==144631== ==144631== Process terminating with default action of signal 4 (SIGILL) ==144631== Illegal opcode at address 0x4013E00 ==144631== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144631== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144631== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144631== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1245 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/12/valgrind1247 ../src/curl -q --output log/12/curl1247.out --include --trace-ascii log/12/trace1247 --trace-time --fail-early h1234://127.0.0.1:46819/1247 http://127.0.0.1:46819/1247 > log/12/stdout1247 2> log/12/stderr1247 curl returned 132, when expecting 1 1247: exit FAILED == Contents of files in the log/12/ 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/12/valgrind1247 ../src/curl -q --output log/12/curl1247.out --include --trace-ascii log/12/trace1247 --trace-time --fail-early h1234://127.0.0.1:46819/1247 http://127.0.0.1:46819/1247 > log/12/stdout1247 2> log/12/stderr1247 === End of file commands.log === Start of file http_server.log 19:01:36.042892 ====> Client connect 19:01:36.042931 accept_connection 3 returned 4 19:01:36.042950 accept_connection 3 returned 0 19:01:36.042966 Read 93 bytes 19:01:36.042977 Process 93 bytes request 19:01:36.042992 Got request: GET /verifiedserver HTTP/1.1 19:01:36.043002 Are-we-friendly question received 19:01:36.043030 Wrote request (93 bytes) input to log/12/server.input 19:01:36.043048 Identifying ourselves as friends 19:01:36.043107 Response sent (56 bytes) and written to log/12/server.response 19:01:36.043118 special request received, no persistency 19:01:36.043128 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 33338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind1247 ==144708== ==144708== Process terminating with default action of signal 4 (SIGILL) ==144708== Illegal opcode at address 0x4013E00 ==144708== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144708== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144708== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144708== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1247 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/16/valgrind1246 ../src/curl -q --output log/16/curl1246.out --include --trace-ascii log/16/trace1246 --trace-time --proxy http://127.0.0.1:42747 http://test.remote.haxx.se.1246:42747#@127.0.0.1/tricked.html no-scheme-url.com.1246:42747#@127.127.127.127/again.html > log/16/stdout1246 2> log/16/stderr1246 1246: 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 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/16/valgrind1246 ../src/curl -q --output log/16/curl1246.out --include --trace-ascii log/16/trace1246 --trace-time --proxy http://127.0.0.1:42747 http://test.remote.haxx.se.1246:42747#@127.0.0.1/tricked.html no-scheme-url.com.1246:42747#@127.127.127.127/again.html > log/16/stdoutCMD (33792): ../libtool --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/valgrind1248 ../src/curl -q --output log/5/curl1248.out --include --trace-ascii log/5/trace1248 --trace-time http://user:secret@127.0.0.1:46771/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/5/stdout1248 2> log/5/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/13/valgrind1249 ../src/curl -q --output log/13/curl1249.out --include --trace-ascii log/13/trace1249 --trace-time http://user:secret@127.0.0.1:35301/1249 --proxy http://dummy:47/ --max-time 5 > log/13/stdout1249 2> log/13/stderr1249 CMD (33792): ../libtool --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/valgrind1250 ../src/curl -q --output log/2/curl1250.out --include --trace-ascii log/2/trace1250 --trace-time http://user:secret@127.0.0.1:44325/1250 --noproxy 127.0.0.1 --max-time 5 > log/2/stdout1250 2> log/2/stderr1250 1246 2> log/16/stderr1246 === End of file commands.log === Start of file http_server.log 19:01:37.040990 ====> Client connect 19:01:37.041022 accept_connection 3 returned 4 19:01:37.041039 accept_connection 3 returned 0 19:01:37.041055 Read 93 bytes 19:01:37.041066 Process 93 bytes request 19:01:37.041081 Got request: GET /verifiedserver HTTP/1.1 19:01:37.041091 Are-we-friendly question received 19:01:37.041114 Wrote request (93 bytes) input to log/16/server.input 19:01:37.041132 Identifying ourselves as friends 19:01:37.041183 Response sent (56 bytes) and written to log/16/server.response 19:01:37.041193 special request received, no persistency 19:01:37.041203 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 51332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind1246 ==144715== ==144715== Process terminating with default action of signal 4 (SIGILL) ==144715== Illegal opcode at address 0x4013E00 ==144715== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144715== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144715== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144715== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1246 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/5/valgrind1248 ../src/curl -q --output log/5/curl1248.out --include --trace-ascii log/5/trace1248 --trace-time http://user:secret@127.0.0.1:46771/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/5/stdout1248 2> log/5/stderr1248 1248: 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 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/5/valgrind1248 ../src/curl -q --output log/5/curl1248.out --include --trace-ascii log/5/trace1248 --trace-time http://user:secret@127.0.0.1:46771/1248 --proxy http://dummy:47/ --noproxy 127.0.0.1 --max-time 5 > log/5/stdout1248 2> log/5/stderr1248 === End of file commands.log === Start of file http_server.log 19:01:36.156046 ====> Client connect 19:01:36.156085 accept_connection 3 returned 4 19:01:36.156103 accept_connection 3 returned 0 19:01:36.156119 Read 93 bytes 19:01:36.156130 Process 93 bytes request 19:01:36.156144 Got request: GET /verifiedserver HTTP/1.1 19:01:36.156155 Are-we-friendly question received 19:01:36.156181 Wrote request (93 bytes) input to log/5/server.input 19:01:36.156201 Identifying ourselves as friends 19:01:36.156257 Response sent (56 bytes) and written to log/5/server.response 19:01:36.156269 special request received, no persistency 19:01:36.156279 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 49494 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1248 ==144838== ==144838== Process terminating with default action of signal 4 (SIGILL) ==144838== Illegal opcode at address 0x4013E00 ==144838== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144838== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144838== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144838== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1248 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/13/valgrind1249 ../src/curl -q --output log/13/curl1249.out --include --trace-ascii log/13/trace1249 --trace-time http://user:secret@127.0.0.1:35301/1249 --proxy http://dummy:47/ --max-time 5 > log/13/stdout1249 2> log/13/stderr1249 1249: 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 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/13/valgrind1249 ../src/curl -q --output log/13/curl1249.out --include --trace-ascii log/13/trace1249 --trace-time http://user:secret@127.0.0.1:35301/1249 --proxy http://dummy:47/ --max-time 5 > log/13/stdout1249 2> log/13/stderr1249 === End of file commands.log === Start of file http_server.log 19:01:36.325026 ====> Client connect 19:01:36.325063 accept_connection 3 returned 4 19:01:36.325081 accept_connection 3 returned 0 19:01:36.325097 Read 93 bytes 19:01:36.325108 Process 93 bytes request 19:01:36.325124 Got request: GET /verifiedserver HTTP/1.1 19:01:36.325135 Are-we-friendly question received 19:01:36.325160 Wrote request (93 bytes) input to log/13/server.input 19:01:36.325177 Identifying ourselves as friends 19:01:36.325231 Response sent (56 bytes) and written to log/13/server.response 19:01:36.325242 special request received, no persistency 19:01:36.325252 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 36974 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind1249 ==144922== ==144922== Process terminating with default action of signal 4 (SIGILL) ==144922== Illegal opcode at address 0x4013E00 ==144922== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144922== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144922== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144922== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1249 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=CMD (33792): ../libtool --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/valgrind1251 ../src/curl -q --output log/3/curl1251.out --include --trace-ascii log/3/trace1251 --trace-time http://user:secret@127.0.0.1:46261/1251 --max-time 5 > log/3/stdout1251 2> log/3/stderr1251 CMD (33792): ../libtool --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/valgrind1252 ../src/curl -q --output log/18/curl1252.out --include --trace-ascii log/18/trace1252 --trace-time http://127.0.0.1:39771/1252 --proxy http://127.0.0.1:39771 --noproxy 127.0.0.1 > log/18/stdout1252 2> log/18/stderr1252 /startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1250 ../src/curl -q --output log/2/curl1250.out --include --trace-ascii log/2/trace1250 --trace-time http://user:secret@127.0.0.1:44325/1250 --noproxy 127.0.0.1 --max-time 5 > log/2/stdout1250 2> log/2/stderr1250 1250: 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 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/2/valgrind1250 ../src/curl -q --output log/2/curl1250.out --include --trace-ascii log/2/trace1250 --trace-time http://user:secret@127.0.0.1:44325/1250 --noproxy 127.0.0.1 --max-time 5 > log/2/stdout1250 2> log/2/stderr1250 === End of file commands.log === Start of file http_server.log 19:01:37.512524 ====> Client connect 19:01:37.512566 accept_connection 3 returned 4 19:01:37.512586 accept_connection 3 returned 0 19:01:37.512603 Read 93 bytes 19:01:37.512616 Process 93 bytes request 19:01:37.512631 Got request: GET /verifiedserver HTTP/1.1 19:01:37.512642 Are-we-friendly question received 19:01:37.512670 Wrote request (93 bytes) input to log/2/server.input 19:01:37.512689 Identifying ourselves as friends 19:01:37.512753 Response sent (56 bytes) and written to log/2/server.response 19:01:37.512766 special request received, no persistency 19:01:37.512778 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 32896 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind1250 ==145044== ==145044== Process terminating with default action of signal 4 (SIGILL) ==145044== Illegal opcode at address 0x4013E00 ==145044== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145044== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145044== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145044== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1250 setenv http_proxy = http://dummy:[not running]/ 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/3/valgrind1251 ../src/curl -q --output log/3/curl1251.out --include --trace-ascii log/3/trace1251 --trace-time http://user:secret@127.0.0.1:46261/1251 --max-time 5 > log/3/stdout1251 2> log/3/stderr1251 1251: 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 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/3/valgrind1251 ../src/curl -q --output log/3/curl1251.out --include --trace-ascii log/3/trace1251 --trace-time http://user:secret@127.0.0.1:46261/1251 --max-time 5 > log/3/stdout1251 2> log/3/stderr1251 === End of file commands.log === Start of file http_server.log 19:01:37.506224 ====> Client connect 19:01:37.506264 accept_connection 3 returned 4 19:01:37.506283 accept_connection 3 returned 0 19:01:37.506300 Read 93 bytes 19:01:37.506312 Process 93 bytes request 19:01:37.506327 Got request: GET /verifiedserver HTTP/1.1 19:01:37.506338 Are-we-friendly question received 19:01:37.506367 Wrote request (93 bytes) input to log/3/server.input 19:01:37.506386 Identifying ourselves as friends 19:01:37.506451 Response sent (56 bytes) and written to log/3/server.response 19:01:37.506464 special request received, no persistency 19:01:37.506475 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 55694 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind1251 ==145035== ==145035== Process terminating with default action of signal 4 (SIGILL) ==145035== Illegal opcode at address 0x4013E00 ==145035== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145035== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145035== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145035== by 0x40037A4: 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/18/valgrind1252 ../src/curl -q --output log/18/curl1252.out --include --trace-ascii log/18/trace1252 --trace-time http://127.0.0.1:39771/1252 --proxy http://127.0.0.1:39771 --noproxy 127.0.0.1 > log/18/stdout1252 2> log/18/stderr1252 1252: 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 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/18/valgrind1252 ../src/curl -q --output log/18/curl1252.out --include --trace-ascii log/18/trace1252 --trace-time http://127.0.0.1:39771/1252 --proxy http://127.0.0.1:39771 --noproxy 127.0.0.1 > log/18/stdout1252 2> log/18/stderr1252 === End of file commands.log === Start of file http_server.log 19:01:36.517768 ====> Client connect 19:01:36.517806 accept_connection 3 returned 4 19:01:36.517826 accept_connection 3 returned 0 19:01:36.517843 Read 93 bytes 19:01:36.517854 Process 93 bytes request 19:01:36.517868 Got request: GET /verifiedserver HTTP/1.1 19:01:36.517879 Are-we-friendly question received 19:01:36.517909 Wrote request (93 bytes) input to log/18/server.input 19:01:36.517928 Identifying ourselves as friends 19:01:36.517990 Response sent (56 bytes) and written to log/18/server.response 19:01:36.518003 special request received, no persistency 19:01:36.518014 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 48966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1275.pl /startdir/src/curl/tests/.. > log/18/stdout1275 2> log/18/stderr1275 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1276.pl /startdir/src/curl/tests/.. > log/18/stdout1276 2> log/18/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/23/valgrind1253 ../src/curl -q --output log/23/curl1253.out --include --trace-ascii log/23/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:35243 --noproxy 127.0.0.1 > log/23/stdout1253 2> log/23/stderr1253 CMD (33792): ../libtool --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:40353/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/6/valgrind1254 ../src/curl -q --output log/6/curl1254.out --include --trace-ascii log/6/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:41595 --noproxy "" > log/6/stdout1254 2> log/6/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/19/valgrind1256 ../src/curl -q --output log/19/curl1256.out --include --trace-ascii log/19/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/19/stdout1256 2> log/19/stderr1256 === 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: 74423 === End of file server.response === Start of file valgrind1252 ==145073== ==145073== Process terminating with default action of signal 4 (SIGILL) ==145073== Illegal opcode at address 0x4013E00 ==145073== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145073== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145073== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145073== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1252 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/18/stdout1275 2> log/18/stderr1275 valgrind SKIPPED -------e--- OK (1211 out of 1746, remaining: 00:46, took 0.013s, duration: 01:45) 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/18/stdout1276 2> log/18/stderr1276 valgrind SKIPPED -------e--- OK (1212 out of 1746, remaining: 00:46, took 0.022s, duration: 01:45) 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/23/valgrind1253 ../src/curl -q --output log/23/curl1253.out --include --trace-ascii log/23/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:35243 --noproxy 127.0.0.1 > log/23/stdout1253 2> log/23/stderr1253 1253: 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 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/23/valgrind1253 ../src/curl -q --output log/23/curl1253.out --include --trace-ascii log/23/trace1253 --trace-time http://somewhere.example.com/1253 --proxy http://127.0.0.1:35243 --noproxy 127.0.0.1 > log/23/stdout1253 2> log/23/stderr1253 === End of file commands.log === Start of file http_server.log 19:01:36.614491 ====> Client connect 19:01:36.614530 accept_connection 3 returned 4 19:01:36.614548 accept_connection 3 returned 0 19:01:36.614565 Read 93 bytes 19:01:36.614576 Process 93 bytes request 19:01:36.614591 Got request: GET /verifiedserver HTTP/1.1 19:01:36.614602 Are-we-friendly question received 19:01:36.614630 Wrote request (93 bytes) input to log/23/server.input 19:01:36.614648 Identifying ourselves as friends 19:01:36.614705 Response sent (56 bytes) and written to log/23/server.response 19:01:36.614717 special request received, no persistency 19:01:36.614727 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 32854 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind1253 ==145206== ==145206== Process terminating with default action of signal 4 (SIGILL) ==145206== Illegal opcode at address 0x4013E00 ==145206== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145206== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145206== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145206== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1253 setenv http_proxy = http://127.0.0.1:40353 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:40353/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:40353/1255 --noproxy 127.0.0.1 > log/1/stdout1255 2> log/1/stderr1255 === End of file commands.log === Start of file http_server.log 19:01:36.711868 ====> Client connect 19:01:36.711904 accept_connection 3 returned 4 19:01:36.711924 accept_connection 3 returned 0 19:01:36.711940 Read 93 bytes 19:01:36.711952 Process 93 bytes request 19:01:36.711967 Got request: GET /verifiedserver HTTP/1.1 19:01:36.711979 Are-we-friendly question received 19:01:36.712006 Wrote request (93 bytes) input to log/1/server.input 19:01:36.712026 Identifying ourselves as friends 19:01:36.712085 Response sent (56 bytes) and written to log/1/server.response 19:01:36.712098 special request received, no persistency 19:01:36.712109 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48940 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1255 ==145331== ==145331== Process terminating with default action of signal 4 (SIGILL) ==145331== Illegal opcode at address 0x4013E00 ==145331== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145331== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145331== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145331== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1255 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/6/valgrind1254 ../src/curl -q --output log/6/curl1254.out --include --trace-ascii log/6/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:41595 --noproxy "" > log/6/stdout1254 2> log/6/stderr1254 1254: 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 1254 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressionCMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1135.pl --heading=EXPORTS --sort /startdir/src/curl/tests/.. > log/1/stdout1279 2> log/1/stderr1279 CMD (33792): ../libtool --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/valgrind1260 ../src/curl -q --output log/20/curl1260.out --include --trace-ascii log/20/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/20/stdout1260 2> log/20/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/8/valgrind1258 ../src/curl -q --output log/8/curl1258.out --include --trace-ascii log/8/trace1258 --trace-time http://127.0.0.1:43853/we/want/1258 http://127.0.0.1:43853/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/8/stdout1258 2> log/8/stderr1258 CMD (33792): ../libtool --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/valgrind1257 ../src/curl -q --output log/21/curl1257.out --include --trace-ascii log/21/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/21/stdout1257 2> log/21/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/22/valgrind1259 ../src/curl -q --output log/22/curl1259.out --include --trace-ascii log/22/trace1259 --trace-time "http://user:pass;word@127.0.0.1:41061/we/want/1259" > log/22/stdout1259 2> log/22/stderr1259 s=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/6/valgrind1254 ../src/curl -q --output log/6/curl1254.out --include --trace-ascii log/6/trace1254 --trace-time http://somewhere.example.com/1254 --proxy http://127.0.0.1:41595 --noproxy "" > log/6/stdout1254 2> log/6/stderr1254 === End of file commands.log === Start of file http_server.log 19:01:36.682022 ====> Client connect 19:01:36.682053 accept_connection 3 returned 4 19:01:36.682073 accept_connection 3 returned 0 19:01:36.682088 Read 93 bytes 19:01:36.682099 Process 93 bytes request 19:01:36.682115 Got request: GET /verifiedserver HTTP/1.1 19:01:36.682126 Are-we-friendly question received 19:01:36.682153 Wrote request (93 bytes) input to log/6/server.input 19:01:36.682171 Identifying ourselves as friends 19:01:36.682231 Response sent (56 bytes) and written to log/6/server.response 19:01:36.682243 special request received, no persistency 19:01:36.682254 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 51364 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1254 ==145284== ==145284== Process terminating with default action of signal 4 (SIGILL) ==145284== Illegal opcode at address 0x4013E00 ==145284== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145284== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145284== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145284== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1254 setenv http_proxy = http://127.0.0.1:41761 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/19/valgrind1256 ../src/curl -q --output log/19/curl1256.out --include --trace-ascii log/19/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/19/stdout1256 2> log/19/stderr1256 1256: 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 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/19/valgrind1256 ../src/curl -q --output log/19/curl1256.out --include --trace-ascii log/19/trace1256 --trace-time http://somewhere.example.com/1256 --noproxy 127.0.0.1 > log/19/stdout1256 2> log/19/stderr1256 === End of file commands.log === Start of file http_server.log 19:01:36.707834 ====> Client connect 19:01:36.707871 accept_connection 3 returned 4 19:01:36.707890 accept_connection 3 returned 0 19:01:36.707906 Read 93 bytes 19:01:36.707918 Process 93 bytes request 19:01:36.707932 Got request: GET /verifiedserver HTTP/1.1 19:01:36.707943 Are-we-friendly question received 19:01:36.707970 Wrote request (93 bytes) input to log/19/server.input 19:01:36.707990 Identifying ourselves as friends 19:01:36.708052 Response sent (56 bytes) and written to log/19/server.response 19:01:36.708065 special request received, no persistency 19:01:36.708076 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 34318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind1256 ==145333== ==145333== Process terminating with default action of signal 4 (SIGILL) ==145333== Illegal opcode at address 0x4013E00 ==145333== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145333== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145333== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145333== by 0x40037A4: 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/1/stdout1279 2> log/1/stderr1279 valgrind SKIPPED s------e--- OK (1215 out of 1746, remaining: 00:46, took 0.024s, duration: 01:45) 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/20/valgrind1260 ../src/curl -q --output log/20/curl1260.out --include --trace-ascii log/20/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/20/stdout1260 2> log/20/stderr1260 curl returned 132, when expecting 3 1260: exit FAILED == Contents of files in the log/20/ 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/20/valgrind1260 ../src/curl -q --output log/20/curl1260.out --include --trace-ascii log/20/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/20/stdout1260 2> log/20/stderr1260 === End of file commands.log === Start of file server.cmd Testnum 1260 === End of file server.cmd === Start of file valgrind1260 ==145493== ==145493== Process terminating with default action of signal 4 (SIGILL) ==145493== Illegal opcode at address 0x4013E00 ==145493== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145493== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145493== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145493== by 0x40037A4: 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/8/valgrind1258 ../src/curl -q --output log/8/curl1258.out --include --trace-ascii log/8/trace1258 --trace-time http://127.0.0.1:43853/we/want/1258 http://127.0.0.1:43853/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/8/stdout1258 2> log/8/stderr1258 1258: 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 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/8/valgrind1258 ../src/curl -q --output log/8/curl1258.out --include --trace-ascii log/8/trace1258 --CMD (33792): ../libtool --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/valgrind1263 ../src/curl -q --output log/11/curl1263.out --include --trace-ascii log/11/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/11/stdout1263 2> log/11/stderr1263 trace-time http://127.0.0.1:43853/we/want/1258 http://127.0.0.1:43853/we/want?hoge=fuga -b non-existing -H "Host: localhost" > log/8/stdout1258 2> log/8/stderr1258 === End of file commands.log === Start of file http_server.log 19:01:36.771101 ====> Client connect 19:01:36.771136 accept_connection 3 returned 4 19:01:36.771155 accept_connection 3 returned 0 19:01:36.771171 Read 93 bytes 19:01:36.771182 Process 93 bytes request 19:01:36.771195 Got request: GET /verifiedserver HTTP/1.1 19:01:36.771206 Are-we-friendly question received 19:01:36.771234 Wrote request (93 bytes) input to log/8/server.input 19:01:36.771252 Identifying ourselves as friends 19:01:36.771313 Response sent (56 bytes) and written to log/8/server.response 19:01:36.771324 special request received, no persistency 19:01:36.771335 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 47388 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1258 ==145517== ==145517== Process terminating with default action of signal 4 (SIGILL) ==145517== Illegal opcode at address 0x4013E00 ==145517== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145517== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145517== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145517== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1258 setenv http_proxy = http://127.0.0.1:35043 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/21/valgrind1257 ../src/curl -q --output log/21/curl1257.out --include --trace-ascii log/21/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/21/stdout1257 2> log/21/stderr1257 1257: 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 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/21/valgrind1257 ../src/curl -q --output log/21/curl1257.out --include --trace-ascii log/21/trace1257 --trace-time http://somewhere.example.com/1257 --noproxy "" > log/21/stdout1257 2> log/21/stderr1257 === End of file commands.log === Start of file http_server.log 19:01:36.771068 ====> Client connect 19:01:36.771105 accept_connection 3 returned 4 19:01:36.771125 accept_connection 3 returned 0 19:01:36.771142 Read 93 bytes 19:01:36.771153 Process 93 bytes request 19:01:36.771169 Got request: GET /verifiedserver HTTP/1.1 19:01:36.771180 Are-we-friendly question received 19:01:36.771210 Wrote request (93 bytes) input to log/21/server.input 19:01:36.771230 Identifying ourselves as friends 19:01:36.771297 Response sent (56 bytes) and written to log/21/server.response 19:01:36.771310 special request received, no persistency 19:01:36.771321 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 36412 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind1257 ==145510== ==145510== Process terminating with default action of signal 4 (SIGILL) ==145510== Illegal opcode at address 0x4013E00 ==145510== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145510== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145510== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145510== by 0x40037A4: 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/22/valgrind1259 ../src/curl -q --output log/22/curl1259.out --include --trace-ascii log/22/trace1259 --trace-time "http://user:pass;word@127.0.0.1:41061/we/want/1259" > log/22/stdout1259 2> log/22/stderr1259 1259: 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 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/22/valgrind1259 ../src/curl -q --output log/22/curl1259.out --include --trace-ascii log/22/trace1259 --trace-time "http://user:pass;word@127.0.0.1:41061/we/want/1259" > log/22/stdout1259 2> log/22/stderr1259 === End of file commands.log === Start of file http_server.log 19:01:36.774071 ====> Client connect 19:01:36.774112 accept_connection 3 returned 4 19:01:36.774129 accept_connection 3 returned 0 19:01:36.774143 Read 93 bytes 19:01:36.774154 Process 93 bytes request 19:01:36.774165 Got request: GET /verifiedserver HTTP/1.1 19:01:36.774175 Are-we-friendly question received 19:01:36.774199 Wrote request (93 bytes) input to log/22/server.input 19:01:36.774215 Identifying ourselves as friends 19:01:36.774268 Response sent (56 bytes) and written to log/22/server.response 19:01:36.774277 special request received, no persistency 19:01:36.774287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 56038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind1259 ==145514== ==145514== Process terminating with default action of signal 4 (SIGILL) ==145514== Illegal opcode at address 0x4013E00 ==145514== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145514== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145514== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145514== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1259 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/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/15/valgrind1264 ../src/curl -q --output log/15/curl1264.out --include --trace-ascii log/15/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/15/stdout1264 2> log/15/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/10/valgrind1261 ../src/curl -q --include --trace-ascii log/10/trace1261 --trace-time http://127.0.0.1:37879/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/10/stdout1261 2> log/10/stderr1261 rind.supp --num-callers=16 --log-file=log/11/valgrind1263 ../src/curl -q --output log/11/curl1263.out --include --trace-ascii log/11/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/11/stdout1263 2> log/11/stderr1263 curl returned 132, when expecting 3 1263: exit FAILED == Contents of files in the log/11/ 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/11/valgrind1263 ../src/curl -q --output log/11/curl1263.out --include --trace-ascii log/11/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/11/stdout1263 2> log/11/stderr1263 === End of file commands.log === Start of file server.cmd Testnum 1263 === End of file server.cmd === Start of file valgrind1263 ==145735== ==145735== Process terminating with default action of signal 4 (SIGILL) ==145735== Illegal opcode at address 0x4013E00 ==145735== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145735== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145735== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145735== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1263 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/15/valgrind1264 ../src/curl -q --output log/15/curl1264.out --include --trace-ascii log/15/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/15/stdout1264 2> log/15/stderr1264 curl returned 132, when expecting 3 1264: exit FAILED == Contents of files in the log/15/ 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/15/valgrind1264 ../src/curl -q --output log/15/curl1264.out --include --trace-ascii log/15/trace1264 --trace-time -g "http://127.0.0.1 www.example.com/we/want/1264" > log/15/stdout1264 2> log/15/stderr1264 === End of file commands.log === Start of file server.cmd Testnum 1264 === End of file server.cmd === Start of file valgrind1264 ==145739== ==145739== Process terminating with default action of signal 4 (SIGILL) ==145739== Illegal opcode at address 0x4013E00 ==145739== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145739== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145739== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145739== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1264 CMD (33792): ../libtool --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/valgrind1266 ../src/curl -q --output log/14/curl1266.out --include --trace-ascii log/14/trace1266 --trace-time http://127.0.0.1:36759/1266 --http0.9 > log/14/stdout1266 2> log/14/stderr1266 CMD (33792): ../libtool --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/valgrind1262 ../src/curl -q --output log/7/curl1262.out --include --trace-ascii log/7/trace1262 --trace-time ftp://127.0.0.1:34277/blalbla/1262 -z "-1 jan 2001" > log/7/stdout1262 2> log/7/stderr1262 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/10/valgrind1261 ../src/curl -q --include --trace-ascii log/10/trace1261 --trace-time http://127.0.0.1:37879/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/10/stdout1261 2> log/10/stderr1261 1261: stdout FAILED: --- log/10/check-expected 2025-11-13 19:01:38.126058245 +0000 +++ log/10/check-generated 2025-11-13 19:01:38.126058245 +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:37879/we/want/our/data/10290002.txt?coolsite=yes[LF] == Contents of files in the log/10/ 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:37879/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/10/valgrind1261 ../src/curl -q --include --trace-ascii log/10/trace1261 --trace-time http://127.0.0.1:37879/we/want/our/1261 -w '%{redirect_url}\n' --location --max-redirs 0 > log/10/stdout1261 2> log/10/stderr1261 === End of file commands.log === Start of file http_server.log 19:01:36.911829 ====> Client connect 19:01:36.911864 accept_connection 3 returned 4 19:01:36.911881 accept_connection 3 returned 0 19:01:36.911897 Read 93 bytes 19:01:36.911908 Process 93 bytes request 19:01:36.911921 Got request: GET /verifiedserver HTTP/1.1 19:01:36.911932 Are-we-friendly question received 19:01:36.911965 Wrote request (93 bytes) input to log/10/server.input 19:01:36.911983 Identifying ourselves as friends 19:01:36.912038 Response sent (56 bytes) and written to log/10/server.response 19:01:36.912050 special request received, no persistency 19:01:36.912060 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 34188 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1261 ==145747== ==145747== Process terminating with default action of signal 4 (SIGILL) ==145747== Illegal opcode at address 0x4013E00 ==145747== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145747== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145747== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145747== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1261 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/14/valgrind1266 ../src/curl -q --output log/14/curl1266.out --include --trace-ascii log/14/trace1266 --trace-time http://127.0.0.1:36759/1266 --http0.9 > log/14/stdout1266 2> log/14/stderr1266 1266: 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 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/14/valgrind1266 ../src/curl -q --output log/14/curl1266.out --include --trace-ascii log/14/trace1266 --trace-time http://127.0.0.1:36759/1266 --http0.9 > log/14/stdout1266 2> log/14/stderr1266 === End of file commands.log === Start of file http_server.log 19:01:36.942258 ====> Client connect 19:01:36.942290 accept_connection 3 returned 4 19:01:36.942308 accept_connection 3 returned 0 19:01:36.942324 Read 93 bytes 19:01:36.942336 Process 93 bytes request 19:01:36.942351 Got request: GET /verifiedserver HTTP/1.1 19:01:36.942362 Are-we-friendly question received 19:01:36.942390 Wrote request (93 bytes) input to log/14/server.input 19:01:36.942407 Identifying ourselves as friends 19:01:36.942461 Response sent (56 bytes) and written to log/14/server.response 19:01:36.942472 special request received, no persistency 19:01:36.942483 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 55714 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind1266 ==145869== ==145869== Process terminating with default action of signal 4 (SIGILL) ==145869== Illegal opcode at address 0x4013E00 ==145869== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145869== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145869== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145869== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1266 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/7/valgrind1262 ../src/curl -q --output log/7/curl1262.out --include --trace-ascii log/7/trace1262 --trace-time ftp://127.0.0.1:34277/blalbla/1262 -z "-1 jan 2001" > log/7/stdout1262 2> log/7/stderr1262 1262: 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 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/7/valgrind1262 ../src/curl -q --output log/7/curl1262.out --include --trace-ascii log/7/trace1262 --trace-time ftp://127.0.0.1:34277/blalbla/1262 -z "-1 jan 2001" > log/7/stdout1262 2> log/7/stderr1262 === End of file commands.log === Start of file ftp_server.log 19:01:37.149718 ====> Client connect 19:01:37.149849 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:37.150116 < "USER anonymous" 19:01:37.150154 > "331 We are happy you popped in![CR][LF]" 19:01:37.150324 < "PASS ftp@example.com" 19:01:37.150351 > "230 Welcome you silly person[CR][LF]" 19:01:37.150498 < "PWD" 19:01:37.150527 > "257 "/" is current directory[CR][LF]" 19:01:37.150679 < "EPSV" 19:01:37.150703 ====> Passive DATA channel requested by client 19:01:37.150CMD (33792): ../libtool --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/valgrind1268 ../src/curl -q --output log/12/curl1268.out --include --trace-ascii log/12/trace1268 --trace-time --stderr log/12/moo1268 --unix-socket -q hej://moo > log/12/stdout1268 2> log/12/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/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 716 DATA sockfilt for passive data channel starting... 19:01:37.152593 DATA sockfilt for passive data channel started (pid 145744) 19:01:37.152686 DATA sockfilt for passive data channel listens on port 46181 19:01:37.152726 > "229 Entering Passive Mode (|||46181|)[CR][LF]" 19:01:37.152743 Client has been notified that DATA conn will be accepted on port 46181 19:01:37.152959 Client connects to port 46181 19:01:37.152986 ====> Client established passive DATA connection on port 46181 19:01:37.153059 < "TYPE I" 19:01:37.153085 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:37.153236 < "SIZE verifiedserver" 19:01:37.153272 > "213 17[CR][LF]" 19:01:37.153415 < "RETR verifiedserver" 19:01:37.153447 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:37.153520 =====> Closing passive DATA connection... 19:01:37.153535 Server disconnects passive DATA connection 19:01:37.153761 Server disconnected passive DATA connection 19:01:37.153785 DATA sockfilt for passive data channel quits (pid 145744) 19:01:37.154014 DATA sockfilt for passive data channel quit (pid 145744) 19:01:37.154035 =====> Closed passive DATA connection 19:01:37.154061 > "226 File transfer complete[CR][LF]" 19:01:37.196122 < "QUIT" 19:01:37.196179 > "221 bye bye baby[CR][LF]" 19:01:37.197049 MAIN sockfilt said DISC 19:01:37.197114 ====> Client disconnected 19:01:37.197201 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:36.921674 ====> Client connect 19:01:36.921917 Received DATA (on stdin) 19:01:36.921933 > 160 bytes data, server => client 19:01:36.921944 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:36.921956 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:36.921966 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:36.922038 < 16 bytes data, client => server 19:01:36.922051 'USER anonymous\r\n' 19:01:36.922213 Received DATA (on stdin) 19:01:36.922226 > 33 bytes data, server => client 19:01:36.922237 '331 We are happy you popped in!\r\n' 19:01:36.922288 < 22 bytes data, client => server 19:01:36.922299 'PASS ftp@example.com\r\n' 19:01:36.922405 Received DATA (on stdin) 19:01:36.922418 > 30 bytes data, server => client 19:01:36.922428 '230 Welcome you silly person\r\n' 19:01:36.922473 < 5 bytes data, client => server 19:01:36.922484 'PWD\r\n' 19:01:36.922580 Received DATA (on stdin) 19:01:36.922592 > 30 bytes data, server => client 19:01:36.922603 '257 "/" is current directory\r\n' 19:01:36.922656 < 6 bytes data, client => server 19:01:36.922667 'EPSV\r\n' 19:01:36.924801 Received DATA (on stdin) 19:01:36.924815 > 39 bytes data, server => client 19:01:36.924826 '229 Entering Passive Mode (|||46181|)\r\n' 19:01:36.924933 < 8 bytes data, client => server 19:01:36.924948 'TYPE I\r\n' 19:01:36.925139 Received DATA (on stdin) 19:01:36.925151 > 33 bytes data, server => client 19:01:36.925162 '200 I modify TYPE as you wanted\r\n' 19:01:36.925210 < 21 bytes data, client => server 19:01:36.925222 'SIZE verifiedserver\r\n' 19:01:36.925326 Received DATA (on stdin) 19:01:36.925338 > 8 bytes data, server => client 19:01:36.925349 '213 17\r\n' 19:01:36.925393 < 21 bytes data, client => server 19:01:36.925404 'RETR verifiedserver\r\n' 19:01:36.925592 Received DATA (on stdin) 19:01:36.925604 > 29 bytes data, server => client 19:01:36.925616 '150 Binary junk (17 bytes).\r\n' 19:01:36.926117 Received DATA (on stdin) 19:01:36.926130 > 28 bytes data, server => client 19:01:36.926142 '226 File transfer complete\r\n' 19:01:36.967977 < 6 bytes data, client => server 19:01:36.968006 'QUIT\r\n' 19:01:36.968239 Received DATA (on stdin) 19:01:36.968252 > 18 bytes data, server => client 19:01:36.968264 '221 bye bye baby\r\n' 19:01:36.969020 ====> Client disconnect 19:01:36.969267 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:37.924357 Running IPv4 version 19:01:37.924414 Listening on port 46181 19:01:37.924448 Wrote pid 145744 to log/7/server/ftp_sockdata.pid 19:01:37.924592 Received PING (on stdin) 19:01:37.924667 Received PORT (on stdin) 19:01:37.924969 ====> Client connect 19:01:37.925641 Received DATA (on stdin) 19:01:37.925653 > 17 bytes data, server => client 19:01:37.925665 'WE ROOLZ: 89392\r\n' 19:01:37.925687 Received DISC (on stdin) 19:01:37.925698 ====> Client forcibly disconnected 19:01:37.925847 Received QUIT (on stdin) 19:01:37.925859 quits 19:01:37.925911 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1262 === End of file server.cmd === Start of file valgrind1262 ==145926== ==145926== Process terminating with default action of signal 4 (SIGILL) ==145926== Illegal opcode at address 0x4013E00 ==145926== at 0x4013E00: getparameter (tool_getparam.c:2846) ==145926== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==145926== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==145926== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1262 CMD (33792): ../libtool --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/valgrind1267 ../src/curl -q --output log/17/curl1267.out --include --trace-ascii log/17/trace1267 --trace-time http://127.0.0.1:40515/1267 --http0.9 > log/17/stdout1267 2> log/17/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/5/valgrind1270 ../src/curl -q --include --trace-ascii log/5/trace1270 --trace-time http://127.0.0.1:46771/we/want/our/1270 -w '%{redirect_url}\n' -s > log/5/stdout1270 2> log/5/stderr1270 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/12/valgrind1268 ../src/curl -q --output log/12/curl1268.out --include --trace-ascii log/12/trace1268 --trace-time --stderr log/12/moo1268 --unix-socket -q hej://moo > log/12/stdout1268 2> log/12/stderr1268 1268: output (log/12/moo1268) FAILED: --- log/12/check-expected 2025-11-13 19:01:38.316058248 +0000 +++ log/12/check-generated 2025-11-13 19:01:38.316058248 +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/12/ 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/12/valgrind1268 ../src/curl -q --output log/12/curl1268.out --include --trace-ascii log/12/trace1268 --trace-time --stderr log/12/moo1268 --unix-socket -q hej://moo > log/12/stdout1268 2> log/12/stderr1268 === End of file commands.log === Start of file server.cmd Testnum 1268 === End of file server.cmd === Start of file valgrind1268 ==146015== ==146015== Process terminating with default action of signal 4 (SIGILL) ==146015== Illegal opcode at address 0x4013E00 ==146015== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146015== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146015== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146015== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1268 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 --retry 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 ==146021== ==146021== Process terminating with default action of signal 4 (SIGILL) ==146021== Illegal opcode at address 0x4013E00 ==146021== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146021== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146021== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146021== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1269 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/17/valgrind1267 ../src/curl -q --output log/17/curl1267.out --include --trace-ascii log/17/trace1267 --trace-time http://127.0.0.1:40515/1267 --http0.9 > log/17/stdout1267 2> log/17/stderr1267 1267: 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 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/17/valgrind1267 ../src/curl -q --output log/17/curl1267.out --include --trace-ascii log/17/trace1267 --trace-time http://127.0.0.1:40515/1267 --http0.9 > log/17/stdout1267 2> log/17/stderr1267 === End of file commands.log === Start of file http_server.log 19:01:38.102313 ====> Client connect 19:01:38.102348 accept_connection 3 returned 4 19:01:38.102364 accept_connection 3 returned 0 19:01:38.102379 Read 93 bytes 19:01:38.102390 Process 93 bytes request 19:01:38.102405 Got request: GET /verifiedserver HTTP/1.1 19:01:38.102416 Are-we-friendly question received 19:01:38.102441 Wrote request (93 bytes) input to log/17/server.input 19:01:38.102459 Identifying ourselves as friends 19:01:38.102522 Response sent (56 bytes) and written to log/17/server.response 19:01:38.102534 special request received, no persistency 19:01:38.102544 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 45764 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind1267 ==146057== ==146057== Process terminating with default action of signal 4 (SIGILL) ==146057== Illegal opcode at address 0x4013E00 ==146057== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146057== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146057== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146057== by 0x40037A4: 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/13/valgrind1271 ../src/curl -q --output log/13/curl1271.out --include --trace-ascii log/13/trace1271 --trace-time http://127.0.0.1:35301/we/want/our/1271 -w @log/13/blank1271 > log/13/stdout1271 2> log/13/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/2/valgrind1273 ../src/curl -q --output log/2/curl1273.out --include --trace-ascii log/2/trace1273 --trace-time http://127.0.0.1:44325/1273 -C - -f > log/2/stdout1273 2> log/2/stderr1273 RUN: Process with pid 74946 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/3/valgrind1274 ../src/curl -q --output log/3/curl1274.out --include --trace-ascii log/3/trace1274 --trace-time http://127.0.0.1:46261/1274 -D log/3/out1274 > log/3/stdout1274 2> log/3/stderr1274 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/5/valgrind1270 ../src/curl -q --include --trace-ascii log/5/trace1270 --trace-time http://127.0.0.1:46771/we/want/our/1270 -w '%{redirect_url}\n' -s > log/5/stdout1270 2> log/5/stderr1270 1270: stdout FAILED: --- log/5/check-expected 2025-11-13 19:01:38.489391582 +0000 +++ log/5/check-generated 2025-11-13 19:01:38.489391582 +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/5/ 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/5/valgrind1270 ../src/curl -q --include --trace-ascii log/5/trace1270 --trace-time http://127.0.0.1:46771/we/want/our/1270 -w '%{redirect_url}\n' -s > log/5/stdout1270 2> log/5/stderr1270 === End of file commands.log === Start of file http_server.log 19:01:37.269095 ====> Client connect 19:01:37.269186 accept_connection 3 returned 4 19:01:37.269201 accept_connection 3 returned 0 19:01:37.269214 Read 93 bytes 19:01:37.269222 Process 93 bytes request 19:01:37.269234 Got request: GET /verifiedserver HTTP/1.1 19:01:37.269242 Are-we-friendly question received 19:01:37.269263 Wrote request (93 bytes) input to log/5/server.input 19:01:37.269277 Identifying ourselves as friends 19:01:37.269321 Response sent (56 bytes) and written to log/5/server.response 19:01:37.269330 special request received, no persistency 19:01:37.269338 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 49510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1270 ==146198== ==146198== Process terminating with default action of signal 4 (SIGILL) ==146198== Illegal opcode at address 0x4013E00 ==146198== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146198== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146198== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146198== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1270 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/13/valgrind1271 ../src/curl -q --output log/13/curl1271.out --include --trace-ascii log/13/trace1271 --trace-time http://127.0.0.1:35301/we/want/our/1271 -w @log/13/blank1271 > log/13/stdout1271 2> log/13/stderr1271 1271: 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 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/13/valgrind1271 ../src/curl -q --output log/13/curl1271.out --include --trace-ascii log/13/trace1271 --trace-time http://127.0.0.1:35301/we/want/our/1271 -w @log/13/blank1271 > log/13/stdout1271 2> log/13/stderr1271 === End of file commands.log === Start of file http_server.log 19:01:37.300378 ====> Client connect 19:01:37.300414 accept_connection 3 returned 4 19:01:37.300434 accept_connection 3 returned 0 19:01:37.300449 Read 93 bytes 19:01:37.300460 Process 93 bytes request 19:01:37.300474 Got request: GET /verifiedserver HTTP/1.1 19:01:37.300484 Are-we-friendly question received 19:01:37.300508 Wrote request (93 bytes) input to log/13/server.input 19:01:37.300525 Identifying ourselves as friends 19:01:37.300581 Response sent (56 bytes) and written to log/13/server.response 19:01:37.300593 special request received, no persistency 19:01:37.300602 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 36984 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind1271 ==146260== ==146260== Process terminating with default action of signal 4 (SIGILL) ==146260== Illegal opcode at address 0x4013E00 ==146260== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146260== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146260== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146260== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1271 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/3/valgrind1274 ../src/curl -q --output log/3/curl1274.out --include --trace-ascii log/3/trace1274 --trace-time http://127.0.0.1:46261/1274 -D log/3/out1274 > log/3/stdout1274 2> log/3/stderr1274 1274: 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 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/3/valgrind1274 ../src/curl -q --output log/3/curl1274.out --include --trace-ascii log/3/trace1274 --trace-time http://127.0.0.1:46261/1274 -D log/3/out1274 > log/3/stdout1274 2> log/3/stderr1274 === End of file commands.log === Start of file http_server.log 19:01:38.586256 ====> Client connect 19:01:38.586293 accept_connection 3 returned 4 19:01:38.586311 accept_connection 3 returned 0 19:01:38.586326 Read 93 bytes 19:01:38.586336 Process 93 bytes request 19:01:38.586350 Got request: GET /verifiedserver HTTP/1.1 19:01:38.586360 Are-we-friendly question recCMD (33792): ../libtool --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/valgrind1277 ../src/curl -q --output log/18/curl1277.out --include --trace-ascii log/18/trace1277 --trace-time http://127.0.0.1:39771/1277 --tr-encoding --compressed > log/18/stdout1277 2> log/18/stderr1277 CMD (33792): ../libtool --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/valgrind1230 ../src/curl -q --output log/24/curl1230.out --include --trace-ascii log/24/trace1230 --trace-time http://[1234:1234:1234::4ce]:39383/wanted/page/1230 -p -x 127.0.0.1:39383 > log/24/stdout1230 2> log/24/stderr1230 eived 19:01:38.586385 Wrote request (93 bytes) input to log/3/server.input 19:01:38.586401 Identifying ourselves as friends 19:01:38.586455 Response sent (56 bytes) and written to log/3/server.response 19:01:38.586466 special request received, no persistency 19:01:38.586477 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 55710 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind1274 ==146387== ==146387== Process terminating with default action of signal 4 (SIGILL) ==146387== Illegal opcode at address 0x4013E00 ==146387== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146387== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146387== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146387== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1274 test 1277...[HTTP 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/18/valgrind1277 ../src/curl -q --output log/18/curl1277.out --include --trace-ascii log/18/trace1277 --trace-time http://127.0.0.1:39771/1277 --tr-encoding --compressed > log/18/stdout1277 2> log/18/stderr1277 1277: 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 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/18/valgrind1277 ../src/curl -q --output log/18/curl1277.out --include --trace-ascii log/18/trace1277 --trace-time http://127.0.0.1:39771/1277 --tr-encoding --compressed > log/18/stdout1277 2> log/18/stderr1277 === End of file commands.log === Start of file http_server.log 19:01:37.637036 ====> Client connect 19:01:37.637074 accept_connection 3 returned 4 19:01:37.637092 accept_connection 3 returned 0 19:01:37.637107 Read 93 bytes 19:01:37.637119 Process 93 bytes request 19:01:37.637132 Got request: GET /verifiedserver HTTP/1.1 19:01:37.637143 Are-we-friendly question received 19:01:37.637169 Wrote request (93 bytes) input to log/18/server.input 19:01:37.637187 Identifying ourselves as friends 19:01:37.637243 Response sent (56 bytes) and written to log/18/server.response 19:01:37.637255 special request received, no persistency 19:01:37.637265 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 48970 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind1277 ==146525== ==146525== Process terminating with default action of signal 4 (SIGILL) ==146525== Illegal opcode at address 0x4013E00 ==146525== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146525== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146525== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146525== by 0x40037A4: 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/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 143700 port 33929 * pid http-proxy => 143700 143700 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/24/server/http_ipv6_server.pid" --logfile "log/24/http_ipv6_server.log" --logdir "log/24" --portfile log/24/server/http_ipv6_server.port --config log/24/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 145193 port 39837 * pid http-ipv6 => 145193 145193 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/24/valgrind1230 ../src/curl -q --output log/24/curl1230.out --include --trace-ascii log/24/trace1230 --trace-time http://[1234:1234:1234::4ce]:39383/wanted/page/1230 -p -x 127.0.0.1:39383 > log/24/stdout1230 2> log/24/stderr1230 1230: 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 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/24/valgrind1230 ../src/curl -q --output log/24/curl1230.out --include --trace-ascii log/24/trace1230 --trace-time http://[1234:1234:1234::4ce]:39383/wanted/page/1230 -p -x 127.0.0.1:39383 > log/24/stdout1230 2> log/24/stderr1230 === End of file commands.log === Start of file http2_server.log 19:01:35.625025 Run as proxy, CONNECT to host 127.0.0.1 19:01:35.625136 Running HTTP IPv4 version on port 33929 19:01:35.625180 Wrote pid 143700 to log/24/server/http2_server.pid 19:01:35.625213 Wrote port 33929 to log/24/server/http2_server.port === End of file http2_server.log === Start of file http_ipv6_server.log 19:01:36.639949 Running HTTP IPv6 version on port 39837 19:01:36.640059 Wrote pid 145193 to log/24/server/http_ipv6_server.pid 19:01:36.640094 Wrote port 39837 to log/24/server/http_ipv6_server.port === End of file http_ipv6_server.log === Start of file http_server.log 19:01:37.635943 ====> Client connect 19:01:37.635977 accept_connection 3 returned 4 19:01:37.635994 accept_connection 3 returned 0 19:01:37.636010 Read 93 bytes 19:01:37.636021 Process 93 bytes request 19:01:37.636034 Got request: GET /verifiedserver HTTP/1.1 19:01:37.636044 Are-we-friendly question received 19:01:37.636072 Wrote request (93 bytes) input to log/24/server.input 19:01:37.636090 Identifying ourselves as friends 19:01:37.636451 Response sent (56 bytes) and written to log/24/server.response 19:01:37.636468 special request received, no persistency 19:01:37.636496 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 54802 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start 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/23/valgrind1278 ../src/curl -q --include --trace-ascii log/23/trace1278 --trace-time http://127.0.0.1:35243/1278 --no-progress-meter -o log/23/out1278 --no-remote-name -w '%{stderr}yes\n' > log/23/stdout1278 2> log/23/stderr1278 erify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind1230 ==146505== ==146505== Process terminating with default action of signal 4 (SIGILL) ==146505== Illegal opcode at address 0x4013E00 ==146505== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146505== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146505== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146505== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1230 CMD (33792): ../libtool --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/valgrind1281 ../src/curl -q --output log/19/curl1281.out --include --trace-ascii log/19/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/19/stdout1281 2> log/19/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/6/valgrind1280 ../src/curl -q --output log/6/curl1280.out --include --trace-ascii log/6/trace1280 --trace-time http://127.0.0.1:41595/[a-d]/1280 > log/6/stdout1280 2> log/6/stderr1280 RUN: Process with pid 74946 gracefully died 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/23/valgrind1278 ../src/curl -q --include --trace-ascii log/23/trace1278 --trace-time http://127.0.0.1:35243/1278 --no-progress-meter -o log/23/out1278 --no-remote-name -w '%{stderr}yes\n' > log/23/stdout1278 2> log/23/stderr1278 1278: stderr FAILED: --- log/23/check-expected 2025-11-13 19:01:38.882724919 +0000 +++ log/23/check-generated 2025-11-13 19:01:38.882724919 +0000 @@ -1 +0,0 @@ -yes[CR][LF] == Contents of files in the log/23/ 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/23/valgrind1278 ../src/curl -q --include --trace-ascii log/23/trace1278 --trace-time http://127.0.0.1:35243/1278 --no-progress-meter -o log/23/out1278 --no-remote-name -w '%{stderr}yes\n' > log/23/stdout1278 2> log/23/stderr1278 === End of file commands.log === Start of file http_server.log 19:01:37.679961 ====> Client connect 19:01:37.679997 accept_connection 3 returned 4 19:01:37.680028 accept_connection 3 returned 0 19:01:37.680045 Read 93 bytes 19:01:37.680061 Process 93 bytes request 19:01:37.680075 Got request: GET /verifiedserver HTTP/1.1 19:01:37.680085 Are-we-friendly question received 19:01:37.680113 Wrote request (93 bytes) input to log/23/server.input 19:01:37.680129 Identifying ourselves as friends 19:01:37.680185 Response sent (56 bytes) and written to log/23/server.response 19:01:37.680195 special request received, no persistency 19:01:37.680205 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 32870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind1278 ==146596== ==146596== Process terminating with default action of signal 4 (SIGILL) ==146596== Illegal opcode at address 0x4013E00 ==146596== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146596== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146596== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146596== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1278 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/19/valgrind1281 ../src/curl -q --output log/19/curl1281.out --include --trace-ascii log/19/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/19/stdout1281 2> log/19/stderr1281 curl returned 132, when expecting 3 1281: exit FAILED == Contents of files in the log/19/ 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/19/valgrind1281 ../src/curl -q --output log/19/curl1281.out --include --trace-ascii log/19/trace1281 --trace-time http://127.0.0.1:alpha/beta/1281 > log/19/stdout1281 2> log/19/stderr1281 === End of file commands.log === Start of file server.cmd Testnum 1281 === End of file server.cmd === Start of file valgrind1281 ==146625== ==146625== Process terminating with default action of signal 4 (SIGILL) ==146625== Illegal opcode at address 0x4013E00 ==146625== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146625== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146625== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146625== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1281 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/6/valgrind1280 ../src/curl -q --output log/6/curl1280.out --include --trace-ascii log/6/trace1280 --trace-time http://127.0.0.1:41595/[a-d]/1280 > log/6/stdout1280 2> log/6/stderr1280 1280: 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 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/6/valgrind1280 ../src/curl -q --output log/6/curl1280.out --include --trace-ascii log/6/trace1280 --trace-time http://127.0.0.1:41595/[a-d]/1280 > log/6/stdout1280 2> log/6/stderr1280 === End of file commands.log === Start of file http_server.log 19:01:37.713000 ====> Client connect 19:01:37.713045 accept_connection 3 returned 4 19:01:37.713068 accept_connection 3 returned 0 19:01:37.713087 Read 93 bytes 19:01:37.713098 Process 93 bytes request 19:01:37.713114 Got request: GET /verifiedserver HTTP/1.1 19:01:37.713125 Are-we-friendly question received 19:01:37.713153 Wrote request (93 bytes) input to log/6/server.input 19:01:37.713173 Identifying ourselves as friends 19:01:37.713250 Response sent (56 bytes) and written to log/6/server.response 19:01:37.713264 special request received, no persistency 19:01:37.713275 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 51376 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1280 ==146702== ==146702== Process terminating with default action of signal 4 (SIGILL) ==146702== Illegal opcode at address 0x4013E00 ==146702== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146702== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146702== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146702== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1280 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/2/valgrind1273 ../src/curl -q --output log/2/curl1273.out --include --trace-ascii log/2/trace1273 --trace-time http://127.0.0.1:44325/1273 -C - -f > log/2/stdout1273 2> log/2/stderr1273 1273: 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 1273 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.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/1/valgrind1282 ../src/curl -q --output log/1/curl1282.out --include --trace-ascii log/1/trace1282 --trace-time ftp://127.0.0.1:41393/1282 > log/1/stdout1282 2> log/1/stderr1282 pp --num-callers=16 --log-file=log/2/valgrind1273 ../src/curl -q --output log/2/curl1273.out --include --trace-ascii log/2/trace1273 --trace-time http://127.0.0.1:44325/1273 -C - -f > log/2/stdout1273 2> log/2/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 19:01:38.573304 ====> Client connect 19:01:38.573338 accept_connection 3 returned 4 19:01:38.573357 accept_connection 3 returned 0 19:01:38.573372 Read 93 bytes 19:01:38.573387 Process 93 bytes request 19:01:38.573403 Got request: GET /verifiedserver HTTP/1.1 19:01:38.573414 Are-we-friendly question received 19:01:38.573440 Wrote request (93 bytes) input to log/2/server.input 19:01:38.573458 Identifying ourselves as friends 19:01:38.573550 Response sent (56 bytes) and written to log/2/server.response 19:01:38.573566 special request received, no persistency 19:01:38.573579 ====> Client disconnect 0 exit_signal_handler: called 19:01:39.604838 signalled to die 19:01:39.604943 ========> IPv4 sws (port 44325 pid: 74946) exits with signal (15) 19:01:39.604959 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44325... * Established connection to 127.0.0.1 (127.0.0.1 port 44325) from 127.0.0.1 port 32912 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44325 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44325 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74946 === 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: 74946 === End of file server.response === Start of file valgrind1273 ==146370== ==146370== Process terminating with default action of signal 4 (SIGILL) ==146370== Illegal opcode at address 0x4013E00 ==146370== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146370== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146370== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146370== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1273 test 1282...[FTP with 633 response to 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/1/valgrind1282 ../src/curl -q --output log/1/curl1282.out --include --trace-ascii log/1/trace1282 --trace-time ftp://127.0.0.1:41393/1282 > log/1/stdout1282 2> log/1/stderr1282 1282: 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 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/1/valgrind1282 ../src/curl -q --output log/1/curl1282.out --include --trace-ascii log/1/trace1282 --trace-time ftp://127.0.0.1:41393/1282 > log/1/stdout1282 2> log/1/stderr1282 === End of file commands.log === Start of file ftp_server.log 19:01:37.942301 ====> Client connect 19:01:37.942472 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:37.942782 < "USER anonymous" 19:01:37.942827 > "331 We are happy you popped in![CR][LF]" 19:01:37.943023 < "PASS ftp@example.com" 19:01:37.943054 > "230 Welcome you silly person[CR][LF]" 19:01:37.943234 < "PWD" 19:01:37.943272 > "257 "/" is current directory[CR][LF]" 19:01:37.943460 < "EPSV" 19:01:37.943485 ====> Passive DATA channel requested by client 19:01:37.943500 DATA sockfilt for passive data channel starting... 19:01:37.945490 DATA sockfilt for passive data channel started (pid 146683) 19:01:37.945647 DATA sockfilt for passive data channel listens on port 37817 19:01:37.945707 > "229 Entering Passive Mode (|||37817|)[CR][LF]" 19:01:37.945733 Client has been notified that DATA conn will be accepted on port 37817 19:01:37.946045 Client connects to port 37817 19:01:37.946078 ====> Client established passive DATA connection on port 37817 19:01:37.946183 < "TYPE I" 19:01:37.946221 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:37.946433 < "SIZE verifiedserver" 19:01:37.946477 > "213 17[CR][LF]" 19:01:37.946672 < "RETR verifiedserver" 19:01:37.946713 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:37.946806 =====> Closing passive DATA connection... 19:01:37.946828 Server disconnects passive DATA connection 19:01:37.947101 Server disconnected passive DATA connection 19:01:37.947132 DATA sockfilt for passive data channel quits (pid 146683) 19:01:37.947374 DATA sockfilt for passive data channel quit (pid 146683) 19:01:37.947402 =====> Closed passive DATA connection 19:01:37.947434 > "226 File transfer complete[CR][LF]" 19:01:37.992509 < "QUIT" 19:01:37.992583 > "221 bye bye baby[CR][LF]" 19:01:37.993679 MAIN sockfilt said DISC 19:01:37.993714 ====> Client disconnected 19:01:37.993809 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:38.714247 ====> Client connect 19:01:38.714547 Received DATA (on stdin) 19:01:38.714566 > 160 bytes data, server => client 19:01:38.714581 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:38.714594 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:38.714605 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:38.714681 < 16 bytes data, client => server 19:01:38.714698 'USER anonymous\r\n' 19:01:38.714890 Received DATA (on stdin) 19:01:38.714905 > 33 bytes data, server => client 19:01:38.714918 '331 We are happy you popped in!\r\n' 19:01:38.714975 < 22 bytes data, client => server 19:01:38.714989 'PASS ftp@example.com\r\n' 19:01:38.715112 Received DATA (on stdin) 19:01:38.715126 > 30 bytes data, server => client 19:01:38.715139 '230 Welcome you silly person\r\n' 19:01:38.715194 < 5 bytes data, client => server 19:01:38.715208 'PWD\r\n' 19:01:38.715331 Received DATA (on stdin) 19:01:38.715346 > 30 bytes data, server => client 19:01:38.715358 '257 "/" is current directory\r\n' 19:01:38.715420 < 6 bytes data, client => server 19:01:38.715436 'EPSV\r\n' 19:01:38.717804 Received DATA (on stdin) 19:01:38.717825 > 39 bytes data, server => client 19:01:38.717839 '229 Entering Passive Mode (|||37817|)\r\n' 19:01:38.718004 < 8 bytes data, client => server 19:01:38.718025 'TYPE I\r\n' 19:01:38.718285 Received DATA (on stdin) 19:01:38.718301 > 33 bytes data, server => client 19:01:38.718314 '200 I modify TYPE as you wanted\r\n' 19:01:38.718378 < 21 bytes data, client => server 19:01:38.718395 'SIZE verifiedserver\r\n' 19:01:38.718539 Received DATA (on stdin) 19:01:38.718555 > 8 bytes data, server => client 19:01:38.718568 '213 17\r\n' 19:01:38.718626 < 21 bytes data, client => server 19:01:38.718643 'RETR verifiedserver\r\n' 19:01:38.718889 Received DATA (on stdin) 19:01:38.718905 > 29 bytes data, server => client 19:01:38.718918 '150 Binary junk (17 bytes).\r\n' 19:01:38.719495 Received DATA (on stdin) 19:01:38.719510 > 28 bytes data, server => client 19:01:38.719522 '226 File transfer complete\r\n' 19:01:38.764268 < 6 bytes data, client => server 19:01:38.764324 'QUIT\r\n' 19:01:38.764648 Received DATA (on stdin) 19:01:38.764663 > 18 bytes data, server => client 19:01:38.764675 '221 bye bye baby\r\n' 19:01:38.765676 ====> Client disconnect 19:01:38.765871 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:37.717318 Running IPv4 version 19:01:37.717390 Listening on port 37817 19:01:37.717447 Wrote pid 146683 to log/1/server/ftp_socCMD (33792): ../libtool --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/valgrind1283 ../src/curl -q --include --trace-ascii log/20/trace1283 --trace-time http://127.0.0.1:38583/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/20/outfile1283_#1#2#3#4.dump" > log/20/stdout1283 2> log/20/stderr1283 CMD (33792): ../libtool --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/valgrind1284 ../src/curl -q --output log/22/curl1284.out --include --trace-ascii log/22/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:41061/1284 > log/22/stdout1284 2> log/22/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/8/valgrind1286 ../src/curl -q --output log/8/curl1286.out --include --trace-ascii log/8/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:43853/1286 > log/8/stdout1286 2> log/8/stderr1286 kdata.pid 19:01:37.717474 Received PING (on stdin) 19:01:37.717596 Received PORT (on stdin) 19:01:37.718050 ====> Client connect 19:01:37.718948 Received DATA (on stdin) 19:01:37.718964 > 17 bytes data, server => client 19:01:37.718977 'WE ROOLZ: 80887\r\n' 19:01:37.719004 Received DISC (on stdin) 19:01:37.719018 ====> Client forcibly disconnected 19:01:37.719201 Received QUIT (on stdin) 19:01:37.719216 quits 19:01:37.719276 ============> 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 ==146828== ==146828== Process terminating with default action of signal 4 (SIGILL) ==146828== Illegal opcode at address 0x4013E00 ==146828== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146828== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146828== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146828== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1282 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/20/valgrind1283 ../src/curl -q --include --trace-ascii log/20/trace1283 --trace-time http://127.0.0.1:38583/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/20/outfile1283_#1#2#3#4.dump" > log/20/stdout1283 2> log/20/stderr1283 1283: 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 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/20/valgrind1283 ../src/curl -q --include --trace-ascii log/20/trace1283 --trace-time http://127.0.0.1:38583/[a-a][1-1][b-b:1][2-2:1]/1283 -o "log/20/outfile1283_#1#2#3#4.dump" > log/20/stdout1283 2> log/20/stderr1283 === End of file commands.log === Start of file http_server.log 19:01:37.766564 ====> Client connect 19:01:37.766599 accept_connection 3 returned 4 19:01:37.766615 accept_connection 3 returned 0 19:01:37.766747 Read 93 bytes 19:01:37.766759 Process 93 bytes request 19:01:37.766770 Got request: GET /verifiedserver HTTP/1.1 19:01:37.766778 Are-we-friendly question received 19:01:37.766802 Wrote request (93 bytes) input to log/20/server.input 19:01:37.766817 Identifying ourselves as friends 19:01:37.766863 Response sent (56 bytes) and written to log/20/server.response 19:01:37.766873 special request received, no persistency 19:01:37.766882 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 37916 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind1283 ==146836== ==146836== Process terminating with default action of signal 4 (SIGILL) ==146836== Illegal opcode at address 0x4013E00 ==146836== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146836== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146836== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146836== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1283 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/22/valgrind1284 ../src/curl -q --output log/22/curl1284.out --include --trace-ascii log/22/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:41061/1284 > log/22/stdout1284 2> log/22/stderr1284 1284: 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 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/22/valgrind1284 ../src/curl -q --output log/22/curl1284.out --include --trace-ascii log/22/trace1284 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:41061/1284 > log/22/stdout1284 2> log/22/stderr1284 === End of file commands.log === Start of file http_server.log 19:01:37.773980 ====> Client connect 19:01:37.774012 accept_connection 3 returned 4 19:01:37.774029 accept_connection 3 returned 0 19:01:37.774045 Read 93 bytes 19:01:37.774056 Process 93 bytes request 19:01:37.774069 Got request: GET /verifiedserver HTTP/1.1 19:01:37.774080 Are-we-friendly question received 19:01:37.774117 Wrote request (93 bytes) input to log/22/server.input 19:01:37.774135 Identifying ourselves as friends 19:01:37.774189 Response sent (56 bytes) and written to log/22/server.response 19:01:37.774201 special request received, no persistency 19:01:37.774211 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 56054 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind1284 ==146907== ==146907== Process terminating with default action of signal 4 (SIGILL) ==146907== Illegal opcode at address 0x4013E00 ==146907== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146907== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146907== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146907== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1284 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/8/valgrind1286 ../src/curl -q --output log/8/curl1286.out --include --trace-ascii log/8/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:43853/1286 > log/8/stdout1286 2> log/8/stderr1286 1286: 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 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/8/valgrind1286 ../src/curl -q --output log/8/curl1286.out --include --trace-ascii log/8/trace1286 --trace-time -u auser:apasswd --location --digest http://127.0.0.1:43853/1286 > log/8/stdout1286 2> log/8/stderr1286 === End of file commands.log === Start of file http_server.log 19:01:37.791788 ====> ClienCMD (33792): ../libtool --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:35043/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/4/valgrind1265 ../src/curl -q --output log/4/curl1265.out --include --trace-ascii log/4/trace1265 --trace-time http://[::1]:38529/1265 > log/4/stdout1265 2> log/4/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/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:43349 http://127.0.0.1:44531/we/want/that/page/1288 > log/15/stdout1288 2> log/15/stderr1288 CMD (33792): ../libtool --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/valgrind1291 ../src/curl -q --output log/7/curl1291.out --include --trace-ascii log/7/trace1291 --trace-time -K log/7/cmd1291 --fail-early > log/7/stdout1291 2> log/7/stderr1291 t connect 19:01:37.791823 accept_connection 3 returned 4 19:01:37.791837 accept_connection 3 returned 0 19:01:37.791849 Read 93 bytes 19:01:37.791858 Process 93 bytes request 19:01:37.791869 Got request: GET /verifiedserver HTTP/1.1 19:01:37.791878 Are-we-friendly question received 19:01:37.791899 Wrote request (93 bytes) input to log/8/server.input 19:01:37.791914 Identifying ourselves as friends 19:01:37.791963 Response sent (56 bytes) and written to log/8/server.response 19:01:37.791972 special request received, no persistency 19:01:37.791980 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 47402 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1286 ==146951== ==146951== Process terminating with default action of signal 4 (SIGILL) ==146951== Illegal opcode at address 0x4013E00 ==146951== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146951== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146951== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146951== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1286 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:35043/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:35043/1285 > log/21/stdout1285 2> log/21/stderr1285 === End of file commands.log === Start of file http_server.log 19:01:37.794131 ====> Client connect 19:01:37.794163 accept_connection 3 returned 4 19:01:37.794180 accept_connection 3 returned 0 19:01:37.794195 Read 93 bytes 19:01:37.794205 Process 93 bytes request 19:01:37.794216 Got request: GET /verifiedserver HTTP/1.1 19:01:37.794227 Are-we-friendly question received 19:01:37.794251 Wrote request (93 bytes) input to log/21/server.input 19:01:37.794265 Identifying ourselves as friends 19:01:37.794310 Response sent (56 bytes) and written to log/21/server.response 19:01:37.794318 special request received, no persistency 19:01:37.794326 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 36418 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind1285 ==146961== ==146961== Process terminating with default action of signal 4 (SIGILL) ==146961== Illegal opcode at address 0x4013E00 ==146961== at 0x4013E00: getparameter (tool_getparam.c:2846) ==146961== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==146961== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==146961== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1285 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/4/server/http_ipv6_server.pid" --logfile "log/4/http_ipv6_server.log" --logdir "log/4" --portfile log/4/server/http_ipv6_server.port --config log/4/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 145734 port 38529 * pid http-ipv6 => 145734 145734 setenv http_proxy = http://127.0.0.1:37985 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/4/valgrind1265 ../src/curl -q --output log/4/curl1265.out --include --trace-ascii log/4/trace1265 --trace-time http://[::1]:38529/1265 > log/4/stdout1265 2> log/4/stderr1265 1265: 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 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/4/valgrind1265 ../src/curl -q --output log/4/curl1265.out --include --trace-ascii log/4/trace1265 --trace-time http://[::1]:38529/1265 > log/4/stdout1265 2> log/4/stderr1265 === End of file commands.log === Start of file http_ipv6_server.log 19:01:37.935030 Running HTTP IPv6 version on port 38529 19:01:37.935145 Wrote pid 145734 to log/4/server/http_ipv6_server.pid 19:01:37.935180 Wrote port 38529 to log/4/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 ==147178== ==147178== Process terminating with default action of signal 4 (SIGILL) ==147178== Illegal opcode at address 0x4013E00 ==147178== at 0x4013E00: getparameter (tool_getparam.c:2846) ==147178== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147178== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==147178== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1265 CMD (33792): ../libtool --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/valgrind1289 ../src/curl -q --output log/10/curl1289.out --include --trace-ascii log/10/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/10/stdout1289 2> log/10/stderr1289 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:43349 http://127.0.0.1:44531/we/want/that/page/1288 > log/15/stdout1288 2> log/15/stderr1288 1288: stdout FAILED: --- log/15/check-expected 2025-11-13 19:01:39.192724923 +0000 +++ log/15/check-generated 2025-11-13 19:01:39.192724923 +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:43349 http://127.0.0.1:44531/we/want/that/page/1288 > log/15/stdout1288 2> log/15/stderr1288 === End of file commands.log === Start of file http2_server.log 19:01:38.954146 ====> Client connect 19:01:38.954183 accept_connection 3 returned 4 19:01:38.954202 accept_connection 3 returned 0 19:01:38.954219 Read 93 bytes 19:01:38.954230 Process 93 bytes request 19:01:38.954246 Got request: GET /verifiedserver HTTP/1.1 19:01:38.954256 Are-we-friendly question received 19:01:38.954283 Wrote request (93 bytes) input to log/15/proxy.input 19:01:38.954306 Identifying ourselves as friends 19:01:38.954369 Response sent (56 bytes) and written to log/15/proxy.response 19:01:38.954385 special request received, no persistency 19:01:38.954395 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:43349... * Established connection to 127.0.0.1 (127.0.0.1 port 43349) from 127.0.0.1 port 59202 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43349 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43349 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 80249 === End of file http2_verify.out === Start of file http_server.log 19:01:37.921398 ====> Client connect 19:01:37.921534 accept_connection 3 returned 4 19:01:37.921618 accept_connection 3 returned 0 19:01:37.921656 Read 93 bytes 19:01:37.921668 Process 93 bytes request 19:01:37.921683 Got request: GET /verifiedserver HTTP/1.1 19:01:37.921694 Are-we-friendly question received 19:01:37.921723 Wrote request (93 bytes) input to log/15/server.input 19:01:37.921742 Identifying ourselves as friends 19:01:37.921800 Response sent (56 bytes) and written to log/15/server.response 19:01:37.921811 special request received, no persistency 19:01:37.921822 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 44608 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 80249 === 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: 74426 === End of file server.response === Start of file valgrind1288 ==147316== ==147316== Process terminating with default action of signal 4 (SIGILL) ==147316== Illegal opcode at address 0x4013E00 ==147316== at 0x4013E00: getparameter (tool_getparam.c:2846) ==147316== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147316== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==147316== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1288 prechecked /usr/bin/perl -e 'for(1 .. 1000) { printf("upload-file=log/7/upload-this\nurl=htttttp://non-existing-host.haxx.se/upload/1291\n", $_);}' > log/7/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/7/valgrind1291 ../src/curl -q --output log/7/curl1291.out --include --trace-ascii log/7/trace1291 --trace-time -K log/7/cmd1291 --fail-early > log/7/stdout1291 2> log/7/stderr1291 curl returned 132, when expecting 1 1291: exit FAILED == Contents of files in the log/7/ dir after test 1291 === Start of file cmd1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=CMD (33792): ../libtool --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/valgrind1290 ../src/curl -q --output log/14/curl1290.out --include --trace-ascii log/14/trace1290 --trace-time "http://127.0.0.1:36759/we/want/[]/page/1290" > log/14/stdout1290 2> log/14/stderr1290 htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this === File too long: 599 lines omitted here upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/upload-this url=htttttp://non-existing-host.haxx.se/upload/1291 upload-file=log/7/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-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/12/valgrind1292 ../src/curl -q --output log/12/curl1292.out --include --trace-ascii log/12/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:46819/1292 > log/12/stdout1292 2> log/12/stderr1292 ile=log/7/valgrind1291 ../src/curl -q --output log/7/curl1291.out --include --trace-ascii log/7/trace1291 --trace-time -K log/7/cmd1291 --fail-early > log/7/stdout1291 2> log/7/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 ==147203== ==147203== Process terminating with default action of signal 4 (SIGILL) ==147203== Illegal opcode at address 0x4013E00 ==147203== at 0x4013E00: getparameter (tool_getparam.c:2846) ==147203== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147203== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==147203== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1291 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/10/valgrind1289 ../src/curl -q --output log/10/curl1289.out --include --trace-ascii log/10/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/10/stdout1289 2> log/10/stderr1289 curl returned 132, when expecting 3 1289: exit FAILED == Contents of files in the log/10/ 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/10/valgrind1289 ../src/curl -q --output log/10/curl1289.out --include --trace-ascii log/10/trace1289 --trace-time http://ur%20[0-60000000000000000000 > log/10/stdout1289 2> log/10/stderr1289 === End of file commands.log === Start of file http_server.log 19:01:37.933259 ====> Client connect 19:01:37.933389 accept_connection 3 returned 4 19:01:37.933409 accept_connection 3 returned 0 19:01:37.933425 Read 93 bytes 19:01:37.933437 Process 93 bytes request 19:01:37.933452 Got request: GET /verifiedserver HTTP/1.1 19:01:37.933463 Are-we-friendly question received 19:01:37.933491 Wrote request (93 bytes) input to log/10/server.input 19:01:37.933510 Identifying ourselves as friends 19:01:37.933569 Response sent (56 bytes) and written to log/10/server.response 19:01:37.933582 special request received, no persistency 19:01:37.933593 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 34200 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1289 ==147211== ==147211== Process terminating with default action of signal 4 (SIGILL) ==147211== Illegal opcode at address 0x4013E00 ==147211== at 0x4013E00: getparameter (tool_getparam.c:2846) ==147211== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147211== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==147211== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1289 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/14/valgrind1290 ../src/curl -q --output log/14/curl1290.out --include --trace-ascii log/14/trace1290 --trace-time "http://127.0.0.1:36759/we/want/[]/page/1290" > log/14/stdout1290 2> log/14/stderr1290 1290: 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 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/14/valgrind1290 ../src/curl -q --output log/14/curl1290.out --include --trace-ascii log/14/trace1290 --trace-time "http://127.0.0.1:36759/we/want/[]/page/1290" > log/14/stdout1290 2> log/14/stderr1290 === End of file commands.log === Start of file http_server.log 19:01:37.939856 ====> Client connect 19:01:37.939889 accept_connection 3 returned 4 19:01:37.939909 accept_connection 3 returned 0 19:01:37.939925 Read 93 bytes 19:01:37.939937 Process 93 bytes request 19:01:37.939951 Got request: GET /verifiedserver HTTP/1.1 19:01:37.939962 Are-we-friendly question received 19:01:37.939992 Wrote request (93 bytes) input to log/14/server.input 19:01:37.940012 Identifying ourselves as friends 19:01:37.940071 Response sent (56 bytes) and written to log/14/server.response 19:01:37.940084 special request received, no persistency 19:01:37.940095 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 55718 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind1290 ==147247== ==147247== Process terminating with default action of signal 4 (SIGILL) ==147247== Illegal opcode at address 0x4013E00 ==147247== at 0x4013E00: getparameter (tool_getparam.c:2846) ==147247== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147247== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==147247== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1290 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/12/valgrind1292 ../src/curl -q --output log/12/curl1292.out --include --trace-ascii log/12/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:46819/1292 > log/12/stdout1292 2> log/12/stderr1292 1292: 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 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/12/valgrind1292 ../src/curl -q --output log/12/curl1292.out --include --trace-ascii log/12/trace1292 --trace-time -H "Host;" -H "Accept;" http://127.0.0.1:46819/1292 > log/12/stdout1292 2> log/12/stderr1292 === End of file commands.log === Start of file http_server.log 19:01:38.121659 ====> Client connect 19:01:38.121692 accept_connection 3 returned 4 19:01:38.121710 accept_connection 3 returned 0 19:01:38.121726 Read 93 bytes 19:01:38.121737 Process 93 bytes request 19:01:38.121751 Got request: GET /verifiedserver HTTP/1.1 19:01:38.121761 Are-we-friendly question received 19:01:38.121787 Wrote request (93 bytes) input to log/12/server.input 19:01:38.121805 Identifying ourselves as friends 19:01:38.121860 Response sent (56 bytes) and written to log/12/server.response 19:01:38.121871 special request receiCMD (33792): ../libtool --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/valgrind1293 ../src/curl -q --output log/17/curl1293.out --include --trace-ascii log/17/trace1293 --trace-time http://0 http://127.0.0.1:40515/1293 -F= > log/17/stdout1293 2> log/17/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/16/valgrind1296 ../src/curl -q --output log/16/curl1296.out --include --trace-ascii log/16/trace1296 --trace-time http://user%0aname:password@127.0.0.1:42747/1296 > log/16/stdout1296 2> log/16/stderr1296 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/valgrind1301 ./libtest/libtests lib1301 - > log/24/stdout1301 2> log/24/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/18/valgrind1300 ./unit/units unit1300 - > log/18/stdout1300 2> log/18/stderr1300 ved, no persistency 19:01:38.121881 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 33350 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind1292 ==147482== ==147482== Process terminating with default action of signal 4 (SIGILL) ==147482== Illegal opcode at address 0x4013E00 ==147482== at 0x4013E00: getparameter (tool_getparam.c:2846) ==147482== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147482== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==147482== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1292 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/17/valgrind1293 ../src/curl -q --output log/17/curl1293.out --include --trace-ascii log/17/trace1293 --trace-time http://0 http://127.0.0.1:40515/1293 -F= > log/17/stdout1293 2> log/17/stderr1293 1293: 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 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/17/valgrind1293 ../src/curl -q --output log/17/curl1293.out --include --trace-ascii log/17/trace1293 --trace-time http://0 http://127.0.0.1:40515/1293 -F= > log/17/stdout1293 2> log/17/stderr1293 === End of file commands.log === Start of file http_server.log 19:01:39.124075 ====> Client connect 19:01:39.124120 accept_connection 3 returned 4 19:01:39.124139 accept_connection 3 returned 0 19:01:39.124154 Read 93 bytes 19:01:39.124165 Process 93 bytes request 19:01:39.124178 Got request: GET /verifiedserver HTTP/1.1 19:01:39.124189 Are-we-friendly question received 19:01:39.124216 Wrote request (93 bytes) input to log/17/server.input 19:01:39.124235 Identifying ourselves as friends 19:01:39.124297 Response sent (56 bytes) and written to log/17/server.response 19:01:39.124311 special request received, no persistency 19:01:39.124321 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 45772 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind1293 ==147481== ==147481== Process terminating with default action of signal 4 (SIGILL) ==147481== Illegal opcode at address 0x4013E00 ==147481== at 0x4013E00: getparameter (tool_getparam.c:2846) ==147481== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147481== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==147481== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1293 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/16/valgrind1296 ../src/curl -q --output log/16/curl1296.out --include --trace-ascii log/16/trace1296 --trace-time http://user%0aname:password@127.0.0.1:42747/1296 > log/16/stdout1296 2> log/16/stderr1296 1296: 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 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/16/valgrind1296 ../src/curl -q --output log/16/curl1296.out --include --trace-ascii log/16/trace1296 --trace-time http://user%0aname:password@127.0.0.1:42747/1296 > log/16/stdout1296 2> log/16/stderr1296 === End of file commands.log === Start of file http_server.log 19:01:39.156730 ====> Client connect 19:01:39.156762 accept_connection 3 returned 4 19:01:39.156779 accept_connection 3 returned 0 19:01:39.156794 Read 93 bytes 19:01:39.156804 Process 93 bytes request 19:01:39.156818 Got request: GET /verifiedserver HTTP/1.1 19:01:39.156827 Are-we-friendly question received 19:01:39.156850 Wrote request (93 bytes) input to log/16/server.input 19:01:39.156866 Identifying ourselves as friends 19:01:39.156917 Response sent (56 bytes) and written to log/16/server.response 19:01:39.156927 special request received, no persistency 19:01:39.156937 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 51344 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind1296 ==147556== ==147556== Process terminating with default action of signal 4 (SIGILL) ==147556== Illegal opcode at address 0x4013E00 ==147556== at 0x4013E00: getparameter (tool_getparam.c:2846) ==147556== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147556== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==147556== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1296 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/24/valgrind1301 ./libtest/libtests lib1301 - > log/24/stdout1301 2> log/24/stderr1301 -------e-v- OK (1235 out of 1746, remaining: 00:44, took 0.608s, duration: 01:47) 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 ===CMD (33792): ../libtool --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/valgrind1298 ../src/curl -q --output log/13/curl1298.out --include --trace-ascii log/13/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:35301/" -H "Testno: 1298" > log/13/stdout1298 2> log/13/stderr1298 CMD (33792): ../libtool --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/valgrind1302 ./unit/units unit1302 - > log/23/stdout1302 2> log/23/stderr1302 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/valgrind1306 ./unit/units unit1305 - > log/1/stdout1306 2> log/1/stderr1306 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/2/valgrind1305 ./unit/units unit1305 1305 > log/2/stdout1305 2> log/2/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/6/valgrind1304 ./unit/units unit1304 log/6/netrc1304 > log/6/stdout1304 2> log/6/stderr1304 CMD (33792): ../libtool --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/valgrind1309 ./unit/units unit1309 - > log/22/stdout1309 2> log/22/stderr1309 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 ==147787== ==147787== Process terminating with default action of signal 4 (SIGILL) ==147787== Illegal opcode at address 0x400A45E ==147787== at 0x400A45E: UnknownInlinedFun (llist.c:89) ==147787== by 0x400A45E: test_unit1300.lto_priv.0 (unit1300.c:125) ==147787== by 0x400A12F: main (first.c:280) === End of file valgrind1300 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/13/valgrind1298 ../src/curl -q --output log/13/curl1298.out --include --trace-ascii log/13/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:35301/" -H "Testno: 1298" > log/13/stdout1298 2> log/13/stderr1298 1298: 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 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/13/valgrind1298 ../src/curl -q --output log/13/curl1298.out --include --trace-ascii log/13/trace1298 --trace-time --request-target "XXX" "http://127.0.0.1:35301/" -H "Testno: 1298" > log/13/stdout1298 2> log/13/stderr1298 === End of file commands.log === Start of file http_server.log 19:01:38.333850 ====> Client connect 19:01:38.333890 accept_connection 3 returned 4 19:01:38.333911 accept_connection 3 returned 0 19:01:38.333927 Read 93 bytes 19:01:38.333938 Process 93 bytes request 19:01:38.333953 Got request: GET /verifiedserver HTTP/1.1 19:01:38.333963 Are-we-friendly question received 19:01:38.333988 Wrote request (93 bytes) input to log/13/server.input 19:01:38.334004 Identifying ourselves as friends 19:01:38.334062 Response sent (56 bytes) and written to log/13/server.response 19:01:38.334073 special request received, no persistency 19:01:38.334084 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 36994 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind1298 ==147697== ==147697== Process terminating with default action of signal 4 (SIGILL) ==147697== Illegal opcode at address 0x4013E00 ==147697== at 0x4013E00: getparameter (tool_getparam.c:2846) ==147697== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147697== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==147697== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1298 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/23/valgrind1302 ./unit/units unit1302 - > log/23/stdout1302 2> log/23/stderr1302 units returned 132, when expecting 0 1302: exit FAILED == Contents of files in the log/23/ 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/23/valgrind1302 ./unit/units unit1302 - > log/23/stdout1302 2> log/23/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 ==147890== ==147890== Process terminating with default action of signal 4 (SIGILL) ==147890== Illegal opcode at address 0x40A9A63 ==147890== at 0x40A9A63: UnknownInlinedFun (string_fortified.h:59) ==147890== by 0x40A9A63: curlx_base64_decode (base64.c:112) ==147890== by 0x400B309: test_unit1302.lto_priv.0 (unit1302.c:146) ==147890== by 0x400A12F: main (first.c:280) ==147890== 2 bytes in 1 blocks are definitely lost in loss record 1 of 14 ==147890== at 0x49937A8: malloc (vg_replace_malloc.c:446) ==147890== by 0x40A9A48: curlx_base64_decode (base64.c:106) ==147890== by 0x400B309: test_unit1302.lto_priv.0 (unit1302.c:146) ==147890== by 0x400A12F: main (first.c:280) ==147890== === End of file valgrind1302 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/1/valgrind1306 ./unit/units unit1305 - > log/1/stdout1306 2> log/1/stderr1306 -------e-v- OK (1240 out of 1746, remaining: 00:43, took 0.586s, duration: 01:47) 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/2/valgrind1305 ./unit/units unit1305 1305 > log/2/stdout1305 2> log/2/stderr1305 -------e-v- OK (1239 out of 1746, remaining: 00:43, took 0.622s, duration: 01:47) 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/6/valgrind1304 ./unit/units unit1304 log/6/netrc1304 > log/6/stdout1304 2> log/6/stderr1304 -------e-v- OK (1238 out of 1746, remaining: 00:44, took 0.638s, duration: 01:47) 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/22/valgrind1309 ./unit/units unit1309 - > log/22/stdout1309 2> log/22/stderr1309 1309: stdout FAILED: --- log/22/check-expected 2025-11-13 19:01:39.842724928 +0000 +++ log/22/check-generated 2025-11-13 19:01:39.842724928 +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/22/ 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 (33792): ../libtool --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/valgrind1303 ./unit/units unit1303 - > log/19/stdout1303 2> log/19/stderr1303 CMD (33792): ../libtool --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/valgrind1299 ../src/curl -q --output log/3/curl1299.out --include --trace-ascii log/3/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:46261/ -H "Testno: 1299" > log/3/stdout1299 2> log/3/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/20/valgrind1308 ./libtest/libtests lib1308 log/20/test-1308 > log/20/stdout1308 2> log/20/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/21/valgrind1311 ../src/curl -q --trace-ascii log/21/trace1311 --trace-time http://127.0.0.1:35043/1311 -J -O --output-dir log/21 > log/21/stdout1311 2> log/21/stderr1311 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/22/valgrind1309 ./unit/units unit1309 - > log/22/stdout1309 2> log/22/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 ==148277== ==148277== Process terminating with default action of signal 4 (SIGILL) ==148277== Illegal opcode at address 0x400CFC7 ==148277== at 0x400CFC7: test_unit1309.lto_priv.0 (unit1309.c:80) ==148277== by 0x400A12F: main (first.c:280) === End of file valgrind1309 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/19/valgrind1303 ./unit/units unit1303 - > log/19/stdout1303 2> log/19/stderr1303 units returned 132, when expecting 0 1303: exit FAILED == Contents of files in the log/19/ 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/19/valgrind1303 ./unit/units unit1303 - > log/19/stdout1303 2> log/19/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 ==147953== ==147953== Process terminating with default action of signal 4 (SIGILL) ==147953== Illegal opcode at address 0x407C5FF ==147953== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==147953== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==147953== by 0x407C5FF: Curl_open (url.c:525) ==147953== by 0x403E625: curl_easy_init (easy.c:371) ==147953== by 0x400B70B: UnknownInlinedFun (unit1303.c:35) ==147953== by 0x400B70B: test_unit1303.lto_priv.0 (unit1303.c:72) ==147953== by 0x400A12F: main (first.c:280) ==147953== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==147953== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==147953== by 0x407C59D: Curl_open (url.c:504) ==147953== by 0x403E625: curl_easy_init (easy.c:371) ==147953== by 0x400B70B: UnknownInlinedFun (unit1303.c:35) ==147953== by 0x400B70B: test_unit1303.lto_priv.0 (unit1303.c:72) ==147953== by 0x400A12F: main (first.c:280) ==147953== === End of file valgrind1303 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/3/valgrind1299 ../src/curl -q --output log/3/curl1299.out --include --trace-ascii log/3/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:46261/ -H "Testno: 1299" > log/3/stdout1299 2> log/3/stderr1299 1299: 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 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/3/valgrind1299 ../src/curl -q --output log/3/curl1299.out --include --trace-ascii log/3/trace1299 --trace-time --request-target '*' -X OPTIONS http://127.0.0.1:46261/ -H "Testno: 1299" > log/3/stdout1299 2> log/3/stderr1299 === End of file commands.log === Start of file http_server.log 19:01:39.639101 ====> Client connect 19:01:39.639134 accept_connection 3 returned 4 19:01:39.639148 accept_connection 3 returned 0 19:01:39.639160 Read 93 bytes 19:01:39.639169 Process 93 bytes request 19:01:39.639181 Got request: GET /verifiedserver HTTP/1.1 19:01:39.639190 Are-we-friendly question received 19:01:39.639212 Wrote request (93 bytes) input to log/3/server.input 19:01:39.639226 Identifying ourselves as friends 19:01:39.639271 Response sent (56 bytes) and written to log/3/server.response 19:01:39.639280 special request received, no persistency 19:01:39.639289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 55722 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind1299 ==147808== ==147808== Process terminating with default action of signal 4 (SIGILL) ==147808== Illegal opcode at address 0x4013E00 ==147808== at 0x4013E00: getparameter (tool_getparam.c:2846) ==147808== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==147808== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==147808== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1299 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/20/valgrind1308 ./libtest/libtests lib1308 log/20/test-1308 > log/20/stdout1308 2> log/20/stderr1308 libtests returned 132, when expecting 0 1308: exit FAILED == Contents of files in the log/20/ 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/20/valgrind1308 ./libtest/libtests lib1308 log/20/test-1308 > log/20/stdout1308 2> log/20/stderr1308 === End of file commands.log === Start of file server.cmd Testnum 1308 === End of file server.cmd === Start of file stderr1308 URL: log/20/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 ==148058== ==148058== Process terminating with default action of signal 4 (SIGILL) ==148058== Illegal opcode at address 0x518AE15 ==148058== at 0x518AE15: UnknownInlinedFun (string_fortified.h:59) ==148058== by 0x518AE15: curl_mime_init (mime.c:1292) ==148058== by 0x5158048: Curl_getformdata.part.0 (formdata.c:800) ==148058== by 0x5158549: UnknownInlinedFun (formdata.c:797) ==148058== by 0x5158549: curl_formget (formdata.c:704) ==148058== by 0x40242A4: test_lib1308.lto_priv.0 (lib1308.c:72) ==148058== by 0x400347F: main (first.c:280) ==148058== 96 bytes in 1 blocks are definitely lost in loss record 584 of 654 ==148058== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==148058== by 0x518ADEF: curl_mime_init (mime.c:1285) ==148058== by 0x5158048: Curl_getformdata.part.0 (formdata.c:800) ==148058== by 0x5158549: UnknownInlinedFun (formdata.c:797) ==148058== by 0x5158549: curl_formget (formdata.c:704) ==148058== by 0x40242A4: test_lib1308.lto_priv.0 (lib1308.c:72) ==148058== by 0x400347F: main (first.c:280) ==148058== === End of file valgrind1308 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/21/valgrind1311 ..CMD (33792): ../libtool --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/valgrind1310 ../src/curl -q --trace-ascii log/8/trace1310 --trace-time http://127.0.0.1:43853/junk -J -O --show-headers --output-dir log/8 > log/8/stdout1310 2> log/8/stderr1310 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/valgrind1323 ./unit/units unit1323 - > log/13/stdout1323 2> log/13/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/11/valgrind1287 ../src/curl -q --output log/11/curl1287.out --include --trace-ascii log/11/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:38547 http://test.1287:46317/we/want/that/page/1287 > log/11/stdout1287 2> log/11/stderr1287 /src/curl -q --trace-ascii log/21/trace1311 --trace-time http://127.0.0.1:35043/1311 -J -O --output-dir log/21 > log/21/stdout1311 2> log/21/stderr1311 1311: 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 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/21/valgrind1311 ../src/curl -q --trace-ascii log/21/trace1311 --trace-time http://127.0.0.1:35043/1311 -J -O --output-dir log/21 > log/21/stdout1311 2> log/21/stderr1311 === End of file commands.log === Start of file http_server.log 19:01:38.808692 ====> Client connect 19:01:38.808732 accept_connection 3 returned 4 19:01:38.808752 accept_connection 3 returned 0 19:01:38.808771 Read 93 bytes 19:01:38.808783 Process 93 bytes request 19:01:38.808799 Got request: GET /verifiedserver HTTP/1.1 19:01:38.808810 Are-we-friendly question received 19:01:38.808839 Wrote request (93 bytes) input to log/21/server.input 19:01:38.808859 Identifying ourselves as friends 19:01:38.808923 Response sent (56 bytes) and written to log/21/server.response 19:01:38.808936 special request received, no persistency 19:01:38.808948 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 36420 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind1311 ==148185== ==148185== Process terminating with default action of signal 4 (SIGILL) ==148185== Illegal opcode at address 0x4013E00 ==148185== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148185== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148185== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148185== by 0x40037A4: 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/8/valgrind1310 ../src/curl -q --trace-ascii log/8/trace1310 --trace-time http://127.0.0.1:43853/junk -J -O --show-headers --output-dir log/8 > log/8/stdout1310 2> log/8/stderr1310 1310: 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 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/8/valgrind1310 ../src/curl -q --trace-ascii log/8/trace1310 --trace-time http://127.0.0.1:43853/junk -J -O --show-headers --output-dir log/8 > log/8/stdout1310 2> log/8/stderr1310 === End of file commands.log === Start of file http_server.log 19:01:38.803877 ====> Client connect 19:01:38.803918 accept_connection 3 returned 4 19:01:38.803938 accept_connection 3 returned 0 19:01:38.803953 Read 93 bytes 19:01:38.803964 Process 93 bytes request 19:01:38.803979 Got request: GET /verifiedserver HTTP/1.1 19:01:38.803989 Are-we-friendly question received 19:01:38.804014 Wrote request (93 bytes) input to log/8/server.input 19:01:38.804031 Identifying ourselves as friends 19:01:38.804084 Response sent (56 bytes) and written to log/8/server.response 19:01:38.804531 special request received, no persistency 19:01:38.804545 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 47418 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1310 ==148172== ==148172== Process terminating with default action of signal 4 (SIGILL) ==148172== Illegal opcode at address 0x4013E00 ==148172== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148172== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148172== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148172== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1310 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/13/valgrind1323 ./unit/units unit1323 - > log/13/stdout1323 2> log/13/stderr1323 -------e-v- OK (1255 out of 1746, remaining: 00:42, took 0.568s, duration: 01:47) 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 147160 port 38547 * pid http-proxy => 147160 147160 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/11/valgrind1287 ../src/curl -q --output log/11/curl1287.out --include --trace-ascii log/11/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:38547 http://test.1287:46317/we/want/that/page/1287 > log/11/stdout1287 2> log/11/stderr1287 1287: 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 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/11/valgrind1287 ../src/curl -q --output log/11/curl1287.out --include --trace-ascii log/11/trace1287 --trace-time -v --proxytunnel -x 127.0.0.1:38547 http://test.1287:46317/we/want/that/page/1287 > log/11/stdout1287 2> log/11/stderr1287 === End of file commands.log === Start of file http2_server.log 19:01:38.943789 Run as proxy, CONNECT to host 127.0.0.1 19:01:38.943900 Running HTTP IPv4 version on port 38547 19:01:38.943943 Wrote pid 147160 to log/11/server/http2_server.pid 19:01:38.943972 Wrote port 38547 to log/11/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:01:37.919679 ====> Client connect 19:01:37.919712 accept_connection 3 returned 4 19:01:37.919730 accept_connection 3 returned 0 19:01:37.919746 Read 93 bytes 19:01:37.919757 Process 93 bytes request 19:01:37.919773 Got request: GET /verifiedserver HTTP/1.1 19:01:37.919784 Are-we-friendly question received 19:01:37.919808 Wrote request (93 bytes) input to log/11/server.input 19:01:37.919826 IdentifyingCMD (33792): ../libtool --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/valgrind1315 ../src/curl -q --output log/14/curl1315.out --include --trace-ascii log/14/trace1315 --trace-time http://127.0.0.1:36759/we/want/1315 -F name=value -F 'file=@log/14/test1315.txt,log/14/test1315.txt;type=magic/content,log/14/test1315.txt' > log/14/stdout1315 2> log/14/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/4/valgrind1312 ../src/curl -q --trace-ascii log/4/trace1312 --trace-time 127.0.0.1:37985/1312 -J -O --output-dir log/4 > log/4/stdout1312 2> log/4/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/15/valgrind1313 ../src/curl -q --trace-ascii log/15/trace1313 --trace-time http://127.0.0.1:44531/1313 -J -O --output-dir log/15 > log/15/stdout1313 2> log/15/stderr1313 ourselves as friends 19:01:37.919879 Response sent (56 bytes) and written to log/11/server.response 19:01:37.919890 special request received, no persistency 19:01:37.919901 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 46918 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind1287 ==148299== ==148299== Process terminating with default action of signal 4 (SIGILL) ==148299== Illegal opcode at address 0x4013E00 ==148299== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148299== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148299== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148299== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1287 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/14/valgrind1315 ../src/curl -q --output log/14/curl1315.out --include --trace-ascii log/14/trace1315 --trace-time http://127.0.0.1:36759/we/want/1315 -F name=value -F 'file=@log/14/test1315.txt,log/14/test1315.txt;type=magic/content,log/14/test1315.txt' > log/14/stdout1315 2> log/14/stderr1315 1315: 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 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/14/valgrind1315 ../src/curl -q --output log/14/curl1315.out --include --trace-ascii log/14/trace1315 --trace-time http://127.0.0.1:36759/we/want/1315 -F name=value -F 'file=@log/14/test1315.txt,log/14/test1315.txt;type=magic/content,log/14/test1315.txt' > log/14/stdout1315 2> log/14/stderr1315 === End of file commands.log === Start of file http_server.log 19:01:39.005112 ====> Client connect 19:01:39.005146 accept_connection 3 returned 4 19:01:39.005164 accept_connection 3 returned 0 19:01:39.005178 Read 93 bytes 19:01:39.005188 Process 93 bytes request 19:01:39.005202 Got request: GET /verifiedserver HTTP/1.1 19:01:39.005212 Are-we-friendly question received 19:01:39.005240 Wrote request (93 bytes) input to log/14/server.input 19:01:39.005257 Identifying ourselves as friends 19:01:39.005306 Response sent (56 bytes) and written to log/14/server.response 19:01:39.005317 special request received, no persistency 19:01:39.005326 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 55734 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file test1315.txt dummy data === End of file test1315.txt === Start of file valgrind1315 ==148486== ==148486== Process terminating with default action of signal 4 (SIGILL) ==148486== Illegal opcode at address 0x4013E00 ==148486== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148486== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148486== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148486== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1315 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/4/valgrind1312 ../src/curl -q --trace-ascii log/4/trace1312 --trace-time 127.0.0.1:37985/1312 -J -O --output-dir log/4 > log/4/stdout1312 2> log/4/stderr1312 1312: 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 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/4/valgrind1312 ../src/curl -q --trace-ascii log/4/trace1312 --trace-time 127.0.0.1:37985/1312 -J -O --output-dir log/4 > log/4/stdout1312 2> log/4/stderr1312 === End of file commands.log === Start of file http_server.log 19:01:39.959481 ====> Client connect 19:01:39.959516 accept_connection 3 returned 4 19:01:39.959533 accept_connection 3 returned 0 19:01:39.959549 Read 93 bytes 19:01:39.959559 Process 93 bytes request 19:01:39.959574 Got request: GET /verifiedserver HTTP/1.1 19:01:39.959584 Are-we-friendly question received 19:01:39.959609 Wrote request (93 bytes) input to log/4/server.input 19:01:39.959626 Identifying ourselves as friends 19:01:39.959679 Response sent (56 bytes) and written to log/4/server.response 19:01:39.959690 special request received, no persistency 19:01:39.959700 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 56534 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind1312 ==148373== ==148373== Process terminating with default action of signal 4 (SIGILL) ==148373== Illegal opcode at address 0x4013E00 ==148373== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148373== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148373== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148373== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1312 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/15/valgrind1313 ../src/curl -q --trace-ascii log/15/trace1313 --trace-time http://127.0.0.1:44531/1313 -J -O --output-dir log/15 > log/15/stdout1313 2> log/15/stderr1313 1313: 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 1313 === Start of file commands.log ../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/7/valgrind1314 ../src/curl -q --output log/7/curl1314.out --include --trace-ascii log/7/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:41017 > log/7/stdout1314 2> log/7/stderr1314 CMD (33792): ../libtool --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/valgrind1317 ../src/curl -q --output log/10/curl1317.out --include --trace-ascii log/10/trace1317 --trace-time --resolve example.com:37879:127.0.0.1 http://example.com:37879/1317 > log/10/stdout1317 2> log/10/stderr1317 CMD (33792): ../libtool --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/valgrind1318 ../src/curl -q --output log/12/curl1318.out --include --trace-ascii log/12/trace1318 --trace-time --resolve MiXeDcAsE.cOm:46819:127.0.0.1 http://MiXeDcAsE.cOm:46819/1318 http://mixedcase.com:46819/13180001 > log/12/stdout1318 2> log/12/stderr1318 ppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind1313 ../src/curl -q --trace-ascii log/15/trace1313 --trace-time http://127.0.0.1:44531/1313 -J -O --output-dir log/15 > log/15/stdout1313 2> log/15/stderr1313 === End of file commands.log === Start of file http_server.log 19:01:38.998746 ====> Client connect 19:01:38.998781 accept_connection 3 returned 4 19:01:38.998799 accept_connection 3 returned 0 19:01:38.998815 Read 93 bytes 19:01:38.998826 Process 93 bytes request 19:01:38.998842 Got request: GET /verifiedserver HTTP/1.1 19:01:38.998853 Are-we-friendly question received 19:01:38.998879 Wrote request (93 bytes) input to log/15/server.input 19:01:38.998897 Identifying ourselves as friends 19:01:38.998959 Response sent (56 bytes) and written to log/15/server.response 19:01:38.998971 special request received, no persistency 19:01:38.998981 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 44614 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind1313 ==148455== ==148455== Process terminating with default action of signal 4 (SIGILL) ==148455== Illegal opcode at address 0x4013E00 ==148455== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148455== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148455== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148455== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1313 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/7/valgrind1314 ../src/curl -q --output log/7/curl1314.out --include --trace-ascii log/7/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:41017 > log/7/stdout1314 2> log/7/stderr1314 1314: 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 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/7/valgrind1314 ../src/curl -q --output log/7/curl1314.out --include --trace-ascii log/7/trace1314 --trace-time http://firstplace.example.com/want/1314 -L -x http://127.0.0.1:41017 > log/7/stdout1314 2> log/7/stderr1314 === End of file commands.log === Start of file http_server.log 19:01:38.999815 ====> Client connect 19:01:38.999850 accept_connection 3 returned 4 19:01:38.999867 accept_connection 3 returned 0 19:01:38.999882 Read 93 bytes 19:01:38.999892 Process 93 bytes request 19:01:38.999903 Got request: GET /verifiedserver HTTP/1.1 19:01:38.999913 Are-we-friendly question received 19:01:38.999938 Wrote request (93 bytes) input to log/7/server.input 19:01:38.999954 Identifying ourselves as friends 19:01:39.000012 Response sent (56 bytes) and written to log/7/server.response 19:01:39.000022 special request received, no persistency 19:01:39.000032 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 39588 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind1314 ==148463== ==148463== Process terminating with default action of signal 4 (SIGILL) ==148463== Illegal opcode at address 0x4013E00 ==148463== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148463== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148463== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148463== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1314 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/10/valgrind1317 ../src/curl -q --output log/10/curl1317.out --include --trace-ascii log/10/trace1317 --trace-time --resolve example.com:37879:127.0.0.1 http://example.com:37879/1317 > log/10/stdout1317 2> log/10/stderr1317 1317: 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 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/10/valgrind1317 ../src/curl -q --output log/10/curl1317.out --include --trace-ascii log/10/trace1317 --trace-time --resolve example.com:37879:127.0.0.1 http://example.com:37879/1317 > log/10/stdout1317 2> log/10/stderr1317 === End of file commands.log === Start of file http_server.log 19:01:39.030800 ====> Client connect 19:01:39.030838 accept_connection 3 returned 4 19:01:39.030856 accept_connection 3 returned 0 19:01:39.030873 Read 93 bytes 19:01:39.030885 Process 93 bytes request 19:01:39.030901 Got request: GET /verifiedserver HTTP/1.1 19:01:39.030912 Are-we-friendly question received 19:01:39.030939 Wrote request (93 bytes) input to log/10/server.input 19:01:39.030957 Identifying ourselves as friends 19:01:39.031014 Response sent (56 bytes) and written to log/10/server.response 19:01:39.031026 special request received, no persistency 19:01:39.031037 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 34206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1317 ==148564== ==148564== Process terminating with default action of signal 4 (SIGILL) ==148564== Illegal opcode at address 0x4013E00 ==148564== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148564== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148564== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148564== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1317 test 1318...[HTTP with --resolve and same host name using different cases] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-chCMD (33792): ../libtool --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/valgrind1325 ../src/curl -q --output log/1/curl1325.out --include --trace-ascii log/1/trace1325 --trace-time http://127.0.0.1:40353/we/1325 -L -d "moo" > log/1/stdout1325 2> log/1/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/18/valgrind1322 ../src/curl -q --output log/18/curl1322.out --include --trace-ascii log/18/trace1322 --trace-time --ipv4 --resolve example.com.:39771:127.0.0.1 http://example.com.:39771/1322 > log/18/stdout1322 2> log/18/stderr1322 CMD (33792): ../libtool --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/valgrind1297 ../src/curl -q --output log/5/curl1297.out --include --trace-ascii log/5/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:32885 http://127.0.0.1:46771/we/want/that/page/1297 > log/5/stdout1297 2> log/5/stderr1297 eck=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1318 ../src/curl -q --output log/12/curl1318.out --include --trace-ascii log/12/trace1318 --trace-time --resolve MiXeDcAsE.cOm:46819:127.0.0.1 http://MiXeDcAsE.cOm:46819/1318 http://mixedcase.com:46819/13180001 > log/12/stdout1318 2> log/12/stderr1318 1318: 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 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/12/valgrind1318 ../src/curl -q --output log/12/curl1318.out --include --trace-ascii log/12/trace1318 --trace-time --resolve MiXeDcAsE.cOm:46819:127.0.0.1 http://MiXeDcAsE.cOm:46819/1318 http://mixedcase.com:46819/13180001 > log/12/stdout1318 2> log/12/stderr1318 === End of file commands.log === Start of file http_server.log 19:01:39.169629 ====> Client connect 19:01:39.169670 accept_connection 3 returned 4 19:01:39.169690 accept_connection 3 returned 0 19:01:39.169708 Read 93 bytes 19:01:39.169720 Process 93 bytes request 19:01:39.169735 Got request: GET /verifiedserver HTTP/1.1 19:01:39.169746 Are-we-friendly question received 19:01:39.169777 Wrote request (93 bytes) input to log/12/server.input 19:01:39.169797 Identifying ourselves as friends 19:01:39.169865 Response sent (56 bytes) and written to log/12/server.response 19:01:39.169879 special request received, no persistency 19:01:39.169890 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 33364 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === End of file http_verify.out === Start of file server.cmd Testnum 1318 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76272 === End of file server.response === Start of file valgrind1318 ==148735== ==148735== Process terminating with default action of signal 4 (SIGILL) ==148735== Illegal opcode at address 0x4013E00 ==148735== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148735== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148735== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148735== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1318 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/1/valgrind1325 ../src/curl -q --output log/1/curl1325.out --include --trace-ascii log/1/trace1325 --trace-time http://127.0.0.1:40353/we/1325 -L -d "moo" > log/1/stdout1325 2> log/1/stderr1325 1325: 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 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/1/valgrind1325 ../src/curl -q --output log/1/curl1325.out --include --trace-ascii log/1/trace1325 --trace-time http://127.0.0.1:40353/we/1325 -L -d "moo" > log/1/stdout1325 2> log/1/stderr1325 === End of file commands.log === Start of file http_server.log 19:01:39.350102 ====> Client connect 19:01:39.350135 accept_connection 3 returned 4 19:01:39.350153 accept_connection 3 returned 0 19:01:39.350170 Read 93 bytes 19:01:39.350181 Process 93 bytes request 19:01:39.350196 Got request: GET /verifiedserver HTTP/1.1 19:01:39.350207 Are-we-friendly question received 19:01:39.350231 Wrote request (93 bytes) input to log/1/server.input 19:01:39.350249 Identifying ourselves as friends 19:01:39.350307 Response sent (56 bytes) and written to log/1/server.response 19:01:39.350318 special request received, no persistency 19:01:39.350329 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 48950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1325 ==149030== ==149030== Process terminating with default action of signal 4 (SIGILL) ==149030== Illegal opcode at address 0x4013E00 ==149030== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149030== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149030== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149030== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1325 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 147671 port 32885 * pid http-proxy => 147671 147671 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/5/valgrind1297 ../src/curl -q --output log/5/curl1297.out --include --trace-ascii log/5/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:32885 http://127.0.0.1:46771/we/want/that/page/1297 > log/5/stdout1297 2> log/5/stderr1297 1297: 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 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/5/valgrind1297 ../src/curl -q --output log/5/curl1297.out --include --trace-ascii log/5/trace1297 --trace-time --proxytunnel --proxy 127.0.0.1:32885 http://127.0.0.1:46771/we/want/that/page/1297 > log/5/stdout1297 2> log/5/stderr1297 === End of file commands.log === Start of file http2_server.log 19:01:38.317166 Run as proxy, CONNECT to host 127.0.0.1 19:01:38.317274 Running HTTP IPv4 version on port 32885 19:01:38.317318 Wrote pid 147671 to log/5/server/http2_server.pid 19:01:38.317349 Wrote port 32885 to log/5/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:01:38.293585 ====> Client connect 19:01:38.293619 accept_connection 3 returned 4 19:01:38.293638 accept_connection 3 returned 0 19:01:38.293655 Read 93 bytes 19:01:38.293667 Process 93 bytes request 19:01:38.293682 Got request: GET /verifiedserver HTTP/1.1 19:01:38.293693 Are-we-friendly question received 19:01:38.293720 Wrote request (93 bytes) input to log/5/server.input 19:01:38.293739 Identifying ourselves as friends 19:01:38.293798 Response sent (56 bytes) and written to 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/24/valgrind1321 ../src/curl -q --output log/24/curl1321.out --include --trace-ascii log/24/trace1321 --trace-time 'imap://imap.1321:43741/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:33929 > log/24/stdout1321 2> log/24/stderr1321 5/server.response 19:01:38.293809 special request received, no persistency 19:01:38.293820 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 49520 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1297 ==148837== ==148837== Process terminating with default action of signal 4 (SIGILL) ==148837== Illegal opcode at address 0x4013E00 ==148837== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148837== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148837== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148837== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1297 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/18/valgrind1322 ../src/curl -q --output log/18/curl1322.out --include --trace-ascii log/18/trace1322 --trace-time --ipv4 --resolve example.com.:39771:127.0.0.1 http://example.com.:39771/1322 > log/18/stdout1322 2> log/18/stderr1322 1322: 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 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/18/valgrind1322 ../src/curl -q --output log/18/curl1322.out --include --trace-ascii log/18/trace1322 --trace-time --ipv4 --resolve example.com.:39771:127.0.0.1 http://example.com.:39771/1322 > log/18/stdout1322 2> log/18/stderr1322 === End of file commands.log === Start of file http_server.log 19:01:39.311136 ====> Client connect 19:01:39.311170 accept_connection 3 returned 4 19:01:39.311186 accept_connection 3 returned 0 19:01:39.311201 Read 93 bytes 19:01:39.311211 Process 93 bytes request 19:01:39.311225 Got request: GET /verifiedserver HTTP/1.1 19:01:39.311235 Are-we-friendly question received 19:01:39.311260 Wrote request (93 bytes) input to log/18/server.input 19:01:39.311276 Identifying ourselves as friends 19:01:39.311327 Response sent (56 bytes) and written to log/18/server.response 19:01:39.311337 special request received, no persistency 19:01:39.311346 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 48982 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind1322 ==148879== ==148879== Process terminating with default action of signal 4 (SIGILL) ==148879== Illegal opcode at address 0x4013E00 ==148879== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148879== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148879== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148879== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1322 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/24/valgrind1321 ../src/curl -q --output log/24/curl1321.out --include --trace-ascii log/24/trace1321 --trace-time 'imap://imap.1321:43741/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:33929 > log/24/stdout1321 2> log/24/stderr1321 1321: 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 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/24/valgrind1321 ../src/curl -q --output log/24/curl1321.out --include --trace-ascii log/24/trace1321 --trace-time 'imap://imap.1321:43741/1321/;MAILINDEX=1' -u user:secret -p -x 127.0.0.1:33929 > log/24/stdout1321 2> log/24/stderr1321 === End of file commands.log === Start of file http2_server.log 19:01:39.330512 ====> Client connect 19:01:39.330545 accept_connection 3 returned 4 19:01:39.330563 accept_connection 3 returned 0 19:01:39.330578 Read 93 bytes 19:01:39.330588 Process 93 bytes request 19:01:39.330602 Got request: GET /verifiedserver HTTP/1.1 19:01:39.330612 Are-we-friendly question received 19:01:39.330638 Wrote request (93 bytes) input to log/24/proxy.input 19:01:39.330659 Identifying ourselves as friends 19:01:39.330719 Response sent (57 bytes) and written to log/24/proxy.response 19:01:39.330734 special request received, no persistency 19:01:39.330744 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:33929... * Established connection to 127.0.0.1 (127.0.0.1 port 33929) from 127.0.0.1 port 55338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33929 > User-Agent: curl/8.17.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:33929 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 143700 === End of file http2_verify.out === Start of file imap_server.log 19:01:39.497103 ====> Client connect 19:01:39.497260 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:39.497579 < "A001 CAPABILITY" 19:01:39.497617 > "A001 BAD Command[CR][LF]" 19:01:39.497803 < "A002 LIST "verifiedserver" *" 19:01:39.497833 LIST_imap got "verifiedserver" * 19:01:39.497859 > "* LIST () "/" "WE ROOLZ: 118832"[CR][LF]" 19:01:39.497878 > "A002 OK LIST Completed[CR][LF]" 19:01:39.497892 return proof we are we 19:01:39.539865 < "A003 LOGOUT" 19:01:39.539919 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:39.539941 > "A003 OK LOGOUT completed[CR][LF]" 19:01:39.540672 MAIN sockfilt said DISC 19:01:39.540716 ====> Client disconnected 19:01:39.540776 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:39.269040 ====> Client connect 19:01:39.269331 Received DATA (on stdin) 19:01:39.269349 > 178 bytes data, server => client 19:01:39.269365 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:39.269377 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:39.269389 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:39.269399 'rve\r\n' 19:01:39.269477 < 17 bytes data, client => server 19:01:39.269493 'A001 CAPABILITY\r\n' 19:01:39.269677 Received DATA (on stdin) 19:01: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/6/valgrind1327 ../src/curl -q --include --trace-ascii log/6/trace1327 --trace-time telnet://127.0.0.1:41595 -T log/6/1327.txt log/6/stdout1327 2> log/6/stderr1327 CMD (33792): ../libtool --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/valgrind1329 ../src/curl -q --output log/19/curl1329.out --include --trace-ascii log/19/trace1329 --trace-time http://127.0.0.1:41761/we/want/that/page/1329 -x "/server" > log/19/stdout1329 2> log/19/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/3/valgrind1331 ../src/curl -q --output log/3/curl1331.out --include --trace-ascii log/3/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:46261 http://z.x.com/1331 --proxy-anyauth -c log/3/dump1331 > log/3/stdout1331 2> log/3/stderr1331 9.269692 > 18 bytes data, server => client 19:01:39.269704 'A001 BAD Command\r\n' 19:01:39.269762 < 30 bytes data, client => server 19:01:39.269777 'A002 LIST "verifiedserver" *\r\n' 19:01:39.269947 Received DATA (on stdin) 19:01:39.269961 > 34 bytes data, server => client 19:01:39.269973 '* LIST () "/" "WE ROOLZ: 118832"\r\n' 19:01:39.269996 Received DATA (on stdin) 19:01:39.270008 > 24 bytes data, server => client 19:01:39.270020 'A002 OK LIST Completed\r\n' 19:01:39.311723 < 13 bytes data, client => server 19:01:39.311750 'A003 LOGOUT\r\n' 19:01:39.311999 Received DATA (on stdin) 19:01:39.312014 > 36 bytes data, server => client 19:01:39.312026 '* BYE curl IMAP server signing off\r\n' 19:01:39.312051 Received DATA (on stdin) 19:01:39.312063 > 26 bytes data, server => client 19:01:39.312075 'A003 OK LOGOUT completed\r\n' 19:01:39.312660 ====> Client disconnect 19:01:39.312837 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 143700 === End of file proxy.response === Start of file server.cmd Testnum 1321 === End of file server.cmd === Start of file valgrind1321 ==148963== ==148963== Process terminating with default action of signal 4 (SIGILL) ==148963== Illegal opcode at address 0x4013E00 ==148963== at 0x4013E00: getparameter (tool_getparam.c:2846) ==148963== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==148963== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==148963== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1321 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/6/valgrind1327 ../src/curl -q --include --trace-ascii log/6/trace1327 --trace-time telnet://127.0.0.1:41595 -T log/6/1327.txt log/6/stdout1327 2> log/6/stderr1327 1327: 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 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/6/valgrind1327 ../src/curl -q --include --trace-ascii log/6/trace1327 --trace-time telnet://127.0.0.1:41595 -T log/6/1327.txt log/6/stdout1327 2> log/6/stderr1327 === End of file commands.log === Start of file http_server.log 19:01:39.366169 ====> Client connect 19:01:39.366208 accept_connection 3 returned 4 19:01:39.366229 accept_connection 3 returned 0 19:01:39.366248 Read 93 bytes 19:01:39.366262 Process 93 bytes request 19:01:39.366282 Got request: GET /verifiedserver HTTP/1.1 19:01:39.366293 Are-we-friendly question received 19:01:39.366321 Wrote request (93 bytes) input to log/6/server.input 19:01:39.366341 Identifying ourselves as friends 19:01:39.366401 Response sent (56 bytes) and written to log/6/server.response 19:01:39.366414 special request received, no persistency 19:01:39.366425 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 51386 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === 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 ==149059== ==149059== Process terminating with default action of signal 4 (SIGILL) ==149059== Illegal opcode at address 0x4013E00 ==149059== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149059== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149059== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149059== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1327 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/19/valgrind1329 ../src/curl -q --output log/19/curl1329.out --include --trace-ascii log/19/trace1329 --trace-time http://127.0.0.1:41761/we/want/that/page/1329 -x "/server" > log/19/stdout1329 2> log/19/stderr1329 curl returned 132, when expecting 5 1329: exit FAILED == Contents of files in the log/19/ 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/19/valgrind1329 ../src/curl -q --output log/19/curl1329.out --include --trace-ascii log/19/trace1329 --trace-time http://127.0.0.1:41761/we/want/that/page/1329 -x "/server" > log/19/stdout1329 2> log/19/stderr1329 === End of file commands.log === Start of file http_server.log 19:01:39.649002 ====> Client connect 19:01:39.649033 accept_connection 3 returned 4 19:01:39.649049 accept_connection 3 returned 0 19:01:39.649062 Read 93 bytes 19:01:39.649072 Process 93 bytes request 19:01:39.649083 Got request: GET /verifiedserver HTTP/1.1 19:01:39.649092 Are-we-friendly question received 19:01:39.649115 Wrote request (93 bytes) input to log/19/server.input 19:01:39.649131 Identifying ourselves as friends 19:01:39.649182 Response sent (56 bytes) and written to log/19/server.response 19:01:39.649192 special request received, no persistency 19:01:39.649201 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 34332 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind1329 ==149233== ==149233== Process terminating with default action of signal 4 (SIGILL) ==149233== Illegal opcode at address 0x4013E00 ==149233== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149233== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149233== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149233== by 0x40037A4: 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/3/valgrind1331 ../src/curl -q --output log/3/curl1331.out --include --trace-ascii log/3/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:46261 http://z.x.com/1331 --proxy-anyauth -c log/3/dump1331 > log/3/stdout1331 2> log/3/stderr1331 1331: 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 1331 === Start CMD (33792): ../libtool --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/valgrind1328 ../src/curl -q --output log/22/curl1328.out --include --trace-ascii log/22/trace1328 --trace-time -f 'http://127.0.0.1:41061/[13280000-13280001]' -o log/22/#1 > log/22/stdout1328 2> log/22/stderr1328 CMD (33792): ../libtool --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/valgrind1334 ../src/curl -q --trace-ascii log/8/trace1334 --trace-time http://127.0.0.1:43853/1334 -O -D log/8/heads1334 --output-dir log/8 > log/8/stdout1334 2> log/8/stderr1334 CMD (33792): ../libtool --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/valgrind1333 ../src/curl -q --output log/21/curl1333.out --include --trace-ascii log/21/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:35043/1333 > log/21/stdout1333 2> log/21/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/20/valgrind1332 ../src/curl -q --output log/20/curl1332.out --include --trace-ascii log/20/trace1332 --trace-time http://127.0.0.1:38583/blah/1332 -L -d "moo" --post303 > log/20/stdout1332 2> log/20/stderr1332 of file commands.log ../libtool --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/valgrind1331 ../src/curl -q --output log/3/curl1331.out --include --trace-ascii log/3/trace1331 --trace-time -U myname:mypassword -x 127.0.0.1:46261 http://z.x.com/1331 --proxy-anyauth -c log/3/dump1331 > log/3/stdout1331 2> log/3/stderr1331 === End of file commands.log === Start of file http_server.log 19:01:40.647573 ====> Client connect 19:01:40.647607 accept_connection 3 returned 4 19:01:40.647624 accept_connection 3 returned 0 19:01:40.647747 Read 93 bytes 19:01:40.647759 Process 93 bytes request 19:01:40.647774 Got request: GET /verifiedserver HTTP/1.1 19:01:40.647784 Are-we-friendly question received 19:01:40.647810 Wrote request (93 bytes) input to log/3/server.input 19:01:40.647828 Identifying ourselves as friends 19:01:40.647880 Response sent (56 bytes) and written to log/3/server.response 19:01:40.647890 special request received, no persistency 19:01:40.647900 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 55728 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind1331 ==149240== ==149240== Process terminating with default action of signal 4 (SIGILL) ==149240== Illegal opcode at address 0x4013E00 ==149240== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149240== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149240== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149240== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1331 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/22/valgrind1328 ../src/curl -q --output log/22/curl1328.out --include --trace-ascii log/22/trace1328 --trace-time -f 'http://127.0.0.1:41061/[13280000-13280001]' -o log/22/#1 > log/22/stdout1328 2> log/22/stderr1328 1328: 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 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/22/valgrind1328 ../src/curl -q --output log/22/curl1328.out --include --trace-ascii log/22/trace1328 --trace-time -f 'http://127.0.0.1:41061/[13280000-13280001]' -o log/22/#1 > log/22/stdout1328 2> log/22/stderr1328 === End of file commands.log === Start of file http_server.log 19:01:39.648296 ====> Client connect 19:01:39.648331 accept_connection 3 returned 4 19:01:39.648348 accept_connection 3 returned 0 19:01:39.648363 Read 93 bytes 19:01:39.648373 Process 93 bytes request 19:01:39.648387 Got request: GET /verifiedserver HTTP/1.1 19:01:39.648397 Are-we-friendly question received 19:01:39.648421 Wrote request (93 bytes) input to log/22/server.input 19:01:39.648438 Identifying ourselves as friends 19:01:39.648490 Response sent (56 bytes) and written to log/22/server.response 19:01:39.648501 special request received, no persistency 19:01:39.648511 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 56060 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind1328 ==149237== ==149237== Process terminating with default action of signal 4 (SIGILL) ==149237== Illegal opcode at address 0x4013E00 ==149237== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149237== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149237== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149237== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1328 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/8/valgrind1334 ../src/curl -q --trace-ascii log/8/trace1334 --trace-time http://127.0.0.1:43853/1334 -O -D log/8/heads1334 --output-dir log/8 > log/8/stdout1334 2> log/8/stderr1334 1334: 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 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/8/valgrind1334 ../src/curl -q --trace-ascii log/8/trace1334 --trace-time http://127.0.0.1:43853/1334 -O -D log/8/heads1334 --output-dir log/8 > log/8/stdout1334 2> log/8/stderr1334 === End of file commands.log === Start of file http_server.log 19:01:39.792472 ====> Client connect 19:01:39.792509 accept_connection 3 returned 4 19:01:39.792528 accept_connection 3 returned 0 19:01:39.792544 Read 93 bytes 19:01:39.792555 Process 93 bytes request 19:01:39.792570 Got request: GET /verifiedserver HTTP/1.1 19:01:39.792581 Are-we-friendly question received 19:01:39.792614 Wrote request (93 bytes) input to log/8/server.input 19:01:39.792638 Identifying ourselves as friends 19:01:39.792697 Response sent (56 bytes) and written to log/8/server.response 19:01:39.792709 special request received, no persistency 19:01:39.792720 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 56526 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1334 ==149512== ==149512== Process terminating with default action of signal 4 (SIGILL) ==149512== Illegal opcode at address 0x4013E00 ==149512== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149512== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149512== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149512== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1334 test 1333...[HTTP POST zero length, CMD (33792): ../libtool --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/valgrind1335 ../src/curl -q --trace-ascii log/13/trace1335 --trace-time http://127.0.0.1:35301/1335 -O -D - --output-dir="log/13" > log/13/stdout1335 2> log/13/stderr1335 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/21/valgrind1333 ../src/curl -q --output log/21/curl1333.out --include --trace-ascii log/21/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:35043/1333 > log/21/stdout1333 2> log/21/stderr1333 1333: 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 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/21/valgrind1333 ../src/curl -q --output log/21/curl1333.out --include --trace-ascii log/21/trace1333 --trace-time -d "" --header="Transfer-Encoding: chunked" http://127.0.0.1:35043/1333 > log/21/stdout1333 2> log/21/stderr1333 === End of file commands.log === Start of file http_server.log 19:01:39.762556 ====> Client connect 19:01:39.762585 accept_connection 3 returned 4 19:01:39.762626 accept_connection 3 returned 0 19:01:39.762727 Read 93 bytes 19:01:39.762741 Process 93 bytes request 19:01:39.762756 Got request: GET /verifiedserver HTTP/1.1 19:01:39.762767 Are-we-friendly question received 19:01:39.762797 Wrote request (93 bytes) input to log/21/server.input 19:01:39.762815 Identifying ourselves as friends 19:01:39.762872 Response sent (56 bytes) and written to log/21/server.response 19:01:39.762883 special request received, no persistency 19:01:39.762894 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 37658 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind1333 ==149447== ==149447== Process terminating with default action of signal 4 (SIGILL) ==149447== Illegal opcode at address 0x4013E00 ==149447== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149447== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149447== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149447== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1333 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/20/valgrind1332 ../src/curl -q --output log/20/curl1332.out --include --trace-ascii log/20/trace1332 --trace-time http://127.0.0.1:38583/blah/1332 -L -d "moo" --post303 > log/20/stdout1332 2> log/20/stderr1332 1332: 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 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/20/valgrind1332 ../src/curl -q --output log/20/curl1332.out --include --trace-ascii log/20/trace1332 --trace-time http://127.0.0.1:38583/blah/1332 -L -d "moo" --post303 > log/20/stdout1332 2> log/20/stderr1332 === End of file commands.log === Start of file http_server.log 19:01:39.728792 ====> Client connect 19:01:39.728821 accept_connection 3 returned 4 19:01:39.728835 accept_connection 3 returned 0 19:01:39.728847 Read 93 bytes 19:01:39.728856 Process 93 bytes request 19:01:39.728867 Got request: GET /verifiedserver HTTP/1.1 19:01:39.728875 Are-we-friendly question received 19:01:39.728896 Wrote request (93 bytes) input to log/20/server.input 19:01:39.728911 Identifying ourselves as friends 19:01:39.728955 Response sent (56 bytes) and written to log/20/server.response 19:01:39.728964 special request received, no persistency 19:01:39.728971 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 56452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind1332 ==149396== ==149396== Process terminating with default action of signal 4 (SIGILL) ==149396== Illegal opcode at address 0x4013E00 ==149396== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149396== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149396== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149396== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1332 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/13/valgrind1335 ../src/curl -q --trace-ascii log/13/trace1335 --trace-time http://127.0.0.1:35301/1335 -O -D - --output-dir="log/13" > log/13/stdout1335 2> log/13/stderr1335 1335: 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 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/13/valgrind1335 ../src/curl -q --trace-ascii log/13/trace1335 --trace-time http://127.0.0.1:35301/1335 -O -D - --output-dir="log/13" > log/13/stdout1335 2> log/13/stderr1335 === End of file commands.log === Start of file http_server.log 19:01:39.887496 ====> Client connect 19:01:39.887544 accept_connection 3 returned 4 19:01:39.887563 accept_connection 3 returned 0 19:01:39.887581 Read 93 bytes 19:01:39.887592 Process 93 bytes request 19:01:39.887610 Got request: GET /verifiedserver HTTP/1.1 19:01:39.887621 Are-we-friendly question received 19:01:39.887646 Wrote request (93 bytes) input to log/13/server.input 19:01:39.887664 Identifying ourselves as friends 19:01:39.887727 Response sent (56 bytes) and written to log/13/server.response 19:01:39.887740 special request received, no persistency 19:01:39.887750 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 46616 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === End of file http_verify.out === Start of file server.cmd Testnum 1335 === End of file server.cmd === Start 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/11/valgrind1336 ../src/curl -q --trace-ascii log/11/trace1336 --trace-time http://127.0.0.1:46317/1336 -O -D log/11/heads1336 --output-dir log/11 > log/11/stdout1336 2> log/11/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/14/valgrind1337 ../src/curl -q --trace-ascii log/14/trace1337 --trace-time http://127.0.0.1:36759/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/4/valgrind1338 ../src/curl -q --trace-ascii log/4/trace1338 --trace-time http://127.0.0.1:37985/1338 -J -O -D log/4/heads1338 --output-dir log/4 > log/4/stdout1338 2> log/4/stderr1338 ile server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74477 === End of file server.response === Start of file valgrind1335 ==149601== ==149601== Process terminating with default action of signal 4 (SIGILL) ==149601== Illegal opcode at address 0x4013E00 ==149601== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149601== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149601== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149601== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1335 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/11/valgrind1336 ../src/curl -q --trace-ascii log/11/trace1336 --trace-time http://127.0.0.1:46317/1336 -O -D log/11/heads1336 --output-dir log/11 > log/11/stdout1336 2> log/11/stderr1336 1336: 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 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/11/valgrind1336 ../src/curl -q --trace-ascii log/11/trace1336 --trace-time http://127.0.0.1:46317/1336 -O -D log/11/heads1336 --output-dir log/11 > log/11/stdout1336 2> log/11/stderr1336 === End of file commands.log === Start of file http_server.log 19:01:39.936864 ====> Client connect 19:01:39.936898 accept_connection 3 returned 4 19:01:39.936918 accept_connection 3 returned 0 19:01:39.936934 Read 93 bytes 19:01:39.936945 Process 93 bytes request 19:01:39.936958 Got request: GET /verifiedserver HTTP/1.1 19:01:39.936969 Are-we-friendly question received 19:01:39.936992 Wrote request (93 bytes) input to log/11/server.input 19:01:39.937009 Identifying ourselves as friends 19:01:39.937068 Response sent (56 bytes) and written to log/11/server.response 19:01:39.937079 special request received, no persistency 19:01:39.937088 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 39498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind1336 ==149700== ==149700== Process terminating with default action of signal 4 (SIGILL) ==149700== Illegal opcode at address 0x4013E00 ==149700== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149700== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149700== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149700== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1336 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:36759/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:36759/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 19:01:39.947059 ====> Client connect 19:01:39.947084 accept_connection 3 returned 4 19:01:39.947098 accept_connection 3 returned 0 19:01:39.947110 Read 93 bytes 19:01:39.947119 Process 93 bytes request 19:01:39.947131 Got request: GET /verifiedserver HTTP/1.1 19:01:39.947140 Are-we-friendly question received 19:01:39.947161 Wrote request (93 bytes) input to log/14/server.input 19:01:39.947174 Identifying ourselves as friends 19:01:39.947216 Response sent (56 bytes) and written to log/14/server.response 19:01:39.947225 special request received, no persistency 19:01:39.947233 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 40480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind1337 ==149735== ==149735== Process terminating with default action of signal 4 (SIGILL) ==149735== Illegal opcode at address 0x4013E00 ==149735== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149735== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149735== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149735== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1337 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/4/valgrind1338 ../src/curl -q --trace-ascii log/4/trace1338 --trace-time http://127.0.0.1:37985/1338 -J -O -D log/4/heads1338 --output-dir log/4 > log/4/stdout1338 2> log/4/stderr1338 1338: 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 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/4/valgrind1338 ../src/curl -q --trace-ascii log/4/trace1338 --trace-time http://127.0.0.1:37985/1338 -J -O -D log/4/heads1338 --output-dir log/4 > log/4/stdout1338 2> log/4/stderr1338 === End of file commands.log === Start of file http_server.log 19:01:40.950134 ====> Client connect 19:01:40.950172 accept_connection 3 returned 4 19:01:40.950191 accept_connection 3 returned 0 19:01:40.950207 Read 93 bytes 19:01:40.950218 Process 93 bytes request 19:01:40.950233 Got request: GET /verifiedserver HTTP/1.1 19:01:40.950242 Are-we-friendly question received 19:01:40.950265 Wrote request (93 bytes) input to log/4/server.input 19:01:40.950282 Identifying ourselves as friends 19:01:40.950353 Response sent (56 bytes) and written to log/4/server.response 19:01:40.950364 special request received, no persistency 19:01:40.950373 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 4419CMD (33792): ../libtool --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/valgrind1339 ../src/curl -q --trace-ascii log/15/trace1339 --trace-time http://127.0.0.1:44531/1339 -J -O -D - --output-dir log/15 > log/15/stdout1339 2> log/15/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/10/valgrind1341 ../src/curl -q --trace-ascii log/10/trace1341 --trace-time http://127.0.0.1:37879/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/10 > log/10/stdout1341 2> log/10/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/7/valgrind1340 ../src/curl -q --trace-ascii log/7/trace1340 --trace-time http://127.0.0.1:41017/1340 -J -O -D log/7/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/7 > log/7/stdout1340 2> log/7/stderr1340 6 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind1338 ==149737== ==149737== Process terminating with default action of signal 4 (SIGILL) ==149737== Illegal opcode at address 0x4013E00 ==149737== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149737== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149737== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149737== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1338 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/15/valgrind1339 ../src/curl -q --trace-ascii log/15/trace1339 --trace-time http://127.0.0.1:44531/1339 -J -O -D - --output-dir log/15 > log/15/stdout1339 2> log/15/stderr1339 1339: 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 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/15/valgrind1339 ../src/curl -q --trace-ascii log/15/trace1339 --trace-time http://127.0.0.1:44531/1339 -J -O -D - --output-dir log/15 > log/15/stdout1339 2> log/15/stderr1339 === End of file commands.log === Start of file http_server.log 19:01:39.961286 ====> Client connect 19:01:39.961426 accept_connection 3 returned 4 19:01:39.961448 accept_connection 3 returned 0 19:01:39.961465 Read 93 bytes 19:01:39.961478 Process 93 bytes request 19:01:39.961494 Got request: GET /verifiedserver HTTP/1.1 19:01:39.961504 Are-we-friendly question received 19:01:39.961531 Wrote request (93 bytes) input to log/15/server.input 19:01:39.961549 Identifying ourselves as friends 19:01:39.961614 Response sent (56 bytes) and written to log/15/server.response 19:01:39.961626 special request received, no persistency 19:01:39.961636 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 35218 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind1339 ==149785== ==149785== Process terminating with default action of signal 4 (SIGILL) ==149785== Illegal opcode at address 0x4013E00 ==149785== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149785== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149785== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149785== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1339 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/10/valgrind1341 ../src/curl -q --trace-ascii log/10/trace1341 --trace-time http://127.0.0.1:37879/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/10 > log/10/stdout1341 2> log/10/stderr1341 1341: 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 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/10/valgrind1341 ../src/curl -q --trace-ascii log/10/trace1341 --trace-time http://127.0.0.1:37879/1341 -J -O -D - -w "curl saved to filename %{filename_effective}\n" --output-dir log/10 > log/10/stdout1341 2> log/10/stderr1341 === End of file commands.log === Start of file http_server.log 19:01:40.003277 ====> Client connect 19:01:40.003312 accept_connection 3 returned 4 19:01:40.003330 accept_connection 3 returned 0 19:01:40.003348 Read 93 bytes 19:01:40.003359 Process 93 bytes request 19:01:40.003377 Got request: GET /verifiedserver HTTP/1.1 19:01:40.003388 Are-we-friendly question received 19:01:40.003418 Wrote request (93 bytes) input to log/10/server.input 19:01:40.003439 Identifying ourselves as friends 19:01:40.003507 Response sent (56 bytes) and written to log/10/server.response 19:01:40.003521 special request received, no persistency 19:01:40.003532 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 35108 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1341 ==149973== ==149973== Process terminating with default action of signal 4 (SIGILL) ==149973== Illegal opcode at address 0x4013E00 ==149973== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149973== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149973== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149973== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1341 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/7/valgrind1340 ../src/curl -q --trace-ascii log/7/trace1340 --trace-time http://127.0.0.1:41017/1340 -J -O -D log/7/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/7 > log/7/stdout1340 2> log/7/stderr1340 1340: 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 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/7/valgrind1340 ../src/curl -q --trace-ascii log/7/trace1340 --trace-time http://127.0.0.1:41017/1340 -J -O -D log/7/heads1340 -w "curl saved to filename %{filename_effective}\n" --output-dir log/7 > log/7/stdout1340 2> log/7/stderr1340 === End of file commands.log === Start of file http_server.log 19:01:39.971489 ====> Client connect 19:01:39.971526 accept_connection 3 returned 4 19:01:39.971545 accept_connection 3 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/12/valgrind1342 ../src/curl -q --trace-ascii log/12/trace1342 --trace-time http://127.0.0.1:46819/1342 -i -O -D log/12/heads1342 --output-dir log/12 > log/12/stdout1342 2> log/12/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/16/valgrind1320 ../src/curl -q --output log/16/curl1320.out --include --trace-ascii log/16/trace1320 --trace-time smtp://smtp.1320:45589/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:38029 log/16/stdout1320 2> log/16/stderr1320 0 19:01:39.971561 Read 93 bytes 19:01:39.971573 Process 93 bytes request 19:01:39.971587 Got request: GET /verifiedserver HTTP/1.1 19:01:39.971598 Are-we-friendly question received 19:01:39.971625 Wrote request (93 bytes) input to log/7/server.input 19:01:39.971643 Identifying ourselves as friends 19:01:39.971702 Response sent (56 bytes) and written to log/7/server.response 19:01:39.971714 special request received, no persistency 19:01:39.971724 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 42430 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind1340 ==149840== ==149840== Process terminating with default action of signal 4 (SIGILL) ==149840== Illegal opcode at address 0x4013E00 ==149840== at 0x4013E00: getparameter (tool_getparam.c:2846) ==149840== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==149840== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==149840== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1340 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/12/valgrind1342 ../src/curl -q --trace-ascii log/12/trace1342 --trace-time http://127.0.0.1:46819/1342 -i -O -D log/12/heads1342 --output-dir log/12 > log/12/stdout1342 2> log/12/stderr1342 1342: 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 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/12/valgrind1342 ../src/curl -q --trace-ascii log/12/trace1342 --trace-time http://127.0.0.1:46819/1342 -i -O -D log/12/heads1342 --output-dir log/12 > log/12/stdout1342 2> log/12/stderr1342 === End of file commands.log === Start of file http_server.log 19:01:40.137323 ====> Client connect 19:01:40.137369 accept_connection 3 returned 4 19:01:40.137390 accept_connection 3 returned 0 19:01:40.137408 Read 93 bytes 19:01:40.137462 Process 93 bytes request 19:01:40.137478 Got request: GET /verifiedserver HTTP/1.1 19:01:40.137490 Are-we-friendly question received 19:01:40.137521 Wrote request (93 bytes) input to log/12/server.input 19:01:40.137541 Identifying ourselves as friends 19:01:40.137624 Response sent (56 bytes) and written to log/12/server.response 19:01:40.137637 special request received, no persistency 19:01:40.137648 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 49736 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind1342 ==150057== ==150057== Process terminating with default action of signal 4 (SIGILL) ==150057== Illegal opcode at address 0x4013E00 ==150057== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150057== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150057== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150057== by 0x40037A4: 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/16/server/http2_server.pid" --logfile "log/16/http2_server.log" --logdir "log/16" --portfile log/16/server/http2_server.port --config log/16/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 148731 port 38029 * pid http-proxy => 148731 148731 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/16/valgrind1320 ../src/curl -q --output log/16/curl1320.out --include --trace-ascii log/16/trace1320 --trace-time smtp://smtp.1320:45589/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:38029 log/16/stdout1320 2> log/16/stderr1320 1320: 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 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/16/valgrind1320 ../src/curl -q --output log/16/curl1320.out --include --trace-ascii log/16/trace1320 --trace-time smtp://smtp.1320:45589/1320 --mail-rcpt recipient@example.com --mail-from sender@example.com -T - -p -x 127.0.0.1:38029 log/16/stdout1320 2> log/16/stderr1320 === End of file commands.log === Start of file http2_server.log 19:01:39.193870 Run as proxy, CONNECT to host 127.0.0.1 19:01:39.193987 Running HTTP IPv4 version on port 38029 19:01:39.194033 Wrote pid 148731 to log/16/server/http2_server.pid 19:01:39.194063 Wrote port 38029 to log/16/server/http2_server.port === End of file http2_server.log === Start of file server.cmd Testnum 1320 === End of file server.cmd === Start of file smtp_server.log 19:01:39.399116 ====> Client connect 19:01:39.399254 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:39.399543 < "EHLO verifiedserver" 19:01:39.399586 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:39.399778 < "HELP" 19:01:39.399809 > "214 WE ROOLZ: 124535[CR][LF]" 19:01:39.399826 return proof we are we 19:01:39.400063 < "QUIT" 19:01:39.400092 > "221 curl ESMTP server signing off[CR][LF]" 19:01:39.400948 MAIN sockfilt said DISC 19:01:39.400978 ====> Client disconnected 19:01:39.401044 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:39.171073 ====> Client connect 19:01:39.171324 Received DATA (on stdin) 19:01:39.171341 > 160 bytes data, server => client 19:01:39.171355 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:39.171368 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:39.171379 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:39.171457 < 21 bytes data, client => server 19:01:39.171474 'EHLO verifiedserver\r\n' 19:01:39.171649 Received DATA (on stdin) 19:01:39.171663 > 53 bytes data, server => client 19:01:39.171677 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:39.171735 < 6 bytes data, client => server 19:01:39.171750 'HELP\r\n' 19:01:39.171881CMD (33792): ../libtool --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/valgrind1319 ../src/curl -q --output log/17/curl1319.out --include --trace-ascii log/17/trace1319 --trace-time pop3://pop.1319:33735/1319 -p -x 127.0.0.1:39719 -u user:secret > log/17/stdout1319 2> log/17/stderr1319 CMD (33792): ../libtool --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/valgrind1324 ../src/curl -q --output log/23/curl1324.out --include --trace-ascii log/23/trace1324 --trace-time --resolve example.com:42919:[::1] http://example.com:42919/1324 > log/23/stdout1324 2> log/23/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/1/valgrind1343 ../src/curl -q --trace-ascii log/1/trace1343 --trace-time http://127.0.0.1:40353/1343 -i -O -D - --output-dir log/1 > log/1/stdout1343 2> log/1/stderr1343 Received DATA (on stdin) 19:01:39.171895 > 22 bytes data, server => client 19:01:39.171907 '214 WE ROOLZ: 124535\r\n' 19:01:39.172022 < 6 bytes data, client => server 19:01:39.172039 'QUIT\r\n' 19:01:39.172151 Received DATA (on stdin) 19:01:39.172164 > 35 bytes data, server => client 19:01:39.172177 '221 curl ESMTP server signing off\r\n' 19:01:39.172951 ====> Client disconnect 19:01:39.173103 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 ==150107== ==150107== Process terminating with default action of signal 4 (SIGILL) ==150107== Illegal opcode at address 0x4013E00 ==150107== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150107== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150107== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150107== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1320 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 148775 port 39719 * pid http-proxy => 148775 148775 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/17/valgrind1319 ../src/curl -q --output log/17/curl1319.out --include --trace-ascii log/17/trace1319 --trace-time pop3://pop.1319:33735/1319 -p -x 127.0.0.1:39719 -u user:secret > log/17/stdout1319 2> log/17/stderr1319 1319: 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 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/17/valgrind1319 ../src/curl -q --output log/17/curl1319.out --include --trace-ascii log/17/trace1319 --trace-time pop3://pop.1319:33735/1319 -p -x 127.0.0.1:39719 -u user:secret > log/17/stdout1319 2> log/17/stderr1319 === End of file commands.log === Start of file http2_server.log 19:01:39.237005 Run as proxy, CONNECT to host 127.0.0.1 19:01:39.237146 Running HTTP IPv4 version on port 39719 19:01:39.237191 Wrote pid 148775 to log/17/server/http2_server.pid 19:01:39.237221 Wrote port 39719 to log/17/server/http2_server.port === End of file http2_server.log === Start of file pop3_server.log 19:01:39.398218 ====> Client connect 19:01:39.398387 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:39.398862 < "CAPA" 19:01:39.398911 > "-ERR Unrecognized command[CR][LF]" 19:01:39.399118 < "RETR verifiedserver" 19:01:39.399145 return proof we are we 19:01:39.399169 > "+OK Mail transfer starts[CR][LF]" 19:01:39.399188 > "WE ROOLZ: 121627[CR][LF]" 19:01:39.399205 > ".[CR][LF]" 19:01:39.445815 < "QUIT" 19:01:39.445869 > "+OK curl POP3 server signing off[CR][LF]" 19:01:39.446548 MAIN sockfilt said DISC 19:01:39.446588 ====> Client disconnected 19:01:39.446669 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:39.170152 ====> Client connect 19:01:39.170552 Received DATA (on stdin) 19:01:39.170582 > 178 bytes data, server => client 19:01:39.170597 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:39.170609 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:39.170621 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:39.170632 've \r\n' 19:01:39.170722 < 6 bytes data, client => server 19:01:39.170736 'CAPA\r\n' 19:01:39.170973 Received DATA (on stdin) 19:01:39.170989 > 27 bytes data, server => client 19:01:39.171002 '-ERR Unrecognized command\r\n' 19:01:39.171062 < 21 bytes data, client => server 19:01:39.171075 'RETR verifiedserver\r\n' 19:01:39.171261 Received DATA (on stdin) 19:01:39.171273 > 26 bytes data, server => client 19:01:39.171285 '+OK Mail transfer starts\r\n' 19:01:39.171308 Received DATA (on stdin) 19:01:39.171319 > 18 bytes data, server => client 19:01:39.171331 'WE ROOLZ: 121627\r\n' 19:01:39.171345 Received DATA (on stdin) 19:01:39.171356 > 3 bytes data, server => client 19:01:39.171367 '.\r\n' 19:01:39.217666 < 6 bytes data, client => server 19:01:39.217697 'QUIT\r\n' 19:01:39.217928 Received DATA (on stdin) 19:01:39.217941 > 34 bytes data, server => client 19:01:39.217952 '+OK curl POP3 server signing off\r\n' 19:01:39.218541 ====> Client disconnect 19:01:39.218754 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 ==150156== ==150156== Process terminating with default action of signal 4 (SIGILL) ==150156== Illegal opcode at address 0x4013E00 ==150156== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150156== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150156== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150156== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1319 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 148846 port 42919 * pid http-ipv6 => 148846 148846 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/23/valgrind1324 ../src/curl -q --output log/23/curl1324.out --include --trace-ascii log/23/trace1324 --trace-time --resolve example.com:42919:[::1] http://example.com:42919/1324 > log/23/stdout1324 2> log/23/stderr1324 1324: 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 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/23/valgrind1324 ../src/curl -q --output log/23/curl1324.out --include --trace-ascii log/23/trace1324 --trace-time --resolve example.com:42919:[::1] http://example.com:42919/1324 > log/23/stdout1324 2> log/23/stderr1324 === End of file commands.log === Start of file http_ipv6_server.log 19:01:39.332936 Running HTTP IPv6 version on port 42919 19:01:39.333046 Wrote pid 148846 to log/23/server/http_ipv6_server.pid 19:01:39.333086 Wrote port 42919 to log/23/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 ==150270== ==150270== Process terminating with default action of signal 4 (SIGILL) ==150270== Illegal opcode at address 0x4013E00 ==150270== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150270== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150270== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150270== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1324 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=/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/24/valgrind1345 ../src/curl -q --trace-ascii log/24/trace1345 --trace-time http://127.0.0.1:39383/1345 -i -O -D - --output-dir log/24 > log/24/stdout1345 2> log/24/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/18/valgrind1344 ../src/curl -q --trace-ascii log/18/trace1344 --trace-time http://127.0.0.1:39771/1344 -i -O -D log/18/heads1344 --output-dir log/18 > log/18/stdout1344 2> log/18/stderr1344 tartdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/1/valgrind1343 ../src/curl -q --trace-ascii log/1/trace1343 --trace-time http://127.0.0.1:40353/1343 -i -O -D - --output-dir log/1 > log/1/stdout1343 2> log/1/stderr1343 1343: 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 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/1/valgrind1343 ../src/curl -q --trace-ascii log/1/trace1343 --trace-time http://127.0.0.1:40353/1343 -i -O -D - --output-dir log/1 > log/1/stdout1343 2> log/1/stderr1343 === End of file commands.log === Start of file http_server.log 19:01:40.323002 ====> Client connect 19:01:40.323036 accept_connection 3 returned 4 19:01:40.323054 accept_connection 3 returned 0 19:01:40.323071 Read 93 bytes 19:01:40.323084 Process 93 bytes request 19:01:40.323098 Got request: GET /verifiedserver HTTP/1.1 19:01:40.323110 Are-we-friendly question received 19:01:40.323135 Wrote request (93 bytes) input to log/1/server.input 19:01:40.323154 Identifying ourselves as friends 19:01:40.323215 Response sent (56 bytes) and written to log/1/server.response 19:01:40.323228 special request received, no persistency 19:01:40.323239 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 55854 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1343 ==150331== ==150331== Process terminating with default action of signal 4 (SIGILL) ==150331== Illegal opcode at address 0x4013E00 ==150331== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150331== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150331== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150331== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1343 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/24/valgrind1345 ../src/curl -q --trace-ascii log/24/trace1345 --trace-time http://127.0.0.1:39383/1345 -i -O -D - --output-dir log/24 > log/24/stdout1345 2> log/24/stderr1345 1345: 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 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/24/valgrind1345 ../src/curl -q --trace-ascii log/24/trace1345 --trace-time http://127.0.0.1:39383/1345 -i -O -D - --output-dir log/24 > log/24/stdout1345 2> log/24/stderr1345 === End of file commands.log === Start of file http_server.log 19:01:40.324435 ====> Client connect 19:01:40.324471 accept_connection 3 returned 4 19:01:40.324489 accept_connection 3 returned 0 19:01:40.324503 Read 93 bytes 19:01:40.324515 Process 93 bytes request 19:01:40.324528 Got request: GET /verifiedserver HTTP/1.1 19:01:40.324539 Are-we-friendly question received 19:01:40.324567 Wrote request (93 bytes) input to log/24/server.input 19:01:40.324585 Identifying ourselves as friends 19:01:40.324641 Response sent (56 bytes) and written to log/24/server.response 19:01:40.324652 special request received, no persistency 19:01:40.324663 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 47030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind1345 ==150323== ==150323== Process terminating with default action of signal 4 (SIGILL) ==150323== Illegal opcode at address 0x4013E00 ==150323== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150323== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150323== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150323== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1345 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/18/valgrind1344 ../src/curl -q --trace-ascii log/18/trace1344 --trace-time http://127.0.0.1:39771/1344 -i -O -D log/18/heads1344 --output-dir log/18 > log/18/stdout1344 2> log/18/stderr1344 1344: 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 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/18/valgrind1344 ../src/curl -q --trace-ascii log/18/trace1344 --trace-time http://127.0.0.1:39771/1344 -i -O -D log/18/heads1344 --output-dir log/18 > log/18/stdout1344 2> log/18/stderr1344 === End of file commands.log === Start of file http_server.log 19:01:40.313847 ====> Client connect 19:01:40.313883 accept_connection 3 returned 4 19:01:40.313901 accept_connection 3 returned 0 19:01:40.313917 Read 93 bytes 19:01:40.313928 Process 93 bytes request 19:01:40.313942 Got request: GET /verifiedserver HTTP/1.1 19:01:40.313952 Are-we-friendly question received 19:01:40.313979 Wrote request (93 bytes) input to log/18/server.input 19:01:40.313997 Identifying ourselves as friends 19:01:40.314056 Response sent (56 bytes) and written to log/18/server.response 19:01:40.314069 special request received, no persistency 19:01:40.314079 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 38230 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind1344 ==150283== ==150283== Process terminating with default action of signal 4 (SIGILL) ==150283== Illegal opcode at address 0x4013ECMD (33792): ../libtool --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/valgrind1326 ../src/curl -q --output log/2/curl1326.out --include --trace-ascii log/2/trace1326 --trace-time telnet://127.0.0.1:46047 --upload-file - log/2/stdout1326 2> log/2/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/6/valgrind1346 ../src/curl -q --trace-ascii log/6/trace1346 --trace-time http://127.0.0.1:41595/1346 -i -O --output-dir log/6 > log/6/stdout1346 2> log/6/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/5/valgrind1347 ../src/curl -q --trace-ascii log/5/trace1347 --trace-time http://127.0.0.1:46771/1347 -i -O --output-dir log/5 > log/5/stdout1347 2> log/5/stderr1347 00 ==150283== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150283== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150283== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150283== by 0x40037A4: 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/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 148921 port 46047 * pid http => 148921 148921 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/2/valgrind1326 ../src/curl -q --output log/2/curl1326.out --include --trace-ascii log/2/trace1326 --trace-time telnet://127.0.0.1:46047 --upload-file - log/2/stdout1326 2> log/2/stderr1326 1326: 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 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/2/valgrind1326 ../src/curl -q --output log/2/curl1326.out --include --trace-ascii log/2/trace1326 --trace-time telnet://127.0.0.1:46047 --upload-file - log/2/stdout1326 2> log/2/stderr1326 === End of file commands.log === Start of file http_server.log 19:01:39.351885 Running HTTP IPv4 version on port 46047 19:01:39.351981 Wrote pid 148921 to log/2/server/http_server.pid 19:01:39.352014 Wrote port 46047 to log/2/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1326 === End of file server.cmd === Start of file stdin-for-1326 GET /we/want/1326 HTTP/1.0 === End of file stdin-for-1326 === Start of file valgrind1326 ==150352== ==150352== Process terminating with default action of signal 4 (SIGILL) ==150352== Illegal opcode at address 0x4013E00 ==150352== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150352== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150352== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150352== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1326 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/6/valgrind1346 ../src/curl -q --trace-ascii log/6/trace1346 --trace-time http://127.0.0.1:41595/1346 -i -O --output-dir log/6 > log/6/stdout1346 2> log/6/stderr1346 1346: 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 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/6/valgrind1346 ../src/curl -q --trace-ascii log/6/trace1346 --trace-time http://127.0.0.1:41595/1346 -i -O --output-dir log/6 > log/6/stdout1346 2> log/6/stderr1346 === End of file commands.log === Start of file http_server.log 19:01:40.333863 ====> Client connect 19:01:40.333897 accept_connection 3 returned 4 19:01:40.333916 accept_connection 3 returned 0 19:01:40.334056 Read 93 bytes 19:01:40.334071 Process 93 bytes request 19:01:40.334093 Got request: GET /verifiedserver HTTP/1.1 19:01:40.334104 Are-we-friendly question received 19:01:40.334133 Wrote request (93 bytes) input to log/6/server.input 19:01:40.334152 Identifying ourselves as friends 19:01:40.334221 Response sent (56 bytes) and written to log/6/server.response 19:01:40.334233 special request received, no persistency 19:01:40.334243 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 54474 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1346 ==150379== ==150379== Process terminating with default action of signal 4 (SIGILL) ==150379== Illegal opcode at address 0x4013E00 ==150379== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150379== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150379== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150379== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1346 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/5/valgrind1347 ../src/curl -q --trace-ascii log/5/trace1347 --trace-time http://127.0.0.1:46771/1347 -i -O --output-dir log/5 > log/5/stdout1347 2> log/5/stderr1347 1347: 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 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/5/valgrind1347 ../src/curl -q --trace-ascii log/5/trace1347 --trace-time http://127.0.0.1:46771/1347 -i -O --output-dir log/5 > log/5/stdout1347 2> log/5/stderr1347 === End of file commands.log === Start of file http_server.log 19:01:40.345311 ====> Client connect 19:01:40.345346 accept_connection 3 returned 4 19:01:40.345364 accept_connection 3 returned 0 19:01:40.345380 Read 93 bytes 19:01:40.345391 Process 93 bytes request 19:01:40.345407 Got request: GET /verifiedserver HTTP/1.1 19:01:40.345417 Are-we-friendly question received 19:01:40.345445 Wrote request (93 bytes) input to log/5/server.input 19:01:40.345464 Identifying ourselves as friends 19:01:40.345554 Response sent (56 bytes) and written to log/5/server.response 19:01:40.345568 special request received, no persistency 19:01:40.345578 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 34268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1347 ==150427== ==150427== Process terminating with default action of signal 4 (SIGILL) ==150427== Illegal opcode at address 0x4013E00 ==150427== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150427== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150427== byCMD (33792): ../libtool --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/valgrind1349 ../src/curl -q --trace-ascii log/3/trace1349 --trace-time ftp://127.0.0.1:36301/path/file1349 -O -D log/3/heads1349 --output-dir log/3 > log/3/stdout1349 2> log/3/stderr1349 CMD (33792): ../libtool --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/valgrind1348 ../src/curl -q --trace-ascii log/19/trace1348 --trace-time ftp://127.0.0.1:33175/path/file1348 -O --output-dir log/19 > log/19/stdout1348 2> log/19/stderr1348 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150427== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1347 test 1349...[FTP download, file without 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/3/valgrind1349 ../src/curl -q --trace-ascii log/3/trace1349 --trace-time ftp://127.0.0.1:36301/path/file1349 -O -D log/3/heads1349 --output-dir log/3 > log/3/stdout1349 2> log/3/stderr1349 1349: 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 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/3/valgrind1349 ../src/curl -q --trace-ascii log/3/trace1349 --trace-time ftp://127.0.0.1:36301/path/file1349 -O -D log/3/heads1349 --output-dir log/3 > log/3/stdout1349 2> log/3/stderr1349 === End of file commands.log === Start of file ftp_server.log 19:01:40.867133 ====> Client connect 19:01:40.867294 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:40.867589 < "USER anonymous" 19:01:40.867630 > "331 We are happy you popped in![CR][LF]" 19:01:40.867828 < "PASS ftp@example.com" 19:01:40.867857 > "230 Welcome you silly person[CR][LF]" 19:01:40.868042 < "PWD" 19:01:40.868075 > "257 "/" is current directory[CR][LF]" 19:01:40.868272 < "EPSV" 19:01:40.868299 ====> Passive DATA channel requested by client 19:01:40.868315 DATA sockfilt for passive data channel starting... 19:01:40.869926 DATA sockfilt for passive data channel started (pid 150698) 19:01:40.870039 DATA sockfilt for passive data channel listens on port 36305 19:01:40.870084 > "229 Entering Passive Mode (|||36305|)[CR][LF]" 19:01:40.870105 Client has been notified that DATA conn will be accepted on port 36305 19:01:40.870315 Client connects to port 36305 19:01:40.870346 ====> Client established passive DATA connection on port 36305 19:01:40.870426 < "TYPE I" 19:01:40.870456 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:40.870629 < "SIZE verifiedserver" 19:01:40.870668 > "213 17[CR][LF]" 19:01:40.870827 < "RETR verifiedserver" 19:01:40.870869 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:40.870949 =====> Closing passive DATA connection... 19:01:40.870967 Server disconnects passive DATA connection 19:01:40.871207 Server disconnected passive DATA connection 19:01:40.871235 DATA sockfilt for passive data channel quits (pid 150698) 19:01:40.871456 DATA sockfilt for passive data channel quit (pid 150698) 19:01:40.871481 =====> Closed passive DATA connection 19:01:40.871508 > "226 File transfer complete[CR][LF]" 19:01:40.916226 < "QUIT" 19:01:40.916275 > "221 bye bye baby[CR][LF]" 19:01:40.917112 MAIN sockfilt said DISC 19:01:40.917142 ====> Client disconnected 19:01:40.917213 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:40.639081 ====> Client connect 19:01:40.639366 Received DATA (on stdin) 19:01:40.639384 > 160 bytes data, server => client 19:01:40.639398 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:40.639411 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:40.639423 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:40.639498 < 16 bytes data, client => server 19:01:40.639516 'USER anonymous\r\n' 19:01:40.639693 Received DATA (on stdin) 19:01:40.639708 > 33 bytes data, server => client 19:01:40.639721 '331 We are happy you popped in!\r\n' 19:01:40.639782 < 22 bytes data, client => server 19:01:40.639799 'PASS ftp@example.com\r\n' 19:01:40.639916 Received DATA (on stdin) 19:01:40.639930 > 30 bytes data, server => client 19:01:40.639943 '230 Welcome you silly person\r\n' 19:01:40.639999 < 5 bytes data, client => server 19:01:40.640015 'PWD\r\n' 19:01:40.640134 Received DATA (on stdin) 19:01:40.640149 > 30 bytes data, server => client 19:01:40.640161 '257 "/" is current directory\r\n' 19:01:40.640227 < 6 bytes data, client => server 19:01:40.640244 'EPSV\r\n' 19:01:40.642166 Received DATA (on stdin) 19:01:40.642180 > 39 bytes data, server => client 19:01:40.642193 '229 Entering Passive Mode (|||36305|)\r\n' 19:01:40.642347 < 8 bytes data, client => server 19:01:40.642368 'TYPE I\r\n' 19:01:40.642512 Received DATA (on stdin) 19:01:40.642526 > 33 bytes data, server => client 19:01:40.642539 '200 I modify TYPE as you wanted\r\n' 19:01:40.642600 < 21 bytes data, client => server 19:01:40.642613 'SIZE verifiedserver\r\n' 19:01:40.642722 Received DATA (on stdin) 19:01:40.642736 > 8 bytes data, server => client 19:01:40.642747 '213 17\r\n' 19:01:40.642796 < 21 bytes data, client => server 19:01:40.642810 'RETR verifiedserver\r\n' 19:01:40.643027 Received DATA (on stdin) 19:01:40.643041 > 29 bytes data, server => client 19:01:40.643053 '150 Binary junk (17 bytes).\r\n' 19:01:40.643566 Received DATA (on stdin) 19:01:40.643580 > 28 bytes data, server => client 19:01:40.643592 '226 File transfer complete\r\n' 19:01:40.688101 < 6 bytes data, client => server 19:01:40.688127 'QUIT\r\n' 19:01:40.688342 Received DATA (on stdin) 19:01:40.688357 > 18 bytes data, server => client 19:01:40.688370 '221 bye bye baby\r\n' 19:01:40.689115 ====> Client disconnect 19:01:40.689275 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:40.641791 Running IPv4 version 19:01:40.641859 Listening on port 36305 19:01:40.641896 Wrote pid 150698 to log/3/server/ftp_sockdata.pid 19:01:40.641919 Received PING (on stdin) 19:01:40.642007 Received PORT (on stdin) 19:01:40.642318 ====> Client connect 19:01:40.643122 Received DATA (on stdin) 19:01:40.643140 > 17 bytes data, server => client 19:01:40.643153 'WE ROOLZ: 80615\r\n' 19:01:40.643186 Received DISC (on stdin) 19:01:40.643199 ====> Client forcibly disconnected 19:01:40.643300 Received QUIT (on stdin) 19:01:40.643314 quits 19:01:40.643374 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1349 === End of file server.cmd === Start of file valgrind1349 ==150706== ==150706== Process terminating with default action of signal 4 (SIGILL) ==150706== Illegal opcode at address 0x4013E00 ==150706== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150706== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150706== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150706== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1349 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/19/valgrind1348 ../src/curl -q --trace-ascii log/19/trace1348 --trace-time ftp://127.0.0.1:33175/path/file1348 -O --output-dir log/19 > log/19/stdout1348 2> log/19/stderr1348 1348: 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 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/19/valgrind1348 ../src/curl -q --trace-ascii log/19/trace1348 --trace-time ftp://127.0.0.1:33175/path/file1348 -O --output-dir log/19 > log/19/stdout1348 2> log/19/stderr1348 === End of file commands.log === Start of file ftp_server.log 19:01:40.860428 ====> Client connect 19:01:40.860595 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CRCMD (33792): ../libtool --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/valgrind1350 ../src/curl -q --trace-ascii log/22/trace1350 --trace-time ftp://127.0.0.1:36953/path/file1350 -O -D - --output-dir log/22 > log/22/stdout1350 2> log/22/stderr1350 ][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:40.860913 < "USER anonymous" 19:01:40.860954 > "331 We are happy you popped in![CR][LF]" 19:01:40.861141 < "PASS ftp@example.com" 19:01:40.861171 > "230 Welcome you silly person[CR][LF]" 19:01:40.861350 < "PWD" 19:01:40.861384 > "257 "/" is current directory[CR][LF]" 19:01:40.861574 < "EPSV" 19:01:40.861601 ====> Passive DATA channel requested by client 19:01:40.861616 DATA sockfilt for passive data channel starting... 19:01:40.865588 DATA sockfilt for passive data channel started (pid 150690) 19:01:40.865711 DATA sockfilt for passive data channel listens on port 37993 19:01:40.865761 > "229 Entering Passive Mode (|||37993|)[CR][LF]" 19:01:40.865783 Client has been notified that DATA conn will be accepted on port 37993 19:01:40.866079 Client connects to port 37993 19:01:40.866110 ====> Client established passive DATA connection on port 37993 19:01:40.866196 < "TYPE I" 19:01:40.866232 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:40.866404 < "SIZE verifiedserver" 19:01:40.866446 > "213 17[CR][LF]" 19:01:40.866606 < "RETR verifiedserver" 19:01:40.866640 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:40.866728 =====> Closing passive DATA connection... 19:01:40.866744 Server disconnects passive DATA connection 19:01:40.866976 Server disconnected passive DATA connection 19:01:40.867004 DATA sockfilt for passive data channel quits (pid 150690) 19:01:40.867298 DATA sockfilt for passive data channel quit (pid 150690) 19:01:40.867322 =====> Closed passive DATA connection 19:01:40.867349 > "226 File transfer complete[CR][LF]" 19:01:40.909133 < "QUIT" 19:01:40.909188 > "221 bye bye baby[CR][LF]" 19:01:40.910185 MAIN sockfilt said DISC 19:01:40.910215 ====> Client disconnected 19:01:40.910302 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:41.632356 ====> Client connect 19:01:41.632666 Received DATA (on stdin) 19:01:41.632684 > 160 bytes data, server => client 19:01:41.632699 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:41.632712 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:41.632723 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:41.632811 < 16 bytes data, client => server 19:01:41.632828 'USER anonymous\r\n' 19:01:41.633017 Received DATA (on stdin) 19:01:41.633032 > 33 bytes data, server => client 19:01:41.633045 '331 We are happy you popped in!\r\n' 19:01:41.633101 < 22 bytes data, client => server 19:01:41.633115 'PASS ftp@example.com\r\n' 19:01:41.633229 Received DATA (on stdin) 19:01:41.633244 > 30 bytes data, server => client 19:01:41.633256 '230 Welcome you silly person\r\n' 19:01:41.633311 < 5 bytes data, client => server 19:01:41.633326 'PWD\r\n' 19:01:41.633442 Received DATA (on stdin) 19:01:41.633457 > 30 bytes data, server => client 19:01:41.633470 '257 "/" is current directory\r\n' 19:01:41.633534 < 6 bytes data, client => server 19:01:41.633550 'EPSV\r\n' 19:01:41.637848 Received DATA (on stdin) 19:01:41.637865 > 39 bytes data, server => client 19:01:41.637878 '229 Entering Passive Mode (|||37993|)\r\n' 19:01:41.638047 < 8 bytes data, client => server 19:01:41.638064 'TYPE I\r\n' 19:01:41.638290 Received DATA (on stdin) 19:01:41.638304 > 33 bytes data, server => client 19:01:41.638317 '200 I modify TYPE as you wanted\r\n' 19:01:41.638372 < 21 bytes data, client => server 19:01:41.638385 'SIZE verifiedserver\r\n' 19:01:41.638502 Received DATA (on stdin) 19:01:41.638515 > 8 bytes data, server => client 19:01:41.638526 '213 17\r\n' 19:01:41.638577 < 21 bytes data, client => server 19:01:41.638590 'RETR verifiedserver\r\n' 19:01:41.638803 Received DATA (on stdin) 19:01:41.638817 > 29 bytes data, server => client 19:01:41.638829 '150 Binary junk (17 bytes).\r\n' 19:01:41.639406 Received DATA (on stdin) 19:01:41.639421 > 28 bytes data, server => client 19:01:41.639434 '226 File transfer complete\r\n' 19:01:41.680983 < 6 bytes data, client => server 19:01:41.681023 'QUIT\r\n' 19:01:41.681252 Received DATA (on stdin) 19:01:41.681267 > 18 bytes data, server => client 19:01:41.681279 '221 bye bye baby\r\n' 19:01:41.682189 ====> Client disconnect 19:01:41.682363 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:40.635217 Running IPv4 version 19:01:40.635274 Listening on port 37993 19:01:40.635315 Wrote pid 150690 to log/19/server/ftp_sockdata.pid 19:01:40.637571 Received PING (on stdin) 19:01:40.637677 Received PORT (on stdin) 19:01:40.638086 ====> Client connect 19:01:40.638881 Received DATA (on stdin) 19:01:40.638916 > 17 bytes data, server => client 19:01:40.638930 'WE ROOLZ: 80854\r\n' 19:01:40.638983 Received DISC (on stdin) 19:01:40.638997 ====> Client forcibly disconnected 19:01:40.639095 Received QUIT (on stdin) 19:01:40.639113 quits 19:01:40.639188 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1348 === End of file server.cmd === Start of file valgrind1348 ==150711== ==150711== Process terminating with default action of signal 4 (SIGILL) ==150711== Illegal opcode at address 0x4013E00 ==150711== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150711== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150711== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150711== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1348 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/22/valgrind1350 ../src/curl -q --trace-ascii log/22/trace1350 --trace-time ftp://127.0.0.1:36953/path/file1350 -O -D - --output-dir log/22 > log/22/stdout1350 2> log/22/stderr1350 1350: 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 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/22/valgrind1350 ../src/curl -q --trace-ascii log/22/trace1350 --trace-time ftp://127.0.0.1:36953/path/file1350 -O -D - --output-dir log/22 > log/22/stdout1350 2> log/22/stderr1350 === End of file commands.log === Start of file ftp_server.log 19:01:40.873155 ====> Client connect 19:01:40.873305 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:40.873598 < "USER anonymous" 19:01:40.873643 > "331 We are happy you popped in![CR][LF]" 19:01:40.873832 < "PASS ftp@example.com" 19:01:40.873859 > "230 Welcome you silly person[CR][LF]" 19:01:40.874021 < "PWD" 19:01:40.874051 > "257 "/" is current directory[CR][LF]" 19:01:40.874216 < "EPSV" 19:01:40.874239 ====> Passive DATA channel requested by client 19:01:40.874254 DATA sockfilt for passive data channel starting... 19:01:40.876353 DATA sockfilt for passive data channel started (pid 150702) 19:01:40.876496 DATA sockfilt for passive data channel listens on port 35951 19:01:40.876545 > "229 Entering Passive Mode (|||35951|)[CR][LF]" 19:01:40.876564 Client has been notified that DATA conn will be accepted on port 35951 19:01:40.876855 Client connects to port 35951 19:01:40.876885 ====> Client established passive DATA connection on port 35951 19:01:40.876970 < "TYPE I" 19:01:40.877001 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:40.877154 < "SIZE verifiedserver" 19:01:40.877186 > "213 17[CR][LF]" 19:01:40.877329 < "RETR verifiedserver" 19:01:40.877361 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:40.877439 =====> Closing passive DATA connection... 19:01:40.877455 Server disconnects passive DATA connection 19:01:40.877689 Server disconnected passive DATA connection 19:01:40.877714 DATA sockfilt for passive 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/21/valgrind1352 ../src/curl -q --trace-ascii log/21/trace1352 --trace-time ftp://127.0.0.1:35487/path/file1352 -O -J -D - --output-dir log/21 > log/21/stdout1352 2> log/21/stderr1352 ata channel quits (pid 150702) 19:01:40.877943 DATA sockfilt for passive data channel quit (pid 150702) 19:01:40.877964 =====> Closed passive DATA connection 19:01:40.877991 > "226 File transfer complete[CR][LF]" 19:01:40.919056 < "QUIT" 19:01:40.919108 > "221 bye bye baby[CR][LF]" 19:01:40.920503 MAIN sockfilt said DISC 19:01:40.920535 ====> Client disconnected 19:01:40.920605 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:41.645116 ====> Client connect 19:01:41.645375 Received DATA (on stdin) 19:01:41.645392 > 160 bytes data, server => client 19:01:41.645406 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:41.645418 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:41.645430 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:41.645503 < 16 bytes data, client => server 19:01:41.645517 'USER anonymous\r\n' 19:01:41.645703 Received DATA (on stdin) 19:01:41.645717 > 33 bytes data, server => client 19:01:41.645730 '331 We are happy you popped in!\r\n' 19:01:41.645784 < 22 bytes data, client => server 19:01:41.645797 'PASS ftp@example.com\r\n' 19:01:41.645915 Received DATA (on stdin) 19:01:41.645928 > 30 bytes data, server => client 19:01:41.645940 '230 Welcome you silly person\r\n' 19:01:41.645990 < 5 bytes data, client => server 19:01:41.646002 'PWD\r\n' 19:01:41.646106 Received DATA (on stdin) 19:01:41.646118 > 30 bytes data, server => client 19:01:41.646131 '257 "/" is current directory\r\n' 19:01:41.646188 < 6 bytes data, client => server 19:01:41.646200 'EPSV\r\n' 19:01:41.648629 Received DATA (on stdin) 19:01:41.648648 > 39 bytes data, server => client 19:01:41.648661 '229 Entering Passive Mode (|||35951|)\r\n' 19:01:41.648856 < 8 bytes data, client => server 19:01:41.648868 'TYPE I\r\n' 19:01:41.649056 Received DATA (on stdin) 19:01:41.649068 > 33 bytes data, server => client 19:01:41.649080 '200 I modify TYPE as you wanted\r\n' 19:01:41.649128 < 21 bytes data, client => server 19:01:41.649141 'SIZE verifiedserver\r\n' 19:01:41.649240 Received DATA (on stdin) 19:01:41.649250 > 8 bytes data, server => client 19:01:41.649261 '213 17\r\n' 19:01:41.649306 < 21 bytes data, client => server 19:01:41.649317 'RETR verifiedserver\r\n' 19:01:41.649599 Received DATA (on stdin) 19:01:41.649612 > 29 bytes data, server => client 19:01:41.649624 '150 Binary junk (17 bytes).\r\n' 19:01:41.650046 Received DATA (on stdin) 19:01:41.650059 > 28 bytes data, server => client 19:01:41.650072 '226 File transfer complete\r\n' 19:01:41.690920 < 6 bytes data, client => server 19:01:41.690956 'QUIT\r\n' 19:01:41.691167 Received DATA (on stdin) 19:01:41.691180 > 18 bytes data, server => client 19:01:41.691192 '221 bye bye baby\r\n' 19:01:41.692506 ====> Client disconnect 19:01:41.692660 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:40.648156 Running IPv4 version 19:01:40.648265 Listening on port 35951 19:01:40.648314 Wrote pid 150702 to log/22/server/ftp_sockdata.pid 19:01:40.648337 Received PING (on stdin) 19:01:40.648450 Received PORT (on stdin) 19:01:40.648827 ====> Client connect 19:01:40.649512 Received DATA (on stdin) 19:01:40.649525 > 17 bytes data, server => client 19:01:40.649537 'WE ROOLZ: 80850\r\n' 19:01:40.649563 Received DISC (on stdin) 19:01:40.649575 ====> Client forcibly disconnected 19:01:40.649778 Received QUIT (on stdin) 19:01:40.649790 quits 19:01:40.649851 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1350 === End of file server.cmd === Start of file valgrind1350 ==150832== ==150832== Process terminating with default action of signal 4 (SIGILL) ==150832== Illegal opcode at address 0x4013E00 ==150832== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150832== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150832== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150832== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1350 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/21/valgrind1352 ../src/curl -q --trace-ascii log/21/trace1352 --trace-time ftp://127.0.0.1:35487/path/file1352 -O -J -D - --output-dir log/21 > log/21/stdout1352 2> log/21/stderr1352 1352: 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 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/21/valgrind1352 ../src/curl -q --trace-ascii log/21/trace1352 --trace-time ftp://127.0.0.1:35487/path/file1352 -O -J -D - --output-dir log/21 > log/21/stdout1352 2> log/21/stderr1352 === End of file commands.log === Start of file ftp_server.log 19:01:40.985891 ====> Client connect 19:01:40.986053 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:40.986380 < "USER anonymous" 19:01:40.986423 > "331 We are happy you popped in![CR][LF]" 19:01:40.986627 < "PASS ftp@example.com" 19:01:40.986660 > "230 Welcome you silly person[CR][LF]" 19:01:40.986843 < "PWD" 19:01:40.986879 > "257 "/" is current directory[CR][LF]" 19:01:40.987071 < "EPSV" 19:01:40.987097 ====> Passive DATA channel requested by client 19:01:40.987112 DATA sockfilt for passive data channel starting... 19:01:40.989338 DATA sockfilt for passive data channel started (pid 150849) 19:01:40.989457 DATA sockfilt for passive data channel listens on port 43877 19:01:40.989503 > "229 Entering Passive Mode (|||43877|)[CR][LF]" 19:01:40.989525 Client has been notified that DATA conn will be accepted on port 43877 19:01:40.989784 Client connects to port 43877 19:01:40.989818 ====> Client established passive DATA connection on port 43877 19:01:40.989895 < "TYPE I" 19:01:40.989924 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:40.990108 < "SIZE verifiedserver" 19:01:40.990149 > "213 17[CR][LF]" 19:01:40.990313 < "RETR verifiedserver" 19:01:40.990346 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:40.990427 =====> Closing passive DATA connection... 19:01:40.990442 Server disconnects passive DATA connection 19:01:40.990692 Server disconnected passive DATA connection 19:01:40.990724 DATA sockfilt for passive data channel quits (pid 150849) 19:01:40.990952 DATA sockfilt for passive data channel quit (pid 150849) 19:01:40.990980 =====> Closed passive DATA connection 19:01:40.991011 > "226 File transfer complete[CR][LF]" 19:01:41.034747 < "QUIT" 19:01:41.034807 > "221 bye bye baby[CR][LF]" 19:01:41.035312 MAIN sockfilt said DISC 19:01:41.035471 ====> Client disconnected 19:01:41.035599 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:40.757839 ====> Client connect 19:01:40.758132 Received DATA (on stdin) 19:01:40.758151 > 160 bytes data, server => client 19:01:40.758165 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:40.758177 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:40.758189 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:40.758270 < 16 bytes data, client => server 19:01:40.758286 'USER anonymous\r\n' 19:01:40.758491 Received DATA (on stdin) 19:01:40.758506 > 33 bytes data, server => client 19:01:40.758519 '331 We are happy you popped in!\r\n' 19:01:40.758574 < 22 bytes data, client => server 19:01:40.758590 'PASS ftp@example.com\r\n' 19:01:40.758724 Received DATA (on stdin) 19:01:40.758738 > 30 bytes data, server => client 19:01:40.758751 '230 Welcome you silly person\r\n' 19:01:40.758804 < 5 bytes data, client => server 19:01:40.758818 'PWD\r\n' 19:01:40.758CMD (33792): ../libtool --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/valgrind1351 ../src/curl -q --trace-ascii log/8/trace1351 --trace-time ftp://127.0.0.1:40963/path/file1351 -O -J -D log/8/heads1351 --output-dir log/8 > log/8/stdout1351 2> log/8/stderr1351 946 Received DATA (on stdin) 19:01:40.758960 > 30 bytes data, server => client 19:01:40.758972 '257 "/" is current directory\r\n' 19:01:40.759034 < 6 bytes data, client => server 19:01:40.759048 'EPSV\r\n' 19:01:40.761582 Received DATA (on stdin) 19:01:40.761603 > 39 bytes data, server => client 19:01:40.761617 '229 Entering Passive Mode (|||43877|)\r\n' 19:01:40.761779 < 8 bytes data, client => server 19:01:40.761794 'TYPE I\r\n' 19:01:40.761981 Received DATA (on stdin) 19:01:40.761996 > 33 bytes data, server => client 19:01:40.762009 '200 I modify TYPE as you wanted\r\n' 19:01:40.762065 < 21 bytes data, client => server 19:01:40.762080 'SIZE verifiedserver\r\n' 19:01:40.762206 Received DATA (on stdin) 19:01:40.762220 > 8 bytes data, server => client 19:01:40.762232 '213 17\r\n' 19:01:40.762284 < 21 bytes data, client => server 19:01:40.762296 'RETR verifiedserver\r\n' 19:01:40.762501 Received DATA (on stdin) 19:01:40.762515 > 29 bytes data, server => client 19:01:40.762528 '150 Binary junk (17 bytes).\r\n' 19:01:40.763069 Received DATA (on stdin) 19:01:40.763084 > 28 bytes data, server => client 19:01:40.763097 '226 File transfer complete\r\n' 19:01:40.806624 < 6 bytes data, client => server 19:01:40.806654 'QUIT\r\n' 19:01:40.806871 Received DATA (on stdin) 19:01:40.806887 > 18 bytes data, server => client 19:01:40.806900 '221 bye bye baby\r\n' 19:01:40.807242 ====> Client disconnect 19:01:40.807668 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:40.761078 Running IPv4 version 19:01:40.761138 Listening on port 43877 19:01:40.761174 Wrote pid 150849 to log/21/server/ftp_sockdata.pid 19:01:40.761330 Received PING (on stdin) 19:01:40.761419 Received PORT (on stdin) 19:01:40.761747 ====> Client connect 19:01:40.762555 Received DATA (on stdin) 19:01:40.762570 > 17 bytes data, server => client 19:01:40.762582 'WE ROOLZ: 81255\r\n' 19:01:40.762606 Received DISC (on stdin) 19:01:40.762619 ====> Client forcibly disconnected 19:01:40.762790 Received QUIT (on stdin) 19:01:40.762804 quits 19:01:40.762866 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1352 === End of file server.cmd === Start of file valgrind1352 ==150915== ==150915== Process terminating with default action of signal 4 (SIGILL) ==150915== Illegal opcode at address 0x4013E00 ==150915== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150915== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150915== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150915== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1352 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/8/valgrind1351 ../src/curl -q --trace-ascii log/8/trace1351 --trace-time ftp://127.0.0.1:40963/path/file1351 -O -J -D log/8/heads1351 --output-dir log/8 > log/8/stdout1351 2> log/8/stderr1351 1351: 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 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/8/valgrind1351 ../src/curl -q --trace-ascii log/8/trace1351 --trace-time ftp://127.0.0.1:40963/path/file1351 -O -J -D log/8/heads1351 --output-dir log/8 > log/8/stdout1351 2> log/8/stderr1351 === End of file commands.log === Start of file ftp_server.log 19:01:40.971815 ====> Client connect 19:01:40.971981 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:40.972300 < "USER anonymous" 19:01:40.972339 > "331 We are happy you popped in![CR][LF]" 19:01:40.972531 < "PASS ftp@example.com" 19:01:40.972564 > "230 Welcome you silly person[CR][LF]" 19:01:40.972745 < "PWD" 19:01:40.972781 > "257 "/" is current directory[CR][LF]" 19:01:40.972973 < "EPSV" 19:01:40.973000 ====> Passive DATA channel requested by client 19:01:40.973016 DATA sockfilt for passive data channel starting... 19:01:40.974932 DATA sockfilt for passive data channel started (pid 150797) 19:01:40.975049 DATA sockfilt for passive data channel listens on port 40419 19:01:40.975099 > "229 Entering Passive Mode (|||40419|)[CR][LF]" 19:01:40.975126 Client has been notified that DATA conn will be accepted on port 40419 19:01:40.975375 Client connects to port 40419 19:01:40.975412 ====> Client established passive DATA connection on port 40419 19:01:40.975497 < "TYPE I" 19:01:40.975530 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:40.975718 < "SIZE verifiedserver" 19:01:40.975762 > "213 17[CR][LF]" 19:01:40.975949 < "RETR verifiedserver" 19:01:40.975985 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:40.976078 =====> Closing passive DATA connection... 19:01:40.976100 Server disconnects passive DATA connection 19:01:40.976360 Server disconnected passive DATA connection 19:01:40.976391 DATA sockfilt for passive data channel quits (pid 150797) 19:01:40.976610 DATA sockfilt for passive data channel quit (pid 150797) 19:01:40.976638 =====> Closed passive DATA connection 19:01:40.976668 > "226 File transfer complete[CR][LF]" 19:01:41.022460 < "QUIT" 19:01:41.022516 > "221 bye bye baby[CR][LF]" 19:01:41.022671 MAIN sockfilt said DISC 19:01:41.022706 ====> Client disconnected 19:01:41.022793 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:40.743760 ====> Client connect 19:01:40.744053 Received DATA (on stdin) 19:01:40.744071 > 160 bytes data, server => client 19:01:40.744094 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:40.744107 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:40.744119 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:40.744201 < 16 bytes data, client => server 19:01:40.744217 'USER anonymous\r\n' 19:01:40.744401 Received DATA (on stdin) 19:01:40.744416 > 33 bytes data, server => client 19:01:40.744429 '331 We are happy you popped in!\r\n' 19:01:40.744485 < 22 bytes data, client => server 19:01:40.744500 'PASS ftp@example.com\r\n' 19:01:40.744623 Received DATA (on stdin) 19:01:40.744637 > 30 bytes data, server => client 19:01:40.744650 '230 Welcome you silly person\r\n' 19:01:40.744704 < 5 bytes data, client => server 19:01:40.744719 'PWD\r\n' 19:01:40.744840 Received DATA (on stdin) 19:01:40.744854 > 30 bytes data, server => client 19:01:40.744867 '257 "/" is current directory\r\n' 19:01:40.744931 < 6 bytes data, client => server 19:01:40.744948 'EPSV\r\n' 19:01:40.747190 Received DATA (on stdin) 19:01:40.747206 > 39 bytes data, server => client 19:01:40.747220 '229 Entering Passive Mode (|||40419|)\r\n' 19:01:40.747339 < 8 bytes data, client => server 19:01:40.747359 'TYPE I\r\n' 19:01:40.747590 Received DATA (on stdin) 19:01:40.747605 > 33 bytes data, server => client 19:01:40.747617 '200 I modify TYPE as you wanted\r\n' 19:01:40.747675 < 21 bytes data, client => server 19:01:40.747692 'SIZE verifiedserver\r\n' 19:01:40.747823 Received DATA (on stdin) 19:01:40.747837 > 8 bytes data, server => client 19:01:40.747849 '213 17\r\n' 19:01:40.747906 < 21 bytes data, client => server 19:01:40.747922 'RETR verifiedserver\r\n' 19:01:40.748161 Received DATA (on stdin) 19:01:40.748176 > 29 bytes data, server => client 19:01:40.748188 '150 Binary junk (17 bytes).\r\n' 19:01:40.748727 Received DATA (on stdin) 19:01:40.748743 > 28 bytes data, server => client 19:01:40.748755 '226 File transfer complete\r\n' 19:01:40.794318 < 6 bytes data, client => server 19:01:40.794346 'QUIT\r\n' 19:01:40.794581 Received DATA (on stdin) 19:01:40.794597 > 18 bytes data, server => client 19:01:40.794609 '221 byeCMD (33792): ../libtool --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/valgrind1353 ../src/curl -q --trace-ascii log/20/trace1353 --trace-time ftp://127.0.0.1:39091/path/file1353 -O -i -D log/20/heads1353 --output-dir log/20 > log/20/stdout1353 2> log/20/stderr1353 RUN: Process with pid 136262 forced to die with SIGKILL bye baby\r\n' 19:01:40.794669 ====> Client disconnect 19:01:40.794854 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:40.746669 Running IPv4 version 19:01:40.746727 Listening on port 40419 19:01:40.746763 Wrote pid 150797 to log/8/server/ftp_sockdata.pid 19:01:40.746921 Received PING (on stdin) 19:01:40.747014 Received PORT (on stdin) 19:01:40.747381 ====> Client connect 19:01:40.748217 Received DATA (on stdin) 19:01:40.748232 > 17 bytes data, server => client 19:01:40.748244 'WE ROOLZ: 80760\r\n' 19:01:40.748270 Received DISC (on stdin) 19:01:40.748284 ====> Client forcibly disconnected 19:01:40.748460 Received QUIT (on stdin) 19:01:40.748474 quits 19:01:40.748531 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1351 === End of file server.cmd === Start of file valgrind1351 ==150900== ==150900== Process terminating with default action of signal 4 (SIGILL) ==150900== Illegal opcode at address 0x4013E00 ==150900== at 0x4013E00: getparameter (tool_getparam.c:2846) ==150900== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==150900== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==150900== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1351 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/20/valgrind1353 ../src/curl -q --trace-ascii log/20/trace1353 --trace-time ftp://127.0.0.1:39091/path/file1353 -O -i -D log/20/heads1353 --output-dir log/20 > log/20/stdout1353 2> log/20/stderr1353 1353: 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 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/20/valgrind1353 ../src/curl -q --trace-ascii log/20/trace1353 --trace-time ftp://127.0.0.1:39091/path/file1353 -O -i -D log/20/heads1353 --output-dir log/20 > log/20/stdout1353 2> log/20/stderr1353 === End of file commands.log === Start of file ftp_server.log 19:01:40.989988 ====> Client connect 19:01:40.990139 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:40.990425 < "USER anonymous" 19:01:40.990465 > "331 We are happy you popped in![CR][LF]" 19:01:40.990650 < "PASS ftp@example.com" 19:01:40.990676 > "230 Welcome you silly person[CR][LF]" 19:01:40.990832 < "PWD" 19:01:40.990863 > "257 "/" is current directory[CR][LF]" 19:01:40.991036 < "EPSV" 19:01:40.991062 ====> Passive DATA channel requested by client 19:01:40.991077 DATA sockfilt for passive data channel starting... 19:01:40.992927 DATA sockfilt for passive data channel started (pid 150859) 19:01:40.993039 DATA sockfilt for passive data channel listens on port 44477 19:01:40.993086 > "229 Entering Passive Mode (|||44477|)[CR][LF]" 19:01:40.993108 Client has been notified that DATA conn will be accepted on port 44477 19:01:40.993347 Client connects to port 44477 19:01:40.993380 ====> Client established passive DATA connection on port 44477 19:01:40.993457 < "TYPE I" 19:01:40.993490 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:40.993671 < "SIZE verifiedserver" 19:01:40.993710 > "213 17[CR][LF]" 19:01:40.993887 < "RETR verifiedserver" 19:01:40.993924 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:40.994001 =====> Closing passive DATA connection... 19:01:40.994020 Server disconnects passive DATA connection 19:01:40.994265 Server disconnected passive DATA connection 19:01:40.994297 DATA sockfilt for passive data channel quits (pid 150859) 19:01:40.994498 DATA sockfilt for passive data channel quit (pid 150859) 19:01:40.994526 =====> Closed passive DATA connection 19:01:40.994554 > "226 File transfer complete[CR][LF]" 19:01:41.036024 < "QUIT" 19:01:41.036082 > "221 bye bye baby[CR][LF]" 19:01:41.038128 MAIN sockfilt said DISC 19:01:41.038186 ====> Client disconnected 19:01:41.038263 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:40.761941 ====> Client connect 19:01:40.762208 Received DATA (on stdin) 19:01:40.762225 > 160 bytes data, server => client 19:01:40.762239 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:40.762252 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:40.762264 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:40.762334 < 16 bytes data, client => server 19:01:40.762350 'USER anonymous\r\n' 19:01:40.762526 Received DATA (on stdin) 19:01:40.762540 > 33 bytes data, server => client 19:01:40.762553 '331 We are happy you popped in!\r\n' 19:01:40.762608 < 22 bytes data, client => server 19:01:40.762624 'PASS ftp@example.com\r\n' 19:01:40.762731 Received DATA (on stdin) 19:01:40.762744 > 30 bytes data, server => client 19:01:40.762757 '230 Welcome you silly person\r\n' 19:01:40.762806 < 5 bytes data, client => server 19:01:40.762818 'PWD\r\n' 19:01:40.762918 Received DATA (on stdin) 19:01:40.762930 > 30 bytes data, server => client 19:01:40.762943 '257 "/" is current directory\r\n' 19:01:40.763000 < 6 bytes data, client => server 19:01:40.763014 'EPSV\r\n' 19:01:40.765171 Received DATA (on stdin) 19:01:40.765187 > 39 bytes data, server => client 19:01:40.765200 '229 Entering Passive Mode (|||44477|)\r\n' 19:01:40.765313 < 8 bytes data, client => server 19:01:40.765332 'TYPE I\r\n' 19:01:40.765549 Received DATA (on stdin) 19:01:40.765564 > 33 bytes data, server => client 19:01:40.765577 '200 I modify TYPE as you wanted\r\n' 19:01:40.765632 < 21 bytes data, client => server 19:01:40.765647 'SIZE verifiedserver\r\n' 19:01:40.765770 Received DATA (on stdin) 19:01:40.765784 > 8 bytes data, server => client 19:01:40.765796 '213 17\r\n' 19:01:40.765850 < 21 bytes data, client => server 19:01:40.765865 'RETR verifiedserver\r\n' 19:01:40.766079 Received DATA (on stdin) 19:01:40.766094 > 29 bytes data, server => client 19:01:40.766106 '150 Binary junk (17 bytes).\r\n' 19:01:40.766613 Received DATA (on stdin) 19:01:40.766628 > 28 bytes data, server => client 19:01:40.766641 '226 File transfer complete\r\n' 19:01:40.807878 < 6 bytes data, client => server 19:01:40.807903 'QUIT\r\n' 19:01:40.808150 Received DATA (on stdin) 19:01:40.808167 > 18 bytes data, server => client 19:01:40.808179 '221 bye bye baby\r\n' 19:01:40.808461 ====> Client disconnect 19:01:40.810326 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:40.764666 Running IPv4 version 19:01:40.764729 Listening on port 44477 19:01:40.764768 Wrote pid 150859 to log/20/server/ftp_sockdata.pid 19:01:40.764922 Received PING (on stdin) 19:01:40.765009 Received PORT (on stdin) 19:01:40.765354 ====> Client connect 19:01:40.766134 Received DATA (on stdin) 19:01:40.766149 > 17 bytes data, server => client 19:01:40.766161 'WE ROOLZ: 80693\r\n' 19:01:40.766186 Received DISC (on stdin) 19:01:40.766200 ====> Client forcibly disconnected 19:01:40.766360 Received QUIT (on stdin) 19:01:40.766374 quits 19:01:40.766427 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1353 === End of file server.cmd === Start of file valgrind1353 ==151003== ==151003== Process terminating with default action of signal 4 (SIGILL) ==151003== Illegal opcode at address 0x4013E00 ==151003== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151003== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151003== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151003== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1353 test 1238...[slow TFTP retrieve cancel due 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/14/valgrind1356 ../src/curl -q --trace-ascii log/14/trace1356 --trace-time ftp://127.0.0.1:35357/path/file1356 -O --output-dir log/14 > log/14/stdout1356 2> log/14/stderr1356 -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/9/valgrind1238 ../src/curl -q --output log/9/curl1238.out --include --trace-ascii log/9/trace1238 --trace-time tftp://127.0.0.1:48991//1238 -Y1000 -y2 > log/9/stdout1238 2> log/9/stderr1238 1238: 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 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/9/valgrind1238 ../src/curl -q --output log/9/curl1238.out --include --trace-ascii log/9/trace1238 --trace-time tftp://127.0.0.1:48991//1238 -Y1000 -y2 > log/9/stdout1238 2> log/9/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 19:01:35.796404 trying to get file: verifiedserver mode 1 19:01:35.796429 Are-we-friendly question received 19:01:35.796450 write 19:01:35.796467 read 19:01:35.797528 read: 4 19:01:35.797587 end of one transfer exit_signal_handler: called === End of file tftp_server.log === Start of file valgrind1238 ==144182== ==144182== Process terminating with default action of signal 4 (SIGILL) ==144182== Illegal opcode at address 0x4013E00 ==144182== at 0x4013E00: getparameter (tool_getparam.c:2846) ==144182== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==144182== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==144182== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1238 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/14/valgrind1356 ../src/curl -q --trace-ascii log/14/trace1356 --trace-time ftp://127.0.0.1:35357/path/file1356 -O --output-dir log/14 > log/14/stdout1356 2> log/14/stderr1356 1356: 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 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/14/valgrind1356 ../src/curl -q --trace-ascii log/14/trace1356 --trace-time ftp://127.0.0.1:35357/path/file1356 -O --output-dir log/14 > log/14/stdout1356 2> log/14/stderr1356 === End of file commands.log === Start of file ftp_server.log 19:01:41.154227 ====> Client connect 19:01:41.154388 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:41.154680 < "USER anonymous" 19:01:41.154722 > "331 We are happy you popped in![CR][LF]" 19:01:41.154909 < "PASS ftp@example.com" 19:01:41.154938 > "230 Welcome you silly person[CR][LF]" 19:01:41.155067 < "PWD" 19:01:41.155093 > "257 "/" is current directory[CR][LF]" 19:01:41.155253 < "EPSV" 19:01:41.155277 ====> Passive DATA channel requested by client 19:01:41.155290 DATA sockfilt for passive data channel starting... 19:01:41.156940 DATA sockfilt for passive data channel started (pid 151100) 19:01:41.157042 DATA sockfilt for passive data channel listens on port 41927 19:01:41.157085 > "229 Entering Passive Mode (|||41927|)[CR][LF]" 19:01:41.157103 Client has been notified that DATA conn will be accepted on port 41927 19:01:41.157292 Client connects to port 41927 19:01:41.157319 ====> Client established passive DATA connection on port 41927 19:01:41.157425 < "TYPE I" 19:01:41.157453 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:41.157595 < "SIZE verifiedserver" 19:01:41.157630 > "213 17[CR][LF]" 19:01:41.157765 < "RETR verifiedserver" 19:01:41.157797 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:41.157883 =====> Closing passive DATA connection... 19:01:41.157898 Server disconnects passive DATA connection 19:01:41.158113 Server disconnected passive DATA connection 19:01:41.158138 DATA sockfilt for passive data channel quits (pid 151100) 19:01:41.158367 DATA sockfilt for passive data channel quit (pid 151100) 19:01:41.158389 =====> Closed passive DATA connection 19:01:41.158417 > "226 File transfer complete[CR][LF]" 19:01:41.199356 < "QUIT" 19:01:41.199410 > "221 bye bye baby[CR][LF]" 19:01:41.201777 MAIN sockfilt said DISC 19:01:41.201825 ====> Client disconnected 19:01:41.201911 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:41.926171 ====> Client connect 19:01:41.926466 Received DATA (on stdin) 19:01:41.926486 > 160 bytes data, server => client 19:01:41.926498 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:41.926510 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:41.926521 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:41.926591 < 16 bytes data, client => server 19:01:41.926603 'USER anonymous\r\n' 19:01:41.926781 Received DATA (on stdin) 19:01:41.926795 > 33 bytes data, server => client 19:01:41.926807 '331 We are happy you popped in!\r\n' 19:01:41.926861 < 22 bytes data, client => server 19:01:41.926874 'PASS ftp@example.com\r\n' 19:01:41.926990 Received DATA (on stdin) 19:01:41.927000 > 30 bytes data, server => client 19:01:41.927009 '230 Welcome you silly person\r\n' 19:01:41.927049 < 5 bytes data, client => server 19:01:41.927058 'PWD\r\n' 19:01:41.927146 Received DATA (on stdin) 19:01:41.927158 > 30 bytes data, server => client 19:01:41.927169 '257 "/" is current directory\r\n' 19:01:41.927225 < 6 bytes data, client => server 19:01:41.927237 'EPSV\r\n' 19:01:41.929162 Received DATA (on stdin) 19:01:41.929175 > 39 bytes data, server => client 19:01:41.929187 '229 Entering Passive Mode (|||41927|)\r\n' 19:01:41.929387 < 8 bytes data, client => server 19:01:41.929399 'TYPE I\r\n' 19:01:41.929506 Received DATA (on stdin) 19:01:41.929517 > 33 bytes data, server => client 19:01:41.929528 '200 I modify TYPE as you wanted\r\n' 19:01:41.929573 < 21 bytes data, client => server 19:01:41.929585 'SIZE verifiedserver\r\n' 19:01:41.929683 Received DATA (on stdin) 19:01:41.929694 > 8 bytes data, server => client 19:01:41.929704 '213 17\r\n' 19:01:41.929745 < 21 bytes data, client => server 19:01:41.929756 'RETR verifiedserver\r\n' 19:01:41.929952 Received DATA (on stdin) 19:01:41.929964 > 29 bytes data, server => client 19:01:41.929974 '150 Binary junk (17 bytes).\r\n' 19:01:41.930472 Received DATA (on stdin) 19:01:41.930485 > 28 bytes data, server => client 19:01:41.930496 '226 File transfer complete\r\n' 19:01:41.970933 < 6 bytes data, client => server 19:01:41.970978 'QUIT\r\n' 19:01:41.971473 Received DATA (on stdin) 19:01:41.971488 > 18 bytes data, server => client 19:01:41.971501 '221 bye bye baby\r\n' 19:01:41.973766 ====> Client disconnect 19:01:41.973972 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:41.928704 Running IPv4 version 19:01:41.928755 Listening on port 41927 19:01:41.928793 Wrote pid 151100 to log/14/server/ftp_sockdata.pid 19:01:41.928942 Received PING (on stdin) 19:01:41.929018 Received PORT (on stdin) 19:01:41.929297 ====> Client connect 19:01:41.929998 Received DATA (on stdin) 19:01:41.930011 > 17 bytes data, server => client 19:01:41.930021 'WE ROOLZ: 80651\r\n' 19:01:41.930044 Received DISC (on stdin) 19:01:41.930055 ====> Client forcibly disconnected 19:01:41.930200 Received QUIT (on stdin) 19:01:41.930211 quits 19:01:41.930268 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1356 === End of file server.cmd === Start of file valgrind13CMD (33792): ../libtool --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/valgrind1354 ../src/curl -q --trace-ascii log/13/trace1354 --trace-time ftp://127.0.0.1:40887/path/file1354 -O -i -D - --output-dir log/13 > log/13/stdout1354 2> log/13/stderr1354 CMD (33792): ../libtool --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/valgrind1357 ../src/curl -q --trace-ascii log/4/trace1357 --trace-time ftp://127.0.0.1:35791/path/file1357 -O -D log/4/heads1357 --output-dir log/4 > log/4/stdout1357 2> log/4/stderr1357 56 ==151182== ==151182== Process terminating with default action of signal 4 (SIGILL) ==151182== Illegal opcode at address 0x4013E00 ==151182== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151182== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151182== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151182== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1356 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/13/valgrind1354 ../src/curl -q --trace-ascii log/13/trace1354 --trace-time ftp://127.0.0.1:40887/path/file1354 -O -i -D - --output-dir log/13 > log/13/stdout1354 2> log/13/stderr1354 1354: 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 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/13/valgrind1354 ../src/curl -q --trace-ascii log/13/trace1354 --trace-time ftp://127.0.0.1:40887/path/file1354 -O -i -D - --output-dir log/13 > log/13/stdout1354 2> log/13/stderr1354 === End of file commands.log === Start of file ftp_server.log 19:01:41.125924 ====> Client connect 19:01:41.126146 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:41.126589 < "USER anonymous" 19:01:41.126644 > "331 We are happy you popped in![CR][LF]" 19:01:41.126891 < "PASS ftp@example.com" 19:01:41.126934 > "230 Welcome you silly person[CR][LF]" 19:01:41.127196 < "PWD" 19:01:41.127230 > "257 "/" is current directory[CR][LF]" 19:01:41.127396 < "EPSV" 19:01:41.127421 ====> Passive DATA channel requested by client 19:01:41.127434 DATA sockfilt for passive data channel starting... 19:01:41.129354 DATA sockfilt for passive data channel started (pid 151049) 19:01:41.129457 DATA sockfilt for passive data channel listens on port 36775 19:01:41.129504 > "229 Entering Passive Mode (|||36775|)[CR][LF]" 19:01:41.129522 Client has been notified that DATA conn will be accepted on port 36775 19:01:41.129999 Client connects to port 36775 19:01:41.130054 ====> Client established passive DATA connection on port 36775 19:01:41.130158 < "TYPE I" 19:01:41.130194 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:41.130366 < "SIZE verifiedserver" 19:01:41.130405 > "213 17[CR][LF]" 19:01:41.130918 < "RETR verifiedserver" 19:01:41.130959 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:41.131044 =====> Closing passive DATA connection... 19:01:41.131060 Server disconnects passive DATA connection 19:01:41.131526 Server disconnected passive DATA connection 19:01:41.131559 DATA sockfilt for passive data channel quits (pid 151049) 19:01:41.131813 DATA sockfilt for passive data channel quit (pid 151049) 19:01:41.131834 =====> Closed passive DATA connection 19:01:41.131863 > "226 File transfer complete[CR][LF]" 19:01:41.175973 < "QUIT" 19:01:41.176115 > "221 bye bye baby[CR][LF]" 19:01:41.178226 MAIN sockfilt said DISC 19:01:41.178332 ====> Client disconnected 19:01:41.178450 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:40.897834 ====> Client connect 19:01:40.898228 Received DATA (on stdin) 19:01:40.898252 > 160 bytes data, server => client 19:01:40.898266 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:40.898277 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:40.898287 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:40.898442 < 16 bytes data, client => server 19:01:40.898473 'USER anonymous\r\n' 19:01:40.898718 Received DATA (on stdin) 19:01:40.898741 > 33 bytes data, server => client 19:01:40.898754 '331 We are happy you popped in!\r\n' 19:01:40.898822 < 22 bytes data, client => server 19:01:40.898836 'PASS ftp@example.com\r\n' 19:01:40.898992 Received DATA (on stdin) 19:01:40.899005 > 30 bytes data, server => client 19:01:40.899017 '230 Welcome you silly person\r\n' 19:01:40.899156 < 5 bytes data, client => server 19:01:40.899170 'PWD\r\n' 19:01:40.899285 Received DATA (on stdin) 19:01:40.899297 > 30 bytes data, server => client 19:01:40.899309 '257 "/" is current directory\r\n' 19:01:40.899367 < 6 bytes data, client => server 19:01:40.899378 'EPSV\r\n' 19:01:40.901586 Received DATA (on stdin) 19:01:40.901600 > 39 bytes data, server => client 19:01:40.901612 '229 Entering Passive Mode (|||36775|)\r\n' 19:01:40.901983 < 8 bytes data, client => server 19:01:40.902001 'TYPE I\r\n' 19:01:40.902253 Received DATA (on stdin) 19:01:40.902266 > 33 bytes data, server => client 19:01:40.902278 '200 I modify TYPE as you wanted\r\n' 19:01:40.902334 < 21 bytes data, client => server 19:01:40.902345 'SIZE verifiedserver\r\n' 19:01:40.902458 Received DATA (on stdin) 19:01:40.902472 > 8 bytes data, server => client 19:01:40.902485 '213 17\r\n' 19:01:40.902839 < 21 bytes data, client => server 19:01:40.902857 'RETR verifiedserver\r\n' 19:01:40.903118 Received DATA (on stdin) 19:01:40.903131 > 29 bytes data, server => client 19:01:40.903143 '150 Binary junk (17 bytes).\r\n' 19:01:40.903922 Received DATA (on stdin) 19:01:40.903936 > 28 bytes data, server => client 19:01:40.903947 '226 File transfer complete\r\n' 19:01:40.947610 < 6 bytes data, client => server 19:01:40.947687 'QUIT\r\n' 19:01:40.948201 Received DATA (on stdin) 19:01:40.948225 > 18 bytes data, server => client 19:01:40.948237 '221 bye bye baby\r\n' 19:01:40.950153 ====> Client disconnect 19:01:40.950525 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:41.901057 Running IPv4 version 19:01:41.901120 Listening on port 36775 19:01:41.901160 Wrote pid 151049 to log/13/server/ftp_sockdata.pid 19:01:41.901347 Received PING (on stdin) 19:01:41.901431 Received PORT (on stdin) 19:01:41.901934 ====> Client connect 19:01:41.903173 Received DATA (on stdin) 19:01:41.903190 > 17 bytes data, server => client 19:01:41.903201 'WE ROOLZ: 80703\r\n' 19:01:41.903229 Received DISC (on stdin) 19:01:41.903241 ====> Client forcibly disconnected 19:01:41.903625 Received QUIT (on stdin) 19:01:41.903638 quits 19:01:41.903705 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1354 === End of file server.cmd === Start of file valgrind1354 ==151127== ==151127== Process terminating with default action of signal 4 (SIGILL) ==151127== Illegal opcode at address 0x4013E00 ==151127== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151127== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151127== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151127== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1354 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/4/valgrind1357 ../src/curl -q --trace-ascii log/4/trace1357 --trace-time ftp://127.0.0.1:35791/path/file1357 -O -D log/4/heads1357 --output-dir log/4 > log/4/stdout1357 2> log/4/stderr1357 1357: 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 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/4/valgrind1357 ../src/curl -q --trace-ascii log/4/trace1357 --trace-time ftp://127.0.0.1:35791/path/file1357 -O -D log/4/heads1357 --output-dir log/4 > 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/11/valgrind1355 ../src/curl -q --trace-ascii log/11/trace1355 --trace-time ftp://127.0.0.1:35787/path/file1355 -O -i --output-dir log/11 > log/11/stdout1355 2> log/11/stderr1355 /4/stdout1357 2> log/4/stderr1357 === End of file commands.log === Start of file ftp_server.log 19:01:41.185865 ====> Client connect 19:01:41.186034 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:41.186362 < "USER anonymous" 19:01:41.186438 > "331 We are happy you popped in![CR][LF]" 19:01:41.186632 < "PASS ftp@example.com" 19:01:41.186661 > "230 Welcome you silly person[CR][LF]" 19:01:41.186987 < "PWD" 19:01:41.187034 > "257 "/" is current directory[CR][LF]" 19:01:41.187239 < "EPSV" 19:01:41.187314 ====> Passive DATA channel requested by client 19:01:41.187330 DATA sockfilt for passive data channel starting... 19:01:41.189856 DATA sockfilt for passive data channel started (pid 151125) 19:01:41.189994 DATA sockfilt for passive data channel listens on port 33931 19:01:41.190039 > "229 Entering Passive Mode (|||33931|)[CR][LF]" 19:01:41.190057 Client has been notified that DATA conn will be accepted on port 33931 19:01:41.190312 Client connects to port 33931 19:01:41.190340 ====> Client established passive DATA connection on port 33931 19:01:41.190463 < "TYPE I" 19:01:41.190491 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:41.190639 < "SIZE verifiedserver" 19:01:41.190674 > "213 17[CR][LF]" 19:01:41.190810 < "RETR verifiedserver" 19:01:41.190841 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:41.190927 =====> Closing passive DATA connection... 19:01:41.190941 Server disconnects passive DATA connection 19:01:41.191164 Server disconnected passive DATA connection 19:01:41.191190 DATA sockfilt for passive data channel quits (pid 151125) 19:01:41.191459 DATA sockfilt for passive data channel quit (pid 151125) 19:01:41.191482 =====> Closed passive DATA connection 19:01:41.191508 > "226 File transfer complete[CR][LF]" 19:01:41.232485 < "QUIT" 19:01:41.232542 > "221 bye bye baby[CR][LF]" 19:01:41.233438 MAIN sockfilt said DISC 19:01:41.233504 ====> Client disconnected 19:01:41.233604 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:40.957807 ====> Client connect 19:01:40.958106 Received DATA (on stdin) 19:01:40.958125 > 160 bytes data, server => client 19:01:40.958139 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:40.958151 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:40.958162 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:40.958246 < 16 bytes data, client => server 19:01:40.958260 'USER anonymous\r\n' 19:01:40.958500 Received DATA (on stdin) 19:01:40.958514 > 33 bytes data, server => client 19:01:40.958527 '331 We are happy you popped in!\r\n' 19:01:40.958585 < 22 bytes data, client => server 19:01:40.958598 'PASS ftp@example.com\r\n' 19:01:40.958723 Received DATA (on stdin) 19:01:40.958737 > 30 bytes data, server => client 19:01:40.958748 '230 Welcome you silly person\r\n' 19:01:40.958803 < 5 bytes data, client => server 19:01:40.958825 'PWD\r\n' 19:01:40.959100 Received DATA (on stdin) 19:01:40.959115 > 30 bytes data, server => client 19:01:40.959127 '257 "/" is current directory\r\n' 19:01:40.959207 < 6 bytes data, client => server 19:01:40.959220 'EPSV\r\n' 19:01:40.962121 Received DATA (on stdin) 19:01:40.962139 > 39 bytes data, server => client 19:01:40.962151 '229 Entering Passive Mode (|||33931|)\r\n' 19:01:40.962414 < 8 bytes data, client => server 19:01:40.962426 'TYPE I\r\n' 19:01:40.962545 Received DATA (on stdin) 19:01:40.962556 > 33 bytes data, server => client 19:01:40.962567 '200 I modify TYPE as you wanted\r\n' 19:01:40.962616 < 21 bytes data, client => server 19:01:40.962628 'SIZE verifiedserver\r\n' 19:01:40.962727 Received DATA (on stdin) 19:01:40.962738 > 8 bytes data, server => client 19:01:40.962749 '213 17\r\n' 19:01:40.962792 < 21 bytes data, client => server 19:01:40.962802 'RETR verifiedserver\r\n' 19:01:40.962995 Received DATA (on stdin) 19:01:40.963006 > 29 bytes data, server => client 19:01:40.963017 '150 Binary junk (17 bytes).\r\n' 19:01:40.963563 Received DATA (on stdin) 19:01:40.963576 > 28 bytes data, server => client 19:01:40.963586 '226 File transfer complete\r\n' 19:01:41.004342 < 6 bytes data, client => server 19:01:41.004373 'QUIT\r\n' 19:01:41.004605 Received DATA (on stdin) 19:01:41.004620 > 18 bytes data, server => client 19:01:41.004632 '221 bye bye baby\r\n' 19:01:41.005397 ====> Client disconnect 19:01:41.005665 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:41.961696 Running IPv4 version 19:01:41.961787 Listening on port 33931 19:01:41.961822 Wrote pid 151125 to log/4/server/ftp_sockdata.pid 19:01:41.961850 Received PING (on stdin) 19:01:41.961950 Received PORT (on stdin) 19:01:41.962316 ====> Client connect 19:01:41.963042 Received DATA (on stdin) 19:01:41.963054 > 17 bytes data, server => client 19:01:41.963065 'WE ROOLZ: 80681\r\n' 19:01:41.963087 Received DISC (on stdin) 19:01:41.963098 ====> Client forcibly disconnected 19:01:41.963252 Received QUIT (on stdin) 19:01:41.963264 quits 19:01:41.963327 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1357 === End of file server.cmd === Start of file valgrind1357 ==151291== ==151291== Process terminating with default action of signal 4 (SIGILL) ==151291== Illegal opcode at address 0x4013E00 ==151291== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151291== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151291== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151291== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1357 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/11/valgrind1355 ../src/curl -q --trace-ascii log/11/trace1355 --trace-time ftp://127.0.0.1:35787/path/file1355 -O -i --output-dir log/11 > log/11/stdout1355 2> log/11/stderr1355 1355: 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 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/11/valgrind1355 ../src/curl -q --trace-ascii log/11/trace1355 --trace-time ftp://127.0.0.1:35787/path/file1355 -O -i --output-dir log/11 > log/11/stdout1355 2> log/11/stderr1355 === End of file commands.log === Start of file ftp_server.log 19:01:41.149938 ====> Client connect 19:01:41.150118 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:41.150433 < "USER anonymous" 19:01:41.150472 > "331 We are happy you popped in![CR][LF]" 19:01:41.150646 < "PASS ftp@example.com" 19:01:41.150671 > "230 Welcome you silly person[CR][LF]" 19:01:41.150822 < "PWD" 19:01:41.150850 > "257 "/" is current directory[CR][LF]" 19:01:41.150997 < "EPSV" 19:01:41.151021 ====> Passive DATA channel requested by client 19:01:41.151034 DATA sockfilt for passive data channel starting... 19:01:41.153162 DATA sockfilt for passive data channel started (pid 151097) 19:01:41.153274 DATA sockfilt for passive data channel listens on port 33933 19:01:41.153316 > "229 Entering Passive Mode (|||33933|)[CR][LF]" 19:01:41.153422 Client has been notified that DATA conn will be accepted on port 33933 19:01:41.153638 Client connects to port 33933 19:01:41.153664 ====> Client established passive DATA connection on port 33933 19:01:41.153745 < "TYPE I" 19:01:41.153776 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:41.153964 < "SIZE verifiedserver" 19:01:41.154000 > "213 17[CR][LF]" 19:01:41.154171 < "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/7/valgrind1360 ../src/curl -q --trace-ascii log/7/trace1360 --trace-time ftp://127.0.0.1:34277/path/file1360 -O -J -D - --output-dir log/7 > log/7/stdout1360 2> log/7/stderr1360 ETR verifiedserver" 19:01:41.154209 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:41.154293 =====> Closing passive DATA connection... 19:01:41.154311 Server disconnects passive DATA connection 19:01:41.154486 Server disconnected passive DATA connection 19:01:41.154512 DATA sockfilt for passive data channel quits (pid 151097) 19:01:41.154786 DATA sockfilt for passive data channel quit (pid 151097) 19:01:41.154809 =====> Closed passive DATA connection 19:01:41.154839 > "226 File transfer complete[CR][LF]" 19:01:41.198424 < "QUIT" 19:01:41.198500 > "221 bye bye baby[CR][LF]" 19:01:41.198884 MAIN sockfilt said DISC 19:01:41.198925 ====> Client disconnected 19:01:41.199003 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:40.921859 ====> Client connect 19:01:40.922190 Received DATA (on stdin) 19:01:40.922209 > 160 bytes data, server => client 19:01:40.922222 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:40.922233 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:40.922243 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:40.922335 < 16 bytes data, client => server 19:01:40.922347 'USER anonymous\r\n' 19:01:40.922531 Received DATA (on stdin) 19:01:40.922543 > 33 bytes data, server => client 19:01:40.922554 '331 We are happy you popped in!\r\n' 19:01:40.922603 < 22 bytes data, client => server 19:01:40.922614 'PASS ftp@example.com\r\n' 19:01:40.922725 Received DATA (on stdin) 19:01:40.922736 > 30 bytes data, server => client 19:01:40.922746 '230 Welcome you silly person\r\n' 19:01:40.922795 < 5 bytes data, client => server 19:01:40.922805 'PWD\r\n' 19:01:40.922903 Received DATA (on stdin) 19:01:40.922913 > 30 bytes data, server => client 19:01:40.922924 '257 "/" is current directory\r\n' 19:01:40.922975 < 6 bytes data, client => server 19:01:40.922986 'EPSV\r\n' 19:01:40.925398 Received DATA (on stdin) 19:01:40.925413 > 39 bytes data, server => client 19:01:40.925426 '229 Entering Passive Mode (|||33933|)\r\n' 19:01:40.925678 < 8 bytes data, client => server 19:01:40.925696 'TYPE I\r\n' 19:01:40.925836 Received DATA (on stdin) 19:01:40.925854 > 33 bytes data, server => client 19:01:40.925866 '200 I modify TYPE as you wanted\r\n' 19:01:40.925932 < 21 bytes data, client => server 19:01:40.925944 'SIZE verifiedserver\r\n' 19:01:40.926057 Received DATA (on stdin) 19:01:40.926071 > 8 bytes data, server => client 19:01:40.926082 '213 17\r\n' 19:01:40.926136 < 21 bytes data, client => server 19:01:40.926150 'RETR verifiedserver\r\n' 19:01:40.926370 Received DATA (on stdin) 19:01:40.926385 > 29 bytes data, server => client 19:01:40.926397 '150 Binary junk (17 bytes).\r\n' 19:01:40.926895 Received DATA (on stdin) 19:01:40.926908 > 28 bytes data, server => client 19:01:40.926920 '226 File transfer complete\r\n' 19:01:40.969533 < 6 bytes data, client => server 19:01:40.969563 'QUIT\r\n' 19:01:40.970569 Received DATA (on stdin) 19:01:40.970587 > 18 bytes data, server => client 19:01:40.970600 '221 bye bye baby\r\n' 19:01:40.970880 ====> Client disconnect 19:01:40.971059 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:41.925008 Running IPv4 version 19:01:41.925075 Listening on port 33933 19:01:41.925113 Wrote pid 151097 to log/11/server/ftp_sockdata.pid 19:01:41.925134 Received PING (on stdin) 19:01:41.925241 Received PORT (on stdin) 19:01:41.925625 ====> Client connect 19:01:41.926279 Received DATA (on stdin) 19:01:41.926297 > 17 bytes data, server => client 19:01:41.926309 'WE ROOLZ: 80684\r\n' 19:01:41.926369 Received DISC (on stdin) 19:01:41.926384 ====> Client forcibly disconnected 19:01:41.926582 Received QUIT (on stdin) 19:01:41.926600 quits 19:01:41.926665 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1355 === End of file server.cmd === Start of file valgrind1355 ==151176== ==151176== Process terminating with default action of signal 4 (SIGILL) ==151176== Illegal opcode at address 0x4013E00 ==151176== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151176== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151176== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151176== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1355 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/7/valgrind1360 ../src/curl -q --trace-ascii log/7/trace1360 --trace-time ftp://127.0.0.1:34277/path/file1360 -O -J -D - --output-dir log/7 > log/7/stdout1360 2> log/7/stderr1360 1360: 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 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/7/valgrind1360 ../src/curl -q --trace-ascii log/7/trace1360 --trace-time ftp://127.0.0.1:34277/path/file1360 -O -J -D - --output-dir log/7 > log/7/stdout1360 2> log/7/stderr1360 === End of file commands.log === Start of file ftp_server.log 19:01:41.217013 ====> Client connect 19:01:41.217189 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:41.217532 < "USER anonymous" 19:01:41.217584 > "331 We are happy you popped in![CR][LF]" 19:01:41.217793 < "PASS ftp@example.com" 19:01:41.217823 > "230 Welcome you silly person[CR][LF]" 19:01:41.217996 < "PWD" 19:01:41.218028 > "257 "/" is current directory[CR][LF]" 19:01:41.218227 < "EPSV" 19:01:41.218256 ====> Passive DATA channel requested by client 19:01:41.218270 DATA sockfilt for passive data channel starting... 19:01:41.220844 DATA sockfilt for passive data channel started (pid 151196) 19:01:41.220957 DATA sockfilt for passive data channel listens on port 38619 19:01:41.221000 > "229 Entering Passive Mode (|||38619|)[CR][LF]" 19:01:41.221020 Client has been notified that DATA conn will be accepted on port 38619 19:01:41.221235 Client connects to port 38619 19:01:41.221268 ====> Client established passive DATA connection on port 38619 19:01:41.221391 < "TYPE I" 19:01:41.221419 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:41.221581 < "SIZE verifiedserver" 19:01:41.221624 > "213 17[CR][LF]" 19:01:41.221782 < "RETR verifiedserver" 19:01:41.221818 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:41.221901 =====> Closing passive DATA connection... 19:01:41.221917 Server disconnects passive DATA connection 19:01:41.222275 Server disconnected passive DATA connection 19:01:41.222300 DATA sockfilt for passive data channel quits (pid 151196) 19:01:41.222575 DATA sockfilt for passive data channel quit (pid 151196) 19:01:41.222600 =====> Closed passive DATA connection 19:01:41.222630 > "226 File transfer complete[CR][LF]" 19:01:41.265838 < "QUIT" 19:01:41.265899 > "221 bye bye baby[CR][LF]" 19:01:41.267116 MAIN sockfilt said DISC 19:01:41.267145 ====> Client disconnected 19:01:41.267215 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:40.988942 ====> Client connect 19:01:40.989268 Received DATA (on stdin) 19:01:40.989287 > 160 bytes data, server => client 19:01:40.989301 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:40.989313 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:40.989324 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:40.989407 < 16 bytes data, client => server 19:01:40.989421 'USER anonymous\r\n' 19:01:40.989647 Received DATA (on stdin) 19:01:40.989662 > 33 bytes data, server => client 19:01:40.989675 '331 We are happy you popped in!\r\n' 19:01:40.989737 < 22 bytes data, 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/10/valgrind1359 ../src/curl -q --trace-ascii log/10/trace1359 --trace-time ftp://127.0.0.1:42709/path/file1359 -O -J -D log/10/heads1359 --output-dir log/10 > log/10/stdout1359 2> log/10/stderr1359 server 19:01:40.989750 'PASS ftp@example.com\r\n' 19:01:40.989880 Received DATA (on stdin) 19:01:40.989895 > 30 bytes data, server => client 19:01:40.989909 '230 Welcome you silly person\r\n' 19:01:40.989958 < 5 bytes data, client => server 19:01:40.989970 'PWD\r\n' 19:01:40.990084 Received DATA (on stdin) 19:01:40.990096 > 30 bytes data, server => client 19:01:40.990108 '257 "/" is current directory\r\n' 19:01:40.990182 < 6 bytes data, client => server 19:01:40.990199 'EPSV\r\n' 19:01:40.993084 Received DATA (on stdin) 19:01:40.993099 > 39 bytes data, server => client 19:01:40.993112 '229 Entering Passive Mode (|||38619|)\r\n' 19:01:40.993344 < 8 bytes data, client => server 19:01:40.993357 'TYPE I\r\n' 19:01:40.993475 Received DATA (on stdin) 19:01:40.993488 > 33 bytes data, server => client 19:01:40.993500 '200 I modify TYPE as you wanted\r\n' 19:01:40.993551 < 21 bytes data, client => server 19:01:40.993564 'SIZE verifiedserver\r\n' 19:01:40.993682 Received DATA (on stdin) 19:01:40.993694 > 8 bytes data, server => client 19:01:40.993705 '213 17\r\n' 19:01:40.993755 < 21 bytes data, client => server 19:01:40.993768 'RETR verifiedserver\r\n' 19:01:40.993976 Received DATA (on stdin) 19:01:40.993989 > 29 bytes data, server => client 19:01:40.994002 '150 Binary junk (17 bytes).\r\n' 19:01:40.994690 Received DATA (on stdin) 19:01:40.994705 > 28 bytes data, server => client 19:01:40.994717 '226 File transfer complete\r\n' 19:01:41.037716 < 6 bytes data, client => server 19:01:41.037745 'QUIT\r\n' 19:01:41.037961 Received DATA (on stdin) 19:01:41.037973 > 18 bytes data, server => client 19:01:41.037987 '221 bye bye baby\r\n' 19:01:41.039119 ====> Client disconnect 19:01:41.039270 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:41.992535 Running IPv4 version 19:01:41.992612 Listening on port 38619 19:01:41.992658 Wrote pid 151196 to log/7/server/ftp_sockdata.pid 19:01:41.992839 Received PING (on stdin) 19:01:41.992928 Received PORT (on stdin) 19:01:41.993238 ====> Client connect 19:01:41.994028 Received DATA (on stdin) 19:01:41.994043 > 17 bytes data, server => client 19:01:41.994054 'WE ROOLZ: 89392\r\n' 19:01:41.994081 Received DISC (on stdin) 19:01:41.994261 ====> Client forcibly disconnected 19:01:41.994366 Received QUIT (on stdin) 19:01:41.994378 quits 19:01:41.994443 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1360 === End of file server.cmd === Start of file valgrind1360 ==151353== ==151353== Process terminating with default action of signal 4 (SIGILL) ==151353== Illegal opcode at address 0x4013E00 ==151353== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151353== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151353== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151353== by 0x40037A4: 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/10/valgrind1359 ../src/curl -q --trace-ascii log/10/trace1359 --trace-time ftp://127.0.0.1:42709/path/file1359 -O -J -D log/10/heads1359 --output-dir log/10 > log/10/stdout1359 2> log/10/stderr1359 1359: 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 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/10/valgrind1359 ../src/curl -q --trace-ascii log/10/trace1359 --trace-time ftp://127.0.0.1:42709/path/file1359 -O -J -D log/10/heads1359 --output-dir log/10 > log/10/stdout1359 2> log/10/stderr1359 === End of file commands.log === Start of file ftp_server.log 19:01:41.213090 ====> Client connect 19:01:41.213248 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:41.214199 < "USER anonymous" 19:01:41.214249 > "331 We are happy you popped in![CR][LF]" 19:01:41.214427 < "PASS ftp@example.com" 19:01:41.214455 > "230 Welcome you silly person[CR][LF]" 19:01:41.214604 < "PWD" 19:01:41.214635 > "257 "/" is current directory[CR][LF]" 19:01:41.214797 < "EPSV" 19:01:41.214822 ====> Passive DATA channel requested by client 19:01:41.214838 DATA sockfilt for passive data channel starting... 19:01:41.219802 DATA sockfilt for passive data channel started (pid 151184) 19:01:41.219933 DATA sockfilt for passive data channel listens on port 35393 19:01:41.219977 > "229 Entering Passive Mode (|||35393|)[CR][LF]" 19:01:41.219996 Client has been notified that DATA conn will be accepted on port 35393 19:01:41.220243 Client connects to port 35393 19:01:41.220272 ====> Client established passive DATA connection on port 35393 19:01:41.220393 < "TYPE I" 19:01:41.220426 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:41.220583 < "SIZE verifiedserver" 19:01:41.220620 > "213 17[CR][LF]" 19:01:41.220767 < "RETR verifiedserver" 19:01:41.220800 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:41.220883 =====> Closing passive DATA connection... 19:01:41.220898 Server disconnects passive DATA connection 19:01:41.221015 Server disconnected passive DATA connection 19:01:41.221034 DATA sockfilt for passive data channel quits (pid 151184) 19:01:41.221434 DATA sockfilt for passive data channel quit (pid 151184) 19:01:41.221459 =====> Closed passive DATA connection 19:01:41.221487 > "226 File transfer complete[CR][LF]" 19:01:41.262485 < "QUIT" 19:01:41.262552 > "221 bye bye baby[CR][LF]" 19:01:41.263478 MAIN sockfilt said DISC 19:01:41.263514 ====> Client disconnected 19:01:41.263607 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:41.985019 ====> Client connect 19:01:41.985888 Received DATA (on stdin) 19:01:41.985922 > 160 bytes data, server => client 19:01:41.985936 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:41.985949 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:41.985960 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:41.986073 < 16 bytes data, client => server 19:01:41.986086 'USER anonymous\r\n' 19:01:41.986308 Received DATA (on stdin) 19:01:41.986322 > 33 bytes data, server => client 19:01:41.986334 '331 We are happy you popped in!\r\n' 19:01:41.986389 < 22 bytes data, client => server 19:01:41.986400 'PASS ftp@example.com\r\n' 19:01:41.986509 Received DATA (on stdin) 19:01:41.986520 > 30 bytes data, server => client 19:01:41.986531 '230 Welcome you silly person\r\n' 19:01:41.986577 < 5 bytes data, client => server 19:01:41.986587 'PWD\r\n' 19:01:41.986688 Received DATA (on stdin) 19:01:41.986700 > 30 bytes data, server => client 19:01:41.986711 '257 "/" is current directory\r\n' 19:01:41.986769 < 6 bytes data, client => server 19:01:41.986780 'EPSV\r\n' 19:01:41.992059 Received DATA (on stdin) 19:01:41.992076 > 39 bytes data, server => client 19:01:41.992089 '229 Entering Passive Mode (|||35393|)\r\n' 19:01:41.992346 < 8 bytes data, client => server 19:01:41.992359 'TYPE I\r\n' 19:01:41.992482 Received DATA (on stdin) 19:01:41.992494 > 33 bytes data, server => client 19:01:41.992506 '200 I modify TYPE as you wanted\r\n' 19:01:41.992556 < 21 bytes data, client => server 19:01:41.992567 'SIZE verifiedserver\r\n' 19:01:41.992676 Received DATA (on stdin) 19:01:41.992688 > 8 bytes data, server => client 19:01:41.992700 '213 17\r\n' 19:01:41.992744 < 21 bytes data, client => server 19:01:41.992756 'RETR verifiedserver\r\n' 19:01:41.992908 Received DATA (on stdin) 19:01:41.992931 > 29 bytes data, server => client 19:01:41.992946 '150 Binary junk (17 bytes).\r\n' 19:01:41.993544 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/17/valgrind1363 ../src/curl -q --trace-ascii log/17/trace1363 --trace-time ftp://127.0.0.1:32811/path/file1363 -O -i --output-dir log/17 > log/17/stdout1363 2> log/17/stderr1363 CMD (33792): ../libtool --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/valgrind1362 ../src/curl -q --trace-ascii log/16/trace1362 --trace-time ftp://127.0.0.1:35319/path/file1362 -O -i -D - --output-dir log/16 > log/16/stdout1362 2> log/16/stderr1362 CMD (33792): ../libtool --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/valgrind1361 ../src/curl -q --trace-ascii log/12/trace1361 --trace-time ftp://127.0.0.1:35151/path/file1361 -O -i -D log/12/heads1361 --output-dir log/12 > log/12/stdout1361 2> log/12/stderr1361 19:01:41.993558 > 28 bytes data, server => client 19:01:41.993571 '226 File transfer complete\r\n' 19:01:42.034324 < 6 bytes data, client => server 19:01:42.034363 'QUIT\r\n' 19:01:42.034623 Received DATA (on stdin) 19:01:42.034646 > 18 bytes data, server => client 19:01:42.034659 '221 bye bye baby\r\n' 19:01:42.035476 ====> Client disconnect 19:01:42.035663 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:41.988648 Running IPv4 version 19:01:41.988712 Listening on port 35393 19:01:41.988756 Wrote pid 151184 to log/10/server/ftp_sockdata.pid 19:01:41.991398 Received PING (on stdin) 19:01:41.991894 Received PORT (on stdin) 19:01:41.992246 ====> Client connect 19:01:41.992957 Received DATA (on stdin) 19:01:41.992971 > 17 bytes data, server => client 19:01:41.992983 'WE ROOLZ: 80847\r\n' 19:01:41.993010 Received DISC (on stdin) 19:01:41.993022 ====> Client forcibly disconnected 19:01:41.993096 Received QUIT (on stdin) 19:01:41.993107 quits 19:01:41.993173 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1359 === End of file server.cmd === Start of file valgrind1359 ==151341== ==151341== Process terminating with default action of signal 4 (SIGILL) ==151341== Illegal opcode at address 0x4013E00 ==151341== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151341== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151341== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151341== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1359 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/17/valgrind1363 ../src/curl -q --trace-ascii log/17/trace1363 --trace-time ftp://127.0.0.1:32811/path/file1363 -O -i --output-dir log/17 > log/17/stdout1363 2> log/17/stderr1363 1363: 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 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/17/valgrind1363 ../src/curl -q --trace-ascii log/17/trace1363 --trace-time ftp://127.0.0.1:32811/path/file1363 -O -i --output-dir log/17 > log/17/stdout1363 2> log/17/stderr1363 === End of file commands.log === Start of file ftp_server.log 19:01:41.474246 ====> Client connect 19:01:41.474389 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:41.474642 < "USER anonymous" 19:01:41.474676 > "331 We are happy you popped in![CR][LF]" 19:01:41.474829 < "PASS ftp@example.com" 19:01:41.474854 > "230 Welcome you silly person[CR][LF]" 19:01:41.474993 < "PWD" 19:01:41.475021 > "257 "/" is current directory[CR][LF]" 19:01:41.475174 < "EPSV" 19:01:41.475197 ====> Passive DATA channel requested by client 19:01:41.475210 DATA sockfilt for passive data channel starting... 19:01:41.477047 DATA sockfilt for passive data channel started (pid 151531) 19:01:41.477181 DATA sockfilt for passive data channel listens on port 45601 19:01:41.477228 > "229 Entering Passive Mode (|||45601|)[CR][LF]" 19:01:41.477247 Client has been notified that DATA conn will be accepted on port 45601 19:01:41.477528 Client connects to port 45601 19:01:41.477557 ====> Client established passive DATA connection on port 45601 19:01:41.477643 < "TYPE I" 19:01:41.477672 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:41.477824 < "SIZE verifiedserver" 19:01:41.477858 > "213 17[CR][LF]" 19:01:41.478000 < "RETR verifiedserver" 19:01:41.478030 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:41.478107 =====> Closing passive DATA connection... 19:01:41.478122 Server disconnects passive DATA connection 19:01:41.478346 Server disconnected passive DATA connection 19:01:41.478372 DATA sockfilt for passive data channel quits (pid 151531) 19:01:41.478582 DATA sockfilt for passive data channel quit (pid 151531) 19:01:41.478604 =====> Closed passive DATA connection 19:01:41.478630 > "226 File transfer complete[CR][LF]" 19:01:41.522513 < "QUIT" 19:01:41.522562 > "221 bye bye baby[CR][LF]" 19:01:41.523480 MAIN sockfilt said DISC 19:01:41.523511 ====> Client disconnected 19:01:41.523574 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:41.246201 ====> Client connect 19:01:41.246454 Received DATA (on stdin) 19:01:41.246469 > 160 bytes data, server => client 19:01:41.246482 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:41.246493 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:41.246504 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:41.246574 < 16 bytes data, client => server 19:01:41.246586 'USER anonymous\r\n' 19:01:41.246733 Received DATA (on stdin) 19:01:41.246746 > 33 bytes data, server => client 19:01:41.246757 '331 We are happy you popped in!\r\n' 19:01:41.246803 < 22 bytes data, client => server 19:01:41.246815 'PASS ftp@example.com\r\n' 19:01:41.246907 Received DATA (on stdin) 19:01:41.246918 > 30 bytes data, server => client 19:01:41.246930 '230 Welcome you silly person\r\n' 19:01:41.246972 < 5 bytes data, client => server 19:01:41.246983 'PWD\r\n' 19:01:41.247074 Received DATA (on stdin) 19:01:41.247085 > 30 bytes data, server => client 19:01:41.247096 '257 "/" is current directory\r\n' 19:01:41.247153 < 6 bytes data, client => server 19:01:41.247164 'EPSV\r\n' 19:01:41.249314 Received DATA (on stdin) 19:01:41.249332 > 39 bytes data, server => client 19:01:41.249344 '229 Entering Passive Mode (|||45601|)\r\n' 19:01:41.249502 < 8 bytes data, client => server 19:01:41.249518 'TYPE I\r\n' 19:01:41.249726 Received DATA (on stdin) 19:01:41.249739 > 33 bytes data, server => client 19:01:41.249750 '200 I modify TYPE as you wanted\r\n' 19:01:41.249798 < 21 bytes data, client => server 19:01:41.249810 'SIZE verifiedserver\r\n' 19:01:41.249911 Received DATA (on stdin) 19:01:41.249922 > 8 bytes data, server => client 19:01:41.249932 '213 17\r\n' 19:01:41.249977 < 21 bytes data, client => server 19:01:41.249989 'RETR verifiedserver\r\n' 19:01:41.250177 Received DATA (on stdin) 19:01:41.250189 > 29 bytes data, server => client 19:01:41.250200 '150 Binary junk (17 bytes).\r\n' 19:01:41.250685 Received DATA (on stdin) 19:01:41.250699 > 28 bytes data, server => client 19:01:41.250710 '226 File transfer complete\r\n' 19:01:41.294385 < 6 bytes data, client => server 19:01:41.294419 'QUIT\r\n' 19:01:41.294616 Received DATA (on stdin) 19:01:41.294627 > 18 bytes data, server => client 19:01:41.294636 '221 bye bye baby\r\n' 19:01:41.295482 ====> Client disconnect 19:01:41.295625 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:41.248909 Running IPv4 version 19:01:41.248976 Listening on port 45601 19:01:41.249014 Wrote pid 151531 to log/17/server/ftp_sockdata.pid 19:01:41.249035 Received PING (on stdin) 19:01:41.249142 Received PORT (on stdin) 19:01:41.249537 ====> Client connect 19:01:41.250224 Received DATA (on stdin) 19:01:41.250236 > 17 bytes data, server => client 19:01:41.250248 'WE ROOLZ: 80755\r\n' 19:01:41.250272 Received DISC (on stdin) 19:01:41.250283 ====> Client forcibly disconnected 19:01:41.250439 Received QUIT (on stdin) 19:01:41.250450 quits 19:01:41.250505 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1363 === End of file server.cmd === Start of file valgrind1363 ==151610== ==151610== Process terminating with default action of signal 4 (SIGILL) ==151610== Illegal opcode at address 0x4013E00 ==151610== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151610== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151610== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151610== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1363 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/12/valgrind1361 ../src/curl -q --trace-ascii log/12/trace1361 --trace-time ftp://127.0.0.1:35151/path/file1361 -O -i -D log/12/heads1361 --output-dir log/12 > log/12/stdout1361 2> log/12/stderr1361 1361: 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 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/12/valgrind1361 ../src/curl -q --trace-ascii log/12/trace1361 --trace-time ftp://127.0.0.1:35151/path/file1361 -O -i -D log/12/heads1361 --output-dir log/12 > log/12/stdout1361 2> log/12/stderr1361 === End of file commands.log === Start of file ftp_server.log 19:01:41.393598 ====> Client connect 19:01:41.393753 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:41.394031 < "USER anonymous" 19:01:41.394067 > "331 We are happy you popped in![CR][LF]" 19:01:41.394236 < "PASS ftp@example.com" 19:01:41.394264 > "230 Welcome you silly person[CR][LF]" 19:01:41.394416 < "PWD" 19:01:41.394446 > "257 "/" is current directory[CR][LF]" 19:01:41.394603 < "EPSV" 19:01:41.394626 ====> Passive DATA channel requested by client 19:01:41.394640 DATA sockfilt for passive data channel starting... 19:01:41.396641 DATA sockfilt for passive data channel started (pid 151474) 19:01:41.396770 DATA sockfilt for passive data channel listens on port 34151 19:01:41.396819 > "229 Entering Passive Mode (|||34151|)[CR][LF]" 19:01:41.396841 Client has been notified that DATA conn will be accepted on port 34151 19:01:41.397144 Client connects to port 34151 19:01:41.397175 ====> Client established passive DATA connection on port 34151 19:01:41.397267 < "TYPE I" 19:01:41.397299 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:41.397479 < "SIZE verifiedserver" 19:01:41.397519 > "213 17[CR][LF]" 19:01:41.397699 < "RETR verifiedserver" 19:01:41.397737 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:41.397818 =====> Closing passive DATA connection... 19:01:41.397838 Server disconnects passive DATA connection 19:01:41.398094 Server disconnected passive DATA connection 19:01:41.398126 DATA sockfilt for passive data channel quits (pid 151474) 19:01:41.398334 DATA sockfilt for passive data channel quit (pid 151474) 19:01:41.398361 =====> Closed passive DATA connection 19:01:41.398388 > "226 File transfer complete[CR][LF]" 19:01:41.441150 < "QUIT" 19:01:41.441202 > "221 bye bye baby[CR][LF]" 19:01:41.442231 MAIN sockfilt said DISC 19:01:41.442278 ====> Client disconnected 19:01:41.442362 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:41.165538 ====> Client connect 19:01:41.165819 Received DATA (on stdin) 19:01:41.165834 > 160 bytes data, server => client 19:01:41.165848 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:41.165861 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:41.165872 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:41.165945 < 16 bytes data, client => server 19:01:41.165958 'USER anonymous\r\n' 19:01:41.166126 Received DATA (on stdin) 19:01:41.166140 > 33 bytes data, server => client 19:01:41.166152 '331 We are happy you popped in!\r\n' 19:01:41.166202 < 22 bytes data, client => server 19:01:41.166215 'PASS ftp@example.com\r\n' 19:01:41.166319 Received DATA (on stdin) 19:01:41.166331 > 30 bytes data, server => client 19:01:41.166343 '230 Welcome you silly person\r\n' 19:01:41.166390 < 5 bytes data, client => server 19:01:41.166402 'PWD\r\n' 19:01:41.166499 Received DATA (on stdin) 19:01:41.166511 > 30 bytes data, server => client 19:01:41.166522 '257 "/" is current directory\r\n' 19:01:41.166577 < 6 bytes data, client => server 19:01:41.166590 'EPSV\r\n' 19:01:41.168907 Received DATA (on stdin) 19:01:41.168927 > 39 bytes data, server => client 19:01:41.168940 '229 Entering Passive Mode (|||34151|)\r\n' 19:01:41.169142 < 8 bytes data, client => server 19:01:41.169156 'TYPE I\r\n' 19:01:41.169359 Received DATA (on stdin) 19:01:41.169374 > 33 bytes data, server => client 19:01:41.169386 '200 I modify TYPE as you wanted\r\n' 19:01:41.169440 < 21 bytes data, client => server 19:01:41.169454 'SIZE verifiedserver\r\n' 19:01:41.169580 Received DATA (on stdin) 19:01:41.169595 > 8 bytes data, server => client 19:01:41.169607 '213 17\r\n' 19:01:41.169661 < 21 bytes data, client => server 19:01:41.169675 'RETR verifiedserver\r\n' 19:01:41.169899 Received DATA (on stdin) 19:01:41.169913 > 29 bytes data, server => client 19:01:41.169926 '150 Binary junk (17 bytes).\r\n' 19:01:41.170447 Received DATA (on stdin) 19:01:41.170462 > 28 bytes data, server => client 19:01:41.170474 '226 File transfer complete\r\n' 19:01:41.213013 < 6 bytes data, client => server 19:01:41.213052 'QUIT\r\n' 19:01:41.213263 Received DATA (on stdin) 19:01:41.213277 > 18 bytes data, server => client 19:01:41.213288 '221 bye bye baby\r\n' 19:01:41.214219 ====> Client disconnect 19:01:41.214425 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:41.168352 Running IPv4 version 19:01:41.168419 Listening on port 34151 19:01:41.168458 Wrote pid 151474 to log/12/server/ftp_sockdata.pid 19:01:41.168634 Received PING (on stdin) 19:01:41.168731 Received PORT (on stdin) 19:01:41.169110 ====> Client connect 19:01:41.169953 Received DATA (on stdin) 19:01:41.169968 > 17 bytes data, server => client 19:01:41.169980 'WE ROOLZ: 80702\r\n' 19:01:41.170005 Received DISC (on stdin) 19:01:41.170018 ====> Client forcibly disconnected 19:01:41.170191 Received QUIT (on stdin) 19:01:41.170205 quits 19:01:41.170259 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1361 === End of file server.cmd === Start of file valgrind1361 ==151500== ==151500== Process terminating with default action of signal 4 (SIGILL) ==151500== Illegal opcode at address 0x4013E00 ==151500== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151500== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151500== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151500== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1361 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/16/valgrind1362 ../src/curl -q --trace-ascii log/16/trace1362 --trace-time ftp://127.0.0.1:35319/path/file1362 -O -i -D - --output-dir log/16 > log/16/stdout1362 2> log/16/stderr1362 1362: 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 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/16/valgrind1362 ../src/curl -q --trace-ascii log/16/trace1362 --trace-time ftp://127.0.0.1:35319/path/file1362 -O -i -D - --output-dir log/16 > log/16/stdout1362 2> log/16/stderr1362 === End of file commands.log === Start of file ftp_server.log 19:01:41.404799 ====> Client connect 19:01:41.404921 > "220- _ _ ____ _ [CR][LFCMD (33792): ../libtool --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/valgrind1367 ../src/curl -q --trace-ascii log/18/trace1367 --trace-time http://127.0.0.1:39771/1367 -o log/18/outfile1367 -D - > log/18/stdout1367 2> log/18/stderr1367 ]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:41.405135 < "USER anonymous" 19:01:41.405160 > "331 We are happy you popped in![CR][LF]" 19:01:41.405289 < "PASS ftp@example.com" 19:01:41.405309 > "230 Welcome you silly person[CR][LF]" 19:01:41.405445 < "PWD" 19:01:41.405478 > "257 "/" is current directory[CR][LF]" 19:01:41.405635 < "EPSV" 19:01:41.405658 ====> Passive DATA channel requested by client 19:01:41.405671 DATA sockfilt for passive data channel starting... 19:01:41.407050 DATA sockfilt for passive data channel started (pid 151488) 19:01:41.407134 DATA sockfilt for passive data channel listens on port 44271 19:01:41.407165 > "229 Entering Passive Mode (|||44271|)[CR][LF]" 19:01:41.407180 Client has been notified that DATA conn will be accepted on port 44271 19:01:41.407356 Client connects to port 44271 19:01:41.407378 ====> Client established passive DATA connection on port 44271 19:01:41.407432 < "TYPE I" 19:01:41.407453 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:41.407575 < "SIZE verifiedserver" 19:01:41.407602 > "213 17[CR][LF]" 19:01:41.409531 < "RETR verifiedserver" 19:01:41.410580 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:41.412143 =====> Closing passive DATA connection... 19:01:41.412166 Server disconnects passive DATA connection 19:01:41.412394 Server disconnected passive DATA connection 19:01:41.412422 DATA sockfilt for passive data channel quits (pid 151488) 19:01:41.412629 DATA sockfilt for passive data channel quit (pid 151488) 19:01:41.412655 =====> Closed passive DATA connection 19:01:41.412681 > "226 File transfer complete[CR][LF]" 19:01:41.459403 < "QUIT" 19:01:41.459455 > "221 bye bye baby[CR][LF]" 19:01:41.460392 MAIN sockfilt said DISC 19:01:41.460431 ====> Client disconnected 19:01:41.460494 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:41.176757 ====> Client connect 19:01:41.176982 Received DATA (on stdin) 19:01:41.176994 > 160 bytes data, server => client 19:01:41.177004 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:41.177013 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:41.177021 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:41.177077 < 16 bytes data, client => server 19:01:41.177087 'USER anonymous\r\n' 19:01:41.177214 Received DATA (on stdin) 19:01:41.177224 > 33 bytes data, server => client 19:01:41.177234 '331 We are happy you popped in!\r\n' 19:01:41.177273 < 22 bytes data, client => server 19:01:41.177282 'PASS ftp@example.com\r\n' 19:01:41.177360 Received DATA (on stdin) 19:01:41.177369 > 30 bytes data, server => client 19:01:41.177378 '230 Welcome you silly person\r\n' 19:01:41.177413 < 5 bytes data, client => server 19:01:41.177434 'PWD\r\n' 19:01:41.177533 Received DATA (on stdin) 19:01:41.177544 > 30 bytes data, server => client 19:01:41.177556 '257 "/" is current directory\r\n' 19:01:41.177609 < 6 bytes data, client => server 19:01:41.177621 'EPSV\r\n' 19:01:41.179233 Received DATA (on stdin) 19:01:41.179244 > 39 bytes data, server => client 19:01:41.179253 '229 Entering Passive Mode (|||44271|)\r\n' 19:01:41.179363 < 8 bytes data, client => server 19:01:41.179373 'TYPE I\r\n' 19:01:41.179504 Received DATA (on stdin) 19:01:41.179514 > 33 bytes data, server => client 19:01:41.179523 '200 I modify TYPE as you wanted\r\n' 19:01:41.179561 < 21 bytes data, client => server 19:01:41.179571 'SIZE verifiedserver\r\n' 19:01:41.179652 Received DATA (on stdin) 19:01:41.179662 > 8 bytes data, server => client 19:01:41.179671 '213 17\r\n' 19:01:41.179717 < 21 bytes data, client => server 19:01:41.179732 'RETR verifiedserver\r\n' 19:01:41.182058 Received DATA (on stdin) 19:01:41.182073 > 29 bytes data, server => client 19:01:41.182803 '150 Binary junk (17 bytes).\r\n' 19:01:41.184738 Received DATA (on stdin) 19:01:41.184752 > 28 bytes data, server => client 19:01:41.184764 '226 File transfer complete\r\n' 19:01:41.231300 < 6 bytes data, client => server 19:01:41.231325 'QUIT\r\n' 19:01:41.231514 Received DATA (on stdin) 19:01:41.231527 > 18 bytes data, server => client 19:01:41.231538 '221 bye bye baby\r\n' 19:01:41.232392 ====> Client disconnect 19:01:41.232548 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:41.178966 Running IPv4 version 19:01:41.179009 Listening on port 44271 19:01:41.179036 Wrote pid 151488 to log/16/server/ftp_sockdata.pid 19:01:41.179052 Received PING (on stdin) 19:01:41.179121 Received PORT (on stdin) 19:01:41.179341 ====> Client connect 19:01:41.184271 Received DATA (on stdin) 19:01:41.184287 > 17 bytes data, server => client 19:01:41.184299 'WE ROOLZ: 80535\r\n' 19:01:41.184327 Received DISC (on stdin) 19:01:41.184341 ====> Client forcibly disconnected 19:01:41.184485 Received QUIT (on stdin) 19:01:41.184498 quits 19:01:41.184550 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1362 === End of file server.cmd === Start of file valgrind1362 ==151532== ==151532== Process terminating with default action of signal 4 (SIGILL) ==151532== Illegal opcode at address 0x4013E00 ==151532== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151532== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151532== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151532== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1362 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/18/valgrind1367 ../src/curl -q --trace-ascii log/18/trace1367 --trace-time http://127.0.0.1:39771/1367 -o log/18/outfile1367 -D - > log/18/stdout1367 2> log/18/stderr1367 1367: 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 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/18/valgrind1367 ../src/curl -q --trace-ascii log/18/trace1367 --trace-time http://127.0.0.1:39771/1367 -o log/18/outfile1367 -D - > log/18/stdout1367 2> log/18/stderr1367 === End of file commands.log === Start of file http_server.log 19:01:41.367200 ====> Client connect 19:01:41.367328 accept_connection 3 returned 4 19:01:41.367346 accept_connection 3 returned 0 19:01:41.367361 Read 93 bytes 19:01:41.367371 Process 93 bytes request 19:01:41.367385 Got request: GET /verifiedserver HTTP/1.1 19:01:41.367395 Are-we-friendly question received 19:01:41.367425 Wrote request (93 bytes) input to log/18/server.input 19:01:41.367783 Identifying ourselves as friends 19:01:41.367848 Response sent (56 bytes) and written to log/18/server.response 19:01:41.367860 special request received, no persistency 19:01:41.367870 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 38232 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind1367 ==151784== ==151784== Process terminating with default action of signal 4 (SIGILL) ==151784== Illegal opcode 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/1/valgrind1365 ../src/curl -q --trace-ascii log/1/trace1365 --trace-time http://127.0.0.1:40353/1365 -o log/1/outfile1365 -D - > log/1/stdout1365 2> log/1/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:39383/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/23/valgrind1364 ../src/curl -q --trace-ascii log/23/trace1364 --trace-time http://127.0.0.1:35243/1364 -o log/23/outfile1364 -D log/23/heads1364 > log/23/stdout1364 2> log/23/stderr1364 t address 0x4013E00 ==151784== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151784== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151784== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151784== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1367 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/1/valgrind1365 ../src/curl -q --trace-ascii log/1/trace1365 --trace-time http://127.0.0.1:40353/1365 -o log/1/outfile1365 -D - > log/1/stdout1365 2> log/1/stderr1365 1365: 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 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/1/valgrind1365 ../src/curl -q --trace-ascii log/1/trace1365 --trace-time http://127.0.0.1:40353/1365 -o log/1/outfile1365 -D - > log/1/stdout1365 2> log/1/stderr1365 === End of file commands.log === Start of file http_server.log 19:01:41.362186 ====> Client connect 19:01:41.362220 accept_connection 3 returned 4 19:01:41.362237 accept_connection 3 returned 0 19:01:41.362254 Read 93 bytes 19:01:41.362265 Process 93 bytes request 19:01:41.362280 Got request: GET /verifiedserver HTTP/1.1 19:01:41.362290 Are-we-friendly question received 19:01:41.362313 Wrote request (93 bytes) input to log/1/server.input 19:01:41.362330 Identifying ourselves as friends 19:01:41.362388 Response sent (56 bytes) and written to log/1/server.response 19:01:41.362399 special request received, no persistency 19:01:41.362409 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 55870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1365 ==151767== ==151767== Process terminating with default action of signal 4 (SIGILL) ==151767== Illegal opcode at address 0x4013E00 ==151767== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151767== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151767== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151767== by 0x40037A4: 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:39383/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:39383/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 19:01:41.366277 ====> Client connect 19:01:41.366349 accept_connection 3 returned 4 19:01:41.366369 accept_connection 3 returned 0 19:01:41.366385 Read 93 bytes 19:01:41.366397 Process 93 bytes request 19:01:41.366412 Got request: GET /verifiedserver HTTP/1.1 19:01:41.366423 Are-we-friendly question received 19:01:41.366454 Wrote request (93 bytes) input to log/24/server.input 19:01:41.366474 Identifying ourselves as friends 19:01:41.366536 Response sent (56 bytes) and written to log/24/server.response 19:01:41.366549 special request received, no persistency 19:01:41.366560 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 47038 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file valgrind1366 ==151776== ==151776== Process terminating with default action of signal 4 (SIGILL) ==151776== Illegal opcode at address 0x4013E00 ==151776== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151776== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151776== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151776== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1366 test 1364...[HTTP GET -o fname 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/23/valgrind1364 ../src/curl -q --trace-ascii log/23/trace1364 --trace-time http://127.0.0.1:35243/1364 -o log/23/outfile1364 -D log/23/heads1364 > log/23/stdout1364 2> log/23/stderr1364 1364: 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 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/23/valgrind1364 ../src/curl -q --trace-ascii log/23/trace1364 --trace-time http://127.0.0.1:35243/1364 -o log/23/outfile1364 -D log/23/heads1364 > log/23/stdout1364 2> log/23/stderr1364 === End of file commands.log === Start of file http_server.log 19:01:41.349499 ====> Client connect 19:01:41.349535 accept_connection 3 returned 4 19:01:41.349552 accept_connection 3 returned 0 19:01:41.349569 Read 93 bytes 19:01:41.349581 Process 93 bytes request 19:01:41.349595 Got request: GET /verifiedserver HTTP/1.1 19:01:41.349606 Are-we-friendly question received 19:01:41.349635 Wrote request (93 bytes) input to log/23/server.input 19:01:41.349653 Identifying ourselves as friends 19:01:41.349710 Response sent (56 bytes) and written to log/23/server.response 19:01:41.349722 special request received, no persistency 19:01:41.349732 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 52820 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:3524CMD (33792): ../libtool --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/valgrind1369 ../src/curl -q --trace-ascii log/6/trace1369 --trace-time http://127.0.0.1:41595/1369 -J -o log/6/outfile1369 -D - > log/6/stdout1369 2> log/6/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/2/valgrind1368 ../src/curl -q --trace-ascii log/2/trace1368 --trace-time http://127.0.0.1:46047/1368 -J -o log/2/outfile1368 -D log/2/heads1368 > log/2/stdout1368 2> log/2/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/5/valgrind1370 ../src/curl -q --trace-ascii log/5/trace1370 --trace-time http://127.0.0.1:46771/1370 -J -o log/5/outfile1370 -D log/5/heads1370 > log/5/stdout1370 2> log/5/stderr1370 3 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind1364 ==151742== ==151742== Process terminating with default action of signal 4 (SIGILL) ==151742== Illegal opcode at address 0x4013E00 ==151742== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151742== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151742== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151742== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1364 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/6/valgrind1369 ../src/curl -q --trace-ascii log/6/trace1369 --trace-time http://127.0.0.1:41595/1369 -J -o log/6/outfile1369 -D - > log/6/stdout1369 2> log/6/stderr1369 1369: 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 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/6/valgrind1369 ../src/curl -q --trace-ascii log/6/trace1369 --trace-time http://127.0.0.1:41595/1369 -J -o log/6/outfile1369 -D - > log/6/stdout1369 2> log/6/stderr1369 === End of file commands.log === Start of file http_server.log 19:01:41.375027 ====> Client connect 19:01:41.375079 accept_connection 3 returned 4 19:01:41.375101 accept_connection 3 returned 0 19:01:41.375120 Read 93 bytes 19:01:41.375131 Process 93 bytes request 19:01:41.375146 Got request: GET /verifiedserver HTTP/1.1 19:01:41.375156 Are-we-friendly question received 19:01:41.375263 Wrote request (93 bytes) input to log/6/server.input 19:01:41.375284 Identifying ourselves as friends 19:01:41.375361 Response sent (56 bytes) and written to log/6/server.response 19:01:41.375373 special request received, no persistency 19:01:41.375384 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 54490 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1369 ==151815== ==151815== Process terminating with default action of signal 4 (SIGILL) ==151815== Illegal opcode at address 0x4013E00 ==151815== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151815== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151815== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151815== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1369 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/2/valgrind1368 ../src/curl -q --trace-ascii log/2/trace1368 --trace-time http://127.0.0.1:46047/1368 -J -o log/2/outfile1368 -D log/2/heads1368 > log/2/stdout1368 2> log/2/stderr1368 1368: 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 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/2/valgrind1368 ../src/curl -q --trace-ascii log/2/trace1368 --trace-time http://127.0.0.1:46047/1368 -J -o log/2/outfile1368 -D log/2/heads1368 > log/2/stdout1368 2> log/2/stderr1368 === End of file commands.log === Start of file http_server.log 19:01:41.374644 ====> Client connect 19:01:41.374679 accept_connection 3 returned 4 19:01:41.374697 accept_connection 3 returned 0 19:01:41.374712 Read 93 bytes 19:01:41.374724 Process 93 bytes request 19:01:41.374742 Got request: GET /verifiedserver HTTP/1.1 19:01:41.374753 Are-we-friendly question received 19:01:41.374777 Wrote request (93 bytes) input to log/2/server.input 19:01:41.374800 Identifying ourselves as friends 19:01:41.374858 Response sent (57 bytes) and written to log/2/server.response 19:01:41.374873 special request received, no persistency 19:01:41.374883 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46047... * Established connection to 127.0.0.1 (127.0.0.1 port 46047) from 127.0.0.1 port 58250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46047 > User-Agent: curl/8.17.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:46047 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 148921 === 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: 18 WE ROOLZ: 148921 === End of file server.response === Start of file valgrind1368 ==151817== ==151817== Process terminating with default action of signal 4 (SIGILL) ==151817== Illegal opcode at address 0x4013E00 ==151817== at 0x4013E00: getparameter (tool_getparam.c:2846) ==151817== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==151817== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==151817== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1368 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/5/valgrind1370 ../src/curl -q --trace-ascii log/5/trace1370 --trace-time http://127.0.0.1:46771/1370 -J -o log/5/outfile1370 -D log/5/heads1370 > log/5/stdout1370 2> log/5/stderr1370 1370: 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 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/5/valgrind1370 ../src/curl -q --trace-ascii log/5/trace1370 --trace-time http://127.0.0.1:46771/1370 -J -o log/5/outfile1370 -D log/5/heads1370 > log/5/stdout1370 2> log/5/stderr1370 === End of file commands.log === Start of file http_server.log 19:01:41.454180 ====> Client connect 19:01:41.454232 accept_connection 3 returned 4 19:01:41.454253 accept_connection 3 returned 0 19:01:41.454272 Read 93 bytes 19:01:41.454284 Process 93 bytes request 19:01:41.454303 Got request: GET /verifiedserver HTTP/1.1 19:01:41.454313 Are-we-friendly question received 19:01:41.454338 Wrote request (93 bytes) input to log/5/server.input 19:01:41.454357 Identifying ourselves as friends 19:01:41.454441 Response sent (56 bytes) and written to log/5/server.response 19:01:41.454455 special request received, no persistency 19:01:41.454465 ====>CMD (33792): ../libtool --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/valgrind1371 ../src/curl -q --trace-ascii log/3/trace1371 --trace-time http://127.0.0.1:46261/1371 -J -o log/3/outfile1371 -D - > log/3/stdout1371 2> log/3/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/19/valgrind1372 ../src/curl -q --trace-ascii log/19/trace1372 --trace-time http://127.0.0.1:41761/1372 -i -o log/19/outfile1372 -D log/19/heads1372 > log/19/stdout1372 2> log/19/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/22/valgrind1373 ../src/curl -q --trace-ascii log/22/trace1373 --trace-time http://127.0.0.1:41061/1373 -i -o log/22/outfile1373 -D - > log/22/stdout1373 2> log/22/stderr1373 Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 34274 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1370 ==152058== ==152058== Process terminating with default action of signal 4 (SIGILL) ==152058== Illegal opcode at address 0x4013E00 ==152058== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152058== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152058== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152058== by 0x40037A4: 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/3/valgrind1371 ../src/curl -q --trace-ascii log/3/trace1371 --trace-time http://127.0.0.1:46261/1371 -J -o log/3/outfile1371 -D - > log/3/stdout1371 2> log/3/stderr1371 1371: 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 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/3/valgrind1371 ../src/curl -q --trace-ascii log/3/trace1371 --trace-time http://127.0.0.1:46261/1371 -J -o log/3/outfile1371 -D - > log/3/stdout1371 2> log/3/stderr1371 === End of file commands.log === Start of file http_server.log 19:01:42.713672 ====> Client connect 19:01:42.713716 accept_connection 3 returned 4 19:01:42.713735 accept_connection 3 returned 0 19:01:42.713753 Read 93 bytes 19:01:42.713765 Process 93 bytes request 19:01:42.713780 Got request: GET /verifiedserver HTTP/1.1 19:01:42.713791 Are-we-friendly question received 19:01:42.713817 Wrote request (93 bytes) input to log/3/server.input 19:01:42.713835 Identifying ourselves as friends 19:01:42.713911 Response sent (56 bytes) and written to log/3/server.response 19:01:42.713922 special request received, no persistency 19:01:42.713932 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 55220 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind1371 ==152180== ==152180== Process terminating with default action of signal 4 (SIGILL) ==152180== Illegal opcode at address 0x4013E00 ==152180== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152180== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152180== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152180== by 0x40037A4: 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/19/valgrind1372 ../src/curl -q --trace-ascii log/19/trace1372 --trace-time http://127.0.0.1:41761/1372 -i -o log/19/outfile1372 -D log/19/heads1372 > log/19/stdout1372 2> log/19/stderr1372 1372: 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 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/19/valgrind1372 ../src/curl -q --trace-ascii log/19/trace1372 --trace-time http://127.0.0.1:41761/1372 -i -o log/19/outfile1372 -D log/19/heads1372 > log/19/stdout1372 2> log/19/stderr1372 === End of file commands.log === Start of file http_server.log 19:01:41.718869 ====> Client connect 19:01:41.718902 accept_connection 3 returned 4 19:01:41.718919 accept_connection 3 returned 0 19:01:41.718934 Read 93 bytes 19:01:41.718944 Process 93 bytes request 19:01:41.718957 Got request: GET /verifiedserver HTTP/1.1 19:01:41.718967 Are-we-friendly question received 19:01:41.718989 Wrote request (93 bytes) input to log/19/server.input 19:01:41.719006 Identifying ourselves as friends 19:01:41.719060 Response sent (56 bytes) and written to log/19/server.response 19:01:41.719071 special request received, no persistency 19:01:41.719081 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 56866 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind1372 ==152192== ==152192== Process terminating with default action of signal 4 (SIGILL) ==152192== Illegal opcode at address 0x4013E00 ==152192== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152192== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152192== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152192== by 0x40037A4: 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/22/valgrind1373 ../src/curl -q --trace-ascii log/22/trace1373 --trace-time http://127.0.0.1:41061/1373 -i -o log/22/outfile1373 -D - > log/22/stdout1373 2> log/22/stderr1373 1373: 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 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/22/valgrind1373 ../src/curl -q --trace-ascii log/22/trace1373 --trace-time http://127.0.0.1:41061/1373 -i -o log/22/outfile1373 -D - > log/22/stdout1373 2> log/22/stderr1373 === End of file commands.log === Start of file http_server.log 19:01:41.733806 ====> Client connect 19:01:41.733840 accept_connection 3 returned 4 19:01:41.733859 accept_connection 3 returned 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/8/valgrind1375 ../src/curl -q --trace-ascii log/8/trace1375 --trace-time http://127.0.0.1:43853/1375 -i -o log/8/outfile1375 -D - > log/8/stdout1375 2> log/8/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/21/valgrind1374 ../src/curl -q --trace-ascii log/21/trace1374 --trace-time http://127.0.0.1:35043/1374 -i -o log/21/outfile1374 -D log/21/heads1374 > log/21/stdout1374 2> log/21/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/20/valgrind1376 ../src/curl -q --trace-ascii log/20/trace1376 --trace-time http://127.0.0.1:38583/1376 -i -o log/20/outfile1376 > log/20/stdout1376 2> log/20/stderr1376 19:01:41.733874 Read 93 bytes 19:01:41.733886 Process 93 bytes request 19:01:41.733899 Got request: GET /verifiedserver HTTP/1.1 19:01:41.733910 Are-we-friendly question received 19:01:41.733935 Wrote request (93 bytes) input to log/22/server.input 19:01:41.733954 Identifying ourselves as friends 19:01:41.734009 Response sent (56 bytes) and written to log/22/server.response 19:01:41.734021 special request received, no persistency 19:01:41.734032 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 38212 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind1373 ==152222== ==152222== Process terminating with default action of signal 4 (SIGILL) ==152222== Illegal opcode at address 0x4013E00 ==152222== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152222== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152222== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152222== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1373 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/8/valgrind1375 ../src/curl -q --trace-ascii log/8/trace1375 --trace-time http://127.0.0.1:43853/1375 -i -o log/8/outfile1375 -D - > log/8/stdout1375 2> log/8/stderr1375 1375: 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 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/8/valgrind1375 ../src/curl -q --trace-ascii log/8/trace1375 --trace-time http://127.0.0.1:43853/1375 -i -o log/8/outfile1375 -D - > log/8/stdout1375 2> log/8/stderr1375 === End of file commands.log === Start of file http_server.log 19:01:41.864095 ====> Client connect 19:01:41.864129 accept_connection 3 returned 4 19:01:41.864146 accept_connection 3 returned 0 19:01:41.864160 Read 93 bytes 19:01:41.864171 Process 93 bytes request 19:01:41.864182 Got request: GET /verifiedserver HTTP/1.1 19:01:41.864193 Are-we-friendly question received 19:01:41.864226 Wrote request (93 bytes) input to log/8/server.input 19:01:41.864243 Identifying ourselves as friends 19:01:41.864343 Response sent (56 bytes) and written to log/8/server.response 19:01:41.864355 special request received, no persistency 19:01:41.864365 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 56534 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1375 ==152369== ==152369== Process terminating with default action of signal 4 (SIGILL) ==152369== Illegal opcode at address 0x4013E00 ==152369== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152369== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152369== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152369== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1375 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/21/valgrind1374 ../src/curl -q --trace-ascii log/21/trace1374 --trace-time http://127.0.0.1:35043/1374 -i -o log/21/outfile1374 -D log/21/heads1374 > log/21/stdout1374 2> log/21/stderr1374 1374: 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 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/21/valgrind1374 ../src/curl -q --trace-ascii log/21/trace1374 --trace-time http://127.0.0.1:35043/1374 -i -o log/21/outfile1374 -D log/21/heads1374 > log/21/stdout1374 2> log/21/stderr1374 === End of file commands.log === Start of file http_server.log 19:01:41.863952 ====> Client connect 19:01:41.863982 accept_connection 3 returned 4 19:01:41.863996 accept_connection 3 returned 0 19:01:41.864008 Read 93 bytes 19:01:41.864017 Process 93 bytes request 19:01:41.864029 Got request: GET /verifiedserver HTTP/1.1 19:01:41.864038 Are-we-friendly question received 19:01:41.864059 Wrote request (93 bytes) input to log/21/server.input 19:01:41.864074 Identifying ourselves as friends 19:01:41.864129 Response sent (56 bytes) and written to log/21/server.response 19:01:41.864139 special request received, no persistency 19:01:41.864147 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 37666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind1374 ==152377== ==152377== Process terminating with default action of signal 4 (SIGILL) ==152377== Illegal opcode at address 0x4013E00 ==152377== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152377== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152377== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152377== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1374 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/20/valgrind1376 ../src/curl -q --trace-ascii log/20/trace1376 --trace-time http://127.0.0.1:38583/1376 -i -o log/20/outfile1376 > log/20/stdout1376 2> log/20/stderr1376 1376: 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 1376 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes -CMD (33792): ../libtool --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/valgrind1358 ../src/curl -q --trace-ascii log/15/trace1358 --trace-time ftp://127.0.0.1:45705/path/file1358 -O -D - --output-dir log/15 > log/15/stdout1358 2> log/15/stderr1358 CMD (33792): ../libtool --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/valgrind1377 ../src/curl -q --trace-ascii log/9/trace1377 --trace-time http://127.0.0.1:36745/1377 -i -o log/9/outfile1377 > log/9/stdout1377 2> log/9/stderr1377 CMD (33792): ../libtool --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:35357/path/file1378 -o log/14/download1378 > log/14/stdout1378 2> log/14/stderr1378 -suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/20/valgrind1376 ../src/curl -q --trace-ascii log/20/trace1376 --trace-time http://127.0.0.1:38583/1376 -i -o log/20/outfile1376 > log/20/stdout1376 2> log/20/stderr1376 === End of file commands.log === Start of file http_server.log 19:01:41.888342 ====> Client connect 19:01:41.888389 accept_connection 3 returned 4 19:01:41.888409 accept_connection 3 returned 0 19:01:41.888427 Read 93 bytes 19:01:41.888439 Process 93 bytes request 19:01:41.888455 Got request: GET /verifiedserver HTTP/1.1 19:01:41.888466 Are-we-friendly question received 19:01:41.888497 Wrote request (93 bytes) input to log/20/server.input 19:01:41.888517 Identifying ourselves as friends 19:01:41.888586 Response sent (56 bytes) and written to log/20/server.response 19:01:41.888599 special request received, no persistency 19:01:41.888610 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 56464 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind1376 ==152436== ==152436== Process terminating with default action of signal 4 (SIGILL) ==152436== Illegal opcode at address 0x4013E00 ==152436== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152436== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152436== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152436== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1376 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 45705 (log/15/server/ftp_server.port) RUN: FTP server is PID 151130 port 45705 * pid ftp => 151130 151130 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/15/valgrind1358 ../src/curl -q --trace-ascii log/15/trace1358 --trace-time ftp://127.0.0.1:45705/path/file1358 -O -D - --output-dir log/15 > log/15/stdout1358 2> log/15/stderr1358 1358: 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 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/15/valgrind1358 ../src/curl -q --trace-ascii log/15/trace1358 --trace-time ftp://127.0.0.1:45705/path/file1358 -O -D - --output-dir log/15 > log/15/stdout1358 2> log/15/stderr1358 === End of file commands.log === Start of file ftp_server.log 19:01:41.233988 FTP server listens on port IPv4/45705 19:01:41.234071 logged pid 151130 in log/15/server/ftp_server.pid 19:01:41.234102 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:41.005770 Running IPv4 version 19:01:41.005844 Listening on port 45705 19:01:41.005883 Wrote pid 151240 to log/15/server/ftp_sockctrl.pid 19:01:41.005915 Wrote port 45705 to log/15/server/ftp_server.port 19:01:41.005940 Received PING (on stdin) === End of file ftp_sockctrl.log === Start of file server.cmd Testnum 1358 === End of file server.cmd === Start of file valgrind1358 ==152535== ==152535== Process terminating with default action of signal 4 (SIGILL) ==152535== Illegal opcode at address 0x4013E00 ==152535== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152535== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152535== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152535== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1358 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/9/valgrind1377 ../src/curl -q --trace-ascii log/9/trace1377 --trace-time http://127.0.0.1:36745/1377 -i -o log/9/outfile1377 > log/9/stdout1377 2> log/9/stderr1377 1377: 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 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/9/valgrind1377 ../src/curl -q --trace-ascii log/9/trace1377 --trace-time http://127.0.0.1:36745/1377 -i -o log/9/outfile1377 > log/9/stdout1377 2> log/9/stderr1377 === End of file commands.log === Start of file http_server.log 19:01:42.061389 ====> Client connect 19:01:42.061425 accept_connection 3 returned 4 19:01:42.061441 accept_connection 3 returned 0 19:01:42.061729 Read 93 bytes 19:01:42.061742 Process 93 bytes request 19:01:42.061756 Got request: GET /verifiedserver HTTP/1.1 19:01:42.061765 Are-we-friendly question received 19:01:42.061790 Wrote request (93 bytes) input to log/9/server.input 19:01:42.061808 Identifying ourselves as friends 19:01:42.061860 Response sent (56 bytes) and written to log/9/server.response 19:01:42.061870 special request received, no persistency 19:01:42.061879 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 49004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind1377 ==152700== ==152700== Process terminating with default action of signal 4 (SIGILL) ==152700== Illegal opcode at address 0x4013E00 ==152700== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152700== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152700== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152700== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1377 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:35357/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 --CMD (33792): ../libtool --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/valgrind1379 ../src/curl -q --trace-ascii log/13/trace1379 --trace-time ftp://127.0.0.1:40887/path/file1379 -o log/13/download1379 -D log/13/heads1379 > log/13/stdout1379 2> log/13/stderr1379 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:35357/path/file1378 -o log/14/download1378 > log/14/stdout1378 2> log/14/stderr1378 === End of file commands.log === Start of file ftp_server.log 19:01:42.296081 ====> Client connect 19:01:42.296239 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.296550 < "USER anonymous" 19:01:42.296595 > "331 We are happy you popped in![CR][LF]" 19:01:42.296791 < "PASS ftp@example.com" 19:01:42.296824 > "230 Welcome you silly person[CR][LF]" 19:01:42.296986 < "PWD" 19:01:42.297018 > "257 "/" is current directory[CR][LF]" 19:01:42.297180 < "EPSV" 19:01:42.297207 ====> Passive DATA channel requested by client 19:01:42.297221 DATA sockfilt for passive data channel starting... 19:01:42.299526 DATA sockfilt for passive data channel started (pid 152677) 19:01:42.299854 DATA sockfilt for passive data channel listens on port 44361 19:01:42.299903 > "229 Entering Passive Mode (|||44361|)[CR][LF]" 19:01:42.299925 Client has been notified that DATA conn will be accepted on port 44361 19:01:42.300211 Client connects to port 44361 19:01:42.300242 ====> Client established passive DATA connection on port 44361 19:01:42.300320 < "TYPE I" 19:01:42.300350 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.300547 < "SIZE verifiedserver" 19:01:42.300587 > "213 17[CR][LF]" 19:01:42.300748 < "RETR verifiedserver" 19:01:42.300783 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.300860 =====> Closing passive DATA connection... 19:01:42.300877 Server disconnects passive DATA connection 19:01:42.301154 Server disconnected passive DATA connection 19:01:42.301182 DATA sockfilt for passive data channel quits (pid 152677) 19:01:42.301445 DATA sockfilt for passive data channel quit (pid 152677) 19:01:42.301471 =====> Closed passive DATA connection 19:01:42.301498 > "226 File transfer complete[CR][LF]" 19:01:42.345670 < "QUIT" 19:01:42.345715 > "221 bye bye baby[CR][LF]" 19:01:42.346458 MAIN sockfilt said DISC 19:01:42.346490 ====> Client disconnected 19:01:42.346559 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:43.068026 ====> Client connect 19:01:43.068309 Received DATA (on stdin) 19:01:43.068327 > 160 bytes data, server => client 19:01:43.068341 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:43.068354 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:43.068365 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:43.068446 < 16 bytes data, client => server 19:01:43.068460 'USER anonymous\r\n' 19:01:43.068658 Received DATA (on stdin) 19:01:43.068673 > 33 bytes data, server => client 19:01:43.068686 '331 We are happy you popped in!\r\n' 19:01:43.068741 < 22 bytes data, client => server 19:01:43.068753 'PASS ftp@example.com\r\n' 19:01:43.068879 Received DATA (on stdin) 19:01:43.068893 > 30 bytes data, server => client 19:01:43.068905 '230 Welcome you silly person\r\n' 19:01:43.068954 < 5 bytes data, client => server 19:01:43.068967 'PWD\r\n' 19:01:43.069072 Received DATA (on stdin) 19:01:43.069085 > 30 bytes data, server => client 19:01:43.069097 '257 "/" is current directory\r\n' 19:01:43.069153 < 6 bytes data, client => server 19:01:43.069166 'EPSV\r\n' 19:01:43.072037 Received DATA (on stdin) 19:01:43.072056 > 39 bytes data, server => client 19:01:43.072069 '229 Entering Passive Mode (|||44361|)\r\n' 19:01:43.072210 < 8 bytes data, client => server 19:01:43.072223 'TYPE I\r\n' 19:01:43.072410 Received DATA (on stdin) 19:01:43.072424 > 33 bytes data, server => client 19:01:43.072437 '200 I modify TYPE as you wanted\r\n' 19:01:43.072513 < 21 bytes data, client => server 19:01:43.072528 'SIZE verifiedserver\r\n' 19:01:43.072643 Received DATA (on stdin) 19:01:43.072656 > 8 bytes data, server => client 19:01:43.072668 '213 17\r\n' 19:01:43.072716 < 21 bytes data, client => server 19:01:43.072730 'RETR verifiedserver\r\n' 19:01:43.072935 Received DATA (on stdin) 19:01:43.072949 > 29 bytes data, server => client 19:01:43.072963 '150 Binary junk (17 bytes).\r\n' 19:01:43.073555 Received DATA (on stdin) 19:01:43.073570 > 28 bytes data, server => client 19:01:43.073582 '226 File transfer complete\r\n' 19:01:43.117553 < 6 bytes data, client => server 19:01:43.117578 'QUIT\r\n' 19:01:43.117770 Received DATA (on stdin) 19:01:43.117781 > 18 bytes data, server => client 19:01:43.117791 '221 bye bye baby\r\n' 19:01:43.118459 ====> Client disconnect 19:01:43.118610 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.070898 Running IPv4 version 19:01:42.070967 Listening on port 44361 19:01:42.071015 Wrote pid 152677 to log/14/server/ftp_sockdata.pid 19:01:42.071037 Received PING (on stdin) 19:01:42.071809 Received PORT (on stdin) 19:01:42.072180 ====> Client connect 19:01:42.073016 Received DATA (on stdin) 19:01:42.073032 > 17 bytes data, server => client 19:01:42.073044 'WE ROOLZ: 80651\r\n' 19:01:42.073069 Received DISC (on stdin) 19:01:42.073081 ====> Client forcibly disconnected 19:01:42.073245 Received QUIT (on stdin) 19:01:42.073258 quits 19:01:42.073324 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1378 === End of file server.cmd === Start of file valgrind1378 ==152750== ==152750== Process terminating with default action of signal 4 (SIGILL) ==152750== Illegal opcode at address 0x4013E00 ==152750== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152750== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152750== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152750== by 0x40037A4: 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/13/valgrind1379 ../src/curl -q --trace-ascii log/13/trace1379 --trace-time ftp://127.0.0.1:40887/path/file1379 -o log/13/download1379 -D log/13/heads1379 > log/13/stdout1379 2> log/13/stderr1379 1379: 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 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/13/valgrind1379 ../src/curl -q --trace-ascii log/13/trace1379 --trace-time ftp://127.0.0.1:40887/path/file1379 -o log/13/download1379 -D log/13/heads1379 > log/13/stdout1379 2> log/13/stderr1379 === End of file commands.log === Start of file ftp_server.log 19:01:42.299354 ====> Client connect 19:01:42.299518 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.299796 < "USER anonymous" 19:01:42.299832 > "331 We are happy you popped in![CR][LF]" 19:01:42.300004 < "PASS ftp@example.com" 19:01:42.300029 > "230 Welcome you silly person[CR][LF]" 19:01:42.300408 < "PWD" 19:01:42.300441 > "257 "/" is current directory[CR][LF]" 19:01:42.300800 < "EPSV" 19:01:42.300826 ====> Passive DATA channel requested by client 19:01:42.300838 DATA sockfilt for passive data channel starting... 19:01:42.302642 DATA sockfilt for passive data channel started (pid 152685) 19:01:42.302745 DATA sockfilt for passive data channel listens on port 34015 19:01:42.302786 > "229 Entering Passive Mode (|||34015|)[CR][LF]" 19:01:42.302803 Client has been notified that DATA conn will be accepted 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/4/valgrind1380 ../src/curl -q --trace-ascii log/4/trace1380 --trace-time ftp://127.0.0.1:35791/path/file1380 -o log/4/download1380 -D - > log/4/stdout1380 2> log/4/stderr1380 CMD (33792): ../libtool --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/valgrind1382 ../src/curl -q --trace-ascii log/7/trace1382 --trace-time ftp://127.0.0.1:34277/path/file1382 -o log/7/download1382 -J -D - > log/7/stdout1382 2> log/7/stderr1382 n port 34015 19:01:42.303034 Client connects to port 34015 19:01:42.303063 ====> Client established passive DATA connection on port 34015 19:01:42.303132 < "TYPE I" 19:01:42.303162 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.303320 < "SIZE verifiedserver" 19:01:42.303353 > "213 17[CR][LF]" 19:01:42.303501 < "RETR verifiedserver" 19:01:42.303532 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.303610 =====> Closing passive DATA connection... 19:01:42.303627 Server disconnects passive DATA connection 19:01:42.303869 Server disconnected passive DATA connection 19:01:42.303896 DATA sockfilt for passive data channel quits (pid 152685) 19:01:42.304893 DATA sockfilt for passive data channel quit (pid 152685) 19:01:42.304918 =====> Closed passive DATA connection 19:01:42.304946 > "226 File transfer complete[CR][LF]" 19:01:42.349332 < "QUIT" 19:01:42.349386 > "221 bye bye baby[CR][LF]" 19:01:42.351225 MAIN sockfilt said DISC 19:01:42.351257 ====> Client disconnected 19:01:42.351329 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:42.071291 ====> Client connect 19:01:42.071590 Received DATA (on stdin) 19:01:42.071607 > 160 bytes data, server => client 19:01:42.071623 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:42.071636 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:42.071648 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:42.071726 < 16 bytes data, client => server 19:01:42.071741 'USER anonymous\r\n' 19:01:42.071890 Received DATA (on stdin) 19:01:42.071904 > 33 bytes data, server => client 19:01:42.071916 '331 We are happy you popped in!\r\n' 19:01:42.071972 < 22 bytes data, client => server 19:01:42.071985 'PASS ftp@example.com\r\n' 19:01:42.072084 Received DATA (on stdin) 19:01:42.072096 > 30 bytes data, server => client 19:01:42.072107 '230 Welcome you silly person\r\n' 19:01:42.072184 < 5 bytes data, client => server 19:01:42.072198 'PWD\r\n' 19:01:42.072499 Received DATA (on stdin) 19:01:42.072512 > 30 bytes data, server => client 19:01:42.072523 '257 "/" is current directory\r\n' 19:01:42.072706 < 6 bytes data, client => server 19:01:42.072719 'EPSV\r\n' 19:01:42.074862 Received DATA (on stdin) 19:01:42.074876 > 39 bytes data, server => client 19:01:42.074889 '229 Entering Passive Mode (|||34015|)\r\n' 19:01:42.075006 < 8 bytes data, client => server 19:01:42.075021 'TYPE I\r\n' 19:01:42.075219 Received DATA (on stdin) 19:01:42.075232 > 33 bytes data, server => client 19:01:42.075244 '200 I modify TYPE as you wanted\r\n' 19:01:42.075293 < 21 bytes data, client => server 19:01:42.075306 'SIZE verifiedserver\r\n' 19:01:42.075407 Received DATA (on stdin) 19:01:42.075420 > 8 bytes data, server => client 19:01:42.075431 '213 17\r\n' 19:01:42.075477 < 21 bytes data, client => server 19:01:42.075489 'RETR verifiedserver\r\n' 19:01:42.075685 Received DATA (on stdin) 19:01:42.075698 > 29 bytes data, server => client 19:01:42.075710 '150 Binary junk (17 bytes).\r\n' 19:01:42.077004 Received DATA (on stdin) 19:01:42.077018 > 28 bytes data, server => client 19:01:42.077030 '226 File transfer complete\r\n' 19:01:42.121175 < 6 bytes data, client => server 19:01:42.121194 'QUIT\r\n' 19:01:42.121449 Received DATA (on stdin) 19:01:42.121464 > 18 bytes data, server => client 19:01:42.121476 '221 bye bye baby\r\n' 19:01:42.123224 ====> Client disconnect 19:01:42.123390 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.074401 Running IPv4 version 19:01:42.074456 Listening on port 34015 19:01:42.074495 Wrote pid 152685 to log/13/server/ftp_sockdata.pid 19:01:42.074640 Received PING (on stdin) 19:01:42.074718 Received PORT (on stdin) 19:01:42.075041 ====> Client connect 19:01:42.075736 Received DATA (on stdin) 19:01:42.075751 > 17 bytes data, server => client 19:01:42.075763 'WE ROOLZ: 80703\r\n' 19:01:42.075788 Received DISC (on stdin) 19:01:42.075801 ====> Client forcibly disconnected 19:01:42.075959 Received QUIT (on stdin) 19:01:42.075971 quits 19:01:42.076254 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1379 === End of file server.cmd === Start of file valgrind1379 ==152763== ==152763== Process terminating with default action of signal 4 (SIGILL) ==152763== Illegal opcode at address 0x4013E00 ==152763== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152763== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152763== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152763== by 0x40037A4: 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/4/valgrind1380 ../src/curl -q --trace-ascii log/4/trace1380 --trace-time ftp://127.0.0.1:35791/path/file1380 -o log/4/download1380 -D - > log/4/stdout1380 2> log/4/stderr1380 1380: 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 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/4/valgrind1380 ../src/curl -q --trace-ascii log/4/trace1380 --trace-time ftp://127.0.0.1:35791/path/file1380 -o log/4/download1380 -D - > log/4/stdout1380 2> log/4/stderr1380 === End of file commands.log === Start of file ftp_server.log 19:01:42.299446 ====> Client connect 19:01:42.299590 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.300259 < "USER anonymous" 19:01:42.300294 > "331 We are happy you popped in![CR][LF]" 19:01:42.300589 < "PASS ftp@example.com" 19:01:42.300616 > "230 Welcome you silly person[CR][LF]" 19:01:42.302310 < "PWD" 19:01:42.302344 > "257 "/" is current directory[CR][LF]" 19:01:42.302528 < "EPSV" 19:01:42.302553 ====> Passive DATA channel requested by client 19:01:42.302569 DATA sockfilt for passive data channel starting... 19:01:42.304160 DATA sockfilt for passive data channel started (pid 152689) 19:01:42.304392 DATA sockfilt for passive data channel listens on port 33583 19:01:42.304434 > "229 Entering Passive Mode (|||33583|)[CR][LF]" 19:01:42.304453 Client has been notified that DATA conn will be accepted on port 33583 19:01:42.304680 Client connects to port 33583 19:01:42.304710 ====> Client established passive DATA connection on port 33583 19:01:42.304783 < "TYPE I" 19:01:42.304809 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.305117 < "SIZE verifiedserver" 19:01:42.305155 > "213 17[CR][LF]" 19:01:42.305314 < "RETR verifiedserver" 19:01:42.305349 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.305445 =====> Closing passive DATA connection... 19:01:42.305464 Server disconnects passive DATA connection 19:01:42.305701 Server disconnected passive DATA connection 19:01:42.305731 DATA sockfilt for passive data channel quits (pid 152689) 19:01:42.305944 DATA sockfilt for passive data channel quit (pid 152689) 19:01:42.305970 =====> Closed passive DATA connection 19:01:42.305997 > "226 File transfer complete[CR][LF]" 19:01:42.349042 < "QUIT" 19:01:42.349099 > "221 bye bye baby[CR][LF]" 19:01:42.350458 MAIN sockfilt said DISC 19:01:42.350489 ====> Client disconnected 19:01:42.350574 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:42.071406 ====> Client connect 19:01:42.071654 Received DATA (on stdin) 19:01:42.071670 > 160 bytes data, server => client 19:01:42.071682 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:42.071694 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:42.071704 '_ {| |___ CMD (33792): ../libtool --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/valgrind1383 ../src/curl -q --trace-ascii log/10/trace1383 --trace-time ftp://127.0.0.1:42709/path/file1383 -o log/10/download1383 -i -D log/10/heads1383 > log/10/stdout1383 2> log/10/stderr1383 \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:42.072135 < 16 bytes data, client => server 19:01:42.072148 'USER anonymous\r\n' 19:01:42.072351 Received DATA (on stdin) 19:01:42.072365 > 33 bytes data, server => client 19:01:42.072376 '331 We are happy you popped in!\r\n' 19:01:42.072552 < 22 bytes data, client => server 19:01:42.072565 'PASS ftp@example.com\r\n' 19:01:42.072736 Received DATA (on stdin) 19:01:42.072748 > 30 bytes data, server => client 19:01:42.072760 '230 Welcome you silly person\r\n' 19:01:42.074270 < 5 bytes data, client => server 19:01:42.074287 'PWD\r\n' 19:01:42.074402 Received DATA (on stdin) 19:01:42.074415 > 30 bytes data, server => client 19:01:42.074426 '257 "/" is current directory\r\n' 19:01:42.074496 < 6 bytes data, client => server 19:01:42.074510 'EPSV\r\n' 19:01:42.076513 Received DATA (on stdin) 19:01:42.076528 > 39 bytes data, server => client 19:01:42.076540 '229 Entering Passive Mode (|||33583|)\r\n' 19:01:42.076652 < 8 bytes data, client => server 19:01:42.076669 'TYPE I\r\n' 19:01:42.076867 Received DATA (on stdin) 19:01:42.076880 > 33 bytes data, server => client 19:01:42.076893 '200 I modify TYPE as you wanted\r\n' 19:01:42.077079 < 21 bytes data, client => server 19:01:42.077093 'SIZE verifiedserver\r\n' 19:01:42.077210 Received DATA (on stdin) 19:01:42.077223 > 8 bytes data, server => client 19:01:42.077235 '213 17\r\n' 19:01:42.077285 < 21 bytes data, client => server 19:01:42.077298 'RETR verifiedserver\r\n' 19:01:42.077523 Received DATA (on stdin) 19:01:42.077537 > 29 bytes data, server => client 19:01:42.077549 '150 Binary junk (17 bytes).\r\n' 19:01:42.078054 Received DATA (on stdin) 19:01:42.078068 > 28 bytes data, server => client 19:01:42.078080 '226 File transfer complete\r\n' 19:01:42.120897 < 6 bytes data, client => server 19:01:42.120935 'QUIT\r\n' 19:01:42.121215 Received DATA (on stdin) 19:01:42.121229 > 18 bytes data, server => client 19:01:42.121241 '221 bye bye baby\r\n' 19:01:42.122457 ====> Client disconnect 19:01:42.122638 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.075921 Running IPv4 version 19:01:42.075973 Listening on port 33583 19:01:42.076136 Wrote pid 152689 to log/4/server/ftp_sockdata.pid 19:01:42.076160 Received PING (on stdin) 19:01:42.076354 Received PORT (on stdin) 19:01:42.076690 ====> Client connect 19:01:42.077576 Received DATA (on stdin) 19:01:42.077590 > 17 bytes data, server => client 19:01:42.077602 'WE ROOLZ: 80681\r\n' 19:01:42.077625 Received DISC (on stdin) 19:01:42.077638 ====> Client forcibly disconnected 19:01:42.077794 Received QUIT (on stdin) 19:01:42.077807 quits 19:01:42.077861 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1380 === End of file server.cmd === Start of file valgrind1380 ==152757== ==152757== Process terminating with default action of signal 4 (SIGILL) ==152757== Illegal opcode at address 0x4013E00 ==152757== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152757== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152757== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152757== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1380 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/7/valgrind1382 ../src/curl -q --trace-ascii log/7/trace1382 --trace-time ftp://127.0.0.1:34277/path/file1382 -o log/7/download1382 -J -D - > log/7/stdout1382 2> log/7/stderr1382 1382: 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 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/7/valgrind1382 ../src/curl -q --trace-ascii log/7/trace1382 --trace-time ftp://127.0.0.1:34277/path/file1382 -o log/7/download1382 -J -D - > log/7/stdout1382 2> log/7/stderr1382 === End of file commands.log === Start of file ftp_server.log 19:01:42.303204 ====> Client connect 19:01:42.303355 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.303639 < "USER anonymous" 19:01:42.303683 > "331 We are happy you popped in![CR][LF]" 19:01:42.303872 < "PASS ftp@example.com" 19:01:42.303901 > "230 Welcome you silly person[CR][LF]" 19:01:42.304060 < "PWD" 19:01:42.304092 > "257 "/" is current directory[CR][LF]" 19:01:42.304262 < "EPSV" 19:01:42.304287 ====> Passive DATA channel requested by client 19:01:42.304301 DATA sockfilt for passive data channel starting... 19:01:42.306472 DATA sockfilt for passive data channel started (pid 152694) 19:01:42.306579 DATA sockfilt for passive data channel listens on port 37181 19:01:42.306626 > "229 Entering Passive Mode (|||37181|)[CR][LF]" 19:01:42.306646 Client has been notified that DATA conn will be accepted on port 37181 19:01:42.306878 Client connects to port 37181 19:01:42.306909 ====> Client established passive DATA connection on port 37181 19:01:42.306987 < "TYPE I" 19:01:42.307017 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.307177 < "SIZE verifiedserver" 19:01:42.307215 > "213 17[CR][LF]" 19:01:42.307369 < "RETR verifiedserver" 19:01:42.307405 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.307486 =====> Closing passive DATA connection... 19:01:42.307502 Server disconnects passive DATA connection 19:01:42.307759 Server disconnected passive DATA connection 19:01:42.307786 DATA sockfilt for passive data channel quits (pid 152694) 19:01:42.308048 DATA sockfilt for passive data channel quit (pid 152694) 19:01:42.308071 =====> Closed passive DATA connection 19:01:42.308102 > "226 File transfer complete[CR][LF]" 19:01:42.352270 < "QUIT" 19:01:42.352324 > "221 bye bye baby[CR][LF]" 19:01:42.353526 MAIN sockfilt said DISC 19:01:42.353576 ====> Client disconnected 19:01:42.353649 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:42.075157 ====> Client connect 19:01:42.075425 Received DATA (on stdin) 19:01:42.075442 > 160 bytes data, server => client 19:01:42.075456 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:42.075467 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:42.075479 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:42.075549 < 16 bytes data, client => server 19:01:42.075564 'USER anonymous\r\n' 19:01:42.075744 Received DATA (on stdin) 19:01:42.075758 > 33 bytes data, server => client 19:01:42.075771 '331 We are happy you popped in!\r\n' 19:01:42.075824 < 22 bytes data, client => server 19:01:42.075837 'PASS ftp@example.com\r\n' 19:01:42.075956 Received DATA (on stdin) 19:01:42.075969 > 30 bytes data, server => client 19:01:42.075982 '230 Welcome you silly person\r\n' 19:01:42.076029 < 5 bytes data, client => server 19:01:42.076042 'PWD\r\n' 19:01:42.076148 Received DATA (on stdin) 19:01:42.076161 > 30 bytes data, server => client 19:01:42.076174 '257 "/" is current directory\r\n' 19:01:42.076230 < 6 bytes data, client => server 19:01:42.076243 'EPSV\r\n' 19:01:42.078707 Received DATA (on stdin) 19:01:42.078723 > 39 bytes data, server => client 19:01:42.078736 '229 Entering Passive Mode (|||37181|)\r\n' 19:01:42.078847 < 8 bytes data, client => server 19:01:42.078863 'TYPE I\r\n' 19:01:42.079073 Received DATA (on stdin) 19:01:42.079087 > 33 bytes data, server => client 19:01:42.079099 '200 I modify TYPE as you wanted\r\n' 19:01:42.079149 < 21 bytes data, client => server 19:01:42.079161 'SIZE verifiedserver\r\n' 19:01:42.079270 Received DATA (on stdin) 19:01:42.079282 > 8 bytes data, server => client 19:01:42.079294 '213 17\r\n' 19:01:42.079341 < 21 bytes data, client => server 19:01:42.079354 'RETR verifiedserver\r\n' 19:01:42.079560 Received DATA (on stdin) 19:01:42.079574 > 29 bytes data, server => client 19:01:42.079586 '150 Binary junk (17 bytes).\r\n' 19:01:42.080160 Received DATA (on stdin) 19:01:42.080175 > 28 bytes data, server => client 19:01:42.080188 '226 File transfer complete\r\n' 19:01:42.124176 < 6 bytes data, client => server 19:01:42.124199 'QUIT\r\n' 19:01:42.124384 Received DATA (on stdin) 19:01:42.124396 > 18 bytes data, server => client 19:01:42.124406 '221 bye bye baby\r\n' 19:01:42.125249 ====> Client disconnect 19:01:42.125702 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.078201 Running IPv4 version 19:01:42.078270 Listening on port 37181 19:01:42.078305 Wrote pid 152694 to log/7/server/ftp_sockdata.pid 19:01:42.078472 Received PING (on stdin) 19:01:42.078550 Received PORT (on stdin) 19:01:42.078885 ====> Client connect 19:01:42.079640 Received DATA (on stdin) 19:01:42.079656 > 17 bytes data, server => client 19:01:42.079669 'WE ROOLZ: 89392\r\n' 19:01:42.079694 Received DISC (on stdin) 19:01:42.079708 ====> Client forcibly disconnected 19:01:42.079849 Received QUIT (on stdin) 19:01:42.079862 quits 19:01:42.079918 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1382 === End of file server.cmd === Start of file valgrind1382 ==152775== ==152775== Process terminating with default action of signal 4 (SIGILL) ==152775== Illegal opcode at address 0x4013E00 ==152775== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152775== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152775== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152775== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1382 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/10/valgrind1383 ../src/curl -q --trace-ascii log/10/trace1383 --trace-time ftp://127.0.0.1:42709/path/file1383 -o log/10/download1383 -i -D log/10/heads1383 > log/10/stdout1383 2> log/10/stderr1383 1383: 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 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/10/valgrind1383 ../src/curl -q --trace-ascii log/10/trace1383 --trace-time ftp://127.0.0.1:42709/path/file1383 -o log/10/download1383 -i -D log/10/heads1383 > log/10/stdout1383 2> log/10/stderr1383 === End of file commands.log === Start of file ftp_server.log 19:01:42.309678 ====> Client connect 19:01:42.309797 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.310010 < "USER anonymous" 19:01:42.310036 > "331 We are happy you popped in![CR][LF]" 19:01:42.310167 < "PASS ftp@example.com" 19:01:42.310186 > "230 Welcome you silly person[CR][LF]" 19:01:42.310304 < "PWD" 19:01:42.310330 > "257 "/" is current directory[CR][LF]" 19:01:42.310454 < "EPSV" 19:01:42.310472 ====> Passive DATA channel requested by client 19:01:42.310483 DATA sockfilt for passive data channel starting... 19:01:42.312016 DATA sockfilt for passive data channel started (pid 152706) 19:01:42.312141 DATA sockfilt for passive data channel listens on port 41711 19:01:42.312185 > "229 Entering Passive Mode (|||41711|)[CR][LF]" 19:01:42.312204 Client has been notified that DATA conn will be accepted on port 41711 19:01:42.312437 Client connects to port 41711 19:01:42.312465 ====> Client established passive DATA connection on port 41711 19:01:42.312540 < "TYPE I" 19:01:42.312570 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.312729 < "SIZE verifiedserver" 19:01:42.312764 > "213 17[CR][LF]" 19:01:42.312915 < "RETR verifiedserver" 19:01:42.312948 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.313034 =====> Closing passive DATA connection... 19:01:42.313050 Server disconnects passive DATA connection 19:01:42.313291 Server disconnected passive DATA connection 19:01:42.313317 DATA sockfilt for passive data channel quits (pid 152706) 19:01:42.313600 DATA sockfilt for passive data channel quit (pid 152706) 19:01:42.313647 =====> Closed passive DATA connection 19:01:42.313688 > "226 File transfer complete[CR][LF]" 19:01:42.360327 < "QUIT" 19:01:42.360383 > "221 bye bye baby[CR][LF]" 19:01:42.361391 MAIN sockfilt said DISC 19:01:42.361437 ====> Client disconnected 19:01:42.361519 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:43.081646 ====> Client connect 19:01:43.081856 Received DATA (on stdin) 19:01:43.081869 > 160 bytes data, server => client 19:01:43.081879 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:43.081888 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:43.081897 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:43.081952 < 16 bytes data, client => server 19:01:43.081962 'USER anonymous\r\n' 19:01:43.082090 Received DATA (on stdin) 19:01:43.082100 > 33 bytes data, server => client 19:01:43.082110 '331 We are happy you popped in!\r\n' 19:01:43.082149 < 22 bytes data, client => server 19:01:43.082159 'PASS ftp@example.com\r\n' 19:01:43.082236 Received DATA (on stdin) 19:01:43.082245 > 30 bytes data, server => client 19:01:43.082255 '230 Welcome you silly person\r\n' 19:01:43.082291 < 5 bytes data, client => server 19:01:43.082300 'PWD\r\n' 19:01:43.082380 Received DATA (on stdin) 19:01:43.082389 > 30 bytes data, server => client 19:01:43.082398 '257 "/" is current directory\r\n' 19:01:43.082441 < 6 bytes data, client => server 19:01:43.082451 'EPSV\r\n' 19:01:43.084267 Received DATA (on stdin) 19:01:43.084282 > 39 bytes data, server => client 19:01:43.084295 '229 Entering Passive Mode (|||41711|)\r\n' 19:01:43.084407 < 8 bytes data, client => server 19:01:43.084423 'TYPE I\r\n' 19:01:43.084625 Received DATA (on stdin) 19:01:43.084639 > 33 bytes data, server => client 19:01:43.084652 '200 I modify TYPE as you wanted\r\n' 19:01:43.084701 < 21 bytes data, client => server 19:01:43.084714 'SIZE verifiedserver\r\n' 19:01:43.084819 Received DATA (on stdin) 19:01:43.084832 > 8 bytes data, server => client 19:01:43.084843 '213 17\r\n' 19:01:43.084889 < 21 bytes data, client => server 19:01:43.084901 'RETR verifiedserver\r\n' 19:01:43.085109 Received DATA (on stdin) 19:01:43.085122 > 29 bytes data, server => client 19:01:43.085134 '150 Binary junk (17 bytes).\r\n' 19:01:43.085759 Received DATA (on stdin) 19:01:43.085779 > 28 bytes data, server => client 19:01:43.085793 '226 File transfer complete\r\n' 19:01:43.132177 < 6 bytes data, client => server 19:01:43.132216 'QUIT\r\n' 19:01:43.132446 Received DATA (on stdin) 19:01:43.132462 > 18 bytes data, server => client 19:01:43.132475 '221 bye bye baby\r\n' 19:01:43.133383 ====> Client disconnect 19:01:43.133579 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.083878 Running IPv4 version 19:01:42.083942 Listening on port 41711 19:01:42.083983 Wrote pid 152706 to log/10/server/ftp_sockdata.pid 19:01:42.084006 Received PING (on stdin) 19:01:42.084110 Received PORT (on stdin) 19:01:42.084443 ====> Client connect 19:01:42.085160 Received DATA (on stdin) 19:01:42.085174 > 17 bytes data, server => client 19:01:42.085186 'WE ROOLZ: 80847\r\n' 19:01:42.085210 Received DISC (on stdin) 19:01:42.085222 ====> Client forcibly disconnected 19:01:42.085381 Received QUIT (on stdin) 19:01:42.085395 quits 19:01:42.085462 ============> sockfilt quits === End of file ftp_CMD (33792): ../libtool --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/valgrind1381 ../src/curl -q --trace-ascii log/11/trace1381 --trace-time ftp://127.0.0.1:35787/path/file1381 -o log/11/download1381 -J -D log/11/heads1381 > log/11/stdout1381 2> log/11/stderr1381 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/valgrind1394 ./tunit/tunits tool1394 - > log/3/stdout1394 2> log/3/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/16/valgrind1385 ../src/curl -q --trace-ascii log/16/trace1385 --trace-time ftp://127.0.0.1:35319/path/file1385 -o log/16/download1385 -i > log/16/stdout1385 2> log/16/stderr1385 sockdata.log === Start of file server.cmd Testnum 1383 === End of file server.cmd === Start of file valgrind1383 ==152798== ==152798== Process terminating with default action of signal 4 (SIGILL) ==152798== Illegal opcode at address 0x4013E00 ==152798== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152798== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152798== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152798== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1383 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/11/valgrind1381 ../src/curl -q --trace-ascii log/11/trace1381 --trace-time ftp://127.0.0.1:35787/path/file1381 -o log/11/download1381 -J -D log/11/heads1381 > log/11/stdout1381 2> log/11/stderr1381 1381: 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 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/11/valgrind1381 ../src/curl -q --trace-ascii log/11/trace1381 --trace-time ftp://127.0.0.1:35787/path/file1381 -o log/11/download1381 -J -D log/11/heads1381 > log/11/stdout1381 2> log/11/stderr1381 === End of file commands.log === Start of file ftp_server.log 19:01:42.310428 ====> Client connect 19:01:42.310576 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.310891 < "USER anonymous" 19:01:42.310938 > "331 We are happy you popped in![CR][LF]" 19:01:42.311179 < "PASS ftp@example.com" 19:01:42.311225 > "230 Welcome you silly person[CR][LF]" 19:01:42.311377 < "PWD" 19:01:42.311403 > "257 "/" is current directory[CR][LF]" 19:01:42.311530 < "EPSV" 19:01:42.311549 ====> Passive DATA channel requested by client 19:01:42.311560 DATA sockfilt for passive data channel starting... 19:01:42.313521 DATA sockfilt for passive data channel started (pid 152709) 19:01:42.313664 DATA sockfilt for passive data channel listens on port 39617 19:01:42.313711 > "229 Entering Passive Mode (|||39617|)[CR][LF]" 19:01:42.313733 Client has been notified that DATA conn will be accepted on port 39617 19:01:42.313958 Client connects to port 39617 19:01:42.313993 ====> Client established passive DATA connection on port 39617 19:01:42.314076 < "TYPE I" 19:01:42.314107 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.314300 < "SIZE verifiedserver" 19:01:42.314358 > "213 17[CR][LF]" 19:01:42.314581 < "RETR verifiedserver" 19:01:42.314621 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.314708 =====> Closing passive DATA connection... 19:01:42.314726 Server disconnects passive DATA connection 19:01:42.315010 Server disconnected passive DATA connection 19:01:42.315040 DATA sockfilt for passive data channel quits (pid 152709) 19:01:42.315295 DATA sockfilt for passive data channel quit (pid 152709) 19:01:42.315318 =====> Closed passive DATA connection 19:01:42.315347 > "226 File transfer complete[CR][LF]" 19:01:42.360901 < "QUIT" 19:01:42.360957 > "221 bye bye baby[CR][LF]" 19:01:42.361956 MAIN sockfilt said DISC 19:01:42.361988 ====> Client disconnected 19:01:42.362069 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:42.082385 ====> Client connect 19:01:42.082649 Received DATA (on stdin) 19:01:42.082669 > 160 bytes data, server => client 19:01:42.082684 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:42.082696 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:42.082708 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:42.082797 < 16 bytes data, client => server 19:01:42.082814 'USER anonymous\r\n' 19:01:42.082993 Received DATA (on stdin) 19:01:42.083017 > 33 bytes data, server => client 19:01:42.083030 '331 We are happy you popped in!\r\n' 19:01:42.083093 < 22 bytes data, client => server 19:01:42.083107 'PASS ftp@example.com\r\n' 19:01:42.083284 Received DATA (on stdin) 19:01:42.083298 > 30 bytes data, server => client 19:01:42.083311 '230 Welcome you silly person\r\n' 19:01:42.083356 < 5 bytes data, client => server 19:01:42.083366 'PWD\r\n' 19:01:42.083454 Received DATA (on stdin) 19:01:42.083464 > 30 bytes data, server => client 19:01:42.083473 '257 "/" is current directory\r\n' 19:01:42.083516 < 6 bytes data, client => server 19:01:42.083525 'EPSV\r\n' 19:01:42.085795 Received DATA (on stdin) 19:01:42.085811 > 39 bytes data, server => client 19:01:42.085823 '229 Entering Passive Mode (|||39617|)\r\n' 19:01:42.085928 < 8 bytes data, client => server 19:01:42.085943 'TYPE I\r\n' 19:01:42.086164 Received DATA (on stdin) 19:01:42.086177 > 33 bytes data, server => client 19:01:42.086190 '200 I modify TYPE as you wanted\r\n' 19:01:42.086240 < 21 bytes data, client => server 19:01:42.086253 'SIZE verifiedserver\r\n' 19:01:42.086421 Received DATA (on stdin) 19:01:42.086443 > 8 bytes data, server => client 19:01:42.086456 '213 17\r\n' 19:01:42.086534 < 21 bytes data, client => server 19:01:42.086548 'RETR verifiedserver\r\n' 19:01:42.086788 Received DATA (on stdin) 19:01:42.086803 > 29 bytes data, server => client 19:01:42.086815 '150 Binary junk (17 bytes).\r\n' 19:01:42.087407 Received DATA (on stdin) 19:01:42.087431 > 28 bytes data, server => client 19:01:42.087443 '226 File transfer complete\r\n' 19:01:42.130906 < 6 bytes data, client => server 19:01:42.130935 'QUIT\r\n' 19:01:42.133024 Received DATA (on stdin) 19:01:42.133041 > 18 bytes data, server => client 19:01:42.133053 '221 bye bye baby\r\n' 19:01:42.133953 ====> Client disconnect 19:01:42.134132 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.085312 Running IPv4 version 19:01:42.085382 Listening on port 39617 19:01:42.085428 Wrote pid 152709 to log/11/server/ftp_sockdata.pid 19:01:42.085503 Received PING (on stdin) 19:01:42.085614 Received PORT (on stdin) 19:01:42.085964 ====> Client connect 19:01:42.086848 Received DATA (on stdin) 19:01:42.086867 > 17 bytes data, server => client 19:01:42.086879 'WE ROOLZ: 80684\r\n' 19:01:42.086905 Received DISC (on stdin) 19:01:42.086919 ====> Client forcibly disconnected 19:01:42.087107 Received QUIT (on stdin) 19:01:42.087122 quits 19:01:42.087181 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1381 === End of file server.cmd === Start of file valgrind1381 ==152801== ==152801== Process terminating with default action of signal 4 (SIGILL) ==152801== Illegal opcode at address 0x4013E00 ==152801== at 0x4013E00: getparameter (tool_getparam.c:2846) ==152801== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==152801== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==152801== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1381 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/3/valgrind1394 ./tunit/tunits tool1394 - > log/3/stdout1394 2> log/3/stderr1394 -------e-v- OK (1325 out of 1746, remaining: 00:35, took 0.593s, duration: 01:51) 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/16/valgrind1385 ../src/curl -q --trace-ascii log/16/trace1385 --trace-time ftp://127.0.0.1:35319/path/file1385 -o log/16/download1385 -i > log/16/stdout1385 2> log/16/stderr1385 1385: protocol FAILED! 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/17/valgrind1384 ../src/curl -q --trace-ascii log/17/trace1384 --trace-time ftp://127.0.0.1:32811/path/file1384 -o log/17/download1384 -i -D - > log/17/stdout1384 2> log/17/stderr1384 here 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 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/16/valgrind1385 ../src/curl -q --trace-ascii log/16/trace1385 --trace-time ftp://127.0.0.1:35319/path/file1385 -o log/16/download1385 -i > log/16/stdout1385 2> log/16/stderr1385 === End of file commands.log === Start of file ftp_server.log 19:01:42.499099 ====> Client connect 19:01:42.499272 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.499570 < "USER anonymous" 19:01:42.499609 > "331 We are happy you popped in![CR][LF]" 19:01:42.499789 < "PASS ftp@example.com" 19:01:42.499818 > "230 Welcome you silly person[CR][LF]" 19:01:42.499981 < "PWD" 19:01:42.500014 > "257 "/" is current directory[CR][LF]" 19:01:42.500181 < "EPSV" 19:01:42.500205 ====> Passive DATA channel requested by client 19:01:42.500220 DATA sockfilt for passive data channel starting... 19:01:42.501931 DATA sockfilt for passive data channel started (pid 153073) 19:01:42.502040 DATA sockfilt for passive data channel listens on port 35771 19:01:42.502085 > "229 Entering Passive Mode (|||35771|)[CR][LF]" 19:01:42.502103 Client has been notified that DATA conn will be accepted on port 35771 19:01:42.502324 Client connects to port 35771 19:01:42.502357 ====> Client established passive DATA connection on port 35771 19:01:42.502429 < "TYPE I" 19:01:42.502459 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.502625 < "SIZE verifiedserver" 19:01:42.502665 > "213 17[CR][LF]" 19:01:42.502886 < "RETR verifiedserver" 19:01:42.502947 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.503041 =====> Closing passive DATA connection... 19:01:42.503058 Server disconnects passive DATA connection 19:01:42.503160 Server disconnected passive DATA connection 19:01:42.503181 DATA sockfilt for passive data channel quits (pid 153073) 19:01:42.503522 DATA sockfilt for passive data channel quit (pid 153073) 19:01:42.503547 =====> Closed passive DATA connection 19:01:42.503575 > "226 File transfer complete[CR][LF]" 19:01:42.545753 < "QUIT" 19:01:42.545826 > "221 bye bye baby[CR][LF]" 19:01:42.547019 MAIN sockfilt said DISC 19:01:42.547063 ====> Client disconnected 19:01:42.547132 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:42.271033 ====> Client connect 19:01:42.271342 Received DATA (on stdin) 19:01:42.271359 > 160 bytes data, server => client 19:01:42.271374 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:42.271388 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:42.271401 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:42.271475 < 16 bytes data, client => server 19:01:42.271491 'USER anonymous\r\n' 19:01:42.271670 Received DATA (on stdin) 19:01:42.271684 > 33 bytes data, server => client 19:01:42.271697 '331 We are happy you popped in!\r\n' 19:01:42.271749 < 22 bytes data, client => server 19:01:42.271763 'PASS ftp@example.com\r\n' 19:01:42.271874 Received DATA (on stdin) 19:01:42.271887 > 30 bytes data, server => client 19:01:42.271899 '230 Welcome you silly person\r\n' 19:01:42.271948 < 5 bytes data, client => server 19:01:42.271961 'PWD\r\n' 19:01:42.272069 Received DATA (on stdin) 19:01:42.272081 > 30 bytes data, server => client 19:01:42.272094 '257 "/" is current directory\r\n' 19:01:42.272153 < 6 bytes data, client => server 19:01:42.272165 'EPSV\r\n' 19:01:42.274161 Received DATA (on stdin) 19:01:42.274175 > 39 bytes data, server => client 19:01:42.274186 '229 Entering Passive Mode (|||35771|)\r\n' 19:01:42.274325 < 8 bytes data, client => server 19:01:42.274338 'TYPE I\r\n' 19:01:42.274515 Received DATA (on stdin) 19:01:42.274527 > 33 bytes data, server => client 19:01:42.274539 '200 I modify TYPE as you wanted\r\n' 19:01:42.274589 < 21 bytes data, client => server 19:01:42.274601 'SIZE verifiedserver\r\n' 19:01:42.274723 Received DATA (on stdin) 19:01:42.274736 > 8 bytes data, server => client 19:01:42.274747 '213 17\r\n' 19:01:42.274798 < 21 bytes data, client => server 19:01:42.274811 'RETR verifiedserver\r\n' 19:01:42.275124 Received DATA (on stdin) 19:01:42.275144 > 29 bytes data, server => client 19:01:42.275157 '150 Binary junk (17 bytes).\r\n' 19:01:42.275634 Received DATA (on stdin) 19:01:42.275650 > 28 bytes data, server => client 19:01:42.275663 '226 File transfer complete\r\n' 19:01:42.317588 < 6 bytes data, client => server 19:01:42.317629 'QUIT\r\n' 19:01:42.317893 Received DATA (on stdin) 19:01:42.317909 > 18 bytes data, server => client 19:01:42.317922 '221 bye bye baby\r\n' 19:01:42.319010 ====> Client disconnect 19:01:42.319195 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.273810 Running IPv4 version 19:01:42.273865 Listening on port 35771 19:01:42.273907 Wrote pid 153073 to log/16/server/ftp_sockdata.pid 19:01:42.273927 Received PING (on stdin) 19:01:42.274010 Received PORT (on stdin) 19:01:42.274297 ====> Client connect 19:01:42.275019 Received DATA (on stdin) 19:01:42.275034 > 17 bytes data, server => client 19:01:42.275046 'WE ROOLZ: 80535\r\n' 19:01:42.275118 Received DISC (on stdin) 19:01:42.275133 ====> Client forcibly disconnected 19:01:42.275250 Received QUIT (on stdin) 19:01:42.275267 quits 19:01:42.275335 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1385 === End of file server.cmd === Start of file valgrind1385 ==153083== ==153083== Process terminating with default action of signal 4 (SIGILL) ==153083== Illegal opcode at address 0x4013E00 ==153083== at 0x4013E00: getparameter (tool_getparam.c:2846) ==153083== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153083== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==153083== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1385 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/17/valgrind1384 ../src/curl -q --trace-ascii log/17/trace1384 --trace-time ftp://127.0.0.1:32811/path/file1384 -o log/17/download1384 -i -D - > log/17/stdout1384 2> log/17/stderr1384 1384: 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 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/17/valgrind1384 ../src/curl -q --trace-ascii log/17/trace1384 --trace-time ftp://127.0.0.1:32811/path/file1384 -o log/17/download1384 -i -D - > log/17/stdout1384 2> log/17/stderr1384 === End of file commands.log === Start of file ftp_server.log 19:01:42.498765 ====> Client connect 19:01:42.498936 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.499262 < "USER anonymous" 19:01:42.499307 > "331 We are happy you popped in![CR][LF]" 19:01:42.499497 < "PASS ftp@example.com" 19:01:42.499523 > "230 Welcome you silly person[CR][LF]" 19:01:42.499683 < "PWD" 19:01:42.499713 > "257 "/" is current directory[CR][LF]" 19:01:42.499883 < "EPSV" 19:01:42.499907 ====> Passive DATA channel requested by client 19:01:42.499922 DATA sockfilt for passive data channel starting... 19:01:42.501975 DATA sockfilt for passive data channel started (pid 153072) 19:01:42.502377 DATA socCMD (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/valgrind1395 ./unit/units unit1395 - > log/19/stdout1395 2> log/19/stderr1395 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/valgrind1397 ./unit/units unit1397 - > log/8/stdout1397 2> log/8/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/5/valgrind1393 ../src/curl -q --trace-ascii log/5/trace1393 --trace-time ftp://127.0.0.1:41821/path/file1393 -o log/5/download1393 -i > log/5/stdout1393 2> log/5/stderr1393 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/20/valgrind1399 ./unit/units unit1399 - > log/20/stdout1399 2> log/20/stderr1399 kfilt for passive data channel listens on port 37457 19:01:42.502432 > "229 Entering Passive Mode (|||37457|)[CR][LF]" 19:01:42.502452 Client has been notified that DATA conn will be accepted on port 37457 19:01:42.502707 Client connects to port 37457 19:01:42.502738 ====> Client established passive DATA connection on port 37457 19:01:42.502829 < "TYPE I" 19:01:42.502856 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.502992 < "SIZE verifiedserver" 19:01:42.503033 > "213 17[CR][LF]" 19:01:42.503184 < "RETR verifiedserver" 19:01:42.503221 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.503297 =====> Closing passive DATA connection... 19:01:42.503311 Server disconnects passive DATA connection 19:01:42.503503 Server disconnected passive DATA connection 19:01:42.503526 DATA sockfilt for passive data channel quits (pid 153072) 19:01:42.503731 DATA sockfilt for passive data channel quit (pid 153072) 19:01:42.503749 =====> Closed passive DATA connection 19:01:42.503771 > "226 File transfer complete[CR][LF]" 19:01:42.545752 < "QUIT" 19:01:42.545816 > "221 bye bye baby[CR][LF]" 19:01:42.546961 MAIN sockfilt said DISC 19:01:42.547000 ====> Client disconnected 19:01:42.547084 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:42.270680 ====> Client connect 19:01:42.271008 Received DATA (on stdin) 19:01:42.271027 > 160 bytes data, server => client 19:01:42.271041 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:42.271053 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:42.271065 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:42.271151 < 16 bytes data, client => server 19:01:42.271166 'USER anonymous\r\n' 19:01:42.271368 Received DATA (on stdin) 19:01:42.271383 > 33 bytes data, server => client 19:01:42.271396 '331 We are happy you popped in!\r\n' 19:01:42.271451 < 22 bytes data, client => server 19:01:42.271464 'PASS ftp@example.com\r\n' 19:01:42.271579 Received DATA (on stdin) 19:01:42.271592 > 30 bytes data, server => client 19:01:42.271605 '230 Welcome you silly person\r\n' 19:01:42.271653 < 5 bytes data, client => server 19:01:42.271665 'PWD\r\n' 19:01:42.271770 Received DATA (on stdin) 19:01:42.271783 > 30 bytes data, server => client 19:01:42.271796 '257 "/" is current directory\r\n' 19:01:42.271853 < 6 bytes data, client => server 19:01:42.271867 'EPSV\r\n' 19:01:42.274520 Received DATA (on stdin) 19:01:42.274538 > 39 bytes data, server => client 19:01:42.274551 '229 Entering Passive Mode (|||37457|)\r\n' 19:01:42.274706 < 8 bytes data, client => server 19:01:42.274720 'TYPE I\r\n' 19:01:42.274908 Received DATA (on stdin) 19:01:42.274920 > 33 bytes data, server => client 19:01:42.274930 '200 I modify TYPE as you wanted\r\n' 19:01:42.274971 < 21 bytes data, client => server 19:01:42.274982 'SIZE verifiedserver\r\n' 19:01:42.275088 Received DATA (on stdin) 19:01:42.275099 > 8 bytes data, server => client 19:01:42.275109 '213 17\r\n' 19:01:42.275157 < 21 bytes data, client => server 19:01:42.275167 'RETR verifiedserver\r\n' 19:01:42.275366 Received DATA (on stdin) 19:01:42.275377 > 29 bytes data, server => client 19:01:42.275387 '150 Binary junk (17 bytes).\r\n' 19:01:42.275823 Received DATA (on stdin) 19:01:42.275835 > 28 bytes data, server => client 19:01:42.275844 '226 File transfer complete\r\n' 19:01:42.317641 < 6 bytes data, client => server 19:01:42.317666 'QUIT\r\n' 19:01:42.317880 Received DATA (on stdin) 19:01:42.317893 > 18 bytes data, server => client 19:01:42.317904 '221 bye bye baby\r\n' 19:01:42.318958 ====> Client disconnect 19:01:42.319139 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.273847 Running IPv4 version 19:01:42.273906 Listening on port 37457 19:01:42.273944 Wrote pid 153072 to log/17/server/ftp_sockdata.pid 19:01:42.273964 Received PING (on stdin) 19:01:42.274071 Received PORT (on stdin) 19:01:42.274678 ====> Client connect 19:01:42.275409 Received DATA (on stdin) 19:01:42.275421 > 17 bytes data, server => client 19:01:42.275430 'WE ROOLZ: 80755\r\n' 19:01:42.275449 Received DISC (on stdin) 19:01:42.275459 ====> Client forcibly disconnected 19:01:42.275585 Received QUIT (on stdin) 19:01:42.275596 quits 19:01:42.275646 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1384 === End of file server.cmd === Start of file valgrind1384 ==153086== ==153086== Process terminating with default action of signal 4 (SIGILL) ==153086== Illegal opcode at address 0x4013E00 ==153086== at 0x4013E00: getparameter (tool_getparam.c:2846) ==153086== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153086== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==153086== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1384 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/19/valgrind1395 ./unit/units unit1395 - > log/19/stdout1395 2> log/19/stderr1395 -------e-v- OK (1326 out of 1746, remaining: 00:35, took 0.657s, duration: 01:51) 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/8/valgrind1397 ./unit/units unit1397 - > log/8/stdout1397 2> log/8/stderr1397 -------e-v- OK (1328 out of 1746, remaining: 00:35, took 0.639s, duration: 01:51) 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/5/valgrind1393 ../src/curl -q --trace-ascii log/5/trace1393 --trace-time ftp://127.0.0.1:41821/path/file1393 -o log/5/download1393 -i > log/5/stdout1393 2> log/5/stderr1393 1393: 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 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/5/valgrind1393 ../src/curl -q --trace-ascii log/5/trace1393 --trace-time ftp://127.0.0.1:41821/path/file1393 -o log/5/download1393 -i > log/5/stdout1393 2> log/5/stderr1393 === End of file commands.log === Start of file ftp_server.log 19:01:42.669146 ====> Client connect 19:01:42.669278 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.669539 < "USER anonymous" 19:01:42.669578 > "331 We are happy you popped in![CR][LF]" 19:01:42.669749 < "PASS ftp@example.com" 19:01:42.669774 > "230 Welcome you silly person[CR][LF]" 19:01:42.669926 < "PWD" 19:01:42.669954 > "257 "/" is current directory[CR][LF]" 19:01:42.670109 < "EPSV" 19:01:42.670132 ====> Passive DATA channel requested by client 19:01:42.670145 DATA sockfilt for passive data channel starting... 19:01:42.671763 DATA sockfilt for passive data channel started (pid 153310) 19:01:42.671873 DATA sockfilt for passive data channel listens on port 46127 19:01:42.671913 > "229 Entering Passive Mode (|||46127|)[CR][LF]" 19:01:42.671933 Client has been notified that DATA conn will be accepted on port 46127 19:01:42.672181 Client connects to port 46127 19:01:42.672213 ====> Client established passive DATA connection on port 46127 19:01:42.672294 < "TYPE I" 19:01:42.672323 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.672484 < "SIZE verifiedserver" 19:01:42.672518 > "213 17[CR][LF]" 19:01:42.672671 < "RETR verifiedserver" 19:01:42.672703 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.672784 =====> Closing passive DATA connection... 19:01:42.672800 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/12/valgrind1386 ../src/curl -q --trace-ascii log/12/trace1386 --trace-time ftp://127.0.0.1:35151/path/file1386 -o log/12/download1386 > log/12/stdout1386 2> log/12/stderr1386 disconnects passive DATA connection 19:01:42.673037 Server disconnected passive DATA connection 19:01:42.673064 DATA sockfilt for passive data channel quits (pid 153310) 19:01:42.673271 DATA sockfilt for passive data channel quit (pid 153310) 19:01:42.673294 =====> Closed passive DATA connection 19:01:42.673320 > "226 File transfer complete[CR][LF]" 19:01:42.722285 < "QUIT" 19:01:42.722330 > "221 bye bye baby[CR][LF]" 19:01:42.724157 MAIN sockfilt said DISC 19:01:42.724204 ====> Client disconnected 19:01:42.724278 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:42.441108 ====> Client connect 19:01:42.441344 Received DATA (on stdin) 19:01:42.441359 > 160 bytes data, server => client 19:01:42.441372 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:42.441384 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:42.441395 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:42.441461 < 16 bytes data, client => server 19:01:42.441474 'USER anonymous\r\n' 19:01:42.441636 Received DATA (on stdin) 19:01:42.441649 > 33 bytes data, server => client 19:01:42.441662 '331 We are happy you popped in!\r\n' 19:01:42.441713 < 22 bytes data, client => server 19:01:42.441725 'PASS ftp@example.com\r\n' 19:01:42.441828 Received DATA (on stdin) 19:01:42.441841 > 30 bytes data, server => client 19:01:42.441853 '230 Welcome you silly person\r\n' 19:01:42.441899 < 5 bytes data, client => server 19:01:42.441911 'PWD\r\n' 19:01:42.442008 Received DATA (on stdin) 19:01:42.442020 > 30 bytes data, server => client 19:01:42.442032 '257 "/" is current directory\r\n' 19:01:42.442084 < 6 bytes data, client => server 19:01:42.442096 'EPSV\r\n' 19:01:42.443994 Received DATA (on stdin) 19:01:42.444010 > 39 bytes data, server => client 19:01:42.444023 '229 Entering Passive Mode (|||46127|)\r\n' 19:01:42.444181 < 8 bytes data, client => server 19:01:42.444194 'TYPE I\r\n' 19:01:42.444380 Received DATA (on stdin) 19:01:42.444393 > 33 bytes data, server => client 19:01:42.444405 '200 I modify TYPE as you wanted\r\n' 19:01:42.444455 < 21 bytes data, client => server 19:01:42.444468 'SIZE verifiedserver\r\n' 19:01:42.444572 Received DATA (on stdin) 19:01:42.444585 > 8 bytes data, server => client 19:01:42.444596 '213 17\r\n' 19:01:42.444644 < 21 bytes data, client => server 19:01:42.444657 'RETR verifiedserver\r\n' 19:01:42.444858 Received DATA (on stdin) 19:01:42.444871 > 29 bytes data, server => client 19:01:42.444883 '150 Binary junk (17 bytes).\r\n' 19:01:42.445377 Received DATA (on stdin) 19:01:42.445391 > 28 bytes data, server => client 19:01:42.445403 '226 File transfer complete\r\n' 19:01:42.494183 < 6 bytes data, client => server 19:01:42.494206 'QUIT\r\n' 19:01:42.495156 Received DATA (on stdin) 19:01:42.495176 > 18 bytes data, server => client 19:01:42.495188 '221 bye bye baby\r\n' 19:01:42.496152 ====> Client disconnect 19:01:42.496335 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.443639 Running IPv4 version 19:01:42.443695 Listening on port 46127 19:01:42.443734 Wrote pid 153310 to log/5/server/ftp_sockdata.pid 19:01:42.443757 Received PING (on stdin) 19:01:42.443846 Received PORT (on stdin) 19:01:42.444150 ====> Client connect 19:01:42.444908 Received DATA (on stdin) 19:01:42.444922 > 17 bytes data, server => client 19:01:42.444934 'WE ROOLZ: 80429\r\n' 19:01:42.444959 Received DISC (on stdin) 19:01:42.444972 ====> Client forcibly disconnected 19:01:42.445129 Received QUIT (on stdin) 19:01:42.445142 quits 19:01:42.445197 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1393 === End of file server.cmd === Start of file valgrind1393 ==153456== ==153456== Process terminating with default action of signal 4 (SIGILL) ==153456== Illegal opcode at address 0x4013E00 ==153456== at 0x4013E00: getparameter (tool_getparam.c:2846) ==153456== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153456== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==153456== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1393 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/20/valgrind1399 ./unit/units unit1399 - > log/20/stdout1399 2> log/20/stderr1399 -------e-v- OK (1330 out of 1746, remaining: 00:34, took 0.611s, duration: 01:51) 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/12/valgrind1386 ../src/curl -q --trace-ascii log/12/trace1386 --trace-time ftp://127.0.0.1:35151/path/file1386 -o log/12/download1386 > log/12/stdout1386 2> log/12/stderr1386 1386: 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 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/12/valgrind1386 ../src/curl -q --trace-ascii log/12/trace1386 --trace-time ftp://127.0.0.1:35151/path/file1386 -o log/12/download1386 > log/12/stdout1386 2> log/12/stderr1386 === End of file commands.log === Start of file ftp_server.log 19:01:42.576151 ====> Client connect 19:01:42.576319 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.576626 < "USER anonymous" 19:01:42.576664 > "331 We are happy you popped in![CR][LF]" 19:01:42.576844 < "PASS ftp@example.com" 19:01:42.576872 > "230 Welcome you silly person[CR][LF]" 19:01:42.577031 < "PWD" 19:01:42.577064 > "257 "/" is current directory[CR][LF]" 19:01:42.577226 < "EPSV" 19:01:42.577250 ====> Passive DATA channel requested by client 19:01:42.577264 DATA sockfilt for passive data channel starting... 19:01:42.579277 DATA sockfilt for passive data channel started (pid 153136) 19:01:42.579383 DATA sockfilt for passive data channel listens on port 39139 19:01:42.579425 > "229 Entering Passive Mode (|||39139|)[CR][LF]" 19:01:42.579444 Client has been notified that DATA conn will be accepted on port 39139 19:01:42.579647 Client connects to port 39139 19:01:42.579678 ====> Client established passive DATA connection on port 39139 19:01:42.579790 < "TYPE I" 19:01:42.579821 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.579979 < "SIZE verifiedserver" 19:01:42.580015 > "213 17[CR][LF]" 19:01:42.580166 < "RETR verifiedserver" 19:01:42.580200 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.580283 =====> Closing passive DATA connection... 19:01:42.580299 Server disconnects passive DATA connection 19:01:42.580546 Server disconnected passive DATA connection 19:01:42.580574 DATA sockfilt for passive data channel quits (pid 153136) 19:01:42.580803 DATA sockfilt for passive data channel quit (pid 153136) 19:01:42.580826 =====> Closed passive DATA connection 19:01:42.580853 > "226 File transfer complete[CR][LF]" 19:01:42.625704 < "QUIT" 19:01:42.625760 > "221 bye bye baby[CR][LF]" 19:01:42.627308 MAIN sockfilt said DISC 19:01:42.627352 ====> Client disconnected 19:01:42.627407 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:42.348065 ====> Client connect 19:01:42.348393 Received DATA (on stdin) 19:01:42.348410 > 160 bytes data, server => client 19:01:42.348423 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:42.348435 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:42.348447 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:42.348530 < 16 bytes data, client => server 19:01:42.348544 'CMD (33792): ../libtool --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/valgrind1387 ../src/curl -q --trace-ascii log/18/trace1387 --trace-time ftp://127.0.0.1:38611/path/file1387 -o log/18/download1387 -D log/18/heads1387 > log/18/stdout1387 2> log/18/stderr1387 USER anonymous\r\n' 19:01:42.348722 Received DATA (on stdin) 19:01:42.348737 > 33 bytes data, server => client 19:01:42.348749 '331 We are happy you popped in!\r\n' 19:01:42.348801 < 22 bytes data, client => server 19:01:42.348813 'PASS ftp@example.com\r\n' 19:01:42.348927 Received DATA (on stdin) 19:01:42.348940 > 30 bytes data, server => client 19:01:42.348951 '230 Welcome you silly person\r\n' 19:01:42.348998 < 5 bytes data, client => server 19:01:42.349010 'PWD\r\n' 19:01:42.349118 Received DATA (on stdin) 19:01:42.349131 > 30 bytes data, server => client 19:01:42.349143 '257 "/" is current directory\r\n' 19:01:42.349198 < 6 bytes data, client => server 19:01:42.349211 'EPSV\r\n' 19:01:42.351505 Received DATA (on stdin) 19:01:42.351520 > 39 bytes data, server => client 19:01:42.351532 '229 Entering Passive Mode (|||39139|)\r\n' 19:01:42.351747 < 8 bytes data, client => server 19:01:42.351760 'TYPE I\r\n' 19:01:42.351875 Received DATA (on stdin) 19:01:42.351888 > 33 bytes data, server => client 19:01:42.351900 '200 I modify TYPE as you wanted\r\n' 19:01:42.351950 < 21 bytes data, client => server 19:01:42.351962 'SIZE verifiedserver\r\n' 19:01:42.352071 Received DATA (on stdin) 19:01:42.352083 > 8 bytes data, server => client 19:01:42.352094 '213 17\r\n' 19:01:42.352141 < 21 bytes data, client => server 19:01:42.352153 'RETR verifiedserver\r\n' 19:01:42.352358 Received DATA (on stdin) 19:01:42.352371 > 29 bytes data, server => client 19:01:42.352382 '150 Binary junk (17 bytes).\r\n' 19:01:42.352910 Received DATA (on stdin) 19:01:42.352925 > 28 bytes data, server => client 19:01:42.352937 '226 File transfer complete\r\n' 19:01:42.397571 < 6 bytes data, client => server 19:01:42.397601 'QUIT\r\n' 19:01:42.397826 Received DATA (on stdin) 19:01:42.397842 > 18 bytes data, server => client 19:01:42.397854 '221 bye bye baby\r\n' 19:01:42.398803 ====> Client disconnect 19:01:42.399461 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.351010 Running IPv4 version 19:01:42.351075 Listening on port 39139 19:01:42.351110 Wrote pid 153136 to log/12/server/ftp_sockdata.pid 19:01:42.351277 Received PING (on stdin) 19:01:42.351357 Received PORT (on stdin) 19:01:42.351651 ====> Client connect 19:01:42.352408 Received DATA (on stdin) 19:01:42.352421 > 17 bytes data, server => client 19:01:42.352433 'WE ROOLZ: 80702\r\n' 19:01:42.352457 Received DISC (on stdin) 19:01:42.352469 ====> Client forcibly disconnected 19:01:42.352638 Received QUIT (on stdin) 19:01:42.352651 quits 19:01:42.352713 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1386 === End of file server.cmd === Start of file valgrind1386 ==153312== ==153312== Process terminating with default action of signal 4 (SIGILL) ==153312== Illegal opcode at address 0x4013E00 ==153312== at 0x4013E00: getparameter (tool_getparam.c:2846) ==153312== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153312== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==153312== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1386 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/18/valgrind1387 ../src/curl -q --trace-ascii log/18/trace1387 --trace-time ftp://127.0.0.1:38611/path/file1387 -o log/18/download1387 -D log/18/heads1387 > log/18/stdout1387 2> log/18/stderr1387 1387: 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 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/18/valgrind1387 ../src/curl -q --trace-ascii log/18/trace1387 --trace-time ftp://127.0.0.1:38611/path/file1387 -o log/18/download1387 -D log/18/heads1387 > log/18/stdout1387 2> log/18/stderr1387 === End of file commands.log === Start of file ftp_server.log 19:01:42.644495 ====> Client connect 19:01:42.644667 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.645243 < "USER anonymous" 19:01:42.645289 > "331 We are happy you popped in![CR][LF]" 19:01:42.645540 < "PASS ftp@example.com" 19:01:42.645593 > "230 Welcome you silly person[CR][LF]" 19:01:42.646321 < "PWD" 19:01:42.646354 > "257 "/" is current directory[CR][LF]" 19:01:42.646513 < "EPSV" 19:01:42.646536 ====> Passive DATA channel requested by client 19:01:42.646549 DATA sockfilt for passive data channel starting... 19:01:42.648554 DATA sockfilt for passive data channel started (pid 153267) 19:01:42.648669 DATA sockfilt for passive data channel listens on port 37445 19:01:42.648707 > "229 Entering Passive Mode (|||37445|)[CR][LF]" 19:01:42.648733 Client has been notified that DATA conn will be accepted on port 37445 19:01:42.648971 Client connects to port 37445 19:01:42.649002 ====> Client established passive DATA connection on port 37445 19:01:42.649074 < "TYPE I" 19:01:42.649101 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.649252 < "SIZE verifiedserver" 19:01:42.649288 > "213 17[CR][LF]" 19:01:42.649439 < "RETR verifiedserver" 19:01:42.649467 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.649544 =====> Closing passive DATA connection... 19:01:42.649559 Server disconnects passive DATA connection 19:01:42.649801 Server disconnected passive DATA connection 19:01:42.649826 DATA sockfilt for passive data channel quits (pid 153267) 19:01:42.650075 DATA sockfilt for passive data channel quit (pid 153267) 19:01:42.650098 =====> Closed passive DATA connection 19:01:42.650124 > "226 File transfer complete[CR][LF]" 19:01:42.692360 < "QUIT" 19:01:42.692407 > "221 bye bye baby[CR][LF]" 19:01:42.693214 MAIN sockfilt said DISC 19:01:42.693283 ====> Client disconnected 19:01:42.693368 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:43.416443 ====> Client connect 19:01:43.416741 Received DATA (on stdin) 19:01:43.416761 > 160 bytes data, server => client 19:01:43.416774 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:43.416787 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:43.416798 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:43.417129 < 16 bytes data, client => server 19:01:43.417149 'USER anonymous\r\n' 19:01:43.417351 Received DATA (on stdin) 19:01:43.417366 > 33 bytes data, server => client 19:01:43.417379 '331 We are happy you popped in!\r\n' 19:01:43.417452 < 22 bytes data, client => server 19:01:43.417466 'PASS ftp@example.com\r\n' 19:01:43.417662 Received DATA (on stdin) 19:01:43.417682 > 30 bytes data, server => client 19:01:43.417695 '230 Welcome you silly person\r\n' 19:01:43.418276 < 5 bytes data, client => server 19:01:43.418296 'PWD\r\n' 19:01:43.418410 Received DATA (on stdin) 19:01:43.418421 > 30 bytes data, server => client 19:01:43.418432 '257 "/" is current directory\r\n' 19:01:43.418490 < 6 bytes data, client => server 19:01:43.418501 'EPSV\r\n' 19:01:43.420795 Received DATA (on stdin) 19:01:43.420809 > 39 bytes data, server => client 19:01:43.420822 '229 Entering Passive Mode (|||37445|)\r\n' 19:01:43.420949 < 8 bytes data, client => server 19:01:43.420963 'TYPE I\r\n' 19:01:43.421156 Received DATA (on stdin) 19:01:43.421168 > 33 bytes data, server => client 19:01:43.421180 '200 I modify TYPE as you wanted\r\n' 19:01:43.421228 < 21 bytes data, client => server 19:01:43.421240 'SIZE verifiedserver\r\n' 19:01:43.421342 Received DATA (on stdin) 19:01:43.421354 > 8 bytes data, server => client 19:01:43.421365 '213 17\r\n' 19:01:43.421413 < 21 bytes data, client => server 19:01:43.421426 'RETR verCMD (33792): ../libtool --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:41217/path/file1389 -o log/24/download1389 -J -D log/24/heads1389 > log/24/stdout1389 2> log/24/stderr1389 ifiedserver\r\n' 19:01:43.421616 Received DATA (on stdin) 19:01:43.421633 > 29 bytes data, server => client 19:01:43.421644 '150 Binary junk (17 bytes).\r\n' 19:01:43.422178 Received DATA (on stdin) 19:01:43.422191 > 28 bytes data, server => client 19:01:43.422201 '226 File transfer complete\r\n' 19:01:43.464254 < 6 bytes data, client => server 19:01:43.464281 'QUIT\r\n' 19:01:43.464465 Received DATA (on stdin) 19:01:43.464478 > 18 bytes data, server => client 19:01:43.464490 '221 bye bye baby\r\n' 19:01:43.465186 ====> Client disconnect 19:01:43.465389 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.420407 Running IPv4 version 19:01:42.420490 Listening on port 37445 19:01:42.420528 Wrote pid 153267 to log/18/server/ftp_sockdata.pid 19:01:42.420551 Received PING (on stdin) 19:01:42.420637 Received PORT (on stdin) 19:01:42.420983 ====> Client connect 19:01:42.421669 Received DATA (on stdin) 19:01:42.421683 > 17 bytes data, server => client 19:01:42.421694 'WE ROOLZ: 80927\r\n' 19:01:42.421719 Received DISC (on stdin) 19:01:42.421731 ====> Client forcibly disconnected 19:01:42.421888 Received QUIT (on stdin) 19:01:42.421900 quits 19:01:42.421949 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1387 === End of file server.cmd === Start of file valgrind1387 ==153335== ==153335== Process terminating with default action of signal 4 (SIGILL) ==153335== Illegal opcode at address 0x4013E00 ==153335== at 0x4013E00: getparameter (tool_getparam.c:2846) ==153335== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153335== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==153335== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1387 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:41217/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:41217/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 19:01:42.657276 ====> Client connect 19:01:42.657436 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.657694 < "USER anonymous" 19:01:42.657727 > "331 We are happy you popped in![CR][LF]" 19:01:42.657891 < "PASS ftp@example.com" 19:01:42.657914 > "230 Welcome you silly person[CR][LF]" 19:01:42.658061 < "PWD" 19:01:42.658090 > "257 "/" is current directory[CR][LF]" 19:01:42.658244 < "EPSV" 19:01:42.658269 ====> Passive DATA channel requested by client 19:01:42.658283 DATA sockfilt for passive data channel starting... 19:01:42.660524 DATA sockfilt for passive data channel started (pid 153300) 19:01:42.660666 DATA sockfilt for passive data channel listens on port 37361 19:01:42.660723 > "229 Entering Passive Mode (|||37361|)[CR][LF]" 19:01:42.660743 Client has been notified that DATA conn will be accepted on port 37361 19:01:42.661025 Client connects to port 37361 19:01:42.661061 ====> Client established passive DATA connection on port 37361 19:01:42.661166 < "TYPE I" 19:01:42.661207 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.661388 < "SIZE verifiedserver" 19:01:42.661428 > "213 17[CR][LF]" 19:01:42.661593 < "RETR verifiedserver" 19:01:42.661628 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.661715 =====> Closing passive DATA connection... 19:01:42.661732 Server disconnects passive DATA connection 19:01:42.661908 Server disconnected passive DATA connection 19:01:42.661931 DATA sockfilt for passive data channel quits (pid 153300) 19:01:42.662172 DATA sockfilt for passive data channel quit (pid 153300) 19:01:42.662200 =====> Closed passive DATA connection 19:01:42.662231 > "226 File transfer complete[CR][LF]" 19:01:42.702385 < "QUIT" 19:01:42.702435 > "221 bye bye baby[CR][LF]" 19:01:42.703467 MAIN sockfilt said DISC 19:01:42.703505 ====> Client disconnected 19:01:42.703642 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:42.429235 ====> Client connect 19:01:42.429502 Received DATA (on stdin) 19:01:42.429517 > 160 bytes data, server => client 19:01:42.429530 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:42.429542 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:42.429554 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:42.429619 < 16 bytes data, client => server 19:01:42.429632 'USER anonymous\r\n' 19:01:42.429784 Received DATA (on stdin) 19:01:42.429798 > 33 bytes data, server => client 19:01:42.429810 '331 We are happy you popped in!\r\n' 19:01:42.429860 < 22 bytes data, client => server 19:01:42.429872 'PASS ftp@example.com\r\n' 19:01:42.429968 Received DATA (on stdin) 19:01:42.429981 > 30 bytes data, server => client 19:01:42.429993 '230 Welcome you silly person\r\n' 19:01:42.430037 < 5 bytes data, client => server 19:01:42.430048 'PWD\r\n' 19:01:42.430144 Received DATA (on stdin) 19:01:42.430156 > 30 bytes data, server => client 19:01:42.430167 '257 "/" is current directory\r\n' 19:01:42.430219 < 6 bytes data, client => server 19:01:42.430231 'EPSV\r\n' 19:01:42.432814 Received DATA (on stdin) 19:01:42.432837 > 39 bytes data, server => client 19:01:42.432850 '229 Entering Passive Mode (|||37361|)\r\n' 19:01:42.433018 < 8 bytes data, client => server 19:01:42.433033 'TYPE I\r\n' 19:01:42.433264 Received DATA (on stdin) 19:01:42.433278 > 33 bytes data, server => client 19:01:42.433291 '200 I modify TYPE as you wanted\r\n' 19:01:42.433351 < 21 bytes data, client => server 19:01:42.433365 'SIZE verifiedserver\r\n' 19:01:42.433484 Received DATA (on stdin) 19:01:42.433497 > 8 bytes data, server => client 19:01:42.433510 '213 17\r\n' 19:01:42.433560 < 21 bytes data, client => server 19:01:42.433574 'RETR verifiedserver\r\n' 19:01:42.433791 Received DATA (on stdin) 19:01:42.433804 > 29 bytes data, server => client 19:01:42.433817 '150 Binary junk (17 bytes).\r\n' 19:01:42.434291 Received DATA (on stdin) 19:01:42.434307 > 28 bytes data, server => client 19:01:42.434320 '226 File transfer complete\r\n' 19:01:42.474278 < 6 bytes data, client => server 19:01:42.474305 'QUIT\r\n' 19:01:42.474494 Received DATA (on stdin) 19:01:42.474507 > 18 bytes data, server => client 19:01:42.474519 '221 bye bye baby\r\n' 19:01:42.475462 ====> Client disconnect 19:01:42.475617 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.432204 Running IPv4 version 19:01:42.432276 Listening on port 37361 19:01:42.432313 Wrote pid 153300 to log/24/server/ftp_sockdata.pid 19:01:42.432517 Received PING (on stdin) 19:01:42.432616 Received PORT (on stdin) 19:01:42.432985 ====> Client connect 19:01:42.433844 Received DATA (on stdin) 19:01:42.433860 > 17 bytes data, server => client 19:01:42.433872 'WE ROOLZ: 81247\r\n' 19:01:42.433898 Received DISC (on stdin) 19:01:42.433912 ====> Client forcibly disconnected 19:01:42.433995 Received QUIT (on stdin) 19:01:42.434008 quits 19:01:42.434071 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1389 === End 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/23/valgrind1390 ../src/curl -q --trace-ascii log/23/trace1390 --trace-time ftp://127.0.0.1:45397/path/file1390 -o log/23/download1390 -J -D - > log/23/stdout1390 2> log/23/stderr1390 CMD (33792): ../libtool --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/valgrind1392 ../src/curl -q --trace-ascii log/2/trace1392 --trace-time ftp://127.0.0.1:37089/path/file1392 -o log/2/download1392 -i -D - > log/2/stdout1392 2> log/2/stderr1392 === Start of file valgrind1389 ==153358== ==153358== Process terminating with default action of signal 4 (SIGILL) ==153358== Illegal opcode at address 0x4013E00 ==153358== at 0x4013E00: getparameter (tool_getparam.c:2846) ==153358== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153358== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==153358== by 0x40037A4: 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/23/valgrind1390 ../src/curl -q --trace-ascii log/23/trace1390 --trace-time ftp://127.0.0.1:45397/path/file1390 -o log/23/download1390 -J -D - > log/23/stdout1390 2> log/23/stderr1390 1390: 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 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/23/valgrind1390 ../src/curl -q --trace-ascii log/23/trace1390 --trace-time ftp://127.0.0.1:45397/path/file1390 -o log/23/download1390 -J -D - > log/23/stdout1390 2> log/23/stderr1390 === End of file commands.log === Start of file ftp_server.log 19:01:42.653103 ====> Client connect 19:01:42.653254 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.653554 < "USER anonymous" 19:01:42.653600 > "331 We are happy you popped in![CR][LF]" 19:01:42.653783 < "PASS ftp@example.com" 19:01:42.653811 > "230 Welcome you silly person[CR][LF]" 19:01:42.653969 < "PWD" 19:01:42.654001 > "257 "/" is current directory[CR][LF]" 19:01:42.654178 < "EPSV" 19:01:42.654203 ====> Passive DATA channel requested by client 19:01:42.654217 DATA sockfilt for passive data channel starting... 19:01:42.656488 DATA sockfilt for passive data channel started (pid 153296) 19:01:42.656603 DATA sockfilt for passive data channel listens on port 35739 19:01:42.656650 > "229 Entering Passive Mode (|||35739|)[CR][LF]" 19:01:42.656671 Client has been notified that DATA conn will be accepted on port 35739 19:01:42.657210 Client connects to port 35739 19:01:42.657240 ====> Client established passive DATA connection on port 35739 19:01:42.657318 < "TYPE I" 19:01:42.657346 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.657739 < "SIZE verifiedserver" 19:01:42.657779 > "213 17[CR][LF]" 19:01:42.658001 < "RETR verifiedserver" 19:01:42.658038 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.658121 =====> Closing passive DATA connection... 19:01:42.658137 Server disconnects passive DATA connection 19:01:42.658482 Server disconnected passive DATA connection 19:01:42.658510 DATA sockfilt for passive data channel quits (pid 153296) 19:01:42.658775 DATA sockfilt for passive data channel quit (pid 153296) 19:01:42.658800 =====> Closed passive DATA connection 19:01:42.658830 > "226 File transfer complete[CR][LF]" 19:01:42.702542 < "QUIT" 19:01:42.702609 > "221 bye bye baby[CR][LF]" 19:01:42.703503 MAIN sockfilt said DISC 19:01:42.703542 ====> Client disconnected 19:01:42.703705 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:42.425053 ====> Client connect 19:01:42.425325 Received DATA (on stdin) 19:01:42.425343 > 160 bytes data, server => client 19:01:42.425357 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:42.425369 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:42.425381 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:42.425455 < 16 bytes data, client => server 19:01:42.425469 'USER anonymous\r\n' 19:01:42.425660 Received DATA (on stdin) 19:01:42.425673 > 33 bytes data, server => client 19:01:42.425685 '331 We are happy you popped in!\r\n' 19:01:42.425738 < 22 bytes data, client => server 19:01:42.425750 'PASS ftp@example.com\r\n' 19:01:42.425867 Received DATA (on stdin) 19:01:42.425879 > 30 bytes data, server => client 19:01:42.425891 '230 Welcome you silly person\r\n' 19:01:42.425937 < 5 bytes data, client => server 19:01:42.425949 'PWD\r\n' 19:01:42.426055 Received DATA (on stdin) 19:01:42.426067 > 30 bytes data, server => client 19:01:42.426079 '257 "/" is current directory\r\n' 19:01:42.426140 < 6 bytes data, client => server 19:01:42.426154 'EPSV\r\n' 19:01:42.428921 Received DATA (on stdin) 19:01:42.428936 > 39 bytes data, server => client 19:01:42.428949 '229 Entering Passive Mode (|||35739|)\r\n' 19:01:42.429065 < 8 bytes data, client => server 19:01:42.429081 'TYPE I\r\n' 19:01:42.429402 Received DATA (on stdin) 19:01:42.429416 > 33 bytes data, server => client 19:01:42.429428 '200 I modify TYPE as you wanted\r\n' 19:01:42.429699 < 21 bytes data, client => server 19:01:42.429714 'SIZE verifiedserver\r\n' 19:01:42.429893 Received DATA (on stdin) 19:01:42.429907 > 8 bytes data, server => client 19:01:42.429919 '213 17\r\n' 19:01:42.429969 < 21 bytes data, client => server 19:01:42.429981 'RETR verifiedserver\r\n' 19:01:42.430195 Received DATA (on stdin) 19:01:42.430208 > 29 bytes data, server => client 19:01:42.430220 '150 Binary junk (17 bytes).\r\n' 19:01:42.430887 Received DATA (on stdin) 19:01:42.430901 > 28 bytes data, server => client 19:01:42.430914 '226 File transfer complete\r\n' 19:01:42.474388 < 6 bytes data, client => server 19:01:42.474416 'QUIT\r\n' 19:01:42.474680 Received DATA (on stdin) 19:01:42.474700 > 18 bytes data, server => client 19:01:42.474712 '221 bye bye baby\r\n' 19:01:42.475498 ====> Client disconnect 19:01:42.475659 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.428048 Running IPv4 version 19:01:42.428117 Listening on port 35739 19:01:42.428153 Wrote pid 153296 to log/23/server/ftp_sockdata.pid 19:01:42.428175 Received PING (on stdin) 19:01:42.428569 Received PORT (on stdin) 19:01:42.429102 ====> Client connect 19:01:42.430361 Received DATA (on stdin) 19:01:42.430375 > 17 bytes data, server => client 19:01:42.430387 'WE ROOLZ: 80691\r\n' 19:01:42.430415 Received DISC (on stdin) 19:01:42.430427 ====> Client forcibly disconnected 19:01:42.430574 Received QUIT (on stdin) 19:01:42.430586 quits 19:01:42.430647 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1390 === End of file server.cmd === Start of file valgrind1390 ==153370== ==153370== Process terminating with default action of signal 4 (SIGILL) ==153370== Illegal opcode at address 0x4013E00 ==153370== at 0x4013E00: getparameter (tool_getparam.c:2846) ==153370== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153370== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==153370== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1390 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/2/valgrind1392 ../src/curl -q --trace-ascii log/2/trace1392 --trace-time ftp://127.0.0.1:37089/path/file1392 -o log/2/download1392 -i -D - > log/2/stdout1392 2> log/2/stderr1392 1392: 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 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/2/valgrind1392 ../src/curl -q --trace-ascii log/2/trace1392 --trace-time ftp://127.0.0.1:37089/path/file1392 -o log/2/download1392 -i -CMD (33792): ../libtool --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/valgrind1398 ./unit/units unit1398 - > log/21/stdout1398 2> log/21/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/6/valgrind1391 ../src/curl -q --trace-ascii log/6/trace1391 --trace-time ftp://127.0.0.1:36475/path/file1391 -o log/6/download1391 -i -D log/6/heads1391 > log/6/stdout1391 2> log/6/stderr1391 CMD (33792): ../libtool --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/valgrind1388 ../src/curl -q --trace-ascii log/1/trace1388 --trace-time ftp://127.0.0.1:41393/path/file1388 -o log/1/download1388 -D - > log/1/stdout1388 2> log/1/stderr1388 D - > log/2/stdout1392 2> log/2/stderr1392 === End of file commands.log === Start of file ftp_server.log 19:01:42.660791 ====> Client connect 19:01:42.660929 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.661205 < "USER anonymous" 19:01:42.661241 > "331 We are happy you popped in![CR][LF]" 19:01:42.661408 < "PASS ftp@example.com" 19:01:42.661434 > "230 Welcome you silly person[CR][LF]" 19:01:42.661583 < "PWD" 19:01:42.661612 > "257 "/" is current directory[CR][LF]" 19:01:42.661771 < "EPSV" 19:01:42.661796 ====> Passive DATA channel requested by client 19:01:42.661811 DATA sockfilt for passive data channel starting... 19:01:42.663632 DATA sockfilt for passive data channel started (pid 153305) 19:01:42.663736 DATA sockfilt for passive data channel listens on port 44671 19:01:42.663780 > "229 Entering Passive Mode (|||44671|)[CR][LF]" 19:01:42.663796 Client has been notified that DATA conn will be accepted on port 44671 19:01:42.664015 Client connects to port 44671 19:01:42.664067 ====> Client established passive DATA connection on port 44671 19:01:42.664184 < "TYPE I" 19:01:42.664224 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.664454 < "SIZE verifiedserver" 19:01:42.664504 > "213 17[CR][LF]" 19:01:42.664681 < "RETR verifiedserver" 19:01:42.664719 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.664812 =====> Closing passive DATA connection... 19:01:42.664831 Server disconnects passive DATA connection 19:01:42.664926 Server disconnected passive DATA connection 19:01:42.664948 DATA sockfilt for passive data channel quits (pid 153305) 19:01:42.665154 DATA sockfilt for passive data channel quit (pid 153305) 19:01:42.665172 =====> Closed passive DATA connection 19:01:42.665199 > "226 File transfer complete[CR][LF]" 19:01:42.709257 < "QUIT" 19:01:42.709303 > "221 bye bye baby[CR][LF]" 19:01:42.709927 MAIN sockfilt said DISC 19:01:42.709962 ====> Client disconnected 19:01:42.710030 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:42.432738 ====> Client connect 19:01:42.432997 Received DATA (on stdin) 19:01:42.433014 > 160 bytes data, server => client 19:01:42.433028 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:42.433041 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:42.433052 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:42.433121 < 16 bytes data, client => server 19:01:42.433134 'USER anonymous\r\n' 19:01:42.433300 Received DATA (on stdin) 19:01:42.433313 > 33 bytes data, server => client 19:01:42.433325 '331 We are happy you popped in!\r\n' 19:01:42.433374 < 22 bytes data, client => server 19:01:42.433387 'PASS ftp@example.com\r\n' 19:01:42.433489 Received DATA (on stdin) 19:01:42.433502 > 30 bytes data, server => client 19:01:42.433514 '230 Welcome you silly person\r\n' 19:01:42.433559 < 5 bytes data, client => server 19:01:42.433570 'PWD\r\n' 19:01:42.433666 Received DATA (on stdin) 19:01:42.433679 > 30 bytes data, server => client 19:01:42.433691 '257 "/" is current directory\r\n' 19:01:42.433743 < 6 bytes data, client => server 19:01:42.433755 'EPSV\r\n' 19:01:42.435857 Received DATA (on stdin) 19:01:42.435872 > 39 bytes data, server => client 19:01:42.435885 '229 Entering Passive Mode (|||44671|)\r\n' 19:01:42.436000 < 8 bytes data, client => server 19:01:42.436015 'TYPE I\r\n' 19:01:42.436289 Received DATA (on stdin) 19:01:42.436309 > 33 bytes data, server => client 19:01:42.436322 '200 I modify TYPE as you wanted\r\n' 19:01:42.436398 < 21 bytes data, client => server 19:01:42.436413 'SIZE verifiedserver\r\n' 19:01:42.436563 Received DATA (on stdin) 19:01:42.436576 > 8 bytes data, server => client 19:01:42.436588 '213 17\r\n' 19:01:42.436644 < 21 bytes data, client => server 19:01:42.436656 'RETR verifiedserver\r\n' 19:01:42.436860 Received DATA (on stdin) 19:01:42.436877 > 29 bytes data, server => client 19:01:42.436889 '150 Binary junk (17 bytes).\r\n' 19:01:42.437261 Received DATA (on stdin) 19:01:42.437279 > 28 bytes data, server => client 19:01:42.437292 '226 File transfer complete\r\n' 19:01:42.480902 < 6 bytes data, client => server 19:01:42.480924 'QUIT\r\n' 19:01:42.481345 Received DATA (on stdin) 19:01:42.481375 > 18 bytes data, server => client 19:01:42.481389 '221 bye bye baby\r\n' 19:01:42.481922 ====> Client disconnect 19:01:42.482090 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.435372 Running IPv4 version 19:01:42.435427 Listening on port 44671 19:01:42.435463 Wrote pid 153305 to log/2/server/ftp_sockdata.pid 19:01:42.435628 Received PING (on stdin) 19:01:42.435710 Received PORT (on stdin) 19:01:42.435996 ====> Client connect 19:01:42.436791 Received DATA (on stdin) 19:01:42.436808 > 17 bytes data, server => client 19:01:42.436820 'WE ROOLZ: 80680\r\n' 19:01:42.436900 Received DISC (on stdin) 19:01:42.436923 ====> Client forcibly disconnected 19:01:42.437010 Received QUIT (on stdin) 19:01:42.437027 quits 19:01:42.437080 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1392 === End of file server.cmd === Start of file valgrind1392 ==153393== ==153393== Process terminating with default action of signal 4 (SIGILL) ==153393== Illegal opcode at address 0x4013E00 ==153393== at 0x4013E00: getparameter (tool_getparam.c:2846) ==153393== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153393== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==153393== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1392 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/21/valgrind1398 ./unit/units unit1398 - > log/21/stdout1398 2> log/21/stderr1398 units returned 132, when expecting 0 1398: exit FAILED == Contents of files in the log/21/ 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/21/valgrind1398 ./unit/units unit1398 - > log/21/stdout1398 2> log/21/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 ==153843== ==153843== Process terminating with default action of signal 4 (SIGILL) ==153843== Illegal opcode at address 0x400E20D ==153843== at 0x400E20D: test_unit1398.lto_priv.0 (unit1398.c:87) ==153843== by 0x400A12F: main (first.c:280) === End of file valgrind1398 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:36475/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:36475/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 19:01:42.658152 ====> Client connect 19:01:42.658285 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.658560 < "USER anonymous" 19:01:42.658607 > "331 We are happy you popped in![CR][LF]" 19:01:42.658821 < "PASS ftp@example.com" 19:01:42.658858 > "230 Welcome you silly person[CR][LF]" 19:01:42.659027 < "PWD" 19:01:42.659066 > "257 "/" is current directory[CR][LF]" 19:01:42.659248 < "EPSV" 19:01:42.659276 ====> Passive DATA channel requested by client 19:01:42.659291 DATA sockfilt for passive data channel starting... 19:01:42.661112 DATA sockfilt for passive data channel started (pid 153303) 19:01:42.661216 DATA sockfilt for passive data channel listens on port 36317 19:01:42.661258 > "229 Entering Passive Mode (|||36317|)[CR][LF]" 19:01:42.661277 Client has been notified that DATA conn will be accepted on port 36317 19:01:42.661460 Client connects to port 36317 19:01:42.661489 ====> Client established passive DATA connection on port 36317 19:01:42.661600 < "TYPE I" 19:01:42.661627 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.661777 < "SIZE verifiedserver" 19:01:42.661810 > "213 17[CR][LF]" 19:01:42.661956 < "RETR verifiedserver" 19:01:42.661984 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.662071 =====> Closing passive DATA connection... 19:01:42.662088 Server disconnects passive DATA connection 19:01:42.662204 Server disconnected passive DATA connection 19:01:42.662227 DATA sockfilt for passive data channel quits (pid 153303) 19:01:42.662764 DATA sockfilt for passive data channel quit (pid 153303) 19:01:42.662793 =====> Closed passive DATA connection 19:01:42.662825 > "226 File transfer complete[CR][LF]" 19:01:42.711936 < "QUIT" 19:01:42.711990 > "221 bye bye baby[CR][LF]" 19:01:42.715110 MAIN sockfilt said DISC 19:01:42.715151 ====> Client disconnected 19:01:42.715233 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:43.430111 ====> Client connect 19:01:43.430352 Received DATA (on stdin) 19:01:43.430369 > 160 bytes data, server => client 19:01:43.430383 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:43.430396 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:43.430408 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:43.430477 < 16 bytes data, client => server 19:01:43.430490 'USER anonymous\r\n' 19:01:43.430669 Received DATA (on stdin) 19:01:43.430684 > 33 bytes data, server => client 19:01:43.430696 '331 We are happy you popped in!\r\n' 19:01:43.430748 < 22 bytes data, client => server 19:01:43.430776 'PASS ftp@example.com\r\n' 19:01:43.430916 Received DATA (on stdin) 19:01:43.430930 > 30 bytes data, server => client 19:01:43.430943 '230 Welcome you silly person\r\n' 19:01:43.430996 < 5 bytes data, client => server 19:01:43.431007 'PWD\r\n' 19:01:43.431125 Received DATA (on stdin) 19:01:43.431139 > 30 bytes data, server => client 19:01:43.431152 '257 "/" is current directory\r\n' 19:01:43.431217 < 6 bytes data, client => server 19:01:43.431229 'EPSV\r\n' 19:01:43.433335 Received DATA (on stdin) 19:01:43.433349 > 39 bytes data, server => client 19:01:43.433361 '229 Entering Passive Mode (|||36317|)\r\n' 19:01:43.433559 < 8 bytes data, client => server 19:01:43.433572 'TYPE I\r\n' 19:01:43.433681 Received DATA (on stdin) 19:01:43.433693 > 33 bytes data, server => client 19:01:43.433705 '200 I modify TYPE as you wanted\r\n' 19:01:43.433751 < 21 bytes data, client => server 19:01:43.433763 'SIZE verifiedserver\r\n' 19:01:43.433863 Received DATA (on stdin) 19:01:43.433876 > 8 bytes data, server => client 19:01:43.433888 '213 17\r\n' 19:01:43.433932 < 21 bytes data, client => server 19:01:43.433944 'RETR verifiedserver\r\n' 19:01:43.434065 Received DATA (on stdin) 19:01:43.434099 > 29 bytes data, server => client 19:01:43.434113 '150 Binary junk (17 bytes).\r\n' 19:01:43.434884 Received DATA (on stdin) 19:01:43.434900 > 28 bytes data, server => client 19:01:43.434913 '226 File transfer complete\r\n' 19:01:43.483806 < 6 bytes data, client => server 19:01:43.483832 'QUIT\r\n' 19:01:43.484054 Received DATA (on stdin) 19:01:43.484066 > 18 bytes data, server => client 19:01:43.484078 '221 bye bye baby\r\n' 19:01:43.487098 ====> Client disconnect 19:01:43.487289 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.432873 Running IPv4 version 19:01:42.432927 Listening on port 36317 19:01:42.432966 Wrote pid 153303 to log/6/server/ftp_sockdata.pid 19:01:42.433114 Received PING (on stdin) 19:01:42.433189 Received PORT (on stdin) 19:01:42.433469 ====> Client connect 19:01:42.434146 Received DATA (on stdin) 19:01:42.434159 > 17 bytes data, server => client 19:01:42.434171 'WE ROOLZ: 80654\r\n' 19:01:42.434198 Received DISC (on stdin) 19:01:42.434210 ====> Client forcibly disconnected 19:01:42.434293 Received QUIT (on stdin) 19:01:42.434316 quits 19:01:42.434375 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1391 === End of file server.cmd === Start of file valgrind1391 ==153436== ==153436== Process terminating with default action of signal 4 (SIGILL) ==153436== Illegal opcode at address 0x4013E00 ==153436== at 0x4013E00: getparameter (tool_getparam.c:2846) ==153436== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153436== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==153436== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1391 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/1/valgrind1388 ../src/curl -q --trace-ascii log/1/trace1388 --trace-time ftp://127.0.0.1:41393/path/file1388 -o log/1/download1388 -D - > log/1/stdout1388 2> log/1/stderr1388 1388: 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 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/1/valgrind1388 ../src/curl -q --trace-ascii log/1/trace1388 --trace-time ftp://127.0.0.1:41393/path/file1388 -o log/1/download1388 -D - > log/1/stdout1388 2> log/1/stderr1388 === End of file commands.log === Start of file ftp_server.log 19:01:42.651969 ====> Client connect 19:01:42.652179 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:42.652615 < "USER anonymous" 19:01:42.652674 > "331 We are happy you popped in![CR][LF]" 19:01:42.652879 < "PASS ftp@example.com" 19:01:42.652913 > "230 Welcome you silly person[CR][LF]" 19:01:42.653091 < "PWD" 19:01:42.653127 > "257 "/" is current directory[CR][LF]" 19:01:42.653301 < "EPSV" 19:01:42.653328 ====> Passive DATA channel requested by client 19:01:42.653343 DATA sockfilt for passive data channel starting... 19:01:42.655804 DATA sockfilt for passive data channel started (pid 153291) 19:01:42.656359 DATA sockfilt for passive data channel listens on port 42603 19:01:42.656424 > "229 Entering Passive Mode (|||42603|)[CR][LF]" 19:01:42.656447 Client has been notified that DATA conn will be accepted on port 42603 19:01:42.656701 Client connects to port 42603 19:01:42.656729 ====> Client established passive DATA connection on port 42603 19:01:42.656828 < "TYPE I" 19:01:42.656861 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:42.657141 < "SIZE verifiedserver" 19:01:42.657183 > "213 17[CR][LF]" 19:01:42.657463 < "RETR verifiedserver" 19:01:42.657501 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:42.657591 =====> Closing passive DATA connection... 19:01:42.657608 Server disconnects passive DATA connection 19:01:42.657806 Server disconnecteCMD (33792): ../libtool --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/valgrind1396 ./unit/units unit1396 - > log/22/stdout1396 2> log/22/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/15/valgrind1400 ../src/curl -q --output log/15/curl1400.out --include --trace-ascii log/15/trace1400 --trace-time http://127.0.0.1:44531/we/want/1400 --libcurl log/15/test1400.c > log/15/stdout1400 2> log/15/stderr1400 d passive DATA connection 19:01:42.657829 DATA sockfilt for passive data channel quits (pid 153291) 19:01:42.658251 DATA sockfilt for passive data channel quit (pid 153291) 19:01:42.658276 =====> Closed passive DATA connection 19:01:42.658302 > "226 File transfer complete[CR][LF]" 19:01:42.702940 < "QUIT" 19:01:42.702994 > "221 bye bye baby[CR][LF]" 19:01:42.703913 MAIN sockfilt said DISC 19:01:42.703964 ====> Client disconnected 19:01:42.704041 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:43.423882 ====> Client connect 19:01:43.424253 Received DATA (on stdin) 19:01:43.424274 > 160 bytes data, server => client 19:01:43.424287 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:43.424299 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:43.424311 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:43.424501 < 16 bytes data, client => server 19:01:43.424516 'USER anonymous\r\n' 19:01:43.424737 Received DATA (on stdin) 19:01:43.424751 > 33 bytes data, server => client 19:01:43.424764 '331 We are happy you popped in!\r\n' 19:01:43.424826 < 22 bytes data, client => server 19:01:43.424840 'PASS ftp@example.com\r\n' 19:01:43.424972 Received DATA (on stdin) 19:01:43.424985 > 30 bytes data, server => client 19:01:43.424998 '230 Welcome you silly person\r\n' 19:01:43.425050 < 5 bytes data, client => server 19:01:43.425063 'PWD\r\n' 19:01:43.425183 Received DATA (on stdin) 19:01:43.425197 > 30 bytes data, server => client 19:01:43.425210 '257 "/" is current directory\r\n' 19:01:43.425270 < 6 bytes data, client => server 19:01:43.425282 'EPSV\r\n' 19:01:43.428504 Received DATA (on stdin) 19:01:43.428525 > 39 bytes data, server => client 19:01:43.428539 '229 Entering Passive Mode (|||42603|)\r\n' 19:01:43.428715 < 8 bytes data, client => server 19:01:43.428729 'TYPE I\r\n' 19:01:43.428898 Received DATA (on stdin) 19:01:43.428912 > 33 bytes data, server => client 19:01:43.428924 '200 I modify TYPE as you wanted\r\n' 19:01:43.428979 < 21 bytes data, client => server 19:01:43.428992 'SIZE verifiedserver\r\n' 19:01:43.429221 Received DATA (on stdin) 19:01:43.429234 > 8 bytes data, server => client 19:01:43.429245 '213 17\r\n' 19:01:43.429291 < 21 bytes data, client => server 19:01:43.429304 'RETR verifiedserver\r\n' 19:01:43.429538 Received DATA (on stdin) 19:01:43.429552 > 29 bytes data, server => client 19:01:43.429567 '150 Binary junk (17 bytes).\r\n' 19:01:43.430345 Received DATA (on stdin) 19:01:43.430363 > 28 bytes data, server => client 19:01:43.430377 '226 File transfer complete\r\n' 19:01:43.474268 < 6 bytes data, client => server 19:01:43.474302 'QUIT\r\n' 19:01:43.475081 Received DATA (on stdin) 19:01:43.475101 > 18 bytes data, server => client 19:01:43.475113 '221 bye bye baby\r\n' 19:01:43.475892 ====> Client disconnect 19:01:43.476091 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:42.427118 Running IPv4 version 19:01:42.427185 Listening on port 42603 19:01:42.427227 Wrote pid 153291 to log/1/server/ftp_sockdata.pid 19:01:42.427782 Received PING (on stdin) 19:01:42.428010 Received PORT (on stdin) 19:01:42.428680 ====> Client connect 19:01:42.429594 Received DATA (on stdin) 19:01:42.429610 > 17 bytes data, server => client 19:01:42.429626 'WE ROOLZ: 80887\r\n' 19:01:42.429722 Received DISC (on stdin) 19:01:42.429740 ====> Client forcibly disconnected 19:01:42.429887 Received QUIT (on stdin) 19:01:42.429900 quits 19:01:42.429972 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1388 === End of file server.cmd === Start of file valgrind1388 ==153363== ==153363== Process terminating with default action of signal 4 (SIGILL) ==153363== Illegal opcode at address 0x4013E00 ==153363== at 0x4013E00: getparameter (tool_getparam.c:2846) ==153363== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153363== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==153363== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1388 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/22/valgrind1396 ./unit/units unit1396 - > log/22/stdout1396 2> log/22/stderr1396 units returned 132, when expecting 0 1396: exit FAILED == Contents of files in the log/22/ 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/22/valgrind1396 ./unit/units unit1396 - > log/22/stdout1396 2> log/22/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 ==153724== ==153724== Process terminating with default action of signal 4 (SIGILL) ==153724== Illegal opcode at address 0x407C5FF ==153724== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==153724== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==153724== by 0x407C5FF: Curl_open (url.c:525) ==153724== by 0x403E625: curl_easy_init (easy.c:371) ==153724== by 0x402FE30: test_unit1396.part.0.lto_priv.0 (unit1396.c:85) ==153724== by 0x400A12F: main (first.c:280) ==153724== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==153724== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==153724== by 0x407C59D: Curl_open (url.c:504) ==153724== by 0x403E625: curl_easy_init (easy.c:371) ==153724== by 0x402FE30: test_unit1396.part.0.lto_priv.0 (unit1396.c:85) ==153724== by 0x400A12F: main (first.c:280) ==153724== === End of file valgrind1396 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/15/valgrind1400 ../src/curl -q --output log/15/curl1400.out --include --trace-ascii log/15/trace1400 --trace-time http://127.0.0.1:44531/we/want/1400 --libcurl log/15/test1400.c > log/15/stdout1400 2> log/15/stderr1400 1400: 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 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/15/valgrind1400 ../src/curl -q --output log/15/curl1400.out --include --trace-ascii log/15/trace1400 --trace-time http://127.0.0.1:44531/we/want/1400 --libcurl log/15/test1400.c > log/15/stdout1400 2> log/15/stderr1400 === End of file commands.log === Start of file http_server.log 19:01:43.021375 ====> Client connect 19:01:43.021417 accept_connection 3 returned 4 19:01:43.021437 accept_connection 3 returned 0 19:01:43.021454 Read 93 bytes 19:01:43.021466 Process 93 bytes request 19:01:43.021480 Got request: GET /verifiedserver HTTP/1.1 19:01:43.021491 Are-we-friendly question received 19:01:43.021519 Wrote request (93 bytes) input to log/15/server.input 19:01:43.021538 Identifying ourselves as friends 19:01:43.021603 Response sent (56 bytes) and written to log/15/server.response 19:01:43.021616 special request received, no persistency 19:01:43.021627 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 35232 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === EndCMD (33792): ../libtool --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/valgrind1409 ../src/curl -q --output log/16/curl1409.out --include --trace-ascii log/16/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/16/stdout1409 2> log/16/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/19/valgrind1411 ../src/curl -q --output log/19/curl1411.out --include --trace-ascii log/19/trace1411 --trace-time http://127.0.0.1:41761/1411 -T log/19/empty1411 > log/19/stdout1411 2> log/19/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/13/valgrind1403 ../src/curl -q --output log/13/curl1403.out --include --trace-ascii log/13/trace1403 --trace-time http://127.0.0.1:35301/we/want/1403 --libcurl log/13/test1403.c -G -d "foo=bar" -d "baz=quux" > log/13/stdout1403 2> log/13/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/9/valgrind1401 ../src/curl -q --output log/9/curl1401.out --include --trace-ascii log/9/trace1401 --trace-time http://127.0.0.1:36745/we/want/1401 --libcurl log/9/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/9/stdout1401 2> log/9/stderr1401 of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind1400 ==153972== ==153972== Process terminating with default action of signal 4 (SIGILL) ==153972== Illegal opcode at address 0x4013E00 ==153972== at 0x4013E00: getparameter (tool_getparam.c:2846) ==153972== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==153972== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==153972== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1400 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/16/valgrind1409 ../src/curl -q --output log/16/curl1409.out --include --trace-ascii log/16/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/16/stdout1409 2> log/16/stderr1409 curl returned 132, when expecting 2 1409: exit FAILED == Contents of files in the log/16/ 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/16/valgrind1409 ../src/curl -q --output log/16/curl1409.out --include --trace-ascii log/16/trace1409 --trace-time http://127.0.0.1:47/1409 -C wrong > log/16/stdout1409 2> log/16/stderr1409 === End of file commands.log === Start of file server.cmd Testnum 1409 === End of file server.cmd === Start of file valgrind1409 ==154403== ==154403== Process terminating with default action of signal 4 (SIGILL) ==154403== Illegal opcode at address 0x4013E00 ==154403== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154403== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154403== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154403== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1409 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/19/valgrind1411 ../src/curl -q --output log/19/curl1411.out --include --trace-ascii log/19/trace1411 --trace-time http://127.0.0.1:41761/1411 -T log/19/empty1411 > log/19/stdout1411 2> log/19/stderr1411 1411: 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 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/19/valgrind1411 ../src/curl -q --output log/19/curl1411.out --include --trace-ascii log/19/trace1411 --trace-time http://127.0.0.1:41761/1411 -T log/19/empty1411 > log/19/stdout1411 2> log/19/stderr1411 === End of file commands.log === Start of file http_server.log 19:01:43.416196 ====> Client connect 19:01:43.416233 accept_connection 3 returned 4 19:01:43.416250 accept_connection 3 returned 0 19:01:43.416265 Read 93 bytes 19:01:43.416276 Process 93 bytes request 19:01:43.416292 Got request: GET /verifiedserver HTTP/1.1 19:01:43.416302 Are-we-friendly question received 19:01:43.416327 Wrote request (93 bytes) input to log/19/server.input 19:01:43.416345 Identifying ourselves as friends 19:01:43.416401 Response sent (56 bytes) and written to log/19/server.response 19:01:43.416413 special request received, no persistency 19:01:43.416423 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 56876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind1411 ==154626== ==154626== Process terminating with default action of signal 4 (SIGILL) ==154626== Illegal opcode at address 0x4013E00 ==154626== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154626== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154626== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154626== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1411 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/13/valgrind1403 ../src/curl -q --output log/13/curl1403.out --include --trace-ascii log/13/trace1403 --trace-time http://127.0.0.1:35301/we/want/1403 --libcurl log/13/test1403.c -G -d "foo=bar" -d "baz=quux" > log/13/stdout1403 2> log/13/stderr1403 1403: 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 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/13/valgrind1403 ../src/curl -q --output log/13/curl1403.out --include --trace-ascii log/13/trace1403 --trace-time http://127.0.0.1:35301/we/want/1403 --libcurl log/13/test1403.c -G -d "foo=bar" -d "baz=quux" > log/13/stdout1403 2> log/13/stderr1403 === End of file commands.log === Start of file http_server.log 19:01:43.265241 ====> Client connect 19:01:43.265280 accept_connection 3 returned 4 19:01:43.265299 accept_connection 3 returned 0 19:01:43.265315 Read 93 bytes 19:01:43.265327 Process 93 bytes request 19:01:43.265340 Got request: GET /verifiedserver HTTP/1.1 19:01:43.265351 Are-we-friendly question received 19:01:43.265378 Wrote request (93 bytes) input to log/13/server.input 19:01:43.265398 Identifying ourselves as friends 19:01:43.265459 Response sent (56 bytes) and written to log/13/server.response 19:01:43.265472 special request received, no persistency 19:01:43.265483 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 46624 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind1403 ==154189== ==154189== Process terminating with default action of signal 4 (SIGILL) ==154189== Illegal opcode at address 0x4013E00 ==154189== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154189== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154189== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154189== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1403 test 1401...[--libcurl for GET with various options] ../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/14/valgrind1402 ../src/curl -q --output log/14/curl1402.out --include --trace-ascii log/14/trace1402 --trace-time http://127.0.0.1:36759/we/want/1402 --libcurl log/14/test1402.c -d "foo=bar" -d "baz=quux" > log/14/stdout1402 2> log/14/stderr1402 CMD (33792): ../libtool --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/valgrind1405 ../src/curl -q --output log/7/curl1405.out --include --trace-ascii log/7/trace1405 --trace-time ftp://127.0.0.1:34277/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/7/test1405.c > log/7/stdout1405 2> log/7/stderr1405 CMD (33792): ../libtool --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/valgrind1406 ../src/curl -q --output log/10/curl1406.out --include --trace-ascii log/10/trace1406 --trace-time smtp://127.0.0.1:44353/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/10/test1406.eml --libcurl log/10/test1406.c > log/10/stdout1406 2> log/10/stderr1406 /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/9/valgrind1401 ../src/curl -q --output log/9/curl1401.out --include --trace-ascii log/9/trace1401 --trace-time http://127.0.0.1:36745/we/want/1401 --libcurl log/9/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/9/stdout1401 2> log/9/stderr1401 1401: 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 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/9/valgrind1401 ../src/curl -q --output log/9/curl1401.out --include --trace-ascii log/9/trace1401 --trace-time http://127.0.0.1:36745/we/want/1401 --libcurl log/9/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/9/stdout1401 2> log/9/stderr1401 === End of file commands.log === Start of file http_server.log 19:01:43.231510 ====> Client connect 19:01:43.231545 accept_connection 3 returned 4 19:01:43.231563 accept_connection 3 returned 0 19:01:43.231578 Read 93 bytes 19:01:43.231589 Process 93 bytes request 19:01:43.231604 Got request: GET /verifiedserver HTTP/1.1 19:01:43.231615 Are-we-friendly question received 19:01:43.231640 Wrote request (93 bytes) input to log/9/server.input 19:01:43.231657 Identifying ourselves as friends 19:01:43.231709 Response sent (56 bytes) and written to log/9/server.response 19:01:43.231720 special request received, no persistency 19:01:43.231730 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 49016 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind1401 ==154089== ==154089== Process terminating with default action of signal 4 (SIGILL) ==154089== Illegal opcode at address 0x4013E00 ==154089== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154089== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154089== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154089== by 0x40037A4: 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/14/valgrind1402 ../src/curl -q --output log/14/curl1402.out --include --trace-ascii log/14/trace1402 --trace-time http://127.0.0.1:36759/we/want/1402 --libcurl log/14/test1402.c -d "foo=bar" -d "baz=quux" > log/14/stdout1402 2> log/14/stderr1402 1402: 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 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/14/valgrind1402 ../src/curl -q --output log/14/curl1402.out --include --trace-ascii log/14/trace1402 --trace-time http://127.0.0.1:36759/we/want/1402 --libcurl log/14/test1402.c -d "foo=bar" -d "baz=quux" > log/14/stdout1402 2> log/14/stderr1402 === End of file commands.log === Start of file http_server.log 19:01:43.250305 ====> Client connect 19:01:43.250345 accept_connection 3 returned 4 19:01:43.250365 accept_connection 3 returned 0 19:01:43.250383 Read 93 bytes 19:01:43.250395 Process 93 bytes request 19:01:43.250410 Got request: GET /verifiedserver HTTP/1.1 19:01:43.250421 Are-we-friendly question received 19:01:43.250451 Wrote request (93 bytes) input to log/14/server.input 19:01:43.250470 Identifying ourselves as friends 19:01:43.250546 Response sent (56 bytes) and written to log/14/server.response 19:01:43.250560 special request received, no persistency 19:01:43.250571 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 40486 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind1402 ==154152== ==154152== Process terminating with default action of signal 4 (SIGILL) ==154152== Illegal opcode at address 0x4013E00 ==154152== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154152== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154152== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154152== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1402 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/7/valgrind1405 ../src/curl -q --output log/7/curl1405.out --include --trace-ascii log/7/trace1405 --trace-time ftp://127.0.0.1:34277/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/7/test1405.c > log/7/stdout1405 2> log/7/stderr1405 1405: 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 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/7/valgrind1405 ../src/curl -q --output log/7/curl1405.out --include --trace-ascii log/7/trace1405 --trace-time ftp://127.0.0.1:34277/1405 -Q "NOOP 1" -Q "+NOOP 2" -Q "-NOOP 3" -Q "*FAIL" -Q "+*FAIL HARD" --libcurl log/7/test1405.c > log/7/stdout1405 2> log/7/stderr1405 === End of file commands.log === Start of file ftp_server.log 19:01:43.501142 ====> Client connect 19:01:43.501298 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:43.501597 < "USER anonymous" 19:01:43.501638 > "331 We are happy you popped in![CR][LF]" 19:01:43.501829 < "PASS ftp@example.com" 19:01:43.501858 > "230 Welcome you silly person[CR][LF]" 19:01:43.502031 < "PWD" 19:01:43.502074 > "257 "/" is current directory[CR][LF]" 19:01:43.502253 < "EPSV" 19:01:43.502279 ====> Passive DATA channel requested by client 19:01:43.502294 DATA sockfilt for passive data channel starting... 19:01:43.504101 DATA sockfilt for passive data channel started (pid 154166) 19:01:43.504208 DATA sockfilt for passive data channel listens on port 42003 19:01:43.504259 > "229 Entering Passive Mode (|||42003|)[CR][LF]" 19:01:43.504279 Client has been notified that DATA conn will be accepted on port 42003 19:01:43.504512 Client connects to port 42003 19:01:43.504541 ====> Client established passive DATA connection on port 42003 19:01:43.504618 < "TYPE I" 19:01:43.504647 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:43.504820 < "SIZE verifiedserver" 19:01:43.504862 > "213 17[CR][LF]" 19:01:43.505030 < "RETR verifiedserver" 19:01:43.505065 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:43.505144 =====> Closing passive DATA connection... 19:01:43.505161 Server disconnects passive DATA connection 19:01:43.505332 Server disconnected passive DATA connection 19:01:43.505359 DATA sockfilt for passive data channel quits (pid 154166) 19:01:43.505693 DATA sockfilt for passive data channel quit (pid 154166) 19:01:43.505721 =====> Closed passive DATA connection 19:01:43.505751 > "226 File transfer complete[CR][LF]" 19:01:43.551740 < "QUIT" 19:01:43.551792 > "221 bye bye baby[CR][LF]" 19:01:43.552865 MAIN sockfilt said DISC 19:01:43.552907 ====> Client disconnected 19:01:43.552974 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:43.273093 ====> Client connect 19:01:43.273369 Received DATA (on stdin) 19:01:43.273388 > 160 bytes data, server => client 19:01:43.273403 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:43.273416 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:43.273429 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:43.273502 < 16 bytes data, client => server 19:01:43.273518 'USER anonymous\r\n' 19:01:43.273700 Received DATA (on stdin) 19:01:43.273715 > 33 bytes data, server => client 19:01:43.273727 '331 We are happy you popped in!\r\n' 19:01:43.273783 < 22 bytes data, client => server 19:01:43.273798 'PASS ftp@example.com\r\n' 19:01:43.273915 Received DATA (on stdin) 19:01:43.273929 > 30 bytes data, server => client 19:01:43.273941 '230 Welcome you silly person\r\n' 19:01:43.273993 < 5 bytes data, client => server 19:01:43.274008 'PWD\r\n' 19:01:43.274130 Received DATA (on stdin) 19:01:43.274144 > 30 bytes data, server => client 19:01:43.274155 '257 "/" is current directory\r\n' 19:01:43.274217 < 6 bytes data, client => server 19:01:43.274231 'EPSV\r\n' 19:01:43.276341 Received DATA (on stdin) 19:01:43.276356 > 39 bytes data, server => client 19:01:43.276368 '229 Entering Passive Mode (|||42003|)\r\n' 19:01:43.276483 < 8 bytes data, client => server 19:01:43.276499 'TYPE I\r\n' 19:01:43.276703 Received DATA (on stdin) 19:01:43.276718 > 33 bytes data, server => client 19:01:43.276730 '200 I modify TYPE as you wanted\r\n' 19:01:43.276784 < 21 bytes data, client => server 19:01:43.276797 'SIZE verifiedserver\r\n' 19:01:43.276918 Received DATA (on stdin) 19:01:43.276932 > 8 bytes data, server => client 19:01:43.276943 '213 17\r\n' 19:01:43.276994 < 21 bytes data, client => server 19:01:43.277007 'RETR verifiedserver\r\n' 19:01:43.277219 Received DATA (on stdin) 19:01:43.277233 > 29 bytes data, server => client 19:01:43.277245 '150 Binary junk (17 bytes).\r\n' 19:01:43.277810 Received DATA (on stdin) 19:01:43.277825 > 28 bytes data, server => client 19:01:43.277837 '226 File transfer complete\r\n' 19:01:43.323633 < 6 bytes data, client => server 19:01:43.323656 'QUIT\r\n' 19:01:43.323854 Received DATA (on stdin) 19:01:43.323869 > 18 bytes data, server => client 19:01:43.323881 '221 bye bye baby\r\n' 19:01:43.324855 ====> Client disconnect 19:01:43.325028 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:43.275978 Running IPv4 version 19:01:43.276038 Listening on port 42003 19:01:43.276075 Wrote pid 154166 to log/7/server/ftp_sockdata.pid 19:01:43.276096 Received PING (on stdin) 19:01:43.276183 Received PORT (on stdin) 19:01:43.276520 ====> Client connect 19:01:43.277273 Received DATA (on stdin) 19:01:43.277288 > 17 bytes data, server => client 19:01:43.277300 'WE ROOLZ: 89392\r\n' 19:01:43.277324 Received DISC (on stdin) 19:01:43.277338 ====> Client forcibly disconnected 19:01:43.277428 Received QUIT (on stdin) 19:01:43.277449 quits 19:01:43.277591 ============> 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 ==154396== ==154396== Process terminating with default action of signal 4 (SIGILL) ==154396== Illegal opcode at address 0x4013E00 ==154396== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154396== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154396== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154396== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1405 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/10/valgrind1406 ../src/curl -q --output log/10/curl1406.out --include --trace-ascii log/10/trace1406 --trace-time smtp://127.0.0.1:44353/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/10/test1406.eml --libcurl log/10/test1406.c > log/10/stdout1406 2> log/10/stderr1406 1406: 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 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/10/valgrind1406 ../src/curl -q --output log/10/curl1406.out --include --trace-ascii log/10/trace1406 --trace-time smtp://127.0.0.1:44353/1406 --mail-rcpt recipient.one@example.com --mail-rcpt recipient.two@example.com --mail-from sender@example.com -T log/10/test1406.eml --libcurl log/10/test1406.c > log/10/stdout1406 2> log/10/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 19:01:43.505339 ====> Client connect 19:01:43.505511 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:43.505808 < "EHLO verifiedserver" 19:01:43.505853 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:43.506052 < "HELP" 19:01:43.506087 > "214 WE ROOLZ: 124520[CR][LF]" 19:01:43.506105 return proof we are we 19:01:43.506342 < "QUIT" 19:01:43.506372 > "221 curl ESMTP server signing off[CR][LF]" 19:01:43.506506 MAIN sockfilt said DISC 19:01:43.506533 ====> Client disconnected 19:01:43.506592 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:43.277302 ====> Client connect 19:01:43.277582 Received DATA (on stdin) 19:01:43.277601 > 160 bytes data, server => client 19:01:43.277615 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:43.277627 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:43.277639 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:43.277715 < 21 bytes data, client => server 19:01:43.277734 'EHLO verifiedserver\r\n' 19:01:43.277917 Received DATA (on stdin) 19:01:43.277932 > 53 bytes data, server => client 19:01:43.277945 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:43.278006 < 6 bytes data, client => server 19:01:43.278022 'HELP\r\n' 19:01:43.278162 Received DATA (on stdin) 19:01:43.278176 > 22 bytes data, server => client 19:01:43.278188 '214 WE ROOLZ: 124520\r\n' 19:01:43.278299 < 6 bytes data, client => server 19:01:43.278317 'QUIT\r\n' 19:01:43.278429 Received DATA (on stdin) 19:01:43.278443 > 35 bytes data, server => client 19:01:43.278456 '221 curl ESMTP server signing off\r\n' 19:01:43.278514 ==CMD (33792): ../libtool --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/valgrind1404 ../src/curl -q --output log/4/curl1404.out --include --trace-ascii log/4/trace1404 --trace-time http://127.0.0.1:37985/we/want/1404 -F name=value -F 'file=@log/4/test1404.txt,log/4/test1404.txt;type=magic/content;encoder=8bit,log/4/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/4/test1404.c > log/4/stdout1404 2> log/4/stderr1404 CMD (33792): ../libtool --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/valgrind1407 ../src/curl -q --output log/11/curl1407.out --include --trace-ascii log/11/trace1407 --trace-time pop3://127.0.0.1:43065/1407 -l -u user:secret --libcurl log/11/test1407.c > log/11/stdout1407 2> log/11/stderr1407 CMD (33792): ../libtool --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/valgrind1410 ../src/curl -q --output log/17/curl1410.out --include --trace-ascii log/17/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/17/stdout1410 2> log/17/stderr1410 ==> Client disconnect 19:01:43.278652 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 ==154234== ==154234== Process terminating with default action of signal 4 (SIGILL) ==154234== Illegal opcode at address 0x4013E00 ==154234== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154234== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154234== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154234== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1406 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/4/valgrind1404 ../src/curl -q --output log/4/curl1404.out --include --trace-ascii log/4/trace1404 --trace-time http://127.0.0.1:37985/we/want/1404 -F name=value -F 'file=@log/4/test1404.txt,log/4/test1404.txt;type=magic/content;encoder=8bit,log/4/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/4/test1404.c > log/4/stdout1404 2> log/4/stderr1404 1404: 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 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/4/valgrind1404 ../src/curl -q --output log/4/curl1404.out --include --trace-ascii log/4/trace1404 --trace-time http://127.0.0.1:37985/we/want/1404 -F name=value -F 'file=@log/4/test1404.txt,log/4/test1404.txt;type=magic/content;encoder=8bit,log/4/test1404.txt;headers=X-testheader-1: header 1;headers=X-testheader-2: header 2' --libcurl log/4/test1404.c > log/4/stdout1404 2> log/4/stderr1404 === End of file commands.log === Start of file http_server.log 19:01:44.273054 ====> Client connect 19:01:44.273120 accept_connection 3 returned 4 19:01:44.273140 accept_connection 3 returned 0 19:01:44.273157 Read 93 bytes 19:01:44.273168 Process 93 bytes request 19:01:44.273183 Got request: GET /verifiedserver HTTP/1.1 19:01:44.273194 Are-we-friendly question received 19:01:44.273224 Wrote request (93 bytes) input to log/4/server.input 19:01:44.273247 Identifying ourselves as friends 19:01:44.273314 Response sent (56 bytes) and written to log/4/server.response 19:01:44.273327 special request received, no persistency 19:01:44.273338 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 44206 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file test1404.txt dummy data === End of file test1404.txt === Start of file valgrind1404 ==154241== ==154241== Process terminating with default action of signal 4 (SIGILL) ==154241== Illegal opcode at address 0x4013E00 ==154241== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154241== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154241== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154241== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1404 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/11/valgrind1407 ../src/curl -q --output log/11/curl1407.out --include --trace-ascii log/11/trace1407 --trace-time pop3://127.0.0.1:43065/1407 -l -u user:secret --libcurl log/11/test1407.c > log/11/stdout1407 2> log/11/stderr1407 1407: 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 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/11/valgrind1407 ../src/curl -q --output log/11/curl1407.out --include --trace-ascii log/11/trace1407 --trace-time pop3://127.0.0.1:43065/1407 -l -u user:secret --libcurl log/11/test1407.c > log/11/stdout1407 2> log/11/stderr1407 === End of file commands.log === Start of file pop3_server.log 19:01:43.509200 ====> Client connect 19:01:43.509363 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]+OK curl POP3 server ready to serve [CR][LF]" 19:01:43.509678 < "CAPA" 19:01:43.509729 > "-ERR Unrecognized command[CR][LF]" 19:01:43.509928 < "RETR verifiedserver" 19:01:43.509959 return proof we are we 19:01:43.509985 > "+OK Mail transfer starts[CR][LF]" 19:01:43.510006 > "WE ROOLZ: 121642[CR][LF]" 19:01:43.510025 > ".[CR][LF]" 19:01:43.555922 < "QUIT" 19:01:43.555980 > "+OK curl POP3 server signing off[CR][LF]" 19:01:43.557255 MAIN sockfilt said DISC 19:01:43.557301 ====> Client disconnected 19:01:43.557391 Awaiting input === End of file pop3_server.log === Start of file pop3_sockfilt.log 19:01:43.281162 ====> Client connect 19:01:43.281435 Received DATA (on stdin) 19:01:43.281453 > 178 bytes data, server => client 19:01:43.281466 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:43.281478 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:43.281490 ' \___|\___/|_| \_\_____|\r\n+OK curl POP3 server ready to ser' 19:01:43.281501 've \r\n' 19:01:43.281574 < 6 bytes data, client => server 19:01:43.281590 'CAPA\r\n' 19:01:43.281790 Received DATA (on stdin) 19:01:43.281804 > 27 bytes data, server => client 19:01:43.281816 '-ERR Unrecognized command\r\n' 19:01:43.281875 < 21 bytes data, client => server 19:01:43.281890 'RETR verifiedserver\r\n' 19:01:43.282081 Received DATA (on stdin) 19:01:43.282095 > 26 bytes data, server => client 19:01:43.282107 '+OK Mail transfer starts\r\n' 19:01:43.282131 Received DATA (on stdin) 19:01:43.282143 > 18 bytes data, server => client 19:01:43.282155 'WE ROOLZ: 121642\r\n' 19:01:43.282170 Received DATA (on stdin) 19:01:43.282181 > 3 bytes data, server => client 19:01:43.282192 '.\r\n' 19:01:43.327790 < 6 bytes data, client => server 19:01:43.327829 'QUIT\r\n' 19:01:43.328043 Received DATA (on stdin) 19:01:43.328059 > 34 bytes data, server => client 19:01:43.328072 '+OK curl POP3 server signing off\r\n' 19:01:43.329226 ====> Client disconnect 19:01:43.329463 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 ==154400== ==154400== Process terminating with default action of signal 4 (SIGILL) ==154400== Illegal opcode at address 0x4013E00 ==154400== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154400== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154400== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154400== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1407 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/CMD (33792): ../libtool --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/valgrind1412 ../src/curl -q --output log/8/curl1412.out --include --trace-ascii log/8/trace1412 --trace-time http://127.0.0.1:43853/1412 -u testuser:testpass --anyauth http://127.0.0.1:43853/14120001 > log/8/stdout1412 2> log/8/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/5/valgrind1413 ../src/curl -q --output log/5/curl1413.out --include --trace-ascii log/5/trace1413 --trace-time http://127.0.0.1:46771/this/1413 -L > log/5/stdout1413 2> log/5/stderr1413 CMD (33792): ../libtool --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/valgrind1414 ../src/curl -q --output log/20/curl1414.out --include --trace-ascii log/20/trace1414 --trace-time ftp://127.0.0.1:39091/1414 -P - > log/20/stdout1414 2> log/20/stderr1414 tests/valgrind.supp --num-callers=16 --log-file=log/17/valgrind1410 ../src/curl -q --output log/17/curl1410.out --include --trace-ascii log/17/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/17/stdout1410 2> log/17/stderr1410 curl returned 132, when expecting 2 1410: exit FAILED == Contents of files in the log/17/ dir after test 1410 === Start of file commands.log ../libtool --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/valgrind1410 ../src/curl -q --output log/17/curl1410.out --include --trace-ascii log/17/trace1410 --trace-time http://127.0.0.1:47/1410 --max-time -4 > log/17/stdout1410 2> log/17/stderr1410 === End of file commands.log === Start of file server.cmd Testnum 1410 === End of file server.cmd === Start of file valgrind1410 ==154416== ==154416== Process terminating with default action of signal 4 (SIGILL) ==154416== Illegal opcode at address 0x4013E00 ==154416== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154416== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154416== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154416== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1410 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/8/valgrind1412 ../src/curl -q --output log/8/curl1412.out --include --trace-ascii log/8/trace1412 --trace-time http://127.0.0.1:43853/1412 -u testuser:testpass --anyauth http://127.0.0.1:43853/14120001 > log/8/stdout1412 2> log/8/stderr1412 1412: 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 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/8/valgrind1412 ../src/curl -q --output log/8/curl1412.out --include --trace-ascii log/8/trace1412 --trace-time http://127.0.0.1:43853/1412 -u testuser:testpass --anyauth http://127.0.0.1:43853/14120001 > log/8/stdout1412 2> log/8/stderr1412 === End of file commands.log === Start of file http_server.log 19:01:43.487180 ====> Client connect 19:01:43.487218 accept_connection 3 returned 4 19:01:43.487250 accept_connection 3 returned 0 19:01:43.487266 Read 93 bytes 19:01:43.487277 Process 93 bytes request 19:01:43.487291 Got request: GET /verifiedserver HTTP/1.1 19:01:43.487301 Are-we-friendly question received 19:01:43.487329 Wrote request (93 bytes) input to log/8/server.input 19:01:43.487346 Identifying ourselves as friends 19:01:43.487400 Response sent (56 bytes) and written to log/8/server.response 19:01:43.487411 special request received, no persistency 19:01:43.487432 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 56538 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1412 ==154729== ==154729== Process terminating with default action of signal 4 (SIGILL) ==154729== Illegal opcode at address 0x4013E00 ==154729== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154729== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154729== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154729== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1412 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/5/valgrind1413 ../src/curl -q --output log/5/curl1413.out --include --trace-ascii log/5/trace1413 --trace-time http://127.0.0.1:46771/this/1413 -L > log/5/stdout1413 2> log/5/stderr1413 1413: 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 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/5/valgrind1413 ../src/curl -q --output log/5/curl1413.out --include --trace-ascii log/5/trace1413 --trace-time http://127.0.0.1:46771/this/1413 -L > log/5/stdout1413 2> log/5/stderr1413 === End of file commands.log === Start of file http_server.log 19:01:43.502656 ====> Client connect 19:01:43.502682 accept_connection 3 returned 4 19:01:43.502695 accept_connection 3 returned 0 19:01:43.502707 Read 93 bytes 19:01:43.502715 Process 93 bytes request 19:01:43.502726 Got request: GET /verifiedserver HTTP/1.1 19:01:43.502733 Are-we-friendly question received 19:01:43.502752 Wrote request (93 bytes) input to log/5/server.input 19:01:43.502765 Identifying ourselves as friends 19:01:43.502831 Response sent (56 bytes) and written to log/5/server.response 19:01:43.502840 special request received, no persistency 19:01:43.502847 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 34282 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1413 ==154747== ==154747== Process terminating with default action of signal 4 (SIGILL) ==154747== Illegal opcode at address 0x4013E00 ==154747== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154747== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154747== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154747== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1413 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/20/valgrind1414 ../src/curl -q --output log/20/curl1414.out --include --trace-ascii log/20/trace1414 --trace-time ftp://127.0.0.1:39091/1414 -P - > log/20/stdout1414 2> log/20/stderr1414 1414: 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 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/20/valgrind1414 ../src/curl -q --output log/20/curl1414.out --include --trace-ascii log/20/trace1414 --trace-time ftp://127.0.0.1:39091/1414 -P - > log/20/stdout1414 2> 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/18/valgrind1416 ../src/curl -q --output log/18/curl1416.out --include --trace-ascii log/18/trace1416 --trace-time http://127.0.0.1:39771/1416 > log/18/stdout1416 2> log/18/stderr1416 og/20/stderr1414 === End of file commands.log === Start of file ftp_server.log 19:01:43.732119 ====> Client connect 19:01:43.732273 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:43.733205 < "USER anonymous" 19:01:43.733266 > "331 We are happy you popped in![CR][LF]" 19:01:43.733482 < "PASS ftp@example.com" 19:01:43.733515 > "230 Welcome you silly person[CR][LF]" 19:01:43.733677 < "PWD" 19:01:43.733710 > "257 "/" is current directory[CR][LF]" 19:01:43.733873 < "EPSV" 19:01:43.733897 ====> Passive DATA channel requested by client 19:01:43.733911 DATA sockfilt for passive data channel starting... 19:01:43.735897 DATA sockfilt for passive data channel started (pid 154730) 19:01:43.736035 DATA sockfilt for passive data channel listens on port 36531 19:01:43.736081 > "229 Entering Passive Mode (|||36531|)[CR][LF]" 19:01:43.736099 Client has been notified that DATA conn will be accepted on port 36531 19:01:43.736316 Client connects to port 36531 19:01:43.736346 ====> Client established passive DATA connection on port 36531 19:01:43.736436 < "TYPE I" 19:01:43.736468 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:43.736632 < "SIZE verifiedserver" 19:01:43.736670 > "213 17[CR][LF]" 19:01:43.736826 < "RETR verifiedserver" 19:01:43.736858 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:43.736935 =====> Closing passive DATA connection... 19:01:43.736951 Server disconnects passive DATA connection 19:01:43.737066 Server disconnected passive DATA connection 19:01:43.737086 DATA sockfilt for passive data channel quits (pid 154730) 19:01:43.737304 DATA sockfilt for passive data channel quit (pid 154730) 19:01:43.737335 =====> Closed passive DATA connection 19:01:43.737366 > "226 File transfer complete[CR][LF]" 19:01:43.782444 < "QUIT" 19:01:43.782509 > "221 bye bye baby[CR][LF]" 19:01:43.783731 MAIN sockfilt said DISC 19:01:43.783775 ====> Client disconnected 19:01:43.783865 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:43.503424 ====> Client connect 19:01:43.504353 Received DATA (on stdin) 19:01:43.504395 > 160 bytes data, server => client 19:01:43.504411 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:43.504423 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:43.504435 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:43.504808 < 16 bytes data, client => server 19:01:43.504831 'USER anonymous\r\n' 19:01:43.505332 Received DATA (on stdin) 19:01:43.505350 > 33 bytes data, server => client 19:01:43.505363 '331 We are happy you popped in!\r\n' 19:01:43.505431 < 22 bytes data, client => server 19:01:43.505444 'PASS ftp@example.com\r\n' 19:01:43.505572 Received DATA (on stdin) 19:01:43.505585 > 30 bytes data, server => client 19:01:43.505597 '230 Welcome you silly person\r\n' 19:01:43.505647 < 5 bytes data, client => server 19:01:43.505659 'PWD\r\n' 19:01:43.505765 Received DATA (on stdin) 19:01:43.505777 > 30 bytes data, server => client 19:01:43.505789 '257 "/" is current directory\r\n' 19:01:43.505845 < 6 bytes data, client => server 19:01:43.505858 'EPSV\r\n' 19:01:43.508160 Received DATA (on stdin) 19:01:43.508176 > 39 bytes data, server => client 19:01:43.508188 '229 Entering Passive Mode (|||36531|)\r\n' 19:01:43.508364 < 8 bytes data, client => server 19:01:43.508383 'TYPE I\r\n' 19:01:43.508524 Received DATA (on stdin) 19:01:43.508537 > 33 bytes data, server => client 19:01:43.508548 '200 I modify TYPE as you wanted\r\n' 19:01:43.508598 < 21 bytes data, client => server 19:01:43.508610 'SIZE verifiedserver\r\n' 19:01:43.508726 Received DATA (on stdin) 19:01:43.508742 > 8 bytes data, server => client 19:01:43.508753 '213 17\r\n' 19:01:43.508800 < 21 bytes data, client => server 19:01:43.508812 'RETR verifiedserver\r\n' 19:01:43.508956 Received DATA (on stdin) 19:01:43.508981 > 29 bytes data, server => client 19:01:43.508996 '150 Binary junk (17 bytes).\r\n' 19:01:43.509427 Received DATA (on stdin) 19:01:43.509443 > 28 bytes data, server => client 19:01:43.509455 '226 File transfer complete\r\n' 19:01:43.554303 < 6 bytes data, client => server 19:01:43.554342 'QUIT\r\n' 19:01:43.554580 Received DATA (on stdin) 19:01:43.554603 > 18 bytes data, server => client 19:01:43.554616 '221 bye bye baby\r\n' 19:01:43.555711 ====> Client disconnect 19:01:43.557155 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:43.507762 Running IPv4 version 19:01:43.507832 Listening on port 36531 19:01:43.507872 Wrote pid 154730 to log/20/server/ftp_sockdata.pid 19:01:43.507894 Received PING (on stdin) 19:01:43.507992 Received PORT (on stdin) 19:01:43.508317 ====> Client connect 19:01:43.509009 Received DATA (on stdin) 19:01:43.509023 > 17 bytes data, server => client 19:01:43.509035 'WE ROOLZ: 80693\r\n' 19:01:43.509060 Received DISC (on stdin) 19:01:43.509072 ====> Client forcibly disconnected 19:01:43.509146 Received QUIT (on stdin) 19:01:43.509157 quits 19:01:43.509215 ============> 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 ==154831== ==154831== Process terminating with default action of signal 4 (SIGILL) ==154831== Illegal opcode at address 0x4013E00 ==154831== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154831== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154831== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154831== by 0x40037A4: 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/18/valgrind1416 ../src/curl -q --output log/18/curl1416.out --include --trace-ascii log/18/trace1416 --trace-time http://127.0.0.1:39771/1416 > log/18/stdout1416 2> log/18/stderr1416 1416: 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 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/18/valgrind1416 ../src/curl -q --output log/18/curl1416.out --include --trace-ascii log/18/trace1416 --trace-time http://127.0.0.1:39771/1416 > log/18/stdout1416 2> log/18/stderr1416 === End of file commands.log === Start of file http_server.log 19:01:43.604450 ====> Client connect 19:01:43.604486 accept_connection 3 returned 4 19:01:43.604503 accept_connection 3 returned 0 19:01:43.604518 Read 93 bytes 19:01:43.604528 Process 93 bytes request 19:01:43.604541 Got request: GET /verifiedserver HTTP/1.1 19:01:43.604550 Are-we-friendly question received 19:01:43.604576 Wrote request (93 bytes) input to log/18/server.input 19:01:43.604592 Identifying ourselves as friends 19:01:43.604646 Response sent (56 bytes) and written to log/18/server.response 19:01:43.604656 special request received, no persistency 19:01:43.604666 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 38234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === End of file http_verify.out === Start of file server.cmd Testnum 1416 === 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/12/valgrind1415 ../src/curl -q --output log/12/curl1415.out --include --trace-ascii log/12/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/12/jar1415.txt -x 127.0.0.1:46819 > log/12/stdout1415 2> log/12/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/24/valgrind1417 ../src/curl -q --output log/24/curl1417.out --include --trace-ascii log/24/trace1417 --trace-time http://127.0.0.1:39383/1417 -D log/24/heads1417 > log/24/stdout1417 2> log/24/stderr1417 CMD (33792): ../libtool --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/valgrind1419 ../src/curl -q --output log/2/curl1419.out --include --trace-ascii log/2/trace1419 --trace-time http://127.0.0.1:46047/1419 --anyauth http://127.0.0.1:46047/14190003 > log/2/stdout1419 2> log/2/stderr1419 rver.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74423 === End of file server.response === Start of file valgrind1416 ==154993== ==154993== Process terminating with default action of signal 4 (SIGILL) ==154993== Illegal opcode at address 0x4013E00 ==154993== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154993== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154993== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154993== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1416 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/2/valgrind1419 ../src/curl -q --output log/2/curl1419.out --include --trace-ascii log/2/trace1419 --trace-time http://127.0.0.1:46047/1419 --anyauth http://127.0.0.1:46047/14190003 > log/2/stdout1419 2> log/2/stderr1419 1419: 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 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/2/valgrind1419 ../src/curl -q --output log/2/curl1419.out --include --trace-ascii log/2/trace1419 --trace-time http://127.0.0.1:46047/1419 --anyauth http://127.0.0.1:46047/14190003 > log/2/stdout1419 2> log/2/stderr1419 === End of file commands.log === Start of file http_server.log 19:01:43.613079 ====> Client connect 19:01:43.613111 accept_connection 3 returned 4 19:01:43.613130 accept_connection 3 returned 0 19:01:43.613146 Read 93 bytes 19:01:43.613158 Process 93 bytes request 19:01:43.613170 Got request: GET /verifiedserver HTTP/1.1 19:01:43.613182 Are-we-friendly question received 19:01:43.613206 Wrote request (93 bytes) input to log/2/server.input 19:01:43.613225 Identifying ourselves as friends 19:01:43.613291 Response sent (57 bytes) and written to log/2/server.response 19:01:43.613304 special request received, no persistency 19:01:43.613315 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46047... * Established connection to 127.0.0.1 (127.0.0.1 port 46047) from 127.0.0.1 port 58254 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46047 > User-Agent: curl/8.17.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:46047 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 148921 === 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: 18 WE ROOLZ: 148921 === End of file server.response === Start of file valgrind1419 ==155031== ==155031== Process terminating with default action of signal 4 (SIGILL) ==155031== Illegal opcode at address 0x4013E00 ==155031== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155031== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155031== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155031== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1419 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/12/valgrind1415 ../src/curl -q --output log/12/curl1415.out --include --trace-ascii log/12/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/12/jar1415.txt -x 127.0.0.1:46819 > log/12/stdout1415 2> log/12/stderr1415 1415: 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 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/12/valgrind1415 ../src/curl -q --output log/12/curl1415.out --include --trace-ascii log/12/trace1415 --trace-time http://example.com/we/want/1415 -b none -c log/12/jar1415.txt -x 127.0.0.1:46819 > log/12/stdout1415 2> log/12/stderr1415 === End of file commands.log === Start of file http_server.log 19:01:43.602395 ====> Client connect 19:01:43.602434 accept_connection 3 returned 4 19:01:43.602451 accept_connection 3 returned 0 19:01:43.602468 Read 93 bytes 19:01:43.602479 Process 93 bytes request 19:01:43.602495 Got request: GET /verifiedserver HTTP/1.1 19:01:43.602506 Are-we-friendly question received 19:01:43.602535 Wrote request (93 bytes) input to log/12/server.input 19:01:43.602553 Identifying ourselves as friends 19:01:43.602610 Response sent (56 bytes) and written to log/12/server.response 19:01:43.602621 special request received, no persistency 19:01:43.602632 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 49738 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind1415 ==154992== ==154992== Process terminating with default action of signal 4 (SIGILL) ==154992== Illegal opcode at address 0x4013E00 ==154992== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154992== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154992== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154992== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1415 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/24/valgrind1417 ../src/curl -q --output log/24/curl1417.out --include --trace-ascii log/24/trace1417 --trace-time http://127.0.0.1:39383/1417 -D log/24/heads1417 > log/24/stdout1417 2> log/24/stderr1417 1417: 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 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/24/valgrind1417 ../src/curl -q --output log/24/curl1417.out --include --trace-ascii log/24/trace1417 --trace-time http://127.0.0.1:39383/1417 -D log/24/heads1417 > log/24/stdout1417 2> log/24/stderr1417 === End of file commands.log === Start of file http_server.log 19:01:43.605637 ====> Client connect 19:01:43.605671 accept_connection 3 returned 4 19:01:43.605688 accept_connection 3 returned 0 19:01:43.605704 Read 93 bytes 19:01:43.605715 Process 93 bytes request 19:01:43.605728 Got request: GET /verifiedserver HTTP/1.1 19:01:43.605739 Are-we-friendly question received 19:01:43.605764 Wrote request (93 bytes) input to log/24/server.input 19:01:43.605782 Identifying ourselves as friends 19:01:43.605846 Response sent (56 bytes) and written to log/24/server.response 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/1/valgrind1422 ../src/curl -q --trace-ascii log/1/trace1422 --trace-time http://127.0.0.1:40353/1422 -J -O file:///startdir/src/build-curl/tests/log/1/name1422 --output-dir log/1 > log/1/stdout1422 2> log/1/stderr1422 CMD (33792): ../libtool --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/valgrind1421 ../src/curl -q --include --trace-ascii log/6/trace1421 --trace-time --proxy http://127.0.0.1:41595 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/6/stdout1421 2> log/6/stderr1421 CMD (33792): ../libtool --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/valgrind1418 ../src/curl -q --output log/23/curl1418.out --include --trace-ascii log/23/trace1418 --trace-time http://127.0.0.1:35243/1418 -u testuser:testpass --anyauth http://127.0.0.1:35243/14180003 > log/23/stdout1418 2> log/23/stderr1418 9:01:43.605857 special request received, no persistency 19:01:43.605867 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 47042 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === End of file http_verify.out === Start of file server.cmd Testnum 1417 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74417 === End of file server.response === Start of file valgrind1417 ==154998== ==154998== Process terminating with default action of signal 4 (SIGILL) ==154998== Illegal opcode at address 0x4013E00 ==154998== at 0x4013E00: getparameter (tool_getparam.c:2846) ==154998== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==154998== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==154998== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1417 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/1/valgrind1422 ../src/curl -q --trace-ascii log/1/trace1422 --trace-time http://127.0.0.1:40353/1422 -J -O file:///startdir/src/build-curl/tests/log/1/name1422 --output-dir log/1 > log/1/stdout1422 2> log/1/stderr1422 1422: 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 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/1/valgrind1422 ../src/curl -q --trace-ascii log/1/trace1422 --trace-time http://127.0.0.1:40353/1422 -J -O file:///startdir/src/build-curl/tests/log/1/name1422 --output-dir log/1 > log/1/stdout1422 2> log/1/stderr1422 === End of file commands.log === Start of file http_server.log 19:01:43.622584 ====> Client connect 19:01:43.622618 accept_connection 3 returned 4 19:01:43.622636 accept_connection 3 returned 0 19:01:43.622651 Read 93 bytes 19:01:43.622662 Process 93 bytes request 19:01:43.622676 Got request: GET /verifiedserver HTTP/1.1 19:01:43.622687 Are-we-friendly question received 19:01:43.622712 Wrote request (93 bytes) input to log/1/server.input 19:01:43.622731 Identifying ourselves as friends 19:01:43.622788 Response sent (56 bytes) and written to log/1/server.response 19:01:43.622800 special request received, no persistency 19:01:43.622811 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 55876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1422 ==155070== ==155070== Process terminating with default action of signal 4 (SIGILL) ==155070== Illegal opcode at address 0x4013E00 ==155070== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155070== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155070== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155070== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1422 CMD (33792): ../libtool --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/valgrind1420 ../src/curl -q --output log/21/curl1420.out --include --trace-ascii log/21/trace1420 --trace-time 'imap://127.0.0.1:44099/1420/;MAILINDEX=1' -u user:secret --libcurl log/21/test1420.c > log/21/stdout1420 2> log/21/stderr1420 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/6/valgrind1421 ../src/curl -q --include --trace-ascii log/6/trace1421 --trace-time --proxy http://127.0.0.1:41595 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/6/stdout1421 2> log/6/stderr1421 1421: stdout FAILED: --- log/6/check-expected 2025-11-13 19:01:44.879391644 +0000 +++ log/6/check-generated 2025-11-13 19:01:44.879391644 +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/6/ 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/6/valgrind1421 ../src/curl -q --include --trace-ascii log/6/trace1421 --trace-time --proxy http://127.0.0.1:41595 http://test.remote.haxx.se.1421:8990/ http://different.remote.haxx.se.1421:8990 > log/6/stdout1421 2> log/6/stderr1421 === End of file commands.log === Start of file http_server.log 19:01:43.617993 ====> Client connect 19:01:43.618025 accept_connection 3 returned 4 19:01:43.618043 accept_connection 3 returned 0 19:01:43.618059 Read 93 bytes 19:01:43.618069 Process 93 bytes request 19:01:43.618082 Got request: GET /verifiedserver HTTP/1.1 19:01:43.618092 Are-we-friendly question received 19:01:43.618116 Wrote request (93 bytes) input to log/6/server.input 19:01:43.618134 Identifying ourselves as friends 19:01:43.618191 Response sent (56 bytes) and written to log/6/server.response 19:01:43.618203 special request received, no persistency 19:01:43.618213 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 54492 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1421 ==155052== ==155052== Process terminating with default action of signal 4 (SIGILL) ==155052== Illegal opcode at address 0x4013E00 ==155052== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155052== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155052== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155052== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1421 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/21/valgrind1420 ../src/curl -q --output log/21/curl1420.out --include --trace-ascii log/21/trace1420 --trace-time 'imap://127.0.0.1:44099/1420/;MAILINDEX=1' -u user:secret --libcurl log/21/test1420.c > log/21/stdout1420 2> log/21/stderr1420 1420: 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 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/21/valgrind1420 ../src/curl -q --output log/21/curl1420.out --include --trace-ascii log/21/trace1420 --trace-time 'imap://127.0.0.1:44099/1420/;MAILINDEX=1' -u user:secret --libcurl log/21/test1420.c > log/21/stdout1420 2> log/21/stderr1420 === End of file commands.log === Start of file imap_server.log 19:01:43.846149 ====> Client connect 19:01:43.846288 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:43.846606 < "A001 CAPABILITY" 19:01:43.846650 > "A001 BAD Command[CR][LF]" 19:01:43.846899 < "A002 LIST "verifiedserver" *" 19:01:43.846932 LIST_imap got "verifiedserver" * 19:01:43.846963 > "* LIST () "/" "WE ROOLZ: 118602"[CR][LF]" 19:01:43.846982 > "A002 OK LIST Completed[CR][LF]" 19:01:43.846996 return proof we are we 19:01:43.892486 < "A003 LOGOUT" 19:01:43.892541 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:43.892561 > "A003 OK LOGOUT completed[CR][LF]" 19:01:43.893472 MAIN sockfilt said DISC 19:01:43.893516 ====> Client disconnected 19:01:43.893756 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:44.618104 ====> Client connect 19:01:44.618357 Received DATA (on stdin) 19:01:44.618375 > 178 bytes data, server => client 19:01:44.618390 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:44.618404 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:44.618417 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:44.618428 'rve\r\n' 19:01:44.618508 < 17 bytes data, client => server 19:01:44.618524 'A001 CAPABILITY\r\n' 19:01:44.618710 Received DATA (on stdin) 19:01:44.618726 > 18 bytes data, server => client 19:01:44.618740 'A001 BAD Command\r\n' 19:01:44.618855 < 30 bytes data, client => server 19:01:44.618881 'A002 LIST "verifiedserver" *\r\n' 19:01:44.619054 Received DATA (on stdin) 19:01:44.619071 > 34 bytes data, server => client 19:01:44.619084 '* LIST () "/" "WE ROOLZ: 118602"\r\n' 19:01:44.619110 Received DATA (on stdin) 19:01:44.619122 > 24 bytes data, server => client 19:01:44.619134 'A002 OK LIST Completed\r\n' 19:01:44.664305 < 13 bytes data, client => server 19:01:44.664342 'A003 LOGOUT\r\n' 19:01:44.664620 Received DATA (on stdin) 19:01:44.664634 > 36 bytes data, server => client 19:01:44.664647 '* BYE curl IMAP server signing off\r\n' 19:01:44.664670 Received DATA (on stdin) 19:01:44.664681 > 26 bytes data, server => client 19:01:44.664693 'A003 OK LOGOUT completed\r\n' 19:01:44.665464 ====> Client disconnect 19:01:44.665709 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 ==155332== ==155332== Process terminating with default action of signal 4 (SIGILL) ==155332== Illegal opcode at address 0x4013E00 ==155332== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155332== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155332== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155332== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1420 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/23/valgrind1418 ../src/curl -q --output log/23/curl1418.out --include --trace-ascii log/23/trace1418 --trace-time http://127.0.0.1:35243/1418 -u testuser:testpass --anyauth http://127.0.0.1:35243/14180003 > log/23/stdout1418 2> log/23/stderr1418 1418: protocol FAILED! There was no content at all in the file log/23/server.input. Server glitch? Total curl failure?CMD (33792): ../libtool --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/valgrind1423 ../src/curl -q --trace-ascii log/22/trace1423 --trace-time http://127.0.0.1:41061/1423 -o log/22/outfile1423 file:///startdir/src/build-curl/tests/log/22/outfile1423 > log/22/stdout1423 2> log/22/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/15/valgrind1424 ../src/curl -q --trace-ascii log/15/trace1424 --trace-time http://127.0.0.1:44531/1424 -z "dec 12 11:00:00 1999 GMT" -o log/15/outfile1424 > log/15/stdout1424 2> log/15/stderr1424 Returned: 132 == Contents of files in the log/23/ 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/23/valgrind1418 ../src/curl -q --output log/23/curl1418.out --include --trace-ascii log/23/trace1418 --trace-time http://127.0.0.1:35243/1418 -u testuser:testpass --anyauth http://127.0.0.1:35243/14180003 > log/23/stdout1418 2> log/23/stderr1418 === End of file commands.log === Start of file http_server.log 19:01:43.612944 ====> Client connect 19:01:43.612977 accept_connection 3 returned 4 19:01:43.612996 accept_connection 3 returned 0 19:01:43.613012 Read 93 bytes 19:01:43.613023 Process 93 bytes request 19:01:43.613037 Got request: GET /verifiedserver HTTP/1.1 19:01:43.613048 Are-we-friendly question received 19:01:43.613078 Wrote request (93 bytes) input to log/23/server.input 19:01:43.613098 Identifying ourselves as friends 19:01:43.613158 Response sent (56 bytes) and written to log/23/server.response 19:01:43.613171 special request received, no persistency 19:01:43.613183 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 52826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind1418 ==155058== ==155058== Process terminating with default action of signal 4 (SIGILL) ==155058== Illegal opcode at address 0x4013E00 ==155058== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155058== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155058== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155058== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1418 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/22/valgrind1423 ../src/curl -q --trace-ascii log/22/trace1423 --trace-time http://127.0.0.1:41061/1423 -o log/22/outfile1423 file:///startdir/src/build-curl/tests/log/22/outfile1423 > log/22/stdout1423 2> log/22/stderr1423 1423: 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 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/22/valgrind1423 ../src/curl -q --trace-ascii log/22/trace1423 --trace-time http://127.0.0.1:41061/1423 -o log/22/outfile1423 file:///startdir/src/build-curl/tests/log/22/outfile1423 > log/22/stdout1423 2> log/22/stderr1423 === End of file commands.log === Start of file http_server.log 19:01:43.744690 ====> Client connect 19:01:43.744724 accept_connection 3 returned 4 19:01:43.744741 accept_connection 3 returned 0 19:01:43.744756 Read 93 bytes 19:01:43.744766 Process 93 bytes request 19:01:43.744779 Got request: GET /verifiedserver HTTP/1.1 19:01:43.744789 Are-we-friendly question received 19:01:43.744813 Wrote request (93 bytes) input to log/22/server.input 19:01:43.744829 Identifying ourselves as friends 19:01:43.744882 Response sent (56 bytes) and written to log/22/server.response 19:01:43.744893 special request received, no persistency 19:01:43.744902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 38222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind1423 ==155409== ==155409== Process terminating with default action of signal 4 (SIGILL) ==155409== Illegal opcode at address 0x4013E00 ==155409== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155409== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155409== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155409== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1423 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/15/valgrind1424 ../src/curl -q --trace-ascii log/15/trace1424 --trace-time http://127.0.0.1:44531/1424 -z "dec 12 11:00:00 1999 GMT" -o log/15/outfile1424 > log/15/stdout1424 2> log/15/stderr1424 1424: 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 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/15/valgrind1424 ../src/curl -q --trace-ascii log/15/trace1424 --trace-time http://127.0.0.1:44531/1424 -z "dec 12 11:00:00 1999 GMT" -o log/15/outfile1424 > log/15/stdout1424 2> log/15/stderr1424 === End of file commands.log === Start of file http_server.log 19:01:44.064643 ====> Client connect 19:01:44.064679 accept_connection 3 returned 4 19:01:44.064698 accept_connection 3 returned 0 19:01:44.064715 Read 93 bytes 19:01:44.064727 Process 93 bytes request 19:01:44.064742 Got request: GET /verifiedserver HTTP/1.1 19:01:44.064753 Are-we-friendly question received 19:01:44.064780 Wrote request (93 bytes) input to log/15/server.input 19:01:44.064799 Identifying ourselves as friends 19:01:44.064865 Response sent (56 bytes) and written to log/15/server.response 19:01:44.064879 special request received, no persistency 19:01:44.064891 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 35234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind1424 ==155511== ==155511== Process terminating with default action of signal 4 (SIGILL) ==155511== Illegal opcode at address 0x4013E00 ==155511== at 0x4013E00: getparameter (tool_getpenv: ‘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/16/valgrind1427 ../src/curl -q --output log/16/curl1427.out --include --trace-ascii log/16/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/16/stdout1427 2> log/16/stderr1427 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/3/valgrind1408 ../src/curl -q --output log/3/curl1408.out --include --trace-ascii log/3/trace1408 --trace-time -c log/3/jar1408 -g http://[::1]:38469/path/14080001 http://[::1]:38469/path/14080002 > log/3/stdout1408 2> log/3/stderr1408 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/13/valgrind1429 ../src/curl -q --include --trace-ascii log/13/trace1429 --trace-time http://127.0.0.1:35301/1429 --write-out '%{response_code}' > log/13/stdout1429 2> log/13/stderr1429 aram.c:2846) ==155511== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155511== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155511== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1424 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/16/valgrind1427 ../src/curl -q --output log/16/curl1427.out --include --trace-ascii log/16/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/16/stdout1427 2> log/16/stderr1427 curl returned 132, when expecting 2 1427: exit FAILED == Contents of files in the log/16/ 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/16/valgrind1427 ../src/curl -q --output log/16/curl1427.out --include --trace-ascii log/16/trace1427 --trace-time http://127.0.0.1:47/1427 -m 184467440737095510 > log/16/stdout1427 2> log/16/stderr1427 === End of file commands.log === Start of file server.cmd Testnum 1427 === End of file server.cmd === Start of file valgrind1427 ==155585== ==155585== Process terminating with default action of signal 4 (SIGILL) ==155585== Illegal opcode at address 0x4013E00 ==155585== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155585== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155585== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155585== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1427 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/3/server/http_ipv6_server.pid" --logfile "log/3/http_ipv6_server.log" --logdir "log/3" --portfile log/3/server/http_ipv6_server.port --config log/3/server.cmd --ipv6 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP-IPv6 server is on PID 154347 port 38469 * pid http-ipv6 => 154347 154347 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/3/valgrind1408 ../src/curl -q --output log/3/curl1408.out --include --trace-ascii log/3/trace1408 --trace-time -c log/3/jar1408 -g http://[::1]:38469/path/14080001 http://[::1]:38469/path/14080002 > log/3/stdout1408 2> log/3/stderr1408 1408: 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 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/3/valgrind1408 ../src/curl -q --output log/3/curl1408.out --include --trace-ascii log/3/trace1408 --trace-time -c log/3/jar1408 -g http://[::1]:38469/path/14080001 http://[::1]:38469/path/14080002 > log/3/stdout1408 2> log/3/stderr1408 === End of file commands.log === Start of file http_ipv6_server.log 19:01:43.343096 Running HTTP IPv6 version on port 38469 19:01:43.343175 Wrote pid 154347 to log/3/server/http_ipv6_server.pid 19:01:43.343206 Wrote port 38469 to log/3/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 ==155667== ==155667== Process terminating with default action of signal 4 (SIGILL) ==155667== Illegal opcode at address 0x4013E00 ==155667== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155667== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155667== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155667== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1408 CMD (33792): ../libtool --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/valgrind1430 ../src/curl -q --output log/9/curl1430.out --include --trace-ascii log/9/trace1430 --trace-time http://127.0.0.1:36745/1430 > log/9/stdout1430 2> log/9/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/14/valgrind1431 ../src/curl -q --output log/14/curl1431.out --include --trace-ascii log/14/trace1431 --trace-time http://127.0.0.1:36759/1431 > log/14/stdout1431 2> log/14/stderr1431 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/13/valgrind1429 ../src/curl -q --include --trace-ascii log/13/trace1429 --trace-time http://127.0.0.1:35301/1429 --write-out '%{response_code}' > log/13/stdout1429 2> log/13/stderr1429 1429: stdout FAILED: --- log/13/check-expected 2025-11-13 19:01:45.492724983 +0000 +++ log/13/check-generated 2025-11-13 19:01:45.492724983 +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/13/ 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/13/valgrind1429 ../src/curl -q --include --trace-ascii log/13/trace1429 --trace-time http://127.0.0.1:35301/1429 --write-out '%{response_code}' > log/13/stdout1429 2> log/13/stderr1429 === End of file commands.log === Start of file http_server.log 19:01:44.341011 ====> Client connect 19:01:44.341045 accept_connection 3 returned 4 19:01:44.341078 accept_connection 3 returned 0 19:01:44.341092 Read 93 bytes 19:01:44.341103 Process 93 bytes request 19:01:44.341116 Got request: GET /verifiedserver HTTP/1.1 19:01:44.341126 Are-we-friendly question received 19:01:44.341152 Wrote request (93 bytes) input to log/13/server.input 19:01:44.341169 Identifying ourselves as friends 19:01:44.341221 Response sent (56 bytes) and written to log/13/server.response 19:01:44.341231 special request received, no persistency 19:01:44.341241 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 46638 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.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:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind1429 ==155707== ==155707== Process terminating with default action of signal 4 (SIGILL) ==155707== Illegal opcode at address 0x4013E00 ==155707== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155707== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155707== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155707== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1429 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/9/valgrind1430 ../src/curl -q --output log/9/curl1430.out --include --trace-ascii log/9/trace1430 --trace-time http://127.0.0.1:36745/1430 > log/9/stdout1430 2> log/9/stderr1430 1430: 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 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/9/valgrind1430 ../src/curl -q --output log/9/curl1430.out --include --trace-ascii log/9/trace1430 --trace-time http://127.0.0.1:36745/1430 > log/9/stdout1430 2> log/9/stderr1430 === End of file commands.log === Start of file http_server.log 19:01:44.364137 ====> Client connect 19:01:44.364170 accept_connection 3 returned 4 19:01:44.364186 accept_connection 3 returned 0 19:01:44.364297 Read 93 bytes 19:01:44.364315 Process 93 bytes request 19:01:44.364331 Got request: GET /verifiedserver HTTP/1.1 19:01:44.364343 Are-we-friendly question received 19:01:44.364374 Wrote request (93 bytes) input to log/9/server.input 19:01:44.364395 Identifying ourselves as friends 19:01:44.364457 Response sent (56 bytes) and written to log/9/server.response 19:01:44.364470 special request received, no persistency 19:01:44.364481 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 49024 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind1430 ==155770== ==155770== Process terminating with default action of signal 4 (SIGILL) ==155770== Illegal opcode at address 0x4013E00 ==155770== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155770== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155770== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155770== by 0x40037A4: 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/14/valgrind1431 ../src/curl -q --output log/14/curl1431.out --include --trace-ascii log/14/trace1431 --trace-time http://127.0.0.1:36759/1431 > log/14/stdout1431 2> log/14/stderr1431 1431: 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 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/14/valgrind1431 ../src/curl -q --output log/14/curl1431.out --include --trace-ascii log/14/trace1431 --trace-time http://127.0.0.1:36759/1431 > log/14/stdout1431 2> log/14/stderr1431 === End of file commands.log === Start of file http_server.log 19:01:44.405475 ====> Client connect 19:01:44.405516 accept_connection 3 returned 4 19:01:44.405536 accept_connection 3 returned 0 19:01:44.405833 Read 93 bytes 19:01:44.405850 Process 93 bytes request 19:01:44.405864 Got request: GET /verifiedserver HTTP/1.1 19:01:44.405874 Are-we-friendly question received 19:01:44.405904 Wrote request (93 bytes) input to log/14/server.input 19:01:44.405922 Identifying ourselves as friends 19:01:44.405972 Response sent (56 bytes) and written to log/14/server.response 19:01:44.405982 special request received, no persistency CMD (33792): ../libtool --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/valgrind1432 ../src/curl -q --output log/10/curl1432.out --include --trace-ascii log/10/trace1432 --trace-time http://127.0.0.1:37879/1432 > log/10/stdout1432 2> log/10/stderr1432 CMD (33792): ../libtool --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/valgrind1434 ../src/curl -q --output log/11/curl1434.out --include --trace-ascii log/11/trace1434 --trace-time http://127.0.0.1:46317/1434 -C 100 > log/11/stdout1434 2> log/11/stderr1434 CMD (33792): ../libtool --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/valgrind1433 ../src/curl -q --output log/4/curl1433.out --include --trace-ascii log/4/trace1433 --trace-time http://127.0.0.1:37985/1433 > log/4/stdout1433 2> log/4/stderr1433 19:01:44.405992 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 40498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind1431 ==155870== ==155870== Process terminating with default action of signal 4 (SIGILL) ==155870== Illegal opcode at address 0x4013E00 ==155870== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155870== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155870== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155870== by 0x40037A4: 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 --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/10/valgrind1432 ../src/curl -q --output log/10/curl1432.out --include --trace-ascii log/10/trace1432 --trace-time http://127.0.0.1:37879/1432 > log/10/stdout1432 2> log/10/stderr1432 1432: 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 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/10/valgrind1432 ../src/curl -q --output log/10/curl1432.out --include --trace-ascii log/10/trace1432 --trace-time http://127.0.0.1:37879/1432 > log/10/stdout1432 2> log/10/stderr1432 === End of file commands.log === Start of file http_server.log 19:01:44.410550 ====> Client connect 19:01:44.410585 accept_connection 3 returned 4 19:01:44.410603 accept_connection 3 returned 0 19:01:44.410619 Read 93 bytes 19:01:44.410631 Process 93 bytes request 19:01:44.410645 Got request: GET /verifiedserver HTTP/1.1 19:01:44.410657 Are-we-friendly question received 19:01:44.410685 Wrote request (93 bytes) input to log/10/server.input 19:01:44.410705 Identifying ourselves as friends 19:01:44.410783 Response sent (56 bytes) and written to log/10/server.response 19:01:44.410798 special request received, no persistency 19:01:44.410809 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 35120 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1432 ==155880== ==155880== Process terminating with default action of signal 4 (SIGILL) ==155880== Illegal opcode at address 0x4013E00 ==155880== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155880== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155880== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155880== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1432 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/11/valgrind1434 ../src/curl -q --output log/11/curl1434.out --include --trace-ascii log/11/trace1434 --trace-time http://127.0.0.1:46317/1434 -C 100 > log/11/stdout1434 2> log/11/stderr1434 1434: 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 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/11/valgrind1434 ../src/curl -q --output log/11/curl1434.out --include --trace-ascii log/11/trace1434 --trace-time http://127.0.0.1:46317/1434 -C 100 > log/11/stdout1434 2> log/11/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 19:01:44.413477 ====> Client connect 19:01:44.413507 accept_connection 3 returned 4 19:01:44.413525 accept_connection 3 returned 0 19:01:44.413539 Read 93 bytes 19:01:44.413550 Process 93 bytes request 19:01:44.413562 Got request: GET /verifiedserver HTTP/1.1 19:01:44.413573 Are-we-friendly question received 19:01:44.413596 Wrote request (93 bytes) input to log/11/server.input 19:01:44.413613 Identifying ourselves as friends 19:01:44.413667 Response sent (56 bytes) and written to log/11/server.response 19:01:44.413678 special request received, no persistency 19:01:44.413688 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 39504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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 Content-Length: 17 WE ROOLZ: 74579 === End of file server.response === Start of file valgrind1434 ==155917== ==155917== Process terminating with default action of signal 4 (SIGILL) ==155917== Illegal opcode at address 0x4013E00 ==155917== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155917== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155917== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155917== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1434 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/4/valgrind1433 ../src/curl -q --output log/4/curl1433.out --include --trace-ascii log/4/trace1433 --trace-time http://127.0.0.1:37985/1433 > log/4/stdout1433 2> log/4/stderr1433 1433: 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 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/4/valgrind1433 ../src/curl -q --output log/4/curl1433.out --include --trace-ascii log/4/trace1433 --trace-time http://127.0.0.1:37985/1433 > log/4/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/8/valgrind1437 ../src/curl -q --output log/8/curl1437.out --include --trace-ascii log/8/trace1437 --trace-time http://127.0.0.1:43853/1437 -u testuser:testpass --digest > log/8/stdout1437 2> log/8/stderr1437 CMD (33792): ../libtool --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/valgrind1438 ../src/curl -q --include --trace-ascii log/5/trace1438 --trace-time http://127.0.0.1:46771/1438 --write-out '%{scheme}' > log/5/stdout1438 2> log/5/stderr1438 out1433 2> log/4/stderr1433 === End of file commands.log === Start of file http_server.log 19:01:45.412152 ====> Client connect 19:01:45.412179 accept_connection 3 returned 4 19:01:45.412193 accept_connection 3 returned 0 19:01:45.412205 Read 93 bytes 19:01:45.412214 Process 93 bytes request 19:01:45.412225 Got request: GET /verifiedserver HTTP/1.1 19:01:45.412233 Are-we-friendly question received 19:01:45.412252 Wrote request (93 bytes) input to log/4/server.input 19:01:45.412266 Identifying ourselves as friends 19:01:45.412308 Response sent (56 bytes) and written to log/4/server.response 19:01:45.412317 special request received, no persistency 19:01:45.412325 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 44220 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 17 WE ROOLZ: 74797 === End of file server.response === Start of file valgrind1433 ==155885== ==155885== Process terminating with default action of signal 4 (SIGILL) ==155885== Illegal opcode at address 0x4013E00 ==155885== at 0x4013E00: getparameter (tool_getparam.c:2846) ==155885== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==155885== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==155885== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1433 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/8/valgrind1437 ../src/curl -q --output log/8/curl1437.out --include --trace-ascii log/8/trace1437 --trace-time http://127.0.0.1:43853/1437 -u testuser:testpass --digest > log/8/stdout1437 2> log/8/stderr1437 1437: 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 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/8/valgrind1437 ../src/curl -q --output log/8/curl1437.out --include --trace-ascii log/8/trace1437 --trace-time http://127.0.0.1:43853/1437 -u testuser:testpass --digest > log/8/stdout1437 2> log/8/stderr1437 === End of file commands.log === Start of file http_server.log 19:01:44.518839 ====> Client connect 19:01:44.518868 accept_connection 3 returned 4 19:01:44.518882 accept_connection 3 returned 0 19:01:44.518895 Read 93 bytes 19:01:44.518903 Process 93 bytes request 19:01:44.518917 Got request: GET /verifiedserver HTTP/1.1 19:01:44.518926 Are-we-friendly question received 19:01:44.518947 Wrote request (93 bytes) input to log/8/server.input 19:01:44.518961 Identifying ourselves as friends 19:01:44.519014 Response sent (56 bytes) and written to log/8/server.response 19:01:44.519023 special request received, no persistency 19:01:44.519031 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 56546 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1437 ==156131== ==156131== Process terminating with default action of signal 4 (SIGILL) ==156131== Illegal opcode at address 0x4013E00 ==156131== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156131== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156131== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156131== by 0x40037A4: 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/20/valgrind1439 ../src/curl -q --include --trace-ascii log/20/trace1439 --trace-time http://127.0.0.1:38583/1439 --write-out '%{http_version}' > log/20/stdout1439 2> log/20/stderr1439 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/5/valgrind1438 ../src/curl -q --include --trace-ascii log/5/trace1438 --trace-time http://127.0.0.1:46771/1438 --write-out '%{scheme}' > log/5/stdout1438 2> log/5/stderr1438 1438: stdout FAILED: --- log/5/check-expected 2025-11-13 19:01:45.636058317 +0000 +++ log/5/check-generated 2025-11-13 19:01:45.636058317 +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/5/ 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/5/valgrind1438 ../src/curl -q --include --trace-ascii log/5/trace1438 --trace-time http://127.0.0.1:46771/1438 --write-out '%{scheme}' > log/5/stdout1438 2> log/5/stderr1438 === End of file commands.log === Start of file http_server.log 19:01:44.519004 ====> Client connect 19:01:44.519044 accept_connection 3 returned 4 19:01:44.519064 accept_connection 3 returned 0 19:01:44.519196 Read 93 bytes 19:01:44.519212 Process 93 bytes request 19:01:44.519227 Got request: GET /verifiedserver HTTP/1.1 19:01:44.519237 Are-we-friendly question received 19:01:44.519266 Wrote request (93 bytes) input to log/5/server.input 19:01:44.519290 Identifying ourselves as friends 19:01:44.519345 Response sent (56 bytes) and written to log/5/server.response 19:01:44.519356 special request received, no persistency 19:01:44.519366 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 34294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1438 ==156121== ==156121== Process terminating with default action of signal 4 (SIGILL) ==156121== Illegal opcode at address 0x4013E00 ==156121== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156121== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156121== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156121== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1438 CMD (33792): ../libtool --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/valgrind1440 ../src/curl -q --include --trace-ascii log/18/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/18/non-existent-file.txt --write-out '%{' > log/18/stdout1440 2> log/18/stderr1440 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/20/valgrind1439 ../src/curl -q --include --trace-ascii log/20/trace1439 --trace-time http://127.0.0.1:38583/1439 --write-out '%{http_version}' > log/20/stdout1439 2> log/20/stderr1439 1439: stdout FAILED: --- log/20/check-expected 2025-11-13 19:01:45.679391652 +0000 +++ log/20/check-generated 2025-11-13 19:01:45.679391652 +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/20/ 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/20/valgrind1439 ../src/curl -q --include --trace-ascii log/20/trace1439 --trace-time http://127.0.0.1:38583/1439 --write-out '%{http_version}' > log/20/stdout1439 2> log/20/stderr1439 === End of file commands.log === Start of file http_server.log 19:01:44.542199 ====> Client connect 19:01:44.542224 accept_connection 3 returned 4 19:01:44.542238 accept_connection 3 returned 0 19:01:44.542250 Read 93 bytes 19:01:44.542259 Process 93 bytes request 19:01:44.542271 Got request: GET /verifiedserver HTTP/1.1 19:01:44.542279 Are-we-friendly question received 19:01:44.542297 Wrote request (93 bytes) input to log/20/server.input 19:01:44.542311 Identifying ourselves as friends 19:01:44.542353 Response sent (56 bytes) and written to log/20/server.response 19:01:44.542361 special request received, no persistency 19:01:44.542369 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 56480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind1439 ==156195== ==156195== Process terminating with default action of signal 4 (SIGILL) ==156195== Illegal opcode at address 0x4013E00 ==156195== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156195== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156195== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156195== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1439 CMD (33792): ../libtool --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/valgrind1442 ../src/curl -q --include --trace-ascii log/1/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/1/non-existent-file.txt --write-out='\' > log/1/stdout1442 2> log/1/stderr1442 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/18/valgrind1440 ../src/curl -q --include --trace-ascii log/18/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/18/non-existent-file.txt --write-out '%{' > log/18/stdout1440 2> log/18/stderr1440 1440: stdout FAILED: --- log/18/check-expected 2025-11-13 19:01:45.786058319 +0000 +++ log/18/check-generated 2025-11-13 19:01:45.786058319 +0000 @@ -1 +0,0 @@ -%{ == Contents of files in the log/18/ 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/18/valgrind1440 ../src/curl -q --include --trace-ascii log/18/trace1440 --trace-time file://localhost//startdir/src/build-curl/tests/log/18/non-existent-file.txt --write-out '%{' > log/18/stdout1440 2> log/18/stderr1440 === End of file commands.log === Start of file server.cmd Testnum 1440 === End of file server.cmd === Start of file valgrind1440 ==156282== ==156282== Process terminating with default action of signal 4 (SIGILL) ==156282== Illegal opcode at address 0x4013E00 ==156282== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156282== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156282== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156282== by 0x40037A4: 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/24/valgrind1441 ../src/curl -q --include --trace-ascii log/24/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/24/non-existent-file.txt --write-out '%' > log/24/stdout1441 2> log/24/stderr1441 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/1/valgrind1442 ../src/curl -q --include --trace-ascii log/1/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/1/non-existent-file.txt --write-out='\' > log/1/stdout1442 2> log/1/stderr1442 1442: stdout FAILED: --- log/1/check-expected 2025-11-13 19:01:45.796058319 +0000 +++ log/1/check-generated 2025-11-13 19:01:45.796058319 +0000 @@ -1 +0,0 @@ -\ == Contents of files in the log/1/ 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/1/valgrind1442 ../src/curl -q --include --trace-ascii log/1/trace1442 --trace-time file://localhost//startdir/src/build-curl/tests/log/1/non-existent-file.txt --write-out='\' > log/1/stdout1442 2> log/1/stderr1442 === End of file commands.log === Start of file server.cmd Testnum 1442 === End of file server.cmd === Start of file valgrind1442 ==156335== ==156335== Process terminating with default action of signal 4 (SIGILL) ==156335== Illegal opcode at address 0x4013E00 ==156335== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156335== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156335== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156335== by 0x40037A4: 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/6/valgrind1443 ../src/curl -q --trace-ascii log/6/trace1443 --trace-time http://127.0.0.1:41595/1443 -O --remote-time --output-dir log/6 > log/6/stdout1443 2> log/6/stderr1443 CMD (256): /usr/bin/perl -e 'exit((stat("log/6/1443"))[9] != 960898200)' CMD (33792): ../libtool --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/valgrind1444 ../src/curl -q --output log/23/curl1444.out --include --trace-ascii log/23/trace1444 --trace-time ftp://127.0.0.1:45397/1444 --remote-time > log/23/stdout1444 2> log/23/stderr1444 CMD (33792): ../libtool --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/valgrind1447 ../src/curl -q --output log/12/curl1447.out --include --trace-ascii log/12/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/12/stdout1447 2> log/12/stderr1447 CMD (256): /usr/bin/perl -e 'exit((stat("log/23/curl1444.out"))[9] != 1234567890)' 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/24/valgrind1441 ../src/curl -q --include --trace-ascii log/24/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/24/non-existent-file.txt --write-out '%' > log/24/stdout1441 2> log/24/stderr1441 1441: stdout FAILED: --- log/24/check-expected 2025-11-13 19:01:45.802724986 +0000 +++ log/24/check-generated 2025-11-13 19:01:45.802724986 +0000 @@ -1 +0,0 @@ -% == Contents of files in the log/24/ 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/24/valgrind1441 ../src/curl -q --include --trace-ascii log/24/trace1441 --trace-time file://localhost//startdir/src/build-curl/tests/log/24/non-existent-file.txt --write-out '%' > log/24/stdout1441 2> log/24/stderr1441 === End of file commands.log === Start of file server.cmd Testnum 1441 === End of file server.cmd === Start of file valgrind1441 ==156342== ==156342== Process terminating with default action of signal 4 (SIGILL) ==156342== Illegal opcode at address 0x4013E00 ==156342== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156342== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156342== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156342== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1441 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/6/valgrind1443 ../src/curl -q --trace-ascii log/6/trace1443 --trace-time http://127.0.0.1:41595/1443 -O --remote-time --output-dir log/6 > log/6/stdout1443 2> log/6/stderr1443 postcheck /usr/bin/perl -e 'exit((stat("log/6/1443"))[9] != 960898200)' 1443: postcheck FAILED == Contents of files in the log/6/ 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/6/valgrind1443 ../src/curl -q --trace-ascii log/6/trace1443 --trace-time http://127.0.0.1:41595/1443 -O --remote-time --output-dir log/6 > log/6/stdout1443 2> log/6/stderr1443 === End of file commands.log === Start of file http_server.log 19:01:44.680674 ====> Client connect 19:01:44.680709 accept_connection 3 returned 4 19:01:44.680728 accept_connection 3 returned 0 19:01:44.680745 Read 93 bytes 19:01:44.680765 Process 93 bytes request 19:01:44.680787 Got request: GET /verifiedserver HTTP/1.1 19:01:44.680798 Are-we-friendly question received 19:01:44.680824 Wrote request (93 bytes) input to log/6/server.input 19:01:44.680843 Identifying ourselves as friends 19:01:44.680902 Response sent (56 bytes) and written to log/6/server.response 19:01:44.680913 special request received, no persistency 19:01:44.680924 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 54508 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1443 ==156436== ==156436== Process terminating with default action of signal 4 (SIGILL) ==156436== Illegal opcode at address 0x4013E00 ==156436== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156436== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156436== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156436== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1443 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/12/valgrind1447 ../src/curl -q --output log/12/curl1447.out --include --trace-ascii log/12/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/12/stdout1447 2> log/12/stderr1447 curl returned 132, when expecting 5 1447: exit FAILED == Contents of files in the log/12/ 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/12/valgrind1447 ../src/curl -q --output log/12/curl1447.out --include --trace-ascii log/12/trace1447 --trace-time --proxy "http://a:b@/x" http://127.0.0.1:47 > log/12/stdout1447 2> log/12/stderr1447 === End of file commands.log === Start of file server.cmd Testnum 1447 === End of file server.cmd === Start of file valgrind1447 ==156492== ==156492== Process terminating with default action of signal 4 (SIGILL) ==156492== Illegal opcode at address 0x4013E00 ==156492== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156492== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156492== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156492== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1447 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/23/valgrind1444 ../src/curl -q --output log/23/curl1444.out --include --trace-ascii log/23/trace1444 --trace-time ftp://127.0.0.1:45397/1444 --remote-time > log/23/stdout1444 2> log/23/stderr1444 postcheck /usr/bin/perl -e 'exit((stat("log/23/curl1444.out"))[9] != 1234567890)' 1444: postcheck FAILED == Contents of files in the log/23/ 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/23/valgrind1444 ../src/curl -q --output log/23/curl1444.out --include --trace-ascii log/23/trace1444 --trace-time ftp://127.0.0.1:45397/1444 --remote-time > log/23/stdout1444 2> log/23/stderr1444 === End of file commands.log === Start of file ftp_server.log 19:01:44.912864 ====> Client connect 19:01:44.913017 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:44.913566 < "USER anonymous" 19:01:44.913621 > "331 We are happy you popped in![CR][LF]" 19:01:44.913851 < "PASS ftp@example.com" 19:01:44.913890 > "230 Welcome you silly person[CR][LF]" 19:01:44.914087 < "PWD" 19:01:44.914130 > "257 "/" is current directory[CR][LF]" 19:01:44.914325 < "EPSV" 19:01:44.914352 ====> Passive DATA channel requested by client 19:01:44.914367 DATA sockfilt for passive data channel starting... 19:01:44.916156 DATA sockfilt for passive data channel started (pid 156416) 19:01:44.916261 DATA sockfilt for passive data channel listens on port 38363 19:01:44.916303 > "229 Entering Passive Mode (|||38363|)[CR][LF]" 19:01:44.916323 Client has been notified that DATA conn will be accepted on port 38363 19:01:44.916551 Client connects to port 38363 19:01:44.916578 ====> Client established passive DATA connection on port 38363 19:01:44.916653 < "TYPE I" 19:01:44.916681 >CMD (33792): ../libtool --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/valgrind1445 ../src/curl -q --output log/21/curl1445.out --include --trace-ascii log/21/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test1445.dir/plainfile.txt --remote-time > log/21/stdout1445 2> log/21/stderr1445 CMD (256): /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/21/test1445.dir && \ /usr/bin/perl -e 'exit((stat("log/21/curl1445.out"))[9] != 946728000)' CMD (33792): ../libtool --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/valgrind1448 ../src/curl -q --include --trace-ascii log/2/trace1448 --trace-time http://åäö.se:46047/1448 --resolve xn--4cab6c.se:46047:127.0.0.1 -L --connect-to 127.0.0.1:46047:127.0.0.1:46047 > log/2/stdout1448 2> log/2/stderr1448 "200 I modify TYPE as you wanted[CR][LF]" 19:01:44.916831 < "SIZE verifiedserver" 19:01:44.916865 > "213 17[CR][LF]" 19:01:44.917009 < "RETR verifiedserver" 19:01:44.917041 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:44.917117 =====> Closing passive DATA connection... 19:01:44.917133 Server disconnects passive DATA connection 19:01:44.917353 Server disconnected passive DATA connection 19:01:44.917377 DATA sockfilt for passive data channel quits (pid 156416) 19:01:44.917605 DATA sockfilt for passive data channel quit (pid 156416) 19:01:44.917628 =====> Closed passive DATA connection 19:01:44.917653 > "226 File transfer complete[CR][LF]" 19:01:44.962383 < "QUIT" 19:01:44.962440 > "221 bye bye baby[CR][LF]" 19:01:44.963111 MAIN sockfilt said DISC 19:01:44.963141 ====> Client disconnected 19:01:44.963221 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:44.684811 ====> Client connect 19:01:44.685274 Received DATA (on stdin) 19:01:44.685307 > 160 bytes data, server => client 19:01:44.685323 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:44.685336 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:44.685347 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:44.685441 < 16 bytes data, client => server 19:01:44.685460 'USER anonymous\r\n' 19:01:44.685688 Received DATA (on stdin) 19:01:44.685703 > 33 bytes data, server => client 19:01:44.685716 '331 We are happy you popped in!\r\n' 19:01:44.685783 < 22 bytes data, client => server 19:01:44.685799 'PASS ftp@example.com\r\n' 19:01:44.685950 Received DATA (on stdin) 19:01:44.685969 > 30 bytes data, server => client 19:01:44.685981 '230 Welcome you silly person\r\n' 19:01:44.686038 < 5 bytes data, client => server 19:01:44.686053 'PWD\r\n' 19:01:44.686190 Received DATA (on stdin) 19:01:44.686204 > 30 bytes data, server => client 19:01:44.686216 '257 "/" is current directory\r\n' 19:01:44.686283 < 6 bytes data, client => server 19:01:44.686298 'EPSV\r\n' 19:01:44.688381 Received DATA (on stdin) 19:01:44.688396 > 39 bytes data, server => client 19:01:44.688407 '229 Entering Passive Mode (|||38363|)\r\n' 19:01:44.688555 < 8 bytes data, client => server 19:01:44.688567 'TYPE I\r\n' 19:01:44.688735 Received DATA (on stdin) 19:01:44.688747 > 33 bytes data, server => client 19:01:44.688759 '200 I modify TYPE as you wanted\r\n' 19:01:44.688806 < 21 bytes data, client => server 19:01:44.688817 'SIZE verifiedserver\r\n' 19:01:44.688919 Received DATA (on stdin) 19:01:44.688931 > 8 bytes data, server => client 19:01:44.688941 '213 17\r\n' 19:01:44.688986 < 21 bytes data, client => server 19:01:44.688997 'RETR verifiedserver\r\n' 19:01:44.689189 Received DATA (on stdin) 19:01:44.689201 > 29 bytes data, server => client 19:01:44.689212 '150 Binary junk (17 bytes).\r\n' 19:01:44.689708 Received DATA (on stdin) 19:01:44.689722 > 28 bytes data, server => client 19:01:44.689733 '226 File transfer complete\r\n' 19:01:44.734238 < 6 bytes data, client => server 19:01:44.734272 'QUIT\r\n' 19:01:44.734501 Received DATA (on stdin) 19:01:44.734515 > 18 bytes data, server => client 19:01:44.734528 '221 bye bye baby\r\n' 19:01:44.735111 ====> Client disconnect 19:01:44.735274 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:44.688034 Running IPv4 version 19:01:44.688094 Listening on port 38363 19:01:44.688132 Wrote pid 156416 to log/23/server/ftp_sockdata.pid 19:01:44.688152 Received PING (on stdin) 19:01:44.688234 Received PORT (on stdin) 19:01:44.688527 ====> Client connect 19:01:44.689236 Received DATA (on stdin) 19:01:44.689250 > 17 bytes data, server => client 19:01:44.689261 'WE ROOLZ: 80691\r\n' 19:01:44.689283 Received DISC (on stdin) 19:01:44.689294 ====> Client forcibly disconnected 19:01:44.689436 Received QUIT (on stdin) 19:01:44.689449 quits 19:01:44.689510 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1444 === End of file server.cmd === Start of file valgrind1444 ==156601== ==156601== Process terminating with default action of signal 4 (SIGILL) ==156601== Illegal opcode at address 0x4013E00 ==156601== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156601== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156601== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156601== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1444 prechecked /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl prepare /startdir/src/build-curl/tests/log/21/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/21/valgrind1445 ../src/curl -q --output log/21/curl1445.out --include --trace-ascii log/21/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test1445.dir/plainfile.txt --remote-time > log/21/stdout1445 2> log/21/stderr1445 postcheck /usr/bin/perl /startdir/src/curl/tests/libtest/test613.pl postprocess /startdir/src/build-curl/tests/log/21/test1445.dir && \ /usr/bin/perl -e 'exit((stat("log/21/curl1445.out"))[9] != 946728000)' 1445: postcheck FAILED == Contents of files in the log/21/ 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/21/valgrind1445 ../src/curl -q --output log/21/curl1445.out --include --trace-ascii log/21/trace1445 --trace-time file://localhost/startdir/src/build-curl/tests/log/21/test1445.dir/plainfile.txt --remote-time > log/21/stdout1445 2> log/21/stderr1445 === End of file commands.log === Start of file server.cmd Testnum 1445 === End of file server.cmd === Start of file valgrind1445 ==156482== ==156482== Process terminating with default action of signal 4 (SIGILL) ==156482== Illegal opcode at address 0x4013E00 ==156482== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156482== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156482== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156482== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1445 CMD (33792): ../libtool --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/valgrind1449 ../src/curl -q --output log/22/curl1449.out --include --trace-ascii log/22/trace1449 --trace-time ftp://127.0.0.1:36953/1449 -r 36893488147419103232- > log/22/stdout1449 2> log/22/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/2/valgrind1448 ../src/curl -q --include --trace-ascii log/2/trace1448 --trace-time http://åäö.se:46047/1448 --resolve xn--4cab6c.se:46047:127.0.0.1 -L --connect-to 127.0.0.1:46047:127.0.0.1:46047 > log/2/stdout1448 2> log/2/stderr1448 1448: stdout FAILED: --- log/2/check-expected 2025-11-13 19:01:45.896058320 +0000 +++ log/2/check-generated 2025-11-13 19:01:45.896058320 +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:46047/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/2/ 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:46047/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/2/valgrind1448 ../src/curl -q --include --trace-ascii log/2/trace1448 --trace-time http://åäö.se:46047/1448 --resolve xn--4cab6c.se:46047:127.0.0.1 -L --connect-to 127.0.0.1:46047:127.0.0.1:46047 > log/2/stdout1448 2> log/2/stderr1448 === End of file commands.log === Start of file http_server.log 19:01:44.731481 ====> Client connect 19:01:44.731514 accept_connection 3 returned 4 19:01:44.731532 accept_connection 3 returned 0 19:01:44.731548 Read 93 bytes 19:01:44.731560 Process 93 bytes request 19:01:44.731575 Got request: GET /verifiedserver HTTP/1.1 19:01:44.731586 Are-we-friendly question received 19:01:44.731621 Wrote request (93 bytes) input to log/2/server.input 19:01:44.731640 Identifying ourselves as friends 19:01:44.731696 Response sent (57 bytes) and written to log/2/server.response 19:01:44.731708 special request received, no persistency 19:01:44.731718 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46047... * Established connection to 127.0.0.1 (127.0.0.1 port 46047) from 127.0.0.1 port 58268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46047 > User-Agent: curl/8.17.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:46047 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 148921 === 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: 18 WE ROOLZ: 148921 === End of file server.response === Start of file valgrind1448 ==156596== ==156596== Process terminating with default action of signal 4 (SIGILL) ==156596== Illegal opcode at address 0x4013E00 ==156596== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156596== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156596== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156596== by 0x40037A4: 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/22/valgrind1449 ../src/curl -q --output log/22/curl1449.out --include --trace-ascii log/22/trace1449 --trace-time ftp://127.0.0.1:36953/1449 -r 36893488147419103232- > log/22/stdout1449 2> log/22/stderr1449 1449: 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 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/22/valgrind1449 ../src/curl -q --output log/22/curl1449.out --include --trace-ascii log/22/trace1449 --trace-time ftp://127.0.0.1:36953/1449 -r 36893488147419103232- > log/22/stdout1449 2> log/22/stderr1449 === End of file commands.log === Start of file ftp_server.log 19:01:44.994520 ====> Client connect 19:01:44.994680 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:44.994980 < "USER anonymous" 19:01:44.995015 > "331 We are happy you popped in![CR][LF]" 19:01:44.995161 < "PASS ftp@example.com" 19:01:44.995182 > "230 Welcome you silly person[CR][LF]" 19:01:44.995327 < "PWD" 19:01:44.995360 > "257 "/" is current directory[CR][LF]" 19:01:44.995893 < "EPSV" 19:01:44.995935 ====> Passive DATA channel requested by client 19:01:44.995949 DATA sockfilt for passive data channel starting... 19:01:44.997829 DATA sockfilt for passive data channel started (pid 156690) 19:01:44.997923 DATA sockfilt for passive data channel listens on port 46845 19:01:44.997959 > "229 Entering Passive Mode (|||46845|)[CR][LF]" 19:01:44.997975 Client has been notified that DATA conn will be accepted on port 46845 19:01:44.998190 Client connects to port 46845 19:01:44.998222 ====> Client established passive DATA connection on port 46845 19:01:44.998334 < "TYPE I" 19:01:44.998358 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:44.998488 < "SIZE verifiedserver" 19:01:44.998517 > "213 17[CR][LF]" 19:01:44.998666 < "RETR verifiedserver" 19:01:44.998699 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:44.998800 =====> Closing passive DATA connection... 19:01:44.998819 Server disconnects passive DATA connection 19:01:44.999062 Server disconnected passive DATA connection 19:01:44.999089 DATA sockfilt for passive data channel quits (pid 156690) 19:01:44.999286 DATA sockfilt for passive data channel quit (pid 156690) 19:01:44.999312 =====> Closed passive DATA connection 19:01:44.999342 > "226 File transfer complete[CR][LF]" 19:01:45.044748 < "QUIT" 19:01:45.044802 > "221 bye bye baby[CR][LF]" 19:01:45.045820 MAIN sockfilt said DISC 19:01:45.045862 ====> Client disconnected 19:01:45.045950 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:45.766442 ====> Client connect 19:01:45.766742 Received DATA (on stdin) 19:01:45.766758 > 160 bytes data, server => client 19:01:45.766772 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:45.766785 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:45.766797 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:45.766879 < 16 bytes data, client => server 19:01:45.766896 'USER anonymous\r\n' 19:01:45.767070 Received DATA (on stdin) 19:01:45.767081 > 33 bytes data, server => client 19:01:45.767091 '331 We are happy you popped in!\r\n' 19:01:45.767135 < 22 bytes data, client => server 19:01:45.767145 'PASS ftp@example.com\r\n' 19:01:45.767233 Received DATA (on stdin) 19:01:45.767243 > 30 bytes data, server => client 19:01:45.767252 '230 Welcome you silly person\r\n' 19:01:45.767292 < 5 bytes data, client => server 19:01:45.767304 'PWD\r\n' 19:01:45.767617 Received DATA (on stdin) 19:01:45.767663 > 30 bytes data, server => client 19:01:45.767677 '257 "/" is current directory\r\n' 19:01:45.767790 < 6 bytes data, client => server 19:01:45.767804 'EPSV\r\n' 19:01:45.770033 Received DATA (on stdin) 19:01:45.770050 > 39 bytes data, server => clienCMD (33792): ../libtool --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/valgrind1455 ../src/curl -q --output log/9/curl1455.out --include --trace-ascii log/9/trace1455 --trace-time http://127.0.0.1:36745/1455 --haproxy-protocol -H "Testno: 1455" > log/9/stdout1455 2> log/9/stderr1455 CMD (33792): ../libtool --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/valgrind1453 ../src/curl -q --output log/13/curl1453.out --include --trace-ascii log/13/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/13/stdout1453 2> log/13/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/19/valgrind1428 ../src/curl -q --output log/19/curl1428.out --include --trace-ascii log/19/trace1428 --trace-time http://test.1428:41761/we/want/that/page/1428 -p -x 127.0.0.1:43379 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/19/stdout1428 2> log/19/stderr1428 t 19:01:45.770063 '229 Entering Passive Mode (|||46845|)\r\n' 19:01:45.770291 < 8 bytes data, client => server 19:01:45.770306 'TYPE I\r\n' 19:01:45.770410 Received DATA (on stdin) 19:01:45.770420 > 33 bytes data, server => client 19:01:45.770430 '200 I modify TYPE as you wanted\r\n' 19:01:45.770472 < 21 bytes data, client => server 19:01:45.770482 'SIZE verifiedserver\r\n' 19:01:45.770571 Received DATA (on stdin) 19:01:45.770582 > 8 bytes data, server => client 19:01:45.770593 '213 17\r\n' 19:01:45.770640 < 21 bytes data, client => server 19:01:45.770652 'RETR verifiedserver\r\n' 19:01:45.770877 Received DATA (on stdin) 19:01:45.770890 > 29 bytes data, server => client 19:01:45.770902 '150 Binary junk (17 bytes).\r\n' 19:01:45.771400 Received DATA (on stdin) 19:01:45.771414 > 28 bytes data, server => client 19:01:45.771426 '226 File transfer complete\r\n' 19:01:45.816603 < 6 bytes data, client => server 19:01:45.816641 'QUIT\r\n' 19:01:45.816862 Received DATA (on stdin) 19:01:45.816875 > 18 bytes data, server => client 19:01:45.816887 '221 bye bye baby\r\n' 19:01:45.817813 ====> Client disconnect 19:01:45.818006 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:44.769593 Running IPv4 version 19:01:44.769657 Listening on port 46845 19:01:44.769693 Wrote pid 156690 to log/22/server/ftp_sockdata.pid 19:01:44.769834 Received PING (on stdin) 19:01:44.769902 Received PORT (on stdin) 19:01:44.770190 ====> Client connect 19:01:44.770928 Received DATA (on stdin) 19:01:44.770942 > 17 bytes data, server => client 19:01:44.770956 'WE ROOLZ: 80850\r\n' 19:01:44.770981 Received DISC (on stdin) 19:01:44.770994 ====> Client forcibly disconnected 19:01:44.771150 Received QUIT (on stdin) 19:01:44.771161 quits 19:01:44.771213 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1449 === End of file server.cmd === Start of file valgrind1449 ==156738== ==156738== Process terminating with default action of signal 4 (SIGILL) ==156738== Illegal opcode at address 0x4013E00 ==156738== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156738== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156738== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156738== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1449 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/9/valgrind1455 ../src/curl -q --output log/9/curl1455.out --include --trace-ascii log/9/trace1455 --trace-time http://127.0.0.1:36745/1455 --haproxy-protocol -H "Testno: 1455" > log/9/stdout1455 2> log/9/stderr1455 1455: 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 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/9/valgrind1455 ../src/curl -q --output log/9/curl1455.out --include --trace-ascii log/9/trace1455 --trace-time http://127.0.0.1:36745/1455 --haproxy-protocol -H "Testno: 1455" > log/9/stdout1455 2> log/9/stderr1455 === End of file commands.log === Start of file http_server.log 19:01:45.318069 ====> Client connect 19:01:45.318104 accept_connection 3 returned 4 19:01:45.318121 accept_connection 3 returned 0 19:01:45.318136 Read 93 bytes 19:01:45.318147 Process 93 bytes request 19:01:45.318164 Got request: GET /verifiedserver HTTP/1.1 19:01:45.318176 Are-we-friendly question received 19:01:45.318201 Wrote request (93 bytes) input to log/9/server.input 19:01:45.318219 Identifying ourselves as friends 19:01:45.318271 Response sent (56 bytes) and written to log/9/server.response 19:01:45.318282 special request received, no persistency 19:01:45.318292 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 49030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind1455 ==156909== ==156909== Process terminating with default action of signal 4 (SIGILL) ==156909== Illegal opcode at address 0x4013E00 ==156909== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156909== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156909== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156909== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1455 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/13/valgrind1453 ../src/curl -q --output log/13/curl1453.out --include --trace-ascii log/13/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/13/stdout1453 2> log/13/stderr1453 curl returned 132, when expecting 71 1453: exit FAILED == Contents of files in the log/13/ 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/13/valgrind1453 ../src/curl -q --output log/13/curl1453.out --include --trace-ascii log/13/trace1453 --trace-time tftp://127.0.0.1:47/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz > log/13/stdout1453 2> log/13/stderr1453 === End of file commands.log === Start of file server.cmd Testnum 1453 === End of file server.cmd === Start of file valgrind1453 ==156842== ==156842== Process terminating with default action of signal 4 (SIGILL) ==156842== Illegal opcode at address 0x4013E00 ==156842== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156842== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156842== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156842== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1453 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/19/server/http2_server.pid" --logfile "log/19/http2_server.log" --logdir "log/19" --portfile log/19/server/http2_server.port --config log/19/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 155683 port 43379 * pidCMD (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/19/stdout1477 2> log/19/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/10/valgrind1457 ../src/curl -q --include --trace-ascii log/10/trace1457 --trace-time http://127.0.0.1:37879/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/10/stdout1457 2> log/10/stderr1457 http-proxy => 155683 155683 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/19/valgrind1428 ../src/curl -q --output log/19/curl1428.out --include --trace-ascii log/19/trace1428 --trace-time http://test.1428:41761/we/want/that/page/1428 -p -x 127.0.0.1:43379 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/19/stdout1428 2> log/19/stderr1428 1428: 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 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/19/valgrind1428 ../src/curl -q --output log/19/curl1428.out --include --trace-ascii log/19/trace1428 --trace-time http://test.1428:41761/we/want/that/page/1428 -p -x 127.0.0.1:43379 --user 'iam:my:;self' --header "header-type: server" --proxy-header "header-type: proxy" > log/19/stdout1428 2> log/19/stderr1428 === End of file commands.log === Start of file http2_server.log 19:01:44.359199 Run as proxy, CONNECT to host 127.0.0.1 19:01:44.359299 Running HTTP IPv4 version on port 43379 19:01:44.359343 Wrote pid 155683 to log/19/server/http2_server.pid 19:01:44.359371 Wrote port 43379 to log/19/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:01:44.336694 ====> Client connect 19:01:44.336724 accept_connection 3 returned 4 19:01:44.336738 accept_connection 3 returned 0 19:01:44.336751 Read 93 bytes 19:01:44.336760 Process 93 bytes request 19:01:44.336772 Got request: GET /verifiedserver HTTP/1.1 19:01:44.336780 Are-we-friendly question received 19:01:44.336801 Wrote request (93 bytes) input to log/19/server.input 19:01:44.336816 Identifying ourselves as friends 19:01:44.336859 Response sent (56 bytes) and written to log/19/server.response 19:01:44.336868 special request received, no persistency 19:01:44.336876 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 56890 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === End of file http_verify.out === 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: 74422 === End of file server.response === Start of file valgrind1428 ==156942== ==156942== Process terminating with default action of signal 4 (SIGILL) ==156942== Illegal opcode at address 0x4013E00 ==156942== at 0x4013E00: getparameter (tool_getparam.c:2846) ==156942== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==156942== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==156942== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1428 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/19/stdout1477 2> log/19/stderr1477 valgrind SKIPPED s------e--- OK (1404 out of 1746, remaining: 00:27, took 0.014s, duration: 01: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/4/valgrind1460 ../src/curl -q --trace-ascii log/4/trace1460 --trace-time http://127.0.0.1:37985/1460 -Ji -O --output-dir log/4 > log/4/stdout1460 2> log/4/stderr1460 CMD (33792): ../libtool --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/valgrind1458 ../src/curl -q --output log/11/curl1458.out --include --trace-ascii log/11/trace1458 --trace-time --resolve *:46317:127.0.0.1 http://example.com:46317/1458 > log/11/stdout1458 2> log/11/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/10/valgrind1457 ../src/curl -q --include --trace-ascii log/10/trace1457 --trace-time http://127.0.0.1:37879/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/10/stdout1457 2> log/10/stderr1457 1457: stdout FAILED: --- log/10/check-expected 2025-11-13 19:01:46.476058325 +0000 +++ log/10/check-generated 2025-11-13 19:01:46.476058325 +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/10/ 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/10/valgrind1457 ../src/curl -q --include --trace-ascii log/10/trace1457 --trace-time http://127.0.0.1:37879/1457 --silent --write-out 'line1%{stderr}line2%{stdout}line3' > log/10/stdout1457 2> log/10/stderr1457 === End of file commands.log === Start of file http_server.log 19:01:45.369458 ====> Client connect 19:01:45.369504 accept_connection 3 returned 4 19:01:45.369521 accept_connection 3 returned 0 19:01:45.369534 Read 93 bytes 19:01:45.369548 Process 93 bytes request 19:01:45.369570 Got request: GET /verifiedserver HTTP/1.1 19:01:45.369578 Are-we-friendly question received 19:01:45.369602 Wrote request (93 bytes) input to log/10/server.input 19:01:45.369617 Identifying ourselves as friends 19:01:45.369672 Response sent (56 bytes) and written to log/10/server.response 19:01:45.369681 special request received, no persistency 19:01:45.369689 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 35136 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1457 ==157039== ==157039== Process terminating with default action of signal 4 (SIGILL) ==157039== Illegal opcode at address 0x4013E00 ==157039== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157039== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157039== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157039== by 0x40037A4: 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/4/valgrind1460 ../src/curl -q --trace-ascii log/4/trace1460 --trace-time http://127.0.0.1:37985/1460 -Ji -O --output-dir log/4 > log/4/stdout1460 2> log/4/stderr1460 curl returned 132, when expecting 23 1460: exit FAILED == Contents of files in the log/4/ 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/4/valgrind1460 ../src/curl -q --trace-ascii log/4/trace1460 --trace-time http://127.0.0.1:37985/1460 -Ji -O --output-dir log/4 > log/4/stdout1460 2> log/4/stderr1460 === End of file commands.log === Start of file http_server.log 19:01:46.382504 ====> Client connect 19:01:46.382531 accept_connection 3 returned 4 19:01:46.382546 accept_connection 3 returned 0 19:01:46.382558 Read 93 bytes 19:01:46.382567 Process 93 bytes request 19:01:46.382577 Got request: GET /verifiedserver HTTP/1.1 19:01:46.382585 Are-we-friendly question received 19:01:46.382605 Wrote request (93 bytes) input to log/4/server.input 19:01:46.382619 Identifying ourselves as friends 19:01:46.382674 Response sent (56 bytes) and written to log/4/server.response 19:01:46.382683 special request received, no persistency 19:01:46.382690 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 44236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 17 WE ROOLZ: 74797 === End of file server.response === Start of file valgrind1460 ==157079== ==157079== Process terminating with default action of signal 4 (SIGILL) ==157079== Illegal opcode at address 0x4013E00 ==157079== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157079== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157079== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157079== by 0x40037A4: 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/11/valgrind1458 ../src/curl -q --output log/11/curl1458.out --include --trace-ascii log/11/trace1458 --trace-time --resolve *:46317:127.0.0.1 http://example.com:46317/1458 > log/11/stdout1458 2> log/11/stderr1458 1458: 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 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/11/valgrind1458 ../src/curl -q --output log/11/curl1458.out --include --trace-ascii log/11/trace1458 --trace-time --resolve *:46317:127.0.0.1 http://example.com:46317/1458 > log/11/stdout1458 2> log/11/stderr1458 === End of file commands.log === Start of file http_server.log 19:01:45.373963 ====> Client connect 19:01:45.373995 accept_connection 3 returned 4 19:01:45.374014 accept_connection 3 returned 0 19:01:45.374030 Read 93 bytes 19:01:45.374041 Process 93 bytes request 19:01:45.374054 Got request: GET /verifiedserver HTTP/1.1 19:01:45.374066 Are-we-friendly question received 19:01:45.374105 Wrote request (93 bytes) input to log/11/server.input 19:01:45.374127 Identifying ourselves as friends 19:01:45.374185 Response sent (56 bytes) and written to log/11/server.response 19:01:45.374198 special request received, no persistency 19:01:45.374209 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 39510 * using HTTP/1.x > GET /verifiedserveCMD (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/19/stdout1478 2> log/19/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/valgrind1464 ../src/curl -q --include --trace-ascii log/20/trace1464 --trace-time --help fIlE > log/20/stdout1464 2> log/20/stderr1464 r HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind1458 ==157044== ==157044== Process terminating with default action of signal 4 (SIGILL) ==157044== Illegal opcode at address 0x4013E00 ==157044== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157044== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157044== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157044== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1458 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/19/stdout1478 2> log/19/stderr1478 valgrind SKIPPED s------e--- OK (1405 out of 1746, remaining: 00:27, took 0.050s, duration: 01: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/7/valgrind1436 ../src/curl -q --include --trace-ascii log/7/trace1436 --trace-time --unix-socket /tmp/curl-http-iWpfEKFo http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/7/stdout1436 2> log/7/stderr1436 CMD (33792): ../libtool --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/valgrind1462 ../src/curl -q --include --trace-ascii log/8/trace1462 --trace-time --help sdfafdsfadsfsd > log/8/stdout1462 2> log/8/stderr1462 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/20/valgrind1464 ../src/curl -q --include --trace-ascii log/20/trace1464 --trace-time --help fIlE > log/20/stdout1464 2> log/20/stderr1464 1464: stdout FAILED: --- log/20/check-expected 2025-11-13 19:01:46.539391659 +0000 +++ log/20/check-generated 2025-11-13 19:01:46.539391659 +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/20/ 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/20/valgrind1464 ../src/curl -q --include --trace-ascii log/20/trace1464 --trace-time --help fIlE > log/20/stdout1464 2> log/20/stderr1464 === End of file commands.log === Start of file server.cmd Testnum 1464 === End of file server.cmd === Start of file valgrind1464 ==157387== ==157387== Process terminating with default action of signal 4 (SIGILL) ==157387== Illegal opcode at address 0x4013E00 ==157387== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157387== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157387== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157387== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1464 CMD (33792): ../libtool --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/valgrind1435 ../src/curl -q --output log/17/curl1435.out --include --trace-ascii log/17/trace1435 --trace-time --unix-socket /tmp/curl-http-AIvRC7Ja http://server-interpreted.example.com/1435 > log/17/stdout1435 2> log/17/stderr1435 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/7/server/http_unix_server.pid" --logfile "log/7/http_unix_server.log" --logdir "log/7" --portfile log/7/server/http_unix_server.port --config log/7/server.cmd --unix-socket '/tmp/curl-http-iWpfEKFo' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 155866 port 8999 * pid http-unix => 155866 155866 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/7/valgrind1436 ../src/curl -q --include --trace-ascii log/7/trace1436 --trace-time --unix-socket /tmp/curl-http-iWpfEKFo http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/7/stdout1436 2> log/7/stderr1436 1436: stdout FAILED: --- log/7/check-expected 2025-11-13 19:01:46.549391659 +0000 +++ log/7/check-generated 2025-11-13 19:01:46.549391659 +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/7/ 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/7/valgrind1436 ../src/curl -q --include --trace-ascii log/7/trace1436 --trace-time --unix-socket /tmp/curl-http-iWpfEKFo http://one.example.com/14360001 http://two.example.com/14360002 http://one.example.com/14360003 > log/7/stdout1436 2> log/7/stderr1436 === End of file commands.log === Start of file http_unix_server.log 19:01:44.434521 Running HTTP unix version on /tmp/curl-http-iWpfEKFo 19:01:44.434591 Wrote pid 155866 to log/7/server/http_unix_server.pid 19:01:44.434618 Wrote port 8999 to log/7/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 ==157249== ==157249== Process terminating with default action of signal 4 (SIGILL) ==157249== Illegal opcode at address 0x4013E00 ==157249== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157249== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157249== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157249== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1436 CMD (33792): ../libtool --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/valgrind1463 ../src/curl -q --include --trace-ascii log/5/trace1463 --trace-time --help file > log/5/stdout1463 2> log/5/stderr1463 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/8/valgrind1462 ../src/curl -q --include --trace-ascii log/8/trace1462 --trace-time --help sdfafdsfadsfsd > log/8/stdout1462 2> log/8/stderr1462 1462: stdout FAILED: --- log/8/check-expected 2025-11-13 19:01:46.556058326 +0000 +++ log/8/check-generated 2025-11-13 19:01:46.556058326 +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/8/ 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/8/valgrind1462 ../src/curl -q --include --trace-ascii log/8/trace1462 --trace-time --help sdfafdsfadsfsd > log/8/stdout1462 2> log/8/stderr1462 === End of file commands.log === Start of file server.cmd Testnum 1462 === End of file server.cmd === Start of file valgrind1462 ==157125== ==157125== Process terminating with default action of signal 4 (SIGILL) ==157125== Illegal opcode at address 0x4013E00 ==157125== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157125== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157125== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157125== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1462 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/17/server/http_unix_server.pid" --logfile "log/17/http_unix_server.log" --logdir "log/17" --portfile log/17/server/http_unix_server.port --config log/17/server.cmd --unix-socket '/tmp/curl-http-AIvRC7Ja' --srcdir "/startdir/src/curl/tests" RUN: HTTP-unix server is on PID 155826 port 8999 * pid http-unix => 155826 155826 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/17/valgrind1435 ../src/curl -q --output log/17/curl1435.out --include --trace-ascii log/17/trace1435 --trace-time --unix-socket /tmp/curl-http-AIvRC7Ja http://server-interpreted.example.com/1435 > log/17/stdout1435 2> log/17/stderr1435 1435: 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 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/17/valgrind1435 ../src/curl -q --output log/17/curl1435.out --include --trace-ascii log/17/trace1435 --trace-time --unix-socket /tmp/curl-http-AIvRC7Ja http://server-interpreted.example.com/1435 > log/17/stdout1435 2> log/17/stderr1435 === End of file commands.log === Start of file http_unix_server.log 19:01:44.421518 Running HTTP unix version on /tmp/curl-http-AIvRC7Ja 19:01:44.421621 Wrote pid 155826 to log/17/server/http_unix_server.pid 19:01:44.421680 Wrote port 8999 to log/17/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 ==157130== ==157130== Process terminating with default action of signal 4 (SIGILL) ==157130== Illegal opcode at address 0x4013E00 ==157130== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157130== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157130== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157130== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1435 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1486.pl /startdir/src/curl/tests > log/5/stdout1486 2> log/5/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/5/stdout1488 2> log/5/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/23/valgrind1471 ../src/curl -q --output log/23/curl1471.out --include --trace-ascii log/23/trace1471 --trace-time red.onion > log/23/stdout1471 2> log/23/stderr1471 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/5/valgrind1463 ../src/curl -q --include --trace-ascii log/5/trace1463 --trace-time --help file > log/5/stdout1463 2> log/5/stderr1463 1463: stdout FAILED: --- log/5/check-expected 2025-11-13 19:01:46.562724992 +0000 +++ log/5/check-generated 2025-11-13 19:01:46.562724992 +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/5/ 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/5/valgrind1463 ../src/curl -q --include --trace-ascii log/5/trace1463 --trace-time --help file > log/5/stdout1463 2> log/5/stderr1463 === End of file commands.log === Start of file server.cmd Testnum 1463 === End of file server.cmd === Start of file valgrind1463 ==157228== ==157228== Process terminating with default action of signal 4 (SIGILL) ==157228== Illegal opcode at address 0x4013E00 ==157228== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157228== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157228== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157228== by 0x40037A4: 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/5/stdout1486 2> log/5/stderr1486 valgrind SKIPPED s------e--- OK (1413 out of 1746, remaining: 00:26, took 0.015s, duration: 01:54) 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/5/stdout1488 2> log/5/stderr1488 valgrind SKIPPED s------e--- OK (1415 out of 1746, remaining: 00:26, took 0.023s, duration: 01: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/18/valgrind1465 ../src/curl -q --output log/18/curl1465.out --include --trace-ascii log/18/trace1465 --trace-time http://127.0.0.1:39771/we/want/1465 --libcurl log/18/test1465.c --data-binary @log/18/1465-upload > log/18/stdout1465 2> log/18/stderr1465 CMD (33792): ../libtool --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/valgrind1469 ../src/curl -q --output log/12/curl1469.out --include --trace-ascii log/12/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/12/irrelevant-file > log/12/stdout1469 2> log/12/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/1/valgrind1466 ../src/curl -q --output log/1/curl1466.out --include --trace-ascii log/1/trace1466 --trace-time http://127.0.0.1:40353/1466 > log/1/stdout1466 2> log/1/stderr1466 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/23/valgrind1471 ../src/curl -q --output log/23/curl1471.out --include --trace-ascii log/23/trace1471 --trace-time red.onion > log/23/stdout1471 2> log/23/stderr1471 1471: stderr FAILED: --- log/23/check-expected 2025-11-13 19:01:46.669391661 +0000 +++ log/23/check-generated 2025-11-13 19:01:46.669391661 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/23/ 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/23/valgrind1471 ../src/curl -q --output log/23/curl1471.out --include --trace-ascii log/23/trace1471 --trace-time red.onion > log/23/stdout1471 2> log/23/stderr1471 === End of file commands.log === Start of file server.cmd Testnum 1471 === End of file server.cmd === Start of file valgrind1471 ==157594== ==157594== Process terminating with default action of signal 4 (SIGILL) ==157594== Illegal opcode at address 0x4013E00 ==157594== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157594== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157594== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157594== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1471 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/18/valgrind1465 ../src/curl -q --output log/18/curl1465.out --include --trace-ascii log/18/trace1465 --trace-time http://127.0.0.1:39771/we/want/1465 --libcurl log/18/test1465.c --data-binary @log/18/1465-upload > log/18/stdout1465 2> log/18/stderr1465 1465: 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 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/18/valgrind1465 ../src/curl -q --output log/18/curl1465.out --include --trace-ascii log/18/trace1465 --trace-time http://127.0.0.1:39771/we/want/1465 --libcurl log/18/test1465.c --data-binary @log/18/1465-upload > log/18/stdout1465 2> log/18/stderr1465 === End of file commands.log === Start of file http_server.log 19:01:45.583526 ====> Client connect 19:01:45.583561 accept_connection 3 returned 4 19:01:45.583577 accept_connection 3 returned 0 19:01:45.583592 Read 93 bytes 19:01:45.583602 Process 93 bytes request 19:01:45.583615 Got request: GET /verifiedserver HTTP/1.1 19:01:45.583625 Are-we-friendly question received 19:01:45.583652 Wrote request (93 bytes) input to log/18/server.input 19:01:45.583670 Identifying ourselves as friends 19:01:45.583726 Response sent (56 bytes) and written to log/18/server.response 19:01:45.583737 special request received, no persistency 19:01:45.583746 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 38250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind1465 ==157501== ==157501== Process terminating with default action of signal 4 (SIGILL) ==157501== Illegal opcode at address 0x4013E00 ==157501== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157501== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157501== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157501== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1465 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/12/valgrind1469 ../src/curl -q --output log/12/curl1469.out --include --trace-ascii log/12/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/12/irrelevant-file > log/12/stdout1469 2> log/12/stderr1469 curl returned 132, when expecting 3 1469: exit FAILED == Contents of files in the log/12/ 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/12/valgrind1469 ../src/curl -q --output log/12/curl1469.out --include --trace-ascii log/12/trace1469 --trace-time "ftp://127.0.0.1:47/1469%/with space/" -T log/12/irrelevant-file > log/12/stdout1469 2> log/12/stderr1469 === End of file commands.log === Start of file server.cmd Testnum 1469 === End of file server.cmd === Start of file valgrind1469 ==157589== ==157589== Process terminating with default action of signal 4 (SIGILL) ==157589== Illegal opcode at address 0x4013E00 ==157589== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157589== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157589== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157589== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1469 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/1/valgrind1466 ../src/curl -q --output log/1/curl1466.out --include --trace-ascii log/1/trace1466 --trace-time http://127.0.0.1:40353/1466 > log/1/stdout1466 2> log/1/stderr1466 1466: 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 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/1/valgrind1466 ../src/curl -q --output log/1/curl1466.out --include --trace-ascii log/1/trace1466 --trace-time http://127.0.0.1:40353/1466 > log/1/stdout1466 2> log/1/stderr1466 === End of file commands.log === Start of file http_server.log 19:01:45.593677 ====> Client connect 19:01:45.593703 accept_connection 3 returned 4 19:01:45.593716 accept_connection 3 returned 0 19:01:45.593729 Read 93 bytes 19:01:45.593737 Process 93 bytes request 19:01:45.593749 Got request: GET /verifiedserver HTTP/1.1 19:01:45.593757 Are-we-friendly question received 19:01:45.593776 Wrote request (93 bytes) input to log/1/server.input 19:01:45.593789 Identifying ourselves as friends 19:01:45.593830 Response sent (56 bytes) and written to log/1/server.response 19:01:45.593838 special request received, no persistency 19:01:45.593846 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 55880 * using HTTPCMD (33792): ../libtool --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/valgrind1472 ../src/curl -q --output log/21/curl1472.out --include --trace-ascii log/21/trace1472 --trace-time tasty.onion. > log/21/stdout1472 2> log/21/stderr1472 /1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === End of file http_verify.out === Start of file server.cmd Testnum 1466 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 75002 === End of file server.response === Start of file valgrind1466 ==157508== ==157508== Process terminating with default action of signal 4 (SIGILL) ==157508== Illegal opcode at address 0x4013E00 ==157508== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157508== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157508== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157508== by 0x40037A4: 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/22/valgrind1474 ../src/curl -q --output log/22/curl1474.out --include --trace-ascii log/22/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/22/stdout1474 2> log/22/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/2/valgrind1473 ../src/curl -q --output log/2/curl1473.out --include --trace-ascii log/2/trace1473 --trace-time http://127.0.0.1:46047/1473 > log/2/stdout1473 2> log/2/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/17/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:40515/1485 > log/17/stdout1485 2> log/17/stderr1485 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/21/valgrind1472 ../src/curl -q --output log/21/curl1472.out --include --trace-ascii log/21/trace1472 --trace-time tasty.onion. > log/21/stdout1472 2> log/21/stderr1472 1472: stderr FAILED: --- log/21/check-expected 2025-11-13 19:01:46.759391660 +0000 +++ log/21/check-generated 2025-11-13 19:01:46.759391660 +0000 @@ -1 +0,0 @@ -curl: (6) Not resolving .onion address (RFC 7686)[CR][LF] == Contents of files in the log/21/ 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/21/valgrind1472 ../src/curl -q --output log/21/curl1472.out --include --trace-ascii log/21/trace1472 --trace-time tasty.onion. > log/21/stdout1472 2> log/21/stderr1472 === End of file commands.log === Start of file server.cmd Testnum 1472 === End of file server.cmd === Start of file valgrind1472 ==157680== ==157680== Process terminating with default action of signal 4 (SIGILL) ==157680== Illegal opcode at address 0x4013E00 ==157680== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157680== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157680== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157680== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1472 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/22/valgrind1474 ../src/curl -q --output log/22/curl1474.out --include --trace-ascii log/22/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/22/stdout1474 2> log/22/stderr1474 curl returned 132, when expecting 1 1474: exit FAILED == Contents of files in the log/22/ 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/22/valgrind1474 ../src/curl -q --output log/22/curl1474.out --include --trace-ascii log/22/trace1474 --trace-time --proto -all http://127.0.0.1:47/1474 > log/22/stdout1474 2> log/22/stderr1474 === End of file commands.log === Start of file server.cmd Testnum 1474 === End of file server.cmd === Start of file valgrind1474 ==157829== ==157829== Process terminating with default action of signal 4 (SIGILL) ==157829== Illegal opcode at address 0x4013E00 ==157829== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157829== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157829== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157829== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1474 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/2/valgrind1473 ../src/curl -q --output log/2/curl1473.out --include --trace-ascii log/2/trace1473 --trace-time http://127.0.0.1:46047/1473 > log/2/stdout1473 2> log/2/stderr1473 1473: 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 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/2/valgrind1473 ../src/curl -q --output log/2/curl1473.out --include --trace-ascii log/2/trace1473 --trace-time http://127.0.0.1:46047/1473 > log/2/stdout1473 2> log/2/stderr1473 === End of file commands.log === Start of file http_server.log 19:01:45.692889 ====> Client connect 19:01:45.692922 accept_connection 3 returned 4 19:01:45.692940 accept_connection 3 returned 0 19:01:45.692956 Read 93 bytes 19:01:45.692967 Process 93 bytes request 19:01:45.692984 Got request: GET /verifiedserver HTTP/1.1 19:01:45.692994 Are-we-friendly question received 19:01:45.693018 Wrote request (93 bytes) input to log/2/server.input 19:01:45.693036 Identifying ourselves as friends 19:01:45.693087 Response sent (57 bytes) and written to log/2/server.response 19:01:45.693098 special request received, no persistency 19:01:45.693108 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46047... * Established connection to 127.0.0.1 (127.0.0.1 port 46047) from 127.0.0.1 port 58282 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46047 > User-Agent: curl/8.17.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:46047 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 148921 === 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: 18 WE ROOLZ: 148921 === End of file server.response === Start of file valgrind1473 ==157777== ==157777== Process terminating with default action of signal 4 (SIGILL) ==157777== Illegal opcode at address 0x4013E00 ==157777== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157777== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157777== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157777== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1473 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/17/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:40515/1485 > log/17/stdout1485 2> log/17/stderr1485 1485: 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 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/17/valgrind1485 ./libtest/libtests lib1485 http://127.0.0.1:40515/1485 > log/17/stdout1485 2> log/17/stderr1485 === End of file commands.log === Start of file http_server.log 19:01:47.355828 ====> Client connect 19:01:47.355860 accept_connection 3 returned 4 19:01:47.355877 accept_connection 3 returned 0 19:01:47.355891 Read 93 bytes 19:01:47.355902 Process 93 bytes request 19:01:47.355914 Got request: GET /verifiedserver HTTP/1.1 19:01:47.355923 Are-we-friendly question received 19:01:47.355947 Wrote request (93 bytes) input to log/17/server.input 19:01:47.355964 Identifying ourselves as friends 19:01:47.356023 Response sent (56 bytes) and written to log/17/server.response 19:01:47.356034 special request received, no persistency 19:01:47.356044 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 39782 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === End of file http_verify.out === Start of file server.cmd Testnum 1485 ==CMD (33792): ../libtool --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/valgrind1476 ../src/curl -q --output log/13/curl1476.out --include --trace-ascii log/13/trace1476 --trace-time -x http://127.0.0.1:35301/1476 http://curl.co.UK -c log/13/cookies1476.txt > log/13/stdout1476 2> log/13/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/9/valgrind1475 ../src/curl -q --output log/9/curl1475.out --include --trace-ascii log/9/trace1475 --trace-time http://127.0.0.1:36745/1475 -C - -f > log/9/stdout1475 2> log/9/stderr1475 RUN: Process with pid 74638 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/4/valgrind1480 ../src/curl -q --output log/4/curl1480.out --include --trace-ascii log/4/trace1480 --trace-time http://127.0.0.1:37985/1480 > log/4/stdout1480 2> log/4/stderr1480 CMD (33792): ../libtool --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/valgrind1479 ../src/curl -q --output log/10/curl1479.out --include --trace-ascii log/10/trace1479 --trace-time http://127.0.0.1:37879/1479 http://127.0.0.1:37879/14790002 > log/10/stdout1479 2> log/10/stderr1479 = End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74424 === End of file server.response === Start of file stderr1485 URL: http://127.0.0.1:40515/1485 === End of file stderr1485 === Start of file valgrind1485 ==158447== ==158447== Process terminating with default action of signal 4 (SIGILL) ==158447== Illegal opcode at address 0x40297AD ==158447== at 0x40297AD: UnknownInlinedFun (string_fortified.h:59) ==158447== by 0x40297AD: test_lib1485.lto_priv.0 (lib1485.c:96) ==158447== by 0x400347F: main (first.c:280) === 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/13/valgrind1476 ../src/curl -q --output log/13/curl1476.out --include --trace-ascii log/13/trace1476 --trace-time -x http://127.0.0.1:35301/1476 http://curl.co.UK -c log/13/cookies1476.txt > log/13/stdout1476 2> log/13/stderr1476 1476: 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 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/13/valgrind1476 ../src/curl -q --output log/13/curl1476.out --include --trace-ascii log/13/trace1476 --trace-time -x http://127.0.0.1:35301/1476 http://curl.co.UK -c log/13/cookies1476.txt > log/13/stdout1476 2> log/13/stderr1476 === End of file commands.log === Start of file http_server.log 19:01:46.196991 ====> Client connect 19:01:46.197028 accept_connection 3 returned 4 19:01:46.197045 accept_connection 3 returned 0 19:01:46.197059 Read 93 bytes 19:01:46.197070 Process 93 bytes request 19:01:46.197081 Got request: GET /verifiedserver HTTP/1.1 19:01:46.197092 Are-we-friendly question received 19:01:46.197125 Wrote request (93 bytes) input to log/13/server.input 19:01:46.197141 Identifying ourselves as friends 19:01:46.197198 Response sent (56 bytes) and written to log/13/server.response 19:01:46.197209 special request received, no persistency 19:01:46.197219 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 46642 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file valgrind1476 ==157956== ==157956== Process terminating with default action of signal 4 (SIGILL) ==157956== Illegal opcode at address 0x4013E00 ==157956== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157956== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157956== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157956== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1476 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/4/valgrind1480 ../src/curl -q --output log/4/curl1480.out --include --trace-ascii log/4/trace1480 --trace-time http://127.0.0.1:37985/1480 > log/4/stdout1480 2> log/4/stderr1480 1480: 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 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/4/valgrind1480 ../src/curl -q --output log/4/curl1480.out --include --trace-ascii log/4/trace1480 --trace-time http://127.0.0.1:37985/1480 > log/4/stdout1480 2> log/4/stderr1480 === End of file commands.log === Start of file http_server.log 19:01:47.282807 ====> Client connect 19:01:47.282841 accept_connection 3 returned 4 19:01:47.282858 accept_connection 3 returned 0 19:01:47.282987 Read 93 bytes 19:01:47.283000 Process 93 bytes request 19:01:47.283014 Got request: GET /verifiedserver HTTP/1.1 19:01:47.283025 Are-we-friendly question received 19:01:47.283053 Wrote request (93 bytes) input to log/4/server.input 19:01:47.283069 Identifying ourselves as friends 19:01:47.283119 Response sent (56 bytes) and written to log/4/server.response 19:01:47.283130 special request received, no persistency 19:01:47.283139 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 44242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind1480 ==158108== ==158108== Process terminating with default action of signal 4 (SIGILL) ==158108== Illegal opcode at address 0x4013E00 ==158108== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158108== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158108== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158108== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1480 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/10/valgrind1479 ../src/curl -q --output log/10/curl1479.out --include --trace-ascii log/10/trace1479 --trace-time http://127.0.0.1:37879/1479 http://127.0.0.1:37879/14790002 > log/10/stdout1479 2> log/10/stderr1479 1479: 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 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/10/valgrind1479 ../src/curl -q --output log/10/curl1479.out --include --trace-ascii log/10/trace1479 --trace-time http://127.0.0.1:37879/1479 http://127.0.0.1:37879/14790002 > log/10/stdout1479 2> log/10/stderr1479 === End of file commands.log === Start of file http_server.log 19:01:46.283741 ====> Client connect 19:01:46.283828 accept_connection 3 returned 4 19:01:46.283842 accept_connection 3 returned 0 19:01:46.283854 Read 93 bytes 19:01:46.283862 Process 93 bytes request 19:01:46.283873 Got request: GET /verifiedserver HTTP/1.1 19:01:46.283881 Are-we-friendly question received 19:01:46.283900 Wrote request (93 bytes) input to log/10/server.input 19:01:46.283914 Identifying ourselves as friends 19:01:46.283956 Response sent (56 bytes) and written to log/10/server.response 19:01:46.283964 specialCMD (33792): ../libtool --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/valgrind1456 ../src/curl -q --output log/14/curl1456.out --include --trace-ascii log/14/trace1456 --trace-time -g "http://[::1]:37615/1456" --haproxy-protocol > log/14/stdout1456 2> log/14/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/20/valgrind1483 ../src/curl -q --output log/20/curl1483.out --include --trace-ascii log/20/trace1483 --trace-time http://127.0.0.1:38583/1483 -D log/20/heads1483 > log/20/stdout1483 2> log/20/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/11/valgrind1481 ../src/curl -q --output log/11/curl1481.out --include --trace-ascii log/11/trace1481 --trace-time http://moo/ --libcurl log/11/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:46317 > log/11/stdout1481 2> log/11/stderr1481 request received, no persistency 19:01:46.283972 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 35142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1479 ==158114== ==158114== Process terminating with default action of signal 4 (SIGILL) ==158114== Illegal opcode at address 0x4013E00 ==158114== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158114== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158114== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158114== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1479 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 156886 port 37615 * pid http-ipv6 => 156886 156886 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/14/valgrind1456 ../src/curl -q --output log/14/curl1456.out --include --trace-ascii log/14/trace1456 --trace-time -g "http://[::1]:37615/1456" --haproxy-protocol > log/14/stdout1456 2> log/14/stderr1456 1456: 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 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/14/valgrind1456 ../src/curl -q --output log/14/curl1456.out --include --trace-ascii log/14/trace1456 --trace-time -g "http://[::1]:37615/1456" --haproxy-protocol > log/14/stdout1456 2> log/14/stderr1456 === End of file commands.log === Start of file http_ipv6_server.log 19:01:45.328942 Running HTTP IPv6 version on port 37615 19:01:45.329029 Wrote pid 156886 to log/14/server/http_ipv6_server.pid 19:01:45.329060 Wrote port 37615 to log/14/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 ==158213== ==158213== Process terminating with default action of signal 4 (SIGILL) ==158213== Illegal opcode at address 0x4013E00 ==158213== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158213== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158213== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158213== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1456 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/20/valgrind1483 ../src/curl -q --output log/20/curl1483.out --include --trace-ascii log/20/trace1483 --trace-time http://127.0.0.1:38583/1483 -D log/20/heads1483 > log/20/stdout1483 2> log/20/stderr1483 1483: 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 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/20/valgrind1483 ../src/curl -q --output log/20/curl1483.out --include --trace-ascii log/20/trace1483 --trace-time http://127.0.0.1:38583/1483 -D log/20/heads1483 > log/20/stdout1483 2> log/20/stderr1483 === End of file commands.log === Start of file http_server.log 19:01:46.337398 ====> Client connect 19:01:46.337434 accept_connection 3 returned 4 19:01:46.337449 accept_connection 3 returned 0 19:01:46.337461 Read 93 bytes 19:01:46.337469 Process 93 bytes request 19:01:46.337481 Got request: GET /verifiedserver HTTP/1.1 19:01:46.337489 Are-we-friendly question received 19:01:46.337508 Wrote request (93 bytes) input to log/20/server.input 19:01:46.337521 Identifying ourselves as friends 19:01:46.337562 Response sent (56 bytes) and written to log/20/server.response 19:01:46.337570 special request received, no persistency 19:01:46.337578 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 56496 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind1483 ==158354== ==158354== Process terminating with default action of signal 4 (SIGILL) ==158354== Illegal opcode at address 0x4013E00 ==158354== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158354== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158354== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158354== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1483 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/11/valgrind1481 ../src/curl -q --output log/11/curl1481.out --include --trace-ascii log/11/trace1481 --trace-time http://moo/ --libcurl log/11/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:46317 > log/11/stdout1481 2> log/11/stderr1481 1481: 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 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/11/valgrind1481 ../src/curl -q --output log/11/curl1481.out --include --trace-ascii log/11/trace1481 --trace-time http://moo/ --libcurl log/11/test1481.c --tls-max 1.3 --proxy-tlsv1 -x http://127.0.0.1:46317 > log/11/stdout1481 2> log/11/stderr1481 === End of file commands.log === Start of file http_server.log 19:01:46.298963 ====> Client connect 19:01:46.298999 accept_connection 3 returned 4 19:01:46.299018 accept_connection 3 returned 0 19:01:46.299035 Read 93 bytes 19:01:46.299047 Process 93 bytes request 19:01:46.299083 Got request: GET /verifiedserver HTTP/1.1 19:01:46.299098 Are-we-friendly question received 19:01:46.299129 Wrote request (93 bytes) input to log/11/server.input 19:01:46.299148 Identifying ourselves as friends 19:01:46.299207 Response sent (56 bytes) and written to log/11/server.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/19/valgrind1482 ../src/curl -q --output log/19/curl1482.out --include --trace-ascii log/19/trace1482 --trace-time http://127.0.0.1:41761/1482 -D log/19/heads1482 > log/19/stdout1482 2> log/19/stderr1482 RUN: Process with pid 74638 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/8/valgrind1487 ../src/curl -q --trace-ascii log/8/trace1487 --trace-time http://127.0.0.1:43853/1487 -J -O --output-dir log/8 > log/8/stdout1487 2> log/8/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/7/valgrind1484 ../src/curl -q --output log/7/curl1484.out --include --trace-ascii log/7/trace1484 --trace-time -I http://127.0.0.1:41017/1484 --http1.1 > log/7/stdout1484 2> log/7/stderr1484 esponse 19:01:46.299218 special request received, no persistency 19:01:46.299228 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 39524 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file valgrind1481 ==158181== ==158181== Process terminating with default action of signal 4 (SIGILL) ==158181== Illegal opcode at address 0x4013E00 ==158181== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158181== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158181== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158181== by 0x40037A4: 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/19/valgrind1482 ../src/curl -q --output log/19/curl1482.out --include --trace-ascii log/19/trace1482 --trace-time http://127.0.0.1:41761/1482 -D log/19/heads1482 > log/19/stdout1482 2> log/19/stderr1482 1482: 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 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/19/valgrind1482 ../src/curl -q --output log/19/curl1482.out --include --trace-ascii log/19/trace1482 --trace-time http://127.0.0.1:41761/1482 -D log/19/heads1482 > log/19/stdout1482 2> log/19/stderr1482 === End of file commands.log === Start of file http_server.log 19:01:46.320941 ====> Client connect 19:01:46.320973 accept_connection 3 returned 4 19:01:46.320990 accept_connection 3 returned 0 19:01:46.321006 Read 93 bytes 19:01:46.321017 Process 93 bytes request 19:01:46.321033 Got request: GET /verifiedserver HTTP/1.1 19:01:46.321044 Are-we-friendly question received 19:01:46.321070 Wrote request (93 bytes) input to log/19/server.input 19:01:46.321088 Identifying ourselves as friends 19:01:46.321148 Response sent (56 bytes) and written to log/19/server.response 19:01:46.321161 special request received, no persistency 19:01:46.321171 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 56900 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind1482 ==158332== ==158332== Process terminating with default action of signal 4 (SIGILL) ==158332== Illegal opcode at address 0x4013E00 ==158332== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158332== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158332== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158332== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1482 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/9/valgrind1475 ../src/curl -q --output log/9/curl1475.out --include --trace-ascii log/9/trace1475 --trace-time http://127.0.0.1:36745/1475 -C - -f > log/9/stdout1475 2> log/9/stderr1475 1475: 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 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/9/valgrind1475 ../src/curl -q --output log/9/curl1475.out --include --trace-ascii log/9/trace1475 --trace-time http://127.0.0.1:36745/1475 -C - -f > log/9/stdout1475 2> log/9/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 19:01:46.196273 ====> Client connect 19:01:46.196321 accept_connection 3 returned 4 19:01:46.196340 accept_connection 3 returned 0 19:01:46.196357 Read 93 bytes 19:01:46.196368 Process 93 bytes request 19:01:46.196382 Got request: GET /verifiedserver HTTP/1.1 19:01:46.196393 Are-we-friendly question received 19:01:46.196418 Wrote request (93 bytes) input to log/9/server.input 19:01:46.196436 Identifying ourselves as friends 19:01:46.196506 Response sent (56 bytes) and written to log/9/server.response 19:01:46.196518 special request received, no persistency 19:01:46.196530 ====> Client disconnect 0 exit_signal_handler: called 19:01:47.172430 signalled to die 19:01:47.172536 ========> IPv4 sws (port 36745 pid: 74638) exits with signal (15) 19:01:47.172554 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36745... * Established connection to 127.0.0.1 (127.0.0.1 port 36745) from 127.0.0.1 port 49036 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36745 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36745 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74638 === 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: 74638 === End of file server.response === Start of file valgrind1475 ==157957== ==157957== Process terminating with default action of signal 4 (SIGILL) ==157957== Illegal opcode at address 0x4013E00 ==157957== at 0x4013E00: getparameter (tool_getparam.c:2846) ==157957== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==157957== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==157957== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1475 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/8/valgrind1487 ../src/curl -q --trace-ascii log/8/trace1487 --trace-time http://127.0.0.1:43853/1487 -J -O --output-dir log/8 > log/8/stdout1487 2> log/8/stderr1487 1487: 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 1487 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-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/5/valgrind1489 ../src/curl -q --output log/5/curl1489.out --trace-ascii log/5/trace1489 --trace-time http://127.0.0.1:46771/1489 -D % -s > log/5/stdout1489 2> log/5/stderr1489 heck=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/8/valgrind1487 ../src/curl -q --trace-ascii log/8/trace1487 --trace-time http://127.0.0.1:43853/1487 -J -O --output-dir log/8 > log/8/stdout1487 2> log/8/stderr1487 === End of file commands.log === Start of file http_server.log 19:01:46.365567 ====> Client connect 19:01:46.365604 accept_connection 3 returned 4 19:01:46.365623 accept_connection 3 returned 0 19:01:46.365639 Read 93 bytes 19:01:46.365650 Process 93 bytes request 19:01:46.365666 Got request: GET /verifiedserver HTTP/1.1 19:01:46.365677 Are-we-friendly question received 19:01:46.365704 Wrote request (93 bytes) input to log/8/server.input 19:01:46.365722 Identifying ourselves as friends 19:01:46.365780 Response sent (56 bytes) and written to log/8/server.response 19:01:46.365792 special request received, no persistency 19:01:46.365802 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 56550 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1487 ==158497== ==158497== Process terminating with default action of signal 4 (SIGILL) ==158497== Illegal opcode at address 0x4013E00 ==158497== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158497== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158497== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158497== by 0x40037A4: 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/7/valgrind1484 ../src/curl -q --output log/7/curl1484.out --include --trace-ascii log/7/trace1484 --trace-time -I http://127.0.0.1:41017/1484 --http1.1 > log/7/stdout1484 2> log/7/stderr1484 1484: 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 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/7/valgrind1484 ../src/curl -q --output log/7/curl1484.out --include --trace-ascii log/7/trace1484 --trace-time -I http://127.0.0.1:41017/1484 --http1.1 > log/7/stdout1484 2> log/7/stderr1484 === End of file commands.log === Start of file http_server.log 19:01:46.349219 ====> Client connect 19:01:46.349255 accept_connection 3 returned 4 19:01:46.349274 accept_connection 3 returned 0 19:01:46.349290 Read 93 bytes 19:01:46.349302 Process 93 bytes request 19:01:46.349318 Got request: GET /verifiedserver HTTP/1.1 19:01:46.349329 Are-we-friendly question received 19:01:46.349357 Wrote request (93 bytes) input to log/7/server.input 19:01:46.349374 Identifying ourselves as friends 19:01:46.349432 Response sent (56 bytes) and written to log/7/server.response 19:01:46.349443 special request received, no persistency 19:01:46.349453 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 42444 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 17 WE ROOLZ: 74741 === End of file server.response === Start of file valgrind1484 ==158404== ==158404== Process terminating with default action of signal 4 (SIGILL) ==158404== Illegal opcode at address 0x4013E00 ==158404== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158404== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158404== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158404== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1484 CMD (33792): ../libtool --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/valgrind1492 ../src/curl -q --trace-ascii log/12/trace1492 --trace-time http://127.0.0.1:46819/junk1492 -J -O --show-headers --output-dir log/12 > log/12/stdout1492 2> log/12/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/23/valgrind1490 ../src/curl -q --output log/23/curl1490.out --trace-ascii log/23/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/23/result1490.txt -T log/23/upload1490.txt > log/23/stdout1490 2> log/23/stderr1490 CMD (33792): ../libtool --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/valgrind1491 ../src/curl -q --include --trace-ascii log/18/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/18/test1491.txt -o log/18/test1491.txt --skip-existing > log/18/stdout1491 2> log/18/stderr1491 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/5/valgrind1489 ../src/curl -q --output log/5/curl1489.out --trace-ascii log/5/trace1489 --trace-time http://127.0.0.1:46771/1489 -D % -s > log/5/stdout1489 2> log/5/stderr1489 1489: stderr FAILED: --- log/5/check-expected 2025-11-13 19:01:47.559391668 +0000 +++ log/5/check-generated 2025-11-13 19:01:47.559391668 +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/5/ 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/5/valgrind1489 ../src/curl -q --output log/5/curl1489.out --trace-ascii log/5/trace1489 --trace-time http://127.0.0.1:46771/1489 -D % -s > log/5/stdout1489 2> log/5/stderr1489 === End of file commands.log === Start of file http_server.log 19:01:46.401455 ====> Client connect 19:01:46.401497 accept_connection 3 returned 4 19:01:46.401517 accept_connection 3 returned 0 19:01:46.401555 Read 93 bytes 19:01:46.401569 Process 93 bytes request 19:01:46.401585 Got request: GET /verifiedserver HTTP/1.1 19:01:46.401597 Are-we-friendly question received 19:01:46.401627 Wrote request (93 bytes) input to log/5/server.input 19:01:46.401649 Identifying ourselves as friends 19:01:46.401713 Response sent (56 bytes) and written to log/5/server.response 19:01:46.401727 special request received, no persistency 19:01:46.401739 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 34308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.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:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 76406 === End of file server.response === Start of file valgrind1489 ==158641== ==158641== Process terminating with default action of signal 4 (SIGILL) ==158641== Illegal opcode at address 0x4013E00 ==158641== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158641== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158641== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158641== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1489 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/12/valgrind1492 ../src/curl -q --trace-ascii log/12/trace1492 --trace-time http://127.0.0.1:46819/junk1492 -J -O --show-headers --output-dir log/12 > log/12/stdout1492 2> log/12/stderr1492 1492: 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 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/12/valgrind1492 ../src/curl -q --trace-ascii log/12/trace1492 --trace-time http://127.0.0.1:46819/junk1492 -J -O --show-headers --output-dir log/12 > log/12/stdout1492 2> log/12/stderr1492 === End of file commands.log === Start of file http_server.log 19:01:46.521128 ====> Client connect 19:01:46.521163 accept_connection 3 returned 4 19:01:46.521180 accept_connection 3 returned 0 19:01:46.521196 Read 93 bytes 19:01:46.521207 Process 93 bytes request 19:01:46.521221 Got request: GET /verifiedserver HTTP/1.1 19:01:46.521232 Are-we-friendly question received 19:01:46.521258 Wrote request (93 bytes) input to log/12/server.input 19:01:46.521275 Identifying ourselves as friends 19:01:46.521331 Response sent (56 bytes) and written to log/12/server.response 19:01:46.521342 special request received, no persistency 19:01:46.521351 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 49750 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind1492 ==158801== ==158801== Process terminating with default action of signal 4 (SIGILL) ==158801== Illegal opcode at address 0x4013E00 ==158801== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158801== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158801== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158801== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1492 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/23/valgrind1490 ../src/curl -q --output log/23/curl1490.out --trace-ascii log/23/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/23/result1490.txt -T log/23/upload1490.txt > log/23/stdout1490 2> log/23/stderr1490 1490: output (log/23/result1490.txt) FAILED: --- log/23/check-expected 2025-11-13 19:01:47.669391670 +0000 +++ log/23/check-generated 2025-11-13 19:01:47.669391670 +0000 @@ -1,5 +1 @@ -data[LF] -in[LF] -file[LF] -to[LF] -write[LF] +already existing[LF] == Contents of files in the log/23/ 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/23/valgrind1490 ../src/curl -q --output log/23/curl1490.out --trace-ascii log/23/trace1490 --trace-time file://localhost/startdir/src/build-curl/tests/log/23/result1490.txt -T log/23/upload1490.txt > log/23/stdout1490 2> log/23/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 ==158696== ==158696== Process terminating with default action of signal 4 (SIGILL) ==158696== Illegal opcode at address 0x4013E00 ==158696== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158696== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158696== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158696== by 0x40037A4: 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/1/valgrind1493 ../src/curl -q --output log/1/curl1493.out --include --trace-ascii log/1/trace1493 --trace-time http://127.0.0.1:40353/1493 -D log/1/heads1493 > log/1/stdout1493 2> log/1/stderr1493 CMD (33792): ../libtool --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/valgrind1494 ../src/curl -q --output log/21/curl1494.out --include --trace-ascii log/21/trace1494 --trace-time http://127.0.0.1:35043/1494 -D log/21/heads1494 > log/21/stdout1494 2> log/21/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/2/valgrind1496 ../src/curl -q --output log/2/curl1496.out --include --trace-ascii log/2/trace1496 --trace-time http://127.0.0.1:46047/1496 -D log/2/heads1496 > log/2/stdout1496 2> log/2/stderr1496 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/18/valgrind1491 ../src/curl -q --include --trace-ascii log/18/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/18/test1491.txt -o log/18/test1491.txt --skip-existing > log/18/stdout1491 2> log/18/stderr1491 1491: stderr FAILED: --- log/18/check-expected 2025-11-13 19:01:47.679391669 +0000 +++ log/18/check-generated 2025-11-13 19:01:47.679391669 +0000 @@ -1 +0,0 @@ -Note: skips transfer, "log/18/test1491.txt" exists locally[CR][LF] == Contents of files in the log/18/ dir after test 1491 === Start of file check-expected Note: skips transfer, "log/18/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/18/valgrind1491 ../src/curl -q --include --trace-ascii log/18/trace1491 --trace-time file://localhost/startdir/src/build-curl/tests/log/18/test1491.txt -o log/18/test1491.txt --skip-existing > log/18/stdout1491 2> log/18/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 ==158754== ==158754== Process terminating with default action of signal 4 (SIGILL) ==158754== Illegal opcode at address 0x4013E00 ==158754== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158754== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158754== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158754== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1491 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/1/valgrind1493 ../src/curl -q --output log/1/curl1493.out --include --trace-ascii log/1/trace1493 --trace-time http://127.0.0.1:40353/1493 -D log/1/heads1493 > log/1/stdout1493 2> log/1/stderr1493 1493: 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 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/1/valgrind1493 ../src/curl -q --output log/1/curl1493.out --include --trace-ascii log/1/trace1493 --trace-time http://127.0.0.1:40353/1493 -D log/1/heads1493 > log/1/stdout1493 2> log/1/stderr1493 === End of file commands.log === Start of file http_server.log 19:01:46.549478 ====> Client connect 19:01:46.549517 accept_connection 3 returned 4 19:01:46.549535 accept_connection 3 returned 0 19:01:46.549552 Read 93 bytes 19:01:46.549563 Process 93 bytes request 19:01:46.549578 Got request: GET /verifiedserver HTTP/1.1 19:01:46.549588 Are-we-friendly question received 19:01:46.549611 Wrote request (93 bytes) input to log/1/server.input 19:01:46.549628 Identifying ourselves as friends 19:01:46.549724 Response sent (56 bytes) and written to log/1/server.response 19:01:46.549735 special request received, no persistency 19:01:46.549745 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 55882 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1493 ==158885== ==158885== Process terminating with default action of signal 4 (SIGILL) ==158885== Illegal opcode at address 0x4013E00 ==158885== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158885== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158885== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158885== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1493 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/21/valgrind1494 ../src/curl -q --output log/21/curl1494.out --include --trace-ascii log/21/trace1494 --trace-time http://127.0.0.1:35043/1494 -D log/21/heads1494 > log/21/stdout1494 2> log/21/stderr1494 1494: 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 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/21/valgrind1494 ../src/curl -q --output log/21/curl1494.out --include --trace-ascii log/21/trace1494 --trace-time http://127.0.0.1:35043/1494 -D log/21/heads1494 > log/21/stdout1494 2> log/21/stderr1494 === End of file commands.log === Start of file http_server.log 19:01:46.557479 ====> Client connect 19:01:46.557517 accept_connection 3 returned 4 19:01:46.557539 accept_connection 3 returned 0 19:01:46.557556 Read 93 bytes 19:01:46.557567 Process 93 bytes request 19:01:46.557581 Got request: GET /verifiedserver HTTP/1.1 19:01:46.557592 Are-we-friendly question received 19:01:46.557620 Wrote request (93 bytes) input to log/21/server.input 19:01:46.557638 Identifying ourselves as friends 19:01:46.557694 Response sent (56 bytes) and written to log/21/server.response 19:01:46.557706 special request received, no persistency 19:01:46.557716 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 37672 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file valgrind1494 ==158906== ==158906== Process terminating with default action of signal 4 (SIGILL) ==158906== Illegal opcode at address 0x4013E00 ==158906== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158906== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158906== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158906== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1494 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/2/valgrind1496 ../src/curl -q --output log/2/curl1496.out --include --trace-ascii log/2/trace1496 --trace-time http://127.0.0.1:46047/1496 -D log/2/heads1496 > log/2/stdout1CMD (33792): ../libtool --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/valgrind1495 ../src/curl -q --output log/22/curl1495.out --include --trace-ascii log/22/trace1495 --trace-time http://127.0.0.1:41061/1495 -D log/22/heads1495 > log/22/stdout1495 2> log/22/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/6/valgrind1468 ../src/curl -q --output log/6/curl1468.out --include --trace-ascii log/6/trace1468 --trace-time http://this.is.a.host.name:41595/1468 --proxy socks5h://localhost/tmp/curl-socksd-mJv5fmFV > log/6/stdout1468 2> log/6/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/24/valgrind1467 ../src/curl -q --output log/24/curl1467.out --include --trace-ascii log/24/trace1467 --trace-time --socks5 localhost/tmp/curl-socksd-C2UXJiPu http://127.0.0.1:39383/1467 > log/24/stdout1467 2> log/24/stderr1467 496 2> log/2/stderr1496 1496: 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 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/2/valgrind1496 ../src/curl -q --output log/2/curl1496.out --include --trace-ascii log/2/trace1496 --trace-time http://127.0.0.1:46047/1496 -D log/2/heads1496 > log/2/stdout1496 2> log/2/stderr1496 === End of file commands.log === Start of file http_server.log 19:01:46.694062 ====> Client connect 19:01:46.694100 accept_connection 3 returned 4 19:01:46.694118 accept_connection 3 returned 0 19:01:46.694133 Read 93 bytes 19:01:46.694144 Process 93 bytes request 19:01:46.694157 Got request: GET /verifiedserver HTTP/1.1 19:01:46.694167 Are-we-friendly question received 19:01:46.694193 Wrote request (93 bytes) input to log/2/server.input 19:01:46.694210 Identifying ourselves as friends 19:01:46.694271 Response sent (57 bytes) and written to log/2/server.response 19:01:46.694284 special request received, no persistency 19:01:46.694294 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46047... * Established connection to 127.0.0.1 (127.0.0.1 port 46047) from 127.0.0.1 port 58296 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46047 > User-Agent: curl/8.17.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:46047 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 148921 === 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: 18 WE ROOLZ: 148921 === End of file server.response === Start of file valgrind1496 ==159131== ==159131== Process terminating with default action of signal 4 (SIGILL) ==159131== Illegal opcode at address 0x4013E00 ==159131== at 0x4013E00: getparameter (tool_getparam.c:2846) ==159131== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==159131== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==159131== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1496 startnew: ./server/servers socksd --pidfile log/6/server/socks2_server.pid --reqfile log/6/socksd-request.log --logfile log/6/socks2_server.log --unix-socket /tmp/curl-socksd-mJv5fmFV --backend 127.0.0.1 --config log/6/server.cmd RUN: SOCKS2 server is now running PID 157600 * pid socks5unix => 157600 157600 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/6/valgrind1468 ../src/curl -q --output log/6/curl1468.out --include --trace-ascii log/6/trace1468 --trace-time http://this.is.a.host.name:41595/1468 --proxy socks5h://localhost/tmp/curl-socksd-mJv5fmFV > log/6/stdout1468 2> log/6/stderr1468 1468: 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 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/6/valgrind1468 ../src/curl -q --output log/6/curl1468.out --include --trace-ascii log/6/trace1468 --trace-time http://this.is.a.host.name:41595/1468 --proxy socks5h://localhost/tmp/curl-socksd-mJv5fmFV > log/6/stdout1468 2> log/6/stderr1468 === End of file commands.log === Start of file http_server.log 19:01:45.637076 ====> Client connect 19:01:45.637117 accept_connection 3 returned 4 19:01:45.637137 accept_connection 3 returned 0 19:01:45.637151 Read 93 bytes 19:01:45.637163 Process 93 bytes request 19:01:45.637178 Got request: GET /verifiedserver HTTP/1.1 19:01:45.637191 Are-we-friendly question received 19:01:45.637217 Wrote request (93 bytes) input to log/6/server.input 19:01:45.637233 Identifying ourselves as friends 19:01:45.637290 Response sent (56 bytes) and written to log/6/server.response 19:01:45.637302 special request received, no persistency 19:01:45.637314 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 54516 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file socks2_server.log 19:01:45.642422 Running unix version 19:01:45.642478 Listening on Unix socket /tmp/curl-socksd-mJv5fmFV 19:01:45.642516 Wrote pid 157600 to log/6/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1468 ==159028== ==159028== Process terminating with default action of signal 4 (SIGILL) ==159028== Illegal opcode at address 0x4013E00 ==159028== at 0x4013E00: getparameter (tool_getparam.c:2846) ==159028== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==159028== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==159028== by 0x40037A4: 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/22/valgrind1495 ../src/curl -q --output log/22/curl1495.out --include --trace-ascii log/22/trace1495 --trace-time http://127.0.0.1:41061/1495 -D log/22/heads1495 > log/22/stdout1495 2> log/22/stderr1495 1495: 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 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/22/valgrind1495 ../src/curl -q --output log/22/curl1495.out --include --trace-ascii log/22/trace1495 --trace-time http://127.0.0.1:41061/1495 -D log/22/heads1495 > log/22/stdout1495 2> log/22/stderr1495 === End of file commands.log === Start of file http_server.log 19:01:46.694062 ====> Client connect 19:01:46.694102 accept_connection 3 returned 4 19:01:46.694118 accept_connection 3 returned 0 19:01:46.694133 Read 93 bytes 19:01:46.694144 Process 93 bytes request 19:01:46.694157 Got request: GET /verifiedserver HTTP/1.1 19:01:46.694167 Are-we-friendly question received 19:01:46.694192 Wrote request (93 bytes) input to log/22/server.input 19:01:46.694208 Identifying ourselves as friends 19:01:46.694261 Response sent (56 bytes) and written to log/22/server.response 19:01:46.694272 special request received, no persistency 19:01:46.694281 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 38226 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 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/17/valgrind1497 ../src/curl -q --output log/17/curl1497.out --include --trace-ascii log/17/trace1497 --trace-time http://127.0.0.1:40515/1497 --retry 3 -o /dev/null > log/17/stdout1497 2> log/17/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/13/valgrind1498 ../src/curl -q --output log/13/curl1498.out --include --trace-ascii log/13/trace1498 --trace-time http://127.0.0.1:35301/bzz/1498 -T . log/13/stdout1498 2> log/13/stderr1498 Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind1495 ==159130== ==159130== Process terminating with default action of signal 4 (SIGILL) ==159130== Illegal opcode at address 0x4013E00 ==159130== at 0x4013E00: getparameter (tool_getparam.c:2846) ==159130== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==159130== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==159130== by 0x40037A4: 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-C2UXJiPu --backend 127.0.0.1 --config log/24/server.cmd RUN: SOCKS2 server is now running PID 157504 * pid socks5unix => 157504 157504 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-C2UXJiPu http://127.0.0.1:39383/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-C2UXJiPu http://127.0.0.1:39383/1467 > log/24/stdout1467 2> log/24/stderr1467 === End of file commands.log === Start of file http_server.log 19:01:45.601407 ====> Client connect 19:01:45.601440 accept_connection 3 returned 4 19:01:45.601458 accept_connection 3 returned 0 19:01:45.601472 Read 93 bytes 19:01:45.601483 Process 93 bytes request 19:01:45.601496 Got request: GET /verifiedserver HTTP/1.1 19:01:45.601506 Are-we-friendly question received 19:01:45.601532 Wrote request (93 bytes) input to log/24/server.input 19:01:45.601549 Identifying ourselves as friends 19:01:45.601600 Response sent (56 bytes) and written to log/24/server.response 19:01:45.601611 special request received, no persistency 19:01:45.601621 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 47048 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file socks2_server.log 19:01:45.607796 Running unix version 19:01:45.607906 Listening on Unix socket /tmp/curl-socksd-C2UXJiPu 19:01:45.607949 Wrote pid 157504 to log/24/server/socks2_server.pid === End of file socks2_server.log === Start of file valgrind1467 ==158994== ==158994== Process terminating with default action of signal 4 (SIGILL) ==158994== Illegal opcode at address 0x4013E00 ==158994== at 0x4013E00: getparameter (tool_getparam.c:2846) ==158994== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==158994== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==158994== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1467 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/17/valgrind1497 ../src/curl -q --output log/17/curl1497.out --include --trace-ascii log/17/trace1497 --trace-time http://127.0.0.1:40515/1497 --retry 3 -o /dev/null > log/17/stdout1497 2> log/17/stderr1497 1497: 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 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/17/valgrind1497 ../src/curl -q --output log/17/curl1497.out --include --trace-ascii log/17/trace1497 --trace-time http://127.0.0.1:40515/1497 --retry 3 -o /dev/null > log/17/stdout1497 2> log/17/stderr1497 === End of file commands.log === Start of file http_server.log 19:01:48.028721 ====> Client connect 19:01:48.028757 accept_connection 3 returned 4 19:01:48.028775 accept_connection 3 returned 0 19:01:48.028792 Read 93 bytes 19:01:48.028803 Process 93 bytes request 19:01:48.028818 Got request: GET /verifiedserver HTTP/1.1 19:01:48.028829 Are-we-friendly question received 19:01:48.028855 Wrote request (93 bytes) input to log/17/server.input 19:01:48.028874 Identifying ourselves as friends 19:01:48.028932 Response sent (56 bytes) and written to log/17/server.response 19:01:48.028944 special request received, no persistency 19:01:48.028955 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 39784 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === End of file http_verify.out === Start of file server.cmd Testnum 1497 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74424 === End of file server.response === Start of file valgrind1497 ==159283== ==159283== Process terminating with default action of signal 4 (SIGILL) ==159283== Illegal opcode at address 0x4013E00 ==159283== at 0x4013E00: getparameter (tool_getparam.c:2846) ==159283== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==159283== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==159283== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1497 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/13/valgrind1498 ../src/curl -q --output log/13/curl1498.out --include --trace-ascii log/13/trace1498 --trace-time http://127.0.0.1:35301/bzz/1498 -T . log/13/stdout1498 2> log/13/stderr1498 1498: 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 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/13/valgrind1498 ../src/curl -q --output log/13/curl1498.out --include --trace-asCMD (33792): ../libtool --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/valgrind1499 ../src/curl -q --output log/4/curl1499.out --include --trace-ascii log/4/trace1499 --trace-time http://127.0.0.1:37985/1499 http://127.0.0.1:37985/1499 -D log/4/heads1499 > log/4/stdout1499 2> log/4/stderr1499 cii log/13/trace1498 --trace-time http://127.0.0.1:35301/bzz/1498 -T . log/13/stdout1498 2> log/13/stderr1498 === End of file commands.log === Start of file http_server.log 19:01:47.193782 ====> Client connect 19:01:47.193835 accept_connection 3 returned 4 19:01:47.193855 accept_connection 3 returned 0 19:01:47.193875 Read 93 bytes 19:01:47.193889 Process 93 bytes request 19:01:47.193909 Got request: GET /verifiedserver HTTP/1.1 19:01:47.193921 Are-we-friendly question received 19:01:47.193956 Wrote request (93 bytes) input to log/13/server.input 19:01:47.193978 Identifying ourselves as friends 19:01:47.194052 Response sent (56 bytes) and written to log/13/server.response 19:01:47.194063 special request received, no persistency 19:01:47.194072 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 46650 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file stdin-for-1498 hejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhejhej === End of file stdin-for-1498 === Start of file valgrind1498 ==159374== ==159374== Process terminating with default action of signal 4 (SIGILL) ==159374== Illegal opcode at address 0x4013E00 ==159374== at 0x4013E00: getparameter (tool_getparam.c:2846) ==159374== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==159374== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==159374== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1498 test 1499...[HTTP chunked encoding and chunked trailer, twice] ../libtool --mode=execute /usr/bin/CMD (33792): ../libtool --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/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:37879/1500 > log/10/stdout1500 2> log/10/stderr1500 valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind1499 ../src/curl -q --output log/4/curl1499.out --include --trace-ascii log/4/trace1499 --trace-time http://127.0.0.1:37985/1499 http://127.0.0.1:37985/1499 -D log/4/heads1499 > log/4/stdout1499 2> log/4/stderr1499 1499: 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 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/4/valgrind1499 ../src/curl -q --output log/4/curl1499.out --include --trace-ascii log/4/trace1499 --trace-time http://127.0.0.1:37985/1499 http://127.0.0.1:37985/1499 -D log/4/heads1499 > log/4/stdout1499 2> log/4/stderr1499 === End of file commands.log === Start of file http_server.log 19:01:48.215699 ====> Client connect 19:01:48.215739 accept_connection 3 returned 4 19:01:48.215758 accept_connection 3 returned 0 19:01:48.215774 Read 93 bytes 19:01:48.215785 Process 93 bytes request 19:01:48.215801 Got request: GET /verifiedserver HTTP/1.1 19:01:48.215812 Are-we-friendly question received 19:01:48.215837 Wrote request (93 bytes) input to log/4/server.input 19:01:48.215855 Identifying ourselves as friends 19:01:48.215917 Response sent (56 bytes) and written to log/4/server.response 19:01:48.215929 special request received, no persistency 19:01:48.215939 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 44250 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind1499 ==159421== ==159421== Process terminating with default action of signal 4 (SIGILL) ==159421== Illegal opcode at address 0x4013E00 ==159421== at 0x4013E00: getparameter (tool_getparam.c:2846) ==159421== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==159421== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==159421== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1499 CMD (33792): ../libtool --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/valgrind1503 ./libtest/libtests lib1502 http://google.com:46317/1503 46317 127.0.0.1 > log/11/stdout1503 2> log/11/stderr1503 CMD (33792): ../libtool --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/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:36447/1507 log/7/stdout1507 2> log/7/stderr1507 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/10/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:37879/1500 > log/10/stdout1500 2> log/10/stderr1500 1500: data FAILED: --- log/10/check-expected 2025-11-13 19:01:48.412725011 +0000 +++ log/10/check-generated 2025-11-13 19:01:48.412725011 +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/10/ 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/10/valgrind1500 ./libtest/libtests lib1500 http://127.0.0.1:37879/1500 > log/10/stdout1500 2> log/10/stderr1500 === End of file commands.log === Start of file http_server.log 19:01:47.229964 ====> Client connect 19:01:47.229995 accept_connection 3 returned 4 19:01:47.230010 accept_connection 3 returned 0 19:01:47.230024 Read 93 bytes 19:01:47.230035 Process 93 bytes request 19:01:47.230048 Got request: GET /verifiedserver HTTP/1.1 19:01:47.230057 Are-we-friendly question received 19:01:47.230080 Wrote request (93 bytes) input to log/10/server.input 19:01:47.230097 Identifying ourselves as friends 19:01:47.230145 Response sent (56 bytes) and written to log/10/server.response 19:01:47.230155 special request received, no persistency 19:01:47.230165 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 35158 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file stderr1500 URL: http://127.0.0.1:37879/1500 === End of file stderr1500 === Start of file valgrind1500 ==159449== ==159449== Process terminating with default action of signal 4 (SIGILL) ==159449== Illegal opcode at address 0x519E800 ==159449== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==159449== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==159449== by 0x519E800: Curl_multi_handle (multi.c:247) ==159449== by 0x4028B40: UnknownInlinedFun (lib1500.c:41) ==159449== by 0x4028B40: test_lib1500.lto_priv.0 (lib1500.c:28) ==159449== by 0x400347F: main (first.c:280) ==159449== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==159449== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159449== by 0x519E794: Curl_multi_handle (multi.c:239) ==159449== by 0x4028B40: UnknownInlinedFun (lib1500.c:41) ==159449== by 0x4028B40: test_lib1500.lto_priv.0 (lib1500.c:28) ==159449== by 0x400347F: main (first.c:280) ==159449== === End of file valgrind1500 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/11/valgrind1503 ./libtest/libtests lib1502 http://google.com:46317/1503 46317 127.0.0.1 > log/11/stdout1503 2> log/11/stderr1503 1503: 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 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/11/valgrind1503 ./libtest/libtests lib1502 http://google.com:46317/1503 46317 127.0.0.1 > log/11/stdout1503 2> log/11/stderr1503 === End of file commands.log === Start of file http_server.log 19:01:47.288141 ====> Client connect 19:01:47.288190 accept_connection 3 returned 4 19:01:47.288212 accept_connection 3 returned 0 19:01:47.288234 Read 93 bytes 19:01:47.288250 Process 93 bytes request 19:01:47.288267 Got request: GET /verifiedserver HTTP/1.1 19:01:47.288279 Are-we-friendly question received 19:01:47.288308 Wrote request (93 bytes) input to log/11/server.input 19:01:47.288330 Identifying ourselves as friends 19:01:47.288391 Response sent (56 bytes) and written to log/11/server.response 19:01:47.288404 special request received, no persistency 19:01:47.288415 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 39534 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file stderr1503 URL: http://google.com:46317/1503 === End of file stderr1503 === Start of file valgrind1503 ==159632== ==159632== Process terminating with default action of signal 4 (SIGILL) ==159632== Illegal opcode at address 0x51D5F1F ==159632== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159632== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159632== by 0x51D5F1F: Curl_open (url.c:525) ==159632== by 0x514F6EF: curl_easy_init (easy.c:371) ==159632== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159632== by 0x400347F: main (first.c:280) ==159632== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 529 of 647 ==159632== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==159632== by 0x51C1329: UnknownInlinedFun (slist.c:68) ==159632== by 0x51C1329: curl_slist_append (slist.c:99) ==159632== by 0x405F20F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==159632== by 0x400347F: main (first.c:280) ==159632== ==159632== 5,384 bytes in 1 blocks are definitely lost in loss record 645 of 647 ==159632== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159632== by 0x51D5EBD: Curl_open (url.c:504) ==159632== by 0x514F6EF: curl_easy_init (easy.c:371) ==159632== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159632== by 0x400347F: main (first.c:280) ==159632== === End of file valgrind1503 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/7/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:36447/1507 log/7/stdout1507 2> log/7/stderr1507 1507: 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 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/20/valgrind1502 ./libtest/libtests lib1502 http://google.com:38583/1502 38583 127.0.0.1 > log/20/stdout1502 2> log/20/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/14/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:35357/1501/ > log/14/stdout1501 2> log/14/stderr1501 * kill pid for ftp-ctrl => 80670 RUN: Process with pid 80651 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/19/valgrind1504 ./libtest/libtests lib1502 http://google.com:41761/1504 41761 127.0.0.1 > log/19/stdout1504 2> log/19/stderr1504 og/7/ 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/7/valgrind1507 ./libtest/libtests lib1507 smtp://127.0.0.1:36447/1507 log/7/stdout1507 2> log/7/stderr1507 === End of file commands.log === Start of file server.cmd Testnum 1507 === End of file server.cmd === Start of file smtp_server.log 19:01:47.535008 ====> Client connect 19:01:47.535136 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:47.535417 < "EHLO verifiedserver" 19:01:47.535461 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:47.535633 < "HELP" 19:01:47.535668 > "214 WE ROOLZ: 124441[CR][LF]" 19:01:47.535683 return proof we are we 19:01:47.535907 < "QUIT" 19:01:47.535932 > "221 curl ESMTP server signing off[CR][LF]" 19:01:47.536511 MAIN sockfilt said DISC 19:01:47.536532 ====> Client disconnected 19:01:47.536578 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:47.306959 ====> Client connect 19:01:47.307200 Received DATA (on stdin) 19:01:47.307216 > 160 bytes data, server => client 19:01:47.307230 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:47.307242 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:47.307253 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:47.307322 < 21 bytes data, client => server 19:01:47.307336 'EHLO verifiedserver\r\n' 19:01:47.307519 Received DATA (on stdin) 19:01:47.307532 > 53 bytes data, server => client 19:01:47.307543 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:47.307595 < 6 bytes data, client => server 19:01:47.307606 'HELP\r\n' 19:01:47.307739 Received DATA (on stdin) 19:01:47.307754 > 22 bytes data, server => client 19:01:47.307765 '214 WE ROOLZ: 124441\r\n' 19:01:47.307873 < 6 bytes data, client => server 19:01:47.307888 'QUIT\r\n' 19:01:47.307985 Received DATA (on stdin) 19:01:47.307997 > 35 bytes data, server => client 19:01:47.308008 '221 curl ESMTP server signing off\r\n' 19:01:47.308521 ====> Client disconnect 19:01:47.308628 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1507 URL: smtp://127.0.0.1:36447/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 ==159708== ==159708== Process terminating with default action of signal 4 (SIGILL) ==159708== Illegal opcode at address 0x51D5F1F ==159708== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159708== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159708== by 0x51D5F1F: Curl_open (url.c:525) ==159708== by 0x514F6EF: curl_easy_init (easy.c:371) ==159708== by 0x402D20B: test_lib1507.lto_priv.0 (lib1507.c:50) ==159708== by 0x400347F: main (first.c:280) ==159708== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==159708== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159708== by 0x51D5EBD: Curl_open (url.c:504) ==159708== by 0x514F6EF: curl_easy_init (easy.c:371) ==159708== by 0x402D20B: test_lib1507.lto_priv.0 (lib1507.c:50) ==159708== by 0x400347F: main (first.c:280) ==159708== === End of file valgrind1507 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/20/valgrind1502 ./libtest/libtests lib1502 http://google.com:38583/1502 38583 127.0.0.1 > log/20/stdout1502 2> log/20/stderr1502 1502: 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 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/20/valgrind1502 ./libtest/libtests lib1502 http://google.com:38583/1502 38583 127.0.0.1 > log/20/stdout1502 2> log/20/stderr1502 === End of file commands.log === Start of file http_server.log 19:01:47.283431 ====> Client connect 19:01:47.283473 accept_connection 3 returned 4 19:01:47.283490 accept_connection 3 returned 0 19:01:47.283506 Read 93 bytes 19:01:47.283516 Process 93 bytes request 19:01:47.283530 Got request: GET /verifiedserver HTTP/1.1 19:01:47.283540 Are-we-friendly question received 19:01:47.283563 Wrote request (93 bytes) input to log/20/server.input 19:01:47.283578 Identifying ourselves as friends 19:01:47.283634 Response sent (56 bytes) and written to log/20/server.response 19:01:47.283644 special request received, no persistency 19:01:47.283654 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 56510 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.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:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file stderr1502 URL: http://google.com:38583/1502 === End of file stderr1502 === Start of file valgrind1502 ==159605== ==159605== Process terminating with default action of signal 4 (SIGILL) ==159605== Illegal opcode at address 0x51D5F1F ==159605== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159605== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159605== by 0x51D5F1F: Curl_open (url.c:525) ==159605== by 0x514F6EF: curl_easy_init (easy.c:371) ==159605== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159605== by 0x400347F: main (first.c:280) ==159605== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 529 of 647 ==159605== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==159605== by 0x51C1329: UnknownInlinedFun (slist.c:68) ==159605== by 0x51C1329: curl_slist_append (slist.c:99) ==159605== by 0x405F20F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==159605== by 0x400347F: main (first.c:280) ==159605== ==159605== 5,384 bytes in 1 blocks are definitely lost in loss record 645 of 647 ==159605== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159605== by 0x51D5EBD: Curl_open (url.c:504) ==159605== by 0x514F6EF: curl_easy_init (easy.c:371) ==159605== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159605== by 0x400347F: main (first.c:280) ==159605== === End of file valgrind1502 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/19/valgrind1504 ./libtest/libtests lib1502 http://google.com:41761/1504 41761 127.0.0.1 > log/19/stdout1504 2> log/19/stderr1504 1504: 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 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/19/valgrind1504 ./libtest/libtests lib1502 http://google.com:41761/1504 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/8/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 43853 > log/8/stdout1506 2> log/8/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/5/valgrind1508 ./libtest/libtests lib1508 - > log/5/stdout1508 2> log/5/stderr1508 1761 127.0.0.1 > log/19/stdout1504 2> log/19/stderr1504 === End of file commands.log === Start of file http_server.log 19:01:47.295116 ====> Client connect 19:01:47.295151 accept_connection 3 returned 4 19:01:47.295168 accept_connection 3 returned 0 19:01:47.295183 Read 93 bytes 19:01:47.295192 Process 93 bytes request 19:01:47.295206 Got request: GET /verifiedserver HTTP/1.1 19:01:47.295216 Are-we-friendly question received 19:01:47.295240 Wrote request (93 bytes) input to log/19/server.input 19:01:47.295257 Identifying ourselves as friends 19:01:47.295316 Response sent (56 bytes) and written to log/19/server.response 19:01:47.295326 special request received, no persistency 19:01:47.295335 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 56908 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file stderr1504 URL: http://google.com:41761/1504 === End of file stderr1504 === Start of file valgrind1504 ==159664== ==159664== Process terminating with default action of signal 4 (SIGILL) ==159664== Illegal opcode at address 0x51D5F1F ==159664== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159664== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159664== by 0x51D5F1F: Curl_open (url.c:525) ==159664== by 0x514F6EF: curl_easy_init (easy.c:371) ==159664== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159664== by 0x400347F: main (first.c:280) ==159664== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 529 of 647 ==159664== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==159664== by 0x51C1329: UnknownInlinedFun (slist.c:68) ==159664== by 0x51C1329: curl_slist_append (slist.c:99) ==159664== by 0x405F20F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==159664== by 0x400347F: main (first.c:280) ==159664== ==159664== 5,384 bytes in 1 blocks are definitely lost in loss record 645 of 647 ==159664== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159664== by 0x51D5EBD: Curl_open (url.c:504) ==159664== by 0x514F6EF: curl_easy_init (easy.c:371) ==159664== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==159664== by 0x400347F: main (first.c:280) ==159664== === End of file valgrind1504 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/8/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 43853 > log/8/stdout1506 2> log/8/stderr1506 1506: 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 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/8/valgrind1506 ./libtest/libtests lib1506 - 127.0.0.1 43853 > log/8/stdout1506 2> log/8/stderr1506 === End of file commands.log === Start of file http_server.log 19:01:47.307050 ====> Client connect 19:01:47.307074 accept_connection 3 returned 4 19:01:47.307088 accept_connection 3 returned 0 19:01:47.307100 Read 93 bytes 19:01:47.307109 Process 93 bytes request 19:01:47.307120 Got request: GET /verifiedserver HTTP/1.1 19:01:47.307128 Are-we-friendly question received 19:01:47.307148 Wrote request (93 bytes) input to log/8/server.input 19:01:47.307162 Identifying ourselves as friends 19:01:47.307203 Response sent (56 bytes) and written to log/8/server.response 19:01:47.307212 special request received, no persistency 19:01:47.307220 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 56552 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file stderr1506 URL: - === End of file stderr1506 === Start of file valgrind1506 ==159761== ==159761== Process terminating with default action of signal 4 (SIGILL) ==159761== Illegal opcode at address 0x519E800 ==159761== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==159761== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==159761== by 0x519E800: Curl_multi_handle (multi.c:247) ==159761== by 0x402C8BB: test_lib1506.lto_priv.0 (lib1506.c:60) ==159761== by 0x400347F: main (first.c:280) ==159761== 712 bytes in 1 blocks are definitely lost in loss record 614 of 648 ==159761== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159761== by 0x519E794: Curl_multi_handle (multi.c:239) ==159761== by 0x402C8BB: test_lib1506.lto_priv.0 (lib1506.c:60) ==159761== by 0x400347F: main (first.c:280) ==159761== === End of file valgrind1506 RUN: Process with pid 80651 gracefully died 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/5/valgrind1508 ./libtest/libtests lib1508 - > log/5/stdout1508 2> log/5/stderr1508 1508: output (log/5/stdout1508) FAILED: --- log/5/check-expected 2025-11-13 19:01:48.509391677 +0000 +++ log/5/check-generated 2025-11-13 19:01:48.509391677 +0000 @@ -1 +0,0 @@ -We are done[LF] == Contents of files in the log/5/ 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/5/valgrind1508 ./libtest/libtests lib1508 - > log/5/stdout1508 2> log/5/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 ==159886== ==159886== Process terminating with default action of signal 4 (SIGILL) ==159886== Illegal opcode at address 0x519E800 ==159886== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==159886== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==159886== by 0x519E800: Curl_multi_handle (multi.c:247) ==159886== by 0x402C5E3: UnknownInlinedFun (lib1508.c:37) ==159886== by 0x402C5E3: test_lib1508.lto_priv.0 (lib1508.c:28) ==159886== by 0x400347F: main (first.c:280) ==159886== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==159886== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159886== by 0x519E794: Curl_multi_handle (multi.c:239) ==159886== by 0x402C5E3: UnknownInlinedFun (lib1508.c:37) ==159886== by 0x402C5E3: test_lib1508.lto_priv.0 (lib1508.c:28) ==159886== by 0x400347F: main (first.c:280) ==159886== === End of file valgrind1508 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/14/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:35357/1501/ > log/14/stdout1501 2> log/14/stderr1501 1501: 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 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/14/valgrind1501 ./libtest/libtests lib1501 ftp://127.0.0.1:35357/1501/ > log/14/stdout1501 2> log/14/stderr1501 === End of file commands.log === Start of file ftp_server.log 19:01:47.475232 ====> Client connect 19:01:47.475425 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:47.475778 < "USER anonymous" 19:01:47.475824 > "331 We are happy you popped in![CR][LF]" 19:01:47.476025 < "PASS ftp@example.com" 19:01:47.476058 > "230 Welcome you silly person[CR][LF]" 19:01:47.476231 < "PWD" 19:01:47.476267 > "257 "/" is current directory[CR][LF]" 19:01:47.476447 < "EPSV" 19:01:47.476473 ====> Passive DATA channel requested by client 19:01:47.476489 DATA sockfilt for passive data channel starting... 19:01:47.478234 DATA sockfilt for passive data channel started (pid 159491) 19:01:47.478377 DATA sockfilt for passive data channel listens on port 35507 19:01:47.478429 > "229 Entering Passive Mode (|||35507|)[CR][LF]" 19:01:47.478449 Client has been notified that DATA conn will be accepted on port 35507 19:01:47.478756 Client connects to port 35507 19:01:47.478792 ====> Client established passive DATA connection on port 35507 19:01:47.478888 < "TYPE I" 19:01:47.478925 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:47.479095 < "SIZE verifiedserver" 19:01:47.479132 > "213 17[CR][LF]" 19:01:47.479250 < "RETR verifiedserver" 19:01:47.479274 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:47.479340 =====> Closing passive DATA connection... 19:01:47.479352 Server disconnects passive DATA connection 19:01:47.479537 Server disconnected passive DATA connection 19:01:47.479582 DATA sockfilt for passive data channel quits (pid 159491) 19:01:47.479813 DATA sockfilt for passive data channel quit (pid 159491) 19:01:47.479835 =====> Closed passive DATA connection 19:01:47.479858 > "226 File transfer complete[CR][LF]" 19:01:47.522361 < "QUIT" 19:01:47.522433 > "221 bye bye baby[CR][LF]" 19:01:47.523421 MAIN sockfilt said DISC 19:01:47.523455 ====> Client disconnected 19:01:47.523517 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:48.247159 ====> Client connect 19:01:48.247511 Received DATA (on stdin) 19:01:48.247531 > 160 bytes data, server => client 19:01:48.247546 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:48.247559 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:48.247571 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:48.247667 < 16 bytes data, client => server 19:01:48.247682 'USER anonymous\r\n' 19:01:48.247885 Received DATA (on stdin) 19:01:48.247900 > 33 bytes data, server => client 19:01:48.247914 '331 We are happy you popped in!\r\n' 19:01:48.247973 < 22 bytes data, client => server 19:01:48.247988 'PASS ftp@example.com\r\n' 19:01:48.248116 Received DATA (on stdin) 19:01:48.248130 > 30 bytes data, server => client 19:01:48.248143 '230 Welcome you silly person\r\n' 19:01:48.248194 < 5 bytes data, client => server 19:01:48.248207 'PWD\r\n' 19:01:48.248323 Received DATA (on stdin) 19:01:48.248337 > 30 bytes data, server => client 19:01:48.248350 '257 "/" is current directory\r\n' 19:01:48.248411 < 6 bytes data, client => server 19:01:48.248424 'EPSV\r\n' 19:01:48.250514 Received DATA (on stdin) 19:01:48.250532 > 39 bytes data, server => client 19:01:48.250545 '229 Entering Passive Mode (|||35507|)\r\n' 19:01:48.250705 < 8 bytes data, client => server 19:01:48.250723 'TYPE I\r\n' 19:01:48.250985 Received DATA (on stdin) 19:01:48.250999 > 33 bytes data, server => client 19:01:48.251011 '200 I modify TYPE as you wanted\r\n' 19:01:48.251068 < 21 bytes data, client => server 19:01:48.251080 'SIZE verifiedserver\r\n' 19:01:48.251181 Received DATA (on stdin) 19:01:48.251191 > 8 bytes data, server => client 19:01:48.251199 '213 17\r\n' 19:01:48.251237 < 21 bytes data, client => server 19:01:48.251246 'RETR verifiedserver\r\n' 19:01:48.251402 Received DATA (on stdin) 19:01:48.251412 > 29 bytes data, server => client 19:01:48.251420 '150 Binary junk (17 bytes).\r\n' 19:01:48.251909 Received DATA (on stdin) 19:01:48.251920 > 28 bytes data, server => client 19:01:48.251929 '226 File transfer complete\r\n' 19:01:48.294245 < 6 bytes data, client => server 19:01:48.294270 'QUIT\r\n' 19:01:48.294499 Received DATA (on stdin) 19:01:48.294515 > 18 bytes data, server => client 19:01:48.294527 '221 bye bye baby\r\n' 19:01:48.295416 ====> Client disconnect 19:01:48.295568 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:47.250089 Running IPv4 version 19:01:47.250156 Listening on port 35507 19:01:47.250195 Wrote pid 159491 to log/14/server/ftp_sockdata.pid 19:01:47.250217 Received PING (on stdin) 19:01:47.250335 Received PORT (on stdin) 19:01:47.250748 ====> Client connect 19:01:47.251440 Received DATA (on stdin) 19:01:47.251451 > 17 bytes data, server => client 19:01:47.251460 'WE ROOLZ: 80651\r\n' 19:01:47.251479 Received DISC (on stdin) 19:01:47.251488 ====> Client forcibly disconnected 19:01:47.251644 Received QUIT (on stdin) 19:01:47.251656 quits 19:01:47.251712 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file 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/23/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 35243 > log/23/stdout1510 2> log/23/stderr1510 CMD (33792): ../libtool --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/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:40353/1513 > log/1/stdout1513 2> log/1/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/18/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:39771/1511 > log/18/stdout1511 2> log/18/stderr1511 CMD (33792): ../libtool --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/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:46819/1509 127.0.0.1:45439 > log/12/stdout1509 2> log/12/stderr1509 er.cmd DELAY LIST 2 DELAY TYPE 2 Testnum 1501 === End of file server.cmd === Start of file stderr1501 URL: ftp://127.0.0.1:35357/1501/ === End of file stderr1501 === Start of file valgrind1501 ==159657== ==159657== Process terminating with default action of signal 4 (SIGILL) ==159657== Illegal opcode at address 0x51D5F1F ==159657== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==159657== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==159657== by 0x51D5F1F: Curl_open (url.c:525) ==159657== by 0x514F6EF: curl_easy_init (easy.c:371) ==159657== by 0x402B4F9: test_lib1501.lto_priv.0 (lib1501.c:44) ==159657== by 0x400347F: main (first.c:280) ==159657== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==159657== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==159657== by 0x51D5EBD: Curl_open (url.c:504) ==159657== by 0x514F6EF: curl_easy_init (easy.c:371) ==159657== by 0x402B4F9: test_lib1501.lto_priv.0 (lib1501.c:44) ==159657== by 0x400347F: main (first.c:280) ==159657== === End of file valgrind1501 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/23/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 35243 > log/23/stdout1510 2> log/23/stderr1510 1510: 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 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/23/valgrind1510 ./libtest/libtests lib1510 - 127.0.0.1 35243 > log/23/stdout1510 2> log/23/stderr1510 === End of file commands.log === Start of file http_server.log 19:01:47.471616 ====> Client connect 19:01:47.471641 accept_connection 3 returned 4 19:01:47.471655 accept_connection 3 returned 0 19:01:47.471667 Read 93 bytes 19:01:47.471676 Process 93 bytes request 19:01:47.471687 Got request: GET /verifiedserver HTTP/1.1 19:01:47.471695 Are-we-friendly question received 19:01:47.471713 Wrote request (93 bytes) input to log/23/server.input 19:01:47.471727 Identifying ourselves as friends 19:01:47.471769 Response sent (56 bytes) and written to log/23/server.response 19:01:47.471778 special request received, no persistency 19:01:47.471786 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 52838 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 17 WE ROOLZ: 74418 === End of file server.response === Start of file stderr1510 URL: - === End of file stderr1510 === Start of file valgrind1510 ==160034== ==160034== Process terminating with default action of signal 4 (SIGILL) ==160034== Illegal opcode at address 0x51D5F1F ==160034== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160034== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160034== by 0x51D5F1F: Curl_open (url.c:525) ==160034== by 0x514F6EF: curl_easy_init (easy.c:371) ==160034== by 0x402D8DE: test_lib1510.lto_priv.0 (lib1510.c:61) ==160034== by 0x400347F: main (first.c:280) ==160034== 5,384 bytes in 1 blocks are definitely lost in loss record 646 of 648 ==160034== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160034== by 0x51D5EBD: Curl_open (url.c:504) ==160034== by 0x514F6EF: curl_easy_init (easy.c:371) ==160034== by 0x402D8DE: test_lib1510.lto_priv.0 (lib1510.c:61) ==160034== by 0x400347F: main (first.c:280) ==160034== === End of file valgrind1510 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/1/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:40353/1513 > log/1/stdout1513 2> log/1/stderr1513 1513: stdout FAILED: --- log/1/check-expected 2025-11-13 19:01:48.652725013 +0000 +++ log/1/check-generated 2025-11-13 19:01:48.652725013 +0000 @@ -1 +0,0 @@ -PROGRESSFUNCTION called[LF] == Contents of files in the log/1/ 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/1/valgrind1513 ./libtest/libtests lib1513 http://127.0.0.1:40353/1513 > log/1/stdout1513 2> log/1/stderr1513 === End of file commands.log === Start of file http_server.log 19:01:47.505603 ====> Client connect 19:01:47.505637 accept_connection 3 returned 4 19:01:47.505654 accept_connection 3 returned 0 19:01:47.505783 Read 93 bytes 19:01:47.505796 Process 93 bytes request 19:01:47.505810 Got request: GET /verifiedserver HTTP/1.1 19:01:47.505820 Are-we-friendly question received 19:01:47.505845 Wrote request (93 bytes) input to log/1/server.input 19:01:47.505862 Identifying ourselves as friends 19:01:47.505911 Response sent (56 bytes) and written to log/1/server.response 19:01:47.505921 special request received, no persistency 19:01:47.505930 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 55886 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file stderr1513 URL: http://127.0.0.1:40353/1513 === End of file stderr1513 === Start of file valgrind1513 ==160159== ==160159== Process terminating with default action of signal 4 (SIGILL) ==160159== Illegal opcode at address 0x51D5F1F ==160159== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160159== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160159== by 0x51D5F1F: Curl_open (url.c:525) ==160159== by 0x514F6EF: curl_easy_init (easy.c:371) ==160159== by 0x402E08C: UnknownInlinedFun (lib1513.c:57) ==160159== by 0x402E08C: test_lib1513.lto_priv.0 (lib1513.c:50) ==160159== by 0x400347F: main (first.c:280) ==160159== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160159== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160159== by 0x51D5EBD: Curl_open (url.c:504) ==160159== by 0x514F6EF: curl_easy_init (easy.c:371) ==160159== by 0x402E08C: UnknownInlinedFun (lib1513.c:57) ==160159== by 0x402E08C: test_lib1513.lto_priv.0 (lib1513.c:50) ==160159== by 0x400347F: main (first.c:280) ==160159== === End of file valgrind1513 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/12/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:46819/1509 127.0.0.1:45439 > log/12/stdout1509 2> log/12/stderr1509 1509: 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 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/12/valgrind1509 ./libtest/libtests lib1509 http://the.old.moo.1509:46819/1509 127.0.0.1:45439 > log/12/stdout1509 2> log/12/stderr1509 === End of file commands.log === Start of file http2_server.log 19:01:47.476292 ====> Client connect 19:01:47.476319 accept_connection 3 returned 4 19:01:47.476333 accept_connection 3 returned 0 19:01:47.476344 Read 93 bytes 19:01:47.476353 Process 93 bytes request 19:01:47.476363 Got request: GET /verifiedserver HTTP/1.1 19:01:47.476371 Are-we-friendly question received 19:01:47.476393 Wrote request (93 bytes) input to log/12/proxy.input 19:01:47.476412 Identifying ourselves as friends 19:01:47.476461 Response sent (56 bytes) and written to log/12/proxy.response 19:01:47.476472 special request received, no persistency 19:01:47.476480 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:45439... * Established connection to 127.0.0.1 (127.0.0.1 port 45439) from 127.0.0.1 port 48674 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:45439 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:45439 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79267 === End of file http2_verify.out === Start of file http_server.log 19:01:47.461390 ====> Client connect 19:01:47.461417 accept_connection 3 returned 4 19:01:47.461431 accept_connection 3 returned 0 19:01:47.461444 Read 93 bytes 19:01:47.461453 Process 93 bytes request 19:01:47.461465 Got request: GET /verifiedserver HTTP/1.1 19:01:47.461474 Are-we-friendly question received 19:01:47.461499 Wrote request (93 bytes) input to log/12/server.input 19:01:47.461518 Identifying ourselves as friends 19:01:47.461579 Response sent (56 bytes) and written to log/12/server.response 19:01:47.461591 special request received, no persistency 19:01:47.461601 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 49754 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79267 === 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: 76272 === End of file server.response === Start of file stderr1509 URL: http://the.old.moo.1509:46819/1509 === End of file stderr1509 === Start of file test1509.txt foo bar bar foo moo === End of file test1509.txt === Start of file valgrind1509 ==160038== ==160038== Process terminating with default action of signal 4 (SIGILL) ==160038== Illegal opcode at address 0x51D5F1F ==160038== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160038== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160038== by 0x51D5F1F: Curl_open (url.c:525) ==160038== by 0x514F6EF: curl_easy_init (easy.c:371) ==160038== by 0x402FF59: UnknownInlinedFun (lib1509.c:42) ==160038== by 0x402FF59: test_lib1509.lto_priv.0 (lib1509.c:33) ==160038== by 0x400347F: main (first.c:280) ==160038== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160038== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160038== by 0x51D5EBD: Curl_open (url.c:504) ==160038== by 0x514F6EF: curl_easy_init (easy.c:371) ==160038== by 0x402FF59: UnknownInlinedFun (lib1509.c:42) ==160038== by 0x402FF59: test_lib1509.lto_priv.0 (lib1509.c:33) ==160038== by 0x400347F: main (first.c:280) ==160038== === End of file valgrind1509 CMD (33792): ../libtool --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/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:35043/1514 > log/21/stdout1514 2> log/21/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/2/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 46047 > log/2/stdout1515 2> log/2/stderr1515 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/18/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:39771/1511 > log/18/stdout1511 2> log/18/stderr1511 1511: data FAILED: --- log/18/check-expected 2025-11-13 19:01:48.659391679 +0000 +++ log/18/check-generated 2025-11-13 19:01:48.659391679 +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/18/ 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/18/valgrind1511 ./libtest/libtests lib1511 http://127.0.0.1:39771/1511 > log/18/stdout1511 2> log/18/stderr1511 === End of file commands.log === Start of file http_server.log 19:01:47.477272 ====> Client connect 19:01:47.477306 accept_connection 3 returned 4 19:01:47.477324 accept_connection 3 returned 0 19:01:47.477338 Read 93 bytes 19:01:47.477349 Process 93 bytes request 19:01:47.477361 Got request: GET /verifiedserver HTTP/1.1 19:01:47.477372 Are-we-friendly question received 19:01:47.477399 Wrote request (93 bytes) input to log/18/server.input 19:01:47.477416 Identifying ourselves as friends 19:01:47.477486 Response sent (56 bytes) and written to log/18/server.response 19:01:47.477498 special request received, no persistency 19:01:47.477508 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 38258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file stderr1511 URL: http://127.0.0.1:39771/1511 === End of file stderr1511 === Start of file valgrind1511 ==160056== ==160056== Process terminating with default action of signal 4 (SIGILL) ==160056== Illegal opcode at address 0x51D5F1F ==160056== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160056== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160056== by 0x51D5F1F: Curl_open (url.c:525) ==160056== by 0x514F6EF: curl_easy_init (easy.c:371) ==160056== by 0x40302B9: UnknownInlinedFun (lib1511.c:36) ==160056== by 0x40302B9: test_lib1511.lto_priv.0 (lib1511.c:28) ==160056== by 0x400347F: main (first.c:280) ==160056== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160056== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160056== by 0x51D5EBD: Curl_open (url.c:504) ==160056== by 0x514F6EF: curl_easy_init (easy.c:371) ==160056== by 0x40302B9: UnknownInlinedFun (lib1511.c:36) ==160056== by 0x40302B9: test_lib1511.lto_priv.0 (lib1511.c:28) ==160056== by 0x400347F: main (first.c:280) ==160056== === End of file valgrind1511 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/21/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:35043/1514 > log/21/stdout1514 2> log/21/stderr1514 1514: 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 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/21/valgrind1514 ./libtest/libtests lib1514 http://127.0.0.1:35043/1514 > log/21/stdout1514 2> log/21/stderr1514 === End of file commands.log === Start of file http_server.log 19:01:47.533846 ====> Client connect 19:01:47.533895 accept_connection 3 returned 4 19:01:47.533915 accept_connection 3 returned 0 19:01:47.533932 Read 93 bytes 19:01:47.533944 Process 93 bytes request 19:01:47.533959 Got request: GET /verifiedserver HTTP/1.1 19:01:47.533969 Are-we-friendly question received 19:01:47.533997 Wrote request (93 bytes) input to log/21/server.input 19:01:47.534015 Identifying ourselves as friends 19:01:47.534078 Response sent (56 bytes) and written to log/21/server.response 19:01:47.534111 special request received, no persistency 19:01:47.534121 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 37676 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file stderr1514 URL: http://127.0.0.1:35043/1514 === End of file stderr1514 === Start of file valgrind1514 ==160253== ==160253== Process terminating with default action of signal 4 (SIGILL) ==160253== Illegal opcode at address 0x51D5F1F ==160253== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160253== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160253== by 0x51D5F1F: Curl_open (url.c:525) ==160253== by 0x514F6EF: curl_easy_init (easy.c:371) ==160253== by 0x402E30C: test_lib1514.lto_priv.0 (lib1514.c:66) ==160253== by 0x400347F: main (first.c:280) ==160253== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160253== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160253== by 0x51D5EBD: Curl_open (url.c:504) ==160253== by 0x514F6EF: curl_easy_init (easy.c:371) ==160253== by 0x402E30C: test_lib1514.lto_priv.0 (lib1514.c:66) ==160253== by 0x400347F: main (first.c:280) ==160253== === End of file valgrind1514 CMD (33792): ../libtool --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/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:39383/1517 > log/24/stdout1517 2> log/24/stderr1517 CMD (33792): ../libtool --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/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 41061 > log/22/stdout1516 2> log/22/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/6/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:41595/1518 > log/6/stdout1518 2> log/6/stderr1518 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/2/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 46047 > log/2/stdout1515 2> log/2/stderr1515 1515: data FAILED: --- log/2/check-expected 2025-11-13 19:01:48.829391682 +0000 +++ log/2/check-generated 2025-11-13 19:01:48.829391682 +0000 @@ -1,2 +0,0 @@ -hello[LF] -hello[LF] == Contents of files in the log/2/ 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/2/valgrind1515 ./libtest/libtests lib1515 path/1515 127.0.0.1 46047 > log/2/stdout1515 2> log/2/stderr1515 === End of file commands.log === Start of file http_server.log 19:01:47.645449 ====> Client connect 19:01:47.645478 accept_connection 3 returned 4 19:01:47.645495 accept_connection 3 returned 0 19:01:47.645509 Read 93 bytes 19:01:47.645520 Process 93 bytes request 19:01:47.645531 Got request: GET /verifiedserver HTTP/1.1 19:01:47.645542 Are-we-friendly question received 19:01:47.645564 Wrote request (93 bytes) input to log/2/server.input 19:01:47.645580 Identifying ourselves as friends 19:01:47.645630 Response sent (57 bytes) and written to log/2/server.response 19:01:47.645641 special request received, no persistency 19:01:47.645650 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46047... * Established connection to 127.0.0.1 (127.0.0.1 port 46047) from 127.0.0.1 port 58308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46047 > User-Agent: curl/8.17.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:46047 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 148921 === 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: 18 WE ROOLZ: 148921 === End of file server.response === Start of file stderr1515 URL: path/1515 === End of file stderr1515 === Start of file valgrind1515 ==160351== ==160351== Process terminating with default action of signal 4 (SIGILL) ==160351== Illegal opcode at address 0x519E800 ==160351== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==160351== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==160351== by 0x519E800: Curl_multi_handle (multi.c:247) ==160351== by 0x4030DA1: test_lib1515.lto_priv.0 (lib1515.c:122) ==160351== by 0x400347F: main (first.c:280) ==160351== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==160351== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160351== by 0x519E794: Curl_multi_handle (multi.c:239) ==160351== by 0x4030DA1: test_lib1515.lto_priv.0 (lib1515.c:122) ==160351== by 0x400347F: main (first.c:280) ==160351== === End of file valgrind1515 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/22/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 41061 > log/22/stdout1516 2> log/22/stderr1516 libtests returned 132, when expecting 0 1516: exit FAILED == Contents of files in the log/22/ 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/22/valgrind1516 ./libtest/libtests lib1515 path/1516 127.0.0.1 41061 > log/22/stdout1516 2> log/22/stderr1516 === End of file commands.log === Start of file http_server.log 19:01:47.645284 ====> Client connect 19:01:47.645311 accept_connection 3 returned 4 19:01:47.645325 accept_connection 3 returned 0 19:01:47.645338 Read 93 bytes 19:01:47.645347 Process 93 bytes request 19:01:47.645360 Got request: GET /verifiedserver HTTP/1.1 19:01:47.645368 Are-we-friendly question received 19:01:47.645388 Wrote request (93 bytes) input to log/22/server.input 19:01:47.645403 Identifying ourselves as friends 19:01:47.645446 Response sent (56 bytes) and written to log/22/server.response 19:01:47.645455 special request received, no persistency 19:01:47.645463 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 38240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file stderr1516 URL: path/1516 === End of file stderr1516 === Start of file valgrind1516 ==160350== ==160350== Process terminating with default action of signal 4 (SIGILL) ==160350== Illegal opcode at address 0x519E800 ==160350== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==160350== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==160350== by 0x519E800: Curl_multi_handle (multi.c:247) ==160350== by 0x4030DA1: test_lib1515.lto_priv.0 (lib1515.c:122) ==160350== by 0x400347F: main (first.c:280) ==160350== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==160350== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160350== by 0x519E794: Curl_multi_handle (multi.c:239) ==160350== by 0x4030DA1: test_lib1515.lto_priv.0 (lib1515.c:122) ==160350== by 0x400347F: main (first.c:280) ==160350== === 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/24/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:39383/1517 > log/24/stdout1517 2> log/24/stderr1517 1517: 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 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/24/valgrind1517 ./libtest/libtests lib1517 http://127.0.0.1:39383/1517 > log/24/stdout1517 2> log/24/stderr1517 === End of file commands.log === Start of file http_server.log 19:01:47.647476 ====> Client connect 19:01:47.647503 accept_connection 3 returned 4 19:01:47.647517 accept_connection 3 returned 0 19:01:47.647528 Read 93 bytes 19:01:47.647537 Process 93 bytes request 19:01:47.647546 Got request: GET /verifiedserver HTTP/1.1 19:01:47.647554 Are-we-friendly question received 19:01:47.647573 Wrote request (93 bytes) input to log/24/server.input 19:01:47.647586 Identifying ourselves as friends 19:01:47.647631 Response sent (56 bytes) and written to log/24/server.response 19:01:47.647643 special request received, no persistency 19:01:47.647651 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 47054 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file stderr1517 URL: http://127.0.0.1:39383/1517 === End of file stderr1517 === Start of file valgrind1517 ==160377== ==160377== Process terminating with default action of signal 4 (SIGILL) ==160377== Illegal opcode at address 0x51D5F1F ==160377== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160377== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160377== by 0x51D5F1F: Curl_open (url.c:525) ==160377== by 0x514F6EF: curl_easy_init (easy.c:371) ==160377== by 0x402E56A: test_lib1517.lto_priv.0 (lib1517.c:72) ==160377== by 0x400347F: main (first.c:280) ==160377== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160377== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160377== by 0x51D5EBD: Curl_open (url.c:504) ==160377== by 0x514F6EF: curl_easy_init (easy.c:371) ==160377== by 0x402E56A: test_lib1517.lto_priv.0 (lib1517.c:72) ==160377== by 0x400347F: main (first.c:280) ==160377== === End of file valgrind1517 CMD (33792): ../libtool --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/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:40515/1519 > log/17/stdout1519 2> log/17/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/6/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:41595/1518 > log/6/stdout1518 2> log/6/stderr1518 1518: stdout FAILED: --- log/6/check-expected 2025-11-13 19:01:48.839391682 +0000 +++ log/6/check-generated 2025-11-13 19:01:48.839391682 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:41595/1518[LF] -redirecturl http://1.2 .4.5/test[LF] == Contents of files in the log/6/ dir after test 1518 === Start of file check-expected res 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:41595/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/6/valgrind1518 ./libtest/libtests lib1518 http://127.0.0.1:41595/1518 > log/6/stdout1518 2> log/6/stderr1518 === End of file commands.log === Start of file http_server.log 19:01:47.671341 ====> Client connect 19:01:47.671384 accept_connection 3 returned 4 19:01:47.671406 accept_connection 3 returned 0 19:01:47.671426 Read 93 bytes 19:01:47.671439 Process 93 bytes request 19:01:47.671456 Got request: GET /verifiedserver HTTP/1.1 19:01:47.671468 Are-we-friendly question received 19:01:47.671498 Wrote request (93 bytes) input to log/6/server.input 19:01:47.671516 Identifying ourselves as friends 19:01:47.671595 Response sent (56 bytes) and written to log/6/server.response 19:01:47.671608 special request received, no persistency 19:01:47.671618 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 54532 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file stderr1518 URL: http://127.0.0.1:41595/1518 === End of file stderr1518 === Start of file valgrind1518 ==160451== ==160451== Process terminating with default action of signal 4 (SIGILL) ==160451== Illegal opcode at address 0x51D5F1F ==160451== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160451== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160451== by 0x51D5F1F: Curl_open (url.c:525) ==160451== by 0x514F6EF: curl_easy_init (easy.c:371) ==160451== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==160451== by 0x400347F: main (first.c:280) ==160451== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160451== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160451== by 0x51D5EBD: Curl_open (url.c:504) ==160451== by 0x514F6EF: curl_easy_init (easy.c:371) ==160451== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==160451== by 0x400347F: main (first.c:280) ==160451== === End of file valgrind1518 CMD (33792): ../libtool --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/valgrind1521 ./libtest/libtests lib1521 - > log/4/stdout1521 2> log/4/stderr1521 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/17/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:40515/1519 > log/17/stdout1519 2> log/17/stderr1519 1519: stdout FAILED: --- log/17/check-expected 2025-11-13 19:01:49.192725018 +0000 +++ log/17/check-generated 2025-11-13 19:01:49.192725018 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 302[LF] -redirects 0[LF] -effectiveurl http://127.0.0.1:40515/1519[LF] -redirecturl http://127.0.0.1:40515/h%20ttp://1.2.4.5/test[LF] == Contents of files in the log/17/ dir after test 1519 === Start of file check-expected res 0[LF] status 302[LF] redirects 0[LF] effectiveurl http://127.0.0.1:40515/1519[LF] redirecturl http://127.0.0.1:40515/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/17/valgrind1519 ./libtest/libtests lib1518 http://127.0.0.1:40515/1519 > log/17/stdout1519 2> log/17/stderr1519 === End of file commands.log === Start of file http_server.log 19:01:49.017483 ====> Client connect 19:01:49.017520 accept_connection 3 returned 4 19:01:49.017540 accept_connection 3 returned 0 19:01:49.017649 Read 93 bytes 19:01:49.017665 Process 93 bytes request 19:01:49.017680 Got request: GET /verifiedserver HTTP/1.1 19:01:49.017692 Are-we-friendly question received 19:01:49.017720 Wrote request (93 bytes) input to log/17/server.input 19:01:49.017739 Identifying ourselves as friends 19:01:49.017800 Response sent (56 bytes) and written to log/17/server.response 19:01:49.017813 special request received, no persistency 19:01:49.017824 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 39792 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file stderr1519 URL: http://127.0.0.1:40515/1519 === End of file stderr1519 === Start of file valgrind1519 ==160609== ==160609== Process terminating with default action of signal 4 (SIGILL) ==160609== Illegal opcode at address 0x51D5F1F ==160609== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160609== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160609== by 0x51D5F1F: Curl_open (url.c:525) ==160609== by 0x514F6EF: curl_easy_init (easy.c:371) ==160609== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==160609== by 0x400347F: main (first.c:280) ==160609== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160609== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160609== by 0x51D5EBD: Curl_open (url.c:504) ==160609== by 0x514F6EF: curl_easy_init (easy.c:371) ==160609== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==160609== by 0x400347F: main (first.c:280) ==160609== === End of file valgrind1519 CMD (33792): ../libtool --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/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:46883/1520 log/13/stdout1520 2> log/13/stderr1520 CMD (33792): ../libtool --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/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:37879/1522 > log/10/stdout1522 2> log/10/stderr1522 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/4/valgrind1521 ./libtest/libtests lib1521 - > log/4/stdout1521 2> log/4/stderr1521 1521: stdout FAILED: --- log/4/check-expected 2025-11-13 19:01:49.322725020 +0000 +++ log/4/check-generated 2025-11-13 19:01:49.322725020 +0000 @@ -1 +0,0 @@ -ok[LF] == Contents of files in the log/4/ 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/4/valgrind1521 ./libtest/libtests lib1521 - > log/4/stdout1521 2> log/4/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 ==160732== ==160732== Process terminating with default action of signal 4 (SIGILL) ==160732== Illegal opcode at address 0x51D5F1F ==160732== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160732== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160732== by 0x51D5F1F: Curl_open (url.c:525) ==160732== by 0x514F6EF: curl_easy_init (easy.c:371) ==160732== by 0x404983A: test_lib1521.lto_priv.0 (lib1521.c:240) ==160732== by 0x400347F: main (first.c:280) ==160732== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160732== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160732== by 0x51D5EBD: Curl_open (url.c:504) ==160732== by 0x514F6EF: curl_easy_init (easy.c:371) ==160732== by 0x404983A: test_lib1521.lto_priv.0 (lib1521.c:240) ==160732== by 0x400347F: main (first.c:280) ==160732== === End of file valgrind1521 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/13/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:46883/1520 log/13/stdout1520 2> log/13/stderr1520 1520: 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 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/13/valgrind1520 ./libtest/libtests lib1520 smtp://127.0.0.1:46883/1520 log/13/stdout1520 2> log/13/stderr1520 === End of file commands.log === Start of file server.cmd Testnum 1520 === End of file server.cmd === Start of file smtp_server.log 19:01:48.352852 ====> Client connect 19:01:48.353008 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:48.353334 < "EHLO verifiedserver" 19:01:48.353375 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:48.353551 < "HELP" 19:01:48.353580 > "214 WE ROOLZ: 124334[CR][LF]" 19:01:48.353596 return proof we are we 19:01:48.353836 < "QUIT" 19:01:48.353862 > "221 curl ESMTP server signing off[CR][LF]" 19:01:48.354986 MAIN sockfilt said DISC 19:01:48.355097 ====> Client disconnected 19:01:48.355177 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:49.124782 ====> Client connect 19:01:49.125075 Received DATA (on stdin) 19:01:49.125090 > 160 bytes data, server => client 19:01:49.125103 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:49.125115 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:49.125127 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:49.125237 < 21 bytes data, client => server 19:01:49.125252 'EHLO verifiedserver\r\n' 19:01:49.125433 Received DATA (on stdin) 19:01:49.125446 > 53 bytes data, server => client 19:01:49.125459 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:49.125513 < 6 bytes data, client => server 19:01:49.125528 'HELP\r\n' 19:01:49.125649 Received DATA (on stdin) 19:01:49.125662 > 22 bytes data, server => client 19:01:49.125674 '214 WE ROOLZ: 124334\r\n' 19:01:49.125801 < 6 bytes data, client => server 19:01:49.125816 'QUIT\r\n' 19:01:49.125918 Received DATA (on stdin) 19:01:49.125931 > 35 bytes data, server => client 19:01:49.125943 '221 curl ESMTP server signing off\r\n' 19:01:49.126732 ====> Client disconnect 19:01:49.127235 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file stderr1520 URL: smtp://127.0.0.1:46883/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 ==160677== ==160677== Process terminating with default action of signal 4 (SIGILL) ==160677== Illegal opcode at address 0x51D5F1F ==160677== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160677== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160677== by 0x51D5F1F: Curl_open (url.c:525) ==160677== by 0x514F6EF: curl_easy_init (easy.c:371) ==160677== by 0x402E700: test_lib1520.lto_priv.0 (lib1520.c:80) ==160677== by 0x400347F: main (first.c:280) ==160677== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160677== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160677== by 0x51D5EBD: Curl_open (url.c:504) ==160677== by 0x514F6EF: curl_easy_init (easy.c:371) ==160677== by 0x402E700: test_lib1520.lto_priv.0 (lib1520.c:80) ==160677== by 0x400347F: main (first.c:280) ==160677== === End of file valgrind1520 CMD (33792): ../libtool --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/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:46317/1523 > log/11/stdout1523 2> log/11/stderr1523 RUN: Process with pid 74579 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/9/valgrind1505 ./libtest/libtests lib1502 http://google.com:38373/1505 38373 127.0.0.1 > log/9/stdout1505 2> log/9/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/7/valgrind1524 ../src/curl -q --output log/7/curl1524.out --include --trace-ascii log/7/trace1524 --trace-time http://127.0.0.1:41017/blah/1524 -L -T log/7/upload1524.txt > log/7/stdout1524 2> log/7/stderr1524 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/10/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:37879/1522 > log/10/stdout1522 2> log/10/stderr1522 1522: stdout FAILED: --- log/10/check-expected 2025-11-13 19:01:49.382725020 +0000 +++ log/10/check-generated 2025-11-13 19:01:49.382725020 +0000 @@ -1,3 +0,0 @@ --foo-[LF] -uploadSize = 40960[LF] -!!!!!!!!!! PASS[LF] == Contents of files in the log/10/ 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/10/valgrind1522 ./libtest/libtests lib1522 http://127.0.0.1:37879/1522 > log/10/stdout1522 2> log/10/stderr1522 === End of file commands.log === Start of file http_server.log 19:01:48.213408 ====> Client connect 19:01:48.213443 accept_connection 3 returned 4 19:01:48.213461 accept_connection 3 returned 0 19:01:48.213477 Read 93 bytes 19:01:48.213488 Process 93 bytes request 19:01:48.213503 Got request: GET /verifiedserver HTTP/1.1 19:01:48.213513 Are-we-friendly question received 19:01:48.213537 Wrote request (93 bytes) input to log/10/server.input 19:01:48.213554 Identifying ourselves as friends 19:01:48.213609 Response sent (56 bytes) and written to log/10/server.response 19:01:48.213620 special request received, no persistency 19:01:48.213630 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 35164 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file stderr1522 URL: http://127.0.0.1:37879/1522 === End of file stderr1522 === Start of file valgrind1522 ==160819== ==160819== Process terminating with default action of signal 4 (SIGILL) ==160819== Illegal opcode at address 0x51D5F1F ==160819== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160819== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160819== by 0x51D5F1F: Curl_open (url.c:525) ==160819== by 0x514F6EF: curl_easy_init (easy.c:371) ==160819== by 0x4031DA6: test_lib1522.lto_priv.0 (lib1522.c:55) ==160819== by 0x400347F: main (first.c:280) ==160819== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160819== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160819== by 0x51D5EBD: Curl_open (url.c:504) ==160819== by 0x514F6EF: curl_easy_init (easy.c:371) ==160819== by 0x4031DA6: test_lib1522.lto_priv.0 (lib1522.c:55) ==160819== by 0x400347F: main (first.c:280) ==160819== === End of file valgrind1522 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http-server.pl --keepalive 30 --pidfile "log/9/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 159573 port 38373 * pid http => 159573 159573 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/9/valgrind1505 ./libtest/libtests lib1502 http://google.com:38373/1505 38373 127.0.0.1 > log/9/stdout1505 2> log/9/stderr1505 1505: 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 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/9/valgrind1505 ./libtest/libtests lib1502 http://google.com:38373/1505 38373 127.0.0.1 > log/9/stdout1505 2> log/9/stderr1505 === End of file commands.log === Start of file http_server.log 19:01:47.296687 Running HTTP IPv4 version on port 38373 19:01:47.296751 Wrote pid 159573 to log/9/server/http_server.pid 19:01:47.296777 Wrote port 38373 to log/9/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 1505 === End of file server.cmd === Start of file stderr1505 URL: http://google.com:38373/1505 === End of file stderr1505 === Start of file valgrind1505 ==161011== ==161011== Process terminating with default action of signal 4 (SIGILL) ==161011== Illegal opcode at address 0x51D5F1F ==161011== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161011== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161011== by 0x51D5F1F: Curl_open (url.c:525) ==161011== by 0x514F6EF: curl_easy_init (easy.c:371) ==161011== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==161011== by 0x400347F: main (first.c:280) ==161011== 43 (16 direct, 27 indirect) bytes in 1 blocks are definitely lost in loss record 529 of 647 ==161011== at 0x51037A8: malloc (vg_replace_malloc.c:446) ==161011== by 0x51C1329: UnknownInlinedFun (slist.c:68) ==161011== by 0x51C1329: curl_slist_append (slist.c:99) ==161011== by 0x405F20F: test_lib1502.part.0.lto_priv.0 (lib1502.c:58) ==161011== by 0x400347F: main (first.c:280) ==161011== ==161011== 5,384 bytes in 1 blocks are definitely lost in loss record 645 of 647 ==161011== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161011== by 0x51D5EBD: Curl_open (url.c:504) ==161011== by 0x514F6EF: curl_easy_init (easy.c:371) ==161011== by 0x405F221: test_lib1502.part.0.lto_priv.0 (lib1502.c:65) ==161011== by 0x400347F: main (first.c:280) ==161011== === End of file valgrind1505 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/7/valgrind1524 ../src/curl -q --output log/7/curl1524.out --include --trace-ascii log/7/trace1524 --trace-time http://127.0.0.1:41017/blah/1524 -L -T log/7/upload1524.txt > log/7/stdout1524 2> log/7/stderr1524 1524: 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 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/7/valgrind1524 ../src/curl -q --output log/7/curl1524.out --include --trace-ascii log/7/trace1524 --trace-time http://127.0.0.1:41017/blah/1524 -L -T log/7/upload1524.txt > log/7/stdout1524 2> log/7/stderr1524 === End of file commands.log === Start of file http_server.log 19:01:48.232819 ====> Client connect 19:01:48.232862 accept_connection 3 returned 4 19:01:48.232878 accept_connection 3 returned 0 19:01:48.232894 Read 93 bytes 19:01:48.232904 Process 93 bytes request 19:01:48.232917 Got request: GET /verifiedserver HTTP/1.1 19:01:48.232926 Are-we-friendly question received 19:01:48.232951 Wrote request (93 bytes) input to log/7/server.input 19:01:48.232969 Identifying ourselves as friends 19:01:48.233021 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/19/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:41761/1526 127.0.0.1:43379 > log/19/stdout1526 2> log/19/stderr1526 CMD (33792): ../libtool --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/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:46771/1528 127.0.0.1:32885 > log/5/stdout1528 2> log/5/stderr1528 to log/7/server.response 19:01:48.233032 special request received, no persistency 19:01:48.233041 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 42458 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file upload1524.txt moo === End of file upload1524.txt === Start of file valgrind1524 ==160891== ==160891== Process terminating with default action of signal 4 (SIGILL) ==160891== Illegal opcode at address 0x4013E00 ==160891== at 0x4013E00: getparameter (tool_getparam.c:2846) ==160891== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==160891== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==160891== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1524 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/19/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:41761/1526 127.0.0.1:43379 > log/19/stdout1526 2> log/19/stderr1526 1526: 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 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/19/valgrind1526 ./libtest/libtests lib1526 http://the.old.moo.1526:41761/1526 127.0.0.1:43379 > log/19/stdout1526 2> log/19/stderr1526 === End of file commands.log === Start of file http2_server.log 19:01:48.302731 ====> Client connect 19:01:48.302766 accept_connection 3 returned 4 19:01:48.302784 accept_connection 3 returned 0 19:01:48.302800 Read 93 bytes 19:01:48.302811 Process 93 bytes request 19:01:48.302825 Got request: GET /verifiedserver HTTP/1.1 19:01:48.302836 Are-we-friendly question received 19:01:48.302862 Wrote request (93 bytes) input to log/19/proxy.input 19:01:48.302888 Identifying ourselves as friends 19:01:48.302952 Response sent (57 bytes) and written to log/19/proxy.response 19:01:48.302968 special request received, no persistency 19:01:48.302978 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:43379... * Established connection to 127.0.0.1 (127.0.0.1 port 43379) from 127.0.0.1 port 49030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43379 > User-Agent: curl/8.17.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:43379 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 155683 === End of file http2_verify.out === Start of file http_server.log 19:01:48.282793 ====> Client connect 19:01:48.282830 accept_connection 3 returned 4 19:01:48.282849 accept_connection 3 returned 0 19:01:48.282866 Read 93 bytes 19:01:48.282879 Process 93 bytes request 19:01:48.282896 Got request: GET /verifiedserver HTTP/1.1 19:01:48.282907 Are-we-friendly question received 19:01:48.282938 Wrote request (93 bytes) input to log/19/server.input 19:01:48.282956 Identifying ourselves as friends 19:01:48.283023 Response sent (56 bytes) and written to log/19/server.response 19:01:48.283035 special request received, no persistency 19:01:48.283045 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 56924 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 155683 === End of file proxy.response === 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: 74422 === End of file server.response === Start of file stderr1526 URL: http://the.old.moo.1526:41761/1526 === End of file stderr1526 === Start of file valgrind1526 ==161107== ==161107== Process terminating with default action of signal 4 (SIGILL) ==161107== Illegal opcode at address 0x51D5F1F ==161107== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161107== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161107== by 0x51D5F1F: Curl_open (url.c:525) ==161107== by 0x514F6EF: curl_easy_init (easy.c:371) ==161107== by 0x402ECCE: test_lib1526.lto_priv.0 (lib1526.c:59) ==161107== by 0x400347F: main (first.c:280) ==161107== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161107== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161107== by 0x51D5EBD: Curl_open (url.c:504) ==161107== by 0x514F6EF: curl_easy_init (easy.c:371) ==161107== by 0x402ECCE: test_lib1526.lto_priv.0 (lib1526.c:59) ==161107== by 0x400347F: main (first.c:280) ==161107== === End of file valgrind1526 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/test1544.pl /startdir/src/curl/tests/.. > log/7/stdout1544 2> log/7/stderr1544 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/valgrind1538 ./libtest/libtests lib1538 - > log/22/stdout1538 2> log/22/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/8/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:43853/1527 127.0.0.1:35633 > log/8/stdout1527 2> log/8/stderr1527 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/5/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:46771/1528 127.0.0.1:32885 > log/5/stdout1528 2> log/5/stderr1528 1528: data FAILED: --- log/5/check-expected 2025-11-13 19:01:49.429391687 +0000 +++ log/5/check-generated 2025-11-13 19:01:49.429391687 +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/5/ 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/5/valgrind1528 ./libtest/libtests lib1528 http://the.old.moo:46771/1528 127.0.0.1:32885 > log/5/stdout1528 2> log/5/stderr1528 === End of file commands.log === Start of file http2_server.log 19:01:48.328945 ====> Client connect 19:01:48.328979 accept_connection 3 returned 4 19:01:48.328996 accept_connection 3 returned 0 19:01:48.329014 Read 93 bytes 19:01:48.329028 Process 93 bytes request 19:01:48.329044 Got request: GET /verifiedserver HTTP/1.1 19:01:48.329055 Are-we-friendly question received 19:01:48.329081 Wrote request (93 bytes) input to log/5/proxy.input 19:01:48.329103 Identifying ourselves as friends 19:01:48.329170 Response sent (57 bytes) and written to log/5/proxy.response 19:01:48.329186 special request received, no persistency 19:01:48.329196 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:32885... * Established connection to 127.0.0.1 (127.0.0.1 port 32885) from 127.0.0.1 port 56382 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:32885 > User-Agent: curl/8.17.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:32885 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 147671 === End of file http2_verify.out === Start of file http_server.log 19:01:48.310824 ====> Client connect 19:01:48.310868 accept_connection 3 returned 4 19:01:48.310888 accept_connection 3 returned 0 19:01:48.310906 Read 93 bytes 19:01:48.310918 Process 93 bytes request 19:01:48.310934 Got request: GET /verifiedserver HTTP/1.1 19:01:48.310946 Are-we-friendly question received 19:01:48.310976 Wrote request (93 bytes) input to log/5/server.input 19:01:48.310996 Identifying ourselves as friends 19:01:48.311064 Response sent (56 bytes) and written to log/5/server.response 19:01:48.311078 special request received, no persistency 19:01:48.311090 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 34310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 147671 === 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: 76406 === End of file server.response === Start of file stderr1528 URL: http://the.old.moo:46771/1528 === End of file stderr1528 === Start of file valgrind1528 ==161176== ==161176== Process terminating with default action of signal 4 (SIGILL) ==161176== Illegal opcode at address 0x51D5F1F ==161176== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161176== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161176== by 0x51D5F1F: Curl_open (url.c:525) ==161176== by 0x514F6EF: curl_easy_init (easy.c:371) ==161176== by 0x402F20E: test_lib1528.lto_priv.0 (lib1528.c:41) ==161176== by 0x400347F: main (first.c:280) ==161176== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161176== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161176== by 0x51D5EBD: Curl_open (url.c:504) ==161176== by 0x514F6EF: curl_easy_init (easy.c:371) ==161176== by 0x402F20E: test_lib1528.lto_priv.0 (lib1528.c:41) ==161176== by 0x400347F: main (first.c:280) ==161176== === End of file valgrind1528 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/7/stdout1544 2> log/7/stderr1544 valgrind SKIPPED -------e--- OK (1470 out of 1746, remaining: 00:22, took 0.040s, duration: 01:57) 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/22/valgrind1538 ./libtest/libtests lib1538 - > log/22/stdout1538 2> log/22/stderr1538 s------e-v- OK (1464 out of 1746, remaining: 00:22, took 0.597s, duration: 01:57) 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/8/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:43853/1527 127.0.0.1:35633 > log/8/stdout1527 2> log/8/stderr1527 1527: 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 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/8/valgrind1527 ./libtest/libtests lib1527 http://the.old.moo.1527:43853/1527 127.0.0.1:35633 > log/8/stdout1527 2> log/8/stderr1527 === End of file commands.log === Start of file http2_server.log 19:01:49.310833 ====> Client connect 19:01:49.310878 accept_connection 3 returned 4 19:01:49.310899 accept_connection 3 returned 0 19:01:49.310916 Read 93 bytes 19:01:49.310929 Process 93 bytes request 19:01:49.310943 Got request: GET /verifiedserver HTTP/1.1 19:01:49.310954 Are-we-friendly question received 19:01:49.310986 Wrote request (93 bytes) input to log/8/proxy.input 19:01:49.311014 Identifying ourselves as friends 19:01:49.311086 Response sent (56 bytes) and written to log/8/proxy.response 19:01:49.311104 special request received, no persistency 19:01:49.311117 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35633... * Established connection to 127.0.0.1 (127.0.0.1 port 35633) from 127.0.0.1 port 35842 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35633 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35633 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79440 === End of file http2_verify.out === Start of file http_server.loRUN: Process with pid 74579 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/18/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:39771/1531 > log/18/stdout1531 2> log/18/stderr1531 g 19:01:48.289950 ====> Client connect 19:01:48.289988 accept_connection 3 returned 4 19:01:48.290009 accept_connection 3 returned 0 19:01:48.290026 Read 93 bytes 19:01:48.290037 Process 93 bytes request 19:01:48.290052 Got request: GET /verifiedserver HTTP/1.1 19:01:48.290063 Are-we-friendly question received 19:01:48.290090 Wrote request (93 bytes) input to log/8/server.input 19:01:48.290109 Identifying ourselves as friends 19:01:48.290170 Response sent (56 bytes) and written to log/8/server.response 19:01:48.290182 special request received, no persistency 19:01:48.290193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 56564 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79440 === End of file proxy.response === 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: 74688 === End of file server.response === Start of file stderr1527 URL: http://the.old.moo.1527:43853/1527 === End of file stderr1527 === Start of file valgrind1527 ==161135== ==161135== Process terminating with default action of signal 4 (SIGILL) ==161135== Illegal opcode at address 0x51D5F1F ==161135== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161135== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161135== by 0x51D5F1F: Curl_open (url.c:525) ==161135== by 0x514F6EF: curl_easy_init (easy.c:371) ==161135== by 0x402EF70: test_lib1527.lto_priv.0 (lib1527.c:59) ==161135== by 0x400347F: main (first.c:280) ==161135== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161135== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161135== by 0x51D5EBD: Curl_open (url.c:504) ==161135== by 0x514F6EF: curl_easy_init (easy.c:371) ==161135== by 0x402EF70: test_lib1527.lto_priv.0 (lib1527.c:59) ==161135== by 0x400347F: main (first.c:280) ==161135== === End of file valgrind1527 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/11/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:46317/1523 > log/11/stdout1523 2> log/11/stderr1523 libtests returned 132, when expecting 0 1523: exit FAILED == Contents of files in the log/11/ 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/11/valgrind1523 ./libtest/libtests lib1523 http://127.0.0.1:46317/1523 > log/11/stdout1523 2> log/11/stderr1523 === End of file commands.log === Start of file http_server.log 19:01:48.214647 ====> Client connect 19:01:48.214679 accept_connection 3 returned 4 19:01:48.214695 accept_connection 3 returned 0 19:01:48.214713 Read 93 bytes 19:01:48.214723 Process 93 bytes request 19:01:48.214734 Got request: GET /verifiedserver HTTP/1.1 19:01:48.214744 Are-we-friendly question received 19:01:48.214765 Wrote request (93 bytes) input to log/11/server.input 19:01:48.214781 Identifying ourselves as friends 19:01:48.214830 Response sent (56 bytes) and written to log/11/server.response 19:01:48.214841 special request received, no persistency 19:01:48.214850 ====> Client disconnect 0 exit_signal_handler: called 19:01:49.161979 signalled to die 19:01:49.162068 ========> IPv4 sws (port 46317 pid: 74579) exits with signal (15) 19:01:49.162083 ========> sws quits === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46317... * Established connection to 127.0.0.1 (127.0.0.1 port 46317) from 127.0.0.1 port 39540 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46317 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46317 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74579 === 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: 74579 === End of file server.response === Start of file stderr1523 URL: http://127.0.0.1:46317/1523 === End of file stderr1523 === Start of file valgrind1523 ==160818== ==160818== Process terminating with default action of signal 4 (SIGILL) ==160818== Illegal opcode at address 0x51D5F1F ==160818== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==160818== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==160818== by 0x51D5F1F: Curl_open (url.c:525) ==160818== by 0x514F6EF: curl_easy_init (easy.c:371) ==160818== by 0x402E8B4: test_lib1523.lto_priv.0 (lib1523.c:62) ==160818== by 0x400347F: main (first.c:280) ==160818== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==160818== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==160818== by 0x51D5EBD: Curl_open (url.c:504) ==160818== by 0x514F6EF: curl_easy_init (easy.c:371) ==160818== by 0x402E8B4: test_lib1523.lto_priv.0 (lib1523.c:62) ==160818== by 0x400347F: main (first.c:280) ==160818== === End of file valgrind1523 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/18/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:39771/1531 > log/18/stdout1531 2> log/18/stderr1531 1531: 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 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/18/valgrind1531 ./libtest/libtests lib1531 127.0.0.1:39771/1531 > log/18/stdout1531 2> log/18/stderr1531 === End of file commands.log === Start of file http_server.log 19:01:48.461602 ====> Client connect 19:01:48.461635 accept_connection 3 returned 4 19:01:48.461651 accept_connection 3 returned 0 19:01:48.461663 Read 93 bytes 19:01:48.461673 Process 93 bytes request 19:01:48.461684 Got request: GET /verifiedserver HTTP/1.1 19:01:48.461693 Are-we-friendly question received 19:01:48.461716 Wrote request (93 bytes) input to log/18/server.input 19:01:48.461731 Identifying ourselves as friends 19:01:48.461779 Response sent (56 bytes) and written to log/18/server.response 19:01:48.461789 special request received, no persistency 19:01:48.461798 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 38272 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: CMD (33792): ../libtool --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/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:46819/1532 > log/12/stdout1532 2> log/12/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/1/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:40353/1534 > log/1/stdout1534 2> log/1/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/23/valgrind1530 ./libtest/libtests lib1530 - > log/23/stdout1530 2> log/23/stderr1530 17 WE ROOLZ: 74423 === End of file server.response === Start of file stderr1531 URL: 127.0.0.1:39771/1531 === End of file stderr1531 === Start of file valgrind1531 ==161360== ==161360== Process terminating with default action of signal 4 (SIGILL) ==161360== Illegal opcode at address 0x51D5F1F ==161360== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161360== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161360== by 0x51D5F1F: Curl_open (url.c:525) ==161360== by 0x514F6EF: curl_easy_init (easy.c:371) ==161360== by 0x405EB15: test_lib1531.part.0.lto_priv.0 (lib1531.c:45) ==161360== by 0x400347F: main (first.c:280) ==161360== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161360== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161360== by 0x51D5EBD: Curl_open (url.c:504) ==161360== by 0x514F6EF: curl_easy_init (easy.c:371) ==161360== by 0x405EB15: test_lib1531.part.0.lto_priv.0 (lib1531.c:45) ==161360== by 0x400347F: main (first.c:280) ==161360== === End of file valgrind1531 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/12/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:46819/1532 > log/12/stdout1532 2> log/12/stderr1532 1532: 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 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/12/valgrind1532 ./libtest/libtests lib1532 http://127.0.0.1:46819/1532 > log/12/stdout1532 2> log/12/stderr1532 === End of file commands.log === Start of file http_server.log 19:01:48.460206 ====> Client connect 19:01:48.460239 accept_connection 3 returned 4 19:01:48.460257 accept_connection 3 returned 0 19:01:48.460273 Read 93 bytes 19:01:48.460284 Process 93 bytes request 19:01:48.460300 Got request: GET /verifiedserver HTTP/1.1 19:01:48.460310 Are-we-friendly question received 19:01:48.460338 Wrote request (93 bytes) input to log/12/server.input 19:01:48.460356 Identifying ourselves as friends 19:01:48.460414 Response sent (56 bytes) and written to log/12/server.response 19:01:48.460426 special request received, no persistency 19:01:48.460436 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 49762 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file stderr1532 URL: http://127.0.0.1:46819/1532 === End of file stderr1532 === Start of file valgrind1532 ==161361== ==161361== Process terminating with default action of signal 4 (SIGILL) ==161361== Illegal opcode at address 0x51D5F1F ==161361== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161361== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161361== by 0x51D5F1F: Curl_open (url.c:525) ==161361== by 0x514F6EF: curl_easy_init (easy.c:371) ==161361== by 0x4032519: UnknownInlinedFun (lib1532.c:38) ==161361== by 0x4032519: test_lib1532.lto_priv.0 (lib1532.c:30) ==161361== by 0x400347F: main (first.c:280) ==161361== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161361== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161361== by 0x51D5EBD: Curl_open (url.c:504) ==161361== by 0x514F6EF: curl_easy_init (easy.c:371) ==161361== by 0x4032519: UnknownInlinedFun (lib1532.c:38) ==161361== by 0x4032519: test_lib1532.lto_priv.0 (lib1532.c:30) ==161361== by 0x400347F: main (first.c:280) ==161361== === End of file valgrind1532 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/1/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:40353/1534 > log/1/stdout1534 2> log/1/stderr1534 1534: 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 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/1/valgrind1534 ./libtest/libtests lib1534 http://127.0.0.1:40353/1534 > log/1/stdout1534 2> log/1/stderr1534 === End of file commands.log === Start of file http_server.log 19:01:48.484632 ====> Client connect 19:01:48.484669 accept_connection 3 returned 4 19:01:48.484688 accept_connection 3 returned 0 19:01:48.484704 Read 93 bytes 19:01:48.484715 Process 93 bytes request 19:01:48.484729 Got request: GET /verifiedserver HTTP/1.1 19:01:48.484739 Are-we-friendly question received 19:01:48.484764 Wrote request (93 bytes) input to log/1/server.input 19:01:48.484783 Identifying ourselves as friends 19:01:48.484840 Response sent (56 bytes) and written to log/1/server.response 19:01:48.484852 special request received, no persistency 19:01:48.484862 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 55902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file stderr1534 URL: http://127.0.0.1:40353/1534 === End of file stderr1534 === Start of file valgrind1534 ==161469== ==161469== Process terminating with default action of signal 4 (SIGILL) ==161469== Illegal opcode at address 0x51D5F1F ==161469== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161469== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161469== by 0x51D5F1F: Curl_open (url.c:525) ==161469== by 0x514F6EF: curl_easy_init (easy.c:371) ==161469== by 0x40328DB: UnknownInlinedFun (lib1534.c:38) ==161469== by 0x40328DB: test_lib1534.lto_priv.0 (lib1534.c:30) ==161469== by 0x400347F: main (first.c:280) ==161469== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161469== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161469== by 0x51D5EBD: Curl_open (url.c:504) ==161469== by 0x514F6EF: curl_easy_init (easy.c:371) ==161469== by 0x40328DB: UnknownInlinedFun (lib1534.c:38) ==161469== by 0x40328DB: test_lib1534.lto_priv.0 (lib1534.c:30) ==161469== by 0x400347F: main (first.c:280) ==161469== === End of file valgrind1534 test 1530...[CURLOPT_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/23/valgrind1530 ./libtest/libtests liCMD (33792): ../libtool --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/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:35043/1533 > log/21/stdout1533 2> log/21/stderr1533 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/valgrind1537 ./libtest/libtests lib1537 - > log/6/stdout1537 2> log/6/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/2/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:46047/1535 > log/2/stdout1535 2> log/2/stderr1535 b1530 - > log/23/stdout1530 2> log/23/stderr1530 libtests returned 132, when expecting 7 1530: exit FAILED == Contents of files in the log/23/ 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/23/valgrind1530 ./libtest/libtests lib1530 - > log/23/stdout1530 2> log/23/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 ==161300== ==161300== Process terminating with default action of signal 4 (SIGILL) ==161300== Illegal opcode at address 0x51D5F1F ==161300== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161300== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161300== by 0x51D5F1F: Curl_open (url.c:525) ==161300== by 0x514F6EF: curl_easy_init (easy.c:371) ==161300== by 0x402F585: test_lib1530.lto_priv.0 (lib1530.c:50) ==161300== by 0x400347F: main (first.c:280) ==161300== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161300== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161300== by 0x51D5EBD: Curl_open (url.c:504) ==161300== by 0x514F6EF: curl_easy_init (easy.c:371) ==161300== by 0x402F585: test_lib1530.lto_priv.0 (lib1530.c:50) ==161300== by 0x400347F: main (first.c:280) ==161300== === End of file valgrind1530 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/21/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:35043/1533 > log/21/stdout1533 2> log/21/stderr1533 1533: 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 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/21/valgrind1533 ./libtest/libtests lib1533 http://127.0.0.1:35043/1533 > log/21/stdout1533 2> log/21/stderr1533 === End of file commands.log === Start of file http_server.log 19:01:48.482132 ====> Client connect 19:01:48.482159 accept_connection 3 returned 4 19:01:48.482173 accept_connection 3 returned 0 19:01:48.482185 Read 93 bytes 19:01:48.482194 Process 93 bytes request 19:01:48.482209 Got request: GET /verifiedserver HTTP/1.1 19:01:48.482218 Are-we-friendly question received 19:01:48.482243 Wrote request (93 bytes) input to log/21/server.input 19:01:48.482259 Identifying ourselves as friends 19:01:48.482311 Response sent (56 bytes) and written to log/21/server.response 19:01:48.482321 special request received, no persistency 19:01:48.482331 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 37686 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file stderr1533 URL: http://127.0.0.1:35043/1533 === End of file stderr1533 === Start of file valgrind1533 ==161460== ==161460== Process terminating with default action of signal 4 (SIGILL) ==161460== Illegal opcode at address 0x51D5F1F ==161460== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161460== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161460== by 0x51D5F1F: Curl_open (url.c:525) ==161460== by 0x514F6EF: curl_easy_init (easy.c:371) ==161460== by 0x4030637: test_lib1533.lto_priv.0 (lib1533.c:137) ==161460== by 0x400347F: main (first.c:280) ==161460== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161460== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161460== by 0x51D5EBD: Curl_open (url.c:504) ==161460== by 0x514F6EF: curl_easy_init (easy.c:371) ==161460== by 0x4030637: test_lib1533.lto_priv.0 (lib1533.c:137) ==161460== by 0x400347F: main (first.c:280) ==161460== === 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/6/valgrind1537 ./libtest/libtests lib1537 - > log/6/stdout1537 2> log/6/stderr1537 s------e-v- OK (1463 out of 1746, remaining: 00:22, took 0.884s, duration: 01:57) 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/2/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:46047/1535 > log/2/stdout1535 2> log/2/stderr1535 1535: 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 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/2/valgrind1535 ./libtest/libtests lib1535 http://127.0.0.1:46047/1535 > log/2/stdout1535 2> log/2/stderr1535 === End of file commands.log === Start of file http_server.log 19:01:48.633738 ====> Client connect 19:01:48.633768 accept_connection 3 returned 4 19:01:48.633785 accept_connection 3 returned 0 19:01:48.633800 Read 93 bytes 19:01:48.633811 Process 93 bytes request 19:01:48.633823 Got request: GET /verifiedserver HTTP/1.1 19:01:48.633834 Are-we-friendly question received 19:01:48.633857 Wrote request (93 bytes) input to log/2/server.input 19:01:48.633875 Identifying ourselves as friends 19:01:48.633927 Response sent (57 bytes) and written to log/2/server.response 19:01:48.633938 special request received, no persistency 19:01:48.633949 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46047... * Established connection to 127.0.0.1 (127.0.0.1 port 46047) from 127.0.0.1 port 58310 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46047 > User-Agent: curl/8.17.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:46047 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 148921 === 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: 18 WE ROOLZ: 148921 === End of file server.response === Start of file stderr1535 URL: http://127.0.0.1:46047/1535 === End of file stderr1535 === Start of file valgrind1535 ==161660== ==161660== Process terminating with default action of signal 4 (SIGILL) ==161660== Illegal opcode at address 0x51D5F1F ==161660== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161660== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161660== by 0x51D5F1F: Curl_open (url.c:525) ==161660== by 0x514F6EF: curl_easy_init (easy.c:371) ==161660== by 0x4032CFB: UnknownInlinedFun (lib1535.c:38) ==161660== by 0x4032CFB: test_lib1535.lto_priv.0 (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/24/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:39383/1536 > log/24/stdout1536 2> log/24/stderr1536 CMD (33792): ../libtool --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/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:40515/1539 > log/17/stdout1539 2> log/17/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/19/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:41761/1545 > log/19/stdout1545 2> log/19/stderr1545 1535.c:30) ==161660== by 0x400347F: main (first.c:280) ==161660== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161660== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161660== by 0x51D5EBD: Curl_open (url.c:504) ==161660== by 0x514F6EF: curl_easy_init (easy.c:371) ==161660== by 0x4032CFB: UnknownInlinedFun (lib1535.c:38) ==161660== by 0x4032CFB: test_lib1535.lto_priv.0 (lib1535.c:30) ==161660== by 0x400347F: main (first.c:280) ==161660== === End of file valgrind1535 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/24/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:39383/1536 > log/24/stdout1536 2> log/24/stderr1536 1536: 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 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/24/valgrind1536 ./libtest/libtests lib1536 http://127.0.0.1:39383/1536 > log/24/stdout1536 2> log/24/stderr1536 === End of file commands.log === Start of file http_server.log 19:01:48.631918 ====> Client connect 19:01:48.631951 accept_connection 3 returned 4 19:01:48.631968 accept_connection 3 returned 0 19:01:48.631984 Read 93 bytes 19:01:48.631995 Process 93 bytes request 19:01:48.632009 Got request: GET /verifiedserver HTTP/1.1 19:01:48.632019 Are-we-friendly question received 19:01:48.632045 Wrote request (93 bytes) input to log/24/server.input 19:01:48.632063 Identifying ourselves as friends 19:01:48.632120 Response sent (56 bytes) and written to log/24/server.response 19:01:48.632132 special request received, no persistency 19:01:48.632142 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 47058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 74417 === End of file server.response === Start of file stderr1536 URL: http://127.0.0.1:39383/1536 === End of file stderr1536 === Start of file valgrind1536 ==161646== ==161646== Process terminating with default action of signal 4 (SIGILL) ==161646== Illegal opcode at address 0x51D5F1F ==161646== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161646== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161646== by 0x51D5F1F: Curl_open (url.c:525) ==161646== by 0x514F6EF: curl_easy_init (easy.c:371) ==161646== by 0x40330BD: UnknownInlinedFun (lib1536.c:38) ==161646== by 0x40330BD: test_lib1536.lto_priv.0 (lib1536.c:30) ==161646== by 0x400347F: main (first.c:280) ==161646== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161646== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161646== by 0x51D5EBD: Curl_open (url.c:504) ==161646== by 0x514F6EF: curl_easy_init (easy.c:371) ==161646== by 0x40330BD: UnknownInlinedFun (lib1536.c:38) ==161646== by 0x40330BD: test_lib1536.lto_priv.0 (lib1536.c:30) ==161646== by 0x400347F: main (first.c:280) ==161646== === End of file valgrind1536 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/17/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:40515/1539 > log/17/stdout1539 2> log/17/stderr1539 libtests returned 132, when expecting 25 1539: exit FAILED == Contents of files in the log/17/ 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/17/valgrind1539 ./libtest/libtests lib1514 http://127.0.0.1:40515/1539 > log/17/stdout1539 2> log/17/stderr1539 === End of file commands.log === Start of file http_server.log 19:01:49.991329 ====> Client connect 19:01:49.991363 accept_connection 3 returned 4 19:01:49.991380 accept_connection 3 returned 0 19:01:49.991395 Read 93 bytes 19:01:49.991405 Process 93 bytes request 19:01:49.991420 Got request: GET /verifiedserver HTTP/1.1 19:01:49.991430 Are-we-friendly question received 19:01:49.991454 Wrote request (93 bytes) input to log/17/server.input 19:01:49.991472 Identifying ourselves as friends 19:01:49.991523 Response sent (56 bytes) and written to log/17/server.response 19:01:49.991534 special request received, no persistency 19:01:49.991543 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 39794 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 17 WE ROOLZ: 74424 === End of file server.response === Start of file stderr1539 URL: http://127.0.0.1:40515/1539 === End of file stderr1539 === Start of file valgrind1539 ==161870== ==161870== Process terminating with default action of signal 4 (SIGILL) ==161870== Illegal opcode at address 0x51D5F1F ==161870== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161870== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161870== by 0x51D5F1F: Curl_open (url.c:525) ==161870== by 0x514F6EF: curl_easy_init (easy.c:371) ==161870== by 0x402E30C: test_lib1514.lto_priv.0 (lib1514.c:66) ==161870== by 0x400347F: main (first.c:280) ==161870== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161870== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161870== by 0x51D5EBD: Curl_open (url.c:504) ==161870== by 0x514F6EF: curl_easy_init (easy.c:371) ==161870== by 0x402E30C: test_lib1514.lto_priv.0 (lib1514.c:66) ==161870== by 0x400347F: main (first.c:280) ==161870== === End of file valgrind1539 startnew: /startdir/src/curl/tests/dictserver.py --port 35091 --pidfile "log/15/server/dict_server.pid" --logfile "log/15/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 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/19/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:41761/1545 > log/19/stdout1545 2> log/19/stderr1545 libtests returned 132, when expecting 0 1545: exit FAILED == Contents of files in the log/19/ 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 --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/4/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:37985/1540 > log/4/stdout1540 2> log/4/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/5/valgrind1546 ../src/curl -q --output log/5/curl1546.out --include --trace-ascii log/5/trace1546 --trace-time http://127.0.0.1:46771/1546 --tr-encoding > log/5/stdout1546 2> log/5/stderr1546 m-callers=16 --log-file=log/19/valgrind1545 ./libtest/libtests lib1545 http://127.0.0.1:41761/1545 > log/19/stdout1545 2> log/19/stderr1545 === End of file commands.log === Start of file http_server.log 19:01:49.199572 ====> Client connect 19:01:49.199605 accept_connection 3 returned 4 19:01:49.199622 accept_connection 3 returned 0 19:01:49.199638 Read 93 bytes 19:01:49.199649 Process 93 bytes request 19:01:49.199663 Got request: GET /verifiedserver HTTP/1.1 19:01:49.199673 Are-we-friendly question received 19:01:49.199698 Wrote request (93 bytes) input to log/19/server.input 19:01:49.199715 Identifying ourselves as friends 19:01:49.199794 Response sent (56 bytes) and written to log/19/server.response 19:01:49.199806 special request received, no persistency 19:01:49.199816 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 56928 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file stderr1545 URL: http://127.0.0.1:41761/1545 === End of file stderr1545 === Start of file valgrind1545 ==162155== ==162155== Process terminating with default action of signal 4 (SIGILL) ==162155== Illegal opcode at address 0x51D5F1F ==162155== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162155== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162155== by 0x51D5F1F: Curl_open (url.c:525) ==162155== by 0x514F6EF: curl_easy_init (easy.c:371) ==162155== by 0x4034349: test_lib1545.lto_priv.0 (lib1545.c:35) ==162155== by 0x400347F: main (first.c:280) ==162155== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162155== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162155== by 0x51D5EBD: Curl_open (url.c:504) ==162155== by 0x514F6EF: curl_easy_init (easy.c:371) ==162155== by 0x4034349: test_lib1545.lto_priv.0 (lib1545.c:35) ==162155== by 0x400347F: main (first.c:280) ==162155== === End of file valgrind1545 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/4/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:37985/1540 > log/4/stdout1540 2> log/4/stderr1540 1540: 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 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/4/valgrind1540 ./libtest/libtests lib1540 http://127.0.0.1:37985/1540 > log/4/stdout1540 2> log/4/stderr1540 === End of file commands.log === Start of file http_server.log 19:01:50.120729 ====> Client connect 19:01:50.120769 accept_connection 3 returned 4 19:01:50.120783 accept_connection 3 returned 0 19:01:50.120882 Read 93 bytes 19:01:50.120893 Process 93 bytes request 19:01:50.120951 Got request: GET /verifiedserver HTTP/1.1 19:01:50.120960 Are-we-friendly question received 19:01:50.121117 Wrote request (93 bytes) input to log/4/server.input 19:01:50.121131 Identifying ourselves as friends 19:01:50.121177 Response sent (56 bytes) and written to log/4/server.response 19:01:50.121185 special request received, no persistency 19:01:50.121193 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 44266 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file stderr1540 URL: http://127.0.0.1:37985/1540 === End of file stderr1540 === Start of file valgrind1540 ==161943== ==161943== Process terminating with default action of signal 4 (SIGILL) ==161943== Illegal opcode at address 0x51D5F1F ==161943== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161943== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161943== by 0x51D5F1F: Curl_open (url.c:525) ==161943== by 0x514F6EF: curl_easy_init (easy.c:371) ==161943== by 0x4032011: test_lib1540.lto_priv.0 (lib1540.c:96) ==161943== by 0x400347F: main (first.c:280) ==161943== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161943== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161943== by 0x51D5EBD: Curl_open (url.c:504) ==161943== by 0x514F6EF: curl_easy_init (easy.c:371) ==161943== by 0x4032011: test_lib1540.lto_priv.0 (lib1540.c:96) ==161943== by 0x400347F: main (first.c:280) ==161943== === End of file valgrind1540 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/5/valgrind1546 ../src/curl -q --output log/5/curl1546.out --include --trace-ascii log/5/trace1546 --trace-time http://127.0.0.1:46771/1546 --tr-encoding > log/5/stdout1546 2> log/5/stderr1546 1546: 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 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/5/valgrind1546 ../src/curl -q --output log/5/curl1546.out --include --trace-ascii log/5/trace1546 --trace-time http://127.0.0.1:46771/1546 --tr-encoding > log/5/stdout1546 2> log/5/stderr1546 === End of file commands.log === Start of file http_server.log 19:01:49.232789 ====> Client connect 19:01:49.232825 accept_connection 3 returned 4 19:01:49.232843 accept_connection 3 returned 0 19:01:49.232859 Read 93 bytes 19:01:49.232871 Process 93 bytes request 19:01:49.232885 Got request: GET /verifiedserver HTTP/1.1 19:01:49.232896 Are-we-friendly question received 19:01:49.232923 Wrote request (93 bytes) input to log/5/server.input 19:01:49.232942 Identifying ourselves as friends 19:01:49.233004 Response sent (56 bytes) and written to log/5/server.response 19:01:49.233017 special request received, no persistency 19:01:49.233028 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 34318 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === End of file http_verify.out === Start of file server.cmd Testnum 1546 =CMD (33792): ../libtool --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/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:35301/1541 > log/13/stdout1541 2> log/13/stderr1541 CMD (33792): ../libtool --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/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:37879/1542 > log/10/stdout1542 2> log/10/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/11/valgrind1550 ./libtest/libtests lib1550 - > log/11/stdout1550 2> log/11/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/22/valgrind1548 ../src/curl -q --output log/22/curl1548.out --include --trace-ascii log/22/trace1548 --trace-time -m 1 telnet://127.0.0.1:41061 log/22/stdout1548 2> log/22/stderr1548 == End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 76406 === End of file server.response === Start of file valgrind1546 ==162289== ==162289== Process terminating with default action of signal 4 (SIGILL) ==162289== Illegal opcode at address 0x4013E00 ==162289== at 0x4013E00: getparameter (tool_getparam.c:2846) ==162289== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==162289== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==162289== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1546 test 1541...[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/13/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:35301/1541 > log/13/stdout1541 2> log/13/stderr1541 1541: 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 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/13/valgrind1541 ./libtest/libtests lib1541 http://127.0.0.1:35301/1541 > log/13/stdout1541 2> log/13/stderr1541 === End of file commands.log === Start of file http_server.log 19:01:49.144666 ====> Client connect 19:01:49.144701 accept_connection 3 returned 4 19:01:49.144720 accept_connection 3 returned 0 19:01:49.144735 Read 93 bytes 19:01:49.144746 Process 93 bytes request 19:01:49.144760 Got request: GET /verifiedserver HTTP/1.1 19:01:49.144770 Are-we-friendly question received 19:01:49.144795 Wrote request (93 bytes) input to log/13/server.input 19:01:49.144813 Identifying ourselves as friends 19:01:49.144867 Response sent (56 bytes) and written to log/13/server.response 19:01:49.144877 special request received, no persistency 19:01:49.144887 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 46666 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === End of file server.response === Start of file stderr1541 URL: http://127.0.0.1:35301/1541 === End of file stderr1541 === Start of file valgrind1541 ==161986== ==161986== Process terminating with default action of signal 4 (SIGILL) ==161986== Illegal opcode at address 0x51D5F1F ==161986== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==161986== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==161986== by 0x51D5F1F: Curl_open (url.c:525) ==161986== by 0x514F6EF: curl_easy_init (easy.c:371) ==161986== by 0x4033CB4: test_lib1541.lto_priv.0 (lib1541.c:122) ==161986== by 0x400347F: main (first.c:280) ==161986== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==161986== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==161986== by 0x51D5EBD: Curl_open (url.c:504) ==161986== by 0x514F6EF: curl_easy_init (easy.c:371) ==161986== by 0x4033CB4: test_lib1541.lto_priv.0 (lib1541.c:122) ==161986== by 0x400347F: main (first.c:280) ==161986== === 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/10/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:37879/1542 > log/10/stdout1542 2> log/10/stderr1542 1542: 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 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/10/valgrind1542 ./libtest/libtests lib1542 http://127.0.0.1:37879/1542 > log/10/stdout1542 2> log/10/stderr1542 === End of file commands.log === Start of file http_server.log 19:01:49.184149 ====> Client connect 19:01:49.184182 accept_connection 3 returned 4 19:01:49.184199 accept_connection 3 returned 0 19:01:49.184215 Read 93 bytes 19:01:49.184226 Process 93 bytes request 19:01:49.184240 Got request: GET /verifiedserver HTTP/1.1 19:01:49.184251 Are-we-friendly question received 19:01:49.184275 Wrote request (93 bytes) input to log/10/server.input 19:01:49.184293 Identifying ourselves as friends 19:01:49.184336 Response sent (56 bytes) and written to log/10/server.response 19:01:49.184347 special request received, no persistency 19:01:49.184357 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 35174 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file stderr1542 URL: http://127.0.0.1:37879/1542 === End of file stderr1542 === Start of file valgrind1542 ==162104== ==162104== Process terminating with default action of signal 4 (SIGILL) ==162104== Illegal opcode at address 0x51D5F1F ==162104== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162104== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162104== by 0x51D5F1F: Curl_open (url.c:525) ==162104== by 0x514F6EF: curl_easy_init (easy.c:371) ==162104== by 0x402F69B: UnknownInlinedFun (lib1542.c:45) ==162104== by 0x402F69B: test_lib1542.lto_priv.0 (lib1542.c:38) ==162104== by 0x400347F: main (first.c:280) ==162104== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162104== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162104== by 0x51D5EBD: Curl_open (url.c:504) ==162104== by 0x514F6EF: curl_easy_init (easy.c:371) ==162104== by 0x402F69B: UnknownInlinedFun (lib1542.c:45) ==162104== by 0x402F69B: test_lib1542.lto_priv.0 (lib1542.c:38) ==162104== by 0x400347F: main (first.c:280) ==162104== === End of file valgrind1542 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/11/valgrind1550 ./libtest/libtests lib1550 - > log/11/stdout1550 2> log/11/stderr1550 libtests returned 132, when expecting 0 1550: exit FAILED == Contents of files in the log/11/ 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/11/valgrind1550 ./libtest/libtests lib1550 - > log/11/stdout1550 2> log/11/stderr1550 === End of file commands.log === Start of file server.cmd Testnum 1550 === End of file server.cmd === Start of file stderr155CMD (33792): ../libtool --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/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:38583/1525 127.0.0.1:37259 > log/20/stdout1525 2> log/20/stderr1525 0 URL: - === End of file stderr1550 === Start of file valgrind1550 ==162374== ==162374== Process terminating with default action of signal 4 (SIGILL) ==162374== Illegal opcode at address 0x519E800 ==162374== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==162374== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==162374== by 0x519E800: Curl_multi_handle (multi.c:247) ==162374== by 0x402C0A1: UnknownInlinedFun (lib1550.c:40) ==162374== by 0x402C0A1: test_lib1550.lto_priv.0 (lib1550.c:30) ==162374== by 0x400347F: main (first.c:280) ==162374== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==162374== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162374== by 0x519E794: Curl_multi_handle (multi.c:239) ==162374== by 0x402C0A1: UnknownInlinedFun (lib1550.c:40) ==162374== by 0x402C0A1: test_lib1550.lto_priv.0 (lib1550.c:30) ==162374== by 0x400347F: main (first.c:280) ==162374== === 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/22/valgrind1548 ../src/curl -q --output log/22/curl1548.out --include --trace-ascii log/22/trace1548 --trace-time -m 1 telnet://127.0.0.1:41061 log/22/stdout1548 2> log/22/stderr1548 curl returned 132, when expecting 28 1548: exit FAILED == Contents of files in the log/22/ 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/22/valgrind1548 ../src/curl -q --output log/22/curl1548.out --include --trace-ascii log/22/trace1548 --trace-time -m 1 telnet://127.0.0.1:41061 log/22/stdout1548 2> log/22/stderr1548 === End of file commands.log === Start of file http_server.log 19:01:49.243529 ====> Client connect 19:01:49.243559 accept_connection 3 returned 4 19:01:49.243574 accept_connection 3 returned 0 19:01:49.243585 Read 93 bytes 19:01:49.243595 Process 93 bytes request 19:01:49.243608 Got request: GET /verifiedserver HTTP/1.1 19:01:49.243617 Are-we-friendly question received 19:01:49.243637 Wrote request (93 bytes) input to log/22/server.input 19:01:49.243651 Identifying ourselves as friends 19:01:49.243699 Response sent (56 bytes) and written to log/22/server.response 19:01:49.243710 special request received, no persistency 19:01:49.243721 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 38256 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === 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 ==162314== ==162314== Process terminating with default action of signal 4 (SIGILL) ==162314== Illegal opcode at address 0x4013E00 ==162314== at 0x4013E00: getparameter (tool_getparam.c:2846) ==162314== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==162314== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==162314== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1548 startnew: /startdir/src/curl/tests/smbserver.py --port 42423 --pidfile "log/16/server/smb_server.pid" --logfile "log/16/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: /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 160923 port 37259 * pid http-proxy => 160923 160923 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/20/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:38583/1525 127.0.0.1:37259 > log/20/stdout1525 2> log/20/stderr1525 1525: 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 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/20/valgrind1525 ./libtest/libtests lib1525 http://the.old.moo.1525:38583/1525 127.0.0.1:37259 > log/20/stdout1525 2> log/20/stderr1525 === End of file commands.log === Start of file http2_server.log 19:01:48.274885 Run as proxy, CONNECT to host 127.0.0.1 19:01:48.275022 Running HTTP IPv4 version on port 37259 19:01:48.275068 Wrote pid 160923 to log/20/server/http2_server.pid 19:01:48.275099 Wrote port 37259 to log/20/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:01:48.252789 ====> Client connect 19:01:48.252822 accept_connection 3 returned 4 19:01:48.252841 accept_connection 3 returned 0 19:01:48.252859 Read 93 bytes 19:01:48.252870 Process 93 bytes request 19:01:48.252886 Got request: GET /verifiedserver HTTP/1.1 19:01:48.252897 Are-we-friendly question received 19:01:48.252922 Wrote request (93 bytes) input to log/20/server.input 19:01:48.252940 Identifying ourselves as friends 19:01:48.252993 Response sent (56 bytes) and written to log/20/server.response 19:01:48.253006 special request received, no persistency 19:01:48.253017 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 56526 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === End of file http_verify.out === 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: 74421 === End of file server.response === Start of file stderr1525 URL: http://the.old.moo.1525:38583/1525 === End of file stderr1525 === Start of file valgrind1525 ==162362== ==162362== Process terminating with default action of signal 4 (SIGILL) ==162362== Illegal opcode at address 0x51D5F1F ==162362== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162362== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162362== by 0x51D5F1F: Curl_open (url.c:525) ==162362== by 0x514F6EF: curl_easy_init (easy.c:371) ==162362== by 0x402EA6C: test_lib1525.lto_priv.0 (lib1525.c:60) ==162362== by 0x400347F: main (first.c:280) ==162362== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162362== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162362== by 0x51D5EBD: Curl_open (url.c:504) ==162362== by 0x514F6EF: curl_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/8/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:43853/1549 > log/8/stdout1549 2> log/8/stderr1549 CMD (33792): ../libtool --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/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:38373/ /with/ space/ /file" > log/9/stdout1543 2> log/9/stderr1543 asy_init (easy.c:371) ==162362== by 0x402EA6C: test_lib1525.lto_priv.0 (lib1525.c:60) ==162362== by 0x400347F: main (first.c:280) ==162362== === End of file valgrind1525 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/8/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:43853/1549 > log/8/stdout1549 2> log/8/stderr1549 1549: stderr FAILED: --- log/8/check-expected 2025-11-13 19:01:50.466058363 +0000 +++ log/8/check-generated 2025-11-13 19:01:50.466058363 +0000 @@ -1,3 +1 @@ URL: http://127.0.0.1:43853/1549[CR][LF] -0 cookies[CR][LF] -Test ended with result 0[CR][LF] == Contents of files in the log/8/ dir after test 1549 === Start of file check-expected URL: http://127.0.0.1:43853/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:43853/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/8/valgrind1549 ./libtest/libtests lib1549 http://127.0.0.1:43853/1549 > log/8/stdout1549 2> log/8/stderr1549 === End of file commands.log === Start of file http_server.log 19:01:49.246255 ====> Client connect 19:01:49.246289 accept_connection 3 returned 4 19:01:49.246307 accept_connection 3 returned 0 19:01:49.246322 Read 93 bytes 19:01:49.246333 Process 93 bytes request 19:01:49.246345 Got request: GET /verifiedserver HTTP/1.1 19:01:49.246356 Are-we-friendly question received 19:01:49.246383 Wrote request (93 bytes) input to log/8/server.input 19:01:49.246401 Identifying ourselves as friends 19:01:49.246457 Response sent (56 bytes) and written to log/8/server.response 19:01:49.246468 special request received, no persistency 19:01:49.246478 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 56576 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file stderr1549 URL: http://127.0.0.1:43853/1549 === End of file stderr1549 === Start of file valgrind1549 ==162323== ==162323== Process terminating with default action of signal 4 (SIGILL) ==162323== Illegal opcode at address 0x51D5F1F ==162323== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162323== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162323== by 0x51D5F1F: Curl_open (url.c:525) ==162323== by 0x514F6EF: curl_easy_init (easy.c:371) ==162323== by 0x4030937: test_lib1549.lto_priv.0 (lib1549.c:39) ==162323== by 0x400347F: main (first.c:280) ==162323== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162323== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162323== by 0x51D5EBD: Curl_open (url.c:504) ==162323== by 0x514F6EF: curl_easy_init (easy.c:371) ==162323== by 0x4030937: test_lib1549.lto_priv.0 (lib1549.c:39) ==162323== by 0x400347F: main (first.c:280) ==162323== === End of file valgrind1549 CMD (33792): ../libtool --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/valgrind1547 ../src/curl -q --output log/7/curl1547.out --include --trace-ascii log/7/trace1547 --trace-time ftp://127.0.0.1:34277/test-1547/ -P 127.0.0.1 --ftp-pasv > log/7/stdout1547 2> log/7/stderr1547 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/9/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:38373/ /with/ space/ /file" > log/9/stdout1543 2> log/9/stderr1543 1543: stdout FAILED: --- log/9/check-expected 2025-11-13 19:01:50.472725030 +0000 +++ log/9/check-generated 2025-11-13 19:01:50.472725030 +0000 @@ -1,5 +0,0 @@ -res 0[LF] -status 200[LF] -redirects 1[LF] -effectiveurl http://127.0.0.1:38373/%20/with/%20space/15430002[LF] -redirecturl blank[LF] == Contents of files in the log/9/ dir after test 1543 === Start of file check-expected res 0[LF] status 200[LF] redirects 1[LF] effectiveurl http://127.0.0.1:38373/%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/9/valgrind1543 ./libtest/libtests lib1518 "http://127.0.0.1:38373/ /with/ space/ /file" > log/9/stdout1543 2> log/9/stderr1543 === End of file commands.log === Start of file http_server.log 19:01:49.184145 ====> Client connect 19:01:49.184180 accept_connection 3 returned 4 19:01:49.184198 accept_connection 3 returned 0 19:01:49.184215 Read 93 bytes 19:01:49.184226 Process 93 bytes request 19:01:49.184243 Got request: GET /verifiedserver HTTP/1.1 19:01:49.184253 Are-we-friendly question received 19:01:49.184276 Wrote request (93 bytes) input to log/9/server.input 19:01:49.184296 Identifying ourselves as friends 19:01:49.184344 Response sent (57 bytes) and written to log/9/server.response 19:01:49.184358 special request received, no persistency 19:01:49.184368 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38373... * Established connection to 127.0.0.1 (127.0.0.1 port 38373) from 127.0.0.1 port 60160 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38373 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host 127.0.0.1:38373 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159573 === 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: 159573 === End of file server.response === Start of file stderr1543 URL: http://127.0.0.1:38373/ /with/ space/ /file === End of file stderr1543 === Start of file valgrind1543 ==162102== ==162102== Process terminating with default action of signal 4 (SIGILL) ==162102== Illegal opcode at address 0x51D5F1F ==162102== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162102== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162102== by 0x51D5F1F: Curl_open (url.c:525) ==162102== by 0x514F6EF: curl_easy_init (easy.c:371) ==162102== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==162102== by 0x400347F: main (first.c:280) ==162102== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162102== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162102== by 0x51D5EBD: Curl_open (url.c:504) ==162102== by 0x514F6EF: curl_easy_init (easy.c:371) ==162102== by 0x4031A98: test_lib1518.lto_priv.0 (lib1518.c:49) ==162102== by 0x400347F: main (first.c:280) ==162102== === End of file valgrind1543 startnew: /startdir/src/curl/tests/negtelnetserver.py --port 35277 --pidfile "log/3/server/telnet_server.pid" --logfile "log/3/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 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/7/valgrind1547 ../src/curl -q --output log/7/curl1547.out --include --trace-ascii log/7/trace1547 --trace-time ftp://127.0.0.1:34277/test-1547/ -P 127.0.0.1 --ftp-pasv > log/7/stdout1547 2> log/7/stderr1547 1547: 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 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/7/valgrind1547 ../src/curl -q --output log/7/curl1547.out --include --trace-ascii log/7/trace1547 --trace-time ftp://127.0.0.1:34277/test-1547/ -P 127.0.0.1 --ftp-pasv > log/7/stdout1547 2> log/7/stderr1547 === End of file commands.log === Start of file ftp_server.log 19:01:49.462206 ====> Client connect 19:01:49.462364 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:49.462683 < "USER anonymous" 19:01:49.462726 > "331 We are happy you popped in![CR][LF]" 19:01:49.462957 < "PASS ftp@example.com" 19:01:49.463010 > "230 Welcome you silly person[CR][LF]" 19:01:49.463242 < "PWD" 19:01:49.463283 > "257 "/" is current directory[CR][LF]" 19:01:49.463475 < "EPSV" 19:01:49.463507 ====> Passive DATA channel requested by client 19:01:49.463521 DATA sockfilt for passive data channel starting... 19:01:49.465364 DATA sockfilt for passive data channel started (pid 162259) 19:01:49.465493 DATA sockfilt for passive data channel listens on port 34509 19:01:49.465541 > "229 Entering Passive Mode (|||34509|)[CR][LF]" 19:01:49.465564 Client has been notified that DATA conn will be accepted on port 34509 19:01:49.465837 Client connects to port 34509 19:01:49.465869 ====> Client established passive DATA connection on port 34509 19:01:49.465951 < "TYPE I" 19:01:49.465984 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:49.466121 < "SIZE verifiedserver" 19:01:49.466151 > "213 17[CR][LF]" 19:01:49.466269 < "RETR verifiedserver" 19:01:49.466295 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:49.466365 =====> Closing passive DATA connection... 19:01:49.466381 Server disconnects passive DATA connection 19:01:49.466551 Server disconnected passive DATA connection 19:01:49.466575 DATA sockfilt for passive data channel quits (pid 162259) 19:01:49.466858 DATA sockfilt for passive data channel quit (pid 162259) 19:01:49.466871 =====> Closed passive DATA connection 19:01:49.466893 > "226 File transfer complete[CR][LF]" 19:01:49.512638 < "QUIT" 19:01:49.512696 > "221 bye bye baby[CR][LF]" 19:01:49.513122 MAIN sockfilt said DISC 19:01:49.513184 ====> Client disconnected 19:01:49.513277 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:49.234151 ====> Client connect 19:01:49.234434 Received DATA (on stdin) 19:01:49.234451 > 160 bytes data, server => client 19:01:49.234465 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:49.234476 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:49.234488 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:49.234581 < 16 bytes data, client => server 19:01:49.234595 'USER anonymous\r\n' 19:01:49.234785 Received DATA (on stdin) 19:01:49.234799 > 33 bytes data, server => client 19:01:49.234812 '331 We are happy you popped in!\r\n' 19:01:49.234872 < 22 bytes data, client => server 19:01:49.234886 'PASS ftp@example.com\r\n' 19:01:49.235078 Received DATA (on stdin) 19:01:49.235098 > 30 bytes data, server => client 19:01:49.235111 '230 Welcome you silly person\r\n' 19:01:49.235181 < 5 bytes data, client => server 19:01:49.235198 'PWD\r\n' 19:01:49.235339 Received DATA (on stdin) 19:01:49.235353 > 30 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/14/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:36759/1529" 127.0.0.1:37177 > log/14/stdout1529 2> log/14/stderr1529 CMD (33792): ../libtool --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/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:39771/1551 > log/18/stdout1551 2> log/18/stderr1551 ata, server => client 19:01:49.235365 '257 "/" is current directory\r\n' 19:01:49.235431 < 6 bytes data, client => server 19:01:49.235446 'EPSV\r\n' 19:01:49.237627 Received DATA (on stdin) 19:01:49.237644 > 39 bytes data, server => client 19:01:49.237657 '229 Entering Passive Mode (|||34509|)\r\n' 19:01:49.237835 < 8 bytes data, client => server 19:01:49.237849 'TYPE I\r\n' 19:01:49.238036 Received DATA (on stdin) 19:01:49.238048 > 33 bytes data, server => client 19:01:49.238057 '200 I modify TYPE as you wanted\r\n' 19:01:49.238103 < 21 bytes data, client => server 19:01:49.238112 'SIZE verifiedserver\r\n' 19:01:49.238201 Received DATA (on stdin) 19:01:49.238211 > 8 bytes data, server => client 19:01:49.238219 '213 17\r\n' 19:01:49.238256 < 21 bytes data, client => server 19:01:49.238265 'RETR verifiedserver\r\n' 19:01:49.238438 Received DATA (on stdin) 19:01:49.238451 > 29 bytes data, server => client 19:01:49.238463 '150 Binary junk (17 bytes).\r\n' 19:01:49.238945 Received DATA (on stdin) 19:01:49.238956 > 28 bytes data, server => client 19:01:49.238965 '226 File transfer complete\r\n' 19:01:49.284475 < 6 bytes data, client => server 19:01:49.284510 'QUIT\r\n' 19:01:49.284767 Received DATA (on stdin) 19:01:49.284781 > 18 bytes data, server => client 19:01:49.284793 '221 bye bye baby\r\n' 19:01:49.285089 ====> Client disconnect 19:01:49.285336 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:49.237217 Running IPv4 version 19:01:49.237294 Listening on port 34509 19:01:49.237333 Wrote pid 162259 to log/7/server/ftp_sockdata.pid 19:01:49.237356 Received PING (on stdin) 19:01:49.237458 Received PORT (on stdin) 19:01:49.237804 ====> Client connect 19:01:49.238490 Received DATA (on stdin) 19:01:49.238504 > 17 bytes data, server => client 19:01:49.238516 'WE ROOLZ: 89392\r\n' 19:01:49.238542 Received DISC (on stdin) 19:01:49.238555 ====> Client forcibly disconnected 19:01:49.238644 Received QUIT (on stdin) 19:01:49.238670 quits 19:01:49.238735 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 1547 === End of file server.cmd === Start of file valgrind1547 ==162513== ==162513== Process terminating with default action of signal 4 (SIGILL) ==162513== Illegal opcode at address 0x4013E00 ==162513== at 0x4013E00: getparameter (tool_getparam.c:2846) ==162513== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==162513== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==162513== by 0x40037A4: 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/14/server/http2_server.pid" --logfile "log/14/http2_server.log" --logdir "log/14" --portfile log/14/server/http2_server.port --config log/14/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 161286 port 37177 * pid http-proxy => 161286 161286 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/14/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:36759/1529" 127.0.0.1:37177 > log/14/stdout1529 2> log/14/stderr1529 libtests returned 132, when expecting 3 1529: exit FAILED == Contents of files in the log/14/ 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/14/valgrind1529 ./libtest/libtests lib1529 "http://the.old.moo:36759/1529" 127.0.0.1:37177 > log/14/stdout1529 2> log/14/stderr1529 === End of file commands.log === Start of file http2_server.log 19:01:48.406380 Run as proxy, CONNECT to host 127.0.0.1 19:01:48.406505 Running HTTP IPv4 version on port 37177 19:01:48.406554 Wrote pid 161286 to log/14/server/http2_server.pid 19:01:48.406588 Wrote port 37177 to log/14/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:01:48.383456 ====> Client connect 19:01:48.383489 accept_connection 3 returned 4 19:01:48.383506 accept_connection 3 returned 0 19:01:48.383522 Read 93 bytes 19:01:48.383534 Process 93 bytes request 19:01:48.383548 Got request: GET /verifiedserver HTTP/1.1 19:01:48.383559 Are-we-friendly question received 19:01:48.383583 Wrote request (93 bytes) input to log/14/server.input 19:01:48.383601 Identifying ourselves as friends 19:01:48.383654 Response sent (56 bytes) and written to log/14/server.response 19:01:48.383665 special request received, no persistency 19:01:48.383676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 40504 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === End of file http_verify.out === 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: 74428 === End of file server.response === Start of file stderr1529 URL: http://the.old.moo:36759/1529 === End of file stderr1529 === Start of file valgrind1529 ==162612== ==162612== Process terminating with default action of signal 4 (SIGILL) ==162612== Illegal opcode at address 0x51D5F1F ==162612== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162612== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162612== by 0x51D5F1F: Curl_open (url.c:525) ==162612== by 0x514F6EF: curl_easy_init (easy.c:371) ==162612== by 0x402F415: test_lib1529.lto_priv.0 (lib1529.c:41) ==162612== by 0x400347F: main (first.c:280) ==162612== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162612== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162612== by 0x51D5EBD: Curl_open (url.c:504) ==162612== by 0x514F6EF: curl_easy_init (easy.c:371) ==162612== by 0x402F415: test_lib1529.lto_priv.0 (lib1529.c:41) ==162612== by 0x400347F: main (first.c:280) ==162612== === End of file valgrind1529 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/18/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:39771/1551 > log/18/stdout1551 2> log/18/stderr1551 1551: 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 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/18/valgrind1551 ./libtest/libtests lib1551 http://127.0.0.1:39771/1551 > log/18/stdout1551 2> log/18/stderr1551 === End of file commands.log === Start of file http_server.log 19:01:49.405189 ====> Client connect 19:01:49.405220 accept_connection 3 returned 4 19:01:49.405235 accept_connection 3 returned 0 19:01:49.405247 Read 93 bytes 19:01:49.405256 Process 93 bytes request 19:01:49.405268 Got request: GET /verifiedserver HTTP/1.1 19:01:49.405277 Are-we-friendly question received 19:01:49.405302 Wrote request (93 bytes) input to log/18/server.input 19:01:49.405319 Identifying ourselves as friends 19:01:49.405393 Response sent (56 bytes) and written to log/18/server.response 19:01:49.405403 special request received, no persistency 19:CMD (33792): ../libtool --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/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:35043/1555 > log/21/stdout1555 2> log/21/stderr1555 01:49.405412 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 38288 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file stderr1551 URL: http://127.0.0.1:39771/1551 === End of file stderr1551 === Start of file valgrind1551 ==162648== ==162648== Process terminating with default action of signal 4 (SIGILL) ==162648== Illegal opcode at address 0x51D5F1F ==162648== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162648== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162648== by 0x51D5F1F: Curl_open (url.c:525) ==162648== by 0x514F6EF: curl_easy_init (easy.c:371) ==162648== by 0x402F96A: UnknownInlinedFun (lib1551.c:36) ==162648== by 0x402F96A: test_lib1551.lto_priv.0 (lib1551.c:30) ==162648== by 0x400347F: main (first.c:280) ==162648== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162648== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162648== by 0x51D5EBD: Curl_open (url.c:504) ==162648== by 0x514F6EF: curl_easy_init (easy.c:371) ==162648== by 0x402F96A: UnknownInlinedFun (lib1551.c:36) ==162648== by 0x402F96A: test_lib1551.lto_priv.0 (lib1551.c:30) ==162648== by 0x400347F: main (first.c:280) ==162648== === End of file valgrind1551 CMD (33792): ../libtool --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/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:34857/1553 > log/1/stdout1553 2> log/1/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/23/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:35243/1554 > log/23/stdout1554 2> log/23/stderr1554 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/21/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:35043/1555 > log/21/stdout1555 2> log/21/stderr1555 1555: stdout FAILED: --- log/21/check-expected 2025-11-13 19:01:50.652725031 +0000 +++ log/21/check-generated 2025-11-13 19:01:50.652725031 +0000 @@ -1,2 +0,0 @@ -curl_easy_recv returned 93[LF] -curl_easy_send returned 93[LF] == Contents of files in the log/21/ 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/21/valgrind1555 ./libtest/libtests lib1555 http://127.0.0.1:35043/1555 > log/21/stdout1555 2> log/21/stderr1555 === End of file commands.log === Start of file http_server.log 19:01:49.438578 ====> Client connect 19:01:49.438622 accept_connection 3 returned 4 19:01:49.438641 accept_connection 3 returned 0 19:01:49.438659 Read 93 bytes 19:01:49.438670 Process 93 bytes request 19:01:49.438684 Got request: GET /verifiedserver HTTP/1.1 19:01:49.438694 Are-we-friendly question received 19:01:49.438720 Wrote request (93 bytes) input to log/21/server.input 19:01:49.438737 Identifying ourselves as friends 19:01:49.438811 Response sent (56 bytes) and written to log/21/server.response 19:01:49.438823 special request received, no persistency 19:01:49.438833 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 37696 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file stderr1555 URL: http://127.0.0.1:35043/1555 === End of file stderr1555 === Start of file valgrind1555 ==162766== ==162766== Process terminating with default action of signal 4 (SIGILL) ==162766== Illegal opcode at address 0x51D5F1F ==162766== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162766== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162766== by 0x51D5F1F: Curl_open (url.c:525) ==162766== by 0x514F6EF: curl_easy_init (easy.c:371) ==162766== by 0x402FA86: UnknownInlinedFun (lib1555.c:62) ==162766== by 0x402FA86: test_lib1555.lto_priv.0 (lib1555.c:56) ==162766== by 0x400347F: main (first.c:280) ==162766== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162766== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162766== by 0x51D5EBD: Curl_open (url.c:504) ==162766== by 0x514F6EF: curl_easy_init (easy.c:371) ==162766== by 0x402FA86: UnknownInlinedFun (lib1555.c:62) ==162766== by 0x402FA86: test_lib1555.lto_priv.0 (lib1555.c:56) ==162766== by 0x400347F: main (first.c:280) ==162766== === End of file valgrind1555 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/1/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:34857/1553 > log/1/stdout1553 2> log/1/stderr1553 libtests returned 132, when expecting 0 1553: exit FAILED == Contents of files in the log/1/ 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/1/valgrind1553 ./libtest/libtests lib1553 imap://non-existing-host.haxx.se:34857/1553 > log/1/stdout1553 2> log/1/stderr1553 === End of file commands.log === Start of file imap_server.log 19:01:49.657675 ====> Client connect 19:01:49.657791 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:49.658015 < "A001 CAPABILITY" 19:01:49.658044 > "A001 BAD Command[CR][LF]" 19:01:49.658202 < "A002 LIST "verifiedserver" *" 19:01:49.658228 LIST_imap got "verifiedserver" * 19:01:49.658253 > "* LIST () "/" "WE ROOLZ: 118619"[CR][LF]" 19:01:49.658271 > "A002 OK LIST Completed[CR][LF]" 19:01:49.658286 return proof we are we 19:01:49.702471 < "A003 LOGOUT" 19:01:49.702526 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:49.702546 > "A003 OK LOGOUT completed[CR][LF]" 19:01:49.703589 MAIN sockfilt said DISC 19:01:49.703627 ====> Client disconnected 19:01:49.703714 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:50.429636 ====> Client connect 19:01:50.429849 Received DATA (on stdin) 19:01:50.429861 > 178 bytes data, server => client 19:01:50.429872 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:50.429881 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:50.429889 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:50.429897 'rve\r\n' 19:01:50.429953 < 17 bytes data, client => server 19:01:50.429963 'A001 CAPABILITY\r\n' 19:01:50.430096 Received DATA (on stdin) 19:01:50.430106 > 18 bytes data, server => client 19:01:50.430115 'A001 BAD Command\r\n' 19:01:50.430167 < 30 bytes data, client => server 19:01:50.430180 'A002 LIST "verifiedserver" *\r\n' 19:01:50.430341 Received DATA (on stdin) 19:01:50.430355 > 34 bytes data, server => client 19:01:50.430367 '* LIST () "/" "WE ROOLZ: 118619"\r\n' 19:01:50.430390 Received DATA (on stdin) 19:01:50.430400 > 24 bytes data, server => client 19:01:50.430412 'A002 OK LIST Completed\r\n' 19:01:50.474321 < 13 bytes data, client => server 19:01:50.474367 'A003 LOGOUT\r\n' 19:01:50.474578 Received DATA (on stdin) 19:01:50.474608 > 36 bytes data, server => client 19:01:50.474622 '* BYE curl IMAP server signing off\r\n' 19:01:50.474654 Received DATA (on stdin) 19:01:50.474666 > 26 bytes data, server => client 19:01:50.474678 'A003 OK LOGOUT completed\r\n' 19:01:50.475582 ====> Client disconnect 19:01:50.475771 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:34857/1553 === End of file stderr1553 === Start of file valgrind1553 ==162872== ==162872== Process terminating with default action of signal 4 (SIGILL) ==162872== Illegal opcode at address 0x519E800 ==162872== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==162872== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==162872== by 0x519E800: Curl_multi_handle (multi.c:247) ==162872== by 0x4034D44: UnknownInlinedFun (lib1553.c:57) ==162872== by 0x4034D44: test_lib1553.lto_priv.0 (lib1553.c:42) ==162872== by 0x400347F: main (first.c:280) ==162872== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==162872== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162872== by 0x519E794: Curl_multi_handle (multi.c:239) ==162872== by 0x4034D44: UnknownInlinedFun (lib1553.c:57) ==162872== by 0x4034D44: test_lib1553.lto_priv.0 (lib1553.c:42) ==162872== by 0x400347F: main (first.c:280) ==162872== === 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/12/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:41045/1552/;MAILINDEX=1' > log/12/stdout1552 2> log/12/stderr1552 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/23/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:35243/1554 > log/23/stdout1554 2> log/23/stderr1554 1554: data FAILED: --- log/23/check-expected 2025-11-13 19:01:50.666058366 +0000 +++ log/23/check-generated 2025-11-13 19:01:50.666058366 +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/23/ 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/23/valgrind1554 ./libtest/libtests lib1554 http://127.0.0.1:35243/1554 > log/23/stdout1554 2> log/23/stderr1554 === End of file commands.log === Start of file http_server.log 19:01:49.429711 ====> Client connect 19:01:49.429746 accept_connection 3 returned 4 19:01:49.429763 accept_connection 3 returned 0 19:01:49.429778 Read 93 bytes 19:01:49.429787 Process 93 bytes request 19:01:49.429803 Got request: GET /verifiedserver HTTP/1.1 19:01:49.429811 Are-we-friendly question received 19:01:49.429833 Wrote request (93 bytes) input to log/23/server.input 19:01:49.429847 Identifying ourselves as friends 19:01:49.429899 Response sent (56 bytes) and written to log/23/server.response 19:01:49.429910 special request received, no persistency 19:01:49.429920 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 52850 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.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:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file stderr1554 URL: http://127.0.0.1:35243/1554 === End of file stderr1554 === Start of file valgrind1554 ==162755== ==162755== Process terminating with default action of signal 4 (SIGILL) ==162755== Illegal opcode at address 0x51D5F1F ==162755== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162755== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162755== by 0x51D5F1F: Curl_open (url.c:525) ==162755== by 0x514F6EF: curl_easy_init (easy.c:371) ==162755== by 0x51C6E41: curl_share_init (share.c:49) ==162755== by 0x4035493: UnknownInlinedFun (lib1554.c:67) ==162755== by 0x4035493: test_lib1554.lto_priv.0 (lib1554.c:59) ==162755== by 0x400347F: main (first.c:280) ==162755== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==162755== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162755== by 0x51D5EBD: Curl_open (url.c:504) ==162755== by 0x514F6EF: curl_easy_init (easy.c:371) ==162755== by 0x51C6E41: curl_share_init (share.c:49) ==162755== by 0x4035493: UnknownInlinedFun (lib1554.c:67) ==162755== by 0x4035493: test_lib1554.lto_priv.0 (lib1554.c:59) ==162755== by 0x400347F: main (first.c:280) ==162755== === End of file valgrind1554 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/12/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:41045/1552/;MAILINDEX=1' > log/12/stdout1552 2> log/12/stderr1552 libtests returned 132, when expecting 0 1552: exit FAILED == Contents of files in the log/12/ 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/12/valgrind1552 ./libtest/libtests lib1552 'imap://127.0.0.1:41045/1552/;MAILINDEX=1' > log/12/stdout1552 2> log/12/stderr1552 === End of file commands.log === Start of file imap_server.log 19:01:49.646389 ====> Client connect 19:01:49.646527 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:49.646856 < "A001 CAPABILITY" 19:01:49.646901 > "A001 BAD Command[CR][LF]" 19:01:49.647112 < "A002 LIST "verifiedserver" *" 19:01:49.647146 LIST_imap got "verifiedserver" * 19:01:49.647177 > "* LIST () "/" "WE ROOLZ: 118723"[CR][LF]" 19:01:49.647197 > "A002 OK LIST Completed[CR][LF]" 19:01:49.647211 return proof we are we 19:01:49.692421 < "A003 LOGOUT" 19:01:49.692490 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:49.692515 > "A003 OK LOGOUT completed[CR][LF]" 19:01:49.693517 MAIN sockfilt said DISC 19:01:49.693569 ====> Client disconnected 19:01:49.693664 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01: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/6/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:41595/1556 > log/6/stdout1556 2> log/6/stderr1556 9.418116 ====> Client connect 19:01:49.418600 Received DATA (on stdin) 19:01:49.418620 > 178 bytes data, server => client 19:01:49.418635 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:49.418647 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:49.418659 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:49.418669 'rve\r\n' 19:01:49.418758 < 17 bytes data, client => server 19:01:49.418775 'A001 CAPABILITY\r\n' 19:01:49.418960 Received DATA (on stdin) 19:01:49.418975 > 18 bytes data, server => client 19:01:49.418987 'A001 BAD Command\r\n' 19:01:49.419054 < 30 bytes data, client => server 19:01:49.419069 'A002 LIST "verifiedserver" *\r\n' 19:01:49.419267 Received DATA (on stdin) 19:01:49.419281 > 34 bytes data, server => client 19:01:49.419293 '* LIST () "/" "WE ROOLZ: 118723"\r\n' 19:01:49.419316 Received DATA (on stdin) 19:01:49.419328 > 24 bytes data, server => client 19:01:49.419340 'A002 OK LIST Completed\r\n' 19:01:49.464259 < 13 bytes data, client => server 19:01:49.464292 'A003 LOGOUT\r\n' 19:01:49.464603 Received DATA (on stdin) 19:01:49.464621 > 36 bytes data, server => client 19:01:49.464632 '* BYE curl IMAP server signing off\r\n' 19:01:49.464659 Received DATA (on stdin) 19:01:49.464670 > 26 bytes data, server => client 19:01:49.464681 'A003 OK LOGOUT completed\r\n' 19:01:49.465496 ====> Client disconnect 19:01:49.465734 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:41045/1552/;MAILINDEX=1 === End of file stderr1552 === Start of file valgrind1552 ==162848== ==162848== Process terminating with default action of signal 4 (SIGILL) ==162848== Illegal opcode at address 0x519E800 ==162848== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==162848== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==162848== by 0x519E800: Curl_multi_handle (multi.c:247) ==162848== by 0x4034543: UnknownInlinedFun (lib1552.c:42) ==162848== by 0x4034543: test_lib1552.lto_priv.0 (lib1552.c:28) ==162848== by 0x400347F: main (first.c:280) ==162848== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==162848== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162848== by 0x519E794: Curl_multi_handle (multi.c:239) ==162848== by 0x4034543: UnknownInlinedFun (lib1552.c:42) ==162848== by 0x4034543: test_lib1552.lto_priv.0 (lib1552.c:28) ==162848== by 0x400347F: main (first.c:280) ==162848== === End of file valgrind1552 CMD (33792): ../libtool --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/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/24/data1558 > log/24/stdout1558 2> log/24/stderr1558 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/6/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:41595/1556 > log/6/stdout1556 2> log/6/stderr1556 1556: stdout FAILED: --- log/6/check-expected 2025-11-13 19:01:50.749391700 +0000 +++ log/6/check-generated 2025-11-13 19:01:50.749391700 +0000 @@ -1,2 +0,0 @@ --foo-[LF] -Max = 100009[LF] == Contents of files in the log/6/ 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/6/valgrind1556 ./libtest/libtests lib1556 http://127.0.0.1:41595/1556 > log/6/stdout1556 2> log/6/stderr1556 === End of file commands.log === Start of file http_server.log 19:01:49.522401 ====> Client connect 19:01:49.522445 accept_connection 3 returned 4 19:01:49.522468 accept_connection 3 returned 0 19:01:49.522487 Read 93 bytes 19:01:49.522499 Process 93 bytes request 19:01:49.522515 Got request: GET /verifiedserver HTTP/1.1 19:01:49.522525 Are-we-friendly question received 19:01:49.522553 Wrote request (93 bytes) input to log/6/server.input 19:01:49.522572 Identifying ourselves as friends 19:01:49.522631 Response sent (56 bytes) and written to log/6/server.response 19:01:49.522642 special request received, no persistency 19:01:49.522653 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 54542 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file stderr1556 URL: http://127.0.0.1:41595/1556 === End of file stderr1556 === Start of file valgrind1556 ==162969== ==162969== Process terminating with default action of signal 4 (SIGILL) ==162969== Illegal opcode at address 0x51D5F1F ==162969== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==162969== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==162969== by 0x51D5F1F: Curl_open (url.c:525) ==162969== by 0x514F6EF: curl_easy_init (easy.c:371) ==162969== by 0x402FD01: test_lib1556.lto_priv.0 (lib1556.c:54) ==162969== by 0x400347F: main (first.c:280) ==162969== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==162969== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==162969== by 0x51D5EBD: Curl_open (url.c:504) ==162969== by 0x514F6EF: curl_easy_init (easy.c:371) ==162969== by 0x402FD01: test_lib1556.lto_priv.0 (lib1556.c:54) ==162969== by 0x400347F: main (first.c:280) ==162969== === 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/2/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/2/stdout1557 2> log/2/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/17/valgrind1559 ./libtest/libtests lib1559 - > log/17/stdout1559 2> log/17/stderr1559 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/24/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/24/data1558 > log/24/stdout1558 2> log/24/stderr1558 1558: stdout FAILED: --- log/24/check-expected 2025-11-13 19:01:50.822725032 +0000 +++ log/24/check-generated 2025-11-13 19:01:50.822725032 +0000 @@ -1,2 +0,0 @@ -hello[LF] -Protocol: 400[LF] == Contents of files in the log/24/ 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/24/valgrind1558 ./libtest/libtests lib1558 file:///startdir/src/build-curl/tests/log/24/data1558 > log/24/stdout1558 2> log/24/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/24/data1558 === End of file stderr1558 === Start of file valgrind1558 ==163024== ==163024== Process terminating with default action of signal 4 (SIGILL) ==163024== Illegal opcode at address 0x51D5F1F ==163024== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163024== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163024== by 0x51D5F1F: Curl_open (url.c:525) ==163024== by 0x514F6EF: curl_easy_init (easy.c:371) ==163024== by 0x4030B01: test_lib1558.lto_priv.0 (lib1558.c:35) ==163024== by 0x400347F: main (first.c:280) ==163024== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163024== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163024== by 0x51D5EBD: Curl_open (url.c:504) ==163024== by 0x514F6EF: curl_easy_init (easy.c:371) ==163024== by 0x4030B01: test_lib1558.lto_priv.0 (lib1558.c:35) ==163024== by 0x400347F: main (first.c:280) ==163024== === End of file valgrind1558 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/2/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/2/stdout1557 2> log/2/stderr1557 libtests returned 132, when expecting 0 1557: exit FAILED == Contents of files in the log/2/ 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/2/valgrind1557 ./libtest/libtests lib1557 hostname.invalid > log/2/stdout1557 2> log/2/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 ==163019== ==163019== Process terminating with default action of signal 4 (SIGILL) ==163019== Illegal opcode at address 0x519E800 ==163019== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==163019== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==163019== by 0x519E800: Curl_multi_handle (multi.c:247) ==163019== by 0x402C184: test_lib1557.lto_priv.0 (lib1557.c:38) ==163019== by 0x400347F: main (first.c:280) ==163019== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==163019== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163019== by 0x519E794: Curl_multi_handle (multi.c:239) ==163019== by 0x402C184: test_lib1557.lto_priv.0 (lib1557.c:38) ==163019== by 0x400347F: main (first.c:280) ==163019== === End of file valgrind1557 CMD (33792): ../libtool --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/valgrind1563 ../src/curl -q --output log/15/curl1563.out --include --trace-ascii log/15/trace1563 --trace-time http://127.0.0.1:44531/15630001 -L -H "Host: www.example.com" > log/15/stdout1563 2> log/15/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/19/valgrind1564 ./libtest/libtests lib1564 - > log/19/stdout1564 2> log/19/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/5/valgrind1566 ../src/curl -q --trace-ascii log/5/trace1566 --trace-time http://127.0.0.1:46771/1566 -o log/5/output1566 --etag-compare log/5/etag1566 > log/5/stdout1566 2> log/5/stderr1566 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/17/valgrind1559 ./libtest/libtests lib1559 - > log/17/stdout1559 2> log/17/stderr1559 1559: stdout FAILED: --- log/17/check-expected 2025-11-13 19:01:51.166058369 +0000 +++ log/17/check-generated 2025-11-13 19:01:51.166058369 +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/17/ 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/17/valgrind1559 ./libtest/libtests lib1559 - > log/17/stdout1559 2> log/17/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 ==163154== ==163154== Process terminating with default action of signal 4 (SIGILL) ==163154== Illegal opcode at address 0x51D5F1F ==163154== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163154== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163154== by 0x51D5F1F: Curl_open (url.c:525) ==163154== by 0x514F6EF: curl_easy_init (easy.c:371) ==163154== by 0x40356CB: UnknownInlinedFun (lib1559.c:39) ==163154== by 0x40356CB: test_lib1559.lto_priv.0 (lib1559.c:28) ==163154== by 0x400347F: main (first.c:280) ==163154== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163154== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163154== by 0x51D5EBD: Curl_open (url.c:504) ==163154== by 0x514F6EF: curl_easy_init (easy.c:371) ==163154== by 0x40356CB: UnknownInlinedFun (lib1559.c:39) ==163154== by 0x40356CB: test_lib1559.lto_priv.0 (lib1559.c:28) ==163154== by 0x400347F: main (first.c:280) ==163154== === 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/15/valgrind1563 ../src/curl -q --output log/15/curl1563.out --include --trace-ascii log/15/trace1563 --trace-time http://127.0.0.1:44531/15630001 -L -H "Host: www.example.com" > log/15/stdout1563 2> log/15/stderr1563 1563: 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 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/15/valgrind1563 ../src/curl -q --output log/15/curl1563.out --include --trace-ascii log/15/trace1563 --trace-time http://127.0.0.1:44531/15630001 -L -H "Host: www.example.com" > log/15/stdout1563 2> log/15/stderr1563 === End of file commands.log === Start of file http_server.log 19:01:50.105117 ====> Client connect 19:01:50.105156 accept_connection 3 returned 4 19:01:50.105176 accept_connection 3 returned 0 19:01:50.105192 Read 93 bytes 19:01:50.105204 Process 93 bytes request 19:01:50.105219 Got request: GET /verifiedserver HTTP/1.1 19:01:50.105230 Are-we-friendly question received 19:01:50.105260 Wrote request (93 bytes) input to log/15/server.input 19:01:50.105279 Identifying ourselves as friends 19:01:50.105341 Response sent (56 bytes) and written to log/15/server.response 19:01:50.105354 special request received, no persistency 19:01:50.105364 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 36030 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind1563 ==163259== ==163259== Process terminating with default action of signal 4 (SIGILL) ==163259== Illegal opcode at address 0x4013E00 ==163259== at 0x4013E00: getparameter (tool_getparam.c:2846) ==163259== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==163259== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==163259== by 0x40037A4: 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/19/valgrind1564 ./libtest/libtests lib1564 - > log/19/stdout1564 2> log/19/stderr1564 libtests returned 132, when expecting 0 1564: exit FAILED == Contents of files in the log/19/ 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/19/valgrind1564 ./libtest/libtests lib1564 - > log/19/stdout1564 2> log/19/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 ==163289== ==163289== Process terminating with default action of signal 4 (SIGILL) ==163289== Illegal opcode at address 0x519E800 ==163289== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==163289== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==163289== by 0x519E800: Curl_multi_handle (multi.c:247) ==163289== by 0x4037A82: UnknownInlinedFun (lib1564.c:44) ==163289== by 0x4037A82: test_lib1564.lto_priv.0 (lib1564.c:30) ==163289== by 0x400347F: main (first.c:280) ==163289== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==163289== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163289== by 0x519E794: Curl_multi_handle (multi.c:239) ==163289== by 0x4037A82: UnknownInlinedFun (lib1564.c:44) ==163289== by 0x4037A82: test_lib1564.lto_priv.0 (lib1564.c:30) ==163289== by 0x400347F: main (first.c:280) ==163289== === End of file valgrind1564 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/5/valgrind1566 ../src/curl -q --trace-ascii log/5/trace1566 --trace-time http://127.0.0.1:46771/1566 -o log/5/output1566 --etag-compare log/5/etag1566 > log/5/stdout1566 2> log/5/stderr1566 1566: 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/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/4/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:37985/1 > log/4/stdout1565 2> log/4/stderr1565 CMD (33792): ../libtool --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/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:35301/1567 > log/13/stdout1567 2> log/13/stderr1567 / 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/5/valgrind1566 ../src/curl -q --trace-ascii log/5/trace1566 --trace-time http://127.0.0.1:46771/1566 -o log/5/output1566 --etag-compare log/5/etag1566 > log/5/stdout1566 2> log/5/stderr1566 === End of file commands.log === Start of file etag1566 "123456" === End of file etag1566 === Start of file http_server.log 19:01:50.185443 ====> Client connect 19:01:50.185486 accept_connection 3 returned 4 19:01:50.185506 accept_connection 3 returned 0 19:01:50.185524 Read 93 bytes 19:01:50.185536 Process 93 bytes request 19:01:50.185553 Got request: GET /verifiedserver HTTP/1.1 19:01:50.185564 Are-we-friendly question received 19:01:50.185595 Wrote request (93 bytes) input to log/5/server.input 19:01:50.185618 Identifying ourselves as friends 19:01:50.185679 Response sent (56 bytes) and written to log/5/server.response 19:01:50.185690 special request received, no persistency 19:01:50.185699 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46771... * Established connection to 127.0.0.1 (127.0.0.1 port 46771) from 127.0.0.1 port 43460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76406 === 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: 17 WE ROOLZ: 76406 === End of file server.response === Start of file valgrind1566 ==163434== ==163434== Process terminating with default action of signal 4 (SIGILL) ==163434== Illegal opcode at address 0x4013E00 ==163434== at 0x4013E00: getparameter (tool_getparam.c:2846) ==163434== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==163434== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==163434== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1566 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/4/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:37985/1 > log/4/stdout1565 2> log/4/stderr1565 libtests returned 132, when expecting 0 1565: exit FAILED == Contents of files in the log/4/ 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/4/valgrind1565 ./libtest/libtests lib1565 http://127.0.0.1:37985/1 > log/4/stdout1565 2> log/4/stderr1565 === End of file commands.log === Start of file http_server.log 19:01:51.158767 ====> Client connect 19:01:51.158832 accept_connection 3 returned 4 19:01:51.158868 accept_connection 3 returned 0 19:01:51.158884 Read 93 bytes 19:01:51.158895 Process 93 bytes request 19:01:51.158909 Got request: GET /verifiedserver HTTP/1.1 19:01:51.158920 Are-we-friendly question received 19:01:51.158946 Wrote request (93 bytes) input to log/4/server.input 19:01:51.158965 Identifying ourselves as friends 19:01:51.159021 Response sent (56 bytes) and written to log/4/server.response 19:01:51.159033 special request received, no persistency 19:01:51.159043 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 38076 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.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:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file stderr1565 URL: http://127.0.0.1:37985/1 === End of file stderr1565 === Start of file valgrind1565 ==163376== ==163376== Process terminating with default action of signal 4 (SIGILL) ==163376== Illegal opcode at address 0x519E800 ==163376== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==163376== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==163376== by 0x519E800: Curl_multi_handle (multi.c:247) ==163376== by 0x403916E: test_lib1565.lto_priv.0 (lib1565.c:106) ==163376== by 0x400347F: main (first.c:280) ==163376== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==163376== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163376== by 0x519E794: Curl_multi_handle (multi.c:239) ==163376== by 0x403916E: test_lib1565.lto_priv.0 (lib1565.c:106) ==163376== by 0x400347F: main (first.c:280) ==163376== === End of file valgrind1565 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/13/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:35301/1567 > log/13/stdout1567 2> log/13/stderr1567 1567: 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 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/13/valgrind1567 ./libtest/libtests lib1567 http://127.0.0.1:35301/1567 > log/13/stdout1567 2> log/13/stderr1567 === End of file commands.log === Start of file http_server.log 19:01:50.192586 ====> Client connect 19:01:50.192624 accept_connection 3 returned 4 19:01:50.192643 accept_connection 3 returned 0 19:01:50.192660 Read 93 bytes 19:01:50.192674 Process 93 bytes request 19:01:50.192688 Got request: GET /verifiedserver HTTP/1.1 19:01:50.192699 Are-we-friendly question received 19:01:50.192726 Wrote request (93 bytes) input to log/13/server.input 19:01:50.192744 Identifying ourselves as friends 19:01:50.192809 Response sent (56 bytes) and written to log/13/server.response 19:01:50.192822 special request received, no persistency 19:01:50.192833 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 43130 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === End of file http_verify.out === Start of file server.cmd Testnum 1567 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74477 === End of file server.response === Start of file stderr1567 URL: http://127.0.0.1:35301/1567 === End of file stderr1567 === Start of file valgrind1567 ==163456== ==163456== Process terminating with default action of signal 4 (SIGILL) ==163456== Illegal opcode at address 0x51D5F1F ==163456== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==CMD (33792): ../libtool --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/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:41017/1576 > log/7/stdout1576 2> log/7/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/10/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 37879 > log/10/stdout1568 2> log/10/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/22/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:36953/1570;type=D" ftp://127.0.0.1:36953/1570 > log/22/stdout1570 2> log/22/stderr1570 163456== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163456== by 0x51D5F1F: Curl_open (url.c:525) ==163456== by 0x514F6EF: curl_easy_init (easy.c:371) ==163456== by 0x403A6CC: UnknownInlinedFun (lib1567.c:37) ==163456== by 0x403A6CC: test_lib1567.lto_priv.0 (lib1567.c:30) ==163456== by 0x400347F: main (first.c:280) ==163456== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163456== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163456== by 0x51D5EBD: Curl_open (url.c:504) ==163456== by 0x514F6EF: curl_easy_init (easy.c:371) ==163456== by 0x403A6CC: UnknownInlinedFun (lib1567.c:37) ==163456== by 0x403A6CC: test_lib1567.lto_priv.0 (lib1567.c:30) ==163456== by 0x400347F: main (first.c:280) ==163456== === End of file valgrind1567 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/7/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:41017/1576 > log/7/stdout1576 2> log/7/stderr1576 1576: 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 1576 === Start of file commands.log ../libtool --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/valgrind1576 ./libtest/libtests lib1576 http://127.0.0.1:41017/1576 > log/7/stdout1576 2> log/7/stderr1576 === End of file commands.log === Start of file http_server.log 19:01:50.318895 ====> Client connect 19:01:50.318928 accept_connection 3 returned 4 19:01:50.318944 accept_connection 3 returned 0 19:01:50.318960 Read 93 bytes 19:01:50.318970 Process 93 bytes request 19:01:50.318986 Got request: GET /verifiedserver HTTP/1.1 19:01:50.318995 Are-we-friendly question received 19:01:50.319020 Wrote request (93 bytes) input to log/7/server.input 19:01:50.319038 Identifying ourselves as friends 19:01:50.319118 Response sent (56 bytes) and written to log/7/server.response 19:01:50.319130 special request received, no persistency 19:01:50.319139 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 57058 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file stderr1576 URL: http://127.0.0.1:41017/1576 === End of file stderr1576 === Start of file valgrind1576 ==164017== ==164017== Process terminating with default action of signal 4 (SIGILL) ==164017== Illegal opcode at address 0x51D5F1F ==164017== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164017== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164017== by 0x51D5F1F: Curl_open (url.c:525) ==164017== by 0x514F6EF: curl_easy_init (easy.c:371) ==164017== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164017== by 0x400347F: main (first.c:280) ==164017== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164017== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164017== by 0x51D5EBD: Curl_open (url.c:504) ==164017== by 0x514F6EF: curl_easy_init (easy.c:371) ==164017== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164017== by 0x400347F: main (first.c:280) ==164017== === End of file valgrind1576 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/10/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 37879 > log/10/stdout1568 2> log/10/stderr1568 1568: 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 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/10/valgrind1568 ./libtest/libtests lib1568 http://127.0.0.1/1568 37879 > log/10/stdout1568 2> log/10/stderr1568 === End of file commands.log === Start of file http_server.log 19:01:50.229921 ====> Client connect 19:01:50.229960 accept_connection 3 returned 4 19:01:50.229979 accept_connection 3 returned 0 19:01:50.229995 Read 93 bytes 19:01:50.230006 Process 93 bytes request 19:01:50.230022 Got request: GET /verifiedserver HTTP/1.1 19:01:50.230033 Are-we-friendly question received 19:01:50.230060 Wrote request (93 bytes) input to log/10/server.input 19:01:50.230079 Identifying ourselves as friends 19:01:50.230135 Response sent (56 bytes) and written to log/10/server.response 19:01:50.230147 special request received, no persistency 19:01:50.230158 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 49554 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file stderr1568 URL: http://127.0.0.1/1568 === End of file stderr1568 === Start of file valgrind1568 ==163644== ==163644== Process terminating with default action of signal 4 (SIGILL) ==163644== Illegal opcode at address 0x51D5F1F ==163644== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163644== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163644== by 0x51D5F1F: Curl_open (url.c:525) ==163644== by 0x514F6EF: curl_easy_init (easy.c:371) ==163644== by 0x403A7FE: test_lib1568.lto_priv.0 (lib1568.c:34) ==163644== by 0x400347F: main (first.c:280) ==163644== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163644== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163644== by 0x51D5EBD: Curl_open (url.c:504) ==163644== by 0x514F6EF: curl_easy_init (easy.c:371) ==163644== by 0x403A7FE: test_lib1568.lto_priv.0 (lib1568.c:34) ==163644== by 0x400347F: main (first.c:280) ==163644== === End of file valgrind1568 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/22/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:36953/1570;type=D" ftp://127.0.0.1:36953/1570 > log/22/stdout1570 2> log/22/stderr1570 1570: 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 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-CMD (33792): ../libtool --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/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:38373/1574 > log/9/stdout1574 2> log/9/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/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:42747/1571 > log/16/stdout1571 2> log/16/stderr1571 callers=16 --log-file=log/22/valgrind1570 ./libtest/libtests lib1569 "ftp://127.0.0.1:36953/1570;type=D" ftp://127.0.0.1:36953/1570 > log/22/stdout1570 2> log/22/stderr1570 === End of file commands.log === Start of file ftp_server.log 19:01:50.477975 ====> Client connect 19:01:50.478110 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:50.478373 < "USER anonymous" 19:01:50.478407 > "331 We are happy you popped in![CR][LF]" 19:01:50.478624 < "PASS ftp@example.com" 19:01:50.478649 > "230 Welcome you silly person[CR][LF]" 19:01:50.478800 < "PWD" 19:01:50.478825 > "257 "/" is current directory[CR][LF]" 19:01:50.478951 < "EPSV" 19:01:50.478971 ====> Passive DATA channel requested by client 19:01:50.478981 DATA sockfilt for passive data channel starting... 19:01:50.480821 DATA sockfilt for passive data channel started (pid 163617) 19:01:50.480972 DATA sockfilt for passive data channel listens on port 33693 19:01:50.481029 > "229 Entering Passive Mode (|||33693|)[CR][LF]" 19:01:50.481052 Client has been notified that DATA conn will be accepted on port 33693 19:01:50.481365 Client connects to port 33693 19:01:50.481401 ====> Client established passive DATA connection on port 33693 19:01:50.481501 < "TYPE I" 19:01:50.481537 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:50.481730 < "SIZE verifiedserver" 19:01:50.481771 > "213 17[CR][LF]" 19:01:50.481951 < "RETR verifiedserver" 19:01:50.481990 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:50.482160 =====> Closing passive DATA connection... 19:01:50.482185 Server disconnects passive DATA connection 19:01:50.482351 Server disconnected passive DATA connection 19:01:50.482381 DATA sockfilt for passive data channel quits (pid 163617) 19:01:50.482617 DATA sockfilt for passive data channel quit (pid 163617) 19:01:50.482641 =====> Closed passive DATA connection 19:01:50.482673 > "226 File transfer complete[CR][LF]" 19:01:50.529649 < "QUIT" 19:01:50.529703 > "221 bye bye baby[CR][LF]" 19:01:50.530203 MAIN sockfilt said DISC 19:01:50.530268 ====> Client disconnected 19:01:50.530352 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:51.249936 ====> Client connect 19:01:51.250178 Received DATA (on stdin) 19:01:51.250194 > 160 bytes data, server => client 19:01:51.250207 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:51.250219 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:51.250229 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:51.250298 < 16 bytes data, client => server 19:01:51.250311 'USER anonymous\r\n' 19:01:51.250460 Received DATA (on stdin) 19:01:51.250470 > 33 bytes data, server => client 19:01:51.250545 '331 We are happy you popped in!\r\n' 19:01:51.250591 < 22 bytes data, client => server 19:01:51.250600 'PASS ftp@example.com\r\n' 19:01:51.250699 Received DATA (on stdin) 19:01:51.250709 > 30 bytes data, server => client 19:01:51.250717 '230 Welcome you silly person\r\n' 19:01:51.250773 < 5 bytes data, client => server 19:01:51.250785 'PWD\r\n' 19:01:51.250874 Received DATA (on stdin) 19:01:51.250883 > 30 bytes data, server => client 19:01:51.250892 '257 "/" is current directory\r\n' 19:01:51.250937 < 6 bytes data, client => server 19:01:51.250945 'EPSV\r\n' 19:01:51.253119 Received DATA (on stdin) 19:01:51.253139 > 39 bytes data, server => client 19:01:51.253152 '229 Entering Passive Mode (|||33693|)\r\n' 19:01:51.253357 < 8 bytes data, client => server 19:01:51.253373 'TYPE I\r\n' 19:01:51.253597 Received DATA (on stdin) 19:01:51.253612 > 33 bytes data, server => client 19:01:51.253625 '200 I modify TYPE as you wanted\r\n' 19:01:51.253684 < 21 bytes data, client => server 19:01:51.253699 'SIZE verifiedserver\r\n' 19:01:51.253829 Received DATA (on stdin) 19:01:51.253843 > 8 bytes data, server => client 19:01:51.253855 '213 17\r\n' 19:01:51.253909 < 21 bytes data, client => server 19:01:51.253923 'RETR verifiedserver\r\n' 19:01:51.254266 Received DATA (on stdin) 19:01:51.254293 > 29 bytes data, server => client 19:01:51.254307 '150 Binary junk (17 bytes).\r\n' 19:01:51.254732 Received DATA (on stdin) 19:01:51.254747 > 28 bytes data, server => client 19:01:51.254759 '226 File transfer complete\r\n' 19:01:51.301535 < 6 bytes data, client => server 19:01:51.301564 'QUIT\r\n' 19:01:51.301762 Received DATA (on stdin) 19:01:51.301775 > 18 bytes data, server => client 19:01:51.301786 '221 bye bye baby\r\n' 19:01:51.302171 ====> Client disconnect 19:01:51.302415 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:50.252665 Running IPv4 version 19:01:50.252738 Listening on port 33693 19:01:50.252777 Wrote pid 163617 to log/22/server/ftp_sockdata.pid 19:01:50.252799 Received PING (on stdin) 19:01:50.252918 Received PORT (on stdin) 19:01:50.253323 ====> Client connect 19:01:50.254268 Received DATA (on stdin) 19:01:50.254292 > 17 bytes data, server => client 19:01:50.254306 'WE ROOLZ: 80850\r\n' 19:01:50.254338 Received DISC (on stdin) 19:01:50.254354 ====> Client forcibly disconnected 19:01:50.254444 Received QUIT (on stdin) 19:01:50.254456 quits 19:01:50.254514 ============> 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:36953/1570;type=D === End of file stderr1570 === Start of file valgrind1570 ==163907== ==163907== Process terminating with default action of signal 4 (SIGILL) ==163907== Illegal opcode at address 0x51D5F1F ==163907== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163907== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163907== by 0x51D5F1F: Curl_open (url.c:525) ==163907== by 0x514F6EF: curl_easy_init (easy.c:371) ==163907== by 0x4039C0C: UnknownInlinedFun (lib1569.c:34) ==163907== by 0x4039C0C: test_lib1569.lto_priv.0 (lib1569.c:28) ==163907== by 0x400347F: main (first.c:280) ==163907== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163907== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163907== by 0x51D5EBD: Curl_open (url.c:504) ==163907== by 0x514F6EF: curl_easy_init (easy.c:371) ==163907== by 0x4039C0C: UnknownInlinedFun (lib1569.c:34) ==163907== by 0x4039C0C: test_lib1569.lto_priv.0 (lib1569.c:28) ==163907== by 0x400347F: main (first.c:280) ==163907== === End of file valgrind1570 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/9/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:38373/1574 > log/9/stdout1574 2> log/9/stderr1574 1574: 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 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/9/valgrind1574 ./libtest/libtests lib1571 http://127.0.0.1:38373/1574 > log/9/stdout1574 2> log/9/stderr1574 === End of file commands.log === Start of file http_server.log 19:01:50.273493 ====> Client connect 19:01:50.273524 accept_connection 3 returned 4 19:01:50.273541 accept_connection 3 returned 0 19:01:50.273556 Read 93 bytes 19:01:50.273567 Process 93 bytes request 19:01:50.273580 Got request: GET /verifiedserver HTTP/1.1 19:01:50.273591 Are-we-friendly question received 19:01:50.273615 Wrote request (93 bytes) input to log/9/server.input 19:01:50.273636 Identifying ourselves as friends 19:01:50.273688 Response sent (57 bytes) and written to log/9/server.response 19:01:50.273699 special request received, no persistency 19:01:50CMD (33792): ../libtool --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/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:38583/1572 > log/20/stdout1572 2> log/20/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/3/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:46261/1575 > log/3/stdout1575 2> log/3/stderr1575 .273709 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38373... * Established connection to 127.0.0.1 (127.0.0.1 port 38373) from 127.0.0.1 port 39528 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38373 > User-Agent: curl/8.17.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:38373 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159573 === 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: 18 WE ROOLZ: 159573 === End of file server.response === Start of file stderr1574 URL: http://127.0.0.1:38373/1574 === End of file stderr1574 === Start of file valgrind1574 ==163738== ==163738== Process terminating with default action of signal 4 (SIGILL) ==163738== Illegal opcode at address 0x51D5F1F ==163738== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163738== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163738== by 0x51D5F1F: Curl_open (url.c:525) ==163738== by 0x514F6EF: curl_easy_init (easy.c:371) ==163738== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163738== by 0x400347F: main (first.c:280) ==163738== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163738== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163738== by 0x51D5EBD: Curl_open (url.c:504) ==163738== by 0x514F6EF: curl_easy_init (easy.c:371) ==163738== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163738== by 0x400347F: main (first.c:280) ==163738== === End of file valgrind1574 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/16/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:42747/1571 > log/16/stdout1571 2> log/16/stderr1571 1571: 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 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/16/valgrind1571 ./libtest/libtests lib1571 http://127.0.0.1:42747/1571 > log/16/stdout1571 2> log/16/stderr1571 === End of file commands.log === Start of file http_server.log 19:01:51.254051 ====> Client connect 19:01:51.254077 accept_connection 3 returned 4 19:01:51.254102 accept_connection 3 returned 0 19:01:51.254114 Read 93 bytes 19:01:51.254123 Process 93 bytes request 19:01:51.254135 Got request: GET /verifiedserver HTTP/1.1 19:01:51.254144 Are-we-friendly question received 19:01:51.254164 Wrote request (93 bytes) input to log/16/server.input 19:01:51.254178 Identifying ourselves as friends 19:01:51.254221 Response sent (56 bytes) and written to log/16/server.response 19:01:51.254230 special request received, no persistency 19:01:51.254238 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 40280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file stderr1571 URL: http://127.0.0.1:42747/1571 === End of file stderr1571 === Start of file valgrind1571 ==163690== ==163690== Process terminating with default action of signal 4 (SIGILL) ==163690== Illegal opcode at address 0x51D5F1F ==163690== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163690== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163690== by 0x51D5F1F: Curl_open (url.c:525) ==163690== by 0x514F6EF: curl_easy_init (easy.c:371) ==163690== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163690== by 0x400347F: main (first.c:280) ==163690== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163690== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163690== by 0x51D5EBD: Curl_open (url.c:504) ==163690== by 0x514F6EF: curl_easy_init (easy.c:371) ==163690== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163690== by 0x400347F: main (first.c:280) ==163690== === End of file valgrind1571 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/20/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:38583/1572 > log/20/stdout1572 2> log/20/stderr1572 1572: 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 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/20/valgrind1572 ./libtest/libtests lib1571 http://127.0.0.1:38583/1572 > log/20/stdout1572 2> log/20/stderr1572 === End of file commands.log === Start of file http_server.log 19:01:50.265115 ====> Client connect 19:01:50.265238 accept_connection 3 returned 4 19:01:50.265259 accept_connection 3 returned 0 19:01:50.265275 Read 93 bytes 19:01:50.265287 Process 93 bytes request 19:01:50.265303 Got request: GET /verifiedserver HTTP/1.1 19:01:50.265314 Are-we-friendly question received 19:01:50.265342 Wrote request (93 bytes) input to log/20/server.input 19:01:50.265361 Identifying ourselves as friends 19:01:50.265419 Response sent (56 bytes) and written to log/20/server.response 19:01:50.265432 special request received, no persistency 19:01:50.265442 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 49866 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file stderr1572 URL: http://127.0.0.1:38583/1572 === End of file stderr1572 === Start of file valgrind1572 ==163714== ==163714== Process terminating with default action of signal 4 (SIGILL) ==163714== Illegal opcode at address 0x51D5F1F ==163714== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163714== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163714== by 0x51D5F1F: Curl_open (url.c:525) ==163714== by 0x514F6EF: curl_easy_init (easy.c:371) ==163714== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163714== by 0x400347F: main (first.c:280) ==163714== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163714== at 0x510AC13: calloc (vg_replCMD (33792): ../libtool --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/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:43853/1573 > log/8/stdout1573 2> log/8/stderr1573 CMD (33792): ../libtool --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/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:35787/1569;type=A" ftp://127.0.0.1:35787/1569 > log/11/stdout1569 2> log/11/stderr1569 ace_malloc.c:1675) ==163714== by 0x51D5EBD: Curl_open (url.c:504) ==163714== by 0x514F6EF: curl_easy_init (easy.c:371) ==163714== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163714== by 0x400347F: main (first.c:280) ==163714== === 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/3/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:46261/1575 > log/3/stdout1575 2> log/3/stderr1575 1575: 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 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/3/valgrind1575 ./libtest/libtests lib1571 http://127.0.0.1:46261/1575 > log/3/stdout1575 2> log/3/stderr1575 === End of file commands.log === Start of file http_server.log 19:01:51.279450 ====> Client connect 19:01:51.279486 accept_connection 3 returned 4 19:01:51.279503 accept_connection 3 returned 0 19:01:51.279519 Read 93 bytes 19:01:51.279530 Process 93 bytes request 19:01:51.279545 Got request: GET /verifiedserver HTTP/1.1 19:01:51.279556 Are-we-friendly question received 19:01:51.279582 Wrote request (93 bytes) input to log/3/server.input 19:01:51.279599 Identifying ourselves as friends 19:01:51.279655 Response sent (56 bytes) and written to log/3/server.response 19:01:51.279666 special request received, no persistency 19:01:51.279676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 43316 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file stderr1575 URL: http://127.0.0.1:46261/1575 === End of file stderr1575 === Start of file valgrind1575 ==163782== ==163782== Process terminating with default action of signal 4 (SIGILL) ==163782== Illegal opcode at address 0x51D5F1F ==163782== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163782== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163782== by 0x51D5F1F: Curl_open (url.c:525) ==163782== by 0x514F6EF: curl_easy_init (easy.c:371) ==163782== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163782== by 0x400347F: main (first.c:280) ==163782== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163782== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163782== by 0x51D5EBD: Curl_open (url.c:504) ==163782== by 0x514F6EF: curl_easy_init (easy.c:371) ==163782== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163782== by 0x400347F: main (first.c:280) ==163782== === End of file valgrind1575 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/8/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:43853/1573 > log/8/stdout1573 2> log/8/stderr1573 1573: 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 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/8/valgrind1573 ./libtest/libtests lib1571 http://127.0.0.1:43853/1573 > log/8/stdout1573 2> log/8/stderr1573 === End of file commands.log === Start of file http_server.log 19:01:50.270125 ====> Client connect 19:01:50.270161 accept_connection 3 returned 4 19:01:50.270179 accept_connection 3 returned 0 19:01:50.270195 Read 93 bytes 19:01:50.270206 Process 93 bytes request 19:01:50.270220 Got request: GET /verifiedserver HTTP/1.1 19:01:50.270231 Are-we-friendly question received 19:01:50.270257 Wrote request (93 bytes) input to log/8/server.input 19:01:50.270274 Identifying ourselves as friends 19:01:50.270325 Response sent (56 bytes) and written to log/8/server.response 19:01:50.270336 special request received, no persistency 19:01:50.270345 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 37950 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === End of file http_verify.out === Start of file server.cmd Testnum 1573 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74688 === End of file server.response === Start of file stderr1573 URL: http://127.0.0.1:43853/1573 === End of file stderr1573 === Start of file valgrind1573 ==163727== ==163727== Process terminating with default action of signal 4 (SIGILL) ==163727== Illegal opcode at address 0x51D5F1F ==163727== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163727== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163727== by 0x51D5F1F: Curl_open (url.c:525) ==163727== by 0x514F6EF: curl_easy_init (easy.c:371) ==163727== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163727== by 0x400347F: main (first.c:280) ==163727== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163727== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163727== by 0x51D5EBD: Curl_open (url.c:504) ==163727== by 0x514F6EF: curl_easy_init (easy.c:371) ==163727== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==163727== by 0x400347F: main (first.c:280) ==163727== === End of file valgrind1573 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/11/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:35787/1569;type=A" ftp://127.0.0.1:35787/1569 > log/11/stdout1569 2> log/11/stderr1569 1569: 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 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/11/valgrind1569 ./libtest/libtests lib1569 "ftp://127.0.0.1:35787/1569;type=A" ftp://127.0.0.1:35787/1569 > log/11/stdout1569 2> log/11/stderr1569 === End of file commands.log === Start of file ftp_server.log 19:01:50.476767 ====> Client connect 19:01:50.476916 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:50.477195 < "USER anonymous" 19:01:50.47CMD (33792): ../libtool --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/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:36759/1577 1577 > log/14/stdout1577 2> log/14/stderr1577 7232 > "331 We are happy you popped in![CR][LF]" 19:01:50.477397 < "PASS ftp@example.com" 19:01:50.477422 > "230 Welcome you silly person[CR][LF]" 19:01:50.477593 < "PWD" 19:01:50.477622 > "257 "/" is current directory[CR][LF]" 19:01:50.477756 < "EPSV" 19:01:50.477779 ====> Passive DATA channel requested by client 19:01:50.477793 DATA sockfilt for passive data channel starting... 19:01:50.480397 DATA sockfilt for passive data channel started (pid 163615) 19:01:50.480509 DATA sockfilt for passive data channel listens on port 40463 19:01:50.480549 > "229 Entering Passive Mode (|||40463|)[CR][LF]" 19:01:50.480568 Client has been notified that DATA conn will be accepted on port 40463 19:01:50.485847 Client connects to port 40463 19:01:50.485890 ====> Client established passive DATA connection on port 40463 19:01:50.485985 < "TYPE I" 19:01:50.486021 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:50.486298 < "SIZE verifiedserver" 19:01:50.486364 > "213 17[CR][LF]" 19:01:50.486539 < "RETR verifiedserver" 19:01:50.486581 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:50.486674 =====> Closing passive DATA connection... 19:01:50.486692 Server disconnects passive DATA connection 19:01:50.489071 Server disconnected passive DATA connection 19:01:50.489108 DATA sockfilt for passive data channel quits (pid 163615) 19:01:50.489379 DATA sockfilt for passive data channel quit (pid 163615) 19:01:50.489407 =====> Closed passive DATA connection 19:01:50.489442 > "226 File transfer complete[CR][LF]" 19:01:50.532942 < "QUIT" 19:01:50.533042 > "221 bye bye baby[CR][LF]" 19:01:50.533294 MAIN sockfilt said DISC 19:01:50.533544 ====> Client disconnected 19:01:50.533628 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:50.248718 ====> Client connect 19:01:50.248981 Received DATA (on stdin) 19:01:50.248997 > 160 bytes data, server => client 19:01:50.249010 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:50.249022 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:50.249033 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:50.249109 < 16 bytes data, client => server 19:01:50.249123 'USER anonymous\r\n' 19:01:50.249289 Received DATA (on stdin) 19:01:50.249302 > 33 bytes data, server => client 19:01:50.249313 '331 We are happy you popped in!\r\n' 19:01:50.249363 < 22 bytes data, client => server 19:01:50.249374 'PASS ftp@example.com\r\n' 19:01:50.249477 Received DATA (on stdin) 19:01:50.249491 > 30 bytes data, server => client 19:01:50.249504 '230 Welcome you silly person\r\n' 19:01:50.249554 < 5 bytes data, client => server 19:01:50.249567 'PWD\r\n' 19:01:50.249673 Received DATA (on stdin) 19:01:50.249683 > 30 bytes data, server => client 19:01:50.249692 '257 "/" is current directory\r\n' 19:01:50.249739 < 6 bytes data, client => server 19:01:50.249748 'EPSV\r\n' 19:01:50.252629 Received DATA (on stdin) 19:01:50.252643 > 39 bytes data, server => client 19:01:50.252655 '229 Entering Passive Mode (|||40463|)\r\n' 19:01:50.257435 < 8 bytes data, client => server 19:01:50.257458 'TYPE I\r\n' 19:01:50.258076 Received DATA (on stdin) 19:01:50.258090 > 33 bytes data, server => client 19:01:50.258102 '200 I modify TYPE as you wanted\r\n' 19:01:50.258197 < 21 bytes data, client => server 19:01:50.258223 'SIZE verifiedserver\r\n' 19:01:50.258423 Received DATA (on stdin) 19:01:50.258437 > 8 bytes data, server => client 19:01:50.258450 '213 17\r\n' 19:01:50.258504 < 21 bytes data, client => server 19:01:50.258518 'RETR verifiedserver\r\n' 19:01:50.258752 Received DATA (on stdin) 19:01:50.258766 > 29 bytes data, server => client 19:01:50.258779 '150 Binary junk (17 bytes).\r\n' 19:01:50.261537 Received DATA (on stdin) 19:01:50.261558 > 28 bytes data, server => client 19:01:50.261572 '226 File transfer complete\r\n' 19:01:50.304840 < 6 bytes data, client => server 19:01:50.304882 'QUIT\r\n' 19:01:50.305087 Received DATA (on stdin) 19:01:50.305164 > 18 bytes data, server => client 19:01:50.305177 '221 bye bye baby\r\n' 19:01:50.305299 ====> Client disconnect 19:01:50.305684 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:50.251698 Running IPv4 version 19:01:50.251763 Listening on port 40463 19:01:50.251800 Wrote pid 163615 to log/11/server/ftp_sockdata.pid 19:01:50.252386 Received PING (on stdin) 19:01:50.252475 Received PORT (on stdin) 19:01:50.257484 ====> Client connect 19:01:50.260962 Received DATA (on stdin) 19:01:50.260983 > 17 bytes data, server => client 19:01:50.260995 'WE ROOLZ: 80684\r\n' 19:01:50.261040 Received DISC (on stdin) 19:01:50.261060 ====> Client forcibly disconnected 19:01:50.261177 Received QUIT (on stdin) 19:01:50.261190 quits 19:01:50.261263 ============> 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:35787/1569;type=A === End of file stderr1569 === Start of file valgrind1569 ==163925== ==163925== Process terminating with default action of signal 4 (SIGILL) ==163925== Illegal opcode at address 0x51D5F1F ==163925== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==163925== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==163925== by 0x51D5F1F: Curl_open (url.c:525) ==163925== by 0x514F6EF: curl_easy_init (easy.c:371) ==163925== by 0x4039C0C: UnknownInlinedFun (lib1569.c:34) ==163925== by 0x4039C0C: test_lib1569.lto_priv.0 (lib1569.c:28) ==163925== by 0x400347F: main (first.c:280) ==163925== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==163925== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==163925== by 0x51D5EBD: Curl_open (url.c:504) ==163925== by 0x514F6EF: curl_easy_init (easy.c:371) ==163925== by 0x4039C0C: UnknownInlinedFun (lib1569.c:34) ==163925== by 0x4039C0C: test_lib1569.lto_priv.0 (lib1569.c:28) ==163925== by 0x400347F: main (first.c:280) ==163925== === End of file valgrind1569 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/14/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:36759/1577 1577 > log/14/stdout1577 2> log/14/stderr1577 1577: 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 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/14/valgrind1577 ./libtest/libtests lib1576 http://127.0.0.1:36759/1577 1577 > log/14/stdout1577 2> log/14/stderr1577 === End of file commands.log === Start of file http_server.log 19:01:50.417487 ====> Client connect 19:01:50.417531 accept_connection 3 returned 4 19:01:50.417551 accept_connection 3 returned 0 19:01:50.417569 Read 93 bytes 19:01:50.417581 Process 93 bytes request 19:01:50.417596 Got request: GET /verifiedserver HTTP/1.1 19:01:50.417607 Are-we-friendly question received 19:01:50.417635 Wrote request (93 bytes) input to log/14/server.input 19:01:50.417655 Identifying ourselves as friends 19:01:50.417721 Response sent (56 bytes) and written to log/14/server.response 19:01:50.417734 special request received, no persistency 19:01:50.417745 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 36902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === 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/18/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:39771/1578 > log/18/stdout1578 2> log/18/stderr1578 CMD (33792): ../libtool --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/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:35043/1579 1579 > log/21/stdout1579 2> log/21/stderr1579 CMD (33792): ../libtool --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/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:40353/1581 > log/1/stdout1581 2> log/1/stderr1581 erify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file stderr1577 URL: http://127.0.0.1:36759/1577 === End of file stderr1577 === Start of file valgrind1577 ==164156== ==164156== Process terminating with default action of signal 4 (SIGILL) ==164156== Illegal opcode at address 0x51D5F1F ==164156== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164156== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164156== by 0x51D5F1F: Curl_open (url.c:525) ==164156== by 0x514F6EF: curl_easy_init (easy.c:371) ==164156== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164156== by 0x400347F: main (first.c:280) ==164156== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164156== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164156== by 0x51D5EBD: Curl_open (url.c:504) ==164156== by 0x514F6EF: curl_easy_init (easy.c:371) ==164156== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164156== by 0x400347F: main (first.c:280) ==164156== === End of file valgrind1577 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/18/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:39771/1578 > log/18/stdout1578 2> log/18/stderr1578 1578: 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 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/18/valgrind1578 ./libtest/libtests lib1576 http://127.0.0.1:39771/1578 > log/18/stdout1578 2> log/18/stderr1578 === End of file commands.log === Start of file http_server.log 19:01:50.446418 ====> Client connect 19:01:50.446465 accept_connection 3 returned 4 19:01:50.446484 accept_connection 3 returned 0 19:01:50.446500 Read 93 bytes 19:01:50.446512 Process 93 bytes request 19:01:50.446528 Got request: GET /verifiedserver HTTP/1.1 19:01:50.446538 Are-we-friendly question received 19:01:50.446568 Wrote request (93 bytes) input to log/18/server.input 19:01:50.446588 Identifying ourselves as friends 19:01:50.446655 Response sent (56 bytes) and written to log/18/server.response 19:01:50.446670 special request received, no persistency 19:01:50.446681 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 43408 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file stderr1578 URL: http://127.0.0.1:39771/1578 === End of file stderr1578 === Start of file valgrind1578 ==164195== ==164195== Process terminating with default action of signal 4 (SIGILL) ==164195== Illegal opcode at address 0x51D5F1F ==164195== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164195== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164195== by 0x51D5F1F: Curl_open (url.c:525) ==164195== by 0x514F6EF: curl_easy_init (easy.c:371) ==164195== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164195== by 0x400347F: main (first.c:280) ==164195== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164195== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164195== by 0x51D5EBD: Curl_open (url.c:504) ==164195== by 0x514F6EF: curl_easy_init (easy.c:371) ==164195== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164195== by 0x400347F: main (first.c:280) ==164195== === End of file valgrind1578 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/21/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:35043/1579 1579 > log/21/stdout1579 2> log/21/stderr1579 1579: 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 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/21/valgrind1579 ./libtest/libtests lib1576 http://127.0.0.1:35043/1579 1579 > log/21/stdout1579 2> log/21/stderr1579 === End of file commands.log === Start of file http_server.log 19:01:50.464157 ====> Client connect 19:01:50.464190 accept_connection 3 returned 4 19:01:50.464209 accept_connection 3 returned 0 19:01:50.464412 Read 93 bytes 19:01:50.464441 Process 93 bytes request 19:01:50.464457 Got request: GET /verifiedserver HTTP/1.1 19:01:50.464469 Are-we-friendly question received 19:01:50.464504 Wrote request (93 bytes) input to log/21/server.input 19:01:50.464525 Identifying ourselves as friends 19:01:50.464603 Response sent (56 bytes) and written to log/21/server.response 19:01:50.464615 special request received, no persistency 19:01:50.464627 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 48456 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file stderr1579 URL: http://127.0.0.1:35043/1579 === End of file stderr1579 === Start of file valgrind1579 ==164256== ==164256== Process terminating with default action of signal 4 (SIGILL) ==164256== Illegal opcode at address 0x51D5F1F ==164256== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164256== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164256== by 0x51D5F1F: Curl_open (url.c:525) ==164256== by 0x514F6EF: curl_easy_init (easy.c:371) ==164256== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164256== by 0x400347F: main (first.c:280) ==164256== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164256== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164256== by 0x51D5EBD: Curl_open (url.c:504) ==164256== by 0x514F6EF: curl_easy_init (easy.c:371) ==164256== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164256== by 0x400347F: main (first.c:280) ==164256== === End of file valgrind1579 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-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/23/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:35243/1580 1578 > log/23/stdout1580 2> log/23/stderr1580 CMD (33792): ../libtool --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/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:41595/bzz/1591 log/6/stdout1591 2> log/6/stderr1591 allers=16 --log-file=log/1/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:40353/1581 > log/1/stdout1581 2> log/1/stderr1581 1581: 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 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/1/valgrind1581 ./libtest/libtests lib1571 http://127.0.0.1:40353/1581 > log/1/stdout1581 2> log/1/stderr1581 === End of file commands.log === Start of file http_server.log 19:01:50.480038 ====> Client connect 19:01:50.480075 accept_connection 3 returned 4 19:01:50.480094 accept_connection 3 returned 0 19:01:50.480111 Read 93 bytes 19:01:50.480123 Process 93 bytes request 19:01:50.480139 Got request: GET /verifiedserver HTTP/1.1 19:01:50.480150 Are-we-friendly question received 19:01:50.480179 Wrote request (93 bytes) input to log/1/server.input 19:01:50.480200 Identifying ourselves as friends 19:01:50.480267 Response sent (56 bytes) and written to log/1/server.response 19:01:50.480281 special request received, no persistency 19:01:50.480292 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 40236 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file stderr1581 URL: http://127.0.0.1:40353/1581 === End of file stderr1581 === Start of file valgrind1581 ==164327== ==164327== Process terminating with default action of signal 4 (SIGILL) ==164327== Illegal opcode at address 0x51D5F1F ==164327== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164327== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164327== by 0x51D5F1F: Curl_open (url.c:525) ==164327== by 0x514F6EF: curl_easy_init (easy.c:371) ==164327== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==164327== by 0x400347F: main (first.c:280) ==164327== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164327== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164327== by 0x51D5EBD: Curl_open (url.c:504) ==164327== by 0x514F6EF: curl_easy_init (easy.c:371) ==164327== by 0x4039DEA: test_lib1571.lto_priv.0 (lib1571.c:38) ==164327== by 0x400347F: main (first.c:280) ==164327== === End of file valgrind1581 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/23/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:35243/1580 1578 > log/23/stdout1580 2> log/23/stderr1580 1580: 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 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/23/valgrind1580 ./libtest/libtests lib1576 http://127.0.0.1:35243/1580 1578 > log/23/stdout1580 2> log/23/stderr1580 === End of file commands.log === Start of file http_server.log 19:01:50.470724 ====> Client connect 19:01:50.470776 accept_connection 3 returned 4 19:01:50.470793 accept_connection 3 returned 0 19:01:50.470816 Read 93 bytes 19:01:50.470827 Process 93 bytes request 19:01:50.470841 Got request: GET /verifiedserver HTTP/1.1 19:01:50.470852 Are-we-friendly question received 19:01:50.470878 Wrote request (93 bytes) input to log/23/server.input 19:01:50.470897 Identifying ourselves as friends 19:01:50.470951 Response sent (56 bytes) and written to log/23/server.response 19:01:50.470963 special request received, no persistency 19:01:50.470973 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 45722 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === End of file http_verify.out === Start of file server.cmd Testnum 1580 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74418 === End of file server.response === Start of file stderr1580 URL: http://127.0.0.1:35243/1580 === End of file stderr1580 === Start of file valgrind1580 ==164297== ==164297== Process terminating with default action of signal 4 (SIGILL) ==164297== Illegal opcode at address 0x51D5F1F ==164297== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164297== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164297== by 0x51D5F1F: Curl_open (url.c:525) ==164297== by 0x514F6EF: curl_easy_init (easy.c:371) ==164297== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164297== by 0x400347F: main (first.c:280) ==164297== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164297== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164297== by 0x51D5EBD: Curl_open (url.c:504) ==164297== by 0x514F6EF: curl_easy_init (easy.c:371) ==164297== by 0x403AE4C: test_lib1576.lto_priv.0 (lib1576.c:61) ==164297== by 0x400347F: main (first.c:280) ==164297== === End of file valgrind1580 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/6/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:41595/bzz/1591 log/6/stdout1591 2> log/6/stderr1591 1591: 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 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/6/valgrind1591 ./libtest/libtests lib1591 http://127.0.0.1:41595/bzz/1591 log/6/stdout1591 2> log/6/stderr1591 === End of file commands.log === Start of file http_server.log 19:01:50.553407 ====> Client connect 19:01:50.553444 accept_connection 3 returned 4 19:01:50.553462 accept_connection 3 returned 0 19:01:50.553478 Read 93 bytes 19:01:50.553489 Process 93 bytes request 19:01:50.553505 Got request: GET /verifiedserver HTTP/1.1 19:01:50.553516 Are-we-friendly question received 19:01:50.553540 Wrote request (93 bytes) input to log/6/server.input 19:01:50.553558 Identifying ourselves as friends 19:01:50.553614 Response sent (56 bytes) and written to log/6/server.response 19:01:50.553625 special request received, no persistency 19:01:50.553635 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 46388 * 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/12/valgrind1590 ./libtest/libtests lib1553 imap://localhost:41045/1590 > log/12/stdout1590 2> log/12/stderr1590 CMD (33792): ../libtool --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/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/24/stdout1592 2> log/24/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/2/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:46047/1593 > log/2/stdout1593 2> log/2/stderr1593 ing HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file stderr1591 URL: http://127.0.0.1:41595/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 ==164486== ==164486== Process terminating with default action of signal 4 (SIGILL) ==164486== Illegal opcode at address 0x51D5F1F ==164486== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164486== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164486== by 0x51D5F1F: Curl_open (url.c:525) ==164486== by 0x514F6EF: curl_easy_init (easy.c:371) ==164486== by 0x403B10C: test_lib1591.lto_priv.0 (lib1591.c:89) ==164486== by 0x400347F: main (first.c:280) ==164486== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164486== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164486== by 0x51D5EBD: Curl_open (url.c:504) ==164486== by 0x514F6EF: curl_easy_init (easy.c:371) ==164486== by 0x403B10C: test_lib1591.lto_priv.0 (lib1591.c:89) ==164486== by 0x400347F: main (first.c:280) ==164486== === 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:41045/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:41045/1590 > log/12/stdout1590 2> log/12/stderr1590 === End of file commands.log === Start of file imap_server.log 19:01:50.742176 ====> Client connect 19:01:50.742340 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:01:50.742645 < "A001 CAPABILITY" 19:01:50.742686 > "A001 BAD Command[CR][LF]" 19:01:50.742859 < "A002 LIST "verifiedserver" *" 19:01:50.742884 LIST_imap got "verifiedserver" * 19:01:50.742905 > "* LIST () "/" "WE ROOLZ: 118723"[CR][LF]" 19:01:50.742919 > "A002 OK LIST Completed[CR][LF]" 19:01:50.742929 return proof we are we 19:01:50.809947 < "A003 LOGOUT" 19:01:50.810007 > "* BYE curl IMAP server signing off[CR][LF]" 19:01:50.810028 > "A003 OK LOGOUT completed[CR][LF]" 19:01:50.811322 MAIN sockfilt said DISC 19:01:50.811373 ====> Client disconnected 19:01:50.811483 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:01:50.514101 ====> Client connect 19:01:50.514412 Received DATA (on stdin) 19:01:50.514428 > 178 bytes data, server => client 19:01:50.514441 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:01:50.514452 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:01:50.514462 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:01:50.514471 'rve\r\n' 19:01:50.514550 < 17 bytes data, client => server 19:01:50.514562 'A001 CAPABILITY\r\n' 19:01:50.514741 Received DATA (on stdin) 19:01:50.514754 > 18 bytes data, server => client 19:01:50.514764 'A001 BAD Command\r\n' 19:01:50.514822 < 30 bytes data, client => server 19:01:50.514835 'A002 LIST "verifiedserver" *\r\n' 19:01:50.514978 Received DATA (on stdin) 19:01:50.514988 > 34 bytes data, server => client 19:01:50.514997 '* LIST () "/" "WE ROOLZ: 118723"\r\n' 19:01:50.515015 Received DATA (on stdin) 19:01:50.515023 > 24 bytes data, server => client 19:01:50.515032 'A002 OK LIST Completed\r\n' 19:01:50.581776 < 13 bytes data, client => server 19:01:50.581823 'A003 LOGOUT\r\n' 19:01:50.582087 Received DATA (on stdin) 19:01:50.582103 > 36 bytes data, server => client 19:01:50.582115 '* BYE curl IMAP server signing off\r\n' 19:01:50.582163 Received DATA (on stdin) 19:01:50.582175 > 26 bytes data, server => client 19:01:50.582186 'A003 OK LOGOUT completed\r\n' 19:01:50.583308 ====> Client disconnect 19:01:50.583546 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:41045/1590 === End of file stderr1590 === Start of file valgrind1590 ==164523== ==164523== Process terminating with default action of signal 4 (SIGILL) ==164523== Illegal opcode at address 0x519E800 ==164523== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==164523== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==164523== by 0x519E800: Curl_multi_handle (multi.c:247) ==164523== by 0x4034D44: UnknownInlinedFun (lib1553.c:57) ==164523== by 0x4034D44: test_lib1553.lto_priv.0 (lib1553.c:42) ==164523== by 0x400347F: main (first.c:280) ==164523== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==164523== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164523== by 0x519E794: Curl_multi_handle (multi.c:239) ==164523== by 0x4034D44: UnknownInlinedFun (lib1553.c:57) ==164523== by 0x4034D44: test_lib1553.lto_priv.0 (lib1553.c:42) ==164523== by 0x400347F: main (first.c:280) ==164523== === End of file valgrind1590 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/24/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/24/stdout1592 2> log/24/stderr1592 libtests returned 132, when expecting 0 1592: exit FAILED == Contents of files in the log/24/ 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/24/valgrind1592 ./libtest/libtests lib1592 http://a-site-never-accessed.example.org/1592 > log/24/stdout1592 2> log/24/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 ==164569== ==164569== Process terminating with default action of signal 4 (SIGILL) ==164569== Illegal opcode at address 0x519E800 ==164569== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==164569== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==164569== by 0x519E800: Curl_multi_handle (multi.c:247) ==164569== by 0x4038ADB: UnknownInlinedFun (lib1592.c:52) ==164569== by 0x4038ADB: test_lib1592.lto_priv.0 (lib1592.c:41) ==164569== by 0x400347F: main (first.c:280) ==164569== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==164569== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164569== by 0x519E794: Curl_multi_handle (multi.c:239) ==164569== by 0x4038ADB: UnknownInlinedFun (lib1592.c:52) ==164569== by 0x4038ADB: test_lib1592.lto_priv.0 (lib1592.c:41) ==164569== by 0x400347F: main (first.c:280) ==164569== === End of file valgrind1592 test 1593...[HTTP custom header overrides CURLOPT_TIMECONDITION] ../libtool --mode=execute /usr/biCMD (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/valgrind1604 ./tunit/tunits tool1604 - > log/16/stdout1604 2> log/16/stderr1604 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/valgrind1603 ./unit/units unit1603 - > log/9/stdout1603 2> log/9/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/22/valgrind1602 ./unit/units unit1602 - > log/22/stdout1602 2> log/22/stderr1602 CMD (33792): ../libtool --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/valgrind1601 ./unit/units unit1601 - > log/10/stdout1601 2> log/10/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/17/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:40515/1594 > log/17/stdout1594 2> log/17/stderr1594 n/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/2/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:46047/1593 > log/2/stdout1593 2> log/2/stderr1593 1593: 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 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/2/valgrind1593 ./libtest/libtests lib1593 http://127.0.0.1:46047/1593 > log/2/stdout1593 2> log/2/stderr1593 === End of file commands.log === Start of file http_server.log 19:01:50.668803 ====> Client connect 19:01:50.668837 accept_connection 3 returned 4 19:01:50.668854 accept_connection 3 returned 0 19:01:50.668871 Read 93 bytes 19:01:50.668882 Process 93 bytes request 19:01:50.668896 Got request: GET /verifiedserver HTTP/1.1 19:01:50.668907 Are-we-friendly question received 19:01:50.668932 Wrote request (93 bytes) input to log/2/server.input 19:01:50.668951 Identifying ourselves as friends 19:01:50.669007 Response sent (57 bytes) and written to log/2/server.response 19:01:50.669019 special request received, no persistency 19:01:50.669029 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46047... * Established connection to 127.0.0.1 (127.0.0.1 port 46047) from 127.0.0.1 port 37126 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46047 > User-Agent: curl/8.17.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:46047 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 148921 === 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: 18 WE ROOLZ: 148921 === End of file server.response === Start of file stderr1593 URL: http://127.0.0.1:46047/1593 === End of file stderr1593 === Start of file valgrind1593 ==164640== ==164640== Process terminating with default action of signal 4 (SIGILL) ==164640== Illegal opcode at address 0x51D5F1F ==164640== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164640== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164640== by 0x51D5F1F: Curl_open (url.c:525) ==164640== by 0x514F6EF: curl_easy_init (easy.c:371) ==164640== by 0x403DE39: UnknownInlinedFun (lib1593.c:40) ==164640== by 0x403DE39: test_lib1593.lto_priv.0 (lib1593.c:31) ==164640== by 0x400347F: main (first.c:280) ==164640== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164640== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164640== by 0x51D5EBD: Curl_open (url.c:504) ==164640== by 0x514F6EF: curl_easy_init (easy.c:371) ==164640== by 0x403DE39: UnknownInlinedFun (lib1593.c:40) ==164640== by 0x403DE39: test_lib1593.lto_priv.0 (lib1593.c:31) ==164640== by 0x400347F: main (first.c:280) ==164640== === End of file valgrind1593 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/16/valgrind1604 ./tunit/tunits tool1604 - > log/16/stdout1604 2> log/16/stderr1604 -------e-v- OK (1523 out of 1746, remaining: 00:17, took 0.603s, duration: 01:59) 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/9/valgrind1603 ./unit/units unit1603 - > log/9/stdout1603 2> log/9/stderr1603 -------e-v- OK (1522 out of 1746, remaining: 00:17, took 0.616s, duration: 01:59) 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/22/valgrind1602 ./unit/units unit1602 - > log/22/stdout1602 2> log/22/stderr1602 -------e-v- OK (1521 out of 1746, remaining: 00:17, took 0.639s, duration: 01:59) 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/10/valgrind1601 ./unit/units unit1601 - > log/10/stdout1601 2> log/10/stderr1601 units returned 132, when expecting 0 1601: exit FAILED == Contents of files in the log/10/ 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/10/valgrind1601 ./unit/units unit1601 - > log/10/stdout1601 2> log/10/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 ==165080== ==165080== Process terminating with default action of signal 4 (SIGILL) ==165080== Illegal opcode at address 0x400FB88 ==165080== at 0x400FB88: test_unit1601.lto_priv.0 (unit1601.c:42) ==165080== by 0x400A12F: main (first.c:280) === 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/valgrind1616 ./unit/units unit1616 - > log/24/stdout1616 2> log/24/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/1/valgrind1612 ./unit/units unit1612 - > log/1/stdout1612 2> log/1/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/5/valgrind1597 ./libtest/libtests lib1597 - > log/5/stdout1597 2> log/5/stderr1597 CMD (33792): ../libtool --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/valgrind1611 ./unit/units unit1611 - > log/21/stdout1611 2> log/21/stderr1611 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/17/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:40515/1594 > log/17/stdout1594 2> log/17/stderr1594 1594: stdout FAILED: --- log/17/check-expected 2025-11-13 19:01:52.296058381 +0000 +++ log/17/check-generated 2025-11-13 19:01:52.296058381 +0000 @@ -1 +0,0 @@ -Retry-After 22[LF] == Contents of files in the log/17/ 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/17/valgrind1594 ./libtest/libtests lib1594 http://127.0.0.1:40515/1594 > log/17/stdout1594 2> log/17/stderr1594 === End of file commands.log === Start of file http_server.log 19:01:51.987042 ====> Client connect 19:01:51.987081 accept_connection 3 returned 4 19:01:51.987101 accept_connection 3 returned 0 19:01:51.987117 Read 93 bytes 19:01:51.987129 Process 93 bytes request 19:01:51.987145 Got request: GET /verifiedserver HTTP/1.1 19:01:51.987156 Are-we-friendly question received 19:01:51.987184 Wrote request (93 bytes) input to log/17/server.input 19:01:51.987203 Identifying ourselves as friends 19:01:51.987260 Response sent (56 bytes) and written to log/17/server.response 19:01:51.987273 special request received, no persistency 19:01:51.987283 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 55228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 17 WE ROOLZ: 74424 === End of file server.response === Start of file stderr1594 URL: http://127.0.0.1:40515/1594 === End of file stderr1594 === Start of file valgrind1594 ==164751== ==164751== Process terminating with default action of signal 4 (SIGILL) ==164751== Illegal opcode at address 0x51D5F1F ==164751== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164751== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164751== by 0x51D5F1F: Curl_open (url.c:525) ==164751== by 0x514F6EF: curl_easy_init (easy.c:371) ==164751== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164751== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164751== by 0x400347F: main (first.c:280) ==164751== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164751== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164751== by 0x51D5EBD: Curl_open (url.c:504) ==164751== by 0x514F6EF: curl_easy_init (easy.c:371) ==164751== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164751== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164751== by 0x400347F: main (first.c:280) ==164751== === End of file valgrind1594 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/24/valgrind1616 ./unit/units unit1616 - > log/24/stdout1616 2> log/24/stderr1616 -------e-v- OK (1535 out of 1746, remaining: 00:16, took 0.583s, duration: 02:00) 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/1/valgrind1612 ./unit/units unit1612 - > log/1/stdout1612 2> log/1/stderr1612 units returned 132, when expecting 0 1612: exit FAILED == Contents of files in the log/1/ 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/1/valgrind1612 ./unit/units unit1612 - > log/1/stdout1612 2> log/1/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 ==165512== ==165512== Process terminating with default action of signal 4 (SIGILL) ==165512== Illegal opcode at address 0x40136B6 ==165512== at 0x40136B6: test_unit1612.lto_priv.0 (unit1612.c:47) ==165512== by 0x400A12F: main (first.c:280) === End of file valgrind1612 CMD (33792): ../libtool --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/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:37985/bzz/1598 log/4/stdout1598 2> log/4/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/19/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:41761/1596 > log/19/stdout1596 2> log/19/stderr1596 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/valgrind1614 ./unit/units unit1614 - > log/6/stdout1614 2> log/6/stderr1614 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/5/valgrind1597 ./libtest/libtests lib1597 - > log/5/stdout1597 2> log/5/stderr1597 1597: stdout FAILED: --- log/5/check-expected 2025-11-13 19:01:52.536058382 +0000 +++ log/5/check-generated 2025-11-13 19:01:52.536058382 +0000 @@ -1 +0,0 @@ -Tested 15 strings[LF] == Contents of files in the log/5/ 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/5/valgrind1597 ./libtest/libtests lib1597 - > log/5/stdout1597 2> log/5/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 ==164851== ==164851== Process terminating with default action of signal 4 (SIGILL) ==164851== Illegal opcode at address 0x51D5F1F ==164851== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164851== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164851== by 0x51D5F1F: Curl_open (url.c:525) ==164851== by 0x514F6EF: curl_easy_init (easy.c:371) ==164851== by 0x403EF4D: UnknownInlinedFun (lib1597.c:73) ==164851== by 0x403EF4D: test_lib1597.lto_priv.0 (lib1597.c:36) ==164851== by 0x400347F: main (first.c:280) ==164851== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164851== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164851== by 0x51D5EBD: Curl_open (url.c:504) ==164851== by 0x514F6EF: curl_easy_init (easy.c:371) ==164851== by 0x403EF4D: UnknownInlinedFun (lib1597.c:73) ==164851== by 0x403EF4D: test_lib1597.lto_priv.0 (lib1597.c:36) ==164851== by 0x400347F: main (first.c:280) ==164851== === End of file valgrind1597 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/21/valgrind1611 ./unit/units unit1611 - > log/21/stdout1611 2> log/21/stderr1611 units returned 132, when expecting 0 1611: exit FAILED == Contents of files in the log/21/ 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/21/valgrind1611 ./unit/units unit1611 - > log/21/stdout1611 2> log/21/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 ==165509== ==165509== Process terminating with default action of signal 4 (SIGILL) ==165509== Illegal opcode at address 0x4054E6A ==165509== at 0x4054E6A: UnknownInlinedFun (md4.c:436) ==165509== by 0x4054E6A: Curl_md4it (md4.c:471) ==165509== by 0x4013419: test_unit1611.lto_priv.0 (unit1611.c:38) ==165509== by 0x400A12F: main (first.c:280) === End of file valgrind1611 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/4/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:37985/bzz/1598 log/4/stdout1598 2> log/4/stderr1598 1598: 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 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/4/valgrind1598 ./libtest/libtests lib1598 http://127.0.0.1:37985/bzz/1598 log/4/stdout1598 2> log/4/stderr1598 === End of file commands.log === Start of file http_server.log 19:01:52.265034 ====> Client connect 19:01:52.265068 accept_connection 3 returned 4 19:01:52.265085 accept_connection 3 returned 0 19:01:52.265226 Read 93 bytes 19:01:52.265241 Process 93 bytes request 19:01:52.265256 Got request: GET /verifiedserver HTTP/1.1 19:01:52.265265 Are-we-friendly question received 19:01:52.265294 Wrote request (93 bytes) input to log/4/server.input 19:01:52.265310 Identifying ourselves as friends 19:01:52.265361 Response sent (56 bytes) and written to log/4/server.response 19:01:52.265371 special request received, no persistency 19:01:52.265380 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 38088 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file stderr1598 URL: http://127.0.0.1:37985/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 ==164943== ==164943== Process terminating with default action of signal 4 (SIGILL) ==164943== Illegal opcode at address 0x51D5F1F ==164943== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164943== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164943== by 0x51D5F1F: Curl_open (url.c:525) ==164943== by 0x514F6EF: curl_easy_init (easy.c:371) ==164943== by 0x403B330: test_lib1598.lto_priv.0 (lib1598.c:69) ==164943== by 0x400347F: main (first.c:280) ==164943== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164943== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164943== by 0x51D5EBD: Curl_open (url.c:504) ==164943== by 0x514F6EF: curl_easy_init (easy.c:371) ==164943== by 0x403B330: test_lib1598.lto_priv.0 (lib1598.c:69) ==164943== by 0x400347F: main (first.c:280) ==164943== === End of file valgrind1598 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/6/valgrind1614 ./unit/units unit1614 - > log/6/stdout1614 2> log/6/stderr1614 -------e-v- OK (1533 out of 1746, remaining: 00:16, took 0.665s, duration: 02:00) CMD (33792): ../libtool --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/valgrind1600 ./unit/units unit1600 - > log/7/stdout1600 2> log/7/stderr1600 CMD (33792): ../libtool --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/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:44531/1595 > log/15/stdout1595 2> log/15/stderr1595 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/19/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:41761/1596 > log/19/stdout1596 2> log/19/stderr1596 1596: stdout FAILED: --- log/19/check-expected 2025-11-13 19:01:52.549391717 +0000 +++ log/19/check-generated 2025-11-13 19:01:52.549391717 +0000 @@ -1 +0,0 @@ -Retry-After 21600[LF] == Contents of files in the log/19/ 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/19/valgrind1596 ./libtest/libtests lib1594 http://127.0.0.1:41761/1596 > log/19/stdout1596 2> log/19/stderr1596 === End of file commands.log === Start of file http_server.log 19:01:51.251713 ====> Client connect 19:01:51.251750 accept_connection 3 returned 4 19:01:51.251767 accept_connection 3 returned 0 19:01:51.251783 Read 93 bytes 19:01:51.251794 Process 93 bytes request 19:01:51.251810 Got request: GET /verifiedserver HTTP/1.1 19:01:51.251820 Are-we-friendly question received 19:01:51.251847 Wrote request (93 bytes) input to log/19/server.input 19:01:51.251865 Identifying ourselves as friends 19:01:51.251921 Response sent (56 bytes) and written to log/19/server.response 19:01:51.251932 special request received, no persistency 19:01:51.251942 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 39860 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file stderr1596 URL: http://127.0.0.1:41761/1596 === End of file stderr1596 === Start of file valgrind1596 ==164887== ==164887== Process terminating with default action of signal 4 (SIGILL) ==164887== Illegal opcode at address 0x51D5F1F ==164887== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164887== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164887== by 0x51D5F1F: Curl_open (url.c:525) ==164887== by 0x514F6EF: curl_easy_init (easy.c:371) ==164887== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164887== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164887== by 0x400347F: main (first.c:280) ==164887== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164887== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164887== by 0x51D5EBD: Curl_open (url.c:504) ==164887== by 0x514F6EF: curl_easy_init (easy.c:371) ==164887== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164887== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164887== by 0x400347F: main (first.c:280) ==164887== === End of file valgrind1596 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/7/valgrind1600 ./unit/units unit1600 - > log/7/stdout1600 2> log/7/stderr1600 units returned 132, when expecting 0 1600: exit FAILED == Contents of files in the log/7/ 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/7/valgrind1600 ./unit/units unit1600 - > log/7/stdout1600 2> log/7/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 ==165069== ==165069== Process terminating with default action of signal 4 (SIGILL) ==165069== Illegal opcode at address 0x407C5FF ==165069== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165069== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165069== by 0x407C5FF: Curl_open (url.c:525) ==165069== by 0x403E625: curl_easy_init (easy.c:371) ==165069== by 0x400F72B: UnknownInlinedFun (unit1600.c:34) ==165069== by 0x400F72B: test_unit1600.lto_priv.0 (unit1600.c:52) ==165069== by 0x400A12F: main (first.c:280) ==165069== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165069== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165069== by 0x407C59D: Curl_open (url.c:504) ==165069== by 0x403E625: curl_easy_init (easy.c:371) ==165069== by 0x400F72B: UnknownInlinedFun (unit1600.c:34) ==165069== by 0x400F72B: test_unit1600.lto_priv.0 (unit1600.c:52) ==165069== by 0x400A12F: main (first.c:280) ==165069== === 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/20/valgrind1605 ./unit/units unit1605 - > log/20/stdout1605 2> log/20/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/11/valgrind1608 ./unit/units unit1608 - > log/11/stdout1608 2> log/11/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/3/valgrind1606 ./unit/units unit1606 - > log/3/stdout1606 2> log/3/stderr1606 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/15/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:44531/1595 > log/15/stdout1595 2> log/15/stderr1595 1595: stdout FAILED: --- log/15/check-expected 2025-11-13 19:01:52.559391717 +0000 +++ log/15/check-generated 2025-11-13 19:01:52.559391717 +0000 @@ -1 +0,0 @@ -Retry-After 0[LF] == Contents of files in the log/15/ 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/15/valgrind1595 ./libtest/libtests lib1594 http://127.0.0.1:44531/1595 > log/15/stdout1595 2> log/15/stderr1595 === End of file commands.log === Start of file http_server.log 19:01:51.252304 ====> Client connect 19:01:51.252341 accept_connection 3 returned 4 19:01:51.252358 accept_connection 3 returned 0 19:01:51.252371 Read 93 bytes 19:01:51.252381 Process 93 bytes request 19:01:51.252392 Got request: GET /verifiedserver HTTP/1.1 19:01:51.252402 Are-we-friendly question received 19:01:51.252425 Wrote request (93 bytes) input to log/15/server.input 19:01:51.252442 Identifying ourselves as friends 19:01:51.252496 Response sent (56 bytes) and written to log/15/server.response 19:01:51.252510 special request received, no persistency 19:01:51.252520 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 36046 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file stderr1595 URL: http://127.0.0.1:44531/1595 === End of file stderr1595 === Start of file valgrind1595 ==164886== ==164886== Process terminating with default action of signal 4 (SIGILL) ==164886== Illegal opcode at address 0x51D5F1F ==164886== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==164886== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==164886== by 0x51D5F1F: Curl_open (url.c:525) ==164886== by 0x514F6EF: curl_easy_init (easy.c:371) ==164886== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164886== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164886== by 0x400347F: main (first.c:280) ==164886== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==164886== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==164886== by 0x51D5EBD: Curl_open (url.c:504) ==164886== by 0x514F6EF: curl_easy_init (easy.c:371) ==164886== by 0x403E219: UnknownInlinedFun (lib1594.c:40) ==164886== by 0x403E219: test_lib1594.lto_priv.0 (lib1594.c:31) ==164886== by 0x400347F: main (first.c:280) ==164886== === End of file valgrind1595 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/20/valgrind1605 ./unit/units unit1605 - > log/20/stdout1605 2> log/20/stderr1605 units returned 132, when expecting 0 1605: exit FAILED == Contents of files in the log/20/ 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/20/valgrind1605 ./unit/units unit1605 - > log/20/stdout1605 2> log/20/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 ==165249== ==165249== Process terminating with default action of signal 4 (SIGILL) ==165249== Illegal opcode at address 0x407C5FF ==165249== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165249== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165249== by 0x407C5FF: Curl_open (url.c:525) ==165249== by 0x403E625: curl_easy_init (easy.c:371) ==165249== by 0x4011287: UnknownInlinedFun (unit1605.c:33) ==165249== by 0x4011287: test_unit1605.lto_priv.0 (unit1605.c:51) ==165249== by 0x400A12F: main (first.c:280) ==165249== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165249== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165249== by 0x407C59D: Curl_open (url.c:504) ==165249== by 0x403E625: curl_easy_init (easy.c:371) ==165249== by 0x4011287: UnknownInlinedFun (unit1605.c:33) ==165249== by 0x4011287: test_unit1605.lto_priv.0 (unit1605.c:51) ==165249== by 0x400A12F: main (first.c:280) ==165249== === End of file valgrind1605 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/3/valgrind1606 ./unit/units unit1606 - > log/3/stdout1606 2> log/3/stderr1606 units returned 132, when expecting 0 1606: exit FAILED == Contents of files in the log/3/ 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/3/valgrind1606 ./unit/units unit1606 - > log/3/stdout1606 2> log/3/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 ==165266== ==165266== Process terminating with default action of signal 4 (SIGILL) ==165266== Illegal opcode at address 0x407C5FF ==165266== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165266== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165266== by 0x407C5FF: Curl_open (url.c:525) ==165266== by 0x403E625: curl_easy_init (easy.c:371) ==165266== by 0x401162B: UnknownInlinedFun (unit1606.c:34) ==165266== by 0x401162B: test_unit1606.lto_priv.0 (unit1606.c:83) ==165266== by 0x400A12F: main (first.c:280) ==165266== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165266== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165266== by 0x407C59D: Curl_open (url.c:504) ==165266== by 0x403E625: curl_easy_init (easy.c:371) ==165266== by 0x401162B: UnknownInlinedFun (unit1606.c:34) ==165266== by 0x401162B: test_unit1606.lto_priv.0 (unit1606.c:83) ==165266== by 0x400A12F: main (first.c:280) ==165266== === End of file valgrind1606 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/11/valgrind1608 ./unit/units unit1608 - > log/11/stdout1608 2> log/11/stderr1608 units returned 132, when expecting 0 1608: exit FAILED == Contents of files in the log/11/ 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/11/valgrind1608 ./unit/units unit1608 - > log/11/stdout1608 2> log/11/stderr1608 === End of file commands.log === Start of file server.cmd Testnum 1608 === 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/13/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:40887/1599 log/13/netrc1599 > log/13/stdout1599 2> log/13/stderr1599 e server.cmd === Start of file stderr1608 URL: - === End of file stderr1608 === Start of file valgrind1608 ==165271== ==165271== Process terminating with default action of signal 4 (SIGILL) ==165271== Illegal opcode at address 0x407C5FF ==165271== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165271== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165271== by 0x407C5FF: Curl_open (url.c:525) ==165271== by 0x403E625: curl_easy_init (easy.c:371) ==165271== by 0x4012EFF: test_unit1608.lto_priv.0 (unit1608.c:53) ==165271== by 0x400A12F: main (first.c:280) ==165271== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165271== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165271== by 0x407C59D: Curl_open (url.c:504) ==165271== by 0x403E625: curl_easy_init (easy.c:371) ==165271== by 0x4012EFF: test_unit1608.lto_priv.0 (unit1608.c:53) ==165271== by 0x400A12F: main (first.c:280) ==165271== === End of file valgrind1608 CMD (33792): ../libtool --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/valgrind1607 ./unit/units unit1607 - > log/8/stdout1607 2> log/8/stderr1607 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/13/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:40887/1599 log/13/netrc1599 > log/13/stdout1599 2> log/13/stderr1599 1599: data FAILED: --- log/13/check-expected 2025-11-13 19:01:52.696058384 +0000 +++ log/13/check-generated 2025-11-13 19:01:52.696058384 +0000 @@ -1 +0,0 @@ --foo-[LF] == Contents of files in the log/13/ 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/13/valgrind1599 ./libtest/libtests lib1599 ftp://127.0.0.1:40887/1599 log/13/netrc1599 > log/13/stdout1599 2> log/13/stderr1599 === End of file commands.log === Start of file ftp_server.log 19:01:51.515235 ====> Client connect 19:01:51.515519 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:51.516217 < "USER anonymous" 19:01:51.516255 > "331 We are happy you popped in![CR][LF]" 19:01:51.516438 < "PASS ftp@example.com" 19:01:51.516470 > "230 Welcome you silly person[CR][LF]" 19:01:51.516718 < "PWD" 19:01:51.516753 > "257 "/" is current directory[CR][LF]" 19:01:51.516974 < "EPSV" 19:01:51.517039 ====> Passive DATA channel requested by client 19:01:51.517067 DATA sockfilt for passive data channel starting... 19:01:51.519388 DATA sockfilt for passive data channel started (pid 165003) 19:01:51.519775 DATA sockfilt for passive data channel listens on port 37355 19:01:51.519820 > "229 Entering Passive Mode (|||37355|)[CR][LF]" 19:01:51.519839 Client has been notified that DATA conn will be accepted on port 37355 19:01:51.520082 Client connects to port 37355 19:01:51.520111 ====> Client established passive DATA connection on port 37355 19:01:51.520180 < "TYPE I" 19:01:51.520209 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:51.520370 < "SIZE verifiedserver" 19:01:51.520406 > "213 17[CR][LF]" 19:01:51.520560 < "RETR verifiedserver" 19:01:51.520593 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:51.520672 =====> Closing passive DATA connection... 19:01:51.520687 Server disconnects passive DATA connection 19:01:51.520923 Server disconnected passive DATA connection 19:01:51.520950 DATA sockfilt for passive data channel quits (pid 165003) 19:01:51.521162 DATA sockfilt for passive data channel quit (pid 165003) 19:01:51.521186 =====> Closed passive DATA connection 19:01:51.521213 > "226 File transfer complete[CR][LF]" 19:01:51.569043 < "QUIT" 19:01:51.569101 > "221 bye bye baby[CR][LF]" 19:01:51.569930 MAIN sockfilt said DISC 19:01:51.569967 ====> Client disconnected 19:01:51.570038 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:51.287170 ====> Client connect 19:01:51.287654 Received DATA (on stdin) 19:01:51.287677 > 160 bytes data, server => client 19:01:51.287691 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:51.287703 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:51.287715 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:51.287798 < 16 bytes data, client => server 19:01:51.287812 'USER anonymous\r\n' 19:01:51.288316 Received DATA (on stdin) 19:01:51.288330 > 33 bytes data, server => client 19:01:51.288343 '331 We are happy you popped in!\r\n' 19:01:51.288401 < 22 bytes data, client => server 19:01:51.288415 'PASS ftp@example.com\r\n' 19:01:51.288568 Received DATA (on stdin) 19:01:51.288582 > 30 bytes data, server => client 19:01:51.288599 '230 Welcome you silly person\r\n' 19:01:51.288647 < 5 bytes data, client => server 19:01:51.288659 'PWD\r\n' 19:01:51.288807 Received DATA (on stdin) 19:01:51.288820 > 30 bytes data, server => client 19:01:51.288882 '257 "/" is current directory\r\n' 19:01:51.288943 < 6 bytes data, client => server 19:01:51.288955 'EPSV\r\n' 19:01:51.291899 Received DATA (on stdin) 19:01:51.291913 > 39 bytes data, server => client 19:01:51.291925 '229 Entering Passive Mode (|||37355|)\r\n' 19:01:51.292051 < 8 bytes data, client => server 19:01:51.292068 'TYPE I\r\n' 19:01:51.292265 Received DATA (on stdin) 19:01:51.292279 > 33 bytes data, server => client 19:01:51.292291 '200 I modify TYPE as you wanted\r\n' 19:01:51.292340 < 21 bytes data, client => server 19:01:51.292353 'SIZE verifiedserver\r\n' 19:01:51.292459 Received DATA (on stdin) 19:01:51.292472 > 8 bytes data, server => client 19:01:51.292483 '213 17\r\n' 19:01:51.292532 < 21 bytes data, client => server 19:01:51.292544 'RETR verifiedserver\r\n' 19:01:51.292743 Received DATA (on stdin) 19:01:51.292756 > 29 bytes data, server => client 19:01:51.292767 '150 Binary junk (17 bytes).\r\n' 19:01:51.293268 Received DATA (on stdin) 19:01:51.293282 > 28 bytes data, server => client 19:01:51.293293 '226 File transfer complete\r\n' 19:01:51.340917 < 6 bytes data, client => server 19:01:51.340943 'QUIT\r\n' 19:01:51.341167 Received DATA (on stdin) 19:01:51.341183 > 18 bytes data, server => client 19:01:51.341196 '221 bye bye baby\r\n' 19:01:51.341924 ====> Client disconnect 19:01:51.342092 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:51.290898 Running IPv4 version 19:01:51.291190 Listening on port 37355 19:01:51.291233 Wrote pid 165003 to log/13/server/ftp_sockdata.pid 19:01:51.291344 Received PING (on stdin) 19:01:51.291744 Received PORT (on stdin) 19:01:51.292088 ====> Client connect 19:01:51.292793 Received DATA (on stdin) 19:01:51.292807 > 17 bytes data, server => client 19:01:51.292819 'WE ROOLZ: 80703\r\n' 19:01:51.292843 Received DISC (on stdin) 19:01:51.292855 ====> Client forcibly disconnected 19:01:51.293011 Received QUIT (on stdin) 19:01:51.293023 quits 19:01:51.293087 ============> sockfilt quits === End of file ftp_sockdata.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:40887/1599 === End of file stderr1599 === Start of file valgrind1599 ==165118== ==165118== Process terminating with default action of signal 4 (SIGILL) ==165118== Illegal opcode at address 0x51D5F1F ==165118== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==165118== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==165118== by 0x51D5F1F: Curl_open (url.c:525) ==165118== by 0x514F6EF: curl_easy_init (easy.c:371) ==165118== by 0x403A12E: UnknownInlinedFun (lib1599.c:32) ==165118== by 0x403A12E: test_lib1599.lto_priv.0 (lib1599.c:26) ==165118== by 0x400347F: main (first.c:280) ==165118== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165118== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==165118== by 0x51D5EBD: Curl_open (url.c:504) ==165118== by 0x514F6EF: curl_easy_init (easy.c:371) ==165118== by 0x403A12E: UnknownInlinedFun (lib1599.c:32) ==165118== by 0x403A12E: test_lib1599.lto_priv.0 (lib1599.c:26) ==165118== by 0x400347F: main (first.c:280) ==165118== === End of file valgrind1599 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/8/valgrind1607 ./unit/units unit1607 - > log/8/stdout1607 2> log/8/stderr1607 units returned 132, when expecting 0 1607: exit FAILED == Contents of files in the log/8/ 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.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/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/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:35243/ -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/18/valgrind1610 ./unit/units unit1610 - > log/18/stdout1610 2> log/18/stderr1610 CMD (33792): ../libtool --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 CMD (33792): ../libtool --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/valgrind1621 ./tunit/tunits tool1621 - > log/9/stdout1621 2> log/9/stderr1621 upp --num-callers=16 --log-file=log/8/valgrind1607 ./unit/units unit1607 - > log/8/stdout1607 2> log/8/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 ==165273== ==165273== Process terminating with default action of signal 4 (SIGILL) ==165273== Illegal opcode at address 0x407C5FF ==165273== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165273== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165273== by 0x407C5FF: Curl_open (url.c:525) ==165273== by 0x403E625: curl_easy_init (easy.c:371) ==165273== by 0x40119F4: UnknownInlinedFun (unit1607.c:117) ==165273== by 0x40119F4: test_unit1607.lto_priv.0 (unit1607.c:39) ==165273== by 0x400A12F: main (first.c:280) ==165273== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165273== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165273== by 0x407C59D: Curl_open (url.c:504) ==165273== by 0x403E625: curl_easy_init (easy.c:371) ==165273== by 0x40119F4: UnknownInlinedFun (unit1607.c:117) ==165273== by 0x40119F4: test_unit1607.lto_priv.0 (unit1607.c:39) ==165273== by 0x400A12F: main (first.c:280) ==165273== === End of file valgrind1607 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 ==165439== ==165439== Process terminating with default action of signal 4 (SIGILL) ==165439== Illegal opcode at address 0x407C5FF ==165439== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165439== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165439== by 0x407C5FF: Curl_open (url.c:525) ==165439== by 0x403E625: curl_easy_init (easy.c:371) ==165439== by 0x401264B: UnknownInlinedFun (unit1609.c:113) ==165439== by 0x401264B: test_unit1609.lto_priv.0 (unit1609.c:71) ==165439== by 0x400A12F: main (first.c:280) ==165439== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165439== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165439== by 0x407C59D: Curl_open (url.c:504) ==165439== by 0x403E625: curl_easy_init (easy.c:371) ==165439== by 0x401264B: UnknownInlinedFun (unit1609.c:113) ==165439== by 0x401264B: test_unit1609.lto_priv.0 (unit1609.c:71) ==165439== by 0x400A12F: main (first.c:280) ==165439== === End of file valgrind1609 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:35243/ -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:35243/ -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 19:01:51.590218 ====> Client connect 19:01:51.590252 accept_connection 3 returned 4 19:01:51.590270 accept_connection 3 returned 0 19:01:51.590286 Read 93 bytes 19:01:51.590298 Process 93 bytes request 19:01:51.590312 Got request: GET /verifiedserver HTTP/1.1 19:01:51.590323 Are-we-friendly question received 19:01:51.590347 Wrote request (93 bytes) input to log/23/server.input 19:01:51.590368 Identifying ourselves as friends 19:01:51.590426 Response sent (56 bytes) and written to log/23/server.response 19:01:51.590437 special request received, no persistency 19:01:51.590447 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 45726 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind1613 ==165579== ==165579== Process terminating with default action of signal 4 (SIGILL) ==165579== Illegal opcode at address 0x4013E00 ==165579== at 0x4013E00: getparameter (tool_getparam.c:2846) ==165579== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==165579== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==165579== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1613 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/18/valgrind1610 ./unit/units unit1610 - > log/18/stdout1610 2> log/18/stderr1610 units returned 132, when expecting 0 1610: exit FAILED == Contents of files in the log/18/ 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/18/valgrind1610 ./unit/units unit1610 - > log/18/stdout1610 2> log/18/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 stderr1610 === Start of file valgrind1610 ==165454== ==165454== Process terminating with default action of signal 4 (SIGILL) ==165454== Illegal opcode at address 0x4013101 ==165454== at 0x4013101: UnknownInlinedFun (unit1610.c:49) ==165454== by 0x4013101: test_unit1610.lto_priv.0 (unit1610.c:35) ==165454== by 0x400A12F: main (first.c:280) === End of file valgrind1610 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 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/valgrind1650 ./unit/units unit1650 - > log/24/stdout1650 2> log/24/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/5/valgrind1658 ./unit/units unit1658 - > log/5/stdout1658 2> log/5/stderr1658 CMD (33792): ../libtool --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/valgrind1617 ../src/curl -q --output log/2/curl1617.out --include --trace-ascii log/2/trace1617 --trace-time http://127.0.0.1:46047/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/2/stdout1617 2> log/2/stderr1617 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/valgrind1651 ./unit/units unit1651 - > log/1/stdout1651 2> log/1/stderr1651 CMD (33792): ../libtool --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/valgrind1620 ./unit/units unit1620 - > log/16/stdout1620 2> log/16/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/15/valgrind1656 ./unit/units unit1656 - > log/15/stdout1656 2> log/15/stderr1656 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/valgrind1653 ./unit/units unit1653 - > log/19/stdout1653 2> log/19/stderr1653 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 ==165656== ==165656== Process terminating with default action of signal 4 (SIGILL) ==165656== Illegal opcode at address 0x4013964 ==165656== at 0x4013964: test_unit1615.lto_priv.0 (unit1615.c:118) ==165656== by 0x400A12F: main (first.c:280) === End of file valgrind1615 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/9/valgrind1621 ./tunit/tunits tool1621 - > log/9/stdout1621 2> log/9/stderr1621 tunits returned 132, when expecting 0 1621: exit FAILED == Contents of files in the log/9/ 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/9/valgrind1621 ./tunit/tunits tool1621 - > log/9/stdout1621 2> log/9/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 ==165862== ==165862== Process terminating with default action of signal 4 (SIGILL) ==165862== Illegal opcode at address 0x492FFB0 ==165862== at 0x492FFB0: UnknownInlinedFun (string_fortified.h:59) ==165862== by 0x492FFB0: UnknownInlinedFun (urlapi.c:1267) ==165862== by 0x492FFB0: UnknownInlinedFun (urlapi.c:1705) ==165862== by 0x492FFB0: curl_url_set (urlapi.c:1841) ==165862== by 0x40018FB: UnknownInlinedFun (tool_xattr.c:53) ==165862== by 0x40018FB: test_tool1621 (tool1621.c:75) ==165862== by 0x40010FE: main (first.c:280) === End of file valgrind1621 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/24/valgrind1650 ./unit/units unit1650 - > log/24/stdout1650 2> log/24/stderr1650 -------e-v- OK (1545 out of 1746, remaining: 00:15, took 0.621s, duration: 02:00) 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/5/valgrind1658 ./unit/units unit1658 - > log/5/stdout1658 2> log/5/stderr1658 -r-----e-v- OK (1553 out of 1746, remaining: 00:15, took 0.589s, duration: 02:00) test 1617...[HTTP GET transfer-encoding with two user Connection: 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/2/valgrind1617 ../src/curl -q --output log/2/curl1617.out --include --trace-ascii log/2/trace1617 --trace-time http://127.0.0.1:46047/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/2/stdout1617 2> log/2/stderr1617 1617: 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 1617 === Start of file commands.log ../libtool --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/valgrind1617 ../src/curl -q --output log/2/curl1617.out --include --trace-ascii log/2/trace1617 --trace-time http://127.0.0.1:46047/1617 --tr-encoding -H "Connection: this" -H "Connection: that" > log/2/stdout1617 2> log/2/stderr1617 === End of file commands.log === Start of file http_server.log 19:01:51.871577 ====> Client connect 19:01:51.871613 accept_connection 3 returned 4 19:01:51.871632 accept_connection 3 returned 0 19:01:51.871648 Read 93 bytes 19:01:51.871660 Process 93 bytes request 19:01:51.871673 Got request: GET /verifiedserver HTTP/1.1 19:01:51.871684 Are-we-friendly question received 19:01:51.871709 Wrote request (93 bytes) input to log/2/server.input 19:01:51.871728 Identifying ourselves as friends 19:01:51.871785 Response sent (57 bytes) and written to log/2/server.response 19:01:51.871797 special request received, no persistency 19:01:51.871808 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46047... * Established connection to 127.0.0.1 (127.0.0.1 port 46047) from 127.0.0.1 port 37142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46047 > User-Agent: curl/8.17.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:46047 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 148921 === End of file http_verify.out === Start of file server.cmd Testnum 1617 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 148921 === End of file server.response === Start of file valgrind1617 ==165781== ==165781== Process terminating with default action of signal 4 (SIGILL) ==165781== Illegal opcode at address 0x4013E00 ==165781== at 0x4013E00: getparameter (tool_getparam.c:2846) ==165781== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==165781== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==165781== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1617 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/1/valgrind1651 ./unit/units unit1651 - > log/1/stdout1651 2> log/1/stderr1651 -------e-v- OK (1546 out of 1746, remaining: 00:15, took 0.633s, duration: 02:00) 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/16/valgrind1620 ./unit/units unit1620 - > log/16/stdout1620 2> log/16/stderr1620 units returned 132, when expecting 0 1620: exit FAILED == Contents of files in the log/16/ 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/16/valgrind1620 ./unit/units unit1620 - > log/16/stdout1620 2> log/16/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 ==165841== ==165841== Process terminating with default action of signal 4 (SIGILL) ==165841== Illegal opcode at address 0x407C5FF ==165841== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==165841== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==165841== by 0x407C5FF: Curl_open (url.c:525) ==165841== by 0x4014B0F: UnknownInlinedFun (unit1620.c:83) ==165841== by 0x4014B0F: test_unit1620.lto_priv.0 (unit1620.c:72) ==165841== by 0x400A12F: main (first.c:280) ==165841== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==165841== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==165841== by 0x407C59D: Curl_open (url.c:504) ==165841== by 0x4014B0F: UnknownInlinedFun (unit1620.c:83) ==165841== by 0x4014B0F: test_unit1620.lto_priv.0 (unit1620.c:72) ==165841== by 0x400A12F: main (first.c:280) ==165841== === End of file valgrind1620 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/15/valgrind1656 ./unit/units unit1656 - > log/15/stdout1656 2> log/15/stderr1656 -----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/valgrind1657 ./unit/units unit1657 - > log/4/stdout1657 2> log/4/stderr1657 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/valgrind1655 ./unit/units unit1655 - > log/6/stdout1655 2> log/6/stderr1655 CMD (0): /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/16 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/16/stdout1705 2> log/16/stderr1705 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/19 ascii option1.md option2.md > log/19/stdout1706 2> log/19/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/11/valgrind1661 ./unit/units unit1661 - > log/11/stdout1661 2> log/11/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/valgrind1633 ../src/curl -q --output log/17/curl1633.out --include --trace-ascii log/17/trace1633 --trace-time http://127.0.0.1:40515/1633 -d moo --retry 1 -L > log/17/stdout1633 2> log/17/stderr1633 CMD (33792): ../libtool --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/valgrind1634 ../src/curl -q --output log/22/curl1634.out --include --trace-ascii log/22/trace1634 --trace-time http://127.0.0.1:41061/1634 --retry 1 --fail > log/22/stdout1634 2> log/22/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/10/valgrind1635 ../src/curl -q --trace-ascii log/10/trace1635 --trace-time http://127.0.0.1:37879/1635 --retry 1 --fail-with-body > log/10/stdout1635 2> log/10/stderr1635 --e-v- OK (1551 out of 1746, remaining: 00:15, took 0.621s, duration: 02:00) 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/19/valgrind1653 ./unit/units unit1653 - > log/19/stdout1653 2> log/19/stderr1653 -------e-v- OK (1548 out of 1746, remaining: 00:15, took 0.632s, duration: 02:00) 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/4/valgrind1657 ./unit/units unit1657 - > log/4/stdout1657 2> log/4/stderr1657 -------e-v- OK (1552 out of 1746, remaining: 00:15, took 0.624s, duration: 02:00) 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/6/valgrind1655 ./unit/units unit1655 - > log/6/stdout1655 2> log/6/stderr1655 -------e-v- OK (1550 out of 1746, remaining: 00:15, took 0.633s, duration: 02:00) test 1705...[managen makes manpage] /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/../scripts/managen -d log/16 -I /startdir/src/curl/tests/../include mainpage option1.md option2.md > log/16/stdout1705 2> log/16/stderr1705 valgrind SKIPPED sr-----e--- OK (1568 out of 1746, remaining: 00:13, took 0.057s, duration: 02:00) 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/19 ascii option1.md option2.md > log/19/stdout1706 2> log/19/stderr1706 valgrind SKIPPED sr-----e--- OK (1569 out of 1746, remaining: 00:13, took 0.059s, duration: 02:00) 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/11/valgrind1661 ./unit/units unit1661 - > log/11/stdout1661 2> log/11/stderr1661 -------e-v- OK (1555 out of 1746, remaining: 00:14, took 0.620s, duration: 02:01) 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/17/valgrind1633 ../src/curl -q --output log/17/curl1633.out --include --trace-ascii log/17/trace1633 --trace-time http://127.0.0.1:40515/1633 -d moo --retry 1 -L > log/17/stdout1633 2> log/17/stderr1633 1633: 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 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/17/valgrind1633 ../src/curl -q --output log/17/curl1633.out --include --trace-ascii log/17/trace1633 --trace-time http://127.0.0.1:40515/1633 -d moo --retry 1 -L > log/17/stdout1633 2> log/17/stderr1633 === End of file commands.log === Start of file http_server.log 19:01:53.112040 ====> Client connect 19:01:53.112077 accept_connection 3 returned 4 19:01:53.112096 accept_connection 3 returned 0 19:01:53.112112 Read 93 bytes 19:01:53.112123 Process 93 bytes request 19:01:53.112137 Got request: GET /verifiedserver HTTP/1.1 19:01:53.112148 Are-we-friendly question received 19:01:53.112178 Wrote request (93 bytes) input to log/17/server.input 19:01:53.112196 Identifying ourselves as friends 19:01:53.112252 Response sent (56 bytes) and written to log/17/server.response 19:01:53.112264 special request received, no persistency 19:01:53.112274 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 55234 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind1633 ==166002== ==166002== Process terminating with default action of signal 4 (SIGILL) ==166002== Illegal opcode at address 0x4013E00 ==166002== at 0x4013E00: getparameter (tool_getparam.c:2846) ==166002== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166002== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==166002== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1633 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/22/valgrind1634 ../src/curl -q --output log/22/curl1634.out --include --trace-ascii log/22/trace1634 --trace-time http://127.0.0.1:41061/1634 --retry 1 --fail > log/22/stdout1634 2> log/22/stderr1634 1634: 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 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/22/valgrind1634 ../src/curl -q --output log/22/curl1634.out --include --trace-ascii log/22/trace1634 --trace-time http://127.0.0.1:41061/1634 --retry 1 --fail > log/22/stdout1634 2> log/22/stderr1634 === End of file commands.log === Start of file http_server.log 19:01:52.159766 ====> Client connect 19:01:52.159804 accept_connection 3 returned 4 19:01:52.159822 accept_connection 3 returned 0 19:01:52.159840 Read 93 bytes 19:01:52.159852 Process 93 bytes request 19:01:52.159867 Got request: GET /verifiedserver HTTP/1.1 19:01:52.159878 Are-we-friendly question received 19:01:52.159905 Wrote request (93 bytes) input to log/22/server.input 19:01:52.159923 Identifying ourselves as friends 19:01:52.159979 Response sent (56 bytes) and written to log/22/server.response 19:01:52.159991 special request received, no persistency 19:01:52.160001 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 60442 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind1634 ==166068== ==166068== Process terminating with default action of signal 4 (SIGILL) ==166068== Illegal opcode at address 0x4013E00 ==166068== at 0x4013E00: getparameter (tool_getparam.c:2846) ==166068== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166068== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==166068== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1634 CMD (33792): ../libtool --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/valgrind1652 ./unit/units unit1652 - > log/21/stdout1652 2> log/21/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/10/valgrind1635 ../src/curl -q --trace-ascii log/10/trace1635 --trace-time http://127.0.0.1:37879/1635 --retry 1 --fail-with-body > log/10/stdout1635 2> log/10/stderr1635 1635: stdout FAILED: --- log/10/check-expected 2025-11-13 19:01:53.392725057 +0000 +++ log/10/check-generated 2025-11-13 19:01:53.392725057 +0000 @@ -1,2 +0,0 @@ -moo[LF] -hey[LF] == Contents of files in the log/10/ 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/10/valgrind1635 ../src/curl -q --trace-ascii log/10/trace1635 --trace-time http://127.0.0.1:37879/1635 --retry 1 --fail-with-body > log/10/stdout1635 2> log/10/stderr1635 === End of file commands.log === Start of file http_server.log 19:01:52.170016 ====> Client connect 19:01:52.170055 accept_connection 3 returned 4 19:01:52.170073 accept_connection 3 returned 0 19:01:52.170207 Read 93 bytes 19:01:52.170221 Process 93 bytes request 19:01:52.170236 Got request: GET /verifiedserver HTTP/1.1 19:01:52.170246 Are-we-friendly question received 19:01:52.170272 Wrote request (93 bytes) input to log/10/server.input 19:01:52.170294 Identifying ourselves as friends 19:01:52.170349 Response sent (56 bytes) and written to log/10/server.response 19:01:52.170359 special request received, no persistency 19:01:52.170369 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 49562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind1635 ==166089== ==166089== Process terminating with default action of signal 4 (SIGILL) ==166089== Illegal opcode at address 0x4013E00 ==166089== at 0x4013E00: getparameter (tool_getparam.c:2846) ==166089== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166089== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==166089== by 0x40037A4: 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/21/valgrind1652 ./unit/units unit1652 - > log/21/stdout1652 2> log/21/stderr1652 units returned 132, when expecting 0 1652: exit FAILED == Contents of files in the log/21/ 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/21/valgrind1652 ./unit/units unit1652 - > log/21/stdout1652 2> log/21/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 ==166245== ==166245== Process terminating with default action of signal 4 (SIGILL) ==166245== Illegal opcode at address 0x407C5FF ==166245== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==166245== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==166245== by 0x407C5FF: Curl_open (url.c:525) ==166245== by 0x403E625: curl_easy_init (easy.c:371) ==166245== by 0x40159BB: UnknownInlinedFun (unit1652.c:60) ==166245== by 0x40159BB: test_unit1652.lto_priv.0 (unit1652.c:89) ==166245== by 0x400A12F: main (first.c:280) ==166245== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==166245== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==166245== by 0x407C59D: Curl_open (url.c:504) ==166245== by 0x403E625: curl_easy_init (easy.c:371) ==166245== by 0x40159BB: UnknownInlinedFun (unit1652.c:60) ==166245== by 0x40159BB: test_unit1652.lto_priv.0 (unit1652.c:89) ==166245== by 0x400A12F: main (first.c:280) ==166245== === End of file valgrind1652 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/valgrind1663 ./unit/units unit1663 - > log/3/stdout1663 2> log/3/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/20/valgrind1660 ./unit/units unit1660 log/20/hsts1660 > log/20/stdout1660 2> log/20/stderr1660 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-11-13 19:01:53.556058393 +0000 +++ log/7/check-generated 2025-11-13 19:01:53.556058393 +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 ==166286== ==166286== Process terminating with default action of signal 4 (SIGILL) ==166286== Illegal opcode at address 0x407C5FF ==166286== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==166286== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==166286== by 0x407C5FF: Curl_open (url.c:525) ==166286== by 0x403E625: curl_easy_init (easy.c:371) ==166286== by 0x4017133: test_unit1654.lto_priv.0 (unit1654.c:45) ==166286== by 0x400A12F: main (first.c:280) ==166286== 52 bytes in 4 blocks are possibly lost in loss record 544 of 650 ==166286== at 0x49937A8: malloc (vg_replace_malloc.c:446) ==166286== by 0x4021DAC: UnknownInlinedFun (strdup.c:114) ==166286== by 0x4021DAC: altsvc_createid (altsvc.c:113) ==166286== by 0x4030C95: UnknownInlinedFun (altsvc.c:145) ==166286== by 0x4030C95: UnknownInlinedFun (altsvc.c:196) ==166286== by 0x4030C95: altsvc_load.lto_priv.0 (altsvc.c:240) ==166286== by 0x4017072: UnknownInlinedFun (altsvc.c:327) ==166286== by 0x4017072: test_unit1654.lto_priv.0 (unit1654.c:39) ==166286== by 0x400A12F: main (first.c:280) ==166286== ==166286== 72 bytes in 4 blocks are possibly lost in loss record 574 of 650 ==166286== at 0x49937A8: malloc (vg_replace_malloc.c:446) ==166286== by 0x4021D15: UnknownInlinedFun (strdup.c:114) ==166286== by 0x4021D15: altsvc_createid (altsvc.c:117) ==166286== by 0x4030C95: UnknownInlinedFun (altsvc.c:145) ==166286== by 0x4030C95: UnknownInlinedFun (altsvc.c:196) ==166286== by 0x4030C95: altsvc_load.lto_priv.0 (altsvc.c:240) ==166286== by 0x4017072: UnknownInlinedFun (altsvc.c:327) ==166286== by 0x4017072: test_unit1654.lto_priv.0 (unit1654.c:39) ==166286== by 0x400A12F: main (first.c:280) ==166286== ==166286== 320 bytes in 4 blocks are possibly lost in loss record 604 of 650 ==166286== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==166286== by 0x4021C54: altsvc_createid (altsvc.c:88) ==166286== by 0x4030C95: UnknownInlinedFun (altsvc.c:145) ==166286== by 0x4030C95: UnknownInlinedFun (altsvc.c:196) ==166286== by 0x4030C95: altsvc_load.lto_priv.0 (altsvc.c:240) ==166286== by 0x4017072: UnknownInlinedFun (altsvc.c:327) ==166286== by 0x4017072: test_unit1654.lto_priv.0 (unit1654.c:39) ==166286== by 0x400A12F: main (first.c:280) ==166286== ==166286== 5,384 bytes in 1 blocks are definitely lost in loss record 648 of 650 ==166286== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==166286== by 0x407C59D: Curl_open (url.c:504) ==166286== by 0x403E625: curl_easy_init (easy.c:371) ==166286== by 0x4017133: test_unit1654.lto_priv.0 (unit1654.c:45) ==166286== by 0x400A12F: main (first.c:280) ==166286== === End of file valgrind1654 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/3/valgrind1663 ./unit/units unit1663 - > log/3/stdout1663 2> log/3/stderr1663 -------e-v- OK (1556 out of 1746, remaining: 00:14, took 0.933s, duration: 02:01) 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/valgrind1664 ./unit/units unit1664 - > log/13/stdout1664 2> log/13/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/8/valgrind1670 ../src/curl -q --include --trace-ascii log/8/trace1670 --trace-time http://127.0.0.1:43853/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/8/1670.out > log/8/stdout1670 2> log/8/stderr1670 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/20/valgrind1660 ./unit/units unit1660 log/20/hsts1660 > log/20/stdout1660 2> log/20/stderr1660 1660: stdout FAILED: --- log/20/check-expected 2025-11-13 19:01:53.686058394 +0000 +++ log/20/check-generated 2025-11-13 19:01:53.686058394 +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/20/ 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/20/valgrind1660 ./unit/units unit1660 log/20/hsts1660 > log/20/stdout1660 2> log/20/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/20/hsts1660 === End of file stderr1660 === Start of file valgrind1660 ==166506== ==166506== Process terminating with default action of signal 4 (SIGILL) ==166506== Illegal opcode at address 0x407C5FF ==166506== at 0x407C5FF: UnknownInlinedFun (string_fortified.h:59) ==166506== by 0x407C5FF: UnknownInlinedFun (request.c:45) ==166506== by 0x407C5FF: Curl_open (url.c:525) ==166506== by 0x403E625: curl_easy_init (easy.c:371) ==166506== by 0x4018003: test_unit1660.lto_priv.0 (unit1660.c:124) ==166506== by 0x400A12F: main (first.c:280) ==166506== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==166506== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==166506== by 0x407C59D: Curl_open (url.c:504) ==166506== by 0x403E625: curl_easy_init (easy.c:371) ==166506== by 0x4018003: test_unit1660.lto_priv.0 (unit1660.c:124) ==166506== by 0x400A12F: main (first.c:280) ==166506== === 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/13/valgrind1664 ./unit/units unit1664 - > log/13/stdout1664 2> log/13/stderr1664 s------e-v- OK (1557 out of 1746, remaining: 00:14, took 0.994s, duration: 02:01) CMD (33792): ../libtool --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/valgrind1671 ../src/curl -q --include --trace-ascii log/14/trace1671 --trace-time http://127.0.0.1:36759/1671 -w '%{header_json}\n' -o log/14/1671.out > log/14/stdout1671 2> log/14/stderr1671 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/8/valgrind1670 ../src/curl -q --include --trace-ascii log/8/trace1670 --trace-time http://127.0.0.1:43853/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/8/1670.out > log/8/stdout1670 2> log/8/stderr1670 1670: stdout FAILED: --- log/8/check-expected 2025-11-13 19:01:53.709391727 +0000 +++ log/8/check-generated 2025-11-13 19:01:53.709391727 +0000 @@ -1 +0,0 @@ -"21025-dc7-39462498" Tue, 09 Nov 2010 14:49:00 GMT[CR][LF] == Contents of files in the log/8/ 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/8/valgrind1670 ../src/curl -q --include --trace-ascii log/8/trace1670 --trace-time http://127.0.0.1:43853/1670 -w '%header{etag} %header{nope} %header{DATE}\n' -o log/8/1670.out > log/8/stdout1670 2> log/8/stderr1670 === End of file commands.log === Start of file http_server.log 19:01:52.506267 ====> Client connect 19:01:52.506304 accept_connection 3 returned 4 19:01:52.506324 accept_connection 3 returned 0 19:01:52.506341 Read 93 bytes 19:01:52.506352 Process 93 bytes request 19:01:52.506368 Got request: GET /verifiedserver HTTP/1.1 19:01:52.506379 Are-we-friendly question received 19:01:52.506404 Wrote request (93 bytes) input to log/8/server.input 19:01:52.506423 Identifying ourselves as friends 19:01:52.506483 Response sent (56 bytes) and written to log/8/server.response 19:01:52.506495 special request received, no persistency 19:01:52.506505 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 37966 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind1670 ==166643== ==166643== Process terminating with default action of signal 4 (SIGILL) ==166643== Illegal opcode at address 0x4013E00 ==166643== at 0x4013E00: getparameter (tool_getparam.c:2846) ==166643== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166643== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==166643== by 0x40037A4: 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/23/valgrind1680 ../src/curl -q --include --trace-ascii log/23/trace1680 --trace-time http://127.0.0.1:35243/1680 -o log/23/exist1680 --clobber > log/23/stdout1680 2> log/23/stderr1680 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/14/valgrind1671 ../src/curl -q --include --trace-ascii log/14/trace1671 --trace-time http://127.0.0.1:36759/1671 -w '%{header_json}\n' -o log/14/1671.out > log/14/stdout1671 2> log/14/stderr1671 1671: stdout FAILED: --- log/14/check-expected 2025-11-13 19:01:53.716058395 +0000 +++ log/14/check-generated 2025-11-13 19:01:53.716058395 +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/14/ 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/14/valgrind1671 ../src/curl -q --include --trace-ascii log/14/trace1671 --trace-time http://127.0.0.1:36759/1671 -w '%{header_json}\n' -o log/14/1671.out > log/14/stdout1671 2> log/14/stderr1671 === End of file commands.log === Start of file http_server.log 19:01:52.535607 ====> Client connect 19:01:52.535641 accept_connection 3 returned 4 19:01:52.535659 accept_connection 3 returned 0 19:01:52.535676 Read 93 bytes 19:01:52.535686 Process 93 bytes request 19:01:52.535700 Got request: GET /verifiedserver HTTP/1.1 19:01:52.535711 Are-we-friendly question received 19:01:52.535736 Wrote request (93 bytes) input to log/14/server.input 19:01:52.535753 Identifying ourselves as friends 19:01:52.535818 Response sent (56 bytes) and written to log/14/server.response 19:01:52.535830 special request received, no persistency 19:01:52.535840 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 36908 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 74428 === End of file server.response === Start of file valgrind1671 ==166700== ==166700== Process terminating with default action of signal 4 (SIGILL) ==166700== Illegal opcode at address 0x4013E00 ==166700== at 0x4013E00: getparameter (tool_getparam.c:2846) ==166700== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166700== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==166700== by 0x40037A4: 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/18/valgrind1681 ../src/curl -q --include --trace-ascii log/18/trace1681 --trace-time http://127.0.0.1:39771/1681 -o log/18/exist1681 --no-clobber -w '%{filename_effective}\n' > log/18/stdout1681 2> log/18/stderr1681 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/23/valgrind1680 ../src/curl -q --include --trace-ascii log/23/trace1680 --trace-time http://127.0.0.1:35243/1680 -o log/23/exist1680 --clobber > log/23/stdout1680 2> log/23/stderr1680 1680: output (log/23/exist1680) FAILED: --- log/23/check-expected 2025-11-13 19:01:53.796058394 +0000 +++ log/23/check-generated 2025-11-13 19:01:53.796058394 +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/23/ 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/23/valgrind1680 ../src/curl -q --include --trace-ascii log/23/trace1680 --trace-time http://127.0.0.1:35243/1680 -o log/23/exist1680 --clobber > log/23/stdout1680 2> log/23/stderr1680 === End of file commands.log === Start of file exist1680 to be overwritten === End of file exist1680 === Start of file http_server.log 19:01:52.561713 ====> Client connect 19:01:52.561748 accept_connection 3 returned 4 19:01:52.561765 accept_connection 3 returned 0 19:01:52.561781 Read 93 bytes 19:01:52.561793 Process 93 bytes request 19:01:52.561811 Got request: GET /verifiedserver HTTP/1.1 19:01:52.561822 Are-we-friendly question received 19:01:52.561850 Wrote request (93 bytes) input to log/23/server.input 19:01:52.561869 Identifying ourselves as friends 19:01:52.561932 Response sent (56 bytes) and written to log/23/server.response 19:01:52.561943 special request received, no persistency 19:01:52.561953 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 45730 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 17 WE ROOLZ: 74418 === End of file server.response === Start of file valgrind1680 ==166770== ==166770== Process terminating with default action of signal 4 (SIGILL) ==166770== Illegal opcode at address 0x4013E00 ==166770== at 0x4013E00: getparameter (tool_getparam.c:2846) ==166770== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166770== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==166770== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1680 CMD (33792): ../libtool --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:46819/1682 --output-dir log/12 -o exist1682 --no-clobber > log/12/stdout1682 2> log/12/stderr1682 CMD (33792): ../libtool --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/valgrind1683 ../src/curl -q --include --trace-ascii log/9/trace1683 --trace-time http://127.0.0.1:38373/1683 -o log/9/exist1683 --no-clobber > log/9/stdout1683 2> log/9/stderr1683 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/18/valgrind1681 ../src/curl -q --include --trace-ascii log/18/trace1681 --trace-time http://127.0.0.1:39771/1681 -o log/18/exist1681 --no-clobber -w '%{filename_effective}\n' > log/18/stdout1681 2> log/18/stderr1681 1681: stdout FAILED: --- log/18/check-expected 2025-11-13 19:01:53.866058396 +0000 +++ log/18/check-generated 2025-11-13 19:01:53.866058396 +0000 @@ -1 +0,0 @@ -log/18/exist1681.1[CR][LF] == Contents of files in the log/18/ dir after test 1681 === Start of file check-expected log/18/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/18/valgrind1681 ../src/curl -q --include --trace-ascii log/18/trace1681 --trace-time http://127.0.0.1:39771/1681 -o log/18/exist1681 --no-clobber -w '%{filename_effective}\n' > log/18/stdout1681 2> log/18/stderr1681 === End of file commands.log === Start of file exist1681 to stay the same === End of file exist1681 === Start of file http_server.log 19:01:52.630606 ====> Client connect 19:01:52.630640 accept_connection 3 returned 4 19:01:52.630658 accept_connection 3 returned 0 19:01:52.630674 Read 93 bytes 19:01:52.630686 Process 93 bytes request 19:01:52.630700 Got request: GET /verifiedserver HTTP/1.1 19:01:52.630711 Are-we-friendly question received 19:01:52.630736 Wrote request (93 bytes) input to log/18/server.input 19:01:52.630765 Identifying ourselves as friends 19:01:52.630819 Response sent (56 bytes) and written to log/18/server.response 19:01:52.630831 special request received, no persistency 19:01:52.630841 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 43424 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind1681 ==166852== ==166852== Process terminating with default action of signal 4 (SIGILL) ==166852== Illegal opcode at address 0x4013E00 ==166852== at 0x4013E00: getparameter (tool_getparam.c:2846) ==166852== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166852== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==166852== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1681 CMD (0): /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/9/exist1683.$i"; open(FH, "<", $filename) or die $!; ( eq "to stay the same" and eq "") or die "incorrect $filename" ; close(FH) }' 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:46819/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-11-13 19:01:54.002725064 +0000 +++ log/12/check-generated 2025-11-13 19:01:54.002725064 +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:46819/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 19:01:52.750823 ====> Client connect 19:01:52.750860 accept_connection 3 returned 4 19:01:52.750878 accept_connection 3 returned 0 19:01:52.750893 Read 93 bytes 19:01:52.750904 Process 93 bytes request 19:01:52.750916 Got request: GET /verifiedserver HTTP/1.1 19:01:52.750926 Are-we-friendly question received 19:01:52.750949 Wrote request (93 bytes) input to log/12/server.input 19:01:52.750964 Identifying ourselves as friends 19:01:52.751021 Response sent (56 bytes) and written to log/12/server.response 19:01:52.751031 special request received, no persistency 19:01:52.751040 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 53214 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.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:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind1682 ==166946== ==166946== Process terminating with default action of signal 4 (SIGILL) ==166946== Illegal opcode at address 0x4013E00 ==166946== at 0x4013E00: getparameter (tool_getparam.c:2846) ==166946== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166946== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==166946== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1682 prechecked /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/9/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/9/valgrind1683 ../src/curl -q --include --trace-ascii log/9/trace1683 --trace-time http://127.0.0.1:38373/1683 -o log/9/exist1683 --no-clobber > log/9/stdout1683 2> log/9/stderr1683 postcheck /usr/bin/perl -e 'for my $i ((1..100)) { my $filename = "log/9/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/9/ 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/9/valgrind1683 ../src/curl -q --include --trace-ascii log/9/trace1683 --trace-time http://127.0.0.1:38373/1683 -o log/9/exist1683 --no-clobber > log/9/stdout1683 2> log/9/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 CMD (33792): ../libtool --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/valgrind1902 ./libtest/libtests lib1902 log/11/cookie1902 > log/11/stdout1902 2> log/11/stderr1902 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 19:01:52.810824 ====> Client connect 19:01:52.810865 accept_connection 3 returned 4 19:01:52.810886 accept_connection 3 returned 0 19:01:52.810985 Read 93 bytes 19:01:52.811002 Process 93 bytes request 19:01:52.811017 Got request: GET /verifiedserver HTTP/1.1 19:01:52.811027 Are-we-friendly question received 19:01:52.811058 Wrote request (93 bytes) input to log/9/server.input 19:01:52.811076 Identifying ourselves as friends 19:01:52.811128 Response sent (57 bytes) and written to log/9/server.response 19:01:52.811140 special request received, no persistency 19:01:52.811149 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38373... * Established connection to 127.0.0.1 (127.0.0.1 port 38373) from 127.0.0.1 port 39538 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38373 > User-Agent: curl/8.17.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:38373 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159573 === 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: 18 WE ROOLZ: 159573 === End of file server.response === Start of file valgrind1683 ==166983== ==166983== Process terminating with default action of signal 4 (SIGILL) ==166983== Illegal opcode at address 0x4013E00 ==166983== at 0x4013E00: getparameter (tool_getparam.c:2846) ==166983== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==166983== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==166983== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1683 test 1902...[set COOKIEFILE and COOKIEJAR but make 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/11/valgrind1902 ./libtest/libtests lib1902 log/11/cookie1902 > log/11/stdout1902 2> log/11/stderr1902 libtests returned 132, when expecting 0 1902: exit FAILED == Contents of files in the log/11/ dir after test 1902 === Start of file commands.log ../libtool --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/valgrind1902 ./libtest/libtests lib1902 log/11/cookie1902 > log/11/stdout1902 2> log/11/stderr1902 === End of file commands.log === Start of file cookie1902 # Netscape HTTP Cookie File # https://curl.se/docs/http-cookies.html # This file was generated by libcurl! Edit at your own risk. example.com FALSE / FALSE 0 has_js 1 === End of file cookie1902 === Start of file server.cmd Testnum 1902 === End of file server.cmd === Start of file stderr1902 URL: log/11/cookie1902 === End of file stderr1902 === Start of file valgrind1902 ==167494== ==167494== Process terminating with default action of signal 4 (SIGILL) ==167494== Illegal opcode at address 0x51D5F1F ==167494== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167494== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167494== by 0x51D5F1F: Curl_open (url.c:525) ==167494== by 0x514F6EF: curl_easy_init (easy.c:371) ==167494== by 0x4038786: test_lib1902.lto_priv.0 (lib1902.c:35) ==167494== by 0x400347F: main (first.c:280) ==167494== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167494== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167494== by 0x51D5EBD: Curl_open (url.c:504) ==167494== by 0x514F6EF: curl_easy_init (easy.c:371) ==167494== by 0x4038786: test_lib1902.lto_priv.0 (lib1902.c:35) ==167CMD (33792): ../libtool --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/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/16/stdout1900 2> log/16/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/6/valgrind1800 ../src/curl -q --output log/6/curl1800.out --include --trace-ascii log/6/trace1800 --trace-time http://127.0.0.1:41595/1800 --http2 > log/6/stdout1800 2> log/6/stderr1800 CMD (33792): ../libtool --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/valgrind1711 ../src/curl -q --output log/4/curl1711.out --include --trace-ascii log/4/trace1711 --trace-time smtp://127.0.0.1:44681/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/email1711 > log/4/stdout1711 2> log/4/stderr1711 494== by 0x400347F: main (first.c:280) ==167494== === End of file valgrind1902 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/16/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/16/stdout1900 2> log/16/stderr1900 libtests returned 132, when expecting 0 1900: exit FAILED == Contents of files in the log/16/ 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/16/valgrind1900 ./libtest/libtests lib1900 http://127.0.0.1:47/not-there/1900 > log/16/stdout1900 2> log/16/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 ==167272== ==167272== Process terminating with default action of signal 4 (SIGILL) ==167272== Illegal opcode at address 0x51D5F1F ==167272== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167272== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167272== by 0x51D5F1F: Curl_open (url.c:525) ==167272== by 0x514F6EF: curl_easy_init (easy.c:371) ==167272== by 0x403F3AC: UnknownInlinedFun (lib1900.c:36) ==167272== by 0x403F3AC: test_lib1900.lto_priv.0 (lib1900.c:28) ==167272== by 0x400347F: main (first.c:280) ==167272== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167272== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167272== by 0x51D5EBD: Curl_open (url.c:504) ==167272== by 0x514F6EF: curl_easy_init (easy.c:371) ==167272== by 0x403F3AC: UnknownInlinedFun (lib1900.c:36) ==167272== by 0x403F3AC: test_lib1900.lto_priv.0 (lib1900.c:28) ==167272== by 0x400347F: main (first.c:280) ==167272== === End of file valgrind1900 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/6/valgrind1800 ../src/curl -q --output log/6/curl1800.out --include --trace-ascii log/6/trace1800 --trace-time http://127.0.0.1:41595/1800 --http2 > log/6/stdout1800 2> log/6/stderr1800 1800: 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 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/6/valgrind1800 ../src/curl -q --output log/6/curl1800.out --include --trace-ascii log/6/trace1800 --trace-time http://127.0.0.1:41595/1800 --http2 > log/6/stdout1800 2> log/6/stderr1800 === End of file commands.log === Start of file http_server.log 19:01:52.985401 ====> Client connect 19:01:52.985434 accept_connection 3 returned 4 19:01:52.985452 accept_connection 3 returned 0 19:01:52.985468 Read 93 bytes 19:01:52.985480 Process 93 bytes request 19:01:52.985495 Got request: GET /verifiedserver HTTP/1.1 19:01:52.985505 Are-we-friendly question received 19:01:52.985529 Wrote request (93 bytes) input to log/6/server.input 19:01:52.985547 Identifying ourselves as friends 19:01:52.985602 Response sent (56 bytes) and written to log/6/server.response 19:01:52.985614 special request received, no persistency 19:01:52.985625 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 46394 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file valgrind1800 ==167217== ==167217== Process terminating with default action of signal 4 (SIGILL) ==167217== Illegal opcode at address 0x4013E00 ==167217== at 0x4013E00: getparameter (tool_getparam.c:2846) ==167217== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==167217== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==167217== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1800 test 1711...[Send >64K over 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/4/valgrind1711 ../src/curl -q --output log/4/curl1711.out --include --trace-ascii log/4/trace1711 --trace-time smtp://127.0.0.1:44681/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/email1711 > log/4/stdout1711 2> log/4/stderr1711 1711: 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 1711 === Start of file commands.log ../libtool --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/valgrind1711 ../src/curl -q --output log/4/curl1711.out --include --trace-ascii log/4/trace1711 --trace-time smtp://127.0.0.1:44681/1711 --mail-rcpt recipient@example.com --mail-from sender@example.com -T log/4/email1711 > log/4/stdout1711 2> log/4/stderr1711 === End of file commands.log === Start of file email1711 From: different To: another test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test 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/7/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:41017/hello/../1907 > log/7/stdout1907 2> log/7/stderr1907 body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... test in body... === End of file email1711 === Start of file server.cmd Testnum 1711 === End of file server.cmd === Start of file smtp_server.log 19:01:53.215181 ====> Client connect 19:01:53.215318 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:53.215843 < "EHLO verifiedserver" 19:01:53.215896 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:53.216085 < "HELP" 19:01:53.216123 > "214 WE ROOLZ: 124365[CR][LF]" 19:01:53.216138 return proof we are we 19:01:53.216420 < "QUIT" 19:01:53.216466 > "221 curl ESMTP server signing off[CR][LF]" 19:01:53.217271 MAIN sockfilt said DISC 19:01:53.217306 ====> Client disconnected 19:01:53.217374 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:52.987141 ====> Client connect 19:01:52.987386 Received DATA (on stdin) 19:01:52.987403 > 160 bytes data, server => client 19:01:52.987423 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:52.987434 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:52.987445 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:52.987739 < 21 bytes data, client => server 19:01:52.987758 'EHLO verifiedserver\r\n' 19:01:52.987954 Received DATA (on stdin) 19:01:52.987968 > 53 bytes data, server => client 19:01:52.987981 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:52.988037 < 6 bytes data, client => server 19:01:52.988049 'HELP\r\n' 19:01:52.988170 Received DATA (on stdin) 19:01:52.988196 > 22 bytes data, server => client 19:01:52.988208 '214 WE ROOLZ: 124365\r\n' 19:01:52.988338 < 6 bytes data, client => server 19:01:52.988352 'QUIT\r\n' 19:01:52.988521 Received DATA (on stdin) 19:01:52.988533 > 35 bytes data, server => client 19:01:52.988544 '221 curl ESMTP server signing off\r\n' 19:01:52.989267 ====> Client disconnect 19:01:52.989429 Received ACKD (on stdin) === End of file smtp_sockfilt.log === Start of file valgrind1711 ==167225== ==167225== Process terminating with default action of signal 4 (SIGILL) ==167225== Illegal opcode at address 0x4013E00 ==167225== at 0x4013E00: getparameter (tool_getparam.c:2846) ==167225== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==167225== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==167225== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1711 CMD (33792): ../libtool --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/valgrind1704 ../src/curl -q --output log/1/curl1704.out --include --trace-ascii log/1/trace1704 --trace-time http://127.0.0.1:40353/1704 --http2 > log/1/stdout1704 2> log/1/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/15/valgrind1802 ../src/curl -q --output log/15/curl1802.out --include --trace-ascii log/15/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:44531 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/15/stdout1802 2> log/15/stderr1802 CMD (33792): ../libtool --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/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:41761/boom > log/19/stdout1901 2> log/19/stderr1901 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/7/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:41017/hello/../1907 > log/7/stdout1907 2> log/7/stderr1907 1907: stdout FAILED: --- log/7/check-expected 2025-11-13 19:01:54.166058398 +0000 +++ log/7/check-generated 2025-11-13 19:01:54.166058398 +0000 @@ -1 +0,0 @@ -Effective URL: http://127.0.0.1:41017/1907[LF] == Contents of files in the log/7/ dir after test 1907 === Start of file check-expected Effective URL: http://127.0.0.1:41017/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/7/valgrind1907 ./libtest/libtests lib1907 127.0.0.1:41017/hello/../1907 > log/7/stdout1907 2> log/7/stderr1907 === End of file commands.log === Start of file http_server.log 19:01:53.353980 ====> Client connect 19:01:53.354015 accept_connection 3 returned 4 19:01:53.354034 accept_connection 3 returned 0 19:01:53.354050 Read 93 bytes 19:01:53.354061 Process 93 bytes request 19:01:53.354075 Got request: GET /verifiedserver HTTP/1.1 19:01:53.354096 Are-we-friendly question received 19:01:53.354125 Wrote request (93 bytes) input to log/7/server.input 19:01:53.354145 Identifying ourselves as friends 19:01:53.354204 Response sent (56 bytes) and written to log/7/server.response 19:01:53.354216 special request received, no persistency 19:01:53.354227 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 57070 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file stderr1907 URL: 127.0.0.1:41017/hello/../1907 === End of file stderr1907 === Start of file valgrind1907 ==167785== ==167785== Process terminating with default action of signal 4 (SIGILL) ==167785== Illegal opcode at address 0x403E3AC ==167785== at 0x403E3AC: test_lib1907.lto_priv.0 (lib1907.c:33) ==167785== by 0x400347F: main (first.c:280) === 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/1/valgrind1704 ../src/curl -q --output log/1/curl1704.out --include --trace-ascii log/1/trace1704 --trace-time http://127.0.0.1:40353/1704 --http2 > log/1/stdout1704 2> log/1/stderr1704 1704: 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 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/1/valgrind1704 ../src/curl -q --output log/1/curl1704.out --include --trace-ascii log/1/trace1704 --trace-time http://127.0.0.1:40353/1704 --http2 > log/1/stdout1704 2> log/1/stderr1704 === End of file commands.log === Start of file http_server.log 19:01:52.966039 ====> Client connect 19:01:52.966074 accept_connection 3 returned 4 19:01:52.966091 accept_connection 3 returned 0 19:01:52.966106 Read 93 bytes 19:01:52.966117 Process 93 bytes request 19:01:52.966132 Got request: GET /verifiedserver HTTP/1.1 19:01:52.966143 Are-we-friendly question received 19:01:52.966167 Wrote request (93 bytes) input to log/1/server.input 19:01:52.966185 Identifying ourselves as friends 19:01:52.966239 Response sent (56 bytes) and written to log/1/server.response 19:01:52.966250 special request received, no persistency 19:01:52.966260 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 40252 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file valgrind1704 ==167165== ==167165== Process terminating with default action of signal 4 (SIGILL) ==167165== Illegal opcode at address 0x4013E00 ==167165== at 0x4013E00: getparameter (tool_getparam.c:2846) ==167165== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==167165== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==167165== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1704 test 1802...[HTTP CONNECT with custom headers for proxy and 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/15/valgrind1802 ../src/curl -q --output log/15/curl1802.out --include --trace-ascii log/15/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:44531 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/15/stdout1802 2> log/15/stderr1802 1802: 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 1802 === Start of file commands.log ../libtool --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/valgrind1802 ../src/curl -q --output log/15/curl1802.out --include --trace-ascii log/15/trace1802 --trace-time http://hello/wanted/page -p -x 127.0.0.1:44531 --header "User-Agent: myapp/1.0" --proxy-header "User-Agent: Benjamin/2" --proxy-header "Host: todeloo" --header "Host: foo" > log/15/stdout1802 2> log/15/stderr1802 === End of file commands.log === Start of file http_server.log 19:01:52.994624 ====> Client connect 19:01:52.994657 accept_connection 3 returned 4 19:01:52.994674 accept_connection 3 returned 0 19:01:52.994689 Read 93 bytes 19:01:52.994700 Process 93 bytes request 19:01:52.994713 Got request: GET /verifiedserver HTTP/1.1 19:01:52.994723 Are-we-friendly question received 19:01:52.994750 Wrote request (93 bytes) input to log/15/server.input 19:01:52.994768 Identifying ourselves as friends 19:01:52.994824 Response sent (56 bytes) and written to log/15/server.response 19:01:52.994839 special request received, no persistency 19:01:52.994850 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 36062 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 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/21/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:35043/1906 > log/21/stdout1906 2> log/21/stderr1906 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/valgrind1912 ./libtest/libtests lib1912 - > log/8/stdout1912 2> log/8/stderr1912 CMD (33792): ../libtool --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/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:40515/we/want/1903 log/17/cookies1903 log/17/cookiesout1903 > log/17/stdout1903 2> log/17/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/10/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:37879/we/want/1905 log/10/cookies1905 > log/10/stdout1905 2> log/10/stderr1905 eft intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === End of file http_verify.out === Start of file server.cmd Testnum 1802 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74426 === End of file server.response === Start of file valgrind1802 ==167258== ==167258== Process terminating with default action of signal 4 (SIGILL) ==167258== Illegal opcode at address 0x4013E00 ==167258== at 0x4013E00: getparameter (tool_getparam.c:2846) ==167258== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==167258== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==167258== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1802 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/19/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:41761/boom > log/19/stdout1901 2> log/19/stderr1901 1901: 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 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/19/valgrind1901 ./libtest/libtests lib1901 http://127.0.0.1:41761/boom > log/19/stdout1901 2> log/19/stderr1901 === End of file commands.log === Start of file http_server.log 19:01:53.042267 ====> Client connect 19:01:53.042304 accept_connection 3 returned 4 19:01:53.042323 accept_connection 3 returned 0 19:01:53.042340 Read 93 bytes 19:01:53.042351 Process 93 bytes request 19:01:53.042365 Got request: GET /verifiedserver HTTP/1.1 19:01:53.042375 Are-we-friendly question received 19:01:53.042403 Wrote request (93 bytes) input to log/19/server.input 19:01:53.042422 Identifying ourselves as friends 19:01:53.042480 Response sent (56 bytes) and written to log/19/server.response 19:01:53.042492 special request received, no persistency 19:01:53.042503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 39872 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file stderr1901 URL: http://127.0.0.1:41761/boom === End of file stderr1901 === Start of file valgrind1901 ==167448== ==167448== Process terminating with default action of signal 4 (SIGILL) ==167448== Illegal opcode at address 0x51D5F1F ==167448== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167448== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167448== by 0x51D5F1F: Curl_open (url.c:525) ==167448== by 0x514F6EF: curl_easy_init (easy.c:371) ==167448== by 0x403B504: test_lib1901.lto_priv.0 (lib1901.c:58) ==167448== by 0x400347F: main (first.c:280) ==167448== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167448== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167448== by 0x51D5EBD: Curl_open (url.c:504) ==167448== by 0x514F6EF: curl_easy_init (easy.c:371) ==167448== by 0x403B504: test_lib1901.lto_priv.0 (lib1901.c:58) ==167448== by 0x400347F: main (first.c:280) ==167448== === End of file valgrind1901 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/21/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:35043/1906 > log/21/stdout1906 2> log/21/stderr1906 1906: 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 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/21/valgrind1906 ./libtest/libtests lib1906 http://127.0.0.1:35043/1906 > log/21/stdout1906 2> log/21/stderr1906 === End of file commands.log === Start of file http_server.log 19:01:53.335914 ====> Client connect 19:01:53.335949 accept_connection 3 returned 4 19:01:53.335969 accept_connection 3 returned 0 19:01:53.335986 Read 93 bytes 19:01:53.335998 Process 93 bytes request 19:01:53.336012 Got request: GET /verifiedserver HTTP/1.1 19:01:53.336023 Are-we-friendly question received 19:01:53.336055 Wrote request (93 bytes) input to log/21/server.input 19:01:53.336076 Identifying ourselves as friends 19:01:53.336139 Response sent (56 bytes) and written to log/21/server.response 19:01:53.336152 special request received, no persistency 19:01:53.336162 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 48468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 74420 === End of file server.response === Start of file stderr1906 URL: http://127.0.0.1:35043/1906 === End of file stderr1906 === Start of file valgrind1906 ==167758== ==167758== Process terminating with default action of signal 4 (SIGILL) ==167758== Illegal opcode at address 0x403FD7F ==167758== at 0x403FD7F: test_lib1906.lto_priv.0 (lib1906.c:33) ==167758== by 0x400347F: main (first.c:280) ==167758== 88 bytes in 1 blocks are definitely lost in loss record 3 of 14 ==167758== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167758== by 0x403FD7A: test_lib1906.lto_priv.0 (lib1906.c:32) ==167758== by 0x400347F: main (first.c:280) ==167758== === End of file valgrind1906 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/8/valgrind1912 ./libtest/libtests lib1912 - > log/8/stdout1912 2> log/8/stderr1912 -------e-v- OK (1584 out of 1746, remaining: 00:12, took 0.531s, duration: 02:01) CMD (33792): ../libtool --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/valgrind1911 ./libtest/libtests lib1911 - > log/13/stdout1911 2> log/13/stderr1911 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/17/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:40515/we/want/1903 log/17/cookies1903 log/17/cookiesout1903 > log/17/stdout1903 2> log/17/stderr1903 1903: output (log/17/cookiesout1903) FAILED: --- log/17/check-expected 2025-11-13 19:01:54.326058399 +0000 +++ log/17/check-generated 2025-11-13 19:01:54.326058399 +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/17/ 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/17/valgrind1903 ./libtest/libtests lib1903 http://127.0.0.1:40515/we/want/1903 log/17/cookies1903 log/17/cookiesout1903 > log/17/stdout1903 2> log/17/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 19:01:54.146721 ====> Client connect 19:01:54.146775 accept_connection 3 returned 4 19:01:54.146799 accept_connection 3 returned 0 19:01:54.146817 Read 93 bytes 19:01:54.146829 Process 93 bytes request 19:01:54.146845 Got request: GET /verifiedserver HTTP/1.1 19:01:54.146856 Are-we-friendly question received 19:01:54.146885 Wrote request (93 bytes) input to log/17/server.input 19:01:54.146905 Identifying ourselves as friends 19:01:54.146970 Response sent (56 bytes) and written to log/17/server.response 19:01:54.146983 special request received, no persistency 19:01:54.146994 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 55240 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file stderr1903 URL: http://127.0.0.1:40515/we/want/1903 === End of file stderr1903 === Start of file valgrind1903 ==167579== ==167579== Process terminating with default action of signal 4 (SIGILL) ==167579== Illegal opcode at address 0x51D5F1F ==167579== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167579== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167579== by 0x51D5F1F: Curl_open (url.c:525) ==167579== by 0x514F6EF: curl_easy_init (easy.c:371) ==167579== by 0x403F6CC: UnknownInlinedFun (lib1903.c:34) ==167579== by 0x403F6CC: test_lib1903.lto_priv.0 (lib1903.c:28) ==167579== by 0x400347F: main (first.c:280) ==167579== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167579== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167579== by 0x51D5EBD: Curl_open (url.c:504) ==167579== by 0x514F6EF: curl_easy_init (easy.c:371) ==167579== by 0x403F6CC: UnknownInlinedFun (lib1903.c:34) ==167579== by 0x403F6CC: test_lib1903.lto_priv.0 (lib1903.c:28) ==167579== by 0x400347F: main (first.c:280) ==167579== === End of file valgrind1903 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/10/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:37879/we/want/1905 log/10/cookies1905 > log/10/stdout1905 2> log/10/stderr1905 1905: 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 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/10/valgrind1905 ./libtest/libtests lib1905 http://127.0.0.1:37879/we/want/1905 log/10/cookies1905 > log/10/stdout1905 2> log/10/stderr1905 === End of file commands.log === Start of file http_server.log 19:01:53.189790 ====> Client connect 19:01:53.189826 accept_connection 3 returned 4 19:01:53.189844 accept_connection 3 returned 0 19:01:53.189859 Read 93 bytes 19:01:53.189870 Process 93 bytes request 19:01:53.189885 Got request: GET /verifiedserver HTTP/1.1 19:01:53.189895 Are-we-friendly question received 19:01:53.189923 Wrote request (93 bytes) input to log/10/server.input 19:01:53.189940 Identifying ourselves as friends 19:01:53.189994 Response sent (56 bytes) and written to log/10/server.response 19:01:53.190005 special request received, no persistency 19:01:53.190015 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 49568 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file stderr1905 URL: http://127.0.0.1:37879/we/want/1905 === End of file stderr1905 === Start of file valgrind1905 ==167667== ==167667== Process terminating with default action of signal 4 (SIGILL) ==167667== Illegal opcode at address 0x519E800 ==167667== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==167667== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==167667== by 0x519E800: Curl_multi_handle (multi.c:247) ==167667== by 0x403FAA0: test_lib1905.lto_priv.0 (lib1905.c:37) ==167667== by 0x400347F: main (first.c:280) ==167667== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==167667== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167667== by 0x519E794: Curl_multi_handle (multi.c:239) ==167667== by 0x403FAA0: test_lib1905.lto_priv.0 (lib1905.c:37) ==167667== by 0x400347F: main (first.c:280) ==167667== === End of file valgrind1905 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/13/valgrind1911 ./libtest/libtests lib1911 - > log/13/stdout1911 2> 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/3/valgrind1909 ../src/curl -q --trace-ascii log/3/trace1909 --trace-time --retry 1 --retry-all-errors -o log/3/outfile1909 http://127.0.0.1:46261/1909 > log/3/stdout1909 2> log/3/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/20/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:38583/1910 > log/20/stdout1910 2> log/20/stderr1910 CMD (33792): ../libtool --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/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/18/stdout1915 2> log/18/stderr1915 og/13/stderr1911 libtests returned 132, when expecting 0 1911: exit FAILED == Contents of files in the log/13/ 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/13/valgrind1911 ./libtest/libtests lib1911 - > log/13/stdout1911 2> log/13/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 ==167942== ==167942== Process terminating with default action of signal 4 (SIGILL) ==167942== Illegal opcode at address 0x51D5F1F ==167942== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167942== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167942== by 0x51D5F1F: Curl_open (url.c:525) ==167942== by 0x514F6EF: curl_easy_init (easy.c:371) ==167942== by 0x404069F: test_lib1911.lto_priv.0 (lib1911.c:42) ==167942== by 0x400347F: main (first.c:280) ==167942== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167942== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167942== by 0x51D5EBD: Curl_open (url.c:504) ==167942== by 0x514F6EF: curl_easy_init (easy.c:371) ==167942== by 0x404069F: test_lib1911.lto_priv.0 (lib1911.c:42) ==167942== by 0x400347F: main (first.c:280) ==167942== === End of file valgrind1911 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/3/valgrind1909 ../src/curl -q --trace-ascii log/3/trace1909 --trace-time --retry 1 --retry-all-errors -o log/3/outfile1909 http://127.0.0.1:46261/1909 > log/3/stdout1909 2> log/3/stderr1909 1909: 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 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/3/valgrind1909 ../src/curl -q --trace-ascii log/3/trace1909 --trace-time --retry 1 --retry-all-errors -o log/3/outfile1909 http://127.0.0.1:46261/1909 > log/3/stdout1909 2> log/3/stderr1909 === End of file commands.log === Start of file http_server.log 19:01:54.418241 ====> Client connect 19:01:54.418296 accept_connection 3 returned 4 19:01:54.418316 accept_connection 3 returned 0 19:01:54.418334 Read 93 bytes 19:01:54.418346 Process 93 bytes request 19:01:54.418361 Got request: GET /verifiedserver HTTP/1.1 19:01:54.418371 Are-we-friendly question received 19:01:54.418400 Wrote request (93 bytes) input to log/3/server.input 19:01:54.418419 Identifying ourselves as friends 19:01:54.418480 Response sent (56 bytes) and written to log/3/server.response 19:01:54.418492 special request received, no persistency 19:01:54.418503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 43330 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind1909 ==167871== ==167871== Process terminating with default action of signal 4 (SIGILL) ==167871== Illegal opcode at address 0x4013E00 ==167871== at 0x4013E00: getparameter (tool_getparam.c:2846) ==167871== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==167871== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==167871== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1909 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/20/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:38583/1910 > log/20/stdout1910 2> log/20/stderr1910 1910: 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 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/20/valgrind1910 ./libtest/libtests lib1910 127.0.0.1:38583/1910 > log/20/stdout1910 2> log/20/stderr1910 === End of file commands.log === Start of file http_server.log 19:01:53.489509 ====> Client connect 19:01:53.489547 accept_connection 3 returned 4 19:01:53.489566 accept_connection 3 returned 0 19:01:53.489582 Read 93 bytes 19:01:53.489593 Process 93 bytes request 19:01:53.489607 Got request: GET /verifiedserver HTTP/1.1 19:01:53.489617 Are-we-friendly question received 19:01:53.489661 Wrote request (93 bytes) input to log/20/server.input 19:01:53.489679 Identifying ourselves as friends 19:01:53.489742 Response sent (56 bytes) and written to log/20/server.response 19:01:53.489754 special request received, no persistency 19:01:53.489763 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 49870 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file stderr1910 URL: 127.0.0.1:38583/1910 === End of file stderr1910 === Start of file valgrind1910 ==167975== ==167975== Process terminating with default action of signal 4 (SIGILL) ==167975== Illegal opcode at address 0x51D5F1F ==167975== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==167975== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==167975== by 0x51D5F1F: Curl_open (url.c:525) ==167975== by 0x514F6EF: curl_easy_init (easy.c:371) ==167975== by 0x403A277: test_lib1910.lto_priv.0 (lib1910.c:36) ==167975== by 0x400347F: main (first.c:280) ==167975== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==167975== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==167975== by 0x51D5EBD: Curl_open (url.c:504) ==167975== by 0x514F6EF: curl_easy_init (easy.c:371) ==167975== by 0x403A277: test_lib1910.lto_priv.0 (lib1910.c:36) ==167975== by 0x400347F: main (first.c:280) ==167975== === End of file valgrind1910 CMD (33792): ../libtool --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/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:45397/not-there/1913 1 > log/23/stdout1914 2> log/23/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/18/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/18/stdout1915 2> log/18/stderr1915 1915: stdout FAILED: --- log/18/check-expected 2025-11-13 19:01:54.766058405 +0000 +++ log/18/check-generated 2025-11-13 19:01:54.766058405 +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/18/ 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/18/valgrind1915 ./libtest/libtests lib1915 http://127.0.0.1:47/not-there/1915 > log/18/stdout1915 2> log/18/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 ==168128== ==168128== Process terminating with default action of signal 4 (SIGILL) ==168128== Illegal opcode at address 0x51D5F1F ==168128== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168128== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168128== by 0x51D5F1F: Curl_open (url.c:525) ==168128== by 0x514F6EF: curl_easy_init (easy.c:371) ==168128== by 0x403E56E: test_lib1915.lto_priv.0 (lib1915.c:109) ==168128== by 0x400347F: main (first.c:280) ==168128== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168128== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168128== by 0x51D5EBD: Curl_open (url.c:504) ==168128== by 0x514F6EF: curl_easy_init (easy.c:371) ==168128== by 0x403E56E: test_lib1915.lto_priv.0 (lib1915.c:109) ==168128== by 0x400347F: main (first.c:280) ==168128== === 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/23/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:45397/not-there/1913 1 > log/23/stdout1914 2> log/23/stderr1914 libtests returned 132, when expecting 78 1914: exit FAILED == Contents of files in the log/23/ 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/23/valgrind1914 ./libtest/libtests lib1913 ftp://127.0.0.1:45397/not-there/1913 1 > log/23/stdout1914 2> log/23/stderr1914 === End of file commands.log === Start of file ftp_server.log 19:01:53.822220 ====> Client connect 19:01:53.822425 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:53.822872 < "USER anonymous" 19:01:53.822929 > "331 We are happy you popped in![CR][LF]" 19:01:53.823156 < "PASS ftp@example.com" 19:01:53.823204 > "230 Welcome you silly person[CR][LF]" 19:01:53.823403 < "PWD" 19:01:53.823446 > "257 "/" is current directory[CR][LF]" 19:01:53.823637 < "EPSV" 19:01:53.823666 ====> Passive DATA channel requested by client 19:01:53.823682 DATA sockfilt for passive data channel starting... 19:01:53.825688 DATA sockfilt for passive data channel started (pid 168113) 19:01:53.825822 DATA sockfilt for passive data channel listens on port 38493 19:01:53.825873 > "229 Entering Passive Mode (|||38493|)[CR][LF]" 19:01:53.825897 Client has been notified that DATA conn will be accepted on port 38493 19:01:53.826176 Client connects to port 38493 19:01:53.826210 ====> Client established passive DATA connection on port 38493 19:01:53.826309 < "TYPE I" 19:01:53.826346 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:53.826545 < "SIZE verifiedserver" 19:01:53.826591 > "213 17[CR][LF]" 19:01:53.826772 < "RETR verifiedserver" 19:01:53.826814 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:53.826912 =====> Closing passive DATA connection... 19:01:53.826932 Server disconnects passive DATA connection 19:01:53.827162 Server disconnected passive DATA connection 19:01:53.827197 DATA sockfilt for passive data channel quits (pid 168113) 19:01:53.827451 DATA sockfilt for passive data channel quit (pid 168113) 19:01:53.827480 =====> Closed passive DATA connection 19:01:53.827514 > "226 File transfer complete[CR][LF]" 19:01:53.872360 < "QUIT" 19:01:53.872431 > "221 bye bye baby[CR][LF]" 19:01:53.873399 MAIN sockfilt said DISC 19:01:53.873443 ====> Client disconnected 19:01:53.873515 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:53.594123 ====> Client connect 19:01:53.594504 Received DATA (on stdin) 19:01:53.594525 > 160 bytes data, server => client 19:01:53.594540 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:53.594552 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:53.594564 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:53.594683 < 16 bytes data, client => server 19:01:53.594701 'USER anonymous\r\n' 19:01:53.594965 Received DATA (on stdin) 19:01:53.594987 > 33 bytes data, server => client 19:01:53.595000 '331 We are happy you popped in!\r\n' 19:01:53.595065 < 22 bytes data, client => server 19:01:53.595081 'PASS ftp@example.com\r\n' 19:01:53.595266 Received DATA (on stdin) 19:01:53.595282 > 30 bytes data, server => client 19:01:53.595294 '230 Welcome you silly person\r\n' 19:01:53.595352 < 5 bytes data, client => server 19:01:53.595367 'PWD\r\n' 19:01:53.595504 Received DATA (on stdin) 19:01:53.595517 > 30 bytes data, server => client 19:01:53.595529 '257 "/" is current directory\r\n' 19:01:53.595596 < 6 bytes data, client => server 19:01:53.595610 'EPSV\r\n' 19:01:53.597964 Received DATA (on stdin) 19:01:53.597983 > 39 bytes data, server => client 19:01:53.597996 '229 Entering Passive Mode (|||38493|)\r\n' 19:01:53.598170 < 8 bytes data, client => server 19:01:53.598186 'TYPE I\r\n' 19:01:53.598406 Received DATA (on stdin) 19:01:53.598421 > 33 bytes data, server => client 19:01:53.598434 '200 I modify TYPE as you wanted\r\n' 19:01:53.598499 < 21 bytes data, client => server 19:01:53.598515 'SIZE verifiedserver\r\n' 19:01:53.598650 Received DATA (on stdin) 19:01:53.598664 > 8 bytes data, server => client 19:01:53.598676 '213 17\r\n' 19:01:53.598731 < 21 bytes data, client => server 19:01:53.598746 'RETR verifiedserver\r\n' 19:01:53.599092 Received DATA (on stdin) 19:01:53.599106 > 29 bytes data, server => client 19:01:53.599118 '150 Binary junk (17 bytes).\r\n' 19:01:53.599573 Received DATA (on stdin) 19:01:53.599588 > 28 bytes data, server => client 19:01:53.599600 '226 File transfer complete\r\n' 19:01:53.644259 < 6 bytes data, client => server 19:01:53.644292 'QUIT\r\n' 19:01:53.644496 Received DATA (on stdin) 19:01:53.644518 > 18 bytes data, server => client 19:01:53.644531 '221 bye bye baby\r\n' 19:01:53.645392 ====> Client disconnect 19:01:53.645569 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:53.597533 Running IPv4 version 19:01:53.597602 Listening on port 38493 19:01:53.597651 Wrote pid 168113 to log/23/server/ftp_sockdata.pid 19:01:53.597675 Received PING (on stdin) 19:01:53.597782 Received PORT (on stdin) 19:01:5CMD (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/valgrind1918 ./libtest/libtests lib1918 - > log/11/stdout1918 2> log/11/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/6/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:41595/1940 > log/6/stdout1940 2> log/6/stderr1940 3.598134 ====> Client connect 19:01:53.598993 Received DATA (on stdin) 19:01:53.599008 > 17 bytes data, server => client 19:01:53.599021 'WE ROOLZ: 80691\r\n' 19:01:53.599051 Received DISC (on stdin) 19:01:53.599065 ====> Client forcibly disconnected 19:01:53.599266 Received QUIT (on stdin) 19:01:53.599280 quits 19:01:53.599348 ============> 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:45397/not-there/1913 === End of file stderr1914 === Start of file valgrind1914 ==168124== ==168124== Process terminating with default action of signal 4 (SIGILL) ==168124== Illegal opcode at address 0x51D5F1F ==168124== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168124== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168124== by 0x51D5F1F: Curl_open (url.c:525) ==168124== by 0x514F6EF: curl_easy_init (easy.c:371) ==168124== by 0x403A3D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==168124== by 0x400347F: main (first.c:280) ==168124== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168124== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168124== by 0x51D5EBD: Curl_open (url.c:504) ==168124== by 0x514F6EF: curl_easy_init (easy.c:371) ==168124== by 0x403A3D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==168124== by 0x400347F: main (first.c:280) ==168124== === 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/11/valgrind1918 ./libtest/libtests lib1918 - > log/11/stdout1918 2> log/11/stderr1918 -------e-v- OK (1590 out of 1746, remaining: 00:12, took 0.862s, duration: 02:02) CMD (33792): ../libtool --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/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:41761/1944 > log/19/stdout1944 2> log/19/stderr1944 CMD (33792): ../libtool --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/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:41017/1942 > log/7/stdout1942 2> log/7/stderr1942 CMD (33792): ../libtool --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/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:42747/1919 > log/16/stdout1919 2> log/16/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/6/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:41595/1940 > log/6/stdout1940 2> log/6/stderr1940 1940: stdout FAILED: --- log/6/check-expected 2025-11-13 19:01:55.092725075 +0000 +++ log/6/check-generated 2025-11-13 19:01:55.092725075 +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/6/ 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/6/valgrind1940 ./libtest/libtests lib1940 http://127.0.0.1:41595/1940 > log/6/stdout1940 2> log/6/stderr1940 === End of file commands.log === Start of file http_server.log 19:01:53.950969 ====> Client connect 19:01:53.951000 accept_connection 3 returned 4 19:01:53.951016 accept_connection 3 returned 0 19:01:53.951030 Read 93 bytes 19:01:53.951041 Process 93 bytes request 19:01:53.951055 Got request: GET /verifiedserver HTTP/1.1 19:01:53.951065 Are-we-friendly question received 19:01:53.951090 Wrote request (93 bytes) input to log/6/server.input 19:01:53.951107 Identifying ourselves as friends 19:01:53.951155 Response sent (56 bytes) and written to log/6/server.response 19:01:53.951166 special request received, no persistency 19:01:53.951175 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 46400 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === End of file server.response === Start of file stderr1940 URL: http://127.0.0.1:41595/1940 === End of file stderr1940 === Start of file valgrind1940 ==168400== ==168400== Process terminating with default action of signal 4 (SIGILL) ==168400== Illegal opcode at address 0x51D5F1F ==168400== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168400== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168400== by 0x51D5F1F: Curl_open (url.c:525) ==168400== by 0x514F6EF: curl_easy_init (easy.c:371) ==168400== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168400== by 0x400347F: main (first.c:280) ==168400== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168400== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168400== by 0x51D5EBD: Curl_open (url.c:504) ==168400== by 0x514F6EF: curl_easy_init (easy.c:371) ==168400== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168400== by 0x400347F: main (first.c:280) ==168400== === End of file valgrind1940 CMD (33792): ../libtool --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/valgrind1941 ./libtest/libtests lib1940 http://hello:37985/1941 127.0.0.1:38297 > log/4/stdout1941 2> log/4/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/7/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:41017/1942 > log/7/stdout1942 2> log/7/stderr1942 1942: stdout FAILED: --- log/7/check-expected 2025-11-13 19:01:55.099391740 +0000 +++ log/7/check-generated 2025-11-13 19:01:55.099391740 +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/7/ 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/7/valgrind1942 ./libtest/libtests lib1940 http://127.0.0.1:41017/1942 > log/7/stdout1942 2> log/7/stderr1942 === End of file commands.log === Start of file http_server.log 19:01:53.966248 ====> Client connect 19:01:53.966282 accept_connection 3 returned 4 19:01:53.966300 accept_connection 3 returned 0 19:01:53.966315 Read 93 bytes 19:01:53.966326 Process 93 bytes request 19:01:53.966340 Got request: GET /verifiedserver HTTP/1.1 19:01:53.966350 Are-we-friendly question received 19:01:53.966375 Wrote request (93 bytes) input to log/7/server.input 19:01:53.966393 Identifying ourselves as friends 19:01:53.966450 Response sent (56 bytes) and written to log/7/server.response 19:01:53.966461 special request received, no persistency 19:01:53.966471 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 57078 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file stderr1942 URL: http://127.0.0.1:41017/1942 === End of file stderr1942 === Start of file valgrind1942 ==168466== ==168466== Process terminating with default action of signal 4 (SIGILL) ==168466== Illegal opcode at address 0x51D5F1F ==168466== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168466== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168466== by 0x51D5F1F: Curl_open (url.c:525) ==168466== by 0x514F6EF: curl_easy_init (easy.c:371) ==168466== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168466== by 0x400347F: main (first.c:280) ==168466== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168466== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168466== by 0x51D5EBD: Curl_open (url.c:504) ==168466== by 0x514F6EF: curl_easy_init (easy.c:371) ==168466== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168466== by 0x400347F: main (first.c:280) ==168466== === End of file valgrind1942 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/16/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:42747/1919 > log/16/stdout1919 2> log/16/stderr1919 1919: 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 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/16/valgrind1919 ./libtest/libtests lib1919 http://127.0.0.1:42747/1919 > log/16/stdout1919 2> log/16/stderr1919 === End of file commands.log === Start of file http_server.log 19:01:54.947639 ====> Client connect 19:01:54.947694 accept_connection 3 returned 4 19:01:54.947722 accept_connection 3 returned 0 19:01:54.947739 Read 93 bytes 19:01:54.947750 Process 93 bytes request 19:01:54.947765 Got request: GET /verifiedserver HTTP/1.1 19:01:54.947776 Are-we-friendly question received 19:01:54.947803 Wrote request (93 bytes) input to log/16/server.input 19:01:54.947822 Identifying ourselves as friends 19:01:54.947895 Response sent (56 bytes) and written to log/16/server.response 19:01:54.947909 special request received, no persistency 19:01:54.947919 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 40294 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === End of file http_verify.out === 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: 74425 === End of file server.response === Start of file stderr1919 URL: http://127.0.0.1:42747/1919 === End of file stderr1919 === Start of file valgrind1919 ==168377== ==168377== Process terminating with default action of signal 4 (SIGILL) ==168377== Illegal opcode at address 0x51D5F1F ==168377== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168377== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168377== by 0x51D5F1F: Curl_open (url.c:525) ==168377== by 0x514F6EF: curl_easy_init (easy.c:371) ==168377== by 0x403A4CC: UnknownInlinedFun (lib1919.c:35) ==168377== by 0x403A4CC: test_lib1919.lto_priv.0 (lib1919.c:28) ==168377== by 0x400347F: main (first.c:280) ==168377== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168377== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168377== by 0x51D5EBD: Curl_open (url.c:504) ==168377== by 0x514F6EF: curl_easy_init (easy.c:371) ==168377== by 0x403A4CC: UnknownInlinedFun (lib1919.c:35) ==168377== by 0x403A4CC: test_lib1919.lto_priv.0 (lib1919.c:28) ==168377== by 0x400347F: main (first.c:280) ==168377== === 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/1/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:40353/1946 > log/1/stdout1946 2> log/1/stderr1946 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/19/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:41761/1944 > log/19/stdout1944 2> log/19/stderr1944 1944: stdout FAILED: --- log/19/check-expected 2025-11-13 19:01:55.106058408 +0000 +++ log/19/check-generated 2025-11-13 19:01:55.106058408 +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/19/ 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/19/valgrind1944 ./libtest/libtests lib1940 http://127.0.0.1:41761/1944 > log/19/stdout1944 2> log/19/stderr1944 === End of file commands.log === Start of file http_server.log 19:01:53.969342 ====> Client connect 19:01:53.969369 accept_connection 3 returned 4 19:01:53.969382 accept_connection 3 returned 0 19:01:53.969394 Read 93 bytes 19:01:53.969402 Process 93 bytes request 19:01:53.969412 Got request: GET /verifiedserver HTTP/1.1 19:01:53.969420 Are-we-friendly question received 19:01:53.969439 Wrote request (93 bytes) input to log/19/server.input 19:01:53.969452 Identifying ourselves as friends 19:01:53.969493 Response sent (56 bytes) and written to log/19/server.response 19:01:53.969501 special request received, no persistency 19:01:53.969508 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 39888 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file stderr1944 URL: http://127.0.0.1:41761/1944 === End of file stderr1944 === Start of file valgrind1944 ==168482== ==168482== Process terminating with default action of signal 4 (SIGILL) ==168482== Illegal opcode at address 0x51D5F1F ==168482== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168482== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168482== by 0x51D5F1F: Curl_open (url.c:525) ==168482== by 0x514F6EF: curl_easy_init (easy.c:371) ==168482== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168482== by 0x400347F: main (first.c:280) ==168482== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168482== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168482== by 0x51D5EBD: Curl_open (url.c:504) ==168482== by 0x514F6EF: curl_easy_init (easy.c:371) ==168482== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168482== by 0x400347F: main (first.c:280) ==168482== === 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/15/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:44531/1943 > log/15/stdout1943 2> log/15/stderr1943 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/1/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:40353/1946 > log/1/stdout1946 2> log/1/stderr1946 1946: stdout FAILED: --- log/1/check-expected 2025-11-13 19:01:55.109391740 +0000 +++ log/1/check-generated 2025-11-13 19:01:55.109391740 +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/1/ 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/1/valgrind1946 ./libtest/libtests lib1940 http://127.0.0.1:40353/1946 > log/1/stdout1946 2> log/1/stderr1946 === End of file commands.log === Start of file http_server.log 19:01:53.977374 ====> Client connect 19:01:53.977405 accept_connection 3 returned 4 19:01:53.977423 accept_connection 3 returned 0 19:01:53.977444 Read 93 bytes 19:01:53.977454 Process 93 bytes request 19:01:53.977466 Got request: GET /verifiedserver HTTP/1.1 19:01:53.977475 Are-we-friendly question received 19:01:53.977497 Wrote request (93 bytes) input to log/1/server.input 19:01:53.977513 Identifying ourselves as friends 19:01:53.977564 Response sent (56 bytes) and written to log/1/server.response 19:01:53.977574 special request received, no persistency 19:01:53.977583 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 40268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file stderr1946 URL: http://127.0.0.1:40353/1946 === End of file stderr1946 === Start of file valgrind1946 ==168540== ==168540== Process terminating with default action of signal 4 (SIGILL) ==168540== Illegal opcode at address 0x51D5F1F ==168540== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168540== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168540== by 0x51D5F1F: Curl_open (url.c:525) ==168540== by 0x514F6EF: curl_easy_init (easy.c:371) ==168540== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168540== by 0x400347F: main (first.c:280) ==168540== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168540== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168540== by 0x51D5EBD: Curl_open (url.c:504) ==168540== by 0x514F6EF: curl_easy_init (easy.c:371) ==168540== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168540== by 0x400347F: main (first.c:280) ==168540== === End of file valgrind1946 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/4/valgrind1941 ./libtest/libtests lib1940 http://hello:37985/1941 127.0.0.1:38297 > log/4/stdout1941 2> log/4/stderr1941 1941: stdout FAILED: --- log/4/check-expected 2025-11-13 19:01:55.116058408 +0000 +++ log/4/check-generated 2025-11-13 19:01:55.116058408 +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/4/ 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/4/valgrind1941 ./libtest/libtests lib1940 http://hello:37985/1941 127.0.0.1:38297 > log/4/stdout1941 2> log/4/stderr1941 === End of file commands.log === Start of file http2_server.log 19:01:54.973981 ====> Client connect 19:01:54.974017 accept_connection 3 returned 4 19:01:54.974035 accept_connection 3 returned 0 19:01:54.974051 Read 93 bytes 19:01:54.974068 Process 93 bytes request 19:01:54.974081 Got request: GET /verifiedserver HTTP/1.1 19:01:54.974103 Are-we-friendly question received 19:01:54.974132 Wrote request (93 bytes) input to log/4/proxy.input 19:01:54.974158 Identifying ourselves as friends 19:01:54.974244 Response sent (57 bytes) and written to log/4/proxy.response 19:01:54.974265 special request received, no persistency 19:01:54.974276 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:38297... * Established connection to 127.0.0.1 (127.0.0.1 port 38297) from 127.0.0.1 port 46090 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38297 > User-Agent: curl/8.17.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:38297 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 115575 === End of file http2_verify.out === Start of file http_server.log 19:01:54.954347 ====> Client connect 19:01:54.954379 accept_connection 3 returned 4 19:01:54.954394 accept_connection 3 returned 0 19:01:54.954406 Read 93 bytes 19:01:54.954414 Process 93 bytes request 19:01:54.954424 Got request: GET /verifiedserver HTTP/1.1 19:01:54.954432 Are-we-friendly question received 19:01:54.954451 Wrote request (93 bytes) input to log/4/server.input 19:01:54.954465 Identifying ourselves as friends 19:01:54.954507 Response sent (56 bytes) and written to log/4/server.response 19:01:54.954515 special request received, no persistency 19:01:54.954523 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 38104 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 115575 === 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: 74797 === End of file server.response === Start of file stderr1941 URL: http://hello:37985/1941 === End of file stderr1941 === Start of file valgrind1941 ==168505== ==168505== Process terminating with default action of signal 4 (SIGILL) ==168505== Illegal opcode at address 0x51D5F1F ==168505== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168505== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168505== by 0x51D5F1F: Curl_open (url.c:525) ==168505== by 0x514F6EF: curl_easy_init (easy.c:371) ==168505== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168505== by 0x400347F: main (first.c:280) ==168505== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168505== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168505== by 0x51D5EBD: Curl_open (url.c:504) ==168505== by 0x514F6EF: curl_easy_init (easy.c:371) ==168505== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168505== by 0x400347F: main (first.c:280) ==168505== === End of file valgrind1941 CMD (33792): ../libtool --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/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:43853/1947 http://127.0.0.1:43853/19470003 > log/8/stdout1947 2> log/8/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/15/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:44531/1943 > log/15/stdout1943 2> log/15/stderr1943 1943: stdout FAILED: --- log/15/check-expected 2025-11-13 19:01:55.122725075 +0000 +++ log/15/check-generated 2025-11-13 19:01:55.122725075 +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/15/ 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/15/valgrind1943 ./libtest/libtests lib1940 http://127.0.0.1:44531/1943 > log/15/stdout1943 2> log/15/stderr1943 === End of file commands.log === Start of file http_server.log 19:01:53.966249 ====> Client connect 19:01:53.966283 accept_connection 3 returned 4 19:01:53.966300 accept_connection 3 returned 0 19:01:53.966315 Read 93 bytes 19:01:53.966325 Process 93 bytes request 19:01:53.966340 Got request: GET /verifiedserver HTTP/1.1 19:01:53.966350 Are-we-friendly question received 19:01:53.966377 Wrote request (93 bytes) input to log/15/server.input 19:01:53.966394 Identifying ourselves as friends 19:01:53.966450 Response sent (56 bytes) and written to log/15/server.response 19:01:53.966460 special request received, no persistency 19:01:53.966469 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 36074 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file stderr1943 URL: http://127.0.0.1:44531/1943 === End of file stderr1943 === Start of file valgrind1943 ==168464== ==168464== Process terminating with default action of signal 4 (SIGILL) ==168464== Illegal opcode at address 0x51D5F1F ==168464== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168464== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168464== by 0x51D5F1F: Curl_open (url.c:525) ==168464== by 0x514F6EF: curl_easy_init (easy.c:371) ==168464== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168464== by 0x400347F: main (first.c:280) ==168464== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168464== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168464== by 0x51D5EBD: Curl_open (url.c:504) ==168464== by 0x514F6EF: curl_easy_init (easy.c:371) ==168464== by 0x40409D1: test_lib1940.lto_priv.0 (lib1940.c:94) ==168464== by 0x400347F: main (first.c:280) ==168464== === End of file valgrind1943 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/20/valgrind1979 ./unit/units unit1979 - > log/20/stdout1979 2> log/20/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/17/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:40515/1948 > log/17/stdout1948 2> log/17/stderr1948 CMD (33792): ../libtool --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/valgrind1904 ../src/curl -q --output log/22/curl1904.out --include --trace-ascii log/22/trace1904 --trace-time http://test.1904:41061/we/want/that/page/1904 -p --proxy 127.0.0.1:46763 > log/22/stdout1904 2> log/22/stderr1904 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/8/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:43853/1947 http://127.0.0.1:43853/19470003 > log/8/stdout1947 2> log/8/stderr1947 1947: stdout FAILED: --- log/8/check-expected 2025-11-13 19:01:55.132725075 +0000 +++ log/8/check-generated 2025-11-13 19:01:55.132725075 +0000 @@ -1,2 +0,0 @@ -count = 2[LF] -count = 1[LF] == Contents of files in the log/8/ 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/8/valgrind1947 ./libtest/libtests lib1947 http://127.0.0.1:43853/1947 http://127.0.0.1:43853/19470003 > log/8/stdout1947 2> log/8/stderr1947 === End of file commands.log === Start of file http_server.log 19:01:54.043865 ====> Client connect 19:01:54.043906 accept_connection 3 returned 4 19:01:54.043925 accept_connection 3 returned 0 19:01:54.043942 Read 93 bytes 19:01:54.043953 Process 93 bytes request 19:01:54.043966 Got request: GET /verifiedserver HTTP/1.1 19:01:54.043976 Are-we-friendly question received 19:01:54.044002 Wrote request (93 bytes) input to log/8/server.input 19:01:54.044020 Identifying ourselves as friends 19:01:54.044078 Response sent (56 bytes) and written to log/8/server.response 19:01:54.044107 special request received, no persistency 19:01:54.044117 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 37968 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file stderr1947 URL: http://127.0.0.1:43853/1947 === End of file stderr1947 === Start of file valgrind1947 ==168766== ==168766== Process terminating with default action of signal 4 (SIGILL) ==168766== Illegal opcode at address 0x51D5F1F ==168766== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168766== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168766== by 0x51D5F1F: Curl_open (url.c:525) ==168766== by 0x514F6EF: curl_easy_init (easy.c:371) ==168766== by 0x4040EAC: UnknownInlinedFun (lib1947.c:46) ==168766== by 0x4040EAC: test_lib1947.lto_priv.0 (lib1947.c:36) ==168766== by 0x400347F: main (first.c:280) ==168766== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168766== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168766== by 0x51D5EBD: Curl_open (url.c:504) ==168766== by 0x514F6EF: curl_easy_init (easy.c:371) ==168766== by 0x4040EAC: UnknownInlinedFun (lib1947.c:46) ==168766== by 0x4040EAC: test_lib1947.lto_priv.0 (lib1947.c:36) ==168766== by 0x400347F: main (first.c:280) ==168766== === End of file valgrind1947 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/20/valgrind1979 ./unit/units unit1979 - > log/20/stdout1979 2> log/20/stderr1979 -------e-v- OK (1605 out of 1746, remaining: 00:10, took 0.536s, duration: 02:02) 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/17/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:40515/1948 > log/17/stdout1948 2> log/17/stderr1948 1948: 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 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/17/valgrind1948 ./libtest/libtests lib1948 http://127.0.0.1:40515/1948 > log/17/stdout1948 2> log/17/stderr1948 === End of file commands.log === Start of file http_server.log 19:01:55.125590 ====> Client connect 19:01:55.125624 accept_connection 3 returned 4 19:01:55.125641 accept_connection 3 returned 0 19:01:55.125657 Read 93 bytes 19:01:55.125668 Process 93 bytes request 19:01:55.125681 Got request: GET /verifiedserver HTTP/1.1 19:01:55.125691 Are-we-friendly question received 19:01:55.125717 Wrote request (93 bytes) input to log/17/server.input 19:01:55.125735 Identifying ourselves as friends 19:01:55.125784 Response sent (56 bytes) and written to log/17/server.response 19:01:55.125794 special request received, no persistency 19:01:55.125804 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 55244 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file stderr1948 URL: http://127.0.0.1:40515/1948 === End of file stderr1948 === Start of file valgrind1948 ==168857== ==168857== Process terminating with default action of signal 4 (SIGILL) ==168857== Illegal opcode at address 0x51D5F1F ==168857== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168857== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168857== by 0x51D5F1F: Curl_open (url.c:525) ==168857== by 0x514F6EF: curl_easy_init (easy.c:371) ==168857== by 0x403A931: test_lib1948.lto_priv.0 (lib1948.c:52) ==168857== by 0x400347F: main (first.c:280) ==168857== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168857== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168857== by 0x51D5EBD: Curl_open (url.c:504) ==168857== by 0x514F6EF: curl_easy_init (easy.c:371) ==168857== by 0x403A931: test_lib1948.lto_priv.0 (lib1948.c:52) ==168857== by 0x400347F: main (first.c:280) ==168857== === End of file valgrind1948 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/22/server/http2_server.pid" --logfile "log/22/http2_server.log" --logdir "log/22" --portfile log/22/server/http2_server.port --config log/22/server.cmd --id 2 --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: HTTP2 server is on PID 167641 port 46763 * pid http-proxy => 167641 167641 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/22/valgrind1904 ../src/curl -q --output log/22/curl1904.out --include --trace-ascii log/22/trace1904 --trace-time http://test.1904:41061/we/want/that/page/1904 -p --proxy 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/10/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:37879/file 127.0.0.1 37879 > log/10/stdout1960 2> log/10/stderr1960 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/valgrind1980 ./unit/units unit1980 - > log/18/stdout1980 2> log/18/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/13/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:35301 > log/13/stdout1964 2> log/13/stderr1964 0.1:46763 > log/22/stdout1904 2> log/22/stderr1904 1904: 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 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/22/valgrind1904 ../src/curl -q --output log/22/curl1904.out --include --trace-ascii log/22/trace1904 --trace-time http://test.1904:41061/we/want/that/page/1904 -p --proxy 127.0.0.1:46763 > log/22/stdout1904 2> log/22/stderr1904 === End of file commands.log === Start of file http2_server.log 19:01:53.202035 Run as proxy, CONNECT to host 127.0.0.1 19:01:53.202122 Running HTTP IPv4 version on port 46763 19:01:53.202158 Wrote pid 167641 to log/22/server/http2_server.pid 19:01:53.202183 Wrote port 46763 to log/22/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:01:53.181275 ====> Client connect 19:01:53.181308 accept_connection 3 returned 4 19:01:53.181325 accept_connection 3 returned 0 19:01:53.181341 Read 93 bytes 19:01:53.181352 Process 93 bytes request 19:01:53.181367 Got request: GET /verifiedserver HTTP/1.1 19:01:53.181377 Are-we-friendly question received 19:01:53.181401 Wrote request (93 bytes) input to log/22/server.input 19:01:53.181418 Identifying ourselves as friends 19:01:53.181470 Response sent (56 bytes) and written to log/22/server.response 19:01:53.181481 special request received, no persistency 19:01:53.181491 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 60452 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === End of file http_verify.out === 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: 74419 === End of file server.response === Start of file valgrind1904 ==168967== ==168967== Process terminating with default action of signal 4 (SIGILL) ==168967== Illegal opcode at address 0x4013E00 ==168967== at 0x4013E00: getparameter (tool_getparam.c:2846) ==168967== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==168967== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==168967== by 0x40037A4: main (tool_main.c:199) === End of file valgrind1904 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/10/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:37879/file 127.0.0.1 37879 > log/10/stdout1960 2> log/10/stderr1960 1960: 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 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/10/valgrind1960 ./libtest/libtests lib1960 http://127.0.0.1:37879/file 127.0.0.1 37879 > log/10/stdout1960 2> log/10/stderr1960 === End of file commands.log === Start of file http_server.log 19:01:54.125798 ====> Client connect 19:01:54.125827 accept_connection 3 returned 4 19:01:54.125841 accept_connection 3 returned 0 19:01:54.125854 Read 93 bytes 19:01:54.125865 Process 93 bytes request 19:01:54.125876 Got request: GET /verifiedserver HTTP/1.1 19:01:54.125885 Are-we-friendly question received 19:01:54.125910 Wrote request (93 bytes) input to log/10/server.input 19:01:54.125925 Identifying ourselves as friends 19:01:54.125974 Response sent (56 bytes) and written to log/10/server.response 19:01:54.125985 special request received, no persistency 19:01:54.125998 ====> Client disconnect 0 19:01:54.945404 ====> Client connect 19:01:54.945425 accept_connection 3 returned 4 19:01:54.945439 accept_connection 3 returned 0 19:01:55.030693 Connection closed by client 19:01:55.030717 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 49576 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === End of file http_verify.out === Start of file precheck-1960 URL: check Test ended with result 0 === End of file 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: 74578 === End of file server.response === Start of file stderr1960 URL: http://127.0.0.1:37879/file === End of file stderr1960 === Start of file valgrind1960 ==168896== ==168896== Process terminating with default action of signal 4 (SIGILL) ==168896== Illegal opcode at address 0x51D5F1F ==168896== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==168896== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==168896== by 0x51D5F1F: Curl_open (url.c:525) ==168896== by 0x514F6EF: curl_easy_init (easy.c:371) ==168896== by 0x4041234: test_lib1960.lto_priv.0 (lib1960.c:119) ==168896== by 0x400347F: main (first.c:280) ==168896== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==168896== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==168896== by 0x51D5EBD: Curl_open (url.c:504) ==168896== by 0x514F6EF: curl_easy_init (easy.c:371) ==168896== by 0x4041234: test_lib1960.lto_priv.0 (lib1960.c:119) ==168896== by 0x400347F: main (first.c:280) ==168896== === End of file valgrind1960 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/18/valgrind1980 ./unit/units unit1980 - > log/18/stdout1980 2> log/18/stderr1980 -------e-v- OK (1606 out of 1746, remaining: 00:10, took 0.493s, duration: 02:03) 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/13/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:35301 > log/13/stdout1964 2> log/13/stderr1964 1964: 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 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/13/valgrind1964 ./libtest/libtests lib1964 http://xxx:yyy@127.0.0.1:9000/1964/testapi/test 127.0.0.1:9000:127.0.0.1:35301 > log/13/stdout1964 2> log/13/stderr1964 === End of file commands.log === Start of file http_server.log 19:01:54.391668 ====> Client connect 19:01:54.391694 accept_connection 3 returned 4 19:01:54.391708 accept_connection 3 returned 0 19:01:54.391719 Read 93 bytes 19:01:54.391727 ProceCMD (33792): ../libtool --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/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:46261/1977 > log/3/stdout1977 2> log/3/stderr1977 ss 93 bytes request 19:01:54.391738 Got request: GET /verifiedserver HTTP/1.1 19:01:54.391746 Are-we-friendly question received 19:01:54.391764 Wrote request (93 bytes) input to log/13/server.input 19:01:54.391776 Identifying ourselves as friends 19:01:54.391816 Response sent (56 bytes) and written to log/13/server.response 19:01:54.391824 special request received, no persistency 19:01:54.391831 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 43142 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === 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: 74477 === 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 ==169077== ==169077== Process terminating with default action of signal 4 (SIGILL) ==169077== Illegal opcode at address 0x51D5F1F ==169077== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169077== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169077== by 0x51D5F1F: Curl_open (url.c:525) ==169077== by 0x514F6EF: curl_easy_init (easy.c:371) ==169077== by 0x403CD8C: UnknownInlinedFun (lib1964.c:36) ==169077== by 0x403CD8C: test_lib1964.lto_priv.0 (lib1964.c:28) ==169077== by 0x400347F: main (first.c:280) ==169077== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169077== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169077== by 0x51D5EBD: Curl_open (url.c:504) ==169077== by 0x514F6EF: curl_easy_init (easy.c:371) ==169077== by 0x403CD8C: UnknownInlinedFun (lib1964.c:36) ==169077== by 0x403CD8C: test_lib1964.lto_priv.0 (lib1964.c:28) ==169077== by 0x400347F: main (first.c:280) ==169077== === 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/14/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:44055/not-there/1913 > log/14/stdout1913 2> log/14/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/23/valgrind2000 ../src/curl -q --trace-ascii log/23/trace2000 --trace-time ftp://127.0.0.1:45397/2000 file://localhost/startdir/src/build-curl/tests/log/23/test2000.txt > log/23/stdout2000 2> log/23/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/3/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:46261/1977 > log/3/stdout1977 2> log/3/stderr1977 1977: stdout FAILED: --- log/3/check-expected 2025-11-13 19:01:55.489391745 +0000 +++ log/3/check-generated 2025-11-13 19:01:55.489391745 +0000 @@ -1,3 +0,0 @@ -effective URL: http://127.0.0.1:46261/1977[LF] -effective URL: http://127.0.0.1:46261/1977?foo[LF] -effective URL: http://127.0.0.1:46261/1977?foo&bar[LF] == Contents of files in the log/3/ dir after test 1977 === Start of file check-expected effective URL: http://127.0.0.1:46261/1977[LF] effective URL: http://127.0.0.1:46261/1977?foo[LF] effective URL: http://127.0.0.1:46261/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/3/valgrind1977 ./libtest/libtests lib1977 http://127.0.0.1:46261/1977 > log/3/stdout1977 2> log/3/stderr1977 === End of file commands.log === Start of file http_server.log 19:01:55.394140 ====> Client connect 19:01:55.394173 accept_connection 3 returned 4 19:01:55.394189 accept_connection 3 returned 0 19:01:55.394204 Read 93 bytes 19:01:55.394214 Process 93 bytes request 19:01:55.394226 Got request: GET /verifiedserver HTTP/1.1 19:01:55.394236 Are-we-friendly question received 19:01:55.394258 Wrote request (93 bytes) input to log/3/server.input 19:01:55.394274 Identifying ourselves as friends 19:01:55.394314 Response sent (56 bytes) and written to log/3/server.response 19:01:55.394324 special request received, no persistency 19:01:55.394333 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 43342 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file stderr1977 URL: http://127.0.0.1:46261/1977 === End of file stderr1977 === Start of file valgrind1977 ==169093== ==169093== Process terminating with default action of signal 4 (SIGILL) ==169093== Illegal opcode at address 0x51D5F1F ==169093== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169093== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169093== by 0x51D5F1F: Curl_open (url.c:525) ==169093== by 0x514F6EF: curl_easy_init (easy.c:371) ==169093== by 0x403EC77: test_lib1977.lto_priv.0 (lib1977.c:37) ==169093== by 0x400347F: main (first.c:280) ==169093== 88 bytes in 1 blocks are definitely lost in loss record 577 of 647 ==169093== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169093== by 0x403EC53: test_lib1977.lto_priv.0 (lib1977.c:32) ==169093== by 0x400347F: main (first.c:280) ==169093== ==169093== 5,384 bytes in 1 blocks are definitely lost in loss record 645 of 647 ==169093== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169093== by 0x51D5EBD: Curl_open (url.c:504) ==169093== by 0x514F6EF: curl_easy_init (easy.c:371) ==169093== by 0x403EC77: test_lib1977.lto_priv.0 (lib1977.c:37) ==169093== by 0x400347F: main (first.c:280) ==169093== === End of file valgrind1977 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 44055 (log/14/server/ftp_server.port) RUN: FTP server is PID 167965 port 44055 * pid ftp => 167965 167965 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/14/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:44055/not-there/1913 > log/14/stdout1913 2> log/14/stderr1913 libtests returned 132, when expecting 78 1913: exit FAILED == Contents of files in the log/14/ 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/14/valgrind1913 ./libtest/libtests lib1913 ftp://127.0.0.1:44055/not-there/1913 > log/14/stdout1913 2> log/14/stderr1913 === End of file commands.log === Start of file ftp_server.log 19:01:53.764954 FTP server listens on port IPv4/44055 19:01:53.765056 logged pid 167965 in log/14/server/ftp_server.pid 19:01:53.765092 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:53.536649 Running IPv4 version 19:01:53.536765 Listening on port 44055 19:01:53.536812 Wrote pid 168070 to log/14/server/ftp_sockctrl.pid 19:01:53.536853 Wrote port 44055 to log/14/server/ftp_server.port 19:01:53.536886 Received PING (on stdin) === End of file ftp_sockctrl.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:44055/not-there/1913 === End of file stderr1913 === Start of file valgrind1913 ==169195== ==169195== Process terminating with default action of signal 4 (SIGILL) ==169195== Illegal opcode at address 0x51D5F1F ==169195== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169195== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169195== by 0x51D5F1F: Curl_open (url.c:525) ==169195== by 0x514F6EF: curl_easy_init (easy.c:371) ==169195== by 0x403A3D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==169195== by 0x400347F: main (first.c:280) ==169195== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169195== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169195== by 0x51D5EBD: Curl_open (url.c:504) ==169195== by 0x514F6EF: curl_easy_init (easy.c:371) ==169195== by 0x403A3D7: test_lib1913.lto_priv.0 (lib1913.c:36) ==169195== by 0x400347F: main (first.c:280) ==169195== === 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/12/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:43373/%20" > log/12/stdout1916 2> log/12/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/23/valgrind2000 ../src/curl -q --trace-ascii log/23/trace2000 --trace-time ftp://127.0.0.1:45397/2000 file://localhost/startdir/src/build-curl/tests/log/23/test2000.txt > log/23/stdout2000 2> log/23/stderr2000 2000: stdout FAILED: --- log/23/check-expected 2025-11-13 19:01:55.732725079 +0000 +++ log/23/check-generated 2025-11-13 19:01:55.732725079 +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/23/ 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/23/valgrind2000 ../src/curl -q --trace-ascii log/23/trace2000 --trace-time ftp://127.0.0.1:45397/2000 file://localhost/startdir/src/build-curl/tests/log/23/test2000.txt > log/23/stdout2000 2> log/23/stderr2000 === End of file commands.log === Start of file ftp_server.log 19:01:54.802832 ====> Client connect 19:01:54.803083 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:54.803401 < "USER anonymous" 19:01:54.803437 > "331 We are happy you popped in![CR][LF]" 19:01:54.803604 < "PASS ftp@example.com" 19:01:54.803630 > "230 Welcome you silly person[CR][LF]" 19:01:54.803773 < "PWD" 19:01:54.803800 > "257 "/" is current directory[CR][LF]" 19:01:54.803930 < "EPSV" 19:01:54.803950 ====> Passive DATA channel requested by client 19:01:54.803961 DATA sockfilt for passive data channel starting... 19:01:54.805454 DATA sockfilt for passive data channel started (pid 169292) 19:01:54.805561 DATA sockfilt for passive data channel listens on port 32797 19:01:54.805604 > "229 Entering Passive Mode (|||32797|)[CR][LF]" 19:01:54.805623 Client has been notified that DATA conn will be accepted on port 32797 19:01:54.805849 Client connects to port 32797 19:01:54.805875 ====> Client established passive DATA connection on port 32797 19:01:54.805949 < "TYPE I" 19:01:54.805974 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:54.806129 < "SIZE verifiedserver" 19:01:54.806166 > "213 17[CR][LF]" 19:01:54.806318 < "RETR verifiedserver" 19:01:54.806350 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:54.806439 =====> Closing passive DATA connection... 19:01:54.806458 Server disconnects passive DATA connection 19:01:54.806691 Server disconnected passive DATA connection 19:01:54.806716 DATA sockfilt for passive data channel quits (pid 169292) 19:01:54.806985 DATA sockfilt for passive data channel quit (pid 169292) 19:01:54.807048 =====> Closed passive DATA connection 19:01:54.807090 > "226 File transfer complete[CR][LF]" 19:01:54.850331 < "QUIT" 19:01:54.850387 > "221 bye bye baby[CR][LF]" 19:01:54.851355 MAIN sockfilt said DISC 19:01:54.851385 ====> Client disconnected 19:01:54.851468 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:54.574735 ====> Client connect 19:01:54.575156 Received DATA (on stdin) 19:01:54.575172 > 160 bytes data, server => client 19:01:54.575186 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:54.575199 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:54.575210 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:54.575297 < 16 bytes data, client => server 19:01:54.575312 'USER anonymous\r\n' 19:01:54.575497 Received DATA (on stdin) 19:01:54.575510 > 33 bytes data, server => client 19:01:54.575522 '331 We are happy you popped in!\r\n' 19:01:54.575571 < 22 bytes data, client => server 19:01:54.575582 'PASS ftp@example.com\r\n' 19:01:54.575684 Received DATA (on stdin) 19:01:54.575699 > 30 bytes data, server => client 19:01:54.575708 '230 Welcome you silly person\r\n' 19:01:54.575752 < 5 bytes data, client => server 19:01:54.575761 'PWD\r\n' 19:01:54.575850 Received DATA (on stdin) 19:01:54.575863 > 30 bytes data, server => client 19:01:54.575871 '257 "/" is current directory\r\n' 19:01:54.575917 < 6 bytes data, client => server 19:01:54.575926 'EPSV\r\n' 19:01:54.577680 Received DATA (on stdin) 19:01:54.577694 > 39 bytes data, server => client 19:01:54.577706 '229 Entering Passive Mode (|||32797|)\r\n' 19:01:54.577847 < 8 bytes data, client => server 19:01:54.577864 'TYPE I\r\n' 19:01:54.578028 Received DATA (on stdin) 19:01:54.578040 > 33 bytes data, server => client 19:01:54.578052 '200 I modify TYPE as you wanted\r\n' 19:01:54.578100 < 21 bytes data, client => server 19:01:54.578113 'SIZE verifiedserver\r\n' 19:01:54.578219 Received DATA (on stdin) 19:01:54.578231 > 8 bytes data, server => client 19:01:54.578243 '213 17\r\n' 19:01:54.578290 < 21 bytes data, client => server 19:01:54.578303 'RETR verifiedserver\r\n' 19:01:54.578514 Received DATA (on stdin) 19:01:54.578527 > 29 bytes data, server => client 19:01:54.578538 '150 Binary junk (17 bytes).\r\n' 19:01:54.579158 Received DATA (on stdin) 19:01:54.579179 > 28 bytes data, server => client 19:01:54.579191 '226 File transfer complete\r\n' 19:01:54.622174 < 6 bytes data, client => server 19:01:54.622216 'QUIT\r\n' 19:01:54.622446 Received DATA (on stdin) 19:01:54.622459 > 18 bytes data, server => client 19:01:54.622471 '221 bye bye baby\r\n' 19:01:54.623361 ====> Client disconnect 19:01:54.623525 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:54.577324 Running IPv4 version 19:01:54.577383 Listening on port 32797 19:01:54.577433 Wrote pid 169292 to log/23/server/ftp_sockdata.pid 19:01:54.577452 Received PING (on stdin) 19:01:54.577531 Received PORT (on stdin) 19:01:54.577819 ====> Client connect 19:01:54.578563 Received DATA (on stdin) 19:01:54.578577 > 17 bytes data, server => client 19:01:54.578588 'WE ROOLZ: 80691\r\n' 19:01:54.578610 Received DISC (on stdin) 19:01:54.578622 ====> Client forcibly disconnected 19:01:54.578777 Received QUIT (on stdin) 19:01:54.578790 quits 19:01:54.578847 ============> 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 ==169309== ==169309== Process terminating with default action of signal 4 (SIGILL) ==169309== Illegal opcode at address 0x4013E00 ==169309== at 0x4013E00: getparameter (tool_getparam.c:2846) ==169309== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==169309== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==169309== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2000 startnew: ./server/servers mqttd --port 0 --pidfile log/12/server/mqtt_server.pid --portfile log/12/server/mqtt_server.port --config log/12/server.cmd --logfile log/12/mqtt_server.log --logdir log/12 RUN: MQTT server is now running PID 168227 on PORT 43373 * pid mqtt => 168227 168227 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/12/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:43373/%20" > log/12/stdout1916 2> log/12/stderr1916 1916: 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 1916 === Start of file commands.log ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes -CMD (33792): ../libtool --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/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:46511/%20" > log/9/stdout1917 2> log/9/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/4/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:37985/2024 basic digest > log/4/stdout2024 2> log/4/stderr2024 CMD (33792): ../libtool --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/valgrind2005 ../src/curl -q --output log/15/curl2005.out --include --trace-ascii log/15/trace2005 --trace-time --netrc-optional --netrc-file log/15/netrc2005 http://127.0.0.1:44531/ > log/15/stdout2005 2> log/15/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/20/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:38583/2025 basic ntlm > log/20/stdout2025 2> log/20/stderr2025 -suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/12/valgrind1916 ./libtest/libtests lib1916 "mqtt://127.0.0.1:43373/%20" > log/12/stdout1916 2> log/12/stderr1916 === End of file commands.log === Start of file mqtt_server.log 19:01:54.794343 Running IPv4 version 19:01:54.794413 Listening on port 43373 19:01:54.794450 Wrote pid 168227 to log/12/server/mqtt_server.pid 19:01:54.794484 Wrote port 43373 to log/12/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:43373/%20 === End of file stderr1916 === Start of file valgrind1916 ==169366== ==169366== Process terminating with default action of signal 4 (SIGILL) ==169366== Illegal opcode at address 0x51D5F1F ==169366== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169366== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169366== by 0x51D5F1F: Curl_open (url.c:525) ==169366== by 0x514F6EF: curl_easy_init (easy.c:371) ==169366== by 0x403EB4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==169366== by 0x400347F: main (first.c:280) ==169366== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169366== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169366== by 0x51D5EBD: Curl_open (url.c:504) ==169366== by 0x514F6EF: curl_easy_init (easy.c:371) ==169366== by 0x403EB4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==169366== by 0x400347F: main (first.c:280) ==169366== === End of file valgrind1916 startnew: ./server/servers mqttd --port 0 --pidfile log/9/server/mqtt_server.pid --portfile log/9/server/mqtt_server.port --config log/9/server.cmd --logfile log/9/mqtt_server.log --logdir log/9 RUN: MQTT server is now running PID 168228 on PORT 46511 * pid mqtt => 168228 168228 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/9/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:46511/%20" > log/9/stdout1917 2> log/9/stderr1917 1917: 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 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/9/valgrind1917 ./libtest/libtests lib1916 "mqtt://127.0.0.1:46511/%20" > log/9/stdout1917 2> log/9/stderr1917 === End of file commands.log === Start of file mqtt_server.log 19:01:54.800577 Running IPv4 version 19:01:54.800634 Listening on port 46511 19:01:54.800673 Wrote pid 168228 to log/9/server/mqtt_server.pid 19:01:54.800707 Wrote port 46511 to log/9/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 1917 === End of file server.cmd === Start of file stderr1917 URL: mqtt://127.0.0.1:46511/%20 === End of file stderr1917 === Start of file valgrind1917 ==169376== ==169376== Process terminating with default action of signal 4 (SIGILL) ==169376== Illegal opcode at address 0x51D5F1F ==169376== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169376== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169376== by 0x51D5F1F: Curl_open (url.c:525) ==169376== by 0x514F6EF: curl_easy_init (easy.c:371) ==169376== by 0x403EB4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==169376== by 0x400347F: main (first.c:280) ==169376== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169376== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169376== by 0x51D5EBD: Curl_open (url.c:504) ==169376== by 0x514F6EF: curl_easy_init (easy.c:371) ==169376== by 0x403EB4A: test_lib1916.lto_priv.0 (lib1916.c:38) ==169376== by 0x400347F: main (first.c:280) ==169376== === End of file valgrind1917 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/4/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:37985/2024 basic digest > log/4/stdout2024 2> log/4/stderr2024 2024: 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 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/4/valgrind2024 ./libtest/libtests lib2023 http://127.0.0.1:37985/2024 basic digest > log/4/stdout2024 2> log/4/stderr2024 === End of file commands.log === Start of file http_server.log 19:01:55.933053 ====> Client connect 19:01:55.933098 accept_connection 3 returned 4 19:01:55.933115 accept_connection 3 returned 0 19:01:55.933129 Read 93 bytes 19:01:55.933140 Process 93 bytes request 19:01:55.933152 Got request: GET /verifiedserver HTTP/1.1 19:01:55.933162 Are-we-friendly question received 19:01:55.933187 Wrote request (93 bytes) input to log/4/server.input 19:01:55.933204 Identifying ourselves as friends 19:01:55.933258 Response sent (56 bytes) and written to log/4/server.response 19:01:55.933269 special request received, no persistency 19:01:55.933279 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 38114 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 17 WE ROOLZ: 74797 === End of file server.response === Start of file stderr2024 URL: http://127.0.0.1:37985/2024 === End of file stderr2024 === Start of file valgrind2024 ==169664== ==169664== Process terminating with default action of signal 4 (SIGILL) ==169664== Illegal opcode at address 0x51D5F1F ==169664== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169664== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169664== by 0x51D5F1F: Curl_open (url.c:525) ==169664== by 0x514F6EF: curl_easy_init (easy.c:371) ==169664== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169664== by 0x400347F: main (first.c:280) ==169664== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169664== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169664== by 0x51D5EBD: Curl_open (url.c:504) ==169664== by 0x514F6EF: curl_easy_init (easy.c:371) ==169664== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169664== by 0x400347F: main (first.c:280) ==169664== === End of file valgrind2024 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/15/valgrind2005 ../src/curl -q --output log/15/curl2005.out --include --trace-ascii log/15/trace2005 --trace-time --netrc-optional --netrc-file log/15/netrc2005 http://127.0.0.1:44531/ > log/15/stdout2005 2> log/15/stderr2005 2005: 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 2005 === 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/8/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:43853/2023 basic basic > log/8/stdout2023 2> log/8/stderr2023 =execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/15/valgrind2005 ../src/curl -q --output log/15/curl2005.out --include --trace-ascii log/15/trace2005 --trace-time --netrc-optional --netrc-file log/15/netrc2005 http://127.0.0.1:44531/ > log/15/stdout2005 2> log/15/stderr2005 === End of file commands.log === Start of file http_server.log 19:01:54.919874 ====> Client connect 19:01:54.919907 accept_connection 3 returned 4 19:01:54.919924 accept_connection 3 returned 0 19:01:54.919938 Read 93 bytes 19:01:54.919948 Process 93 bytes request 19:01:54.919962 Got request: GET /verifiedserver HTTP/1.1 19:01:54.919971 Are-we-friendly question received 19:01:54.919995 Wrote request (93 bytes) input to log/15/server.input 19:01:54.920011 Identifying ourselves as friends 19:01:54.920061 Response sent (56 bytes) and written to log/15/server.response 19:01:54.920071 special request received, no persistency 19:01:54.920081 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 36084 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind2005 ==169618== ==169618== Process terminating with default action of signal 4 (SIGILL) ==169618== Illegal opcode at address 0x4013E00 ==169618== at 0x4013E00: getparameter (tool_getparam.c:2846) ==169618== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==169618== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==169618== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2005 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/20/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:38583/2025 basic ntlm > log/20/stdout2025 2> log/20/stderr2025 2025: 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 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/20/valgrind2025 ./libtest/libtests lib2023 http://127.0.0.1:38583/2025 basic ntlm > log/20/stdout2025 2> log/20/stderr2025 === End of file commands.log === Start of file http_server.log 19:01:54.932814 ====> Client connect 19:01:54.932847 accept_connection 3 returned 4 19:01:54.932864 accept_connection 3 returned 0 19:01:54.932878 Read 93 bytes 19:01:54.932889 Process 93 bytes request 19:01:54.932901 Got request: GET /verifiedserver HTTP/1.1 19:01:54.932911 Are-we-friendly question received 19:01:54.932937 Wrote request (93 bytes) input to log/20/server.input 19:01:54.932955 Identifying ourselves as friends 19:01:54.933008 Response sent (56 bytes) and written to log/20/server.response 19:01:54.933019 special request received, no persistency 19:01:54.933029 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 49876 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file stderr2025 URL: http://127.0.0.1:38583/2025 === End of file stderr2025 === Start of file valgrind2025 ==169741== ==169741== Process terminating with default action of signal 4 (SIGILL) ==169741== Illegal opcode at address 0x51D5F1F ==169741== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169741== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169741== by 0x51D5F1F: Curl_open (url.c:525) ==169741== by 0x514F6EF: curl_easy_init (easy.c:371) ==169741== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169741== by 0x400347F: main (first.c:280) ==169741== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169741== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169741== by 0x51D5EBD: Curl_open (url.c:504) ==169741== by 0x514F6EF: curl_easy_init (easy.c:371) ==169741== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169741== by 0x400347F: main (first.c:280) ==169741== === End of file valgrind2025 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/8/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:43853/2023 basic basic > log/8/stdout2023 2> log/8/stderr2023 2023: 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 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/8/valgrind2023 ./libtest/libtests lib2023 http://127.0.0.1:43853/2023 basic basic > log/8/stdout2023 2> log/8/stderr2023 === End of file commands.log === Start of file http_server.log 19:01:54.932035 ====> Client connect 19:01:54.932061 accept_connection 3 returned 4 19:01:54.932075 accept_connection 3 returned 0 19:01:54.932086 Read 93 bytes 19:01:54.932095 Process 93 bytes request 19:01:54.932106 Got request: GET /verifiedserver HTTP/1.1 19:01:54.932114 Are-we-friendly question received 19:01:54.932133 Wrote request (93 bytes) input to log/8/server.input 19:01:54.932146 Identifying ourselves as friends 19:01:54.932211 Response sent (56 bytes) and written to log/8/server.response 19:01:54.932220 special request received, no persistency 19:01:54.932227 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 37978 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file stderr2023 URL: http://127.0.0.1:43853/2023 === End of file stderr2023 === Start of file valgrind2023 ==169655== ==169655== Process terminatCMD (33792): ../libtool --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/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:40353/2026 digest basic > log/1/stdout2026 2> log/1/stderr2026 CMD (33792): ../libtool --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/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:41017/2028 digest ntlm > log/7/stdout2028 2> log/7/stderr2028 CMD (33792): ../libtool --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/valgrind1945 ./libtest/libtests lib1945 http://hello:35043/1945 127.0.0.1:42013 > log/21/stdout1945 2> log/21/stderr1945 ing with default action of signal 4 (SIGILL) ==169655== Illegal opcode at address 0x51D5F1F ==169655== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169655== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169655== by 0x51D5F1F: Curl_open (url.c:525) ==169655== by 0x514F6EF: curl_easy_init (easy.c:371) ==169655== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169655== by 0x400347F: main (first.c:280) ==169655== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169655== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169655== by 0x51D5EBD: Curl_open (url.c:504) ==169655== by 0x514F6EF: curl_easy_init (easy.c:371) ==169655== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169655== by 0x400347F: main (first.c:280) ==169655== === End of file valgrind2023 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/1/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:40353/2026 digest basic > log/1/stdout2026 2> log/1/stderr2026 2026: 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 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/1/valgrind2026 ./libtest/libtests lib2023 http://127.0.0.1:40353/2026 digest basic > log/1/stdout2026 2> log/1/stderr2026 === End of file commands.log === Start of file http_server.log 19:01:54.948727 ====> Client connect 19:01:54.948768 accept_connection 3 returned 4 19:01:54.948787 accept_connection 3 returned 0 19:01:54.948803 Read 93 bytes 19:01:54.948815 Process 93 bytes request 19:01:54.948830 Got request: GET /verifiedserver HTTP/1.1 19:01:54.948841 Are-we-friendly question received 19:01:54.948867 Wrote request (93 bytes) input to log/1/server.input 19:01:54.948885 Identifying ourselves as friends 19:01:54.948944 Response sent (56 bytes) and written to log/1/server.response 19:01:54.948956 special request received, no persistency 19:01:54.948967 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 40280 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file stderr2026 URL: http://127.0.0.1:40353/2026 === End of file stderr2026 === Start of file valgrind2026 ==169790== ==169790== Process terminating with default action of signal 4 (SIGILL) ==169790== Illegal opcode at address 0x51D5F1F ==169790== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169790== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169790== by 0x51D5F1F: Curl_open (url.c:525) ==169790== by 0x514F6EF: curl_easy_init (easy.c:371) ==169790== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169790== by 0x400347F: main (first.c:280) ==169790== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169790== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169790== by 0x51D5EBD: Curl_open (url.c:504) ==169790== by 0x514F6EF: curl_easy_init (easy.c:371) ==169790== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169790== by 0x400347F: main (first.c:280) ==169790== === End of file valgrind2026 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/7/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:41017/2028 digest ntlm > log/7/stdout2028 2> log/7/stderr2028 2028: 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 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/7/valgrind2028 ./libtest/libtests lib2023 http://127.0.0.1:41017/2028 digest ntlm > log/7/stdout2028 2> log/7/stderr2028 === End of file commands.log === Start of file http_server.log 19:01:54.962868 ====> Client connect 19:01:54.962894 accept_connection 3 returned 4 19:01:54.962907 accept_connection 3 returned 0 19:01:54.962918 Read 93 bytes 19:01:54.962926 Process 93 bytes request 19:01:54.962937 Got request: GET /verifiedserver HTTP/1.1 19:01:54.962944 Are-we-friendly question received 19:01:54.962964 Wrote request (93 bytes) input to log/7/server.input 19:01:54.962978 Identifying ourselves as friends 19:01:54.963027 Response sent (56 bytes) and written to log/7/server.response 19:01:54.963036 special request received, no persistency 19:01:54.963043 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 57090 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file stderr2028 URL: http://127.0.0.1:41017/2028 === End of file stderr2028 === Start of file valgrind2028 ==169902== ==169902== Process terminating with default action of signal 4 (SIGILL) ==169902== Illegal opcode at address 0x51D5F1F ==169902== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169902== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169902== by 0x51D5F1F: Curl_open (url.c:525) ==169902== by 0x514F6EF: curl_easy_init (easy.c:371) ==169902== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169902== by 0x400347F: main (first.c:280) ==169902== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169902== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169902== by 0x51D5EBD: Curl_open (url.c:504) ==169902== by 0x514F6EF: curl_easy_init (easy.c:371) ==169902== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169902== by 0x400347F: main (first.c:280) ==169902== === 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/16/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:42747/2027 digest digest > log/16/stdout2027 2> log/16/stderr2027 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 168469 port 42013 * pid http-proxy => 168469 168469 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/21/valgrind1945 ./libtest/libtests lib1945 http://hello:35043/1945 127.0.0.1:42013 > log/21/stdout1945 2> log/21/stderr1945 1945: stdout FAILED: --- log/21/check-expected 2025-11-13 19:01:56.089391749 +0000 +++ log/21/check-generated 2025-11-13 19:01:56.089391749 +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/21/ 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/21/valgrind1945 ./libtest/libtests lib1945 http://hello:35043/1945 127.0.0.1:42013 > log/21/stdout1945 2> log/21/stderr1945 === End of file commands.log === Start of file http2_server.log 19:01:54.997413 Run as proxy, CONNECT to host 127.0.0.1 19:01:54.997519 Running HTTP IPv4 version on port 42013 19:01:54.997560 Wrote pid 168469 to log/21/server/http2_server.pid 19:01:54.997589 Wrote port 42013 to log/21/server/http2_server.port === End of file http2_server.log === Start of file http_server.log 19:01:53.976343 ====> Client connect 19:01:53.976378 accept_connection 3 returned 4 19:01:53.976395 accept_connection 3 returned 0 19:01:53.976409 Read 93 bytes 19:01:53.976419 Process 93 bytes request 19:01:53.976434 Got request: GET /verifiedserver HTTP/1.1 19:01:53.976444 Are-we-friendly question received 19:01:53.976466 Wrote request (93 bytes) input to log/21/server.input 19:01:53.976482 Identifying ourselves as friends 19:01:53.976532 Response sent (56 bytes) and written to log/21/server.response 19:01:53.976543 special request received, no persistency 19:01:53.976552 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 48480 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === End of file http_verify.out === Start of file server.cmd Testnum 1945 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74420 === End of file server.response === Start of file stderr1945 URL: http://hello:35043/1945 === End of file stderr1945 === Start of file valgrind1945 ==169874== ==169874== Process terminating with default action of signal 4 (SIGILL) ==169874== Illegal opcode at address 0x51D5F1F ==169874== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169874== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169874== by 0x51D5F1F: Curl_open (url.c:525) ==169874== by 0x514F6EF: curl_easy_init (easy.c:371) ==169874== by 0x4040CAC: UnknownInlinedFun (lib1945.c:56) ==169874== by 0x4040CAC: test_lib1945.lto_priv.0 (lib1945.c:49) ==169874== by 0x400347F: main (first.c:280) ==169874== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169874== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169874== by 0x51D5EBD: Curl_open (url.c:504) ==169874== by 0x514F6EF: curl_easy_init (easy.c:371) ==169874== by 0x4040CAC: UnknownInlinedFun (lib1945.c:56) ==169874== by 0x4040CAC: test_lib1945.lto_priv.0 (lib1945.c:49) ==169874== by 0x400347F: main (first.c:280) ==169874== === End of file valgrind1945 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/16/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:42747/2027 digest digest > log/16/stdout2027 2> log/16/stderr2027 2027: 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 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/16/valgrind2027 ./libtest/libtests lib2023 http://127.0.0.1:42747/2027 digest digest > log/16/stdout2027 2> log/16/stderr2027 === End of file commands.log === Start of file http_server.log 19:01:55.961138 ====> Client connect 19:01:55.961170 accept_connection 3 returned 4 19:01:55.961188 accept_connection 3 returned 0 19:01:55.961202 Read 93 bytes 19:01:55.961210 Process 93 bytes request 19:01:55.961221 Got request: GET /verifiedserver HTTP/1.1 19:01:55.961229 Are-we-friendly question received 19:01:55.961248 Wrote request (93 bytes) input to log/16/server.input 19:01:55.961261 Identifying ourselves as friends 19:01:55.961311 Response sent (56 bytes) and written to log/16/server.response 19:01:55.961321 special request received, no persistency 19:01:55.961329 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 40308 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file stderr2027 URL: http://127.0.0.1:42747/2027 === End of file stderr2027 === Start of file valgrind2027 ==169857== ==169857== Process terminating with default action of signal 4 (SIGILL) ==169857== Illegal opcode at address 0x51D5F1F ==169857== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==169857== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==169857== by 0x51D5F1F: Curl_open (url.c:525) ==169857== by 0x514F6EF: curl_easy_init (easy.c:371) ==169857== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169857== by 0x400347F: main (first.c:280) ==169857== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==169857== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==169857==CMD (33792): ../libtool --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/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:39771/2032 > log/18/stdout2032 2> log/18/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/17/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:40515/2029 ntlm basic > log/17/stdout2029 2> log/17/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/10/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:37879/2031 ntlm ntlm > log/10/stdout2031 2> log/10/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/22/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:41061/2030 ntlm digest > log/22/stdout2030 2> log/22/stderr2030 by 0x51D5EBD: Curl_open (url.c:504) ==169857== by 0x514F6EF: curl_easy_init (easy.c:371) ==169857== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==169857== by 0x400347F: main (first.c:280) ==169857== === End of file valgrind2027 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/18/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:39771/2032 > log/18/stdout2032 2> log/18/stderr2032 2032: 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 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/18/valgrind2032 ./libtest/libtests lib2032 http://127.0.0.1:39771/2032 > log/18/stdout2032 2> log/18/stderr2032 === End of file commands.log === Start of file http_server.log 19:01:55.060053 ====> Client connect 19:01:55.060089 accept_connection 3 returned 4 19:01:55.060106 accept_connection 3 returned 0 19:01:55.060122 Read 93 bytes 19:01:55.060133 Process 93 bytes request 19:01:55.060147 Got request: GET /verifiedserver HTTP/1.1 19:01:55.060158 Are-we-friendly question received 19:01:55.060182 Wrote request (93 bytes) input to log/18/server.input 19:01:55.060200 Identifying ourselves as friends 19:01:55.060252 Response sent (56 bytes) and written to log/18/server.response 19:01:55.060264 special request received, no persistency 19:01:55.060274 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 43428 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file stderr2032 URL: http://127.0.0.1:39771/2032 === End of file stderr2032 === Start of file valgrind2032 ==170131== ==170131== Process terminating with default action of signal 4 (SIGILL) ==170131== Illegal opcode at address 0x519E800 ==170131== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==170131== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==170131== by 0x519E800: Curl_multi_handle (multi.c:247) ==170131== by 0x4041C21: test_lib2032.lto_priv.0 (lib2032.c:115) ==170131== by 0x400347F: main (first.c:280) ==170131== 712 bytes in 1 blocks are definitely lost in loss record 613 of 646 ==170131== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==170131== by 0x519E794: Curl_multi_handle (multi.c:239) ==170131== by 0x4041C21: test_lib2032.lto_priv.0 (lib2032.c:115) ==170131== by 0x400347F: main (first.c:280) ==170131== === End of file valgrind2032 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/17/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:40515/2029 ntlm basic > log/17/stdout2029 2> log/17/stderr2029 2029: 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 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/17/valgrind2029 ./libtest/libtests lib2023 http://127.0.0.1:40515/2029 ntlm basic > log/17/stdout2029 2> log/17/stderr2029 === End of file commands.log === Start of file http_server.log 19:01:56.040195 ====> Client connect 19:01:56.040260 accept_connection 3 returned 4 19:01:56.040275 accept_connection 3 returned 0 19:01:56.040288 Read 93 bytes 19:01:56.040297 Process 93 bytes request 19:01:56.040309 Got request: GET /verifiedserver HTTP/1.1 19:01:56.040318 Are-we-friendly question received 19:01:56.040340 Wrote request (93 bytes) input to log/17/server.input 19:01:56.040354 Identifying ourselves as friends 19:01:56.040400 Response sent (56 bytes) and written to log/17/server.response 19:01:56.040409 special request received, no persistency 19:01:56.040417 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 55258 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file stderr2029 URL: http://127.0.0.1:40515/2029 === End of file stderr2029 === Start of file valgrind2029 ==170118== ==170118== Process terminating with default action of signal 4 (SIGILL) ==170118== Illegal opcode at address 0x51D5F1F ==170118== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==170118== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==170118== by 0x51D5F1F: Curl_open (url.c:525) ==170118== by 0x514F6EF: curl_easy_init (easy.c:371) ==170118== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170118== by 0x400347F: main (first.c:280) ==170118== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==170118== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==170118== by 0x51D5EBD: Curl_open (url.c:504) ==170118== by 0x514F6EF: curl_easy_init (easy.c:371) ==170118== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170118== by 0x400347F: main (first.c:280) ==170118== === End of file valgrind2029 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/10/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:37879/2031 ntlm ntlm > log/10/stdout2031 2> log/10/stderr2031 2031: 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 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/10/valgrind2031 ./libtest/libtests lib2023 http://127.0.0.1:37879/2031 ntlm ntlm > log/10/stdout2031 2> log/10/stderr2031 === End of file commands.log === Start of file http_server.log 19:01:55.052200 ====> Client connect 19:01:55.052239 accept_connection 3 returned 4 19:01:55.052257 accept_connection 3 returned 0 19:01:55.052274 Read 93 bytes 19:01:55.052286 Process 93 bytes request 19:01:55.052299 Got request: GET /verifiedserver HTTP/1.1 19:01:55.052310 Are-we-friendly question received 19:01:55.052337 Wrote request (93 bytes) input to log/10/server.input 19:01:55.052355 Identifying ourselves as friends 19:01:55.052412 Response 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/3/valgrind2040 ../src/curl -q --trace-ascii log/3/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:46261/20400100 --next --no-basic http://127.0.0.1:46261/20400200 > log/3/stdout2040 2> log/3/stderr2040 ent (56 bytes) and written to log/10/server.response 19:01:55.052423 special request received, no persistency 19:01:55.052434 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 49596 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 17 WE ROOLZ: 74578 === End of file server.response === Start of file stderr2031 URL: http://127.0.0.1:37879/2031 === End of file stderr2031 === Start of file valgrind2031 ==170167== ==170167== Process terminating with default action of signal 4 (SIGILL) ==170167== Illegal opcode at address 0x51D5F1F ==170167== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==170167== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==170167== by 0x51D5F1F: Curl_open (url.c:525) ==170167== by 0x514F6EF: curl_easy_init (easy.c:371) ==170167== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170167== by 0x400347F: main (first.c:280) ==170167== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==170167== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==170167== by 0x51D5EBD: Curl_open (url.c:504) ==170167== by 0x514F6EF: curl_easy_init (easy.c:371) ==170167== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170167== by 0x400347F: main (first.c:280) ==170167== === End of file valgrind2031 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/22/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:41061/2030 ntlm digest > log/22/stdout2030 2> log/22/stderr2030 2030: 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 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/22/valgrind2030 ./libtest/libtests lib2023 http://127.0.0.1:41061/2030 ntlm digest > log/22/stdout2030 2> log/22/stderr2030 === End of file commands.log === Start of file http_server.log 19:01:55.047293 ====> Client connect 19:01:55.047329 accept_connection 3 returned 4 19:01:55.047346 accept_connection 3 returned 0 19:01:55.047362 Read 93 bytes 19:01:55.047373 Process 93 bytes request 19:01:55.047388 Got request: GET /verifiedserver HTTP/1.1 19:01:55.047399 Are-we-friendly question received 19:01:55.047504 Wrote request (93 bytes) input to log/22/server.input 19:01:55.047527 Identifying ourselves as friends 19:01:55.047588 Response sent (56 bytes) and written to log/22/server.response 19:01:55.047601 special request received, no persistency 19:01:55.047611 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 60460 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file stderr2030 URL: http://127.0.0.1:41061/2030 === End of file stderr2030 === Start of file valgrind2030 ==170145== ==170145== Process terminating with default action of signal 4 (SIGILL) ==170145== Illegal opcode at address 0x51D5F1F ==170145== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==170145== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==170145== by 0x51D5F1F: Curl_open (url.c:525) ==170145== by 0x514F6EF: curl_easy_init (easy.c:371) ==170145== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170145== by 0x400347F: main (first.c:280) ==170145== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==170145== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==170145== by 0x51D5EBD: Curl_open (url.c:504) ==170145== by 0x514F6EF: curl_easy_init (easy.c:371) ==170145== by 0x404192C: test_lib2023.lto_priv.0 (lib2023.c:107) ==170145== by 0x400347F: main (first.c:280) ==170145== === End of file valgrind2030 CMD (33792): ../libtool --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/valgrind2039 ../src/curl -q --output log/13/curl2039.out --include --trace-ascii log/13/trace2039 --trace-time --netrc-optional --netrc-file log/13/netrc2039 ftp://127.0.0.1:40887/ > log/13/stdout2039 2> log/13/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/3/valgrind2040 ../src/curl -q --trace-ascii log/3/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:46261/20400100 --next --no-basic http://127.0.0.1:46261/20400200 > log/3/stdout2040 2> log/3/stderr2040 2040: stdout FAILED: --- log/3/check-expected 2025-11-13 19:01:56.429391754 +0000 +++ log/3/check-generated 2025-11-13 19:01:56.429391754 +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/3/ 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/3/valgrind2040 ../src/curl -q --trace-ascii log/3/trace2040 --trace-time -u testuser:testpass http://127.0.0.1:46261/20400100 --next --no-basic http://127.0.0.1:46261/20400200 > log/3/stdout2040 2> log/3/stderr2040 === End of file commands.log === Start of file http_server.log 19:01:56.290040 ====> Client connect 19:01:56.290075 accept_connection 3 returned 4 19:01:56.290094 accept_connection 3 returned 0 19:01:56.290110 Read 93 bytes 19:01:56.290121 Process 93 bytes request 19:01:56.290135 Got request: GET /verifiedserver HTTP/1.1 19:01:56.290146 Are-we-friendly question received 19:01:56.290174 Wrote request (93 bytes) input to log/3/server.input 19:01:56.290193 Identifying ourselves as friends 19:01:56.290256 Response sent (56 bytes) and written to log/3/server.response 19:01:56.290270 special request received, no persistency 19:01:56.290280 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 43356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind2040 ==170359== ==170359== Process terminating with default action of signal 4 (SIGILL) ==170359== Illegal opcode at address 0x4013E00 ==170359== at 0x4013E00: getparameter (tool_getparam.c:2846) ==170359== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170359== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==170359== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2040 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/13/valgrind2039 ../src/curl -q --output log/13/curl2039.out --include --trace-ascii log/13/trace2039 --trace-time --netrc-optional --netrc-file log/13/netrc2039 ftp://127.0.0.1:40887/ > log/13/stdout2039 2> log/13/stderr2039 2039: 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 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/13/valgrind2039 ../src/curl -q --output log/13/curl2039.out --include --trace-ascii log/13/trace2039 --trace-time --netrc-optional --netrc-file log/13/netrc2039 ftp://127.0.0.1:40887/ > log/13/stdout2039 2> log/13/stderr2039 === End of file commands.log === Start of file ftp_server.log 19:01:55.509872 ====> Client connect 19:01:55.511011 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:55.511439 < "USER anonymous" 19:01:55.511473 > "331 We are happy you popped in![CR][LF]" 19:01:55.511634 < "PASS ftp@example.com" 19:01:55.511660 > "230 Welcome you silly person[CR][LF]" 19:01:55.511803 < "PWD" 19:01:55.511832 > "257 "/" is current directory[CR][LF]" 19:01:55.511982 < "EPSV" 19:01:55.512004 ====> Passive DATA channel requested by client 19:01:55.512018 DATA sockfilt for passive data channel starting... 19:01:55.513940 DATA sockfilt for passive data channel started (pid 170355) 19:01:55.514088 DATA sockfilt for passive data channel listens on port 36319 19:01:55.514141 > "229 Entering Passive Mode (|||36319|)[CR][LF]" 19:01:55.514161 Client has been notified that DATA conn will be accepted on port 36319 19:01:55.514428 Client connects to port 36319 19:01:55.514458 ====> Client established passive DATA connection on port 36319 19:01:55.514551 < "TYPE I" 19:01:55.514585 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:55.514754 < "SIZE verifiedserver" 19:01:55.514791 > "213 17[CR][LF]" 19:01:55.514963 < "RETR verifiedserver" 19:01:55.514997 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:55.515084 =====> Closing passive DATA connection... 19:01:55.515100 Server disconnects passive DATA connection 19:01:55.515339 Server disconnected passive DATA connection 19:01:55.515367 DATA sockfilt for passive data channel quits (pid 170355) 19:01:55.515617 DATA sockfilt for passive data channel quit (pid 170355) 19:01:55.515640 =====> Closed passive DATA connection 19:01:55.515669 > "226 File transfer complete[CR][LF]" 19:01:55.555806 < "QUIT" 19:01:55.555865 > "221 bye bye baby[CR][LF]" 19:01:55.556132 MAIN sockfilt said DISC 19:01:55.556189 ====> Client disconnected 19:01:55.556281 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:55.281811 ====> Client connect 19:01:55.283064 Received DATA (on stdin) 19:01:55.283186 > 160 bytes data, server => client 19:01:55.283212 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:55.283225 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:55.283237 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:55.283343 < 16 bytes data, client => server 19:01:55.283356 'USER anonymous\r\n' 19:01:55.283530 Received DATA (on stdin) 19:01:55.283543 > 33 bytes data, server => client 19:01:55.283555 '331 We are happy you popped in!\r\n' 19:01:55.283604 < 22 bytes data, client => server 19:01:55.283616 'PASS ftp@example.com\r\n' 19:01:55.283713 Received DATA (on stdin) 19:01:55.283725 > 30 bytes data, server => client 19:01:55.283736 '230 Welcome you silly person\r\n' 19:01:55.283780 < 5 bytes data, client => server 19:01:55.283791 'PWD\r\n' 19:01:55.283884 Received DATA (on stdin) 19:01:55.283896 > 30 bytes data, server => client 19:01:55.283907 '257 "/" is current directory\r\n' 19:01:55.283960 < 6 bytes data, client => server 19:01:55.283971 'EPSV\r\n' 19:01:55.286222 Received DATA (on stdin) 19:01:55.286240 > 39 bytes data, server => client 19:01:55.286253 '229 Entering Passive Mode (|||36319|)\r\n' 19:01:55.286425 < 8 bytes data, client => server 19:01:55.286439 'TYPE I\r\n' 19:01:55.286642 Received DATA (on stdin) 19:01:55.286656 > 33 bytes data, server => client 19:01:55.286668 '200 I modify TYPE as you wanted\r\n' 19:01:55.286719 < 21 bytes data, client => server 19:01:55.286733 'SIZE verifiedserver\r\n' 19:01:55.286848 Received DATA (on stdin) 19:01:55.286862 > 8 bytes data, server => client 19:01:55.286874 '213 17\r\n' 19:01:55.286930 log/14/stdout2044 2> log/14/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/23/valgrind2045 ../src/curl -q --output log/23/curl2045.out --include --trace-ascii log/23/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:45397 > log/23/stdout2045 2> log/23/stderr2045 21 bytes data, client => server 19:01:55.286943 'RETR verifiedserver\r\n' 19:01:55.287156 Received DATA (on stdin) 19:01:55.287169 > 29 bytes data, server => client 19:01:55.287182 '150 Binary junk (17 bytes).\r\n' 19:01:55.287724 Received DATA (on stdin) 19:01:55.287738 > 28 bytes data, server => client 19:01:55.287750 '226 File transfer complete\r\n' 19:01:55.327644 < 6 bytes data, client => server 19:01:55.327685 'QUIT\r\n' 19:01:55.327925 Received DATA (on stdin) 19:01:55.327939 > 18 bytes data, server => client 19:01:55.327951 '221 bye bye baby\r\n' 19:01:55.328109 ====> Client disconnect 19:01:55.328340 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:55.285785 Running IPv4 version 19:01:55.285856 Listening on port 36319 19:01:55.285899 Wrote pid 170355 to log/13/server/ftp_sockdata.pid 19:01:55.285924 Received PING (on stdin) 19:01:55.286038 Received PORT (on stdin) 19:01:55.286395 ====> Client connect 19:01:55.287208 Received DATA (on stdin) 19:01:55.287222 > 17 bytes data, server => client 19:01:55.287234 'WE ROOLZ: 80703\r\n' 19:01:55.287263 Received DISC (on stdin) 19:01:55.287275 ====> Client forcibly disconnected 19:01:55.287436 Received QUIT (on stdin) 19:01:55.287450 quits 19:01:55.287514 ============> 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 ==170406== ==170406== Process terminating with default action of signal 4 (SIGILL) ==170406== Illegal opcode at address 0x4013E00 ==170406== at 0x4013E00: getparameter (tool_getparam.c:2846) ==170406== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170406== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==170406== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2039 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/14/valgrind2044 ../src/curl -q --output log/14/curl2044.out --include --trace-ascii log/14/trace2044 --trace-time --proto-default DOESNOTEXIST > log/14/stdout2044 2> log/14/stderr2044 curl returned 132, when expecting 1 2044: exit FAILED == Contents of files in the log/14/ 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/14/valgrind2044 ../src/curl -q --output log/14/curl2044.out --include --trace-ascii log/14/trace2044 --trace-time --proto-default DOESNOTEXIST > log/14/stdout2044 2> log/14/stderr2044 === End of file commands.log === Start of file server.cmd Testnum 2044 === End of file server.cmd === Start of file valgrind2044 ==170464== ==170464== Process terminating with default action of signal 4 (SIGILL) ==170464== Illegal opcode at address 0x4013E00 ==170464== at 0x4013E00: getparameter (tool_getparam.c:2846) ==170464== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170464== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==170464== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2044 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/23/valgrind2045 ../src/curl -q --output log/23/curl2045.out --include --trace-ascii log/23/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:45397 > log/23/stdout2045 2> log/23/stderr2045 curl returned 132, when expecting 8 2045: exit FAILED == Contents of files in the log/23/ 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/23/valgrind2045 ../src/curl -q --output log/23/curl2045.out --include --trace-ascii log/23/trace2045 --trace-time -H "User-Agent:" -H "Host:" -H "Accept:" --proto-default ftp 127.0.0.1:45397 > log/23/stdout2045 2> log/23/stderr2045 === End of file commands.log === Start of file ftp_server.log 19:01:55.764005 ====> Client connect 19:01:55.764199 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:55.764521 < "USER anonymous" 19:01:55.764561 > "331 We are happy you popped in![CR][LF]" 19:01:55.764747 < "PASS ftp@example.com" 19:01:55.764777 > "230 Welcome you silly person[CR][LF]" 19:01:55.764936 < "PWD" 19:01:55.764967 > "257 "/" is current directory[CR][LF]" 19:01:55.765133 < "EPSV" 19:01:55.765159 ====> Passive DATA channel requested by client 19:01:55.765174 DATA sockfilt for passive data channel starting... 19:01:55.766966 DATA sockfilt for passive data channel started (pid 170546) 19:01:55.767081 DATA sockfilt for passive data channel listens on port 36549 19:01:55.767124 > "229 Entering Passive Mode (|||36549|)[CR][LF]" 19:01:55.767144 Client has been notified that DATA conn will be accepted on port 36549 19:01:55.767373 Client connects to port 36549 19:01:55.767400 ====> Client established passive DATA connection on port 36549 19:01:55.767478 < "TYPE I" 19:01:55.767505 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:55.767662 < "SIZE verifiedserver" 19:01:55.767698 > "213 17[CR][LF]" 19:01:55.767848 < "RETR verifiedserver" 19:01:55.767884 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:55.767965 =====> Closing passive DATA connection... 19:01:55.767981 Server disconnects passive DATA connection 19:01:55.768214 Server disconnected passive DATA connection 19:01:55.768241 DATA sockfilt for passive data channel quits (pid 170546) 19:01:55.768449 DATA sockfilt for passive data channel quit (pid 170546) 19:01:55.768473 =====> Closed passive DATA connection 19:01:55.768500 > "226 File transfer complete[CR][LF]" 19:01:55.812415 < "QUIT" 19:01:55.812472 > "221 bye bye baby[CR][LF]" 19:01:55.813382 MAIN sockfilt said DISC 19:01:55.813426 ====> Client disconnected 19:01:55.813524 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:55.535937 ====> Client connect 19:01:55.536274 Received DATA (on stdin) 19:01:55.536292 > 160 bytes data, server => client 19:01:55.536305 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:55.536317 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:55.536329 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:55.536415 < 16 bytes data, client => server 19:01:55.536428 'USER anonymous\r\n' 19:01:55.536621 Received DATA (on stdin) 19:01:55.536635 > 33 bytes data, server => client 19:01:55.536647 '331 We are happy you popped in!\r\n' 19:01:55.536703 < 22 bytes data, client => server 19:01:55.536716 'PASS ftp@example.com\r\n' 19:01:55.536831 Received DATA (on stdin) 19:01:55.536844 > 30 bytes data, server => client 19:01:55.536856 '230 Welcome you silly person\r\n' 19:01:55.536904 < 5 bytes data, client => server 19:01:55.536917 'PWD\r\n' 19:01:55.537020 Received DATA (on stdin) 19:01:55.537033 > 30 bytes data, server => client 19:01:55.537044 '257 "/" is current directory\r\n' 19:01:55.537101 < 6 bytes data, client => server 19:01:55.537114 'EPSV\r\n' 19:01:55.539201 Received DATA (on stdin) 19:01:55.539216 > 39 bytes data, server => client 19:01:55.539228 '229 Entering Passive Mode (|||36549|)\r\n' 19:01:55.539374 < 8 bytes data, client => server 19:01:55.539387 'TYPE I\r\n' 19:01:55.539559 Received DATA (on stdin) 19CMD (33792): ../libtool --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/valgrind2046 ../src/curl -q --include --trace-ascii log/12/trace2046 --trace-time http://åäö.se:46819/2046 --resolve xn--4cab6c.se:46819: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/12/stdout2046 2> log/12/stderr2046 CMD (33792): ../libtool --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/valgrind2047 ../src/curl -q --include --trace-ascii log/9/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:38373 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/9/stdout2047 2> log/9/stderr2047 :01:55.539571 > 33 bytes data, server => client 19:01:55.539583 '200 I modify TYPE as you wanted\r\n' 19:01:55.539633 < 21 bytes data, client => server 19:01:55.539645 'SIZE verifiedserver\r\n' 19:01:55.539751 Received DATA (on stdin) 19:01:55.539763 > 8 bytes data, server => client 19:01:55.539774 '213 17\r\n' 19:01:55.539821 < 21 bytes data, client => server 19:01:55.539834 'RETR verifiedserver\r\n' 19:01:55.540037 Received DATA (on stdin) 19:01:55.540049 > 29 bytes data, server => client 19:01:55.540061 '150 Binary junk (17 bytes).\r\n' 19:01:55.540555 Received DATA (on stdin) 19:01:55.540569 > 28 bytes data, server => client 19:01:55.540581 '226 File transfer complete\r\n' 19:01:55.584243 < 6 bytes data, client => server 19:01:55.584274 'QUIT\r\n' 19:01:55.584532 Received DATA (on stdin) 19:01:55.584546 > 18 bytes data, server => client 19:01:55.584559 '221 bye bye baby\r\n' 19:01:55.585373 ====> Client disconnect 19:01:55.585527 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:55.538843 Running IPv4 version 19:01:55.538905 Listening on port 36549 19:01:55.538947 Wrote pid 170546 to log/23/server/ftp_sockdata.pid 19:01:55.538970 Received PING (on stdin) 19:01:55.539048 Received PORT (on stdin) 19:01:55.539347 ====> Client connect 19:01:55.540085 Received DATA (on stdin) 19:01:55.540098 > 17 bytes data, server => client 19:01:55.540109 'WE ROOLZ: 80691\r\n' 19:01:55.540132 Received DISC (on stdin) 19:01:55.540144 ====> Client forcibly disconnected 19:01:55.540305 Received QUIT (on stdin) 19:01:55.540317 quits 19:01:55.540375 ============> 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 ==170556== ==170556== Process terminating with default action of signal 4 (SIGILL) ==170556== Illegal opcode at address 0x4013E00 ==170556== at 0x4013E00: getparameter (tool_getparam.c:2846) ==170556== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170556== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==170556== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2045 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/9/valgrind2047 ../src/curl -q --include --trace-ascii log/9/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:38373 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/9/stdout2047 2> log/9/stderr2047 2047: stdout FAILED: --- log/9/check-expected 2025-11-13 19:01:56.869391757 +0000 +++ log/9/check-generated 2025-11-13 19:01:56.869391757 +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/9/ 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/9/valgrind2047 ../src/curl -q --include --trace-ascii log/9/trace2047 --trace-time http://åäö.se/2047 -x 127.0.0.1:38373 -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L > log/9/stdout2047 2> log/9/stderr2047 === End of file commands.log === Start of file http_server.log 19:01:55.691724 ====> Client connect 19:01:55.691864 accept_connection 3 returned 4 19:01:55.691886 accept_connection 3 returned 0 19:01:55.691902 Read 93 bytes 19:01:55.691914 Process 93 bytes request 19:01:55.691929 Got request: GET /verifiedserver HTTP/1.1 19:01:55.691940 Are-we-friendly question received 19:01:55.691967 Wrote request (93 bytes) input to log/9/server.input 19:01:55.691986 Identifying ourselves as friends 19:01:55.692044 Response sent (57 bytes) and written to log/9/server.response 19:01:55.692056 special request received, no persistency 19:01:55.692066 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38373... * Established connection to 127.0.0.1 (127.0.0.1 port 38373) from 127.0.0.1 port 39544 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38373 > User-Agent: curl/8.17.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:38373 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159573 === 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: 18 WE ROOLZ: 159573 === End of file server.response === Start of file valgrind2047 ==170669== ==170669== Process terminating with default action of signal 4 (SIGILL) ==170669== Illegal opcode at address 0x4013E00 ==170669== at 0x4013E00: getparameter (tool_getparam.c:2846) ==170669== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170669== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==170669== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2047 CMD (33792): ../libtool --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/valgrind2058 ../src/curl -q --output log/16/curl2058.out --include --trace-ascii log/16/trace2058 --trace-time http://127.0.0.1:42747/2058 -u auser:apasswd --digest -T log/16/2058 -x http://127.0.0.1:42747 -C 2 -X GET > log/16/stdout2058 2> log/16/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/6/valgrind2002 ../src/curl -q --trace-ascii log/6/trace2002 --trace-time http://127.0.0.1:41595/20020001 ftp://127.0.0.1:36475/20020002 file://localhost/startdir/src/build-curl/tests/log/6/test2002.txt tftp://127.0.0.1:44720//20020003 > log/6/stdout2002 2> log/6/stderr2002 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/12/valgrind2046 ../src/curl -q --include --trace-ascii log/12/trace2046 --trace-time http://åäö.se:46819/2046 --resolve xn--4cab6c.se:46819: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/12/stdout2046 2> log/12/stderr2046 2046: stdout FAILED: --- log/12/check-expected 2025-11-13 19:01:56.872725092 +0000 +++ log/12/check-generated 2025-11-13 19:01:56.872725092 +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:46819/20460001[LF] -text/plain; charset=us-ascii[LF] -200[LF] == Contents of files in the log/12/ 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:46819/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/12/valgrind2046 ../src/curl -q --include --trace-ascii log/12/trace2046 --trace-time http://åäö.se:46819/2046 --resolve xn--4cab6c.se:46819: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/12/stdout2046 2> log/12/stderr2046 === End of file commands.log === Start of file http_server.log 19:01:55.668799 ====> Client connect 19:01:55.668830 accept_connection 3 returned 4 19:01:55.668847 accept_connection 3 returned 0 19:01:55.668862 Read 93 bytes 19:01:55.668873 Process 93 bytes request 19:01:55.668888 Got request: GET /verifiedserver HTTP/1.1 19:01:55.668898 Are-we-friendly question received 19:01:55.668922 Wrote request (93 bytes) input to log/12/server.input 19:01:55.668940 Identifying ourselves as friends 19:01:55.668993 Response sent (56 bytes) and written to log/12/server.response 19:01:55.669004 special request received, no persistency 19:01:55.669013 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 53228 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind2046 ==170638== ==170638== Process terminating with default action of signal 4 (SIGILL) ==170638== Illegal opcode at address 0x4013E00 ==170638== at 0x4013E00: getparameter (tool_getparam.c:2846) ==170638== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170638== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==170638== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2046 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/16/valgrind2058 ../src/curl -q --output log/16/curl2058.out --include --trace-ascii log/16/trace2058 --trace-time http://127.0.0.1:42747/2058 -u auser:apasswd --digest -T log/16/2058 -x http://127.0.0.1:42747 -C 2 -X GET > log/16/stdout2058 2> log/16/stderr2058 2058: 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 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/16/valgrind2058 ../src/curl -q --output log/16/curl2058.out --include --trace-ascii log/16/trace2058 --trace-time http://127.0.0.1:42747/2058 -u auser:apasswd --digest -T log/16/2058 -x http://127.0.0.1:42747 -C 2 -X GET > log/16/stdout2058 2> log/16/stderr2058 === End of file commands.log === Start of file http_server.log 19:01:56.892484 ====> Client connect 19:01:56.892518 accept_connection 3 returned 4 19:01:56.892535 accept_connection 3 returned 0 19:01:56.892550 Read 93 bytes 19:01:56.892560 Process 93 bytes request 19:01:56.892572 Got request: GET /verifiedserver HTTP/1.1 19:01:56.892582 Are-we-friendly question received 19:01:56.892606 Wrote request (93 bytes) input to log/16/server.input 19:01:56.892624 Identifying ourselves as friends 19:01:56.892689 Response sent (56 bytes) and written to log/16/server.response 19:01:56.892700 special request received, no persistency 19:01:56.892708 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 40322 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind2058 ==171191== ==171191== Process terminating with default action of signal 4 (SIGILL) ==171191== Illegal opcode at address 0x4013E00 ==171191== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171191== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171191== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171191== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2058 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/6/server/tftp_server.pid" --portfile "log/6/server/tftp_server.port" --logfile "log/6/tftp_server.log" --logdir "log/6" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 169710 port 44720 * pid tftp => 169710 169710 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/6/valgrind2002 ../src/curl -q --trace-ascii log/6/trace2002 --trace-time http://127.0.0.1:41595/20020001 ftp://127.0.0.1:36475/20020002 file://localhost/startdir/src/build-curl/tests/log/6/test2002.txt tftp://127.0.0.1:44720//20020003 > log/6/stdout2002 2> log/6/stderr2002 2002: stdout FAILED: --- log/6/check-expected 2025-11-13 19:01:57.049391758 +0000 +++ log/6/check-generated 2025-11-13 19:01:57.049391758 +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/6/ 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/6/valgrind2002 ../src/curl -q --trace-ascii log/6/trace2002 --trace-time http://127.0.0.1:41595/20020001 ftp://127.0.0.1:36475/20020002 file://localhost/startdir/src/build-curl/tests/log/6/test2002.txt tftp://127.0.0.1:44720//20020003 > log/6/stdout2002 2> log/6/stderr2002 === End of file commands.log === Start of file ftp_server.log 19:01:55.137882 ====> Client connect 19:01:55.138032 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:55.138319 < "USER anonymous" 19:01:55.138362 > "331 We are happy you popped in![CR][LF]" 19:01:55.138539 < "PASS ftp@example.com" 19:01:55.138569 > "230 Welcome you silly person[CR][LF]" 19:01:55.138736 < "PWD" 19:01:55.138774 > "257 "/" is current directory[CR][LF]" 19:01:55.138939 < "EPSV" 19:01:55.138964 ====> Passive DATA channel requested by client 19:01:55.138977 DATA sockfilt for passive data channel starting... 19:01:55.140486 DATA sockfilt for passive data channel started (pid 169549) 19:01:55.140587 DATA sockfilt for passive data channel listens on port 32987 19:01:55.140626 > "229 Entering Passive Mode (|||32987|)[CR][LF]" 19:01:55.140641 Client has been notified that DATA conn will be accepted on port 32987 19:01:55.140847 Client connects to port 32987 19:01:55.140872 ====> Client established passive DATA connection on port 32987 19:01:55.140940 < "TYPE I" 19:01:55.140965 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:55.141098 < "SIZE verifiedserver" 19:01:55.141129 > "213 17[CR][LF]" 19:01:55.141253 < "RETR verifiedserver" 19:01:55.141279 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:55.141350 =====> Closing passive DATA connection... 19:01:55.141363 Server disconnects passive DATA connection 19:01:55.141721 Server disconnected passive DATA connection 19:01:55.141742 DATA sockfilt for passive data channel quits (pid 169549) 19:01:55.142003 DATA sockfilt for passive data channel quit (pid 169549) 19:01:55.142025 =====> Closed passive DATA connection 19:01:55.142299 > "226 File transfer complete[CR][LF]" 19:01:55.182381 < "QUIT" 19:01:55.182427 > "221 bye bye baby[CR][LF]" 19:01:55.182750 MAIN sockfilt said DISC 19:01:55.182783 ====> Client disconnected 19:01:55.182848 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:55.909840 ====> Client connect 19:01:55.910100 Received DATA (on stdin) 19:01:55.910117 > 160 bytes data, server => client 19:01:55.910130 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:55.910142 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:55.910153 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:55.910231 < 16 bytes data, client => server 19:01:55.910243 'USER anonymous\r\n' 19:01:55.910421 Received DATA (on stdin) 19:01:55.910434 > 33 bytes data, server => client 19:01:55.910446 '331 We are happy you popped in!\r\n' 19:01:55.910494 < 22 bytes data, client => server 19:01:55.910510 'PASS ftp@example.com\r\n' 19:01:55.910624 Received DATA (on stdin) 19:01:55.910636 > 30 bytes data, server => client 19:01:55.910647 '230 Welcome you silly person\r\n' 19:01:55.910694 < 5 bytes data, client => server 19:01:55.910705 'PWD\r\n' 19:01:55.910828 Received DATA (on stdin) 19:01:55.910841 > 30 bytes data, server => client 19:01:55.910853 '257 "/" is current directory\r\n' 19:01:55.910912 < 6 bytes data, client => server 19:01:55.910923 'EPSV\r\n' 19:01:55.912700 Received DATA (on stdin) 19:01:55.912714 > 39 bytes data, server => client 19:01:55.912724 '229 Entering Passive Mode (|||32987|)\r\n' 19:01:55.912852 < 8 bytes data, client => server 19:01:55.912862 'TYPE I\r\n' 19:01:55.913016 Received DATA (on stdin) 19:01:55.913027 > 33 bytes data, server => client 19:01:55.913036 '200 I modify TYPE as you wanted\r\n' 19:01:55.913079 < 21 bytes data, client => server 19:01:55.913089 'SIZE verifiedserver\r\n' 19:01:55.913179 Received DATA (on stdin) 19:01:55.913189 > 8 bytes data, server => client 19:01:55.913199 '213 17\r\n' 19:01:55.913237 < 21 bytes data, client => server 19:01:55.913247 'RETR verifiedserver\r\n' 19:01:55.913415 Received DATA (on stdin) 19:01:55.913426 > 29 bytes data, server => client 19:01:55.913436 '150 Binary junk (17 bytes).\r\n' 19:01:55.914291 Received DATA (on stdin) 19:01:55.914319 > 28 bytes data, server => client 19:01:55.914331 '226 File transfer complete\r\n' 19:01:55.954283 < 6 bytes data, client => server 19:01:55.954307 'QUIT\r\n' 19:01:55.954480 Received DATA (on stdin) 19:01:55.954494 > 18 bytes data, server => client 19:01:55.954503 '221 bye bye baby\r\n' 19:01:55.954752 ====> Client disconnect 19:01:55.954901 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:55.912349 Running IPv4 version 19:01:55.912438 Listening on port 32987 19:01:55.912469 Wrote pid 169549 to log/6/server/ftp_sockdata.pid 19:01:55.912487 Received PING (on stdin) 19:01:55.912561 Received PORT (on stdin) 19:01:55.912827 ====> Client connect 19:01:55.913457 Received DATA (on stdin) 19:01:55.913468 > 17 bytes data, server => client 19:01:55.913478 'WE ROOLZ: 80654\r\n' 19:01:55.913719 Received DISC (on stdin) 19:01:55.913730 ====> Client forcibly disconnected 19:01:55.913860 Received QUIT (on stdin) 19:01:55.913872 quits 19:01:55.913924 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:01:54.892970 ====> Client connect 19:01:54.892999 accept_connection 3 returned 4 19:01:54.893014 accept_connection 3 returned 0 19:01:54.893027 Read 93 bytes 19:01:54.893036 Process 93 bytes request 19:01:54.893048 Got request: GET /verifiedserver HTTP/1.1 19:01:54.893056 Are-we-friendly question received 19:01:54.893075 Wrote request (93 bytes) input to log/6/server.input 19:01:54.893088 Identifying ourselves as friends 19:01:54.893145 Response sent (56 bytes) and written to log/6/server.response 19:01:54.893153 special request received, no persistency 19:01:54.893161 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 46408 * using HTTP/1.x > GET /verifiedserver HTTP/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/18/valgrind2059 ../src/curl -q --output log/18/curl2059.out --include --trace-ascii log/18/trace2059 --trace-time http://127.0.0.1:39771/2059 -u auser:apasswd --digest -T log/18/2059 -x http://127.0.0.1:39771 -C 2 -X GET > log/18/stdout2059 2> log/18/stderr2059 CMD (33792): ../libtool --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/valgrind2001 ../src/curl -q --trace-ascii log/11/trace2001 --trace-time http://127.0.0.1:33847/20010001 ftp://127.0.0.1:35787/20010002 file://localhost/startdir/src/build-curl/tests/log/11/test2001.txt > log/11/stdout2001 2> log/11/stderr2001 .1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 76270 === 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 19:01:55.969912 Wrote pid 169710 to log/6/server/tftp_server.pid 19:01:55.969954 Wrote port 44720 to log/6/server/tftp_server.port 19:01:55.969964 Running IPv4 version on port UDP/44720 === End of file tftp_server.log === Start of file valgrind2002 ==171406== ==171406== Process terminating with default action of signal 4 (SIGILL) ==171406== Illegal opcode at address 0x4013E00 ==171406== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171406== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171406== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171406== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2002 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/18/valgrind2059 ../src/curl -q --output log/18/curl2059.out --include --trace-ascii log/18/trace2059 --trace-time http://127.0.0.1:39771/2059 -u auser:apasswd --digest -T log/18/2059 -x http://127.0.0.1:39771 -C 2 -X GET > log/18/stdout2059 2> log/18/stderr2059 2059: 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 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/18/valgrind2059 ../src/curl -q --output log/18/curl2059.out --include --trace-ascii log/18/trace2059 --trace-time http://127.0.0.1:39771/2059 -u auser:apasswd --digest -T log/18/2059 -x http://127.0.0.1:39771 -C 2 -X GET > log/18/stdout2059 2> log/18/stderr2059 === End of file commands.log === Start of file http_server.log 19:01:55.984179 ====> Client connect 19:01:55.984216 accept_connection 3 returned 4 19:01:55.984234 accept_connection 3 returned 0 19:01:55.984250 Read 93 bytes 19:01:55.984262 Process 93 bytes request 19:01:55.984277 Got request: GET /verifiedserver HTTP/1.1 19:01:55.984288 Are-we-friendly question received 19:01:55.984313 Wrote request (93 bytes) input to log/18/server.input 19:01:55.984332 Identifying ourselves as friends 19:01:55.984400 Response sent (56 bytes) and written to log/18/server.response 19:01:55.984413 special request received, no persistency 19:01:55.984423 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39771... * Established connection to 127.0.0.1 (127.0.0.1 port 39771) from 127.0.0.1 port 43434 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39771 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39771 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74423 === 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: 74423 === End of file server.response === Start of file valgrind2059 ==171480== ==171480== Process terminating with default action of signal 4 (SIGILL) ==171480== Illegal opcode at address 0x4013E00 ==171480== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171480== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171480== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171480== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2059 CMD (33792): ../libtool --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/valgrind2050 ../src/curl -q --output log/4/curl2050.out --include --trace-ascii log/4/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:37985 -x 127.0.0.1:38297 > log/4/stdout2050 2> log/4/stderr2050 CMD (33792): ../libtool --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/valgrind2052 ../src/curl -q --include --trace-ascii log/8/trace2052 --trace-time http://www.example.com:43853/2052 --resolve www.example.com:43853:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:43853 --connect-to ::127.0.0.1:43853 http://www.example.com:43853/2052 -w "%{num_connects}\n" > log/8/stdout2052 2> log/8/stderr2052 CMD (33792): ../libtool --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/valgrind2053 ../src/curl -q --output log/1/curl2053.out --include --trace-ascii log/1/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:40353 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:40353 > log/1/stdout2053 2> log/1/stderr2053 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 169363 port 33847 * pid http => 169363 169363 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/11/valgrind2001 ../src/curl -q --trace-ascii log/11/trace2001 --trace-time http://127.0.0.1:33847/20010001 ftp://127.0.0.1:35787/20010002 file://localhost/startdir/src/build-curl/tests/log/11/test2001.txt > log/11/stdout2001 2> log/11/stderr2001 2001: stdout FAILED: --- log/11/check-expected 2025-11-13 19:01:57.066058425 +0000 +++ log/11/check-generated 2025-11-13 19:01:57.066058425 +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/11/ 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/11/valgrind2001 ../src/curl -q --trace-ascii log/11/trace2001 --trace-time http://127.0.0.1:33847/20010001 ftp://127.0.0.1:35787/20010002 file://localhost/startdir/src/build-curl/tests/log/11/test2001.txt > log/11/stdout2001 2> log/11/stderr2001 === End of file commands.log === Start of file ftp_server.log 19:01:56.032946 ====> Client connect 19:01:56.033125 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:56.033425 < "USER anonymous" 19:01:56.033463 > "331 We are happy you popped in![CR][LF]" 19:01:56.033648 < "PASS ftp@example.com" 19:01:56.033676 > "230 Welcome you silly person[CR][LF]" 19:01:56.033968 < "PWD" 19:01:56.033998 > "257 "/" is current directory[CR][LF]" 19:01:56.034181 < "EPSV" 19:01:56.034209 ====> Passive DATA channel requested by client 19:01:56.034223 DATA sockfilt for passive data channel starting... 19:01:56.038708 DATA sockfilt for passive data channel started (pid 170760) 19:01:56.039014 DATA sockfilt for passive data channel listens on port 34285 19:01:56.039088 > "229 Entering Passive Mode (|||34285|)[CR][LF]" 19:01:56.039118 Client has been notified that DATA conn will be accepted on port 34285 19:01:56.039551 Client connects to port 34285 19:01:56.039597 ====> Client established passive DATA connection on port 34285 19:01:56.039714 < "TYPE I" 19:01:56.039756 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:56.039981 < "SIZE verifiedserver" 19:01:56.040023 > "213 17[CR][LF]" 19:01:56.040206 < "RETR verifiedserver" 19:01:56.040246 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:56.040331 =====> Closing passive DATA connection... 19:01:56.040349 Server disconnects passive DATA connection 19:01:56.040623 Server disconnected passive DATA connection 19:01:56.040661 DATA sockfilt for passive data channel quits (pid 170760) 19:01:56.040931 DATA sockfilt for passive data channel quit (pid 170760) 19:01:56.040964 =====> Closed passive DATA connection 19:01:56.040994 > "226 File transfer complete[CR][LF]" 19:01:56.083726 < "QUIT" 19:01:56.083778 > "221 bye bye baby[CR][LF]" 19:01:56.084844 MAIN sockfilt said DISC 19:01:56.084888 ====> Client disconnected 19:01:56.084961 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:55.804871 ====> Client connect 19:01:55.805193 Received DATA (on stdin) 19:01:55.805210 > 160 bytes data, server => client 19:01:55.805224 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:55.805236 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:55.805247 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:55.805325 < 16 bytes data, client => server 19:01:55.805341 'USER anonymous\r\n' 19:01:55.805521 Received DATA (on stdin) 19:01:55.805536 > 33 bytes data, server => client 19:01:55.805549 '331 We are happy you popped in!\r\n' 19:01:55.805605 < 22 bytes data, client => server 19:01:55.805619 'PASS ftp@example.com\r\n' 19:01:55.805731 Received DATA (on stdin) 19:01:55.805745 > 30 bytes data, server => client 19:01:55.805756 '230 Welcome you silly person\r\n' 19:01:55.805902 < 5 bytes data, client => server 19:01:55.805918 'PWD\r\n' 19:01:55.806058 Received DATA (on stdin) 19:01:55.806071 > 30 bytes data, server => client 19:01:55.806084 '257 "/" is current directory\r\n' 19:01:55.806145 < 6 bytes data, client => server 19:01:55.806160 'EPSV\r\n' 19:01:55.811196 Received DATA (on stdin) 19:01:55.811223 > 39 bytes data, server => client 19:01:55.811235 '229 Entering Passive Mode (|||34285|)\r\n' 19:01:55.811454 < 8 bytes data, client => server 19:01:55.811471 'TYPE I\r\n' 19:01:55.811821 Received DATA (on stdin) 19:01:55.811839 > 33 bytes data, server => client 19:01:55.811852 '200 I modify TYPE as you wanted\r\n' 19:01:55.811944 < 21 bytes data, client => server 19:01:55.811959 'SIZE verifiedserver\r\n' 19:01:55.812089 Received DATA (on stdin) 19:01:55.812103 > 8 bytes data, server => client 19:01:55.812114 '213 17\r\n' 19:01:55.812166 < 21 bytes data, client => server 19:01:55.812180 'RETR verifiedserver\r\n' 19:01:55.812407 Received DATA (on stdin) 19:01:55.812420 > 29 bytes data, server => client 19:01:55.812433 '150 Binary junk (17 bytes).\r\n' 19:01:55.813050 Received DATA (on stdin) 19:01:55.813066 > 28 bytes data, server => client 19:01:55.813078 '226 File transfer complete\r\n' 19:01:55.855611 < 6 bytes data, client => server 19:01:55.855636 'QUIT\r\n' 19:01:55.855837 Received DATA (on stdin) 19:01:55.855851 > 18 bytes data, server => client 19:01:55.855863 '221 bye bye baby\r\n' 19:01:55.856837 ====> Client disconnect 19:01:55.857017 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:56.807818 Running IPv4 version 19:01:56.810550 Listening on port 34285 19:01:56.810604 Wrote pid 170760 to log/11/server/ftp_sockdata.pid 19:01:56.810636 Received PING (on stdin) 19:01:56.810934 Received PORT (on stdin) 19:01:56.811519 ====> Client connect 19:01:56.812460 Received DATA (on stdin) 19:01:56.812476 > 17 bytes data, server => client 19:01:56.812488 'WE ROOLZ: 80684\r\n' 19:01:56.812519 Received DISC (on stdin) 19:01:56.812534 ====> Client forcibly disconnected 19:01:56.812731 Received QUIT (on stdin) 19:01:56.812746 quits 19:01:56.812809 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:01:55.801965 Running HTTP IPv4 version on port 33847 19:01:55.802039 Wrote pid 169363 to log/11/server/http_server.pid 19:01:55.802065 Wrote port 33847 to log/11/server/http_server.port === End of file http_server.log === Start of file server.cmd Testnum 2001 === End of file server.cmd === Start of file test2001.txt foo bar bar foo moo === End of file test2001.txt === Start of file valgrind2001 ==170946== ==170946== Process terminating with default action of signal 4 (SIGILL) ==170946== Illegal opcode at address 0x4013E00 ==170946== at 0x4013E00: getparameter (tool_getparam.c:2846) ==170946== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170946== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==170946== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2001 test 2050...[--connect-to via HTTP proxy (tunnel mode automatically)] ../libtool --mode=execute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppCMD (33792): ../libtool --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/valgrind2049 ../src/curl -q --output log/20/curl2049.out --include --trace-ascii log/20/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:38583 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:38583 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:38583 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:38583 > log/20/stdout2049 2> log/20/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/15/valgrind2051 ../src/curl -q --include --trace-ascii log/15/trace2051 --trace-time http://127.0.0.1:44531/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:44531 http://127.0.0.1:44531/2051 -w "%{num_connects}\n" --next http://127.0.0.1:44531/2051 -w "%{num_connects}\n" > log/15/stdout2051 2> log/15/stderr2051 ressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/4/valgrind2050 ../src/curl -q --output log/4/curl2050.out --include --trace-ascii log/4/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:37985 -x 127.0.0.1:38297 > log/4/stdout2050 2> log/4/stderr2050 2050: 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 2050 === Start of file commands.log ../libtool --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/valgrind2050 ../src/curl -q --output log/4/curl2050.out --include --trace-ascii log/4/trace2050 --trace-time http://www.example.com.2050/2050 --connect-to ::connect.example.com.2050:37985 -x 127.0.0.1:38297 > log/4/stdout2050 2> log/4/stderr2050 === End of file commands.log === Start of file http2_server.log 19:01:56.844624 ====> Client connect 19:01:56.844660 accept_connection 3 returned 4 19:01:56.844677 accept_connection 3 returned 0 19:01:56.844692 Read 93 bytes 19:01:56.844703 Process 93 bytes request 19:01:56.844717 Got request: GET /verifiedserver HTTP/1.1 19:01:56.844728 Are-we-friendly question received 19:01:56.844755 Wrote request (93 bytes) input to log/4/proxy.input 19:01:56.844774 Identifying ourselves as friends 19:01:56.844830 Response sent (57 bytes) and written to log/4/proxy.response 19:01:56.844841 special request received, no persistency 19:01:56.844851 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:38297... * Established connection to 127.0.0.1 (127.0.0.1 port 38297) from 127.0.0.1 port 46104 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38297 > User-Agent: curl/8.17.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:38297 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 115575 === End of file http2_verify.out === Start of file http_server.log 19:01:56.827388 ====> Client connect 19:01:56.827441 accept_connection 3 returned 4 19:01:56.827459 accept_connection 3 returned 0 19:01:56.827473 Read 93 bytes 19:01:56.827484 Process 93 bytes request 19:01:56.827495 Got request: GET /verifiedserver HTTP/1.1 19:01:56.827503 Are-we-friendly question received 19:01:56.827523 Wrote request (93 bytes) input to log/4/server.input 19:01:56.827537 Identifying ourselves as friends 19:01:56.827581 Response sent (56 bytes) and written to log/4/server.response 19:01:56.827590 special request received, no persistency 19:01:56.827598 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 38126 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 115575 === 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: 74797 === End of file server.response === Start of file valgrind2050 ==170871== ==170871== Process terminating with default action of signal 4 (SIGILL) ==170871== Illegal opcode at address 0x4013E00 ==170871== at 0x4013E00: getparameter (tool_getparam.c:2846) ==170871== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170871== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==170871== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2050 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/1/valgrind2053 ../src/curl -q --output log/1/curl2053.out --include --trace-ascii log/1/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:40353 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:40353 > log/1/stdout2053 2> log/1/stderr2053 2053: 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 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/1/valgrind2053 ../src/curl -q --output log/1/curl2053.out --include --trace-ascii log/1/trace2053 --trace-time http://10.0.0.1:8081/2053 --connect-to 10.0.0.1:8081:127.0.0.1:40353 --next http://[fc00::1]:8082/2053 --connect-to [fc00::1]:8082:127.0.0.1:40353 > log/1/stdout2053 2> log/1/stderr2053 === End of file commands.log === Start of file http_server.log 19:01:55.876417 ====> Client connect 19:01:55.876443 accept_connection 3 returned 4 19:01:55.876458 accept_connection 3 returned 0 19:01:55.876470 Read 93 bytes 19:01:55.876482 Process 93 bytes request 19:01:55.876496 Got request: GET /verifiedserver HTTP/1.1 19:01:55.876506 Are-we-friendly question received 19:01:55.876529 Wrote request (93 bytes) input to log/1/server.input 19:01:55.876547 Identifying ourselves as friends 19:01:55.876600 Response sent (56 bytes) and written to log/1/server.response 19:01:55.876611 special request received, no persistency 19:01:55.876620 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 40282 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 17 WE ROOLZ: 75002 === End of file server.response === Start of file valgrind2053 ==171027== ==171027== Process terminating with default action of signal 4 (SIGILL) ==171027== Illegal opcode at address 0x4013E00 ==171027== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171027== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171027== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171027== by 0x40037A4: 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/21/valgrind2055 ../src/curl -q --output log/21/curl2055.out --include --trace-ascii log/21/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:35043 -x 127.0.0.1:42013 --preproxy socks5://127.0.0.1:36843 > log/21/stdout2055 2> log/21/stderr2055 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/8/valgrind2052 ../src/curl -q --include --trace-ascii log/8/trace2052 --trace-time http://www.example.com:43853/2052 --resolve www.example.com:43853:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:43853 --connect-to ::127.0.0.1:43853 http://www.example.com:43853/2052 -w "%{num_connects}\n" > log/8/stdout2052 2> log/8/stderr2052 2052: stdout FAILED: --- log/8/check-expected 2025-11-13 19:01:57.109391760 +0000 +++ log/8/check-generated 2025-11-13 19:01:57.109391760 +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/8/ 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/8/valgrind2052 ../src/curl -q --include --trace-ascii log/8/trace2052 --trace-time http://www.example.com:43853/2052 --resolve www.example.com:43853:127.0.0.1 -w "%{num_connects}\n" --next --resolve -www.example.com:43853 --connect-to ::127.0.0.1:43853 http://www.example.com:43853/2052 -w "%{num_connects}\n" > log/8/stdout2052 2> log/8/stderr2052 === End of file commands.log === Start of file http_server.log 19:01:55.860963 ====> Client connect 19:01:55.860993 accept_connection 3 returned 4 19:01:55.861008 accept_connection 3 returned 0 19:01:55.861024 Read 93 bytes 19:01:55.861036 Process 93 bytes request 19:01:55.861050 Got request: GET /verifiedserver HTTP/1.1 19:01:55.861062 Are-we-friendly question received 19:01:55.861094 Wrote request (93 bytes) input to log/8/server.input 19:01:55.861114 Identifying ourselves as friends 19:01:55.861179 Response sent (56 bytes) and written to log/8/server.response 19:01:55.861191 special request received, no persistency 19:01:55.861202 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 37980 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind2052 ==170954== ==170954== Process terminating with default action of signal 4 (SIGILL) ==170954== Illegal opcode at address 0x4013E00 ==170954== at 0x4013E00: getparameter (tool_getparam.c:2846) ==170954== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170954== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==170954== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2052 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/20/valgrind2049 ../src/curl -q --output log/20/curl2049.out --include --trace-ascii log/20/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:38583 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:38583 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:38583 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:38583 > log/20/stdout2049 2> log/20/stderr2049 2049: 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 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/20/valgrind2049 ../src/curl -q --output log/20/curl2049.out --include --trace-ascii log/20/trace2049 --trace-time http://www1.example.com:8081/2049 --connect-to ::127.0.0.1:38583 --next http://www2.example.com:8082/2049 --connect-to :8082:127.0.0.1:38583 --next http://www3.example.com:8083/2049 --connect-to www3.example.com::127.0.0.1:38583 --next http://www4.example.com:8084/2049 --connect-to www4.example.com:8084:127.0.0.1:38583 > log/20/stdout2049 2> log/20/stderr2049 === End of file commands.log === Start of file http_server.log 19:01:55.828382 ====> Client connect 19:01:55.828405 accept_connection 3 returned 4 19:01:55.828419 accept_connection 3 returned 0 19:01:55.828430 Read 93 bytes 19:01:55.828439 Process 93 bytes request 19:01:55.828451 Got request: GET /verifiedserver HTTP/1.1 19:01:55.828462 Are-we-friendly question received 19:01:55.828482 Wrote request (93 bytes) input to log/20/server.input 19:01:55.828497 Identifying ourselves as friends 19:01:55.828538 Response sent (56 bytes) and written to log/20/server.response 19:01:55.828547 special request received, no persistency 19:01:55.828554 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 49878 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 74421 === End of file server.response === Start of file valgrind2049 ==170807== ==170807== Process terminating with default action of signal 4 (SIGILL) ==170807== Illegal opcode at address 0x4013E00 ==170807== at 0x4013E00: getparameter (tool_getparam.c:2846) ==170807== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170807== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==170807== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2049 CMD (33792): ../libtool --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/valgrind2054 ../src/curl -q --output log/7/curl2054.out --include --trace-ascii log/7/trace2054 --trace-time http://127.0.0.1:41017/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:41017/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::41017 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:41017 --connect-to www.example.com:8084:foo:123 > log/7/stdout2054 2> log/7/stderr2054 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/15/valgrind2051 ../src/curl -q --include --trace-ascii log/15/trace2051 --trace-time http://127.0.0.1:44531/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:44531 http://127.0.0.1:44531/2051 -w "%{num_connects}\n" --next http://127.0.0.1:44531/2051 -w "%{num_connects}\n" > log/15/stdout2051 2> log/15/stderr2051 2051: stdout FAILED: --- log/15/check-expected 2025-11-13 19:01:57.119391760 +0000 +++ log/15/check-generated 2025-11-13 19:01:57.119391760 +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/15/ 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/15/valgrind2051 ../src/curl -q --include --trace-ascii log/15/trace2051 --trace-time http://127.0.0.1:44531/2051 -w "%{num_connects}\n" --next --connect-to ::127.0.0.1:44531 http://127.0.0.1:44531/2051 -w "%{num_connects}\n" --next http://127.0.0.1:44531/2051 -w "%{num_connects}\n" > log/15/stdout2051 2> log/15/stderr2051 === End of file commands.log === Start of file http_server.log 19:01:55.856925 ====> Client connect 19:01:55.856961 accept_connection 3 returned 4 19:01:55.856977 accept_connection 3 returned 0 19:01:55.856990 Read 93 bytes 19:01:55.856999 Process 93 bytes request 19:01:55.857011 Got request: GET /verifiedserver HTTP/1.1 19:01:55.857020 Are-we-friendly question received 19:01:55.857042 Wrote request (93 bytes) input to log/15/server.input 19:01:55.857056 Identifying ourselves as friends 19:01:55.857108 Response sent (56 bytes) and written to log/15/server.response 19:01:55.857117 special request received, no persistency 19:01:55.857125 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 36100 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind2051 ==170913== ==170913== Process terminating with default action of signal 4 (SIGILL) ==170913== Illegal opcode at address 0x4013E00 ==170913== at 0x4013E00: getparameter (tool_getparam.c:2846) ==170913== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==170913== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==170913== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2051 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/21/valgrind2055 ../src/curl -q --output log/21/curl2055.out --include --trace-ascii log/21/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:35043 -x 127.0.0.1:42013 --preproxy socks5://127.0.0.1:36843 > log/21/stdout2055 2> log/21/stderr2055 2055: 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 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/21/valgrind2055 ../src/curl -q --output log/21/curl2055.out --include --trace-ascii log/21/trace2055 --trace-time http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:35043 -x 127.0.0.1:42013 --preproxy socks5://127.0.0.1:36843 > log/21/stdout2055 2> log/21/stderr2055 === End of file commands.log === Start of file http2_server.log 19:01:56.910692 ====> Client connect 19:01:56.910722 accept_connection 3 returned 4 19:01:56.910735 accept_connection 3 returned 0 19:01:56.910765 Read 93 bytes 19:01:56.910777 Process 93 bytes request 19:01:56.910791 Got request: GET /verifiedserver HTTP/1.1 19:01:56.910800 Are-we-friendly question received 19:01:56.910822 Wrote request (93 bytes) input to log/21/proxy.input 19:01:56.910842 Identifying ourselves as friends 19:01:56.910911 Response sent (57 bytes) and written to log/21/proxy.response 19:01:56.910923 special request received, no persistency 19:01:56.910931 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:42013... * Established connection to 127.0.0.1 (127.0.0.1 port 42013) from 127.0.0.1 port 37222 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42013 > User-Agent: curl/8.17.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:42013 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 168469 === End of file http2_verify.out === Start of file http_server.log 19:01:55.890979 ====> Client connect 19:01:55.891018 accept_connection 3 returned 4 19:01:55.891036 accept_connection 3 returned 0 19:01:55.891052 Read 93 bytes 19:01:55.891063 Process 93 bytes request 19:01:55.891078 Got request: GET /verifiedserver HTTP/1.1 19:01:55.891088 Are-we-friendly question received 19:01:55.891114 Wrote request (93 bytes) input to log/21/server.input 19:01:55.891131 Identifying ourselves as friends 19:01:55.891191 Response sent (56 bytes) and written to log/21/server.response 19:01:55.891202 special request received, no persistency 19:01:55.891212 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 48482 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 18 WE ROOLZ: 168469 === 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: 74420 === End of file server.response === Start of file valgrind2055 ==171256== ==171256== Process terminating with default action of signal 4 (SIGILL) ==171256== Illegal opcode at address 0x4013E00 ==171256== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171256== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171256== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171256== by 0x40037A4: 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=exeCMD (33792): ../libtool --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/valgrind2003 ../src/curl -q --trace-ascii log/19/trace2003 --trace-time http://127.0.0.1:41761/20030001 ftp://127.0.0.1:33175/20030002 file://localhost/startdir/src/build-curl/tests/log/19/test2003.txt tftp://127.0.0.1:42846//20030003 tftp://127.0.0.1:42846//20030003 file://localhost/startdir/src/build-curl/tests/log/19/test2003.txt ftp://127.0.0.1:33175/20030002 http://127.0.0.1:41761/20030001 > log/19/stdout2003 2> log/19/stderr2003 cute /usr/bin/valgrind --tool=memcheck --quiet --leak-check=yes --suppressions=/startdir/src/curl/tests/valgrind.supp --num-callers=16 --log-file=log/7/valgrind2054 ../src/curl -q --output log/7/curl2054.out --include --trace-ascii log/7/trace2054 --trace-time http://127.0.0.1:41017/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:41017/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::41017 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:41017 --connect-to www.example.com:8084:foo:123 > log/7/stdout2054 2> log/7/stderr2054 2054: 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 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/7/valgrind2054 ../src/curl -q --output log/7/curl2054.out --include --trace-ascii log/7/trace2054 --trace-time http://127.0.0.1:41017/2054 --connect-to foo::bar: --connect-to :123::456 --next http://www.example.com:41017/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::41017 --connect-to :8083::123 --next http://www.example.com:8084/2054 --connect-to www.example.com:8084:127.0.0.1:41017 --connect-to www.example.com:8084:foo:123 > log/7/stdout2054 2> log/7/stderr2054 === End of file commands.log === Start of file http_server.log 19:01:55.881028 ====> Client connect 19:01:55.881067 accept_connection 3 returned 4 19:01:55.881085 accept_connection 3 returned 0 19:01:55.881099 Read 93 bytes 19:01:55.881109 Process 93 bytes request 19:01:55.881122 Got request: GET /verifiedserver HTTP/1.1 19:01:55.881131 Are-we-friendly question received 19:01:55.881156 Wrote request (93 bytes) input to log/7/server.input 19:01:55.881173 Identifying ourselves as friends 19:01:55.881232 Response sent (56 bytes) and written to log/7/server.response 19:01:55.881242 special request received, no persistency 19:01:55.881252 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 57102 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind2054 ==171060== ==171060== Process terminating with default action of signal 4 (SIGILL) ==171060== Illegal opcode at address 0x4013E00 ==171060== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171060== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171060== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171060== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2054 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/tftpserver.pl --pidfile "log/19/server/tftp_server.pid" --portfile "log/19/server/tftp_server.port" --logfile "log/19/tftp_server.log" --logdir "log/19" --ipv4 --port 0 --srcdir "/startdir/src/curl/tests" RUN: TFTP server on PID 169766 port 42846 * pid tftp => 169766 169766 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/19/valgrind2003 ../src/curl -q --trace-ascii log/19/trace2003 --trace-time http://127.0.0.1:41761/20030001 ftp://127.0.0.1:33175/20030002 file://localhost/startdir/src/build-curl/tests/log/19/test2003.txt tftp://127.0.0.1:42846//20030003 tftp://127.0.0.1:42846//20030003 file://localhost/startdir/src/build-curl/tests/log/19/test2003.txt ftp://127.0.0.1:33175/20030002 http://127.0.0.1:41761/20030001 > log/19/stdout2003 2> log/19/stderr2003 2003: stdout FAILED: --- log/19/check-expected 2025-11-13 19:01:57.152725094 +0000 +++ log/19/check-generated 2025-11-13 19:01:57.152725094 +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/19/ 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/19/valgrind2003 ../src/curl -q --trace-ascii log/19/trace2003 --trace-time http://127.0.0.1:41761/20030001 ftp://127.0.0.1:33175/20030002 file://localhost/startdir/src/build-curl/tests/log/19/test2003.txt tftp://127.0.0.1:42846//20030003 tftp://127.0.0.1:42846//20030003 file://localhost/startdir/src/build-curl/tests/log/19/test2003.txt ftp://127.0.0.1:33175/20030002 http://127.0.0.1:41761/20030001 > log/19/stdout2003 2> log/19/stderr2003 === End of file commands.log === Start of file ftp_server.log 19:01:55.148104 ====> Client connect 19:01:55.148244 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:55.148470 < "USER anonymous" 19:01:55.148501 > "331 We are happy you popped in![CR][LF]" 19:01:55.148683 < "PASS ftp@example.com" 19:01:55.148736 > "230 Welcome you silly person[CR][LF]" 19:01:55.148933 < "PWD" 19:01:55.148970 > "257 "/" is current directory[CR][LF]" 19:01:55.149100 < "EPSV" 19:01:55.149118 ====> Passive DATA channel requested by client 19:01:55.149129 DATA sockfilt for passive data channel starting... 19:01:55.150403 DATA sockfilt for passive data channel started (pid 169577) 19:01:55.150489 DATA sockfilt for passive data channel listens on port 43777 19:01:55.150522 > "229 Entering Passive Mode (|||43777|)[CR][LF]" 19:01:55.150536 Client has been notified that DATA conn will be accepted on port 43777 19:01:55.150717 Client connects to port 43777 19:01:55.150761 ====> Client established passive DATA connection on port 43777 19:01:55.150985 < "TYPE I" 19:01:55.151020 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:55.151160 < "SIZE verifiedserver" 19:01:55.151189 > "213 17[CR][LF]" 19:01:55.151305 < "RETR verifiedserver" 19:01:55.151329 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:55.151390 =====> Closing passive DATA connection... 19:01:55.151401 Server disconnects passive DATA connection 19:01:55.151581 Server disconnected passive DATA connection 19:01:55.151607 DATA sockfilt for passive data channel quits (pid 169577) 19:01:55.151778 DATA sockfilt for passive data channel quit (pid 169577) 19:01:55.151796 =====> Closed passive DATA connection 19:01:55.151817 > "226 File transfer complete[CR][LF]" 19:01:55.192505 < "QUIT" 19:01:55.192556 > "221 bye bye baby[CR][LF]" 19:01:55.193328 MAIN sockfilt said DISC 19:01:55.193365 ====> Client disconnected 19:01:55.193434 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:55.920060 ====> Client connect 19:01:55.920314 Received DATA (on stdin) 19:01:55.920332 > 160 bytes data, server => client 19:01:55.920345 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:55.920355 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:55.920363 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:55.920418 < 16 bytes data, client => server 19:01:55.920428 'USER anonymous\r\n' 19:01:55.920553 Received DATA (on stdin) 19:01:55.920563 > 33 bytes data, server => client 19:01:55.920571 '331 We are happy you popped in!\r\n' 19:01:55.920613 < 22 bytes data, client => server 19:01:55.920624 'PASS ftp@example.com\r\n' 19:01:55.920797 Received DATA (on stdin) 19:01:55.920815 > 30 bytes data, server => client 19:01:55.920826 '230 Welcome you silly person\r\n' 19:01:55.920894 < 5 bytes data, client => server 19:01:55.920905 'PWD\r\n' 19:01:55.921020 Received DATA (on stdin) 19:01:55.921029 > 30 bytes data, server => client 19:01:55.921038 '257 "/" is current directory\r\n' 19:01:55.921085 < 6 bytes data, client => server 19:01:55.921093 'EPSV\r\n' 19:01:55.922588 Received DATA (on stdin) 19:01:55.922600 > 39 bytes data, server => client 19:01:55.922608 '229 Entering Passive Mode (|||43777|)\r\n' 19:01:55.922743 < 8 bytes data, client => server 19:01:55.922755 'TYPE I\r\n' 19:01:55.923072 Received DATA (on stdin) 19:01:55.923084 > 33 bytes data, server => client 19:01:55.923093 '200 I modify TYPE as you wanted\r\n' 19:01:55.923141 < 21 bytes data, client => server 19:01:55.923150 'SIZE verifiedserver\r\n' 19:01:55.923238 Received DATA (on stdin) 19:01:55.923247 > 8 bytes data, server => client 19:01:55.923256 '213 17\r\n' 19:01:55.923293 < 21 bytes data, client => server 19:01:55.923302 'RETR verifiedserver\r\n' 19:01:55.923452 Received DATA (on stdin) 19:01:55.923462 > 29 bytes data, server => client 19:01:55.923470 '150 Binary junk (17 bytes).\r\n' 19:01:55.923868 Received DATA (on stdin) 19:01:55.923879 > 28 bytes data, server => client 19:01:55.923888 '226 File transfer complete\r\n' 19:01:55.964396 < 6 bytes data, client => server 19:01:55.964423 'QUIT\r\n' 19:01:55.964615 Received DATA (on stdin) 19:01:55.964630 > 18 bytes data, server => client 19:01:55.964643 '221 bye bye baby\r\n' 19:01:55.965323 ====> Client disconnect 19:01:55.965485 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:55.922316 Running IPv4 version 19:01:55.922368 Listening on port 43777 19:01:55.922393 Wrote pid 169577 to log/19/server/ftp_sockdata.pid 19:01:55.922409 Received PING (on stdin) 19:01:55.922471 Received PORT (on stdin) 19:01:55.922716 ====> Client connect 19:01:55.923478 Received DATA (on stdin) 19:01:55.923495 > 17 bytes data, server => client 19:01:55.923505 'WE ROOLZ: 80854\r\n' 19:01:55.923531 Received DISC (on stdin) 19:01:55.923546 ====> Client forcibly disconnected 19:01:55.923665 Received QUIT (on stdin) 19:01:55.923674 quits 19:01:55.923713 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file http_server.log 19:01:54.904039 ====> Client connect 19:01:54.904069 accept_connection 3 returned 4 19:01:54.904360 acceCMD (33792): ../libtool --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/valgrind2061 ../src/curl -q --output log/10/curl2061.out --include --trace-ascii log/10/trace2061 --trace-time http://127.0.0.1:37879/2061 -u testuser:testpass --digest > log/10/stdout2061 2> log/10/stderr2061 CMD (33792): ../libtool --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/valgrind2062 ../src/curl -q --output log/22/curl2062.out --include --trace-ascii log/22/trace2062 --trace-time http://127.0.0.1:41061/2062 -u testuser:testpass --digest > log/22/stdout2062 2> log/22/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/valgrind2060 ../src/curl -q --output log/17/curl2060.out --include --trace-ascii log/17/trace2060 --trace-time http://127.0.0.1:40515/2060 -u auser:apasswd --digest -T log/17/2060 -x http://127.0.0.1:40515 -C 2 -X GET > log/17/stdout2060 2> log/17/stderr2060 pt_connection 3 returned 0 19:01:54.904381 Read 93 bytes 19:01:54.904391 Process 93 bytes request 19:01:54.904405 Got request: GET /verifiedserver HTTP/1.1 19:01:54.904415 Are-we-friendly question received 19:01:54.904456 Wrote request (93 bytes) input to log/19/server.input 19:01:54.904475 Identifying ourselves as friends 19:01:54.904538 Response sent (56 bytes) and written to log/19/server.response 19:01:54.904549 special request received, no persistency 19:01:54.904558 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 39902 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === 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 19:01:55.983898 Wrote pid 169766 to log/19/server/tftp_server.pid 19:01:55.983951 Wrote port 42846 to log/19/server/tftp_server.port 19:01:55.983964 Running IPv4 version on port UDP/42846 === End of file tftp_server.log === Start of file valgrind2003 ==171432== ==171432== Process terminating with default action of signal 4 (SIGILL) ==171432== Illegal opcode at address 0x4013E00 ==171432== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171432== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171432== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171432== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2003 test 2061...[HTTP with RFC7616 SHA256 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/10/valgrind2061 ../src/curl -q --output log/10/curl2061.out --include --trace-ascii log/10/trace2061 --trace-time http://127.0.0.1:37879/2061 -u testuser:testpass --digest > log/10/stdout2061 2> log/10/stderr2061 2061: 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 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/10/valgrind2061 ../src/curl -q --output log/10/curl2061.out --include --trace-ascii log/10/trace2061 --trace-time http://127.0.0.1:37879/2061 -u testuser:testpass --digest > log/10/stdout2061 2> log/10/stderr2061 === End of file commands.log === Start of file http_server.log 19:01:56.002432 ====> Client connect 19:01:56.002473 accept_connection 3 returned 4 19:01:56.002492 accept_connection 3 returned 0 19:01:56.002507 Read 93 bytes 19:01:56.002518 Process 93 bytes request 19:01:56.002532 Got request: GET /verifiedserver HTTP/1.1 19:01:56.002542 Are-we-friendly question received 19:01:56.002569 Wrote request (93 bytes) input to log/10/server.input 19:01:56.002588 Identifying ourselves as friends 19:01:56.002654 Response sent (56 bytes) and written to log/10/server.response 19:01:56.002666 special request received, no persistency 19:01:56.002676 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 49600 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind2061 ==171540== ==171540== Process terminating with default action of signal 4 (SIGILL) ==171540== Illegal opcode at address 0x4013E00 ==171540== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171540== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171540== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171540== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2061 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/22/valgrind2062 ../src/curl -q --output log/22/curl2062.out --include --trace-ascii log/22/trace2062 --trace-time http://127.0.0.1:41061/2062 -u testuser:testpass --digest > log/22/stdout2062 2> log/22/stderr2062 2062: 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 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/22/valgrind2062 ../src/curl -q --output log/22/curl2062.out --include --trace-ascii log/22/trace2062 --trace-time http://127.0.0.1:41061/2062 -u testuser:testpass --digest > log/22/stdout2062 2> log/22/stderr2062 === End of file commands.log === Start of file http_server.log 19:01:56.002010 ====> Client connect 19:01:56.002055 accept_connection 3 returned 4 19:01:56.002074 accept_connection 3 returned 0 19:01:56.002089 Read 93 bytes 19:01:56.002101 Process 93 bytes request 19:01:56.002116 Got request: GET /verifiedserver HTTP/1.1 19:01:56.002126 Are-we-friendly question received 19:01:56.002152 Wrote request (93 bytes) input to log/22/server.input 19:01:56.002171 Identifying ourselves as friends 19:01:56.002235 Response sent (56 bytes) and written to log/22/server.response 19:01:56.002248 special request received, no persistency 19:01:56.002259 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 60468 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file valgrind2062 ==171561== ==171561== Process terminating with default action of signal 4 (SIGILL) ==171561== Illegal opcode at address 0x4013E00 ==171561== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171561== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171561== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171561== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2062 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/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/3/valgrind2063 ../src/curl -q --output log/3/curl2063.out --include --trace-ascii log/3/trace2063 --trace-time http://127.0.0.1:46261/2063 -u testuser:testpass --digest > log/3/stdout2063 2> log/3/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/13/valgrind2064 ../src/curl -q --output log/13/curl2064.out --include --trace-ascii log/13/trace2064 --trace-time http://127.0.0.1:35301/2064 -u testuser:test2pass --digest > log/13/stdout2064 2> log/13/stderr2064 lgrind.supp --num-callers=16 --log-file=log/17/valgrind2060 ../src/curl -q --output log/17/curl2060.out --include --trace-ascii log/17/trace2060 --trace-time http://127.0.0.1:40515/2060 -u auser:apasswd --digest -T log/17/2060 -x http://127.0.0.1:40515 -C 2 -X GET > log/17/stdout2060 2> log/17/stderr2060 2060: 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 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/17/valgrind2060 ../src/curl -q --output log/17/curl2060.out --include --trace-ascii log/17/trace2060 --trace-time http://127.0.0.1:40515/2060 -u auser:apasswd --digest -T log/17/2060 -x http://127.0.0.1:40515 -C 2 -X GET > log/17/stdout2060 2> log/17/stderr2060 === End of file commands.log === Start of file http_server.log 19:01:56.997484 ====> Client connect 19:01:56.997517 accept_connection 3 returned 4 19:01:56.997534 accept_connection 3 returned 0 19:01:56.997667 Read 93 bytes 19:01:56.997680 Process 93 bytes request 19:01:56.997694 Got request: GET /verifiedserver HTTP/1.1 19:01:56.997704 Are-we-friendly question received 19:01:56.997730 Wrote request (93 bytes) input to log/17/server.input 19:01:56.997747 Identifying ourselves as friends 19:01:56.997802 Response sent (56 bytes) and written to log/17/server.response 19:01:56.997813 special request received, no persistency 19:01:56.997822 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 55266 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file valgrind2060 ==171532== ==171532== Process terminating with default action of signal 4 (SIGILL) ==171532== Illegal opcode at address 0x4013E00 ==171532== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171532== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171532== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171532== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2060 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/3/valgrind2063 ../src/curl -q --output log/3/curl2063.out --include --trace-ascii log/3/trace2063 --trace-time http://127.0.0.1:46261/2063 -u testuser:testpass --digest > log/3/stdout2063 2> log/3/stderr2063 2063: 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 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/3/valgrind2063 ../src/curl -q --output log/3/curl2063.out --include --trace-ascii log/3/trace2063 --trace-time http://127.0.0.1:46261/2063 -u testuser:testpass --digest > log/3/stdout2063 2> log/3/stderr2063 === End of file commands.log === Start of file http_server.log 19:01:57.234948 ====> Client connect 19:01:57.234984 accept_connection 3 returned 4 19:01:57.235003 accept_connection 3 returned 0 19:01:57.235020 Read 93 bytes 19:01:57.235032 Process 93 bytes request 19:01:57.235049 Got request: GET /verifiedserver HTTP/1.1 19:01:57.235060 Are-we-friendly question received 19:01:57.235110 Wrote request (93 bytes) input to log/3/server.input 19:01:57.235129 Identifying ourselves as friends 19:01:57.235188 Response sent (56 bytes) and written to log/3/server.response 19:01:57.235200 special request received, no persistency 19:01:57.235210 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 43360 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind2063 ==171810== ==171810== Process terminating with default action of signal 4 (SIGILL) ==171810== Illegal opcode at address 0x4013E00 ==171810== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171810== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171810== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171810== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2063 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/13/valgrind2064 ../src/curl -q --output log/13/curl2064.out --include --trace-ascii log/13/trace2064 --trace-time http://127.0.0.1:35301/2064 -u testuser:test2pass --digest > log/13/stdout2064 2> log/13/stderr2064 2064: 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 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/13/valgrind2064 ../src/curl -q --output log/13/curl2064.out --include --trace-ascii log/13/trace2064 --trace-time http://127.0.0.1:35301/2064 -u testuser:test2pass --digest > log/13/stdout2064 2> log/13/stderr2064 === End of file commands.log === Start of file http_server.log 19:01:56.242158 ====> Client connect 19:01:56.242193 accept_connection 3 returned 4 19:01:56.242210 accept_connection 3 returned 0 19:01:56.242226 Read 93 bytes 19:01:56.242236 Process 93 bytes request 19:01:56.242251 Got request: GET /verifiedserver HTTP/1.1 19:01:56.242262 Are-we-friendly question received 19:01:56.242286 Wrote request (93 bytes) input to log/13/server.input 19:01:56.242304 Identifying ourselves as friends 19:01:56.242355 Response sent (56 bytes) and written to log/13/server.response 19:01:56.242366 special request received, no persistency 19:01:56.242376 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35301... * Established connection to 127.0.0.1 (127.0.0.1 port 35301) from 127.0.0.1 port 43150 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35301 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35301 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74477 === End of file http_verify.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/14/valgrind2065 ../src/curl -q --output log/14/curl2065.out --include --trace-ascii log/14/trace2065 --trace-time http://127.0.0.1:36759/2065 -u testuser:test2pass --digest > log/14/stdout2065 2> log/14/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/23/valgrind2066 ../src/curl -q --output log/23/curl2066.out --include --trace-ascii log/23/trace2066 --trace-time http://127.0.0.1:35243/2066 -u testuser:test2pass --digest > log/23/stdout2066 2> log/23/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/12/valgrind2067 ../src/curl -q --output log/12/curl2067.out --include --trace-ascii log/12/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:46819/2067 > log/12/stdout2067 2> log/12/stderr2067 ut === 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: 74477 === End of file server.response === Start of file valgrind2064 ==171819== ==171819== Process terminating with default action of signal 4 (SIGILL) ==171819== Illegal opcode at address 0x4013E00 ==171819== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171819== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171819== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171819== by 0x40037A4: 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/14/valgrind2065 ../src/curl -q --output log/14/curl2065.out --include --trace-ascii log/14/trace2065 --trace-time http://127.0.0.1:36759/2065 -u testuser:test2pass --digest > log/14/stdout2065 2> log/14/stderr2065 2065: 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 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/14/valgrind2065 ../src/curl -q --output log/14/curl2065.out --include --trace-ascii log/14/trace2065 --trace-time http://127.0.0.1:36759/2065 -u testuser:test2pass --digest > log/14/stdout2065 2> log/14/stderr2065 === End of file commands.log === Start of file http_server.log 19:01:56.297989 ====> Client connect 19:01:56.298029 accept_connection 3 returned 4 19:01:56.298047 accept_connection 3 returned 0 19:01:56.298064 Read 93 bytes 19:01:56.298075 Process 93 bytes request 19:01:56.298091 Got request: GET /verifiedserver HTTP/1.1 19:01:56.298102 Are-we-friendly question received 19:01:56.298129 Wrote request (93 bytes) input to log/14/server.input 19:01:56.298148 Identifying ourselves as friends 19:01:56.298204 Response sent (56 bytes) and written to log/14/server.response 19:01:56.298216 special request received, no persistency 19:01:56.298226 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:36759... * Established connection to 127.0.0.1 (127.0.0.1 port 36759) from 127.0.0.1 port 36916 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:36759 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:36759 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74428 === 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: 17 WE ROOLZ: 74428 === End of file server.response === Start of file valgrind2065 ==171921== ==171921== Process terminating with default action of signal 4 (SIGILL) ==171921== Illegal opcode at address 0x4013E00 ==171921== at 0x4013E00: getparameter (tool_getparam.c:2846) ==171921== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==171921== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==171921== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2065 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/23/valgrind2066 ../src/curl -q --output log/23/curl2066.out --include --trace-ascii log/23/trace2066 --trace-time http://127.0.0.1:35243/2066 -u testuser:test2pass --digest > log/23/stdout2066 2> log/23/stderr2066 2066: 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 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/23/valgrind2066 ../src/curl -q --output log/23/curl2066.out --include --trace-ascii log/23/trace2066 --trace-time http://127.0.0.1:35243/2066 -u testuser:test2pass --digest > log/23/stdout2066 2> log/23/stderr2066 === End of file commands.log === Start of file http_server.log 19:01:56.540939 ====> Client connect 19:01:56.540975 accept_connection 3 returned 4 19:01:56.540992 accept_connection 3 returned 0 19:01:56.541008 Read 93 bytes 19:01:56.541019 Process 93 bytes request 19:01:56.541033 Got request: GET /verifiedserver HTTP/1.1 19:01:56.541043 Are-we-friendly question received 19:01:56.541068 Wrote request (93 bytes) input to log/23/server.input 19:01:56.541086 Identifying ourselves as friends 19:01:56.541139 Response sent (56 bytes) and written to log/23/server.response 19:01:56.541150 special request received, no persistency 19:01:56.541160 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 45744 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind2066 ==172025== ==172025== Process terminating with default action of signal 4 (SIGILL) ==172025== Illegal opcode at address 0x4013E00 ==172025== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172025== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172025== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172025== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2066 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/12/valgrind2067 ../src/curl -q --output log/12/curl2067.out --include --trace-ascii log/12/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:46819/2067 > log/12/stdout2067 2> log/12/stderr2067 2067: 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 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/12/valgrind2067 ../src/curl -q --output log/12/curl2067.out --include --trace-ascii log/12/trace2067 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:46819/2067 > log/12/stdout2067 2> log/12/stderr2067 === End of file commands.log === Start of file http_server.log 19:01:56.674833 ====> Client connect 19:01:56.674868 accept_connection 3 returned 4 19:01:56.674886 accept_connection 3 returned 0 19:01:56.674901 Read 93 bytes 19:01:56.674913 Process 93 bytes request 19:01:56.674927 Got request: GET /verifiedserver HTTP/1.1 19:01:56.674937 Are-we-friendly question received 19:01:56.674962 Wrote request (93 bytes) input to log/12/server.input 19:01: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/valgrind2068 ../src/curl -q --output log/9/curl2068.out --include --trace-ascii log/9/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:38373/2068 > log/9/stdout2068 2> log/9/stderr2068 CMD (33792): ../libtool --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/valgrind2072 ../src/curl -q --output log/18/curl2072.out --trace-ascii log/18/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/18/test2072.txt > log/18/stdout2072 2> log/18/stderr2072 6.674979 Identifying ourselves as friends 19:01:56.675032 Response sent (56 bytes) and written to log/12/server.response 19:01:56.675043 special request received, no persistency 19:01:56.675053 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 53238 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind2067 ==172103== ==172103== Process terminating with default action of signal 4 (SIGILL) ==172103== Illegal opcode at address 0x4013E00 ==172103== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172103== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172103== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172103== by 0x40037A4: 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/9/valgrind2068 ../src/curl -q --output log/9/curl2068.out --include --trace-ascii log/9/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:38373/2068 > log/9/stdout2068 2> log/9/stderr2068 2068: 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 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/9/valgrind2068 ../src/curl -q --output log/9/curl2068.out --include --trace-ascii log/9/trace2068 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:38373/2068 > log/9/stdout2068 2> log/9/stderr2068 === End of file commands.log === Start of file http_server.log 19:01:56.704146 ====> Client connect 19:01:56.704180 accept_connection 3 returned 4 19:01:56.704199 accept_connection 3 returned 0 19:01:56.704216 Read 93 bytes 19:01:56.704227 Process 93 bytes request 19:01:56.704242 Got request: GET /verifiedserver HTTP/1.1 19:01:56.704252 Are-we-friendly question received 19:01:56.704276 Wrote request (93 bytes) input to log/9/server.input 19:01:56.704291 Identifying ourselves as friends 19:01:56.704340 Response sent (57 bytes) and written to log/9/server.response 19:01:56.704348 special request received, no persistency 19:01:56.704356 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38373... * Established connection to 127.0.0.1 (127.0.0.1 port 38373) from 127.0.0.1 port 39558 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38373 > User-Agent: curl/8.17.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:38373 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159573 === 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: 18 WE ROOLZ: 159573 === End of file server.response === Start of file valgrind2068 ==172154== ==172154== Process terminating with default action of signal 4 (SIGILL) ==172154== Illegal opcode at address 0x4013E00 ==172154== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172154== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172154== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172154== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2068 CMD (33792): ../libtool --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/valgrind2069 ../src/curl -q --output log/16/curl2069.out --include --trace-ascii log/16/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:42747/2069 > log/16/stdout2069 2> log/16/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/6/valgrind2071 ../src/curl -q --output log/6/curl2071.out --trace-ascii log/6/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/6/test2070.txt > log/6/stdout2071 2> log/6/stderr2071 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/18/valgrind2072 ../src/curl -q --output log/18/curl2072.out --trace-ascii log/18/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/18/test2072.txt > log/18/stdout2072 2> log/18/stderr2072 2072: data FAILED: --- log/18/check-expected 2025-11-13 19:01:57.986058435 +0000 +++ log/18/check-generated 2025-11-13 19:01:57.986058435 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/18/ 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/18/valgrind2072 ../src/curl -q --output log/18/curl2072.out --trace-ascii log/18/trace2072 --trace-time file://///startdir/src/build-curl/tests/log/18/test2072.txt > log/18/stdout2072 2> log/18/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 ==172290== ==172290== Process terminating with default action of signal 4 (SIGILL) ==172290== Illegal opcode at address 0x4013E00 ==172290== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172290== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172290== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172290== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2072 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/16/valgrind2069 ../src/curl -q --output log/16/curl2069.out --include --trace-ascii log/16/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:42747/2069 > log/16/stdout2069 2> log/16/stderr2069 2069: 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 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/16/valgrind2069 ../src/curl -q --output log/16/curl2069.out --include --trace-ascii log/16/trace2069 --trace-time -H "Content-Length: 11" -u auser:apasswd --digest -d "junkelijunk" http://127.0.0.1:42747/2069 > log/16/stdout2069 2> log/16/stderr2069 === End of file commands.log === Start of file http_server.log 19:01:57.821308 ====> Client connect 19:01:57.821344 accept_connection 3 returned 4 19:01:57.821362 accept_connection 3 returned 0 19:01:57.821377 Read 93 bytes 19:01:57.821388 Process 93 bytes request 19:01:57.821403 Got request: GET /verifiedserver HTTP/1.1 19:01:57.821413 Are-we-friendly question received 19:01:57.821440 Wrote request (93 bytes) input to log/16/server.input 19:01:57.821458 Identifying ourselves as friends 19:01:57.821515 Response sent (56 bytes) and written to log/16/server.response 19:01:57.821527 special request received, no persistency 19:01:57.821537 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 40338 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind2069 ==172241== ==172241== Process terminating with default action of signal 4 (SIGILL) ==172241== Illegal opcode at address 0x4013E00 ==172241== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172241== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172241== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172241== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2069 CMD (33792): ../libtool --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/valgrind2073 ../src/curl -q --output log/11/curl2073.out --include --trace-ascii log/11/trace2073 --trace-time http://127.0.0.1:33847/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:33847/2073 -F 'name=b;filename=b.jpg' > log/11/stdout2073 2> log/11/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/20/valgrind2075 ../src/curl -q --output log/20/curl2075.out --include --trace-ascii log/20/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/20/stdout2075 2> log/20/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/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:40353/2082 > log/1/stdout2082 2> log/1/stderr2082 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/6/valgrind2071 ../src/curl -q --output log/6/curl2071.out --trace-ascii log/6/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/6/test2070.txt > log/6/stdout2071 2> log/6/stderr2071 2071: data FAILED: --- log/6/check-expected 2025-11-13 19:01:57.999391767 +0000 +++ log/6/check-generated 2025-11-13 19:01:57.999391767 +0000 @@ -1,5 +0,0 @@ -foo[LF] - bar[LF] -bar[LF] - foo[LF] -moo[LF] == Contents of files in the log/6/ 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/6/valgrind2071 ../src/curl -q --output log/6/curl2071.out --trace-ascii log/6/trace2071 --trace-time file://127.0.0.1/startdir/src/build-curl/tests/log/6/test2070.txt > log/6/stdout2071 2> log/6/stderr2071 === End of file commands.log === Start of file server.cmd Testnum 2071 === End of file server.cmd === Start of file valgrind2071 ==172248== ==172248== Process terminating with default action of signal 4 (SIGILL) ==172248== Illegal opcode at address 0x4013E00 ==172248== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172248== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172248== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172248== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2071 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/11/valgrind2073 ../src/curl -q --output log/11/curl2073.out --include --trace-ascii log/11/trace2073 --trace-time http://127.0.0.1:33847/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:33847/2073 -F 'name=b;filename=b.jpg' > log/11/stdout2073 2> log/11/stderr2073 2073: 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 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/11/valgrind2073 ../src/curl -q --output log/11/curl2073.out --include --trace-ascii log/11/trace2073 --trace-time http://127.0.0.1:33847/2073 -F 'name=a;filename=a.pdf' --next http://127.0.0.1:33847/2073 -F 'name=b;filename=b.jpg' > log/11/stdout2073 2> log/11/stderr2073 === End of file commands.log === Start of file http_server.log 19:01:57.864301 ====> Client connect 19:01:57.864334 accept_connection 3 returned 4 19:01:57.864352 accept_connection 3 returned 0 19:01:57.864368 Read 93 bytes 19:01:57.864379 Process 93 bytes request 19:01:57.864396 Got request: GET /verifiedserver HTTP/1.1 19:01:57.864406 Are-we-friendly question received 19:01:57.864429 Wrote request (93 bytes) input to log/11/server.input 19:01:57.864450 Identifying ourselves as friends 19:01:57.864505 Response sent (57 bytes) and written to log/11/server.response 19:01:57.864520 special request received, no persistency 19:01:57.864530 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33847... * Established connection to 127.0.0.1 (127.0.0.1 port 33847) from 127.0.0.1 port 36066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33847 > User-Agent: curl/8.17.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:33847 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 169363 === 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: 18 WE ROOLZ: 169363 === End of file server.response === Start of file valgrind2073 ==172373== ==172373== Process terminating with default action of signal 4 (SIGILL) ==172373== Illegal opcode at address 0x4013E00 ==172373== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172373== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172373== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172373== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2073 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/20/valgrind2075 ../src/curl -q --output log/20/curl2075.out --include --trace-ascii log/20/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/20/stdout2075 2> log/20/stderr2075 curl returned 132, when expecting 67 2075: exit FAILED == Contents of files in the log/20/ 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/20/valgrind2075 ../src/curl -q --output log/20/curl2075.out --include --trace-ascii log/20/trace2075 --trace-time --disallow-username-in-url http://username:password@example.com/ > log/20/stdout2075 2> log/20/stderr2075 === End of file commands.log === Start of file server.cmd Testnum 2075 === End of file server.cmd === Start of file valgrind2075 ==172463== ==172463== Process terminating with default action of signal 4 (SIGILL) ==172463== Illegal opcode at address 0x4013E00 ==172463== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172463== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172463== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172463== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2075 CMD (33792): ../libtool --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/valgrind2078 ../src/curl -q --output log/15/curl2078.out --include --trace-ascii log/15/trace2078 --trace-time http://127.0.0.1:44531/2078 --negotiate --data name=value > log/15/stdout2078 2> log/15/stderr2078 CMD (33792): ../libtool --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/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:40515/2085#redir > log/17/stdout2085 2> log/17/stderr2085 CMD (33792): ../libtool --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/valgrind2077 ../src/curl -q --output log/7/curl2077.out --include --trace-ascii log/7/trace2077 --trace-time http://127.0.0.1:41017/2077 --fail --negotiate > log/7/stdout2077 2> log/7/stderr2077 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/1/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:40353/2082 > log/1/stdout2082 2> log/1/stderr2082 2082: stdout FAILED: --- log/1/check-expected 2025-11-13 19:01:58.056058436 +0000 +++ log/1/check-generated 2025-11-13 19:01:58.056058436 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 40353[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/1/ 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 = 40353[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/1/valgrind2082 ./libtest/libtests lib2082 127.0.0.1:40353/2082 > log/1/stdout2082 2> log/1/stderr2082 === End of file commands.log === Start of file http_server.log 19:01:56.961066 ====> Client connect 19:01:56.961093 accept_connection 3 returned 4 19:01:56.961107 accept_connection 3 returned 0 19:01:56.961119 Read 93 bytes 19:01:56.961128 Process 93 bytes request 19:01:56.961140 Got request: GET /verifiedserver HTTP/1.1 19:01:56.961149 Are-we-friendly question received 19:01:56.961167 Wrote request (93 bytes) input to log/1/server.input 19:01:56.961181 Identifying ourselves as friends 19:01:56.961222 Response sent (56 bytes) and written to log/1/server.response 19:01:56.961231 special request received, no persistency 19:01:56.961239 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40353... * Established connection to 127.0.0.1 (127.0.0.1 port 40353) from 127.0.0.1 port 40284 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40353 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40353 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 75002 === 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: 75002 === End of file server.response === Start of file stderr2082 URL: 127.0.0.1:40353/2082 === End of file stderr2082 === Start of file valgrind2082 ==172802== ==172802== Process terminating with default action of signal 4 (SIGILL) ==172802== Illegal opcode at address 0x51D5F1F ==172802== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==172802== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==172802== by 0x51D5F1F: Curl_open (url.c:525) ==172802== by 0x514F6EF: curl_easy_init (easy.c:371) ==172802== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172802== by 0x400347F: main (first.c:280) ==172802== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==172802== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==172802== by 0x51D5EBD: Curl_open (url.c:504) ==172802== by 0x514F6EF: curl_easy_init (easy.c:371) ==172802== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172802== by 0x400347F: main (first.c:280) ==172802== === End of file valgrind2082 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/15/valgrind2078 ../src/curl -q --output log/15/curl2078.out --include --trace-ascii log/15/trace2078 --trace-time http://127.0.0.1:44531/2078 --negotiate --data name=value > log/15/stdout2078 2> log/15/stderr2078 2078: 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 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/15/valgrind2078 ../src/curl -q --output log/15/curl2078.out --include --trace-ascii log/15/trace2078 --trace-time http://127.0.0.1:44531/2078 --negotiate --data name=value > log/15/stdout2078 2> log/15/stderr2078 === End of file commands.log === Start of file http_server.log 19:01:56.933426 ====> Client connect 19:01:56.933452 accept_connection 3 returned 4 19:01:56.933465 accept_connection 3 returned 0 19:01:56.933477 Read 93 bytes 19:01:56.933486 Process 93 bytes request 19:01:56.933497 Got request: GET /verifiedserver HTTP/1.1 19:01:56.933506 Are-we-friendly question received 19:01:56.933524 Wrote request (93 bytes) input to log/15/server.input 19:01:56.933537 Identifying ourselves as friends 19:01:56.933579 Response sent (56 bytes) and written to log/15/server.response 19:01:56.933588 special request received, no persistency 19:01:56.933596 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:44531... * Established connection to 127.0.0.1 (127.0.0.1 port 44531) from 127.0.0.1 port 36110 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:44531 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:44531 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74426 === 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: 74426 === End of file server.response === Start of file valgrind2078 ==172608== ==172608== Process terminating with default action of signal 4 (SIGILL) ==172608== Illegal opcode at address 0x4013E00 ==172608== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172608== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172608== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172608== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2078 CMD (33792): ../libtool --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/valgrind2076 ../src/curl -q --output log/21/curl2076.out --include --trace-ascii log/21/trace2076 --trace-time "http://127.0.0.1:35043/2076?query" -u testuser:testpass --digest > log/21/stdout2076 2> log/21/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/19/valgrind2080 ../src/curl -q --output log/19/curl2080.out --include --trace-ascii log/19/trace2080 --trace-time -K log/19/config2080 file://de\>v/null > log/19/stdout2080 2> log/19/stderr2080 CMD (33792): ../libtool --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/valgrind2074 ../src/curl -q --output log/4/curl2074.out --include --trace-ascii log/4/trace2074 --trace-time http://127.0.0.1:37985/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout2074 2> log/4/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/8/valgrind2081 ../src/curl -q --include --trace-ascii log/8/trace2081 --trace-time http://user:pass@127.0.0.1:43853/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/8/stdout2081 2> log/8/stderr2081 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/17/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:40515/2085#redir > log/17/stdout2085 2> log/17/stderr2085 2085: stdout FAILED: --- log/17/check-expected 2025-11-13 19:01:58.109391769 +0000 +++ log/17/check-generated 2025-11-13 19:01:58.109391769 +0000 @@ -1,10 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 40515[LF] -Local port = stripped[LF] -Returning = 0[LF] -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 40515[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/17/ 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 = 40515[LF] Local port = stripped[LF] Returning = 0[LF] Connected to 127.0.0.1[LF] Connected from 127.0.0.1[LF] Remote port = 40515[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/valgrind2085 ./libtest/libtests lib2082 127.0.0.1:40515/2085#redir > log/17/stdout2085 2> log/17/stderr2085 === End of file commands.log === Start of file http_server.log 19:01:57.987359 ====> Client connect 19:01:57.987389 accept_connection 3 returned 4 19:01:57.987407 accept_connection 3 returned 0 19:01:57.987430 Read 93 bytes 19:01:57.987441 Process 93 bytes request 19:01:57.987454 Got request: GET /verifiedserver HTTP/1.1 19:01:57.987468 Are-we-friendly question received 19:01:57.987493 Wrote request (93 bytes) input to log/17/server.input 19:01:57.987510 Identifying ourselves as friends 19:01:57.987562 Response sent (56 bytes) and written to log/17/server.response 19:01:57.987572 special request received, no persistency 19:01:57.987582 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:40515... * Established connection to 127.0.0.1 (127.0.0.1 port 40515) from 127.0.0.1 port 55268 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:40515 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:40515 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74424 === 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: 74424 === End of file server.response === Start of file stderr2085 URL: 127.0.0.1:40515/2085#redir === End of file stderr2085 === Start of file valgrind2085 ==172946== ==172946== Process terminating with default action of signal 4 (SIGILL) ==172946== Illegal opcode at address 0x51D5F1F ==172946== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==172946== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==172946== by 0x51D5F1F: Curl_open (url.c:525) ==172946== by 0x514F6EF: curl_easy_init (easy.c:371) ==172946== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172946== by 0x400347F: main (first.c:280) ==172946== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==172946== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==172946== by 0x51D5EBD: Curl_open (url.c:504) ==172946== by 0x514F6EF: curl_easy_init (easy.c:371) ==172946== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172946== by 0x400347F: main (first.c:280) ==172946== === End of file valgrind2085 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/4/valgrind2074 ../src/curl -q --output log/4/curl2074.out --include --trace-ascii log/4/trace2074 --trace-time http://127.0.0.1:37985/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout2074 2> log/4/stderr2074 2074: 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 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/4/valgrind2074 ../src/curl -q --output log/4/curl2074.out --include --trace-ascii log/4/trace2074 --trace-time http://127.0.0.1:37985/2074 --oauth2-bearer mF_9.B5f-4.1JqM > log/4/stdout2074 2> log/4/stderr2074 === End of file commands.log === Start of file http_server.log 19:01:57.904143 ====> Client connect 19:01:57.904182 accept_connection 3 returned 4 19:01:57.904201 accept_connection 3 returned 0 19:01:57.904217 Read 93 bytes 19:01:57.904227 Process 93 bytes request 19:01:57.904242 Got request: GET /verifiedserver HTTP/1.1 19:01:57.904252 Are-we-friendly question received 19:01:57.904279 Wrote request (93 bytes) input to log/4/server.input 19:01:57.904298 Identifying ourselves as friends 19:01:57.904373 Response sent (56 bytes) and written to log/4/server.response 19:01:57.904386 special request received, no persistency 19:01:57.904396 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 38138 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind2074 ==172523== ==172523== Process terminating with default action of signal 4 (SIGILL) ==172523== Illegal opcode at address 0x4013E00 ==172523== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172523== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172523== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172523== by 0x40037A4: 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/22/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:41061/2084#err > log/22/stdout2084 2> log/22/stderr2084 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/7/valgrind2077 ../src/curl -q --output log/7/curl2077.out --include --trace-ascii log/7/trace2077 --trace-time http://127.0.0.1:41017/2077 --fail --negotiate > log/7/stdout2077 2> log/7/stderr2077 2077: data FAILED: --- log/7/check-expected 2025-11-13 19:01:58.119391769 +0000 +++ log/7/check-generated 2025-11-13 19:01:58.119391769 +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/7/ 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/7/valgrind2077 ../src/curl -q --output log/7/curl2077.out --include --trace-ascii log/7/trace2077 --trace-time http://127.0.0.1:41017/2077 --fail --negotiate > log/7/stdout2077 2> log/7/stderr2077 === End of file commands.log === Start of file http_server.log 19:01:56.923343 ====> Client connect 19:01:56.923382 accept_connection 3 returned 4 19:01:56.923400 accept_connection 3 returned 0 19:01:56.923415 Read 93 bytes 19:01:56.923425 Process 93 bytes request 19:01:56.923439 Got request: GET /verifiedserver HTTP/1.1 19:01:56.923450 Are-we-friendly question received 19:01:56.923476 Wrote request (93 bytes) input to log/7/server.input 19:01:56.923494 Identifying ourselves as friends 19:01:56.923551 Response sent (56 bytes) and written to log/7/server.response 19:01:56.923563 special request received, no persistency 19:01:56.923575 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 57104 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind2077 ==172583== ==172583== Process terminating with default action of signal 4 (SIGILL) ==172583== Illegal opcode at address 0x4013E00 ==172583== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172583== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172583== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172583== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2077 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/19/valgrind2080 ../src/curl -q --output log/19/curl2080.out --include --trace-ascii log/19/trace2080 --trace-time -K log/19/config2080 file://de\>v/null > log/19/stdout2080 2> log/19/stderr2080 curl returned 132, when expecting 2 2080: exit FAILED == Contents of files in the log/19/ 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/19/valgrind2080 ../src/curl -q --output log/19/curl2080.out --include --trace-ascii log/19/trace2080 --trace-time -K log/19/config2080 file://de\>v/null > log/19/stdout2080 2> log/19/stderr2080 === End of file commands.log === Start of file config2080 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD === End of file config2080 === Start of file server.cmd Testnum 2080 === End of file server.cmd === Start of file valgrind2080 ==172623== ==172623== Process terminating with default action of signal 4 (SIGILL) ==172623== Illegal opcode at address 0x4013E00 ==172623== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172623== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172623== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172623== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2080 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/21/valgrind2076 ../src/curl -q --output log/21/curl2076.out --include --trace-ascii log/21/trace2076 --trace-time "http://127.0.0.1:35043/2076?query" -u testuser:testpass --digest > log/21/stdout2076 2> log/21/stderr2076 2076: 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 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/21/valgrind2076 ../src/curl -q --output log/21/curl2076.out --include --trace-ascii log/21/trace2076 --trace-time "http://127.0.0.1:35043/2076?query" -u testuser:testpass --digest > log/21/stdout2076 2> log/21/stderr2076 === End of file commands.log === Start of file http_server.log 19:01:56.923650 ====> Client connect 19:01:56.923679 accept_connection 3 returned 4 19:01:56.923693 accept_connection 3 returned 0 19:01:56.923705 Read 93 bytes 19:01:56.923714 Process 93 bytes request 19:01:56.923725 Got request: GET /verifiedserver HTTP/1.1 19:01:56.923733 Are-we-friendly question received 19:01:56.923754 Wrote request (93 bytes) input to log/21/server.input 19:01:56.923768 Identifying ourselves as friends 19:01:56.923885 Response sent (56 bytes) and written to log/21/server.response 19:01:56.923894 special request received, no persistency 19:01:56.923902 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35043... * Established connection to 127.0.0.1 (127.0.0.1 port 35043) from 127.0.0.1 port 48498 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35043 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35043 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74420 === 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: 17 WE ROOLZ: 74420 === End of file server.response === Start of file valgrind2076 ==172584== ==172584== Process terminating with default action of signal 4 (SIGILL) ==172584== Illegal opcode at address 0x4013E00 ==172584== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172584== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172584== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172584== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2076 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/8/valgrind2081 ../src/curl -q --include --trace-ascii log/8/trace2081 --trace-time http://user:pass@127.0.0.1:43853/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/8/stdout2081 2> log/8/stderr2081 2081: stdout FAILED: --- log/8/check-expected 2025-11-13 19:01:58.126058436 +0000 +++ log/8/check-generated 2025-11-13 19:01:58.126058436 +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:43853/we/want/our/2081[LF] == Contents of files in the log/8/ 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:43853/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/8/valgrind2081 ../src/curl -q --include --trace-ascii log/8/trace2081 --trace-time http://user:pass@127.0.0.1:43853/we/want/our/2081#anchor --location --referer ';auto' --write-out '%{referer}\n' > log/8/stdout2081 2> log/8/stderr2081 === End of file commands.log === Start of file http_server.log 19:01:56.966764 ====> Client connect 19:01:56.966808 accept_connection 3 returned 4 19:01:56.966828 accept_connection 3 returned 0 19:01:56.966848 Read 93 bytes 19:01:56.966859 Process 93 bytes request 19:01:56.966875 Got request: GET /verifiedserver HTTP/1.1 19:01:56.966885 Are-we-friendly question received 19:01:56.966912 Wrote request (93 bytes) input to log/8/server.input 19:01:56.966931 Identifying ourselves as friends 19:01:56.967032 Response sent (56 bytes) and written to log/8/server.response 19:01:56.967045 special request received, no persistency 19:01:56.967053 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 37992 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind2081 ==172870== ==172870== Process terminating with default action of signal 4 (SIGILL) ==172870== Illegal opcode at address 0x4013E00 ==172870== at 0x4013E00: getparameter (tool_getparam.c:2846) ==172870== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==172870== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==172870== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2081 CMD (33792): ../libtool --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/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:42709/test-2083/ > log/10/stdout2083 2> log/10/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/22/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:41061/2084#err > log/22/stdout2084 2> log/22/stderr2084 2084: stdout FAILED: --- log/22/check-expected 2025-11-13 19:01:58.132725103 +0000 +++ log/22/check-generated 2025-11-13 19:01:58.132725103 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 41061[LF] -Local port = stripped[LF] -Returning = 1[LF] == Contents of files in the log/22/ 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 = 41061[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/22/valgrind2084 ./libtest/libtests lib2082 127.0.0.1:41061/2084#err > log/22/stdout2084 2> log/22/stderr2084 === End of file commands.log === Start of file http_server.log 19:01:56.981909 ====> Client connect 19:01:56.981935 accept_connection 3 returned 4 19:01:56.981950 accept_connection 3 returned 0 19:01:56.981962 Read 93 bytes 19:01:56.981971 Process 93 bytes request 19:01:56.981984 Got request: GET /verifiedserver HTTP/1.1 19:01:56.981992 Are-we-friendly question received 19:01:56.982016 Wrote request (93 bytes) input to log/22/server.input 19:01:56.982030 Identifying ourselves as friends 19:01:56.982093 Response sent (56 bytes) and written to log/22/server.response 19:01:56.982102 special request received, no persistency 19:01:56.982110 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41061... * Established connection to 127.0.0.1 (127.0.0.1 port 41061) from 127.0.0.1 port 60484 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41061 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41061 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74419 === 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: 74419 === End of file server.response === Start of file stderr2084 URL: 127.0.0.1:41061/2084#err === End of file stderr2084 === Start of file valgrind2084 ==172920== ==172920== Process terminating with default action of signal 4 (SIGILL) ==172920== Illegal opcode at address 0x51D5F1F ==172920== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==172920== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==172920== by 0x51D5F1F: Curl_open (url.c:525) ==172920== by 0x514F6EF: curl_easy_init (easy.c:371) ==172920== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172920== by 0x400347F: main (first.c:280) ==172920== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==172920== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==172920== by 0x51D5EBD: Curl_open (url.c:504) ==172920== by 0x514F6EF: curl_easy_init (easy.c:371) ==172920== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==172920== by 0x400347F: main (first.c:280) ==172920== === End of file valgrind2084 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 41589 --port2 45109 --nghttpx "nghttpx" --pidfile "log/24/server/http_v2_server.pid" --logfile "log/24/http_v2_server.log" --logdir "log/24" --connect 127.0.0.1:39383 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 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 35281 --port2 33635 --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:46771 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/3/valgrind2086 ./libtest/libtests lib2082 [::1]:38469/2086#ipv6 > log/3/stdout2086 2> log/3/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/10/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:42709/test-2083/ > log/10/stdout2083 2> log/10/stderr2083 2083: stdout FAILED: --- log/10/check-expected 2025-11-13 19:01:58.192725103 +0000 +++ log/10/check-generated 2025-11-13 19:01:58.192725103 +0000 @@ -1,5 +0,0 @@ -Connected to 127.0.0.1[LF] -Connected from 127.0.0.1[LF] -Remote port = 42709[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/10/ 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 = 42709[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/valgrind2083 ./libtest/libtests lib2082 ftp://127.0.0.1:42709/test-2083/ > log/10/stdout2083 2> log/10/stderr2083 === End of file commands.log === Start of file ftp_server.log 19:01:57.211013 ====> Client connect 19:01:57.211197 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:57.211494 < "USER anonymous" 19:01:57.211536 > "331 We are happy you popped in![CR][LF]" 19:01:57.211722 < "PASS ftp@example.com" 19:01:57.211746 > "230 Welcome you silly person[CR][LF]" 19:01:57.211904 < "PWD" 19:01:57.211936 > "257 "/" is current directory[CR][LF]" 19:01:57.212214 < "EPSV" 19:01:57.212238 ====> Passive DATA channel requested by client 19:01:57.212253 DATA sockfilt for passive data channel starting... 19:01:57.213883 DATA sockfilt for passive data channel started (pid 172876) 19:01:57.213994 DATA sockfilt for passive data channel listens on port 45295 19:01:57.214040 > "229 Entering Passive Mode (|||45295|)[CR][LF]" 19:01:57.214061 Client has been notified that DATA conn will be accepted on port 45295 19:01:57.214302 Client connects to port 45295 19:01:57.214330 ====> Client established passive DATA connection on port 45295 19:01:57.214399 < "TYPE I" 19:01:57.214427 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:57.214592 < "SIZE verifiedserver" 19:01:57.214629 > "213 17[CR][LF]" 19:01:57.214795 < "RETR verifiedserver" 19:01:57.214834 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:57.214916 =====> Closing passive DATA connection... 19:01:57.214934 Server disconnects passive DATA connection 19:01:57.215177 Server disconnected passive DATA connection 19:01:57.215204 DATA sockfilt for passive data channel quits (pid 172876) 19:01:57.215402 DATA sockfilt for passive data channel quit (pid 172876) 19:01:57.215427 =====> Closed passive DATA connection 19:01:57.215455 > "226 File transfer complete[CR][LF]" 19:01:57.258458 < "QUIT" 19:01:57.258558 > "221 bye bye baby[CR][LF]" 19:01:57.260018 MAIN sockfilt said DISC 19:01:57.260072 ====> Client disconnected 19:01:57.260171 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:57.982966 ====> Client connect 19:01:57.983270 Received DATA (on stdin) 19:01:57.983289 > 160 bytes data, server => client 19:01:57.983303 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:57.983315 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:57.983326 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:57.983398 < 16 bytes data, client => server 19:01:57.983413 'USER anonymous\r\n' 19:01:57.983595 Received DATA (on stdin) 19:01:57.983610 > 33 bytes data, server => client 19:01:57.983623 '331 We are happy you popped in!\r\n' 19:01:57.983678 < 22 bytes data, client => server 19:01:57.983692 'PASS ftp@example.com\r\n' 19:01:57.983796 Received DATA (on stdin) 19:01:57.983807 > 30 bytes data, server => client 19:01:57.983819 '230 Welcome you silly person\r\n' 19:01:57.983870 < 5 bytes data, client => server 19:01:57.983881 'PWD\r\n' 19:01:57.983990 Received DATA (on stdin) 19:01:57.984003 > 30 bytes data, server => client 19:01:57.984015 '257 "/" is current directory\r\n' 19:01:57.984075 < 6 bytes data, client => server 19:01:57.984757 'EPSV\r\n' 19:01:57.986121 Received DATA (on stdin) 19:01:57.986136 > 39 bytes data, server => client 19:01:57.986149 '229 Entering Passive Mode (|||45295|)\r\n' 19:01:57.986269 < 8 bytes data, client => server 19:01:57.986286 'TYPE I\r\n' 19:01:57.986480 Received DATA (on stdin) 19:01:57.986491 > 33 bytes data, server => client 19:01:57.986503 '200 I modify TYPE as you wanted\r\n' 19:01:57.986557 < 21 bytes data, client => server 19:01:57.986570 'SIZE verifiedserver\r\n' 19:01:57.986685 Received DATA (on stdin) 19:01:57.986699 > 8 bytes data, server => client 19:01:57.986710 '213 17\r\n' 19:01:57.986759 < 21 bytes data, client => server 19:01:57.986772 'RETR verifiedserver\r\n' 19:01:57.986993 Received DATA (on stdin) 19:01:57.987007 > 29 bytes data, server => client 19:01:57.987019 '150 Binary junk (17 bytes).\r\n' 19:01:57.987511 Received DATA (on stdin) 19:01:57.987525 > 28 bytes data, server => client 19:01:57.987537 '226 File transfer complete\r\n' 19:01:58.030224 < 6 bytes data, client => server 19:01:58.030262 'QUIT\r\n' 19:01:58.030648 Received DATA (on stdin) 19:01:58.030663 > 18 bytes data, server => client 19:01:58.030674 '221 bye bye baby\r\n' 19:01:58.032004 ====> Client disconnect 19:01:58.032226 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:57.985615 Running IPv4 version 19:01:57.985682 Listening on port 45295 19:01:57.985722 Wrote pid 172876 to log/10/server/ftp_sockdata.pid 19:01:57.985879 Received PING (on stdin) 19:01:57.985961 Received PORT (on stdin) 19:01:57.986308 ====> Client connect 19:01:57.987047 Received DATA (on stdin) 19:01:57.987062 > 17 bytes data, server => client 19:01:57.987074 'WE ROOLZ: 80847\r\n' 19:01:57.987098 Received DISC (on stdin) 19:01:57.987110 ====> Client forcibly disconnected 19:01:57.987269 Received QUIT (on stdin) 19:01:57.987282 quits 19:01:57.987339 ============> 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:42709/test-2083/ === End of file stderr2083 === Start of file valgrind2083 ==173077== ==173077== Process terminating with default action of signal 4 (SIGILL) ==173077== Illegal opcode at address 0x51D5F1F ==173077== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==173077== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==173077== by 0x51D5F1F: Curl_open (url.c:525) ==173077== by 0x514F6EF: curl_easy_init (easy.c:371) ==173077== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==173077== by 0x400347F: main (first.c:280) ==173077== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==173077== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==173077== by 0x51D5EBD: Curl_open (url.c:504) ==173077== by 0x514F6EF: curl_easy_init (easy.c:371) ==173077== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==173077== by 0x400347F: main (first.c:280) ==173077== === End of file valgrind2083 startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 46633 --port2 41343 --nghttpx "nghttpx" --pidfile "log/2/server/http_v2_server.pid" --logfile "log/2/http_v2_server.log" --logdir "log/2" --connect 127.0.0.1:46047 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 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/valgrind2602 ./unit/units unit2602 - > log/8/stdout2602 2> log/8/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/valgrind2203 ../src/curl -q --output log/12/curl2203.out --include --trace log/12/trace2203 --trace-time mqtt://127.0.0.1:43373/2203 > log/12/stdout2203 2> log/12/stderr2203 CMD (33792): ../libtool --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/valgrind2204 ../src/curl -q --output log/9/curl2204.out --include --trace log/9/trace2204 --trace-time mqtt://127.0.0.1:46511/2204 -u testuser:testpasswd > log/9/stdout2204 2> log/9/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/7/valgrind2604 ./unit/units unit2604 - > log/7/stdout2604 2> log/7/stderr2604 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/3/valgrind2086 ./libtest/libtests lib2082 [::1]:38469/2086#ipv6 > log/3/stdout2086 2> log/3/stderr2086 2086: stdout FAILED: --- log/3/check-expected 2025-11-13 19:01:58.266058438 +0000 +++ log/3/check-generated 2025-11-13 19:01:58.266058438 +0000 @@ -1,5 +0,0 @@ -Connected to [::1][LF] -Connected from [::1][LF] -Remote port = 38469[LF] -Local port = stripped[LF] -Returning = 0[LF] == Contents of files in the log/3/ dir after test 2086 === Start of file check-expected Connected to [::1][LF] Connected from [::1][LF] Remote port = 38469[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/3/valgrind2086 ./libtest/libtests lib2082 [::1]:38469/2086#ipv6 > log/3/stdout2086 2> log/3/stderr2086 === End of file commands.log === Start of file http_ipv6_server.log 19:01:57.199001 ====> Client connect 19:01:57.199035 accept_connection 3 returned 4 19:01:57.199053 accept_connection 3 returned 0 19:01:57.199068 Read 89 bytes 19:01:57.199082 Process 89 bytes request 19:01:57.199099 Got request: GET /verifiedserver HTTP/1.1 19:01:57.199109 Are-we-friendly question received 19:01:57.199134 Wrote request (89 bytes) input to log/3/server.input 19:01:57.199155 Identifying ourselves as friends 19:01:57.199216 Response sent (57 bytes) and written to log/3/server.response 19:01:57.199233 special request received, no persistency 19:01:57.199244 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:38469... * Established connection to ::1 (::1 port 38469) from ::1 port 41544 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:38469 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1:38469 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 154347 === 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: 154347 === End of file server.response === Start of file stderr2086 URL: [::1]:38469/2086#ipv6 === End of file stderr2086 === Start of file valgrind2086 ==173158== ==173158== Process terminating with default action of signal 4 (SIGILL) ==173158== Illegal opcode at address 0x51D5F1F ==173158== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==173158== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==173158== by 0x51D5F1F: Curl_open (url.c:525) ==173158== by 0x514F6EF: curl_easy_init (easy.c:371) ==173158== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==173158== by 0x400347F: main (first.c:280) ==173158== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==173158== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==173158== by 0x51D5EBD: Curl_open (url.c:504) ==173158== by 0x514F6EF: curl_easy_init (easy.c:371) ==173158== by 0x4042ADC: test_lib2082.lto_priv.0 (lib2082.c:64) ==173158== by 0x400347F: main (first.c:280) ==173158== === End of file valgrind2086 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/8/valgrind2602 ./unit/units unit2602 - > log/8/stdout2602 2> log/8/stderr2602 -------e-v- OK (1688 out of 1746, remaining: 00:04, took 0.462s, duration: 02:06) 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/12/valgrind2203 ../src/curl -q --output log/12/curl2203.out --include --trace log/12/trace2203 --trace-time mqtt://127.0.0.1:43373/2203 > log/12/stdout2203 2> log/12/stderr2203 2203: 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 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/12/valgrind2203 ../src/curl -q --output log/12/curl2203.out --include --trace log/12/trace2203 --trace-time mqtt://127.0.0.1:43373/2203 > log/12/stdout2203 2> log/12/stderr2203 === End of file commands.log === Start of file server.cmd error-CONNACK 5 Testnum 2203 === End of file server.cmd === Start of file valgrind2203 ==173247== ==173247== Process terminating with default action of signal 4 (SIGILL) ==173247== Illegal opcode at address 0x4013E00 ==173247== at 0x4013E00: getparameter (tool_getparam.c:2846) ==173247== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173247== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==173247== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2203 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/9/valgrind2204 ../src/curl -q --output log/9/curl2204.out --include --trace log/9/trace2204 --trace-time mqtt://127.0.0.1:46511/2204 -u testuser:testpasswd > log/9/stdout2204 2> log/9/stderr2204 2204: 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 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/9/valgrind2204 ../src/curl -q --output log/9/curl2204.out --include --trace log/9/trace2204 --trace-time mqtt://127.0.0.1:46511/2204 -u testuser:testpasswd > log/9/stdout2204 2> log/9/stderr2204 === End of file commands.log === Start of file server.cmd Testnum 2204 === End of file server.cmd === Start of file valgrind2204 ==173299== ==173299== Process terminating with default action of signal 4 (SIGILL) ==173299== Illegal opcode at address 0x4013E00 ==173299== at 0x4013E00: getparameter (tool_getparam.c:2846) ==173299== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173299== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==173299== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2204 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/7/valgrind2604 ./unit/units unit2604 - > log/7/stdout2604 2> log/7/stderr2604 units returned 132, when expecting 0 2604: exit FAILED == Contents of files in the log/7/ 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/7/valgrind2604 ./unit/units unit2604 - > log/7/stdout2604 2> log/7/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 ==173730== ==173730== Process terminating with default action of signal 4 (SIGILL) ==173730== Illegal opcode at address 0x4020D6A ==173730== at 0x4020D6A: test_unit2604.lto_priv.0 (unit2604.c:53) ==173730== CMD (33792): ../libtool --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/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/11/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:33847/2308 > log/11/stdout2308 2> log/11/stderr2308 by 0x400A12F: main (first.c:280) === End of file valgrind2604 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 ==173716== ==173716== Process terminating with default action of signal 4 (SIGILL) ==173716== Illegal opcode at address 0x40205B3 ==173716== at 0x40205B3: UnknownInlinedFun (string_fortified.h:59) ==173716== by 0x40205B3: UnknownInlinedFun (http1.c:44) ==173716== by 0x40205B3: parse_success (unit2603.c:70) ==173716== by 0x4020C13: test_unit2603.lto_priv.0 (unit2603.c:179) ==173716== by 0x400A12F: main (first.c:280) === End of file valgrind2603 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 ==173702== ==173702== Process terminating with default action of signal 4 (SIGILL) ==173702== Illegal opcode at address 0x401E887 ==173702== at 0x401E887: UnknownInlinedFun (string_fortified.h:59) ==173702== by 0x401E887: UnknownInlinedFun (bufq.c:216) ==173702== by 0x401E887: UnknownInlinedFun (bufq.c:231) ==173702== by 0x401E887: test_unit2601.lto_priv.0 (unit2601.c:217) ==173702== by 0x400A12F: main (first.c:280) === End of file valgrind2601 CMD (33792): ../libtool --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/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:42747/2306 http://127.0.0.1:42747/23060002 > log/16/stdout2306 2> log/16/stderr2306 CMD (33792): ../libtool --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/valgrind2307 ../src/curl -q --output log/6/curl2307.out --include --trace-ascii log/6/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:36475/2307 > log/6/stdout2307 2> log/6/stderr2307 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/11/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:33847/2308 > log/11/stdout2308 2> log/11/stderr2308 2308: stdout FAILED: --- log/11/check-expected 2025-11-13 19:01:58.776058443 +0000 +++ log/11/check-generated 2025-11-13 19:01:58.776058443 +0000 @@ -1 +0,0 @@ -Returned 23, should be 23.[CR][LF] == Contents of files in the log/11/ 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/11/valgrind2308 ./libtest/libtests lib2308 http://127.0.0.1:33847/2308 > log/11/stdout2308 2> log/11/stderr2308 === End of file commands.log === Start of file http_server.log 19:01:58.803379 ====> Client connect 19:01:58.803408 accept_connection 3 returned 4 19:01:58.803424 accept_connection 3 returned 0 19:01:58.803438 Read 93 bytes 19:01:58.803447 Process 93 bytes request 19:01:58.803461 Got request: GET /verifiedserver HTTP/1.1 19:01:58.803471 Are-we-friendly question received 19:01:58.803493 Wrote request (93 bytes) input to log/11/server.input 19:01:58.803509 Identifying ourselves as friends 19:01:58.803559 Response sent (57 bytes) and written to log/11/server.response 19:01:58.803570 special request received, no persistency 19:01:58.803579 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33847... * Established connection to 127.0.0.1 (127.0.0.1 port 33847) from 127.0.0.1 port 36068 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33847 > User-Agent: curl/8.17.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:33847 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 169363 === 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: 18 WE ROOLZ: 169363 === End of file server.response === Start of file stderr2308 URL: http://127.0.0.1:33847/2308 === End of file stderr2308 === Start of file valgrind2308 ==173439== ==173439== Process terminating with default action of signal 4 (SIGILL) ==173439== Illegal opcode at address 0x51D5F1F ==173439== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==173439== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==173439== by 0x51D5F1F: Curl_open (url.c:525) ==173439== by 0x514F6EF: curl_easy_init (easy.c:371) ==173439== by 0x4043AEA: UnknownInlinedFun (lib2308.c:41) ==173439== by 0x4043AEA: test_lib2308.lto_priv.0 (lib2308.c:35) ==173439== by 0x400347F: main (first.c:280) ==173439== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==173439== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==173439== by 0x51D5EBD: Curl_open (url.c:504) ==173439== by 0x514F6EF: curl_easy_init (easy.c:371) ==173439== by 0x4043AEA: UnknownInlinedFun (lib2308.c:41) ==173439== by 0x4043AEA: test_lib2308.lto_priv.0 (lib2308.c:35) ==173439== by 0x400347F: main (first.c:280) ==173439== === End of file valgrind2308 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/16/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:42747/2306 http://127.0.0.1:42747/23060002 > log/16/stdout2306 2> log/16/stderr2306 2306: 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 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/16/valgrind2306 ./libtest/libtests lib2306 http://127.0.0.1:42747/2306 http://127.0.0.1:42747/23060002 > log/16/stdout2306 2> log/16/stderr2306 === End of file commands.log === Start of file http_server.log 19:01:58.790398 ====> Client connect 19:01:58.790632 accept_connection 3 returned 4 19:01:58.790655 accept_connection 3 returned 0 19:01:58.790671 Read 93 bytes 19:01:58.790682 Process 93 bytes request 19:01:58.790696 Got request: GET /verifiedserver HTTP/1.1 19:01:58.790706 Are-we-friendly question received 19:01:58.790736 Wrote request (93 bytes) input to log/16/server.input 19:01:58.790762 Identifying ourselves as friends 19:01:58.790825 Response sent (56 bytes) and written to log/16/server.response 19:01:58.790837 special request received, no persistency 19:01:58.790847 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 40346 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file stderr2306 URL: http://127.0.0.1:42747/2306 === End of file stderr2306 === Start of file valgrind2306 ==173409== ==173409== Process terminating with default action of signal 4 (SIGILL) ==173409== Illegal opcode at address 0x51D5F1F ==173409== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==173409== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==173409== by 0x51D5F1F: Curl_open (url.c:525) ==173409== by 0x514F6EF: curl_easy_init (easy.c:371) ==173409== by 0x4042D88: UnknownInlinedFun (lib2306.c:34) ==173409== by 0x4042D88: test_lib2306.lto_priv.0 (lib2306.c:26) ==173409== by 0x400347F: main (first.c:280) ==173409== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==173409== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==173409== by 0x51D5EBD: Curl_open (url.c:504) ==173409== by 0x514F6EF: curl_easy_init (easy.c:371) ==173409== by 0x4042D88: UnknownInlinedFun (lib2306.c:34) ==173409== by 0x4042D88: test_lib2306.lto_priv.0 (lib2306.c:26) ==173409== by 0x400347F: main (first.c:280) ==173409== === 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/6/valgrind2307 ../src/curl -q --output log/6/curl2307.out --include --trace-ascii log/6/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:36475/2307 > log/6/stdout2307 2> log/6/stderr2307 2307: 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 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/6/valgrind2307 ../src/curl -q --output log/6/curl2307.out --include --trace-ascii log/6/trace2307 --trace-time -r 4-1000 ftp://127.0.0.1:36475/2307 > log/6/stdout2307 2> log/6/stderr2307 === End of file commands.log === Start of file ftp_server.log 19: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/valgrind2309 ./libtest/libtests lib2309 http://github.com log/20/netrc2309 http://127.0.0.1:38583/ > log/20/stdout2309 2> log/20/stderr2309 1:58.023430 ====> Client connect 19:01:58.023539 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:58.023755 < "USER anonymous" 19:01:58.023784 > "331 We are happy you popped in![CR][LF]" 19:01:58.023913 < "PASS ftp@example.com" 19:01:58.023933 > "230 Welcome you silly person[CR][LF]" 19:01:58.024046 < "PWD" 19:01:58.024070 > "257 "/" is current directory[CR][LF]" 19:01:58.024196 < "EPSV" 19:01:58.024215 ====> Passive DATA channel requested by client 19:01:58.024226 DATA sockfilt for passive data channel starting... 19:01:58.025644 DATA sockfilt for passive data channel started (pid 173400) 19:01:58.025759 DATA sockfilt for passive data channel listens on port 43917 19:01:58.025801 > "229 Entering Passive Mode (|||43917|)[CR][LF]" 19:01:58.025817 Client has been notified that DATA conn will be accepted on port 43917 19:01:58.026082 Client connects to port 43917 19:01:58.026128 ====> Client established passive DATA connection on port 43917 19:01:58.026228 < "TYPE I" 19:01:58.026265 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:58.026453 < "SIZE verifiedserver" 19:01:58.026489 > "213 17[CR][LF]" 19:01:58.026654 < "RETR verifiedserver" 19:01:58.026687 > "150 Binary junk (17 bytes).[CR][LF]" 19:01:58.026767 =====> Closing passive DATA connection... 19:01:58.026783 Server disconnects passive DATA connection 19:01:58.026917 Server disconnected passive DATA connection 19:01:58.026946 DATA sockfilt for passive data channel quits (pid 173400) 19:01:58.027139 DATA sockfilt for passive data channel quit (pid 173400) 19:01:58.027171 =====> Closed passive DATA connection 19:01:58.027199 > "226 File transfer complete[CR][LF]" 19:01:58.069029 < "QUIT" 19:01:58.069076 > "221 bye bye baby[CR][LF]" 19:01:58.069388 MAIN sockfilt said DISC 19:01:58.069429 ====> Client disconnected 19:01:58.069496 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:58.795396 ====> Client connect 19:01:58.795597 Received DATA (on stdin) 19:01:58.795610 > 160 bytes data, server => client 19:01:58.795620 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:58.795628 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:58.795637 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:58.795696 < 16 bytes data, client => server 19:01:58.795706 'USER anonymous\r\n' 19:01:58.795835 Received DATA (on stdin) 19:01:58.795845 > 33 bytes data, server => client 19:01:58.795854 '331 We are happy you popped in!\r\n' 19:01:58.795894 < 22 bytes data, client => server 19:01:58.795903 'PASS ftp@example.com\r\n' 19:01:58.795981 Received DATA (on stdin) 19:01:58.795991 > 30 bytes data, server => client 19:01:58.795999 '230 Welcome you silly person\r\n' 19:01:58.796034 < 5 bytes data, client => server 19:01:58.796042 'PWD\r\n' 19:01:58.796118 Received DATA (on stdin) 19:01:58.796127 > 30 bytes data, server => client 19:01:58.796135 '257 "/" is current directory\r\n' 19:01:58.796182 < 6 bytes data, client => server 19:01:58.796191 'EPSV\r\n' 19:01:58.797879 Received DATA (on stdin) 19:01:58.797894 > 39 bytes data, server => client 19:01:58.797906 '229 Entering Passive Mode (|||43917|)\r\n' 19:01:58.798035 < 8 bytes data, client => server 19:01:58.798054 'TYPE I\r\n' 19:01:58.798323 Received DATA (on stdin) 19:01:58.798338 > 33 bytes data, server => client 19:01:58.798349 '200 I modify TYPE as you wanted\r\n' 19:01:58.798413 < 21 bytes data, client => server 19:01:58.798426 'SIZE verifiedserver\r\n' 19:01:58.798543 Received DATA (on stdin) 19:01:58.798556 > 8 bytes data, server => client 19:01:58.798567 '213 17\r\n' 19:01:58.798620 < 21 bytes data, client => server 19:01:58.798633 'RETR verifiedserver\r\n' 19:01:58.798838 Received DATA (on stdin) 19:01:58.798861 > 29 bytes data, server => client 19:01:58.798873 '150 Binary junk (17 bytes).\r\n' 19:01:58.799257 Received DATA (on stdin) 19:01:58.799271 > 28 bytes data, server => client 19:01:58.799282 '226 File transfer complete\r\n' 19:01:58.840916 < 6 bytes data, client => server 19:01:58.840941 'QUIT\r\n' 19:01:58.841129 Received DATA (on stdin) 19:01:58.841140 > 18 bytes data, server => client 19:01:58.841149 '221 bye bye baby\r\n' 19:01:58.841380 ====> Client disconnect 19:01:58.841546 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:58.797420 Running IPv4 version 19:01:58.797470 Listening on port 43917 19:01:58.797611 Wrote pid 173400 to log/6/server/ftp_sockdata.pid 19:01:58.797638 Received PING (on stdin) 19:01:58.797723 Received PORT (on stdin) 19:01:58.798082 ====> Client connect 19:01:58.798841 Received DATA (on stdin) 19:01:58.798856 > 17 bytes data, server => client 19:01:58.798867 'WE ROOLZ: 80654\r\n' 19:01:58.798896 Received DISC (on stdin) 19:01:58.798908 ====> Client forcibly disconnected 19:01:58.799007 Received QUIT (on stdin) 19:01:58.799018 quits 19:01:58.799063 ============> sockfilt quits === End of file ftp_sockdata.log === Start of file server.cmd Testnum 2307 === End of file server.cmd === Start of file valgrind2307 ==173569== ==173569== Process terminating with default action of signal 4 (SIGILL) ==173569== Illegal opcode at address 0x4013E00 ==173569== at 0x4013E00: getparameter (tool_getparam.c:2846) ==173569== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173569== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==173569== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2307 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/20/valgrind2309 ./libtest/libtests lib2309 http://github.com log/20/netrc2309 http://127.0.0.1:38583/ > log/20/stdout2309 2> log/20/stderr2309 2309: 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 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/20/valgrind2309 ./libtest/libtests lib2309 http://github.com log/20/netrc2309 http://127.0.0.1:38583/ > log/20/stdout2309 2> log/20/stderr2309 === End of file commands.log === Start of file http_server.log 19:01:57.809726 ====> Client connect 19:01:57.809769 accept_connection 3 returned 4 19:01:57.809783 accept_connection 3 returned 0 19:01:57.809795 Read 93 bytes 19:01:57.809803 Process 93 bytes request 19:01:57.809814 Got request: GET /verifiedserver HTTP/1.1 19:01:57.809821 Are-we-friendly question received 19:01:57.809841 Wrote request (93 bytes) input to log/20/server.input 19:01:57.809854 Identifying ourselves as friends 19:01:57.809896 Response sent (56 bytes) and written to log/20/server.response 19:01:57.809904 special request received, no persistency 19:01:57.809912 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 49884 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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 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/5/valgrind3003 ../src/curl -q --output log/5/curl3003.out --include --trace-ascii log/5/trace3003 --trace-time smtp://127.0.0.1:45829/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/5/stdout3003 2> log/5/stderr3003 CMD (33792): ../libtool --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/valgrind3005 ../src/curl -q --output log/2/curl3005.out --include --trace-ascii log/2/trace3005 --trace-time smtp://127.0.0.1:37463/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/2/stdout3005 2> log/2/stderr3005 E ROOLZ: 74421 === End of file server.response === Start of file stderr2309 URL: http://github.com === End of file stderr2309 === Start of file valgrind2309 ==173469== ==173469== Process terminating with default action of signal 4 (SIGILL) ==173469== Illegal opcode at address 0x51D5F1F ==173469== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==173469== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==173469== by 0x51D5F1F: Curl_open (url.c:525) ==173469== by 0x514F6EF: curl_easy_init (easy.c:371) ==173469== by 0x4043BCF: UnknownInlinedFun (lib2309.c:42) ==173469== by 0x4043BCF: test_lib2309.lto_priv.0 (lib2309.c:35) ==173469== by 0x400347F: main (first.c:280) ==173469== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==173469== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==173469== by 0x51D5EBD: Curl_open (url.c:504) ==173469== by 0x514F6EF: curl_easy_init (easy.c:371) ==173469== by 0x4043BCF: UnknownInlinedFun (lib2309.c:42) ==173469== by 0x4043BCF: test_lib2309.lto_priv.0 (lib2309.c:35) ==173469== by 0x400347F: main (first.c:280) ==173469== === End of file valgrind2309 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/5/valgrind3003 ../src/curl -q --output log/5/curl3003.out --include --trace-ascii log/5/trace3003 --trace-time smtp://127.0.0.1:45829/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/5/stdout3003 2> log/5/stderr3003 3003: 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 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/5/valgrind3003 ../src/curl -q --output log/5/curl3003.out --include --trace-ascii log/5/trace3003 --trace-time smtp://127.0.0.1:45829/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/5/stdout3003 2> log/5/stderr3003 === End of file commands.log === Start of file server.cmd Testnum 3003 === End of file server.cmd === Start of file smtp_server.log 19:01:58.214937 ====> Client connect 19:01:58.215080 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:58.215359 < "EHLO verifiedserver" 19:01:58.215423 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:58.215953 < "HELP" 19:01:58.216007 > "214 WE ROOLZ: 124446[CR][LF]" 19:01:58.216024 return proof we are we 19:01:58.216280 < "QUIT" 19:01:58.216312 > "221 curl ESMTP server signing off[CR][LF]" 19:01:58.216677 MAIN sockfilt said DISC 19:01:58.216708 ====> Client disconnected 19:01:58.216775 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:57.986888 ====> Client connect 19:01:57.987144 Received DATA (on stdin) 19:01:57.987160 > 160 bytes data, server => client 19:01:57.987172 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:57.987184 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:57.987194 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:57.987271 < 21 bytes data, client => server 19:01:57.987284 'EHLO verifiedserver\r\n' 19:01:57.987725 Received DATA (on stdin) 19:01:57.987754 > 53 bytes data, server => client 19:01:57.987767 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:57.987850 < 6 bytes data, client => server 19:01:57.987862 'HELP\r\n' 19:01:57.988079 Received DATA (on stdin) 19:01:57.988093 > 22 bytes data, server => client 19:01:57.988104 '214 WE ROOLZ: 124446\r\n' 19:01:57.988226 < 6 bytes data, client => server 19:01:57.988240 'QUIT\r\n' 19:01:57.988362 Received DATA (on stdin) 19:01:57.988372 > 35 bytes data, server => client 19:01:57.988380 '221 curl ESMTP server signing off\r\n' 19:01:57.988674 ====> Client disconnect 19:01:57.988827 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 ==173948== ==173948== Process terminating with default action of signal 4 (SIGILL) ==173948== Illegal opcode at address 0x4013E00 ==173948== at 0x4013E00: getparameter (tool_getparam.c:2846) ==173948== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173948== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==173948== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3003 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/2/valgrind3005 ../src/curl -q --output log/2/curl3005.out --include --trace-ascii log/2/trace3005 --trace-time smtp://127.0.0.1:37463/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/2/stdout3005 2> log/2/stderr3005 3005: 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 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/2/valgrind3005 ../src/curl -q --output log/2/curl3005.out --include --trace-ascii log/2/trace3005 --trace-time smtp://127.0.0.1:37463/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/2/stdout3005 2> log/2/stderr3005 === End of file commands.log === Start of file server.cmd Testnum 3005 === End of file server.cmd === Start of file smtp_server.log 19:01:58.219770 ====> Client connect 19:01:58.219932 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:58.220351 < "EHLO verifiedserver" 19:01:58.220412 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:58.220606 < "HELP" 19:01:58.220652 > "214 WE ROOLZ: 124613[CR][LF]" 19:01:58.220668 return proof we are we 19:01:58.220914 < "QUIT" 19:01:58.220949 > "221 curl ESMTP server signing off[CR][LF]" 19:01:58.221640 MAIN sockfilt said DISC 19:01:58.221683 ====> Client disconnected 19:01:58.221750 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:57.991720 ====> Client connect 19:01:57.992060 Received DATA (on stdin) 19:01:57.992094 > 160 bytes data, server => client 19:01:57.992112 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:57.992124 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:57.992135 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:57.992224 < 21 bytes data, client => server 19:01:57.992240 'EHLO verifiedserver\r\n' 19:01:57.992467 Received DATA (on stdin) 19: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/4/valgrind3002 ../src/curl -q --output log/4/curl3002.out --include --trace-ascii log/4/trace3002 --trace-time smtp://127.0.0.1:44681/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/4/stdout3002 2> log/4/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/valgrind3004 ../src/curl -q --output log/10/curl3004.out --include --trace-ascii log/10/trace3004 --trace-time smtp://127.0.0.1:44353/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/10/stdout3004 2> log/10/stderr3004 1:57.992479 > 53 bytes data, server => client 19:01:57.992489 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:57.992543 < 6 bytes data, client => server 19:01:57.992555 'HELP\r\n' 19:01:57.992725 Received DATA (on stdin) 19:01:57.992738 > 22 bytes data, server => client 19:01:57.992749 '214 WE ROOLZ: 124613\r\n' 19:01:57.992868 < 6 bytes data, client => server 19:01:57.992882 'QUIT\r\n' 19:01:57.993003 Received DATA (on stdin) 19:01:57.993015 > 35 bytes data, server => client 19:01:57.993026 '221 curl ESMTP server signing off\r\n' 19:01:57.993625 ====> Client disconnect 19:01:57.993806 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 ==173971== ==173971== Process terminating with default action of signal 4 (SIGILL) ==173971== Illegal opcode at address 0x4013E00 ==173971== at 0x4013E00: getparameter (tool_getparam.c:2846) ==173971== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173971== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==173971== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3005 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/4/valgrind3002 ../src/curl -q --output log/4/curl3002.out --include --trace-ascii log/4/trace3002 --trace-time smtp://127.0.0.1:44681/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/4/stdout3002 2> log/4/stderr3002 3002: 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 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/4/valgrind3002 ../src/curl -q --output log/4/curl3002.out --include --trace-ascii log/4/trace3002 --trace-time smtp://127.0.0.1:44681/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/4/stdout3002 2> log/4/stderr3002 === End of file commands.log === Start of file server.cmd Testnum 3002 === End of file server.cmd === Start of file smtp_server.log 19:01:58.179571 ====> Client connect 19:01:58.179688 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:58.179918 < "EHLO verifiedserver" 19:01:58.179950 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:58.180079 < "HELP" 19:01:58.180102 > "214 WE ROOLZ: 124365[CR][LF]" 19:01:58.180115 return proof we are we 19:01:58.180310 < "QUIT" 19:01:58.180336 > "221 curl ESMTP server signing off[CR][LF]" 19:01:58.180936 MAIN sockfilt said DISC 19:01:58.180963 ====> Client disconnected 19:01:58.181022 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:57.951519 ====> Client connect 19:01:57.951747 Received DATA (on stdin) 19:01:57.951758 > 160 bytes data, server => client 19:01:57.951768 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:57.951776 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:57.951784 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:57.951847 < 21 bytes data, client => server 19:01:57.951857 'EHLO verifiedserver\r\n' 19:01:57.952000 Received DATA (on stdin) 19:01:57.952010 > 53 bytes data, server => client 19:01:57.952019 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:57.952060 < 6 bytes data, client => server 19:01:57.952068 'HELP\r\n' 19:01:57.952165 Received DATA (on stdin) 19:01:57.952177 > 22 bytes data, server => client 19:01:57.952186 '214 WE ROOLZ: 124365\r\n' 19:01:57.952279 < 6 bytes data, client => server 19:01:57.952292 'QUIT\r\n' 19:01:57.952389 Received DATA (on stdin) 19:01:57.952401 > 35 bytes data, server => client 19:01:57.952411 '221 curl ESMTP server signing off\r\n' 19:01:57.952938 ====> Client disconnect 19:01:57.953072 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 ==173850== ==173850== Process terminating with default action of signal 4 (SIGILL) ==173850== Illegal opcode at address 0x4013E00 ==173850== at 0x4013E00: getparameter (tool_getparam.c:2846) ==173850== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173850== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==173850== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3002 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/10/valgrind3004 ../src/curl -q --output log/10/curl3004.out --include --trace-ascii log/10/trace3004 --trace-time smtp://127.0.0.1:44353/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/10/stdout3004 2> log/10/stderr3004 3004: 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 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/10/valgrind3004 ../src/curl -q --output log/10/curl3004.out --include --trace-ascii log/10/trace3004 --trace-time smtp://127.0.0.1:44353/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/10/stdout3004 2> log/10/stderr3004 === End of file commands.log === Start of file server.cmd Testnum 3004 === End of file server.cmd === Start of file smtp_server.log 19:01:58.219059 ====> Client connect 19:01:58.219166 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:58.219384 < "EHLO verifiedserver" 19:01:58.219419 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:58.219558 < "HELP" 19:01:58.219583 > "214 WE ROOLZ: 124520[CR][LF]" 19:01:58.219594 return proof we are we 19:01:58.219770 < "QUIT" 19:01:58.219791 > "221 curl ESMTP server signing off[CR][LF]" 19:01:58.219915 MAIN sockfilt said DISC 19:01:58.219944 ====> Client disconnected 19:01:58.220028 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:57.991018 ====> Client connect 19:01:57.991225 Received DATA (on stdin) 19:01:57.991238 > 160 bytes data, server => client 19:01:57.991248 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:57.991256 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:57.991265 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\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/3/valgrind3006 ../src/curl -q --output log/3/curl3006.out --include --trace-ascii log/3/trace3006 --trace-time smtp://127.0.0.1:46705/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/3/stdout3006 2> log/3/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/13/valgrind2200 ../src/curl -q --output log/13/curl2200.out --include --trace log/13/trace2200 --trace-time mqtt://127.0.0.1:43105/2200 -u fakeuser:fakepasswd > log/13/stdout2200 2> log/13/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/14/valgrind2201 ../src/curl -q --output log/14/curl2201.out --include --trace log/14/trace2201 --trace-time mqtt://127.0.0.1:36799/2201 -d something -u testuser:testpasswd > log/14/stdout2201 2> log/14/stderr2201 \n' 19:01:57.991320 < 21 bytes data, client => server 19:01:57.991330 'EHLO verifiedserver\r\n' 19:01:57.991471 Received DATA (on stdin) 19:01:57.991481 > 53 bytes data, server => client 19:01:57.991490 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:57.991532 < 6 bytes data, client => server 19:01:57.991540 'HELP\r\n' 19:01:57.991641 Received DATA (on stdin) 19:01:57.991651 > 22 bytes data, server => client 19:01:57.991659 '214 WE ROOLZ: 124520\r\n' 19:01:57.991747 < 6 bytes data, client => server 19:01:57.991758 'QUIT\r\n' 19:01:57.991840 Received DATA (on stdin) 19:01:57.991849 > 35 bytes data, server => client 19:01:57.991860 '221 curl ESMTP server signing off\r\n' 19:01:57.991914 ====> Client disconnect 19:01:57.992064 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 ==173958== ==173958== Process terminating with default action of signal 4 (SIGILL) ==173958== Illegal opcode at address 0x4013E00 ==173958== at 0x4013E00: getparameter (tool_getparam.c:2846) ==173958== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==173958== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==173958== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3004 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/3/valgrind3006 ../src/curl -q --output log/3/curl3006.out --include --trace-ascii log/3/trace3006 --trace-time smtp://127.0.0.1:46705/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/3/stdout3006 2> log/3/stderr3006 3006: 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 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/3/valgrind3006 ../src/curl -q --output log/3/curl3006.out --include --trace-ascii log/3/trace3006 --trace-time smtp://127.0.0.1:46705/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/3/stdout3006 2> log/3/stderr3006 === End of file commands.log === Start of file server.cmd Testnum 3006 === End of file server.cmd === Start of file smtp_server.log 19:01:58.299828 ====> Client connect 19:01:58.300003 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:58.300338 < "EHLO verifiedserver" 19:01:58.300389 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:58.300585 < "HELP" 19:01:58.300621 > "214 WE ROOLZ: 124528[CR][LF]" 19:01:58.300638 return proof we are we 19:01:58.300888 < "QUIT" 19:01:58.300917 > "221 curl ESMTP server signing off[CR][LF]" 19:01:58.301881 MAIN sockfilt said DISC 19:01:58.301910 ====> Client disconnected 19:01:58.301983 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:58.071736 ====> Client connect 19:01:58.072078 Received DATA (on stdin) 19:01:58.072097 > 160 bytes data, server => client 19:01:58.072110 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:58.072122 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:58.072133 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:58.072222 < 21 bytes data, client => server 19:01:58.072239 'EHLO verifiedserver\r\n' 19:01:58.072450 Received DATA (on stdin) 19:01:58.072464 > 53 bytes data, server => client 19:01:58.072477 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:58.072536 < 6 bytes data, client => server 19:01:58.072550 'HELP\r\n' 19:01:58.072691 Received DATA (on stdin) 19:01:58.072704 > 22 bytes data, server => client 19:01:58.072716 '214 WE ROOLZ: 124528\r\n' 19:01:58.072820 < 6 bytes data, client => server 19:01:58.072836 'QUIT\r\n' 19:01:58.072972 Received DATA (on stdin) 19:01:58.072985 > 35 bytes data, server => client 19:01:58.072997 '221 curl ESMTP server signing off\r\n' 19:01:58.073881 ====> Client disconnect 19:01:58.074038 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 ==174137== ==174137== Process terminating with default action of signal 4 (SIGILL) ==174137== Illegal opcode at address 0x4013E00 ==174137== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174137== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174137== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174137== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3006 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 173146 on PORT 43105 * pid mqtt => 173146 173146 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/13/valgrind2200 ../src/curl -q --output log/13/curl2200.out --include --trace log/13/trace2200 --trace-time mqtt://127.0.0.1:43105/2200 -u fakeuser:fakepasswd > log/13/stdout2200 2> log/13/stderr2200 2200: 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 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/13/valgrind2200 ../src/curl -q --output log/13/curl2200.out --include --trace log/13/trace2200 --trace-time mqtt://127.0.0.1:43105/2200 -u fakeuser:fakepasswd > log/13/stdout2200 2> log/13/stderr2200 === End of file commands.log === Start of file mqtt_server.log 19:01:57.191351 Running IPv4 version 19:01:57.191409 Listening on port 43105 19:01:57.191446 Wrote pid 173146 to log/13/server/mqtt_server.pid 19:01:57.191476 Wrote port 43105 to log/13/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 5 Testnum 2200 === End of file server.cmd === Start of file valgrind2200 ==174199== ==174199== Process terminating with default action of signal 4 (SIGILL) ==174199== Illegal opcode at address 0x4013E00 ==174199== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174199== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174199== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174199== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2200 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 173175 on PORT 36799 * pid mqtt => 173175 173175 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/14/valgrind2201 ../src/curl -q --output log/14/curl2201.out --include --trace log/14/trace2201 --tracCMD (33792): ../libtool --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/valgrind3007 ../src/curl -q --output log/8/curl3007.out --include --trace-ascii log/8/trace3007 --trace-time smtp://127.0.0.1:44579/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/8/stdout3007 2> log/8/stderr3007 CMD (33792): ../libtool --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/valgrind2202 ../src/curl -q --output log/23/curl2202.out --include --trace log/23/trace2202 --trace-time mqtt://127.0.0.1:38945/2202 -d something -u fakeuser:fakepasswd > log/23/stdout2202 2> log/23/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/12/valgrind3008 ../src/curl -q --trace-ascii log/12/trace3008 --trace-time http://127.0.0.1:46819/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/12 > log/12/stdout3008 2> log/12/stderr3008 e-time mqtt://127.0.0.1:36799/2201 -d something -u testuser:testpasswd > log/14/stdout2201 2> log/14/stderr2201 2201: 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 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/14/valgrind2201 ../src/curl -q --output log/14/curl2201.out --include --trace log/14/trace2201 --trace-time mqtt://127.0.0.1:36799/2201 -d something -u testuser:testpasswd > log/14/stdout2201 2> log/14/stderr2201 === End of file commands.log === Start of file mqtt_server.log 19:01:57.228830 Running IPv4 version 19:01:57.228891 Listening on port 36799 19:01:57.228928 Wrote pid 173175 to log/14/server/mqtt_server.pid 19:01:57.228956 Wrote port 36799 to log/14/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 ==174250== ==174250== Process terminating with default action of signal 4 (SIGILL) ==174250== Illegal opcode at address 0x4013E00 ==174250== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174250== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174250== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174250== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2201 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/8/valgrind3007 ../src/curl -q --output log/8/curl3007.out --include --trace-ascii log/8/trace3007 --trace-time smtp://127.0.0.1:44579/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/8/stdout3007 2> log/8/stderr3007 3007: 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 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/8/valgrind3007 ../src/curl -q --output log/8/curl3007.out --include --trace-ascii log/8/trace3007 --trace-time smtp://127.0.0.1:44579/3007 --mail-rcpt-allowfails --mail-rcpt invalid.one --mail-from sender@example.com -T - log/8/stdout3007 2> log/8/stderr3007 === End of file commands.log === Start of file server.cmd Testnum 3007 === End of file server.cmd === Start of file smtp_server.log 19:01:58.635177 ====> Client connect 19:01:58.635378 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:58.635686 < "EHLO verifiedserver" 19:01:58.635726 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:01:58.635890 < "HELP" 19:01:58.635918 > "214 WE ROOLZ: 124454[CR][LF]" 19:01:58.635932 return proof we are we 19:01:58.636120 < "QUIT" 19:01:58.636146 > "221 curl ESMTP server signing off[CR][LF]" 19:01:58.636840 MAIN sockfilt said DISC 19:01:58.636866 ====> Client disconnected 19:01:58.636927 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:01:58.407115 ====> Client connect 19:01:58.407438 Received DATA (on stdin) 19:01:58.407470 > 160 bytes data, server => client 19:01:58.407484 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:58.407496 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:58.407506 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:58.407585 < 21 bytes data, client => server 19:01:58.407597 'EHLO verifiedserver\r\n' 19:01:58.407782 Received DATA (on stdin) 19:01:58.407795 > 53 bytes data, server => client 19:01:58.407807 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:01:58.407859 < 6 bytes data, client => server 19:01:58.407871 'HELP\r\n' 19:01:58.407983 Received DATA (on stdin) 19:01:58.407995 > 22 bytes data, server => client 19:01:58.408006 '214 WE ROOLZ: 124454\r\n' 19:01:58.408092 < 6 bytes data, client => server 19:01:58.408104 'QUIT\r\n' 19:01:58.408214 Received DATA (on stdin) 19:01:58.408233 > 35 bytes data, server => client 19:01:58.408245 '221 curl ESMTP server signing off\r\n' 19:01:58.408845 ====> Client disconnect 19:01:58.408978 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 ==174340== ==174340== Process terminating with default action of signal 4 (SIGILL) ==174340== Illegal opcode at address 0x4013E00 ==174340== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174340== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174340== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174340== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3007 startnew: ./server/servers mqttd --port 0 --pidfile log/23/server/mqtt_server.pid --portfile log/23/server/mqtt_server.port --config log/23/server.cmd --logfile log/23/mqtt_server.log --logdir log/23 RUN: MQTT server is now running PID 173242 on PORT 38945 * pid mqtt => 173242 173242 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/23/valgrind2202 ../src/curl -q --output log/23/curl2202.out --include --trace log/23/trace2202 --trace-time mqtt://127.0.0.1:38945/2202 -d something -u fakeuser:fakepasswd > log/23/stdout2202 2> log/23/stderr2202 2202: 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 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/23/valgrind2202 ../src/curl -q --output log/23/curl2202.out --include --trace log/23/trace2202 --trace-time mqtt://127.0.0.1:38945/2202 -d something -u fakeuser:fakepasswd > log/23/stdout2202 2> log/23/stderr2202 === End of file commands.log === Start of file mqtt_server.log 19:01:57.538041 Running IPv4 version 19:01:57.538102 Listening on port 38945 19:01:57.538136 Wrote pid 173242 to log/23/server/mqtt_server.pid 19:01:57.538165 Wrote port 38945 to log/23/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd error-CONNACK 5 Testnum 2202 === End of file server.cmd === Start of file valgrind2202 ==174522== ==174522== Process terminating with default action of signal 4 (SIGILL) ==174522== Illegal opcode at address 0x4013E00 ==174522== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174522== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174522== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174522== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2202 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/12/valgrind3008 ../src/curl -q --trace-ascii log/12/trace3008 --trace-time http://127.0.0.1:46819/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/12 > log/12/stdout3008 2> log/12/stderr3008 3008: 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 3008 === Start of file comCMD (33792): ../libtool --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/valgrind3013 ../src/curl -q --trace-ascii log/11/trace3013 --trace-time http://127.0.0.1:33847/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/11 http://127.0.0.1:33847/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/11 > log/11/stdout3013 2> log/11/stderr3013 CMD (33792): ../libtool --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/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:41017/3010 > log/7/stdout3010 2> log/7/stderr3010 mands.log ../libtool --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/valgrind3008 ../src/curl -q --trace-ascii log/12/trace3008 --trace-time http://127.0.0.1:46819/this/is/the/3008 -O --output-dir /startdir/src/build-curl/tests/log/12 > log/12/stdout3008 2> log/12/stderr3008 === End of file commands.log === Start of file http_server.log 19:01:58.426775 ====> Client connect 19:01:58.426810 accept_connection 3 returned 4 19:01:58.426827 accept_connection 3 returned 0 19:01:58.426843 Read 93 bytes 19:01:58.426854 Process 93 bytes request 19:01:58.426868 Got request: GET /verifiedserver HTTP/1.1 19:01:58.426878 Are-we-friendly question received 19:01:58.426902 Wrote request (93 bytes) input to log/12/server.input 19:01:58.426919 Identifying ourselves as friends 19:01:58.426972 Response sent (56 bytes) and written to log/12/server.response 19:01:58.426983 special request received, no persistency 19:01:58.426993 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 53242 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind3008 ==174375== ==174375== Process terminating with default action of signal 4 (SIGILL) ==174375== Illegal opcode at address 0x4013E00 ==174375== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174375== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174375== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174375== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3008 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/11/valgrind3013 ../src/curl -q --trace-ascii log/11/trace3013 --trace-time http://127.0.0.1:33847/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/11 http://127.0.0.1:33847/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/11 > log/11/stdout3013 2> log/11/stderr3013 3013: 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 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/11/valgrind3013 ../src/curl -q --trace-ascii log/11/trace3013 --trace-time http://127.0.0.1:33847/this/is/the/3013 -O --output-dir /startdir/src/build-curl/tests/log/11 http://127.0.0.1:33847/another/3013 -o second3013 --output-dir /startdir/src/build-curl/tests/log/11 > log/11/stdout3013 2> log/11/stderr3013 === End of file commands.log === Start of file http_server.log 19:01:59.577635 ====> Client connect 19:01:59.577700 accept_connection 3 returned 4 19:01:59.577719 accept_connection 3 returned 0 19:01:59.577735 Read 93 bytes 19:01:59.577746 Process 93 bytes request 19:01:59.577760 Got request: GET /verifiedserver HTTP/1.1 19:01:59.577770 Are-we-friendly question received 19:01:59.577794 Wrote request (93 bytes) input to log/11/server.input 19:01:59.577811 Identifying ourselves as friends 19:01:59.577885 Response sent (57 bytes) and written to log/11/server.response 19:01:59.577896 special request received, no persistency 19:01:59.577906 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33847... * Established connection to 127.0.0.1 (127.0.0.1 port 33847) from 127.0.0.1 port 36078 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33847 > User-Agent: curl/8.17.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:33847 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 169363 === 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: 18 WE ROOLZ: 169363 === End of file server.response === Start of file valgrind3013 ==174728== ==174728== Process terminating with default action of signal 4 (SIGILL) ==174728== Illegal opcode at address 0x4013E00 ==174728== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174728== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174728== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174728== by 0x40037A4: 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/9/valgrind3009 ../src/curl -q --trace-ascii log/9/trace3009 --trace-time http://127.0.0.1:38373/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/9/stdout3009 2> log/9/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/19/valgrind3011 ../src/curl -q --trace-ascii log/19/trace3011 --trace-time http://127.0.0.1:41761/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/19/tmp --create-dirs > log/19/stdout3011 2> log/19/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/7/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:41017/3010 > log/7/stdout3010 2> log/7/stderr3010 3010: stdout FAILED: --- log/7/check-expected 2025-11-13 19:01:59.612725118 +0000 +++ log/7/check-generated 2025-11-13 19:01:59.612725118 +0000 @@ -1,2 +0,0 @@ -Retry-After 2[LF] -Retry-After 0[LF] == Contents of files in the log/7/ 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/7/valgrind3010 ./libtest/libtests lib3010 127.0.0.1:41017/3010 > log/7/stdout3010 2> log/7/stderr3010 === End of file commands.log === Start of file http_server.log 19:01:58.547270 ====> Client connect 19:01:58.547303 accept_connection 3 returned 4 19:01:58.547321 accept_connection 3 returned 0 19:01:58.547335 Read 93 bytes 19:01:58.547345 Process 93 bytes request 19:01:58.547360 Got request: GET /verifiedserver HTTP/1.1 19:01:58.547369 Are-we-friendly question received 19:01:58.547395 Wrote request (93 bytes) input to log/7/server.input 19:01:58.547412 Identifying ourselves as friends 19:01:58.547482 Response sent (56 bytes) and written to log/7/server.response 19:01:58.547494 special request received, no persistency 19:01:58.547503 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 57116 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file stderr3010 URL: 127.0.0.1:41017/3010 === End of file stderr3010 === Start of file valgrind3010 ==174580== ==174580== Process terminating with default action of signal 4 (SIGILL) ==174580== Illegal opcode at address 0x51D5F1F ==174580== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==174580== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==174580== by 0x51D5F1F: Curl_open (url.c:525) ==174580== by 0x514F6EF: curl_easy_init (easy.c:371) ==174580== by 0x4047879: test_lib3010.lto_priv.0 (lib3010.c:36) ==174580== by 0x400347F: main (first.c:280) ==174580== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==174580== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==174580== by 0x51D5EBD: Curl_open (url.c:504) ==174580== by 0x514F6EF: curl_easy_init (easy.c:371) ==174580== by 0x4047879: test_lib3010.lto_priv.0 (lib3010.c:36) ==174580== by 0x400347F: main (first.c:280) ==174580== === 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/9/valgrind3009 ../src/curl -q --trace-ascii log/9/trace3009 --trace-time http://127.0.0.1:38373/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/9/stdout3009 2> log/9/stderr3009 3009: 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 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/9/valgrind3009 ../src/curl -q --trace-ascii log/9/trace3009 --trace-time http://127.0.0.1:38373/this/is/the/3009 -O --output-dir /startdir/src/build-curl/tests/not-there > log/9/stdout3009 2> log/9/stderr3009 === End of file commands.log === Start of file http_server.log 19:01:58.523589 ====> Client connect 19:01:58.523619 accept_connection 3 returned 4 19:01:58.523635 accept_connection 3 returned 0 19:01:58.523648 Read 93 bytes 19:01:58.523658 Process 93 bytes request 19:01:58.523670 Got request: GET /verifiedserver HTTP/1.1 19:01:58.523679 Are-we-friendly question received 19:01:58.523699 Wrote request (93 bytes) input to log/9/server.input 19:01:58.523714 Identifying ourselves as friends 19:01:58.523759 Response sent (57 bytes) and written to log/9/server.response 19:01:58.523769 special request received, no persistency 19:01:58.523777 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38373... * Established connection to 127.0.0.1 (127.0.0.1 port 38373) from 127.0.0.1 port 39562 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38373 > User-Agent: curl/8.17.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:38373 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159573 === 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: 18 WE ROOLZ: 159573 === End of file server.response === Start of file valgrind3009 ==174474== ==174474== Process terminating with default action of signal 4 (SIGILL) ==174474== Illegal opcode at address 0x4013E00 ==174474== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174474== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174474== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174474== by 0x40037A4: 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/19/valgrind3011 ../src/curl -q --trace-ascii log/19/trace3011 --trace-time http://127.0.0.1:41761/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/19/tmp --create-dirs > log/19/stdout3011 2> log/19/stderr3011 3011: 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 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/19/valgrind3011 ../src/curl -q --trace-ascii log/19/trace3011 --trace-time http://127.0.0.1:41761/this/is/the/3011 -O --output-dir /startdir/src/build-curl/tests/log/19/tmp --create-dirs > log/19/stdout3011 2> log/19/stderr3011 === End of file commands.log === Start of file http_server.log 19:01:58.549041 ====> Client connect 19:01:58.549075 accept_connection 3 returned 4 19:01:58.549093 accept_connection 3 returned 0 19:01:58.549108 Read 93 bytes 19:01:58.549118 Process 93 bytes request 19:01:58.549132 Got request: GET /verifiedserver HTTP/1.1 19:01:58.549141 Are-we-friendly question received 19:01:58.549164 Wrote request (93 bytes) input to log/19/server.input 19:01:58.549180 Identifying ourselves as friends 19:01:58.549230 Response sent (56 bytes) and written to log/19/server.response 19:01:58.549240 special request received, no persistency 19:01:58.549249 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 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/24/valgrind3012 ../src/curl -q --trace-ascii log/24/trace3012 --trace-time http://127.0.0.1:39383/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/24 > log/24/stdout3012 2> log/24/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/6/valgrind3015 ../src/curl -q --include --trace-ascii log/6/trace3015 --trace-time http://127.0.0.1:41595/3015 -w "%{num_headers}\n" -L -o/dev/null > log/6/stdout3015 2> log/6/stderr3015 0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 39908 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === 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: 74422 === End of file server.response === Start of file valgrind3011 ==174582== ==174582== Process terminating with default action of signal 4 (SIGILL) ==174582== Illegal opcode at address 0x4013E00 ==174582== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174582== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174582== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174582== by 0x40037A4: 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/24/valgrind3012 ../src/curl -q --trace-ascii log/24/trace3012 --trace-time http://127.0.0.1:39383/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/24 > log/24/stdout3012 2> log/24/stderr3012 3012: 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 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/24/valgrind3012 ../src/curl -q --trace-ascii log/24/trace3012 --trace-time http://127.0.0.1:39383/this/is/the/3012 -OJR --output-dir /startdir/src/build-curl/tests/log/24 > log/24/stdout3012 2> log/24/stderr3012 === End of file commands.log === Start of file http_server.log 19:01:58.553147 ====> Client connect 19:01:58.553182 accept_connection 3 returned 4 19:01:58.553200 accept_connection 3 returned 0 19:01:58.553215 Read 93 bytes 19:01:58.553226 Process 93 bytes request 19:01:58.553239 Got request: GET /verifiedserver HTTP/1.1 19:01:58.553249 Are-we-friendly question received 19:01:58.553275 Wrote request (93 bytes) input to log/24/server.input 19:01:58.553293 Identifying ourselves as friends 19:01:58.553348 Response sent (56 bytes) and written to log/24/server.response 19:01:58.553359 special request received, no persistency 19:01:58.553369 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) from 127.0.0.1 port 35724 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === 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: 17 WE ROOLZ: 74417 === End of file server.response === Start of file valgrind3012 ==174579== ==174579== Process terminating with default action of signal 4 (SIGILL) ==174579== Illegal opcode at address 0x4013E00 ==174579== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174579== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174579== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174579== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3012 CMD (33792): ../libtool --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/valgrind3014 ../src/curl -q --include --trace-ascii log/16/trace3014 --trace-time http://127.0.0.1:42747/1439 --write-out '%{num_headers}' > log/16/stdout3014 2> log/16/stderr3014 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/6/valgrind3015 ../src/curl -q --include --trace-ascii log/6/trace3015 --trace-time http://127.0.0.1:41595/3015 -w "%{num_headers}\n" -L -o/dev/null > log/6/stdout3015 2> log/6/stderr3015 3015: stdout FAILED: --- log/6/check-expected 2025-11-13 19:01:59.739391785 +0000 +++ log/6/check-generated 2025-11-13 19:01:59.739391785 +0000 @@ -1 +0,0 @@ -4[CR][LF] == Contents of files in the log/6/ 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/6/valgrind3015 ../src/curl -q --include --trace-ascii log/6/trace3015 --trace-time http://127.0.0.1:41595/3015 -w "%{num_headers}\n" -L -o/dev/null > log/6/stdout3015 2> log/6/stderr3015 === End of file commands.log === Start of file http_server.log 19:01:58.659040 ====> Client connect 19:01:58.659075 accept_connection 3 returned 4 19:01:58.659093 accept_connection 3 returned 0 19:01:58.659109 Read 93 bytes 19:01:58.659119 Process 93 bytes request 19:01:58.659132 Got request: GET /verifiedserver HTTP/1.1 19:01:58.659142 Are-we-friendly question received 19:01:58.659166 Wrote request (93 bytes) input to log/6/server.input 19:01:58.659182 Identifying ourselves as friends 19:01:58.659250 Response sent (56 bytes) and written to log/6/server.response 19:01:58.659260 special request received, no persistency 19:01:58.659269 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41595... * Established connection to 127.0.0.1 (127.0.0.1 port 41595) from 127.0.0.1 port 46424 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41595 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41595 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76270 === 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: 17 WE ROOLZ: 76270 === End of file server.response === Start of file valgrind3015 ==174923== ==174923== Process terminating with default action of signal 4 (SIGILL) ==174923== Illegal opcode at address 0x4013E00 ==174923== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174923== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174923== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174923== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3015 CMD (33792): ../libtool --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/valgrind3016 ../src/curl -q --output log/20/curl3016.out --include --trace-ascii log/20/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/20/stdout3016 2> log/20/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/4/valgrind3019 ../src/curl -q --output log/4/curl3019.out --include --trace-ascii log/4/trace3019 --trace-time --resolve 37985:example.com:127.0.0.1 http://example.com:37985/3019 > log/4/stdout3019 2> log/4/stderr3019 CMD (33792): ../libtool --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/valgrind2205 ../src/curl -q --output log/18/curl2205.out --include --trace log/18/trace2205 --trace-time mqtt://127.0.0.1:44149/2205 -K log/18/input2205 > log/18/stdout2205 2> log/18/stderr2205 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/16/valgrind3014 ../src/curl -q --include --trace-ascii log/16/trace3014 --trace-time http://127.0.0.1:42747/1439 --write-out '%{num_headers}' > log/16/stdout3014 2> log/16/stderr3014 3014: stdout FAILED: --- log/16/check-expected 2025-11-13 19:01:59.746058452 +0000 +++ log/16/check-generated 2025-11-13 19:01:59.746058452 +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/16/ 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/16/valgrind3014 ../src/curl -q --include --trace-ascii log/16/trace3014 --trace-time http://127.0.0.1:42747/1439 --write-out '%{num_headers}' > log/16/stdout3014 2> log/16/stderr3014 === End of file commands.log === Start of file http_server.log 19:01:59.621789 ====> Client connect 19:01:59.621820 accept_connection 3 returned 4 19:01:59.621835 accept_connection 3 returned 0 19:01:59.621848 Read 93 bytes 19:01:59.621858 Process 93 bytes request 19:01:59.621870 Got request: GET /verifiedserver HTTP/1.1 19:01:59.621878 Are-we-friendly question received 19:01:59.621900 Wrote request (93 bytes) input to log/16/server.input 19:01:59.621916 Identifying ourselves as friends 19:01:59.622046 Response sent (56 bytes) and written to log/16/server.response 19:01:59.622062 special request received, no persistency 19:01:59.622073 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 40348 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file valgrind3014 ==174834== ==174834== Process terminating with default action of signal 4 (SIGILL) ==174834== Illegal opcode at address 0x4013E00 ==174834== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174834== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174834== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174834== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3014 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/20/valgrind3016 ../src/curl -q --output log/20/curl3016.out --include --trace-ascii log/20/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/20/stdout3016 2> log/20/stderr3016 curl returned 132, when expecting 0 3016: exit FAILED == Contents of files in the log/20/ 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/20/valgrind3016 ../src/curl -q --output log/20/curl3016.out --include --trace-ascii log/20/trace3016 --trace-time file:///startdir/src/build-curl/tests/ > log/20/stdout3016 2> log/20/stderr3016 === End of file commands.log === Start of file server.cmd Testnum 3016 === End of file server.cmd === Start of file valgrind3016 ==174876== ==174876== Process terminating with default action of signal 4 (SIGILL) ==174876== Illegal opcode at address 0x4013E00 ==174876== at 0x4013E00: getparameter (tool_getparam.c:2846) ==174876== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==174876== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==174876== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3016 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/4/valgrind3019 ../src/curl -q --output log/4/curl3019.out --include --trace-ascii log/4/trace3019 --trace-time --resolve 37985:example.com:127.0.0.1 http://example.com:37985/3019 > log/4/stdout3019 2> log/4/stderr3019 curl returned 132, when expecting 49 3019: exit FAILED == Contents of files in the log/4/ 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/4/valgrind3019 ../src/curl -q --output log/4/curl3019.out --include --trace-ascii log/4/trace3019 --trace-time --resolve 37985:example.com:127.0.0.1 http://example.com:37985/3019 > log/4/stdout3019 2> log/4/stderr3019 === End of file commands.log === Start of file http_server.log 19:01:59.869351 ====> Client connect 19:01:59.869381 accept_connection 3 returned 4 19:01:59.869398 accept_connection 3 returned 0 19:01:59.869413 Read 93 bytes 19:01:59.869424 Process 93 bytes request 19:01:59.869440 Got request: GET /verifiedserver HTTP/1.1 19:01:59.869450 Are-we-friendly question received 19:01:59.869474 Wrote request (93 bytes) input to log/4/server.input 19:01:59.869490 Identifying ourselves as friends 19:01:59.869540 Response sent (56 bytes) and written to log/4/server.response 19:01:59.869550 special request received, no persistency 19:01:59.869560 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 38152 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file valgrind3019 ==175091== ==175091== Process terminating with default action of signal 4 (SIGILL) ==175091== Illegal opcode at address 0x4013E00 ==175091== at 0x4013E00: getparameter (tool_getparam.c:2846) ==175091== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175091== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==175091== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3019 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 173354 on PORT 44149 * pid mqtt => 173354 173354 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/18/valgrind2205 ../src/curl -q --output log/18/curl2205.out --include --trace log/18/trace2205 --trace-time mqtt://127.0.0.1:44149/2205 -K log/18/input2205 > log/18/stdout2205 2> log/18/stderr2205 curl returned 132, when expecting 8 2205: exit FAILED == Contents of files in the log/18/ 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/18/valgrind2205 ../src/curl -q --output log/18/curl2205.out --include --trace log/18/trace2205 --trace-time mqtt://127.0.0.1:44149/2205 -K log/18/input2205 > log/18/stdout2205 2> log/18/stderr2205 === End of file commands.log === Start of file input2205 user = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaCMD (33792): ../libtool --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/valgrind3020 ../src/curl -q --output log/10/curl3020.out --include --trace-ascii log/10/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:37879/3020 > log/10/stdout3020 2> log/10/stderr3020 CMD (33792): ../libtool --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/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:46261/3025 > log/3/stdout3025 2> log/3/stderr3025 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:fakepasswd === End of file input2205 === Start of file mqtt_server.log 19:01:57.772234 Running IPv4 version 19:01:57.772336 Listening on port 44149 19:01:57.772374 Wrote pid 173354 to log/18/server/mqtt_server.pid 19:01:57.772404 Wrote port 44149 to log/18/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 ==175003== ==175003== Process terminating with default action of signal 4 (SIGILL) ==175003== Illegal opcode at address 0x4013E00 ==175003== at 0x4013E00: getparameter (tool_getparam.c:2846) ==175003== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175003== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==175003== by 0x40037A4: main (tool_main.c:199) === End of file valgrind2205 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/10/valgrind3020 ../src/curl -q --output log/10/curl3020.out --include --trace-ascii log/10/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:37879/3020 > log/10/stdout3020 2> log/10/stderr3020 curl returned 132, when expecting 49 3020: exit FAILED == Contents of files in the log/10/ 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/10/valgrind3020 ../src/curl -q --output log/10/curl3020.out --include --trace-ascii log/10/trace3020 --trace-time --connect-to ::example.com:example.com http://example.com:37879/3020 > log/10/stdout3020 2> log/10/stderr3020 === End of file commands.log === Start of file http_server.log 19:01:58.873204 ====> Client connect 19:01:58.873230 accept_connection 3 returned 4 19:01:58.873243 accept_connection 3 returned 0 19:01:58.873255 Read 93 bytes 19:01:58.873264 Process 93 bytes request 19:01:58.873274 Got request: GET /verifiedserver HTTP/1.1 19:01:58.873282 Are-we-friendly question received 19:01:58.873301 Wrote request (93 bytes) input to log/10/server.input 19:01:58.873316 Identifying ourselves as friends 19:01:58.873358 Response sent (56 bytes) and written to log/10/server.response 19:01:58.873367 special request received, no persistency 19:01:58.873375 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37879... * Established connection to 127.0.0.1 (127.0.0.1 port 37879) from 127.0.0.1 port 49604 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37879 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37879 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74578 === 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: 74578 === End of file server.response === Start of file valgrind3020 ==175097== ==175097== Process terminating with default action of signal 4 (SIGILL) ==175097== Illegal opcode at address 0x4013E00 ==175097== at 0x4013E00: getparameter (tool_getparam.c:2846) ==175097== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175097== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==175097== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3020 CMD (33792): ../libtool --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/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:44055/3027 > log/14/stdout3027 2> log/14/stderr3027 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/3/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:46261/3025 > log/3/stdout3025 2> log/3/stderr3025 3025: data FAILED: --- log/3/check-expected 2025-11-13 19:02:00.046058455 +0000 +++ log/3/check-generated 2025-11-13 19:02:00.046058455 +0000 @@ -1,4 +0,0 @@ -ICY 200 OK[LF] -Content-Length: 7[LF] -[LF] -MooMoo[LF] == Contents of files in the log/3/ 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/3/valgrind3025 ./libtest/libtests lib3025 http://127.0.0.1:46261/3025 > log/3/stdout3025 2> log/3/stderr3025 === End of file commands.log === Start of file http_server.log 19:01:59.922081 ====> Client connect 19:01:59.922112 accept_connection 3 returned 4 19:01:59.922129 accept_connection 3 returned 0 19:01:59.922144 Read 93 bytes 19:01:59.922154 Process 93 bytes request 19:01:59.922167 Got request: GET /verifiedserver HTTP/1.1 19:01:59.922177 Are-we-friendly question received 19:01:59.922201 Wrote request (93 bytes) input to log/3/server.input 19:01:59.922217 Identifying ourselves as friends 19:01:59.922269 Response sent (56 bytes) and written to log/3/server.response 19:01:59.922280 special request received, no persistency 19:01:59.922289 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 43368 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file stderr3025 URL: http://127.0.0.1:46261/3025 === End of file stderr3025 === Start of file valgrind3025 ==175204== ==175204== Process terminating with default action of signal 4 (SIGILL) ==175204== Illegal opcode at address 0x51D5F1F ==175204== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==175204== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==175204== by 0x51D5F1F: Curl_open (url.c:525) ==175204== by 0x514F6EF: curl_easy_init (easy.c:371) ==175204== by 0x4043FCC: test_lib3025.lto_priv.0 (lib3025.c:39) ==175204== by 0x400347F: main (first.c:280) ==175204== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==175204== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==175204== by 0x51D5EBD: Curl_open (url.c:504) ==175204== by 0x514F6EF: curl_easy_init (easy.c:371) ==175204== by 0x4043FCC: test_lib3025.lto_priv.0 (lib3025.c:39) ==175204== by 0x400347F: main (first.c:280) ==175204== === End of file valgrind3025 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/14/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:44055/3027 > log/14/stdout3027 2> log/14/stderr3027 3027: 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 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/14/valgrind3027 ./libtest/libtests lib3027 ftp://127.0.0.1:44055/3027 > log/14/stdout3027 2> log/14/stderr3027 === End of file commands.log === Start of file ftp_server.log 19:01:59.308850 ====> Client connect 19:01:59.309038 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:01:59.309329 < "USER anonymous" 19:01:59.309361 > "331 We are happy you popped in![CR][LF]" 19:01:59.309515 < "PASS ftp@example.com" 19:01:59.309541 > "230 Welcome you silly person[CR][LF]" 19:01:59.309679 < "PWD" 19:01:59.309706 > "257 "/" is current directory[CR][LF]" 19:01:59.309849 < "EPSV" 19:01:59.309876 ====> Passive DATA channel requested by client 19:01:59.309888 DATA sockfilt for passive data channel starting... 19:01:59.311685 DATA sockfilt for passive data channel started (pid 175313) 19:01:59.311784 DATA sockfilt for passive data channel listens on port 41103 19:01:59.311826 > "229 Entering Passive Mode (|||41103|)[CR][LF]" 19:01:59.311843 Client has been notified that DATA conn will be accepted on port 41103 19:01:59.312061 Client connects to port 41103 19:01:59.312091 ====> Client established passive DATA connection on port 41103 19:01:59.312158 < "TYPE I" 19:01:59.312183 > "200 I modify TYPE as you wanted[CR][LF]" 19:01:59.312360 < "SIZE verifiedserver" 19:01:59.312403 > "213 18[CR][LF]" 19:01:59.312563 < "RETR verifiedserver" 19:01:59.312595 > "150 Binary junk (18 bytes).[CR][LF]" 19:01:59.312689 =====> Closing passive DATA connection... 19:01:59.312706 Server disconnects passive DATA connection 19:01:59.312781 Server disconnected passive DATA connection 19:01:59.312800 DATA sockfilt for passive data channel quits (pid 175313) 19:01:59.313008 DATA sockfilt for passive data channel quit (pid 175313) 19:01:59.313037 =====> Closed passive DATA connection 19:01:59.313065 > "226 File transfer complete[CR][LF]" 19:01:59.359102 < "QUIT" 19:01:59.359157 > "221 bye bye baby[CR][LF]" 19:01:59.360132 MAIN sockfilt said DISC 19:01:59.360158 ====> Client disconnected 19:01:59.360248 Awaiting input === End of file ftp_server.log === Start of file ftp_sockctrl.log 19:01:59.080739 ====> Client connect 19:01:59.081103 Received DATA (on stdin) 19:01:59.081117 > 160 bytes data, server => client 19:01:59.081130 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:01:59.081145 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:01:59.081155 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:01:59.081227 < 16 bytes data, client => server 19:01:59.081239 'USER anonymous\r\n' 19:01:59.081416 Received DATA (on stdin) 19:01:59.081427 > 33 bytes data, server => client 19:01:59.081438 '331 We are happy you popped in!\r\n' 19:01:59.081484 < 22 bytes data, client => server 19:01:59.081495 'PASS ftp@example.com\r\n' 19:01:59.081592 Received DATA (on stdin) 19:01:59.081604 > 30 bytes data, server => client 19:01:59.081614 '230 Welcome you silly person\r\n' 19:01:59.081656 < 5 bytes data, client => server 19:01:59.081667 'PWD\r\n' 19:01:59.081756 Received DATA (on stdin) 19:01:59.081767 > 30 bytes data, server => client 19:01:59.081778 '257 "/" is current directory\r\n' 19:01:59.081828 < 6 bytes data, client => server 19:01:59.081839 'EPSV\r\n' 19:01:59.083900 Received DATA (on stdin) 19:01:59.083914 > 39 bytes data, server => client 19:01:59.083925 '229 Entering Passive Mode (|||41103|)\r\n' 19:01:59.084054 < 8 bytes data, client => server 19:01:59.084065 'TYPE I\r\n' 19:01:59.084222 Received DATA (on stdin) 19:01:59.084244 > 33 bytes data, server => client 19:01:59.084257 '200 I modify TYPE as you wanted\r\n' 19:01:59.084316 < 21 bytes data, client => server 19:01:59.084329 'SIZE verifiedserver\r\n' 19:01:59.084458 Received DATA (on stdin) 19:01:59.084470 > 8 bytes data, server => client 19:0CMD (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/valgrind3200 ./unit/units unit3200 log/10/curl_get_line3200 > log/10/stdout3200 2> log/10/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/8/valgrind3028 ../src/curl -q --output log/8/curl3028.out --include --trace-ascii log/8/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:43853/page --proxytunnel -x 127.0.0.1:35633 > log/8/stdout3028 2> log/8/stderr3028 CMD (33792): ../libtool --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/valgrind3030 ../src/curl -q --output log/12/curl3030.out --include --trace-ascii log/12/trace3030 --trace-time -D log/12/heads3030 http://127.0.0.1:46819/3030 http://127.0.0.1:46819/3030 > log/12/stdout3030 2> log/12/stderr3030 CMD (33792): ../libtool --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/valgrind3029 ../src/curl -q --output log/23/curl3029.out --include --trace-ascii log/23/trace3029 --trace-time -D log/23/heads3029 http://127.0.0.1:35243/3029 http://127.0.0.1:35243/3029 --next -D log/23/heads3029 http://127.0.0.1:35243/3029 > log/23/stdout3029 2> log/23/stderr3029 1:59.084481 '213 18\r\n' 19:01:59.084534 < 21 bytes data, client => server 19:01:59.084546 'RETR verifiedserver\r\n' 19:01:59.084762 Received DATA (on stdin) 19:01:59.084774 > 29 bytes data, server => client 19:01:59.084786 '150 Binary junk (18 bytes).\r\n' 19:01:59.085119 Received DATA (on stdin) 19:01:59.085133 > 28 bytes data, server => client 19:01:59.085144 '226 File transfer complete\r\n' 19:01:59.130941 < 6 bytes data, client => server 19:01:59.130989 'QUIT\r\n' 19:01:59.131215 Received DATA (on stdin) 19:01:59.131228 > 18 bytes data, server => client 19:01:59.131239 '221 bye bye baby\r\n' 19:01:59.132131 ====> Client disconnect 19:01:59.132300 Received ACKD (on stdin) === End of file ftp_sockctrl.log === Start of file ftp_sockdata.log 19:01:59.083449 Running IPv4 version 19:01:59.083503 Listening on port 41103 19:01:59.083535 Wrote pid 175313 to log/14/server/ftp_sockdata.pid 19:01:59.083681 Received PING (on stdin) 19:01:59.083760 Received PORT (on stdin) 19:01:59.084028 ====> Client connect 19:01:59.084667 Received DATA (on stdin) 19:01:59.084681 > 18 bytes data, server => client 19:01:59.084691 'WE ROOLZ: 167965\r\n' 19:01:59.084760 Received DISC (on stdin) 19:01:59.084772 ====> Client forcibly disconnected 19:01:59.084859 Received QUIT (on stdin) 19:01:59.084872 quits 19:01:59.084930 ============> 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:44055/3027 === End of file stderr3027 === Start of file valgrind3027 ==175337== ==175337== Process terminating with default action of signal 4 (SIGILL) ==175337== Illegal opcode at address 0x51D5F1F ==175337== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==175337== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==175337== by 0x51D5F1F: Curl_open (url.c:525) ==175337== by 0x514F6EF: curl_easy_init (easy.c:371) ==175337== by 0x4047759: test_lib3027.lto_priv.0 (lib3027.c:36) ==175337== by 0x400347F: main (first.c:280) ==175337== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==175337== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==175337== by 0x51D5EBD: Curl_open (url.c:504) ==175337== by 0x514F6EF: curl_easy_init (easy.c:371) ==175337== by 0x4047759: test_lib3027.lto_priv.0 (lib3027.c:36) ==175337== by 0x400347F: main (first.c:280) ==175337== === End of file valgrind3027 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/10/valgrind3200 ./unit/units unit3200 log/10/curl_get_line3200 > log/10/stdout3200 2> log/10/stderr3200 -------e-v- OK (1731 out of 1746, remaining: 00:01, took 0.498s, duration: 02:08) 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/8/valgrind3028 ../src/curl -q --output log/8/curl3028.out --include --trace-ascii log/8/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:43853/page --proxytunnel -x 127.0.0.1:35633 > log/8/stdout3028 2> log/8/stderr3028 3028: 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 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/8/valgrind3028 ../src/curl -q --output log/8/curl3028.out --include --trace-ascii log/8/trace3028 --trace-time --haproxy-protocol http://127.0.0.1:43853/page --proxytunnel -x 127.0.0.1:35633 > log/8/stdout3028 2> log/8/stderr3028 === End of file commands.log === Start of file http2_server.log 19:02:00.316338 ====> Client connect 19:02:00.316370 accept_connection 3 returned 4 19:02:00.316387 accept_connection 3 returned 0 19:02:00.316401 Read 93 bytes 19:02:00.316412 Process 93 bytes request 19:02:00.316426 Got request: GET /verifiedserver HTTP/1.1 19:02:00.316436 Are-we-friendly question received 19:02:00.316460 Wrote request (93 bytes) input to log/8/proxy.input 19:02:00.316476 Identifying ourselves as friends 19:02:00.316528 Response sent (56 bytes) and written to log/8/proxy.response 19:02:00.316539 special request received, no persistency 19:02:00.316548 ====> Client disconnect 0 === End of file http2_server.log === Start of file http2_verify.log * Trying 127.0.0.1:35633... * Established connection to 127.0.0.1 (127.0.0.1 port 35633) from 127.0.0.1 port 46488 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35633 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:35633 left intact === End of file http2_verify.log === Start of file http2_verify.out WE ROOLZ: 79440 === End of file http2_verify.out === Start of file http_server.log 19:01:59.298908 ====> Client connect 19:01:59.298942 accept_connection 3 returned 4 19:01:59.298960 accept_connection 3 returned 0 19:01:59.298976 Read 93 bytes 19:01:59.298986 Process 93 bytes request 19:01:59.299001 Got request: GET /verifiedserver HTTP/1.1 19:01:59.299012 Are-we-friendly question received 19:01:59.299038 Wrote request (93 bytes) input to log/8/server.input 19:01:59.299056 Identifying ourselves as friends 19:01:59.299110 Response sent (56 bytes) and written to log/8/server.response 19:01:59.299122 special request received, no persistency 19:01:59.299132 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 38004 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === End of file http_verify.out === Start of file proxy.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 79440 === End of file proxy.response === 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: 74688 === End of file server.response === Start of file valgrind3028 ==175427== ==175427== Process terminating with default action of signal 4 (SIGILL) ==175427== Illegal opcode at address 0x4013E00 ==175427== at 0x4013E00: getparameter (tool_getparam.c:2846) ==175427== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175427== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==175427== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3028 CMD (33792): ../libtool --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/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:41761/3034 > log/19/stdout3034 2> log/19/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/12/valgrind3030 ../src/curl -q --output log/12/curl3030.out --include --trace-ascii log/12/trace3030 --trace-time -D log/12/heads3030 http://127.0.0.1:46819/3030 http://127.0.0.1:46819/3030 > log/12/stdout3030 2> log/12/stderr3030 3030: data FAILED: --- log/12/check-expected 2025-11-13 19:02:00.462725126 +0000 +++ log/12/check-generated 2025-11-13 19:02:00.462725126 +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/12/ 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/12/valgrind3030 ../src/curl -q --output log/12/curl3030.out --include --trace-ascii log/12/trace3030 --trace-time -D log/12/heads3030 http://127.0.0.1:46819/3030 http://127.0.0.1:46819/3030 > log/12/stdout3030 2> log/12/stderr3030 === End of file commands.log === Start of file http_server.log 19:01:59.346505 ====> Client connect 19:01:59.346536 accept_connection 3 returned 4 19:01:59.346550 accept_connection 3 returned 0 19:01:59.346562 Read 93 bytes 19:01:59.346570 Process 93 bytes request 19:01:59.346581 Got request: GET /verifiedserver HTTP/1.1 19:01:59.346589 Are-we-friendly question received 19:01:59.346610 Wrote request (93 bytes) input to log/12/server.input 19:01:59.346625 Identifying ourselves as friends 19:01:59.346687 Response sent (56 bytes) and written to log/12/server.response 19:01:59.346698 special request received, no persistency 19:01:59.346708 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46819... * Established connection to 127.0.0.1 (127.0.0.1 port 46819) from 127.0.0.1 port 53254 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46819 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46819 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 76272 === 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: 76272 === End of file server.response === Start of file valgrind3030 ==175498== ==175498== Process terminating with default action of signal 4 (SIGILL) ==175498== Illegal opcode at address 0x4013E00 ==175498== at 0x4013E00: getparameter (tool_getparam.c:2846) ==175498== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175498== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==175498== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3030 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/19/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:41761/3034 > log/19/stdout3034 2> log/19/stderr3034 libtests returned 132, when expecting 0 3034: exit FAILED == Contents of files in the log/19/ 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/19/valgrind3034 ./libtest/libtests lib3034 http://127.0.0.1:41761/3034 > log/19/stdout3034 2> log/19/stderr3034 === End of file commands.log === Start of file http_server.log 19:01:59.414055 ====> Client connect 19:01:59.414107 accept_connection 3 returned 4 19:01:59.414125 accept_connection 3 returned 0 19:01:59.414140 Read 93 bytes 19:01:59.414150 Process 93 bytes request 19:01:59.414165 Got request: GET /verifiedserver HTTP/1.1 19:01:59.414174 Are-we-friendly question received 19:01:59.414200 Wrote request (93 bytes) input to log/19/server.input 19:01:59.414217 Identifying ourselves as friends 19:01:59.414272 Response sent (56 bytes) and written to log/19/server.response 19:01:59.414283 special request received, no persistency 19:01:59.414292 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41761... * Established connection to 127.0.0.1 (127.0.0.1 port 41761) from 127.0.0.1 port 39910 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41761 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41761 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74422 === End of file http_verify.out === Start of file server.cmd Testnum 3034 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74422 === End of file server.response === Start of file stderr3034 URL: http://127.0.0.1:41761/3034 === End of file stderr3034 === Start of file valgrind3034 ==175685== ==175685== Process terminating with default action of signal 4 (SIGILL) ==175685== Illegal opcode at address 0x51D5F1F ==175685== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==175685== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==175685== by 0x51D5F1F: Curl_open (url.c:525) ==175685== by 0x514F6EF: curl_easy_init (easy.c:371) ==175685== by 0x4047A0C: UnknownInlinedFun (lib3034.c:43) ==175685== by 0x4047A0C: test_lib3034.lto_priv.0 (lib3034.c:37) ==175685== by 0x400347F: main (first.c:280) ==175685== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==175685== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==175685== by 0x51D5EBD: Curl_open (url.c:504) ==175685== by 0x514F6EF: curl_easy_init (easy.c:371) ==175685== by 0x4047A0C: UnknownInlinedFun (lib3034.c:43) ==175685== by 0x4047A0C: test_lib3034.lto_priv.0 (lib3034.c:37) ==175685== by 0x400347F: main (first.c:280) ==175685== === End of file valgrind3034 CMD (33792): ../libtool --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/valgrind3032 ../src/curl -q --output log/7/curl3032.out --include --trace-ascii log/7/trace3032 --trace-time --location http://127.0.0.1:41017/3032 > log/7/stdout3032 2> log/7/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/24/valgrind3035 ../src/curl -q --trace-ascii log/24/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/24/outfile3035 http://127.0.0.1:39383/3035 > log/24/stdout3035 2> log/24/stderr3035 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/23/valgrind3029 ../src/curl -q --output log/23/curl3029.out --include --trace-ascii log/23/trace3029 --trace-time -D log/23/heads3029 http://127.0.0.1:35243/3029 http://127.0.0.1:35243/3029 --next -D log/23/heads3029 http://127.0.0.1:35243/3029 > log/23/stdout3029 2> log/23/stderr3029 3029: data FAILED: --- log/23/check-expected 2025-11-13 19:02:00.469391791 +0000 +++ log/23/check-generated 2025-11-13 19:02:00.469391791 +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/23/ 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/23/valgrind3029 ../src/curl -q --output log/23/curl3029.out --include --trace-ascii log/23/trace3029 --trace-time -D log/23/heads3029 http://127.0.0.1:35243/3029 http://127.0.0.1:35243/3029 --next -D log/23/heads3029 http://127.0.0.1:35243/3029 > log/23/stdout3029 2> log/23/stderr3029 === End of file commands.log === Start of file http_server.log 19:01:59.344043 ====> Client connect 19:01:59.344098 accept_connection 3 returned 4 19:01:59.344117 accept_connection 3 returned 0 19:01:59.344135 Read 93 bytes 19:01:59.344146 Process 93 bytes request 19:01:59.344163 Got request: GET /verifiedserver HTTP/1.1 19:01:59.344173 Are-we-friendly question received 19:01:59.344201 Wrote request (93 bytes) input to log/23/server.input 19:01:59.344220 Identifying ourselves as friends 19:01:59.344283 Response sent (56 bytes) and written to log/23/server.response 19:01:59.344292 special request received, no persistency 19:01:59.344301 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:35243... * Established connection to 127.0.0.1 (127.0.0.1 port 35243) from 127.0.0.1 port 45760 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:35243 > User-Agent: curl/8.17.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:35243 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74418 === 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: 74418 === End of file server.response === Start of file valgrind3029 ==175494== ==175494== Process terminating with default action of signal 4 (SIGILL) ==175494== Illegal opcode at address 0x4013E00 ==175494== at 0x4013E00: getparameter (tool_getparam.c:2846) ==175494== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175494== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==175494== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3029 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/7/valgrind3032 ../src/curl -q --output log/7/curl3032.out --include --trace-ascii log/7/trace3032 --trace-time --location http://127.0.0.1:41017/3032 > log/7/stdout3032 2> log/7/stderr3032 3032: 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 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/7/valgrind3032 ../src/curl -q --output log/7/curl3032.out --include --trace-ascii log/7/trace3032 --trace-time --location http://127.0.0.1:41017/3032 > log/7/stdout3032 2> log/7/stderr3032 === End of file commands.log === Start of file http_server.log 19:01:59.409782 ====> Client connect 19:01:59.409821 accept_connection 3 returned 4 19:01:59.409839 accept_connection 3 returned 0 19:01:59.409854 Read 93 bytes 19:01:59.409865 Process 93 bytes request 19:01:59.409878 Got request: GET /verifiedserver HTTP/1.1 19:01:59.409889 Are-we-friendly question received 19:01:59.409918 Wrote request (93 bytes) input to log/7/server.input 19:01:59.409939 Identifying ourselves as friends 19:01:59.410000 Response sent (56 bytes) and written to log/7/server.response 19:01:59.410011 special request received, no persistency 19:01:59.410022 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:41017... * Established connection to 127.0.0.1 (127.0.0.1 port 41017) from 127.0.0.1 port 57132 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:41017 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:41017 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74741 === 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: 74741 === End of file server.response === Start of file valgrind3032 ==175709== ==175709== Process terminating with default action of signal 4 (SIGILL) ==175709== Illegal opcode at address 0x4013E00 ==175709== at 0x4013E00: getparameter (tool_getparam.c:2846) ==175709== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175709== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==175709== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3032 test 3035...[HTTP retry failed download with keep data and auto-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/24/valgrind3035 ../src/curl -q --trace-ascii log/24/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/24/outfile3035 http://127.0.0.1:39383/3035 > log/24/stdout3035 2> log/24/stderr3035 3035: 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 3035 === Start of file commands.log ../libtool --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/valgrind3035 ../src/curl -q --trace-ascii log/24/trace3035 --trace-time --continue-at - --retry 4 --retry-delay 1 --retry-all-errors -o log/24/outfile3035 http://127.0.0.1:39383/3035 > log/24/stdout3035 2> log/24/stderr3035 === End of file commands.log === Start of file http_server.log 19:01:59.443114 ====> Client connect 19:01:59.443142 accept_connection 3 returned 4 19:01:59.443155 accept_connection 3 returned 0 19:01:59.443167 Read 93 bytes 19:01:59.443180 Process 93 bytes request 19:01:59.443191 Got request: GET /verifiedserver HTTP/1.1 19:01:59.443199 Are-we-friendly question received 19:01:59.443217 Wrote request (93 bytes) input to log/24/server.input 19:01:59.443230 Identifying ourselves as friends 19:01:59.443271 Response sent (56 bytes) and written to log/24/server.response 19:01:59.443279 special request received, no persistency 19:01:59.443287 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:39383... * Established connection to 127.0.0.1 (127.0.0.1 port 39383) 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/9/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:38373/3033 > log/9/stdout3033 2> log/9/stderr3033 0.0.1 port 35738 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:39383 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:39383 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74417 === End of file http_verify.out === Start of file server.cmd Testnum 3035 === End of file server.cmd === Start of file server.response HTTP/1.1 200 OK Content-Length: 17 WE ROOLZ: 74417 === End of file server.response === Start of file valgrind3035 ==175857== ==175857== Process terminating with default action of signal 4 (SIGILL) ==175857== Illegal opcode at address 0x4013E00 ==175857== at 0x4013E00: getparameter (tool_getparam.c:2846) ==175857== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175857== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==175857== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3035 CMD (33792): ../libtool --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/valgrind3031 ../src/curl -q --output log/11/curl3031.out --include --trace-ascii log/11/trace3031 --trace-time http://127.0.0.1:33847/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/11/tmp/out.txt --create-dirs > log/11/stdout3031 2> log/11/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/16/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:42747/3101 > log/16/stdout3101 2> log/16/stderr3101 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/9/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:38373/3033 > log/9/stdout3033 2> log/9/stderr3033 3033: data FAILED: --- log/9/check-expected 2025-11-13 19:02:00.516058458 +0000 +++ log/9/check-generated 2025-11-13 19:02:00.516058458 +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/9/ 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/9/valgrind3033 ./libtest/libtests lib3033 http://127.0.0.1:38373/3033 > log/9/stdout3033 2> log/9/stderr3033 === End of file commands.log === Start of file http_server.log 19:01:59.411331 ====> Client connect 19:01:59.411362 accept_connection 3 returned 4 19:01:59.411380 accept_connection 3 returned 0 19:01:59.411395 Read 93 bytes 19:01:59.411406 Process 93 bytes request 19:01:59.411418 Got request: GET /verifiedserver HTTP/1.1 19:01:59.411429 Are-we-friendly question received 19:01:59.411452 Wrote request (93 bytes) input to log/9/server.input 19:01:59.411469 Identifying ourselves as friends 19:01:59.411522 Response sent (57 bytes) and written to log/9/server.response 19:01:59.411534 special request received, no persistency 19:01:59.411545 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38373... * Established connection to 127.0.0.1 (127.0.0.1 port 38373) from 127.0.0.1 port 39570 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38373 > User-Agent: curl/8.17.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:38373 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 159573 === 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: 18 WE ROOLZ: 159573 === End of file server.response === Start of file stderr3033 URL: http://127.0.0.1:38373/3033 === End of file stderr3033 === Start of file valgrind3033 ==175679== ==175679== Process terminating with default action of signal 4 (SIGILL) ==175679== Illegal opcode at address 0x519E800 ==175679== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==175679== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==175679== by 0x519E800: Curl_multi_handle (multi.c:247) ==175679== by 0x4047FCA: UnknownInlinedFun (lib3033.c:107) ==175679== by 0x4047FCA: test_lib3033.lto_priv.0 (lib3033.c:100) ==175679== by 0x400347F: main (first.c:280) ==175679== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==175679== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==175679== by 0x519E794: Curl_multi_handle (multi.c:239) ==175679== by 0x4047FCA: UnknownInlinedFun (lib3033.c:107) ==175679== by 0x4047FCA: test_lib3033.lto_priv.0 (lib3033.c:100) ==175679== by 0x400347F: main (first.c:280) ==175679== === End of file valgrind3033 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/11/valgrind3031 ../src/curl -q --output log/11/curl3031.out --include --trace-ascii log/11/trace3031 --trace-time http://127.0.0.1:33847/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/11/tmp/out.txt --create-dirs > log/11/stdout3031 2> log/11/stderr3031 3031: 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 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/11/valgrind3031 ../src/curl -q --output log/11/curl3031.out --include --trace-ascii log/11/trace3031 --trace-time http://127.0.0.1:33847/this/is/the/3031 --dump-header /startdir/src/build-curl/tests/log/11/tmp/out.txt --create-dirs > log/11/stdout3031 2> log/11/stderr3031 === End of file commands.log === Start of file http_server.log 19:02:00.406927 ====> Client connect 19:02:00.406951 accept_connection 3 returned 4 19:02:00.406964 accept_connection 3 returned 0 19:02:00.406976 Read 93 bytes 19:02:00.406984 Process 93 bytes request 19:02:00.406996 Got request: GET /verifiedserver HTTP/1.1 19:02:00.407003 Are-we-friendly question received 19:02:00.407021 Wrote request (93 bytes) input to log/11/server.input 19:02:00.407034 Identifying ourselves as friends 19:02:00.407075 Response sent (57 bytes) and written to log/11/server.response 19:02:00.407083 special request received, no persistency 19:02:00.407091 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:33847... * Established connection to 127.0.0.1 (127.0.0.1 port 33847) from 127.0.0.1 port 36086 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:33847 > User-Agent: curl/8.17.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:33847 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 169363 === 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: 18 WE ROOLZ: 169363 === End of file server.response === Start of file valgrind3031 ==175671== ==175671== Process terminating with default action of signal 4 (SIGILL) ==175671== Illegal opcode at address 0x4013E00 ==175671== at 0x4013E00: getparameter (tool_getparam.c:2846) ==175671== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==175671== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==175671== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3031 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/16/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:42747/3101 > log/16/stdout3101 2> log/16/stderr3101 3101: 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 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/16/valgrind3101 ./libtest/libtests lib3101 http://127.0.0.1:42747/3101 > log/16/stdout3101 2> log/16/stderr3101 === End of file commands.log === Start of file http_server.log 19:02:00.539655 ====> Client connect 19:02:00.539681 accept_connection 3 returned 4 19:02:00.539694 accept_connection 3 returned 0 19:02:00.539706 Read 93 bytes 19:02:00.539715 Process 93 bytes request 19:02:00.539727 Got request: GET /verifiedserver HTTP/1.1 19:02:00.539735 Are-we-friendly question received 19:02:00.539754 Wrote request (93 bytes) input to log/16/server.input 19:02:00.539767 Identifying ourselves as friends 19:02:00.539809 Response sent (56 bytes) and written to log/16/server.response 19:02:00.539818 special request received, no persistency 19: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/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:38583/3103 > log/20/stdout3103 2> log/20/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/18/valgrind3105 ./libtest/libtests lib3105 - > log/18/stdout3105 2> log/18/stderr3105 CMD (33792): ../libtool --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/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:37985/3104 > log/4/stdout3104 2> log/4/stderr3104 2:00.539826 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:42747... * Established connection to 127.0.0.1 (127.0.0.1 port 42747) from 127.0.0.1 port 40356 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:42747 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:42747 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74425 === 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: 74425 === End of file server.response === Start of file stderr3101 URL: http://127.0.0.1:42747/3101 === End of file stderr3101 === Start of file valgrind3101 ==175964== ==175964== Process terminating with default action of signal 4 (SIGILL) ==175964== Illegal opcode at address 0x51D5F1F ==175964== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==175964== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==175964== by 0x51D5F1F: Curl_open (url.c:525) ==175964== by 0x514F6EF: curl_easy_init (easy.c:371) ==175964== by 0x404314A: test_lib3101.lto_priv.0 (lib3101.c:38) ==175964== by 0x400347F: main (first.c:280) ==175964== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==175964== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==175964== by 0x51D5EBD: Curl_open (url.c:504) ==175964== by 0x514F6EF: curl_easy_init (easy.c:371) ==175964== by 0x404314A: test_lib3101.lto_priv.0 (lib3101.c:38) ==175964== by 0x400347F: main (first.c:280) ==175964== === End of file valgrind3101 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/20/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:38583/3103 > log/20/stdout3103 2> log/20/stderr3103 3103: 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 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/20/valgrind3103 ./libtest/libtests lib3103 http://127.0.0.1:38583/3103 > log/20/stdout3103 2> log/20/stderr3103 === End of file commands.log === Start of file http_server.log 19:01:59.555919 ====> Client connect 19:01:59.555959 accept_connection 3 returned 4 19:01:59.555978 accept_connection 3 returned 0 19:01:59.555996 Read 93 bytes 19:01:59.556008 Process 93 bytes request 19:01:59.556023 Got request: GET /verifiedserver HTTP/1.1 19:01:59.556033 Are-we-friendly question received 19:01:59.556061 Wrote request (93 bytes) input to log/20/server.input 19:01:59.556080 Identifying ourselves as friends 19:01:59.556145 Response sent (56 bytes) and written to log/20/server.response 19:01:59.556158 special request received, no persistency 19:01:59.556169 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:38583... * Established connection to 127.0.0.1 (127.0.0.1 port 38583) from 127.0.0.1 port 49900 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:38583 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:38583 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74421 === 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: 17 WE ROOLZ: 74421 === End of file server.response === Start of file stderr3103 URL: http://127.0.0.1:38583/3103 === End of file stderr3103 === Start of file valgrind3103 ==175995== ==175995== Process terminating with default action of signal 4 (SIGILL) ==175995== Illegal opcode at address 0x51D5F1F ==175995== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==175995== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==175995== by 0x51D5F1F: Curl_open (url.c:525) ==175995== by 0x514F6EF: curl_easy_init (easy.c:371) ==175995== by 0x51C6E41: curl_share_init (share.c:49) ==175995== by 0x4048F22: test_lib3103.lto_priv.0 (lib3103.c:36) ==175995== by 0x400347F: main (first.c:280) ==175995== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==175995== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==175995== by 0x51D5EBD: Curl_open (url.c:504) ==175995== by 0x514F6EF: curl_easy_init (easy.c:371) ==175995== by 0x51C6E41: curl_share_init (share.c:49) ==175995== by 0x4048F22: test_lib3103.lto_priv.0 (lib3103.c:36) ==175995== by 0x400347F: main (first.c:280) ==175995== === End of file valgrind3103 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/18/valgrind3105 ./libtest/libtests lib3105 - > log/18/stdout3105 2> log/18/stderr3105 libtests returned 132, when expecting 0 3105: exit FAILED == Contents of files in the log/18/ 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/18/valgrind3105 ./libtest/libtests lib3105 - > log/18/stdout3105 2> log/18/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 ==176077== ==176077== Process terminating with default action of signal 4 (SIGILL) ==176077== Illegal opcode at address 0x519E800 ==176077== at 0x519E800: UnknownInlinedFun (string_fortified.h:59) ==176077== by 0x519E800: UnknownInlinedFun (multi_ntfy.c:134) ==176077== by 0x519E800: Curl_multi_handle (multi.c:247) ==176077== by 0x4043D4E: UnknownInlinedFun (lib3105.c:38) ==176077== by 0x4043D4E: test_lib3105.lto_priv.0 (lib3105.c:28) ==176077== by 0x400347F: main (first.c:280) ==176077== 712 bytes in 1 blocks are definitely lost in loss record 612 of 645 ==176077== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==176077== by 0x519E794: Curl_multi_handle (multi.c:239) ==176077== by 0x4043D4E: UnknownInlinedFun (lib3105.c:38) ==176077== by 0x4043D4E: test_lib3105.lto_priv.0 (lib3105.c:28) ==176077== by 0x400347F: main (first.c:280) ==176077== === End of file valgrind3105 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/4/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:37985/3104 > log/4/stdout3104 2> log/4/stderr3104 3104: 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 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/4/valgrind3104 ./libtest/libtests lib3104 http://127.0.0.1:37985/3104 > log/4/stdout3104 2> log/4/stderr3104 === End of file commands.log === Start of file http_server.log 19:02:00.672789 ====> Client connect 19:02:00.672826 accept_connection 3 returned 4 19:02:00.672839 accept_connection 3 returned 0 19:02:00.672852 Read 93 bytes 19:02:00.672860 Process 93 bytes request 19:02CMD (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/12/valgrind3205 ./unit/units unit3205 - > log/12/stdout3205 2> log/12/stderr3205 CMD (33792): ../libtool --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/valgrind3018 ../src/curl -q --output log/2/curl3018.out --include --trace log/2/trace3018 --trace-time mqtt://127.0.0.1:46305/3018 --max-filesize 11 > log/2/stdout3018 2> log/2/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/5/valgrind3017 ../src/curl -q --output log/5/curl3017.out --include --trace log/5/trace3017 --trace-time mqtt://127.0.0.1:33267/3017 -m 3 > log/5/stdout3017 2> log/5/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/3/valgrind3201 ../src/curl -q --output log/3/curl3201.out --include --trace-ascii log/3/trace3201 --trace-time http://127.0.0.1:46261/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/3/stdout3201 2> log/3/stderr3201 :00.672872 Got request: GET /verifiedserver HTTP/1.1 19:02:00.672880 Are-we-friendly question received 19:02:00.672899 Wrote request (93 bytes) input to log/4/server.input 19:02:00.672913 Identifying ourselves as friends 19:02:00.672957 Response sent (56 bytes) and written to log/4/server.response 19:02:00.672965 special request received, no persistency 19:02:00.672973 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:37985... * Established connection to 127.0.0.1 (127.0.0.1 port 37985) from 127.0.0.1 port 38156 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:37985 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:37985 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74797 === 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: 74797 === End of file server.response === Start of file stderr3104 URL: http://127.0.0.1:37985/3104 === End of file stderr3104 === Start of file valgrind3104 ==176108== ==176108== Process terminating with default action of signal 4 (SIGILL) ==176108== Illegal opcode at address 0x51D5F1F ==176108== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==176108== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==176108== by 0x51D5F1F: Curl_open (url.c:525) ==176108== by 0x514F6EF: curl_easy_init (easy.c:371) ==176108== by 0x51C6E41: curl_share_init (share.c:49) ==176108== by 0x40490A2: test_lib3104.lto_priv.0 (lib3104.c:36) ==176108== by 0x400347F: main (first.c:280) ==176108== 5,384 bytes in 1 blocks are definitely lost in loss record 644 of 646 ==176108== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==176108== by 0x51D5EBD: Curl_open (url.c:504) ==176108== by 0x514F6EF: curl_easy_init (easy.c:371) ==176108== by 0x51C6E41: curl_share_init (share.c:49) ==176108== by 0x40490A2: test_lib3104.lto_priv.0 (lib3104.c:36) ==176108== by 0x400347F: main (first.c:280) ==176108== === End of file valgrind3104 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/12/valgrind3205 ./unit/units unit3205 - > log/12/stdout3205 2> log/12/stderr3205 -------e-v- OK (1736 out of 1746, remaining: 00:00, took 0.503s, duration: 02:08) startnew: ./server/servers mqttd --port 0 --pidfile log/2/server/mqtt_server.pid --portfile log/2/server/mqtt_server.port --config log/2/server.cmd --logfile log/2/mqtt_server.log --logdir log/2 RUN: MQTT server is now running PID 175059 on PORT 46305 * pid mqtt => 175059 175059 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/2/valgrind3018 ../src/curl -q --output log/2/curl3018.out --include --trace log/2/trace3018 --trace-time mqtt://127.0.0.1:46305/3018 --max-filesize 11 > log/2/stdout3018 2> log/2/stderr3018 3018: 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 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/2/valgrind3018 ../src/curl -q --output log/2/curl3018.out --include --trace log/2/trace3018 --trace-time mqtt://127.0.0.1:46305/3018 --max-filesize 11 > log/2/stdout3018 2> log/2/stderr3018 === End of file commands.log === Start of file mqtt_server.log 19:01:59.856653 Running IPv4 version 19:01:59.856696 Listening on port 46305 19:01:59.856725 Wrote pid 175059 to log/2/server/mqtt_server.pid 19:01:59.856750 Wrote port 46305 to log/2/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd Testnum 3018 === End of file server.cmd === Start of file valgrind3018 ==176265== ==176265== Process terminating with default action of signal 4 (SIGILL) ==176265== Illegal opcode at address 0x4013E00 ==176265== at 0x4013E00: getparameter (tool_getparam.c:2846) ==176265== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176265== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==176265== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3018 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 175058 on PORT 33267 * pid mqtt => 175058 175058 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/5/valgrind3017 ../src/curl -q --output log/5/curl3017.out --include --trace log/5/trace3017 --trace-time mqtt://127.0.0.1:33267/3017 -m 3 > log/5/stdout3017 2> log/5/stderr3017 3017: 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 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/5/valgrind3017 ../src/curl -q --output log/5/curl3017.out --include --trace log/5/trace3017 --trace-time mqtt://127.0.0.1:33267/3017 -m 3 > log/5/stdout3017 2> log/5/stderr3017 === End of file commands.log === Start of file mqtt_server.log 19:01:59.855777 Running IPv4 version 19:01:59.855844 Listening on port 33267 19:01:59.855884 Wrote pid 175058 to log/5/server/mqtt_server.pid 19:01:59.855915 Wrote port 33267 to log/5/server/mqtt_server.port === End of file mqtt_server.log === Start of file server.cmd excessive-remaining TRUE Testnum 3017 === End of file server.cmd === Start of file valgrind3017 ==176247== ==176247== Process terminating with default action of signal 4 (SIGILL) ==176247== Illegal opcode at address 0x4013E00 ==176247== at 0x4013E00: getparameter (tool_getparam.c:2846) ==176247== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176247== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==176247== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3017 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/3/valgrind3201 ../src/curl -q --output log/3/curl3201.out --include --trace-ascii log/3/trace3201 --trace-time http://127.0.0.1:46261/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/3/stdout3201 2> log/3/stderr3201 3201: 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 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/3/valgrind3201 ../src/curl -q --output log/3/curl3201.out --include --trace-ascii log/3/trace3201 --trace-time http://127.0.0.1:46261/3201 --haproxy-clientip "192.168.1.1" -H "Testno: 3201" > log/3/stdout3201 2> log/3/stderr3201 === End of file commands.log === Start of file http_server.log 19:02:00.844473 ====> Client connect 19:02:00.844507 accept_connection 3 returned 4 19:02:00.844526 accept_conCMD (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/valgrind3214 ./unit/units unit3214 - > log/16/stdout3214 2> log/16/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/14/valgrind3202 ../src/curl -q --output log/14/curl3202.out --include --trace-ascii log/14/trace3202 --trace-time -g "http://[::1]:37615/3202" --haproxy-clientip "2001:db8::" > log/14/stdout3202 2> log/14/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/11/valgrind3213 ./unit/units unit3213 - > log/11/stdout3213 2> log/11/stderr3213 CMD (33792): ../libtool --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/valgrind3212 ./unit/units unit3212 - > log/9/stdout3212 2> log/9/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/24/valgrind3211 ./unit/units unit3211 - > log/24/stdout3211 2> log/24/stderr3211 nection 3 returned 0 19:02:00.844651 Read 93 bytes 19:02:00.844667 Process 93 bytes request 19:02:00.844682 Got request: GET /verifiedserver HTTP/1.1 19:02:00.844692 Are-we-friendly question received 19:02:00.844721 Wrote request (93 bytes) input to log/3/server.input 19:02:00.844740 Identifying ourselves as friends 19:02:00.844798 Response sent (56 bytes) and written to log/3/server.response 19:02:00.844810 special request received, no persistency 19:02:00.844820 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:46261... * Established connection to 127.0.0.1 (127.0.0.1 port 46261) from 127.0.0.1 port 51066 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:46261 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:46261 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74802 === 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: 74802 === End of file server.response === Start of file valgrind3201 ==176239== ==176239== Process terminating with default action of signal 4 (SIGILL) ==176239== Illegal opcode at address 0x4013E00 ==176239== at 0x4013E00: getparameter (tool_getparam.c:2846) ==176239== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176239== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==176239== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3201 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/16/valgrind3214 ./unit/units unit3214 - > log/16/stdout3214 2> log/16/stderr3214 -------e-v- OK (1745 out of 1746, remaining: 00:00, took 0.488s, duration: 02:08) 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/14/valgrind3202 ../src/curl -q --output log/14/curl3202.out --include --trace-ascii log/14/trace3202 --trace-time -g "http://[::1]:37615/3202" --haproxy-clientip "2001:db8::" > log/14/stdout3202 2> log/14/stderr3202 3202: 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 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/14/valgrind3202 ../src/curl -q --output log/14/curl3202.out --include --trace-ascii log/14/trace3202 --trace-time -g "http://[::1]:37615/3202" --haproxy-clientip "2001:db8::" > log/14/stdout3202 2> log/14/stderr3202 === End of file commands.log === Start of file http_ipv6_server.log 19:02:00.004758 ====> Client connect 19:02:00.004792 accept_connection 3 returned 4 19:02:00.004809 accept_connection 3 returned 0 19:02:00.004825 Read 89 bytes 19:02:00.004836 Process 89 bytes request 19:02:00.004854 Got request: GET /verifiedserver HTTP/1.1 19:02:00.004864 Are-we-friendly question received 19:02:00.004888 Wrote request (89 bytes) input to log/14/server.input 19:02:00.004910 Identifying ourselves as friends 19:02:00.004967 Response sent (57 bytes) and written to log/14/server.response 19:02:00.004981 special request received, no persistency 19:02:00.004991 ====> Client disconnect 0 === End of file http_ipv6_server.log === Start of file http_ipv6_verify.log * Trying [::1]:37615... * Established connection to ::1 (::1 port 37615) from ::1 port 46826 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: [::1]:37615 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 18 < { [18 bytes data] * Connection #0 to host ::1:37615 left intact === End of file http_ipv6_verify.log === Start of file http_ipv6_verify.out WE ROOLZ: 156886 === 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: 156886 === End of file server.response === Start of file valgrind3202 ==176424== ==176424== Process terminating with default action of signal 4 (SIGILL) ==176424== Illegal opcode at address 0x4013E00 ==176424== at 0x4013E00: getparameter (tool_getparam.c:2846) ==176424== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176424== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==176424== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3202 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/11/valgrind3213 ./unit/units unit3213 - > log/11/stdout3213 2> log/11/stderr3213 units returned 132, when expecting 0 3213: exit FAILED == Contents of files in the log/11/ dir after test 3213 === Start of file commands.log ../libtool --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/valgrind3213 ./unit/units unit3213 - > log/11/stdout3213 2> log/11/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 ==176730== ==176730== Process terminating with default action of signal 4 (SIGILL) ==176730== Illegal opcode at address 0x402A6B7 ==176730== at 0x402A6B7: UnknownInlinedFun (string_fortified.h:59) ==176730== by 0x402A6B7: UnknownInlinedFun (uint-spbset.c:42) ==176730== by 0x402A6B7: UnknownInlinedFun (unit3213.c:39) ==176730== by 0x402A6B7: test_unit3213 (unit3213.c:116) ==176730== by 0x400A12F: main (first.c:280) === End of file valgrind3213 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/9/valgrind3212 ./unit/units unit3212 - > log/9/stdout3212 2> log/9/stderr3212 units returned 132, when expecting 0 3212: exit FAILED == Contents of files in the log/9/ 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/9/valgrind3212 ./unit/units unit3212 - > log/9/stdout3212 2> log/9/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 ==176724== ==176724== Process terminating with default action of signal 4 (SIGILL) ==176724== Illegal opcode at address 0x4025335 ==176724== at 0x4025335: UnknownInlinedFun (string_fortified.h:59) ==176724== by 0x4025335: UnknownInlinedFun (uint-table.c:42) ==176724== by 0x4025335: UnknownInlinedFun (unit3212.c:35) ==176724== by 0x4025335: test_unit3212 (unit3212.c:49) ==176724== by 0x400A12F: main (first.c:280) === End of file valgrind3212 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 CMD (33792): ../libtool --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/valgrind3203 ../src/curl -q --trace-ascii log/10/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test3203.dir/ > log/10/stdout3203 2> log/10/stderr3203 ../libtool --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 ==176675== ==176675== Process terminating with default action of signal 4 (SIGILL) ==176675== Illegal opcode at address 0x4022105 ==176675== at 0x4022105: UnknownInlinedFun (string_fortified.h:59) ==176675== by 0x4022105: UnknownInlinedFun (uint-bset.c:108) ==176675== by 0x4022105: UnknownInlinedFun (unit3211.c:44) ==176675== by 0x4022105: test_unit3211 (unit3211.c:142) ==176675== by 0x400A12F: main (first.c:280) ==176675== 16 bytes in 1 blocks are definitely lost in loss record 2 of 14 ==176675== at 0x499AC13: calloc (vg_replace_malloc.c:1675) ==176675== by 0x40220E7: UnknownInlinedFun (uint-bset.c:52) ==176675== by 0x40220E7: UnknownInlinedFun (unit3211.c:40) ==176675== by 0x40220E7: test_unit3211 (unit3211.c:142) ==176675== by 0x400A12F: main (first.c:280) ==176675== === End of file valgrind3211 CMD (33792): ../libtool --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/valgrind3204 ../src/curl -q --output log/8/curl3204.out --include --trace-ascii log/8/trace3204 --trace-time http://127.0.0.1:43853/3204 --etag-compare log/8/etag3204 --etag-save log/8/etag3204 > log/8/stdout3204 2> log/8/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/7/valgrind3210 ../src/curl -q --output log/7/curl3210.out --include --trace-ascii log/7/trace3210 --trace-time imap://127.0.0.1:33589/3210 -T log/7/upload3210 -u user:secret --upload-flags -seen > log/7/stdout3210 2> log/7/stderr3210 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/10/valgrind3203 ../src/curl -q --trace-ascii log/10/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test3203.dir/ > log/10/stdout3203 2> log/10/stderr3203 3203: stdout FAILED: --- log/10/check-expected 2025-11-13 19:02:01.276058466 +0000 +++ log/10/check-generated 2025-11-13 19:02:01.276058466 +0000 @@ -1 +0,0 @@ -dir-listing-test.txt[LF] == Contents of files in the log/10/ 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/10/valgrind3203 ../src/curl -q --trace-ascii log/10/trace3203 --trace-time file://localhost/startdir/src/build-curl/tests/log/10/test3203.dir/ > log/10/stdout3203 2> log/10/stderr3203 === End of file commands.log === Start of file server.cmd Testnum 3203 === End of file server.cmd === Start of file valgrind3203 ==176498== ==176498== Process terminating with default action of signal 4 (SIGILL) ==176498== Illegal opcode at address 0x4013E00 ==176498== at 0x4013E00: getparameter (tool_getparam.c:2846) ==176498== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176498== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==176498== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3203 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/8/valgrind3204 ../src/curl -q --output log/8/curl3204.out --include --trace-ascii log/8/trace3204 --trace-time http://127.0.0.1:43853/3204 --etag-compare log/8/etag3204 --etag-save log/8/etag3204 > log/8/stdout3204 2> log/8/stderr3204 3204: 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 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/8/valgrind3204 ../src/curl -q --output log/8/curl3204.out --include --trace-ascii log/8/trace3204 --trace-time http://127.0.0.1:43853/3204 --etag-compare log/8/etag3204 --etag-save log/8/etag3204 > log/8/stdout3204 2> log/8/stderr3204 === End of file commands.log === Start of file etag3204 "21025-dc7-39462498" === End of file etag3204 === Start of file http_server.log 19:02:00.253110 ====> Client connect 19:02:00.253137 accept_connection 3 returned 4 19:02:00.253151 accept_connection 3 returned 0 19:02:00.253165 Read 93 bytes 19:02:00.253173 Process 93 bytes request 19:02:00.253185 Got request: GET /verifiedserver HTTP/1.1 19:02:00.253193 Are-we-friendly question received 19:02:00.253212 Wrote request (93 bytes) input to log/8/server.input 19:02:00.253225 Identifying ourselves as friends 19:02:00.253266 Response sent (56 bytes) and written to log/8/server.response 19:02:00.253274 special request received, no persistency 19:02:00.253281 ====> Client disconnect 0 === End of file http_server.log === Start of file http_verify.log * Trying 127.0.0.1:43853... * Established connection to 127.0.0.1 (127.0.0.1 port 43853) from 127.0.0.1 port 40704 * using HTTP/1.x > GET /verifiedserver HTTP/1.1 > Host: 127.0.0.1:43853 > User-Agent: curl/8.17.0 > Accept: */* > * Request completely sent off < HTTP/1.1 200 OK < Content-Length: 17 < { [17 bytes data] * Connection #0 to host 127.0.0.1:43853 left intact === End of file http_verify.log === Start of file http_verify.out WE ROOLZ: 74688 === 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: 74688 === End of file server.response === Start of file valgrind3204 ==176613== ==176613== Process terminating with default action of signal 4 (SIGILL) ==176613== Illegal opcode at address 0x4013E00 ==176613== at 0x4013E00: getparameter (tool_getparam.c:2846) ==176613== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176613== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==176613== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3204 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:33589/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:33589/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 19:02:00.505462 ====> Client connect 19:02:00.505610 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:02:00.505890 < "A001 CAPABILITY" 19:02:00.505920 > "A001 BAD Command[CR][LF]" 19:02:00.506069 < "A002 LIST "verifiedserver" *" 19:02:00.506097 LIST_imap got "verifiedserver" * 19:02:00.506122 > "* LIST () "/" "WE ROOLZ: 118683"[CR][LF]" 19:02:00.506140 > "A002 OK LIST Completed[CR][LF]" 19:02:00.506154 return proof we are we 19:02:00.549039 < "A003 LOGOUT" 19:02:00.549100 > "* BYE curl IMAP server signing off[CR][LF]" 19:02:00.549122 > "A003 OK LOGOUT completed[CR][LF]" 19:02:00.549425 MAIN sockfilt said DISC 19:02:00.549479 ====> Client disconnected 19:02:00.549555 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:02:00.277376 ====> Client connect 19:02:00.277674 Received DATA (on stdin) 19:02:00.277689 > 178 bytes data, server => client 19:02:00.277699 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:02:00.277708 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:02:00.277716 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:02:00.277723 'rve\r\n' 19:02:00.277814 < 17 bytes data, client => server 19:02:00.277824 'A001 CAPABILITY\r\n' 19:02:00.277970 Received DATA (on stdin) 19:02:00.277981 > 18 bytes data, server => client 19:02:00.277990 'A001 BAD Command\r\n' 19:02:00.278039 < 30 bytes data, client => server 19:02:00.278048 'A002 LIST "verifiedserver" *\r\n' 19:02:00.278207 Received DATA (on stdin) 19:02:00.278222 > 34 bytes data, server => client 19:02:00.278235 '* LIST () "/" "WE ROOLZ: 118683"\r\n' 19:02:00.278259 Received DATA (on stdin) 19:02:00.278270 > 24 bytes data, server => client 19:02:00.278281 'A002 OK LIST Completed\r\n' 19:02:00.320911 < 13 bytes data, client => server 19:02:00.320949 'A003 LOGOUT\r\n' 19:02:00.321185 Received DATA (on stdin) 19:02:00.321205 > 36 bytes data, server => client 19:02:00.321219 '* BYE curl IMAP server signing off\r\n' 19:02:00.321266 Received DATA (on stdin) 19:02:00.321278 > 26 bytes data, server => client 19:02:00.321289CMD (33792): ../libtool --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/valgrind3209 ../src/curl -q --output log/19/curl3209.out --include --trace-ascii log/19/trace3209 --trace-time imap://127.0.0.1:39839/3209 -T log/19/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/19/stdout3209 2> log/19/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/23/valgrind3206 ../src/curl -q --output log/23/curl3206.out --include --trace-ascii log/23/trace3206 --trace-time imap://127.0.0.1:33579/3206/ -u user:secret -X 'FETCH 456 BODY[TEXT]' > log/23/stdout3206 2> log/23/stderr3206 'A003 OK LOGOUT completed\r\n' 19:02:00.321409 ====> Client disconnect 19:02:00.321610 Received ACKD (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 ==176842== ==176842== Process terminating with default action of signal 4 (SIGILL) ==176842== Illegal opcode at address 0x4013E00 ==176842== at 0x4013E00: getparameter (tool_getparam.c:2846) ==176842== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176842== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==176842== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3210 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/19/valgrind3209 ../src/curl -q --output log/19/curl3209.out --include --trace-ascii log/19/trace3209 --trace-time imap://127.0.0.1:39839/3209 -T log/19/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/19/stdout3209 2> log/19/stderr3209 3209: 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 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/19/valgrind3209 ../src/curl -q --output log/19/curl3209.out --include --trace-ascii log/19/trace3209 --trace-time imap://127.0.0.1:39839/3209 -T log/19/upload3209 -u user:secret --upload-flags answered,deleted,draft,flagged,seen > log/19/stdout3209 2> log/19/stderr3209 === End of file commands.log === Start of file imap_server.log 19:02:00.497254 ====> Client connect 19:02:00.497433 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:02:00.497793 < "A001 CAPABILITY" 19:02:00.497838 > "A001 BAD Command[CR][LF]" 19:02:00.498046 < "A002 LIST "verifiedserver" *" 19:02:00.498078 LIST_imap got "verifiedserver" * 19:02:00.498106 > "* LIST () "/" "WE ROOLZ: 119136"[CR][LF]" 19:02:00.498127 > "A002 OK LIST Completed[CR][LF]" 19:02:00.498142 return proof we are we 19:02:00.538973 < "A003 LOGOUT" 19:02:00.539022 > "* BYE curl IMAP server signing off[CR][LF]" 19:02:00.539041 > "A003 OK LOGOUT completed[CR][LF]" 19:02:00.539923 MAIN sockfilt said DISC 19:02:00.539959 ====> Client disconnected 19:02:00.540019 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:02:01.269199 ====> Client connect 19:02:01.269513 Received DATA (on stdin) 19:02:01.269533 > 178 bytes data, server => client 19:02:01.269546 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:02:01.269558 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:02:01.269569 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:02:01.269579 'rve\r\n' 19:02:01.269667 < 17 bytes data, client => server 19:02:01.269684 'A001 CAPABILITY\r\n' 19:02:01.269897 Received DATA (on stdin) 19:02:01.269912 > 18 bytes data, server => client 19:02:01.269924 'A001 BAD Command\r\n' 19:02:01.269987 < 30 bytes data, client => server 19:02:01.270004 'A002 LIST "verifiedserver" *\r\n' 19:02:01.270195 Received DATA (on stdin) 19:02:01.270208 > 34 bytes data, server => client 19:02:01.270220 '* LIST () "/" "WE ROOLZ: 119136"\r\n' 19:02:01.270243 Received DATA (on stdin) 19:02:01.270254 > 24 bytes data, server => client 19:02:01.270265 'A002 OK LIST Completed\r\n' 19:02:01.310875 < 13 bytes data, client => server 19:02:01.310899 'A003 LOGOUT\r\n' 19:02:01.311094 Received DATA (on stdin) 19:02:01.311106 > 36 bytes data, server => client 19:02:01.311118 '* BYE curl IMAP server signing off\r\n' 19:02:01.311139 Received DATA (on stdin) 19:02:01.311149 > 26 bytes data, server => client 19:02:01.311159 'A003 OK LOGOUT completed\r\n' 19:02:01.311910 ====> Client disconnect 19:02:01.312073 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 ==176805== ==176805== Process terminating with default action of signal 4 (SIGILL) ==176805== Illegal opcode at address 0x4013E00 ==176805== at 0x4013E00: getparameter (tool_getparam.c:2846) ==176805== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176805== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==176805== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3209 test 3206...[IMAP custom FETCH with larger literal response (~7KB)] ../libtool --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/valgrind3206 ../src/curl -q --output log/23/curl3206.out --include --trace-ascii log/23/trace3206 --trace-time imap://127.0.0.1:33579/3206/ -u user:secret -X 'FETCH 456 BODY[TEXT]' > log/23/stdout3206 2> log/23/stderr3206 3206: 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 3206 === Start of file commands.log ../libtool --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/valgrind3206 ../src/curl -q --output log/23/curl3206.out --include --trace-ascii log/23/trace3206 --trace-time imap://127.0.0.1:33579/3206/ -u user:secret -X 'FETCH 456 BODY[TEXT]' > log/23/stdout3206 2> log/23/stderr3206 === End of file commands.log === Start of file imap_server.log 19:02:00.493515 ====> Client connect 19:02:00.493647 > " _ _ ____ _ [CR][LF] ___| | | | _ \| | [CR][LF] / __| | | | |_) | | [CR][LF] | (__| |_| | _ {| |___ [CR][LF] \___|\___/|_| \_\_____|[CR][LF]* OK curl IMAP server ready to serve[CR][LF]" 19:02:00.493953 < "A001 CAPABILITY" 19:02:00.493993 > "A001 BAD Command[CR][LF]" 19:02:00.494209 < "A002 LIST "verifiedserver" *" 19:02:00.494251 LIST_imap got "verifiedserver" * 19:02:00.494289 > "* LIST () "/" "WE ROOLZ: 118679"[CR][LF]" 19:02:00.494309 > "A002 OK LIST Completed[CR][LF]" 19:02:00.494324 return proof we are we 19:02:00.535881 < "A003 LOGOUT" 19:02:00.535932 > "* BYE curl IMAP server signing off[CR][LF]" 19:02:00.535950 > "A003 OK LOGOUT completed[CR][LF]" 19:02:00.536812 MAIN sockfilt said DISC 19:02:00.536838 ====> Client disconnected 19:02:00.536899 Awaiting input === End of file imap_server.log === Start of file imap_sockfilt.log 19:02:00.265472 ====> Client connect 19:02:00.265714 Received DATA (on stdin) 19:02:00.265734 > 178 bytes data, server => client 19:02:00.265748 ' _ _ ____ _ \r\n ___| | | | _ \| | \r\n ' 19:02:00.265759 ' / __| | | | |_) | | \r\n | (__| |_| | _ {| |___ \r\n ' 19:02:00.265770 ' \___|\___/|_| \_\_____|\r\n* OK curl IMAP server ready to se' 19:02:00.265780 'rve\r\n' 19:02:00.265862 < 17 bytes data, client => 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/20/valgrind3215 ../src/curl -q --output log/20/curl3215.out --include --trace-ascii log/20/trace3215 --trace-time smtp://127.0.0.1:34071/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/20/stdout3215 2> log/20/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/6/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:38509/3100 > log/6/stdout3100 2> log/6/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/13/valgrind3026 ./libtest/libtests lib3026 - > log/13/stdout3026 2> log/13/stderr3026 er 19:02:00.265875 'A001 CAPABILITY\r\n' 19:02:00.266049 Received DATA (on stdin) 19:02:00.266063 > 18 bytes data, server => client 19:02:00.266074 'A001 BAD Command\r\n' 19:02:00.266131 < 30 bytes data, client => server 19:02:00.266144 'A002 LIST "verifiedserver" *\r\n' 19:02:00.266386 Received DATA (on stdin) 19:02:00.266405 > 34 bytes data, server => client 19:02:00.266417 '* LIST () "/" "WE ROOLZ: 118679"\r\n' 19:02:00.266455 Received DATA (on stdin) 19:02:00.266466 > 24 bytes data, server => client 19:02:00.266477 'A002 OK LIST Completed\r\n' 19:02:00.307769 < 13 bytes data, client => server 19:02:00.307794 'A003 LOGOUT\r\n' 19:02:00.308003 Received DATA (on stdin) 19:02:00.308016 > 36 bytes data, server => client 19:02:00.308027 '* BYE curl IMAP server signing off\r\n' 19:02:00.308066 Received DATA (on stdin) 19:02:00.308076 > 26 bytes data, server => client 19:02:00.308087 'A003 OK LOGOUT completed\r\n' 19:02:00.308818 ====> Client disconnect 19:02:00.308949 Received ACKD (on stdin) === End of file imap_sockfilt.log === Start of file server.cmd Testnum 3206 === End of file server.cmd === Start of file valgrind3206 ==176776== ==176776== Process terminating with default action of signal 4 (SIGILL) ==176776== Illegal opcode at address 0x4013E00 ==176776== at 0x4013E00: getparameter (tool_getparam.c:2846) ==176776== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==176776== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==176776== by 0x40037A4: main (tool_main.c:199) === End of file valgrind3206 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/20/valgrind3215 ../src/curl -q --output log/20/curl3215.out --include --trace-ascii log/20/trace3215 --trace-time smtp://127.0.0.1:34071/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/20/stdout3215 2> log/20/stderr3215 3215: 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 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/20/valgrind3215 ../src/curl -q --output log/20/curl3215.out --include --trace-ascii log/20/trace3215 --trace-time smtp://127.0.0.1:34071/3215 --mail-rcpt " NOTIFY=SUCCESS,FAILURE" --mail-from " RET=HDRS" -T - log/20/stdout3215 2> log/20/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 19:02:00.645102 ====> Client connect 19:02:00.645284 > "220- _ _ ____ _ [CR][LF]220- ___| | | | _ \| | [CR][LF]220- / __| | | | |_) | | [CR][LF]220- | (__| |_| | _ {| |___ [CR][LF]220 \___|\___/|_| \_\_____|[CR][LF]" 19:02:00.645632 < "EHLO verifiedserver" 19:02:00.645669 > "250 ESMTP pingpong test server Hello verifiedserver[CR][LF]" 19:02:00.645837 < "HELP" 19:02:00.645866 > "214 WE ROOLZ: 124456[CR][LF]" 19:02:00.645879 return proof we are we 19:02:00.646121 < "QUIT" 19:02:00.646149 > "221 curl ESMTP server signing off[CR][LF]" 19:02:00.646977 MAIN sockfilt said DISC 19:02:00.647032 ====> Client disconnected 19:02:00.647102 Awaiting input === End of file smtp_server.log === Start of file smtp_sockfilt.log 19:02:00.417013 ====> Client connect 19:02:00.417356 Received DATA (on stdin) 19:02:00.417379 > 160 bytes data, server => client 19:02:00.417393 '220- _ _ ____ _ \r\n220- ___| | | | _ \| | ' 19:02:00.417405 ' \r\n220- / __| | | | |_) | | \r\n220- | (__| |_| | ' 19:02:00.417427 '_ {| |___ \r\n220 \___|\___/|_| \_\_____|\r\n' 19:02:00.417542 < 21 bytes data, client => server 19:02:00.417556 'EHLO verifiedserver\r\n' 19:02:00.417724 Received DATA (on stdin) 19:02:00.417737 > 53 bytes data, server => client 19:02:00.417750 '250 ESMTP pingpong test server Hello verifiedserver\r\n' 19:02:00.417804 < 6 bytes data, client => server 19:02:00.417816 'HELP\r\n' 19:02:00.417930 Received DATA (on stdin) 19:02:00.417943 > 22 bytes data, server => client 19:02:00.417954 '214 WE ROOLZ: 124456\r\n' 19:02:00.418064 < 6 bytes data, client => server 19:02:00.418079 'QUIT\r\n' 19:02:00.418202 Received DATA (on stdin) 19:02:00.418215 > 35 bytes data, server => client 19:02:00.418227 '221 curl ESMTP server signing off\r\n' 19:02:00.418956 ====> Client disconnect 19:02:00.419181 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 ==177022== ==177022== Process terminating with default action of signal 4 (SIGILL) ==177022== Illegal opcode at address 0x4013E00 ==177022== at 0x4013E00: getparameter (tool_getparam.c:2846) ==177022== by 0x40037A4: UnknownInlinedFun (tool_getparam.c:3029) ==177022== by 0x40037A4: UnknownInlinedFun (tool_operate.c:2237) ==177022== by 0x40037A4: 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/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 175930 port 38509 * pid rtsp => 175930 175930 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/6/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:38509/3100 > log/6/stdout3100 2> log/6/stderr3100 3100: 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 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/6/valgrind3100 ./libtest/libtests lib3100 rtsp://127.0.0.1:38509/3100 > log/6/stdout3100 2> log/6/stderr3100 === End of file commands.log === Start of file rtsp_server.log 19:01:59.541879 Running IPv4 version on port 38509 19:01:59.541959 Wrote pid 175930 to log/6/server/rtsp_server.pid 19:01:59.541992 Wrote port 38509 to log/6/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:38509/3100 === End of file stderr3100 === Start of file valgrind3100 ==177090== ==177090== Process terminating with default action of signal 4 (SIGILL) ==177090== Illegal opcode at address 0x51D5F1F ==177090== at 0x51D5F1F: UnknownInlinedFun (string_fortified.h:59) ==177090== by 0x51D5F1F: UnknownInlinedFun (request.c:45) ==177090== by 0x51D5F1F: Curl_open (url.c:525) ==177090== by 0x514F6EF: curl_easy_init (easy.c:371) ==177090== by 0x4042F8A: test_lib3100.lto_priv.0 (lib3100.c:38) ==177090== by 0x400347F: main (first.c:280) ==177090== 5,384 bytes in 1 blocks are definitely lost in loss record 643 of 645 ==177090== at 0x510AC13: calloc (vg_replace_malloc.c:1675) ==177090== by 0x51D5EBD: Curl_open (url.c:504) ==177090== by 0x514F6EF: curl_easy_init (easy.c:371) ==177090== by 0x4042F8A: test_lib3100.lto_priv.0 (lib3100.c:38) ==177090== by 0x400347F: main (first.c:280) ==177090== === 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/valg* kill pid for ftp-ctrl => 80669 * kill pid for ftp-ctrl => 151240 * kill pid for ftp-ctrl => 80860 * kill pid for ftp-ctrl => 89444 * kill pid for ftp-ctrl => 80717 * kill pid for ftp-ctrl => 81286 * kill pid for ftp-ctrl => 80768 * kill pid for ftp-ctrl => 80558 * kill pid for ftp-ctrl => 80721 * kill pid for ftp-ctrl => 168070 * kill pid for ftp-ctrl => 80688 * kill pid for ftp-ctrl => 80696 * kill pid for ftp-ctrl => 80864 * kill pid for ftp-ctrl => 80962 * kill pid for ftp-ctrl => 81276 * kill pid for ftp-ctrl => 80690 * kill pid for ftp-ctrl => 80920 * kill pid for ftp-ctrl => 80689 * kill pid for ftp-ctrl => 80687 * kill pid for ftp-ctrl => 80867 * kill pid for ftp-ipv6-ctrl => 90079 * kill pid for ftp-ctrl => 80475 * kill pid for ftp-ctrl => 80617 * kill pid for ftp-ctrl => 80695 * kill pid for ftp-ctrl => 80776 * kill pid for imap-filt => 118809 * kill pid for pop3-filt => 121621 * kill pid for imap-filt => 118623 * kill pid for ftp-ipv6-ctrl => 133110 * kill pid for ftp-ipv6-ctrl => 90262 * kill pid for imap-filt => 118585 * kill pid for ftp-ipv6-ctrl => 90097 * kill pid for imap-filt => 119137 * kill pid for imap-filt => 118833 * kill pid for ftp-ipv6-ctrl => 132988 * kill pid for imap-filt => 118628 * kill pid for ftp-ipv6-ctrl => 90149 * kill pid for imap-filt => 118563 * kill pid for imap-filt => 118626 * kill pid for imap-filt => 109815 * kill pid for imap-filt => 118719 * kill pid for imap-filt => 118625 * kill pid for imap-filt => 118716 * kill pid for pop3-filt => 121636 * kill pid for pop3-filt => 121494 * kill pid for smtp-filt => 124540 RUN: Process with pid 74578 signalled to die RUN: Process with pid 80847 signalled to die RUN: Process with pid 89413 signalled to die RUN: Process with pid 91837 signalled to die RUN: Process with pid 107624 signalled to die RUN: Process with pid 118579 signalled to die RUN: Process with pid 121440 signalled to die RUN: Process with pid 124520 signalled to die RUN: Process with pid 133060 signalled to die RUN: Process with pid 135904 signalled to die * kill pid for pop3-filt => 121617 * kill pid for imap-filt => 118627 * kill pid for smtp-filt => 109818 * kill pid for pop3-filt => 102044 * kill pid for imap-filt => 118571 * kill pid for pop3-filt => 121624 * kill pid for imap-filt => 118718 * kill pid for smtp-filt => 124451 * kill pid for pop3-filt => 121620 * kill pid for smtp-filt => 124444 RUN: Process with pid 74418 signalled to die RUN: Process with pid 80691 signalled to die RUN: Process with pid 92367 signalled to die RUN: Process with pid 107569 signalled to die RUN: Process with pid 118679 signalled to die RUN: Process with pid 121615 signalled to die RUN: Process with pid 124447 signalled to die RUN: Process with pid 148846 signalled to die RUN: Process with pid 74741 signalled to die RUN: Process with pid 173242 signalled to die RUN: Process with pid 89392 signalled to die RUN: Process with pid 113244 signalled to die RUN: Process with pid 118683 signalled to die RUN: Process with pid 121612 signalled to die RUN: Process with pid 124441 signalled to die RUN: Process with pid 141504 signalled to die RUN: Process with pid 155866 signalled to die * kill pid for smtp-filt => 124478 * kill pid for imap-filt => 118717 * kill pid for pop3-filt => 121641 * kill pid for imap-filt => 111429 * kill pid for pop3-filt => 121631 * kill pid for smtp-filt => 124475 RUN: Process with pid 74428 signalled to die RUN: Process with pid 90056 signalled to die RUN: Process with pid 92369 signalled to die RUN: Process with pid 107583 signalled to die RUN: Process with pid 111383 signalled to die RUN: Process with pid 114590 signalled to die RUN: Process with pid 121618 signalled to die RUN: Process with pid 124455 signalled to die RUN: Process with pid 156886 signalled to die RUN: Process with pid 161286 signalled to die RUN: Process with pid 167965 signalled to die RUN: Process with pid 173175 signalled to die * kill pid for imap-filt => 118562 * kill pid for imap-filt => 110270 * kill pid for pop3-filt => 122647 * kill pid for pop3-filt => 121640 RUN: Process with pid 76272 signalled to die RUN: Process with pid 79267 signalled to die RUN: Process with pid 80702 signalled to die RUN: Process with pid 109817 signalled to die RUN: Process with pid 113394 signalled to die RUN: Process with pid 118723 signalled to die RUN: Process with pid 121613 signalled to die RUN: Process with pid 141564 signalled to die RUN: Process with pid 168227 signalled to die * kill pid for pop3-filt => 121634 * kill pid for imap-filt => 118624 * kill pid for smtp-filt => 126174 * kill pid for pop3-filt => 121542 * kill pid for smtp-filt => 124452 * kill pid for pop3-filt => 121650 RUN: Process with pid 76406 signalled to die RUN: Process with pid 80429 signalled to die RUN: Process with pid 107620 signalled to die RUN: Process with pid 113047 signalled to die RUN: Process with pid 122588 signalled to die RUN: Process with pid 124446 signalled to die RUN: Process with pid 147671 signalled to die RUN: Process with pid 175058 signalled to die RUN: Process with pid 74421 signalled to die RUN: Process with pid 80693 signalled to die RUN: Process with pid 113002 signalled to die RUN: Process with pid 118604 signalled to die RUN: Process with pid 121626 signalled to die RUN: Process with pid 124456 signalled to die RUN: Process with pid 132772 signalled to die RUN: Process with pid 141483 signalled to die RUN: Process with pid 160923 signalled to die * kill pid for pop3-filt => 121651 * kill pid for imap-filt => 118629 * kill pid for pop3-filt => 121645 * kill pid for smtp-filt => 124553 * kill pid for pop3-filt => 121632 * kill pid for pop3-filt => 121633 * kill pid for smtp-filt => 124477 RUN: Process with pid 74688 signalled to die RUN: Process with pid 79440 signalled to die RUN: Process with pid 80760 signalled to die RUN: Process with pid 90093 signalled to die RUN: Process with pid 114027 signalled to die RUN: Process with pid 118620 signalled to die RUN: Process with pid 121622 signalled to die RUN: Process with pid 124454 signalled to die * kill pid for smtp-filt => 124450 * kill pid for smtp-filt => 124381 * kill pid for pop3-filt => 121630 * kill pid for smtp-filt => 124445 RUN: Process with pid 74420 signalled to die RUN: Process with pid 81255 signalled to die RUN: Process with pid 113043 signalled to die RUN: Process with pid 118602 signalled to die RUN: Process with pid 121619 signalled to die RUN: Process with pid 124443 signalled to die RUN: Process with pid 135316 signalled to die RUN: Process with pid 141393 signalled to die RUN: Process with pid 168469 signalled to die * kill pid for pop3-filt => 129153 * kill pid for smtp-filt => 124484 * kill pid for smtp-filt => 109838 RUN: Process with pid 80682 signalled to die RUN: Process with pid 113227 signalled to die RUN: Process with pid 114411 signalled to die RUN: Process with pid 118685 signalled to die RUN: Process with pid 121598 signalled to die RUN: Process with pid 124458 signalled to die RUN: Process with pid 159573 signalled to die RUN: Process with pid 168228 signalled to die * kill pid for smtp-filt => 124538 RUN: Process with pid 74419 signalled to die RUN: Process with pid 80850 signalled to die RUN: Process with pid 89475 signalled to die RUN: Process with pid 107572 signalled to die RUN: Process with pid 112798 signalled to die RUN: Process with pid 118557 signalled to die RUN: Process with pid 121639 signalled to die RUN: Process with pid 124505 signalled to die RUN: Process with pid 130354 signalled to die RUN: Process with pid 132903 signalled to die RUN: Process with pid 141484 signalled to die RUN: Process with pid 167641 signalled to die * kill pid for pop3-filt => 121512 * kill pid for smtp-filt => 109766 RUN: Process with pid 74797 signalled to die RUN: Process with pid 80681 signalled to die RUN: Process with pid 92368 signalled to die RUN: Process with pid 101960 signalled to die RUN: Process with pid 113142 signalled to die RUN: Process with pid 115575 signalled to die RUN: Process with pid 118618 signalled to die RUN: Process with pid 124365 signalled to die RUN: Process with pid 145734 signalled to die * kill pid for smtp-filt => 124644 RUN: Process with pid 80680 signalled to die RUN: Process with pid 109814 signalled to die RUN: Process with pid 113329 signalled to die RUN: Process with pid 121644 signalled to die RUN: Process with pid 124613 signalled to die RUN: Process with pid 148921 signalled to die RUN: Process with pid 175059 signalled to die * kill pid for pop3-filt => 121635 * kill pid for smtp-filt => 124476 * kill pid for pop3-filt => 121643 RUN: Process with pid 75002 signalled to die RUN: Process with pid 80887 signalled to die RUN: Process with pid 113231 signalled to die RUN: Process with pid 118619 signalled to die RUN: Process with pid 121625 signalled to die RUN: Process with pid 124448 signalled to die RUN: Process with pid 141447 signalled to die RUN: Process with pid 74424 signalled to die RUN: Process with pid 80755 signalled to die RUN: Process with pid 90244 signalled to die RUN: Process with pid 94306 signalled to die RUN: Process with pid 107691 signalled to die RUN: Process with pid 113140 signalled to die RUN: Process with pid 118621 signalled to die RUN: Process with pid 121627 signalled to die RUN: Process with pid 124457 signalled to die RUN: Process with pid 141555 signalled to die RUN: Process with pid 148775 signalled to die RUN: Process with pid 155826 signalled to die * kill pid for smtp-filt => 109953 RUN: Process with pid 74423 signalled to die RUN: Process with pid 80927 signalled to die RUN: Process with pid 90932 signalled to die RUN: Process with pid 109952 signalled to die RUN: Process with pid 112801 signalled to die RUN: Process with pid 118568 signalled to die RUN: Process with pid 121647 signalled to die RUN: Process with pid 173354 signalled to die RUN: Process with pid 76270 signalled to die RUN: Process with pid 80654 signalled to die RUN: Process with pid 90043 signalled to die RUN: Process with pid 103605 signalled to die RUN: Process with pid 113005 signalled to die RUN: Process with pid 126142 signalled to die RUN: Process with pid 141388 signalled to die RUN: Process with pid 157600 signalled to die RUN: Process with pid 169710 signalled to die RUN: Process with pid 175930 signalled to die RUN: Process with pid 74417 signalled to die RUN: Process with pid 81247 signalled to die RUN: Process with pid 109754 signalled to die RUN: Process with pid 111832 signalled to die RUN: Process with pid 118832 signalled to die RUN: Process with pid 121646 signalled to die RUN: Process with pid 141397 signalled to die RUN: Process with pid 143700 signalled to die RUN: Process with pid 145193 signalled to die RUN: Process with pid 157504 signalled to die * kill pid for smtp-filt => 124355 * kill pid for smtp-filt => 124489 RUN: Process with pid 74422 signalled to die RUN: Process with pid 80854 signalled to die RUN: Process with pid 109820 signalled to die RUN: Process with pid 112728 signalled to die RUN: Process with pid 119136 signalled to die RUN: Process with pid 121535 signalled to die RUN: Process with pid 141385 signalled to die RUN: Process with pid 155683 signalled to die RUN: Process with pid 169766 signalled to die * kill pid for smtp-filt => 124558 RUN: Process with pid 80684 signalled to die RUN: Process with pid 91311 signalled to die RUN: Process with pid 112794 signalled to die RUN: Process with pid 118555 signalled to die RUN: Process with pid 121642 signalled to die RUN: Process with pid 124537 signalled to die RUN: Process with pid 141541 signalled to die RUN: Process with pid 147160 signalled to die RUN: Process with pid 169363 signalled to die RUN: Process with pid 74425 signalled to die RUN: Process with pid 80535 signalled to die RUN: Process with pid 113346 signalled to die RUN: Process with pid 118684 signalled to die RUN: Process with pid 121638 signalled to die RUN: Process with pid 124535 signalled to die RUN: Process with pid 130552 signalled to die RUN: Process with pid 141565 signalled to die RUN: Process with pid 148731 signalled to die RUN: Process with pid 74426 signalled to die RUN: Process with pid 80249 signalled to die RUN: Process with pid 89493 signalled to die RUN: Process with pid 113138 signalled to die RUN: Process with pid 118622 signalled to die RUN: Process with pid 121623 signalled to die RUN: Process with pid 124465 signalled to die RUN: Process with pid 141507 signalled to die RUN: Process with pid 151130 signalled to die RUN: Process with pid 74477 signalled to die RUN: Process with pid 80703 signalled to die RUN: Process with pid 107607 signalled to die RUN: Process with pid 124334 signalled to die RUN: Process with pid 129119 signalled to die RUN: Process with pid 133477 signalled to die RUN: Process with pid 173146 signalled to die * kill pid for smtp-filt => 124541 RUN: Process with pid 74802 signalled to die RUN: Process with pid 80615 signalled to die RUN: Process with pid 92364 signalled to die RUN: Process with pid 110266 signalled to die RUN: Process with pid 113006 signalled to die RUN: Process with pid 121511 signalled to die RUN: Process with pid 124528 signalled to die RUN: Process with pid 154347 signalled to die RUN: Process with pid 80847 gracefully died RUN: Process with pid 80691 gracefully died RUN: Process with pid 89392 gracefully died RUN: Process with pid 80693 gracefully died RUN: Process with pid 80760 gracefully died RUN: Process with pid 81255 gracefully died RUN: Process with pid 80682 gracefully died RUN: Process with pid 80850 gracefully died RUN: Process with pid 80681 gracefully died RUN: Process with pid 80680 gracefully died RUN: Process with pid 80887 gracefully died RUN: Process with pid 80755 gracefully died RUN: Process with pid 80927 gracefully died RUN: Process with pid 80654 gracefully died RUN: Process with pid 81247 gracefully died RUN: Process with pid 80854 gracefully died RUN: Process with pid 80684 gracefully died RUN: Process with pid 80535 gracefully died RUN: Process with pid 121623 gracefully died RUN: Process with pid 80703 gracefully died RUN: Process with pid 80615 gracefully died RUN: Process with pid 74578 gracefully died RUN: Process with pid 74418 gracefully died RUN: Process with pid 74741 gracefully died RUN: Process with pid 74428 gracefully died RUN: Process with pid 76272 gracefully died RUN: Process with pid 74421 gracefully died RUN: Process with pid 76406 gracefully died RUN: Process with pid 74688 gracefully died RUN: Process with pid 74420 gracefully died RUN: Process with pid 113227 gracefully died RUN: Process with pid 74419 gracefully died RUN: Process with pid 74797 gracefully died RUN: Process with pid 109814 gracefully died RUN: Process with pid 75002 gracefully died RUN: Process with pid 74424 gracefully died RUN: Process with pid 74423 gracefully died RUN: Process with pid 76270 gracefully died RUN: Process with pid 74417 gracefully died RUN: Process with pid 74422 gracefully died RUN: Process with pid 112794 gracefully died RUN: Process with pid 74425 gracefully died RUN: Process with pid 74426 gracefully died RUN: Process with pid 74477 gracefully died RUN: Process with pid 74802 gracefully died RUN: Process with pid 89413 gracefully died RUN: Process with pid 118679 gracefully died RUN: Process with pid 113244 gracefully died RUN: Process with pid 90056 gracefully died RUN: Process with pid 79267 gracefully died RUN: Process with pid 113002 gracefully died RUN: Process with pid 80429 gracefully died RUN: Process with pid 79440 gracefully died RUN: Process with pid 113043 gracefully died RUN: Process with pid 114411 gracefully died RUN: Process with pid 89475 gracefully died RUN: Process with pid 101960 gracefully died RUN: Process with pid 113329 gracefully died RUN: Process with pid 113231 gracefully died RUN: Process with pid 90244 gracefully died RUN: Process with pid 90932 gracefully died RUN: Process with pid 90043 gracefully died RUN: Process with pid 109754 gracefully died RUN: Process with pid 109820 gracefully died RUN: Process with pid 118555 gracefully died RUN: Process with pid 113346 gracefully died RUN: Process with pid 80249 gracefully died RUN: Process with pid 124334 gracefully died RUN: Process with pid 110266 gracefully died RUN: Process with pid 91837 gracefully died RUN: Process with pid 121615 gracefully died RUN: Process with pid 118683 gracefully died RUN: Process with pid 111383 gracefully died RUN: Process with pid 80702 gracefully died RUN: Process with pid 118604 gracefully died RUN: Process with pid 113047 gracefully died RUN: Process with pid 90093 gracefully died RUN: Process with pid 118602 gracefully died RUN: Process with pid 118685 gracefully died RUN: Process with pid 112798 gracefully died RUN: Process with pid 113142 gracefully died RUN: Process with pid 121644 gracefully died RUN: Process with pid 118619 gracefully died RUN: Process with pid 113140 gracefully died RUN: Process with pid 109952 gracefully died RUN: Process with pid 103605 gracefully died RUN: Process with pid 118832 gracefully died RUN: Process with pid 112728 gracefully died RUN: Process with pid 121642 gracefully died RUN: Process with pid 118684 gracefully died RUN: Process with pid 89493 gracefully died RUN: Process with pid 129119 gracefully died RUN: Process with pid 113006 gracefully died RUN: Process with pid 118579 gracefully died RUN: Process with pid 124447 gracefully died RUN: Process with pid 121612 gracefully died RUN: Process with pid 114590 gracefully died RUN: Process with pid 109817 gracefully died RUN: Process with pid 121626 gracefully died RUN: Process with pid 122588 gracefully died RUN: Process with pid 114027 gracefully died RUN: Process with pid 121619 gracefully died RUN: Process with pid 121598 gracefully died RUN: Process with pid 118557 gracefully died RUN: Process with pid 115575 gracefully died RUN: Process with pid 124613 gracefully died RUN: Process with pid 121625 gracefully died RUN: Process with pid 118621 gracefully died RUN: Process with pid 112801 gracefully died RUN: Process with pid 113005 gracefully died RUN: Process with pid 121646 gracefully died RUN: Process with pid 119136 gracefully died RUN: Process with pid 124537 gracefully died RUN: Process with pid 121638 gracefully died RUN: Process with pid 113138 gracefully died RUN: Process with pid 133477 gracefully died RUN: Process with pid 121511 gracefully died RUN: Process with pid 121440 gracefully died RUN: Process with pid 148846 gracefully died RUN: Process with pid 124441 gracefully died RUN: Process with pid 121618 gracefully died RUN: Process with pid 113394 gracefully died RUN: Process with pid 124456 gracefully died RUN: Process with pid 124446 gracefully died RUN: Process with pid 118620 gracefully died RUN: Process with pid 124443 gracefully died RUN: Process with pid 124458 gracefully died RUN: Process with pid 121639 gracefully died RUN: Process with pid 118618 gracefully died RUN: Process with pid 148921 gracefully died RUN: Process with pid 124448 gracefully died RUN: Process with pid 121627 gracefully died RUN: Process with pid 118568 gracefully died RUN: Process with pid 126142 gracefully died RUN: Process with pid 141397 gracefully died RUN: Process with pid 121535 gracefully died RUN: Process with pid 141541 gracefully died RUN: Process with pid 124535 gracefully died RUN: Process with pid 118622 gracefully died RUN: Process with pid 173146 gracefully died RUN: Process with pid 124528 gracefully died RUN: Process with pid 124520 gracefully died RUN: Process with pid 173242 gracefully died RUN: Process with pid 141504 gracefully died RUN: Process with pid 124455 gracefully died RUN: Process with pid 118723 gracefully died RUN: Process with pid 132772 gracefully died RUN: Process with pid 147671 gracefully died RUN: Process with pid 121622 gracefully died RUN: Process with pid 135316 gracefully died RUN: Process with pid 159573 gracefully died RUN: Process with pid 124505 gracefully died RUN: Process with pid 124365 gracefully died RUN: Process with pid 175059 gracefully died RUN: Process with pid 141447 gracefully died RUN: Process with pid 124457 gracefully died RUN: Process with pid 121647 gracefully died RUN: Process with pid 141388 gracefully died RUN: Process with pid 143700 gracefully died RUN: Process with pid 141385 gracefully died RUN: Process with pid 147160 gracefully died RUN: Process with pid 141565 gracefully died RUN: Process with pid 124465 gracefully died RUN: Process with pid 154347 gracefully died RUN: Process with pid 133060 gracefully died RUN: Process with pid 155866 gracefully died RUN: Process with pid 121613 gracefully died RUN: Process with pid 156886 gracefully died RUN: Process with pid 141483 gracefully died RUN: Process with pid 175058 gracefully died RUN: Process with pid 124454 gracefully died RUN: Process with pid 141393 gracefully died RUN: Process with pid 168228 gracefully died RUN: Process with pid 132903 gracefully died RUN: Process with pid 145734 gracefully died RUN: Process with pid 141555 gracefully died RUN: Process with pid 173354 gracefully died RUN: Process with pid 157600 gracefully died RUN: Process with pid 145193 gracefully died RUN: Process with pid 155683 gracefully died RUN: Process with pid 169363 gracefully died RUN: Process with pid 148731 gracefully died RUN: Process with pid 141507 gracefully died RUN: Process with pid 141564 gracefully died RUN: Process with pid 161286 gracefully died RUN: Process with pid 160923 gracefully died RUN: Process with pid 168469 gracefully died RUN: Process with pid 141484 gracefully died RUN: Process with pid 148775 gracefully died RUN: Process with pid 157504 gracefully died RUN: Process with pid 151130 gracefully died RUN: Process with pid 168227 gracefully died RUN: Process with pid 167965 gracefully died RUN: Process with pid 167641 gracefully died RUN: Process with pid 155826 gracefully died RUN: Process with pid 173175 gracefully died RUN: Process with pid 107624 forced to die with SIGKILL RUN: Process with pid 135904 forced to die with SIGKILL RUN: Process with pid 92367 forced to die with SIGKILL RUN: Process with pid 107569 forced to die with SIGKILL RUN: Process with pid 92369 forced to die with SIGKILL RUN: Process with pid 107583 forced to die with SIGKILL RUN: Process with pid 107620 forced to die with SIGKILL RUN: Process with pid 107572 forced to die with SIGKILL RUN: Process with pid 130354 forced to die with SIGKILL RUN: Process with pid 92368 forced to die with SIGKILL RUN: Process with pid 94306 forced to die with SIGKILL RUN: Process with pid 111832 forced to die with SIGKILL RUN: Process with pid 107691 forced to die with SIGKILL RUN: Process with pid 169710 forced to die with SIGKILL RUN: Process with pid 169766 forced to die with SIGKILL RUN: Process with pid 175930 forced to die with SIGKILL RUN: Process with pid 91311 forced to die with SIGKILL RUN: Process with pid 130552 forced to die with SIGKILL RUN: Process with pid 107607 forced to die with SIGKILL RUN: Process with pid 92364 forced to die with SIGKILL rind.supp --num-callers=16 --log-file=log/13/valgrind3026 ./libtest/libtests lib3026 - > log/13/stdout3026 2> log/13/stderr3026 -------e-v- OK (1715 out of 1746, remaining: 00:02, took 2.262s, duration: 02:09) startnew: /usr/bin/perl -I. -I/startdir/src/curl/tests /startdir/src/curl/tests/http2-server.pl --port 39107 --port2 33459 --nghttpx "nghttpx" --pidfile "log/1/server/http_v2_server.pid" --logfile "log/1/http_v2_server.log" --logdir "log/1" --connect 127.0.0.1:40353 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 36195 --port2 45517 --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:44531 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 46345 --port2 39585 --nghttpx "nghttpx" --pidfile "log/17/server/http_v2_server.pid" --logfile "log/17/http_v2_server.log" --logdir "log/17" --connect 127.0.0.1:40515 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 39873 --port2 41837 --nghttpx "nghttpx" --pidfile "log/21/server/http_v2_server.pid" --logfile "log/21/http_v2_server.log" --logdir "log/21" --connect 127.0.0.1:35043 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 35683 --nghttpx "nghttpx" --pidfile "log/22/server/http_v3_server.pid" --logfile "log/22/http_v3_server.log" --logdir "log/22" --connect 127.0.0.1:41061 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 => 74578 * kill pid for tftp => 135904 * kill pid for pop3 => 121440 * kill pid for smtp => 124520 * kill pid for http-ipv6 => 89413 * kill pid for imap => 118579 * kill pid for ftp => 80847 * kill pid for rtsp => 107624 * kill pid for http-proxy => 91837 * kill pid for ftp-ipv6 => 133060 * kill pid for rtsp => 175930 * kill pid for ftp => 80654 * kill pid for mqtt => 141388 * kill pid for ftp-ipv6 => 90043 * kill pid for http-proxy => 103605 * kill pid for http => 76270 * kill pid for tftp => 169710 * kill pid for socks => 113005 * kill pid for socks5unix => 157600 * kill pid for smtp => 126142 * kill pid for http-ipv6 => 89493 * kill pid for http => 74426 * kill pid for pop3 => 121623 * kill pid for smtp => 124465 * kill pid for socks => 113138 * kill pid for mqtt => 141507 * kill pid for http-proxy => 80249 * kill pid for imap => 118622 * kill pid for ftp => 151130 * kill pid for imap => 111383 * kill pid for ftp => 167965 * kill pid for rtsp => 107583 * kill pid for mqtt => 173175 * kill pid for http-proxy => 161286 * kill pid for ftp-ipv6 => 90056 * kill pid for tftp => 92369 * kill pid for http => 74428 * kill pid for pop3 => 121618 * kill pid for smtp => 124455 * kill pid for socks => 114590 * kill pid for http-ipv6 => 156886 * kill pid for rtsp => 107569 * kill pid for ftp => 80691 * kill pid for imap => 118679 * kill pid for mqtt => 173242 * kill pid for pop3 => 121615 * kill pid for smtp => 124447 * kill pid for tftp => 92367 * kill pid for http => 74418 * kill pid for http-ipv6 => 148846 * kill pid for http => 76406 * kill pid for socks => 113047 * kill pid for pop3 => 122588 * kill pid for smtp => 124446 * kill pid for mqtt => 175058 * kill pid for http-proxy => 147671 * kill pid for ftp => 80429 * kill pid for rtsp => 107620 * kill pid for http => 159573 * kill pid for pop3 => 121598 * kill pid for smtp => 124458 * kill pid for socks => 114411 * kill pid for imap => 118685 * kill pid for ftp => 80682 * kill pid for mqtt => 168228 * kill pid for http-proxy => 113227 * kill pid for http-proxy => 148731 * kill pid for ftp => 80535 * kill pid for imap => 118684 * kill pid for gopher-ipv6 => 141565 * kill pid for socks => 113346 * kill pid for pop3 => 121638 * kill pid for smtp => 124535 * kill pid for tftp => 130552 * kill pid for http => 74425 * kill pid for mqtt => 141393 * kill pid for http-proxy => 168469 * kill pid for imap => 118602 * kill pid for ftp => 81255 * kill pid for http-ipv6 => 135316 * kill pid for http => 74420 * kill pid for socks => 113043 * kill pid for smtp => 124443 * kill pid for pop3 => 121619 * kill pid for smtp => 109820 * kill pid for pop3 => 121535 * kill pid for socks => 112728 * kill pid for http => 74422 * kill pid for tftp => 169766 * kill pid for ftp => 80854 * kill pid for imap => 119136 * kill pid for http-proxy => 155683 * kill pid for mqtt => 141385 * kill pid for http-proxy => 79440 * kill pid for ftp-ipv6 => 90093 * kill pid for ftp => 80760 * kill pid for imap => 118620 * kill pid for smtp => 124454 * kill pid for pop3 => 121622 * kill pid for socks => 114027 * kill pid for http => 74688 * kill pid for ftp => 80680 * kill pid for imap => 109814 * kill pid for mqtt => 175059 * kill pid for pop3 => 121644 * kill pid for smtp => 124613 * kill pid for socks => 113329 * kill pid for http => 148921 * kill pid for mqtt => 141484 * kill pid for http-proxy => 167641 * kill pid for ftp-ipv6 => 132903 * kill pid for imap => 118557 * kill pid for ftp => 80850 * kill pid for rtsp => 107572 * kill pid for http-ipv6 => 89475 * kill pid for http => 74419 * kill pid for tftp => 130354 * kill pid for pop3 => 121639 * kill pid for smtp => 124505 * kill pid for socks => 112798 * kill pid for http-proxy => 160923 * kill pid for mqtt => 141483 * kill pid for ftp => 80693 * kill pid for imap => 118604 * kill pid for http-ipv6 => 132772 * kill pid for socks => 113002 * kill pid for pop3 => 121626 * kill pid for smtp => 124456 * kill pid for http => 74421 * kill pid for imap => 118683 * kill pid for ftp => 89392 * kill pid for mqtt => 141504 * kill pid for http => 74741 * kill pid for socks => 113244 * kill pid for smtp => 124441 * kill pid for pop3 => 121612 * kill pid for http-unix => 155866 * kill pid for imap => 110266 * kill pid for ftp => 80615 * kill pid for http-ipv6 => 154347 * kill pid for tftp => 92364 * kill pid for http => 74802 * kill pid for pop3 => 121511 * kill pid for smtp => 124528 * kill pid for socks => 113006 * kill pid for ftp-ipv6 => 90244 * kill pid for http-proxy => 148775 * kill pid for imap => 118621 * kill pid for rtsp => 107691 * kill pid for ftp => 80755 * kill pid for http-unix => 155826 * kill pid for gopher => 141555 * kill pid for http => 74424 * kill pid for tftp => 94306 * kill pid for socks => 113140 * kill pid for pop3 => 121627 * kill pid for smtp => 124457 * kill pid for rtsp => 111832 * kill pid for ftp => 81247 * kill pid for imap => 118832 * kill pid for http-proxy => 143700 * kill pid for mqtt => 141397 * kill pid for socks5unix => 157504 * kill pid for smtp => 109754 * kill pid for pop3 => 121646 * kill pid for http => 74417 * kill pid for http-ipv6 => 145193 * kill pid for http-ipv6 => 90932 * kill pid for smtp => 109952 * kill pid for pop3 => 121647 * kill pid for socks => 112801 * kill pid for http => 74423 * kill pid for mqtt => 173354 * kill pid for ftp => 80927 * kill pid for imap => 118568 * kill pid for mqtt => 173146 * kill pid for rtsp => 107607 * kill pid for ftp => 80703 * kill pid for http-ipv6 => 133477 * kill pid for http => 74477 * kill pid for pop3 => 129119 * kill pid for smtp => 124334 * kill pid for pop3 => 121642 * kill pid for smtp => 124537 * kill pid for socks => 112794 * kill pid for tftp => 91311 * kill pid for http => 169363 * kill pid for gopher => 141541 * kill pid for ftp => 80684 * kill pid for imap => 118555 * kill pid for http-proxy => 147160 * kill pid for http => 76272 * kill pid for socks => 113394 * kill pid for smtp => 109817 * kill pid for pop3 => 121613 * kill pid for gopher => 141564 * kill pid for imap => 118723 * kill pid for ftp => 80702 * kill pid for mqtt => 168227 * kilRunner 74402 exiting Runner 74398 exiting Runner 74407 exiting Runner 74406 exiting Runner 74415 exiting Runner 74397 exiting Runner 74401 exiting Runner 74408 exiting Runner 74413 exiting Runner 74411 exiting Runner 74400 exiting Runner 74394 exiting Runner 74414 exiting Runner 74412 exiting Runner 74399 exiting Runner 74395 exiting Runner 74409 exiting Runner 74416 exiting Runner 74410 exiting Runner 74405 exiting Runner 74403 exiting Runner 74404 exiting Runner 74393 exiting Runner 74396 exiting l pid for http-proxy => 79267 * kill pid for ftp => 80887 * kill pid for imap => 118619 * kill pid for mqtt => 141447 * kill pid for socks => 113231 * kill pid for pop3 => 121625 * kill pid for smtp => 124448 * kill pid for http => 75002 * kill pid for socks => 113142 * kill pid for pop3 => 101960 * kill pid for smtp => 124365 * kill pid for http => 74797 * kill pid for tftp => 92368 * kill pid for http-ipv6 => 145734 * kill pid for ftp => 80681 * kill pid for imap => 118618 * kill pid for http-proxy => 115575 TESTDONE: 1890 tests were considered during 131 seconds. TESTINFO: 272 tests were skipped due to these restraints: TESTINFO: "curl lacks Debug support" 97 times (159, 356, 358, 359, 363, 412, 413, 437, 438 and 88 more) TESTINFO: "no stunnel" 60 times (300, 301, 302, 303, 304, 305, 306, 307, 308 and 51 more) TESTINFO: "failed starting SSH server" 53 times (582, 583, 600, 601, 602, 603, 604, 605, 606 and 44 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: "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 776: 'HTTP with NTLM with too long NTMLv2 ntresplen' HTTP, HTTP GET, HTTP NTLM auth, NTLM, 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 776 1086 1113 1162 1163 1208 1510 1592 2032 TESTDONE: 62 tests out of 1618 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 241: 'HTTP-IPv6 GET (using ip6-localhost)' HTTP, HTTP GET, IPv6, IPv6-hostname 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 764: '-w with multiple header output' HTTP, HTTP GET, -w, %header FAIL 765: '-w with multiple header output using } in separator' HTTP, HTTP GET, -w, %header FAIL 766: 'FTP PORT with sockopt callback refusing the accept' FTP, PORT, CURLOPT_SOCKOPTFUNCTION FAIL 767: 'HTTP with two Content-Length response header fields same size' HTTP, HTTP GET FAIL 768: 'HTTP with letters after the number in Content-Length' HTTP, HTTP GET FAIL 769: 'HTTP with space after Content-Length number' HTTP, HTTP GET FAIL 770: 'HTTP with Content-Length headers using comma separated list' HTTP, HTTP GET FAIL 771: 'HTTP with two Content-Length headers using different sizes' HTTP, HTTP GET FAIL 772: 'HTTP with two Location: headers triggers error' HTTP, HTTP GET, Location FAIL 773: 'HTTP with two identical Location: headers triggers no error' HTTP, HTTP GET, Location FAIL 774: 'config file recursively including itself' --config FAIL 775: 'HTTP with NTLM with too long user name' HTTP, HTTP NTLM auth, NTLM 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 1083: 'HTTP-IPv6 GET with ip6-localhost --interface' HTTP, HTTP GET, --interface, IPv6 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=octet' 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 to auth' 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 1617: 'HTTP GET transfer-encoding with two user Connection: headers' HTTP, HTTP GET, compressed, Transfer-Encoding 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 1711: 'Send >64K over SMTP' SMTP FAIL 1800: 'HTTP/2 upgrade refused' HTTP, HTTP/2 FAIL 1802: 'HTTP CONNECT with custom headers for proxy and server' HTTP, HTTP CONNECT 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 1902: 'set COOKIEFILE and COOKIEJAR but make no transfer' cookies 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 3035: 'HTTP retry failed download with keep data and auto-resume' HTTP, HTTP GET, Content-Range, Resume, retry 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 3206: 'IMAP custom FETCH with larger literal response (~7KB)' IMAP, Clear Text, FETCH, CUSTOMREQUEST 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 241 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 764 765 766 767 768 769 770 771 772 773 774 775 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 1083 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 1617 1620 1621 1633 1634 1635 1652 1654 1660 1670 1671 1680 1681 1682 1683 1704 1711 1800 1802 1900 1901 1902 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 3035 3100 3101 3103 3104 3105 3201 3202 3203 3204 3206 3209 3210 3211 3212 3213 3215 make[1]: *** [Makefile:835: nonflaky-test] Error 1 make[1]: Leaving directory '/startdir/src/build-curl/tests' make: *** [Makefile:1094: test-nonflaky] Error 2 ==> ERROR: A failure occurred in check(). Aborting... ==> ERROR: Build failed, check /home/alhp/workspace/chroot/build_847b286b-6574-49db-af41-9a5802c645c9/build