aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2018-08-03 14:37:21 -0700
committerElliott Hughes <enh@google.com>2018-08-03 14:37:21 -0700
commit72d948d9a2b7be19b761bd3c69ae851a2708f36c (patch)
treeb099486ec60f2b93bb10d5b4c4f08d1f5ea63c02
parentfedb562bb5945f38ff423cca9d8ed6b80e74bf8e (diff)
downloadexternal_curl-72d948d9a2b7be19b761bd3c69ae851a2708f36c.tar.gz
external_curl-72d948d9a2b7be19b761bd3c69ae851a2708f36c.tar.bz2
external_curl-72d948d9a2b7be19b761bd3c69ae851a2708f36c.zip
Update to curl 7.61.0 - July 11 2018.
Bug: N/A Test: builds, boots, `vendor/google/tools/fake-ota on streaming` works Change-Id: I9ae854de01fd5854f3a9e9a1b8443755fe8a22b4
-rw-r--r--CHANGES2194
-rw-r--r--CMake/CurlTests.c30
-rw-r--r--CMake/Macros.cmake28
-rw-r--r--CMake/OtherTests.cmake61
-rw-r--r--CMake/Platforms/WindowsCache.cmake7
-rw-r--r--CMake/Utilities.cmake41
-rw-r--r--CMakeLists.txt126
-rw-r--r--METADATA8
-rw-r--r--RELEASE-NOTES435
-rw-r--r--acinclude.m4311
-rw-r--r--aclocal.m41
-rwxr-xr-xconfigure1379
-rwxr-xr-xconfigure.ac52
-rw-r--r--docs/CIPHERS.md61
-rw-r--r--docs/DEPRECATE.md73
-rw-r--r--docs/GOVERNANCE.md144
-rw-r--r--docs/INSTALL.md52
-rw-r--r--docs/KNOWN_BUGS85
-rw-r--r--docs/MAIL-ETIQUETTE2
-rw-r--r--docs/Makefile.am47
-rw-r--r--docs/RELEASE-PROCEDURE.md (renamed from docs/RELEASE-PROCEDURE)13
-rw-r--r--docs/THANKS25
-rw-r--r--docs/TODO29
-rw-r--r--docs/cmdline-opts/Makefile.inc3
-rw-r--r--docs/cmdline-opts/cert-type.d6
-rw-r--r--docs/cmdline-opts/ciphers.d2
-rw-r--r--docs/cmdline-opts/data.d2
-rw-r--r--docs/cmdline-opts/form.d2
-rwxr-xr-xdocs/cmdline-opts/gen.pl6
-rw-r--r--docs/cmdline-opts/ntlm.d2
-rw-r--r--docs/cmdline-opts/post303.d9
-rw-r--r--docs/cmdline-opts/proxy-service-name.d2
-rw-r--r--docs/cmdline-opts/proxy-tls13-ciphers.d12
-rw-r--r--docs/cmdline-opts/remote-time.d4
-rw-r--r--docs/cmdline-opts/retry-delay.d4
-rw-r--r--docs/cmdline-opts/retry-max-time.d2
-rw-r--r--docs/cmdline-opts/sasl-ir.d2
-rw-r--r--docs/cmdline-opts/show-error.d2
-rw-r--r--docs/cmdline-opts/silent.d2
-rw-r--r--docs/cmdline-opts/ssl-reqd.d2
-rw-r--r--docs/cmdline-opts/ssl.d2
-rw-r--r--docs/cmdline-opts/styled-output.d6
-rw-r--r--docs/cmdline-opts/tftp-blksize.d2
-rw-r--r--docs/cmdline-opts/tls13-ciphers.d12
-rw-r--r--docs/cmdline-opts/tlsv1.1.d2
-rw-r--r--docs/cmdline-opts/tlsv1.2.d2
-rw-r--r--docs/cmdline-opts/tlsv1.3.d2
-rw-r--r--docs/cmdline-opts/tlsv1.d4
-rw-r--r--docs/cmdline-opts/url.d2
-rw-r--r--docs/curl-config.12
-rw-r--r--docs/curl.158
-rw-r--r--docs/examples/Makefile.inc2
-rw-r--r--docs/examples/Makefile.netware4
-rw-r--r--docs/examples/cacertinmem.c4
-rw-r--r--docs/examples/chkspeed.c26
-rw-r--r--docs/examples/crawler.c210
-rw-r--r--docs/examples/curlx.c2
-rw-r--r--docs/examples/debug.c4
-rw-r--r--docs/examples/fileupload.c12
-rw-r--r--docs/examples/getinmemory.c2
-rw-r--r--docs/examples/http2-download.c4
-rw-r--r--docs/examples/http2-serverpush.c8
-rw-r--r--docs/examples/http2-upload.c4
-rw-r--r--docs/examples/multi-debugcallback.c4
-rw-r--r--docs/examples/multi-uv.c4
-rw-r--r--docs/examples/progressfunc.c40
-rw-r--r--docs/examples/smtp-mime.c2
-rw-r--r--docs/examples/threaded-shared-conn.c2
-rw-r--r--docs/libcurl/curl_easy_cleanup.32
-rw-r--r--docs/libcurl/curl_easy_duphandle.32
-rw-r--r--docs/libcurl/curl_easy_escape.32
-rw-r--r--docs/libcurl/curl_easy_getinfo.348
-rw-r--r--docs/libcurl/curl_easy_init.32
-rw-r--r--docs/libcurl/curl_easy_pause.32
-rw-r--r--docs/libcurl/curl_easy_perform.32
-rw-r--r--docs/libcurl/curl_easy_recv.32
-rw-r--r--docs/libcurl/curl_easy_reset.32
-rw-r--r--docs/libcurl/curl_easy_send.32
-rw-r--r--docs/libcurl/curl_easy_setopt.310
-rw-r--r--docs/libcurl/curl_easy_strerror.32
-rw-r--r--docs/libcurl/curl_easy_unescape.32
-rw-r--r--docs/libcurl/curl_escape.32
-rw-r--r--docs/libcurl/curl_formadd.32
-rw-r--r--docs/libcurl/curl_formfree.32
-rw-r--r--docs/libcurl/curl_formget.32
-rw-r--r--docs/libcurl/curl_free.32
-rw-r--r--docs/libcurl/curl_getdate.32
-rw-r--r--docs/libcurl/curl_getenv.32
-rw-r--r--docs/libcurl/curl_global_cleanup.32
-rw-r--r--docs/libcurl/curl_global_init.32
-rw-r--r--docs/libcurl/curl_global_init_mem.32
-rw-r--r--docs/libcurl/curl_global_sslset.32
-rw-r--r--docs/libcurl/curl_mime_addpart.32
-rw-r--r--docs/libcurl/curl_mime_data.32
-rw-r--r--docs/libcurl/curl_mime_data_cb.32
-rw-r--r--docs/libcurl/curl_mime_encoder.32
-rw-r--r--docs/libcurl/curl_mime_filedata.32
-rw-r--r--docs/libcurl/curl_mime_filename.32
-rw-r--r--docs/libcurl/curl_mime_free.32
-rw-r--r--docs/libcurl/curl_mime_headers.32
-rw-r--r--docs/libcurl/curl_mime_init.32
-rw-r--r--docs/libcurl/curl_mime_name.32
-rw-r--r--docs/libcurl/curl_mime_subparts.32
-rw-r--r--docs/libcurl/curl_mime_type.32
-rw-r--r--docs/libcurl/curl_mprintf.32
-rw-r--r--docs/libcurl/curl_multi_add_handle.314
-rw-r--r--docs/libcurl/curl_multi_assign.32
-rw-r--r--docs/libcurl/curl_multi_cleanup.32
-rw-r--r--docs/libcurl/curl_multi_fdset.32
-rw-r--r--docs/libcurl/curl_multi_info_read.32
-rw-r--r--docs/libcurl/curl_multi_init.32
-rw-r--r--docs/libcurl/curl_multi_perform.32
-rw-r--r--docs/libcurl/curl_multi_remove_handle.32
-rw-r--r--docs/libcurl/curl_multi_setopt.32
-rw-r--r--docs/libcurl/curl_multi_socket.323
-rw-r--r--docs/libcurl/curl_multi_socket_action.312
-rw-r--r--docs/libcurl/curl_multi_strerror.32
-rw-r--r--docs/libcurl/curl_multi_timeout.32
-rw-r--r--docs/libcurl/curl_multi_wait.32
-rw-r--r--docs/libcurl/curl_share_cleanup.32
-rw-r--r--docs/libcurl/curl_share_init.32
-rw-r--r--docs/libcurl/curl_share_setopt.311
-rw-r--r--docs/libcurl/curl_share_strerror.32
-rw-r--r--docs/libcurl/curl_slist_append.32
-rw-r--r--docs/libcurl/curl_slist_free_all.32
-rw-r--r--docs/libcurl/curl_strequal.32
-rw-r--r--docs/libcurl/curl_unescape.32
-rw-r--r--docs/libcurl/curl_version.32
-rw-r--r--docs/libcurl/curl_version_info.32
-rw-r--r--docs/libcurl/libcurl-easy.32
-rw-r--r--docs/libcurl/libcurl-env.32
-rw-r--r--docs/libcurl/libcurl-errors.32
-rw-r--r--docs/libcurl/libcurl-multi.322
-rw-r--r--docs/libcurl/libcurl-security.326
-rw-r--r--docs/libcurl/libcurl-share.32
-rw-r--r--docs/libcurl/libcurl-symbols.338
-rw-r--r--docs/libcurl/libcurl-thread.32
-rw-r--r--docs/libcurl/libcurl-tutorial.32
-rw-r--r--docs/libcurl/libcurl.32
-rw-r--r--docs/libcurl/opts/CURLINFO_ACTIVESOCKET.32
-rw-r--r--docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.34
-rw-r--r--docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.365
-rw-r--r--docs/libcurl/opts/CURLINFO_CERTINFO.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONDITION_UNMET.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONNECT_TIME.34
-rw-r--r--docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.360
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_CONTENT_TYPE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_COOKIELIST.32
-rw-r--r--docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.32
-rw-r--r--docs/libcurl/opts/CURLINFO_FILETIME.32
-rw-r--r--docs/libcurl/opts/CURLINFO_FILETIME_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.32
-rw-r--r--docs/libcurl/opts/CURLINFO_HEADER_SIZE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.32
-rw-r--r--docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_HTTP_VERSION.32
-rw-r--r--docs/libcurl/opts/CURLINFO_LASTSOCKET.32
-rw-r--r--docs/libcurl/opts/CURLINFO_LOCAL_IP.32
-rw-r--r--docs/libcurl/opts/CURLINFO_LOCAL_PORT.32
-rw-r--r--docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.34
-rw-r--r--docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.361
-rw-r--r--docs/libcurl/opts/CURLINFO_NUM_CONNECTS.32
-rw-r--r--docs/libcurl/opts/CURLINFO_OS_ERRNO.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.34
-rw-r--r--docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.365
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIMARY_IP.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIMARY_PORT.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PRIVATE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PROTOCOL.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.32
-rw-r--r--docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.32
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.32
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_TIME.34
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.364
-rw-r--r--docs/libcurl/opts/CURLINFO_REDIRECT_URL.32
-rw-r--r--docs/libcurl/opts/CURLINFO_REQUEST_SIZE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_RESPONSE_CODE.32
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.32
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.32
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.32
-rw-r--r--docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SCHEME.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SSL_ENGINES.32
-rw-r--r--docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.32
-rw-r--r--docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.34
-rw-r--r--docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.364
-rw-r--r--docs/libcurl/opts/CURLINFO_TLS_SESSION.32
-rw-r--r--docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.337
-rw-r--r--docs/libcurl/opts/CURLINFO_TOTAL_TIME.34
-rw-r--r--docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.362
-rw-r--r--docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAXCONNECTS.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHDATA.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_SOCKETDATA.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_TIMERDATA.32
-rw-r--r--docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.322
-rw-r--r--docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_APPEND.32
-rw-r--r--docs/libcurl/opts/CURLOPT_AUTOREFERER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_BUFFERSIZE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CAINFO.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CAPATH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CERTINFO.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_DATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECT_ONLY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONNECT_TO.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEFILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIEJAR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIELIST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COOKIESESSION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CRLF.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CRLFILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DEBUGDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DIRLISTONLY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.357
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_INTERFACE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_SERVERS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.32
-rw-r--r--docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_EGDSOCKET.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ERRORBUFFER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FAILONERROR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FILETIME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FNMATCH_DATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FORBID_REUSE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FRESH_CONNECT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTPPORT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTPSSLAUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.32
-rw-r--r--docs/libcurl/opts/CURLOPT_FTP_USE_PRET.32
-rw-r--r--docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.310
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADERDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADERFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HEADEROPT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP200ALIASES.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPAUTH.310
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPGET.315
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPHEADER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPPOST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.32
-rw-r--r--docs/libcurl/opts/CURLOPT_HTTP_VERSION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_INFILESIZE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERFACE.37
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_IOCTLDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_IPRESOLVE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_ISSUERCERT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_KEYPASSWD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_KRBLEVEL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_LOCALPORT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_AUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_FROM.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAIL_RCPT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXCONNECTS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXFILESIZE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAXREDIRS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_MIMEPOST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NETRC.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NETRC_FILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NOBODY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROGRESS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NOPROXY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_NOSIGNAL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PASSWORD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PATH_AS_IS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PIPEWAIT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PORT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_POST.38
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDS.36
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTQUOTE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_POSTREDIR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PREQUOTE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PRE_PROXY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PRIVATE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROGRESSDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROTOCOLS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYAUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYHEADER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPASSWORD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYPORT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYTYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERNAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXYUSERPWD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_CAINFO.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_CAPATH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.364
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_PUT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_QUOTE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RANDOM_FILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RANGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_READDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_READFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_REFERER.32
-rw-r--r--docs/libcurl/opts/CURLOPT_REQUEST_TARGET.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RESOLVE.37
-rw-r--r--docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RESUME_FROM.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_REQUEST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.32
-rw-r--r--docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SASL_IR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SEEKDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SEEKFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SERVICE_NAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SHARE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKOPTDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KEYDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLCERTTYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLENGINE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLKEYTYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSLVERSION.344
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_FALSESTART.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_OPTIONS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.314
-rw-r--r--docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_STDERR.32
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.32
-rw-r--r--docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TCP_NODELAY.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TELNETOPTIONS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMECONDITION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEOUT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEOUT_MS.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEVALUE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.363
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TRANSFERTEXT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.32
-rw-r--r--docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.32
-rw-r--r--docs/libcurl/opts/CURLOPT_UPLOAD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_URL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_USERAGENT.32
-rw-r--r--docs/libcurl/opts/CURLOPT_USERNAME.32
-rw-r--r--docs/libcurl/opts/CURLOPT_USERPWD.32
-rw-r--r--docs/libcurl/opts/CURLOPT_USE_SSL.32
-rw-r--r--docs/libcurl/opts/CURLOPT_VERBOSE.32
-rw-r--r--docs/libcurl/opts/CURLOPT_WILDCARDMATCH.36
-rw-r--r--docs/libcurl/opts/CURLOPT_WRITEDATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_WRITEFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_XFERINFODATA.32
-rw-r--r--docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.32
-rw-r--r--docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.310
-rw-r--r--docs/libcurl/opts/Makefile.inc10
-rw-r--r--docs/libcurl/symbols-in-versions18
-rw-r--r--include/README19
-rw-r--r--include/curl/curl.h22
-rw-r--r--include/curl/curlver.h8
-rw-r--r--include/curl/system.h20
-rw-r--r--include/curl/typecheck-gcc.h2
-rw-r--r--lib/CMakeLists.txt7
-rw-r--r--lib/Makefile.am4
-rw-r--r--lib/Makefile.b32185
-rw-r--r--lib/Makefile.inc4
-rw-r--r--lib/Makefile.netware4
-rw-r--r--lib/asyn-ares.c19
-rw-r--r--lib/asyn-thread.c12
-rw-r--r--lib/base64.c3
-rwxr-xr-xlib/checksrc.pl12
-rw-r--r--lib/conncache.c37
-rw-r--r--lib/conncache.h4
-rw-r--r--lib/connect.c12
-rw-r--r--lib/content_encoding.c14
-rw-r--r--lib/cookie.c54
-rw-r--r--lib/curl_addrinfo.c3
-rw-r--r--lib/curl_config.h43
-rw-r--r--lib/curl_config.h.cmake6
-rw-r--r--lib/curl_config.h.in53
-rw-r--r--lib/curl_fnmatch.c43
-rw-r--r--lib/curl_sasl.c3
-rw-r--r--lib/curl_setup.h10
-rw-r--r--lib/dict.c6
-rw-r--r--lib/easy.c27
-rw-r--r--lib/escape.c6
-rw-r--r--lib/file.c8
-rw-r--r--lib/formdata.c5
-rw-r--r--lib/ftp.c16
-rw-r--r--lib/getinfo.c22
-rw-r--r--lib/hash.c11
-rw-r--r--lib/hmac.c4
-rw-r--r--lib/hostip.c34
-rw-r--r--lib/hostip6.c35
-rw-r--r--lib/http.c101
-rw-r--r--lib/http2.c16
-rw-r--r--lib/http_proxy.c6
-rw-r--r--lib/imap.c16
-rw-r--r--lib/inet_ntop.c2
-rw-r--r--lib/ldap.c9
-rw-r--r--lib/libcurl.plist6
-rw-r--r--lib/md5.c2
-rw-r--r--lib/memdebug.h9
-rw-r--r--lib/mime.c44
-rwxr-xr-xlib/mk-ca-bundle.pl7
-rw-r--r--lib/multi.c73
-rw-r--r--lib/multihandle.h8
-rw-r--r--lib/netrc.c4
-rw-r--r--lib/pingpong.c10
-rw-r--r--lib/pipeline.c3
-rw-r--r--lib/pop3.c4
-rw-r--r--lib/progress.c39
-rw-r--r--lib/progress.h13
-rw-r--r--lib/psl.c111
-rw-r--r--lib/psl.h47
-rw-r--r--lib/rand.c2
-rw-r--r--lib/rtsp.c6
-rw-r--r--lib/security.c4
-rw-r--r--lib/select.c8
-rw-r--r--lib/sendf.c48
-rw-r--r--lib/sendf.h5
-rw-r--r--lib/setopt.c34
-rw-r--r--lib/sha256.c12
-rw-r--r--lib/share.c11
-rw-r--r--lib/share.h6
-rw-r--r--lib/smtp.c5
-rw-r--r--lib/socks.c8
-rw-r--r--lib/splay.c3
-rw-r--r--lib/ssh-libssh.c27
-rw-r--r--lib/ssh.c8
-rw-r--r--lib/telnet.c51
-rw-r--r--lib/tftp.c21
-rw-r--r--lib/transfer.c10
-rw-r--r--lib/url.c61
-rw-r--r--lib/urldata.h16
-rw-r--r--lib/vauth/digest.c6
-rw-r--r--lib/version.c2
-rw-r--r--lib/vtls/axtls.c5
-rw-r--r--lib/vtls/cyassl.c2
-rw-r--r--lib/vtls/darwinssl.c17
-rw-r--r--lib/vtls/gskit.c32
-rw-r--r--lib/vtls/nss.c11
-rw-r--r--lib/vtls/openssl.c80
-rw-r--r--lib/vtls/schannel.c188
-rw-r--r--lib/vtls/schannel.h34
-rw-r--r--lib/vtls/schannel_verify.c18
-rw-r--r--lib/vtls/vtls.c8
-rw-r--r--lib/vtls/vtls.h5
-rw-r--r--lib/x509asn1.c4
-rw-r--r--local-configure.patch16
-rw-r--r--m4/ax_compile_check_sizeof.m4115
-rw-r--r--m4/curl-confopts.m439
-rw-r--r--m4/curl-functions.m43
-rwxr-xr-xmaketgz56
-rw-r--r--packages/OS400/README.OS4008
-rw-r--r--packages/OS400/ccsidcurl.c79
-rw-r--r--packages/OS400/ccsidcurl.h20
-rw-r--r--packages/OS400/curl.inc.in178
-rw-r--r--packages/vms/build_gnv_curl_pcsi_desc.com2
-rw-r--r--packages/vms/setup_gnv_curl_build.com2
-rw-r--r--projects/Windows/VC10/lib/libcurl.vcxproj2
-rw-r--r--projects/Windows/VC11/lib/libcurl.vcxproj2
-rw-r--r--projects/Windows/VC12/lib/libcurl.vcxproj2
-rw-r--r--projects/Windows/VC14/lib/libcurl.vcxproj2
-rw-r--r--projects/Windows/VC15/lib/libcurl.vcxproj2
-rw-r--r--projects/Windows/VC6/lib/libcurl.dsp8
-rw-r--r--projects/Windows/VC7.1/lib/libcurl.vcproj6
-rw-r--r--projects/Windows/VC7/lib/libcurl.vcproj6
-rw-r--r--projects/Windows/VC8/lib/libcurl.vcproj8
-rw-r--r--projects/Windows/VC9/lib/libcurl.vcproj8
-rw-r--r--projects/build-openssl.bat2
-rw-r--r--projects/wolfssl_options.h2
-rw-r--r--scripts/Makefile.am2
-rw-r--r--src/CMakeLists.txt4
-rw-r--r--src/Makefile.am4
-rw-r--r--src/Makefile.b32154
-rw-r--r--src/Makefile.m324
-rw-r--r--src/Makefile.netware4
-rw-r--r--src/curl.rc50
-rw-r--r--src/tool_cb_dbg.c10
-rw-r--r--src/tool_cb_hdr.c63
-rw-r--r--src/tool_cb_hdr.h4
-rw-r--r--src/tool_cb_prg.c12
-rw-r--r--src/tool_cb_wrt.c13
-rw-r--r--src/tool_cb_wrt.h4
-rw-r--r--src/tool_cfgable.h8
-rw-r--r--src/tool_formparse.c13
-rw-r--r--src/tool_getparam.c38
-rw-r--r--src/tool_help.c20
-rw-r--r--src/tool_hugehelp.c10709
-rw-r--r--src/tool_libinfo.c2
-rw-r--r--src/tool_main.c3
-rw-r--r--src/tool_metalink.c4
-rw-r--r--src/tool_msgs.c2
-rw-r--r--src/tool_operate.c25
-rw-r--r--src/tool_paramhlp.c10
-rw-r--r--src/tool_parsecfg.c8
-rw-r--r--src/tool_urlglob.c2
-rw-r--r--src/tool_version.h2
-rw-r--r--src/tool_writeout.c4
-rw-r--r--tests/Makefile.am4
-rw-r--r--tests/data/DISABLED2
-rw-r--r--tests/data/Makefile.inc9
-rw-r--r--tests/data/test11162
-rw-r--r--tests/data/test115670
-rw-r--r--tests/data/test13193
-rw-r--r--tests/data/test13213
-rw-r--r--tests/data/test14001
-rw-r--r--tests/data/test14011
-rw-r--r--tests/data/test14021
-rw-r--r--tests/data/test14031
-rw-r--r--tests/data/test14041
-rw-r--r--tests/data/test14051
-rw-r--r--tests/data/test14061
-rw-r--r--tests/data/test14071
-rw-r--r--tests/data/test14171
-rw-r--r--tests/data/test14201
-rw-r--r--tests/data/test14557
-rw-r--r--tests/data/test15534
-rw-r--r--tests/data/test155736
-rw-r--r--tests/data/test159054
-rw-r--r--tests/data/test160926
-rw-r--r--tests/data/test20104
-rw-r--r--tests/data/test207457
-rw-r--r--tests/data/test207534
-rw-r--r--tests/data/test2661
-rw-r--r--tests/data/test468
-rw-r--r--tests/data/test8512
-rw-r--r--tests/data/test9214
-rw-r--r--tests/libtest/CMakeLists.txt12
-rw-r--r--tests/libtest/Makefile.am7
-rw-r--r--tests/libtest/Makefile.inc13
-rw-r--r--tests/libtest/lib1156.c162
-rw-r--r--tests/libtest/lib1521.c2595
-rw-r--r--tests/libtest/lib1537.c15
-rw-r--r--tests/libtest/lib1554.c3
-rw-r--r--tests/libtest/lib1557.c62
-rw-r--r--tests/libtest/lib1900.c8
-rw-r--r--tests/libtest/lib500.c50
-rw-r--r--tests/libtest/lib506.c2
-rw-r--r--tests/libtest/lib512.c6
-rw-r--r--tests/libtest/lib544.c2
-rw-r--r--tests/libtest/lib552.c4
-rw-r--r--tests/libtest/lib556.c2
-rw-r--r--tests/libtest/lib579.c3
-rw-r--r--tests/libtest/lib586.c2
-rw-r--r--tests/libtest/lib650.c4
-rw-r--r--tests/libtest/lib652.c4
-rw-r--r--tests/libtest/stub_gssapi.c52
-rw-r--r--tests/libtest/testtrace.c2
-rw-r--r--tests/runtests.12
-rwxr-xr-xtests/runtests.pl1
-rw-r--r--tests/server/CMakeLists.txt6
-rw-r--r--tests/server/getpart.c2
-rw-r--r--tests/server/rtspd.c26
-rw-r--r--tests/server/sockfilt.c29
-rw-r--r--tests/server/sws.c13
-rw-r--r--tests/server/testpart.c6
-rw-r--r--tests/server/tftpd.c16
-rw-r--r--tests/server/util.c5
-rw-r--r--tests/testcurl.12
-rw-r--r--tests/unit/Makefile.inc5
-rw-r--r--tests/unit/README4
-rw-r--r--tests/unit/unit1300.c2
-rw-r--r--tests/unit/unit1303.c2
-rw-r--r--tests/unit/unit1307.c113
-rw-r--r--tests/unit/unit1604.c4
-rw-r--r--tests/unit/unit1607.c10
-rw-r--r--tests/unit/unit1609.c214
-rw-r--r--winbuild/MakefileBuild.vc6
-rwxr-xr-xwinbuild/gen_resp_file.bat4
692 files changed, 12588 insertions, 12570 deletions
diff --git a/CHANGES b/CHANGES
index cbb1072d..bb92d3a4 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,1153 @@
Changelog
+Version 7.61.0 (11 Jul 2018)
+
+Daniel Stenberg (11 Jul 2018)
+- release: 7.61.0
+
+- TODO: Configurable loading of OpenSSL configuration file
+
+ Closes #2724
+
+- post303.d: clarify that this is an RFC violation
+
+ ... and not the other way around, which this previously said.
+
+ Reported-by: Vasiliy Faronov
+ Fixes #2723
+ Closes #2726
+
+- [Ruslan Baratov brought this change]
+
+ CMake: remove redundant and old end-of-block syntax
+
+ Reviewed-by: Jakub Zakrzewski
+ Closes #2715
+
+Jay Satiro (9 Jul 2018)
+- lib/curl_setup.h: remove unicode character
+
+ Follow-up to 82ce416.
+
+ Ref: https://github.com/curl/curl/commit/8272ec5#commitcomment-29646818
+
+Daniel Stenberg (9 Jul 2018)
+- lib/curl_setup.h: remove unicode bom from 8272ec50f02
+
+Marcel Raad (9 Jul 2018)
+- schannel: fix -Wsign-compare warning
+
+ MinGW warns:
+ /lib/vtls/schannel.c:219:64: warning: signed and unsigned type in
+ conditional expression [-Wsign-compare]
+
+ Fix this by casting the ptrdiff_t to size_t as we know it's positive.
+
+ Closes https://github.com/curl/curl/pull/2721
+
+- schannel: workaround for wrong function signature in w32api
+
+ Original MinGW's w32api has CryptHashData's second parameter as BYTE *
+ instead of const BYTE *.
+
+ Closes https://github.com/curl/curl/pull/2721
+
+- schannel: make more cipher options conditional
+
+ They are not defined in the original MinGW's <wincrypt.h>.
+
+ Closes https://github.com/curl/curl/pull/2721
+
+- curl_setup: include <winerror.h> before <windows.h>
+
+ Otherwise, only part of it gets pulled in through <windows.h> on
+ original MinGW.
+
+ Fixes https://github.com/curl/curl/issues/2361
+ Closes https://github.com/curl/curl/pull/2721
+
+- examples: fix -Wformat warnings
+
+ When size_t is not a typedef for unsigned long (as usually the case on
+ Windows), GCC emits -Wformat warnings when using lu and lx format
+ specifiers with size_t. Silence them with explicit casts to
+ unsigned long.
+
+ Closes https://github.com/curl/curl/pull/2721
+
+Daniel Stenberg (9 Jul 2018)
+- smtp: use the upload buffer size for scratch buffer malloc
+
+ ... not the read buffer size, as that can be set smaller and thus cause
+ a buffer overflow! CVE-2018-0500
+
+ Reported-by: Peter Wu
+ Bug: https://curl.haxx.se/docs/adv_2018-70a2.html
+
+- [Dave Reisner brought this change]
+
+ scripts: include _curl as part of CLEANFILES
+
+ Closes #2718
+
+- [Nick Zitzmann brought this change]
+
+ darwinssl: allow High Sierra users to build the code using GCC
+
+ ...but GCC users lose out on TLS 1.3 support, since we can't weak-link
+ enumeration constants.
+
+ Fixes #2656
+ Closes #2703
+
+- [Ruslan Baratov brought this change]
+
+ CMake: Remove unused 'output_var' from 'collect_true'
+
+ Variable 'output_var' is not used and can be removed.
+ Function 'collect_true' renamed to 'count_true'.
+
+- [Ruslan Baratov brought this change]
+
+ CMake: Remove unused functions
+
+ Closes #2711
+
+- KNOWN_BUGS: Stick to same family over SOCKS proxy
+
+- libssh: goto DISCONNECT state on error, not SSH_SESSION_FREE
+
+ ... because otherwise not everything get closed down correctly.
+
+ Fixes #2708
+ Closes #2712
+
+- libssh: include line number in state change debug messages
+
+ Closes #2713
+
+- KNOWN_BUGS: Borland support is dropped, AIX problem is too old
+
+- [Jeroen Ooms brought this change]
+
+ example/crawler.c: simple crawler based on libxml2
+
+ Closes #2706
+
+- RELEASE-NOTES: synced
+
+- DEPRECATE: include year when specifying date
+
+- DEPRECATE: linkified
+
+- DEPRECATE: mention the PR that disabled axTLS
+
+- docs/DEPRECATE.md: spelling and minor formatting
+
+- DEPRECATE: new doc describing planned item removals
+
+ Closes #2704
+
+- [Gisle Vanem brought this change]
+
+ telnet: fix clang warnings
+
+ telnet.c(1401,28): warning: cast from function call of type 'int' to
+ non-matching type 'HANDLE' (aka 'void *') [-Wbad-function-cast]
+
+ Fixes #2696
+ Closes #2700
+
+- docs: fix missed option name markups
+
+- [Gaurav Malhotra brought this change]
+
+ openssl: Remove some dead code
+
+ Closes #2698
+
+- openssl: make the requested TLS version the *minimum* wanted
+
+ The code treated the set version as the *exact* version to require in
+ the TLS handshake, which is not what other TLS backends do and probably
+ not what most people expect either.
+
+ Reported-by: Andreas Olsson
+ Assisted-by: Gaurav Malhotra
+ Fixes #2691
+ Closes #2694
+
+- RELEASE-NOTES: synced
+
+- openssl: allow TLS 1.3 by default
+
+ Reported-by: Andreas Olsson
+ Fixes #2692
+ Closes #2693
+
+- [Adrian Peniak brought this change]
+
+ CURLINFO_TLS_SSL_PTR.3: improve the example
+
+ The previous example was a little bit confusing, because SSL* structure
+ (or other "in use" SSL connection pointer) is not accessible after the
+ transfer is completed, therefore working with the raw TLS library
+ specific pointer needs to be done during transfer.
+
+ Closes #2690
+
+- travis: add a build using the synchronous name resolver
+
+ ... since default uses the threaded one and we test the c-ares build
+ already.
+
+ Closes #2689
+
+- configure: remove CURL_CHECK_NI_WITHSCOPEID too
+
+ Since it isn't used either and requires the getnameinfo check
+
+ Follow-up to 0aeca41702d2
+
+- getnameinfo: not used
+
+ Closes #2687
+
+- easy_perform: use *multi_timeout() to get wait times
+
+ ... and trim the threaded Curl_resolver_getsock() to return zero
+ millisecond wait times during the first three milliseconds so that
+ localhost or names in the OS resolver cache gets detected and used
+ faster.
+
+ Closes #2685
+
+Max Dymond (27 Jun 2018)
+- configure: Add dependent libraries after crypto
+
+ The linker is pretty dumb and processes things left to right, keeping a
+ tally of symbols it hasn't resolved yet. So, we need -ldl to appear
+ after -lcrypto otherwise the linker won't find the dl functions.
+
+ Closes #2684
+
+Daniel Stenberg (27 Jun 2018)
+- GOVERNANCE: linkify, changed some titles
+
+- GOVERNANCE: add maintainer details/duties
+
+- url: check Curl_conncache_add_conn return code
+
+ ... it was previously unchecked in two places and thus errors could
+ remain undetected and cause trouble.
+
+ Closes #2681
+
+- include/README: remove "hacking" advice, not the right place
+
+- RELEASE-NOTES: synced
+
+- CURLOPT_SSL_VERIFYPEER.3: fix syntax mistake
+
+ Follow-up to b6a16afa0aa5
+
+- netrc: use a larger buffer
+
+ ... to work with longer passwords etc. Grow it from a 256 to a 4096
+ bytes buffer.
+
+ Reported-by: Dario Nieuwenhuis
+ Fixes #2676
+ Closes #2680
+
+- [Patrick Schlangen brought this change]
+
+ CURLOPT_SSL_VERIFYPEER.3: Add performance note
+
+ Closes #2673
+
+- [Javier Blazquez brought this change]
+
+ multi: fix crash due to dangling entry in connect-pending list
+
+ Fixes #2677
+ Closes #2679
+
+- ConnectionExists: make sure conn->data is set when "taking" a connection
+
+ Follow-up to 2c15693.
+
+ Bug #2674
+ Closes #2675
+
+- [Kevin R. Bulgrien brought this change]
+
+ system.h: fix for gcc on 32 bit OpenServer
+
+ Bug: https://curl.haxx.se/mail/lib-2018-06/0100.html
+
+- [Raphael Gozzo brought this change]
+
+ cmake: allow multiple SSL backends
+
+ This will make possible to select the SSL backend (using
+ curl_global_sslset()) even when the libcurl is built using CMake
+
+ Closes #2665
+
+- url: fix dangling conn->data pointer
+
+ By masking sure to use the *current* easy handle with extracted
+ connections from the cache, and make sure to NULLify the ->data pointer
+ when the connection is put into the cache to make this mistake easier to
+ detect in the future.
+
+ Reported-by: Will Dietz
+ Fixes #2669
+ Closes #2672
+
+- CURLOPT_INTERFACE.3: interface names not supported on Windows
+
+- travis: run more tests for coverage check
+
+ ... run a few more tortured based and run all tests event-based.
+
+ Closes #2664
+
+- multi: fix memory leak when stopped during name resolve
+
+ When the application just started the transfer and then stops it while
+ the name resolve in the background thread hasn't completed, we need to
+ wait for the resolve to complete and then cleanup data accordingly.
+
+ Enabled test 1553 again and added test 1590 to also check when the host
+ name resolves successfully.
+
+ Detected by OSS-fuzz.
+ Closes #1968
+
+Viktor Szakats (15 Jun 2018)
+- maketgz: delete .bak files, fix indentation
+
+ Ref: https://github.com/curl/curl/pull/2660
+
+ Closes https://github.com/curl/curl/pull/2662
+
+Daniel Stenberg (15 Jun 2018)
+- runtests.pl: remove debug leftover from bb9a340c73f3
+
+- curl-confopts.m4: fix typo from ed224f23d5beb
+
+ Fixes my local configure to detect a custom installed c-ares without
+ pkgconfig.
+
+- docs/RELEASE-PROCEDURE.md: renamed to use .md extension
+
+ Closes #2663
+
+- RELEASE-PROCEDURE: gpg sign the tags
+
+- RELEASE-NOTES: synced
+
+- CURLOPT_HTTPAUTH.3: CURLAUTH_BEARER was added in 7.61.0
+
+- [Mamta Upadhyay brought this change]
+
+ maketgz: fix sed issues on OSX
+
+ maketgz creates release tarballs and removes the -DEV string in curl
+ version (e.g. 7.58.0-DEV), else -DEV shows up on command line when curl
+ is run. maketgz works fine on linux but fails on OSX. Problem is with
+ the sed commands that use option -i without an extension. Maketgz
+ expects GNU sed instead of BSD and this simply won't work on OSX. Adding
+ a backup extension .bak after -i fixes this issue
+
+ Running the script as if on OSX gives this error:
+
+ sed: -e: No such file or directory
+
+ Adding a .bak extension resolves it
+
+ Closes #2660
+
+- configure: enhance ability to detect/build with static openssl
+
+ Fix the -ldl and -ldl + -lpthread checks for OpenSSL, necessary for
+ building with static libs without pkg-config.
+
+ Reported-by: Marcel Raad
+ Fixes #2199
+ Closes #2659
+
+- configure: use pkg-config for c-ares detection
+
+ First check if there's c-ares information given as pkg-config info and use
+ that as first preference.
+
+ Reported-by: pszemus on github
+ Fixes #2203
+ Closes #2658
+
+- GOVERNANCE.md: explains how this project is run
+
+ Closes #2657
+
+- KNOWN_BUGS: NTLM doen't support password with § character
+
+ Closes #2120
+
+- KNOWN_BUGS: slow connect to localhost on Windows
+
+ Closes #2281
+
+- [Matteo Bignotti brought this change]
+
+ mk-ca-bundle.pl: make -u delete certdata.txt if found not changed
+
+ certdata.txt should be deleted also when the process is interrupted by
+ "same certificate downloaded, exiting"
+
+ The certdata.txt is currently kept on disk even if you give the -u
+ option
+
+ Closes #2655
+
+- progress: remove a set of unused defines
+
+ Reported-by: Peter Wu
+ Closes #2654
+
+- TODO: "Option to refuse usernames in URLs" done
+
+ Implemented by Björn in 946ce5b61f
+
+- [Lyman Epp brought this change]
+
+ Curl_init_do: handle NULL connection pointer passed in
+
+ Closes #2653
+
+- runtests: support variables in <strippart>
+
+ ... and make use of that to make 1455 work better without using a fixed
+ local port number.
+
+ Fixes #2649
+ Closes #2650
+
+- Curl_debug: remove dead printhost code
+
+ The struct field is never set (since 5e0d9aea3) so remove the use of it
+ and remove the connectdata pointer from the prototype.
+
+ Reported-by: Tejas
+ Bug: https://curl.haxx.se/mail/lib-2018-06/0054.html
+ Closes #2647
+
+Viktor Szakats (12 Jun 2018)
+- schannel: avoid incompatible pointer warning
+
+ with clang-6.0:
+ ```
+ vtls/schannel_verify.c: In function 'add_certs_to_store':
+ vtls/schannel_verify.c:212:30: warning: passing argument 11 of 'CryptQueryObject' from incompatible pointer type [-Wincompatible-pointer-types]
+ &cert_context)) {
+ ^
+ In file included from /usr/share/mingw-w64/include/schannel.h:10:0,
+ from /usr/share/mingw-w64/include/schnlsp.h:9,
+ from vtls/schannel.h:29,
+ from vtls/schannel_verify.c:40:
+ /usr/share/mingw-w64/include/wincrypt.h:4437:26: note: expected 'const void **' but argument is of type 'CERT_CONTEXT ** {aka struct _CERT_CONTEXT **}'
+ WINIMPM WINBOOL WINAPI CryptQueryObject (DWORD dwObjectType, const void *pvObject, DWORD dwExpectedContentTypeFlags, DWORD dwExpectedFormatTypeFlags, DWORD dwFlags,
+ ^~~~~~~~~~~~~~~~
+ ```
+ Ref: https://msdn.microsoft.com/library/windows/desktop/aa380264
+
+ Closes https://github.com/curl/curl/pull/2648
+
+Daniel Stenberg (12 Jun 2018)
+- [Robert Prag brought this change]
+
+ schannel: support selecting ciphers
+
+ Given the contstraints of SChannel, I'm exposing these as the algorithms
+ themselves instead; while replicating the ciphersuite as specified by
+ OpenSSL would have been preferable, I found no way in the SChannel API
+ to do so.
+
+ To use this from the commandline, you need to pass the names of contants
+ defining the desired algorithms. For example, curl --ciphers
+ "CALG_SHA1:CALG_RSA_SIGN:CALG_RSA_KEYX:CALG_AES_128:CALG_DH_EPHEM"
+ https://github.com The specific names come from wincrypt.h
+
+ Closes #2630
+
+- [Bernhard M. Wiedemann brought this change]
+
+ test 46: make test pass after 2025
+
+ shifting the expiry date to 2037 for now
+ to be before the possibly problematic year 2038
+
+ similar in spirit to commit e6293cf8764e9eecb
+
+ Closes #2646
+
+- [Marian Klymov brought this change]
+
+ cppcheck: fix warnings
+
+ - Get rid of variable that was generating false positive warning
+ (unitialized)
+
+ - Fix issues in tests
+
+ - Reduce scope of several variables all over
+
+ etc
+
+ Closes #2631
+
+- openssl: assume engine support in 1.0.1 or later
+
+ Previously it was checked for in configure/cmake, but that would then
+ leave other build systems built without engine support.
+
+ While engine support probably existed prior to 1.0.1, I decided to play
+ safe. If someone experience a problem with this, we can widen the
+ version check.
+
+ Fixes #2641
+ Closes #2644
+
+- RELEASE-NOTES: synced
+
+- RELEASE-PROCEDURE: update the release calendar for 2019
+
+- [Gisle Vanem brought this change]
+
+ boringssl + schannel: undef X509_NAME in lib/schannel.h
+
+ Fixes the build problem when both boringssl and schannel are enabled.
+
+ Fixes #2634
+ Closes #2643
+
+- [Vladimir Kotal brought this change]
+
+ mk-ca-bundle.pl: leave certificate name untouched in decode()
+
+ Closes #2640
+
+- [Rikard Falkeborn brought this change]
+
+ tests/libtests/Makefile.am: Add lib1521.c to CLEANFILES
+
+ This removes the generated lib1521.c when running make clean.
+
+ Closes #2633
+
+- [Rikard Falkeborn brought this change]
+
+ tests/libtest: Add lib1521 to nodist_SOURCES
+
+ Since 467da3af0, lib1521.c is generated instead of checked in. According
+ to the commit message, the intention was to remove it from the tarball
+ as well. However, it is still present when running make dist. To remove
+ it, add it to nodist_lib1521_SOURCES. This also means there is no need
+ for the manually added dist-rule in the Makefile.
+
+ Also update CMakelists.txt to handle the fact that we now may have
+ nodist_SOURCES.
+
+- [Stephan Mühlstrasser brought this change]
+
+ system.h: add support for IBM xlc C compiler
+
+ Added a section to system.h guarded with __xlc__ for the IBM xml C
+ compiler. Before this change the section titled 'generic "safe guess" on
+ old 32 bit style' was used, which resulted in a wrong definition of
+ CURL_TYPEOF_CURL_SOCKLEN_T, and for 64-bit also CURL_TYPEOF_CURL_OFF_T
+ was wrong.
+
+ Compilation warnings fixed with this change:
+
+ CC libcurl_la-ftp.lo
+ "ftp.c", line 290.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
+ "ftp.c", line 293.48: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
+ "ftp.c", line 1070.49: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
+ "ftp.c", line 1154.53: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
+ "ftp.c", line 1187.51: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
+ CC libcurl_la-connect.lo
+ "connect.c", line 448.56: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
+ "connect.c", line 516.66: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
+ "connect.c", line 687.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
+ "connect.c", line 696.55: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
+ CC libcurl_la-tftp.lo
+ "tftp.c", line 1115.33: 1506-280 (W) Function argument assignment between types "unsigned long* restrict" and "int*" is not allowed.
+
+ Closes #2637
+
+- cmdline-opts/cert-type.d: mention "p12" as a recognized type as well
+
+Viktor Szakats (3 Jun 2018)
+- spelling fixes
+
+ Detected using the `codespell` tool (version 1.13.0).
+
+ Also secure and fix an URL.
+
+Daniel Stenberg (2 Jun 2018)
+- axtls: follow-up spell fix of comment
+
+- axTLS: not considered fit for use
+
+ URL: https://curl.haxx.se/mail/lib-2018-06/0000.html
+
+ This is step one. It adds #error statements that require source edits to
+ make curl build again if asked to use axTLS. At a later stage we might
+ remove the axTLS specific code completely.
+
+ Closes #2628
+
+- build: remove the Borland specific makefiles
+
+ According to the user survey 2018, not even one out of 670 users use
+ them. Nobody on the mailing list spoke up for them either.
+
+ Closes #2629
+
+- curl_addrinfo: use same #ifdef conditions in source as header
+
+ ... for curl_dofreeaddrinfo
+
+- multi: remove a DEBUGF()
+
+ ... it might call infof() with a NULL first argument that isn't harmful
+ but makes it not do anything. The infof() line is not very useful
+ anymore, it has served it purpose. Good riddance!
+
+ Fixes #2627
+
+- [Alibek.Jorajev brought this change]
+
+ CURLOPT_RESOLVE: always purge old entry first
+
+ If there's an existing entry using the selected name.
+
+ Closes #2622
+
+- fnmatch: use the system one if available
+
+ If configure detects fnmatch to be available, use that instead of our
+ custom one for FTP wildcard pattern matching. For standard compliance,
+ to reduce our footprint and to use already well tested and well
+ exercised code.
+
+ A POSIX fnmatch behaves slightly different than the internal function
+ for a few test patterns currently and the macOS one yet slightly
+ different. Test case 1307 is adjusted for these differences.
+
+ Closes #2626
+
+Patrick Monnerat (31 May 2018)
+- os400: add new option in ILE/RPG binding
+
+ Follow-up to commit 946ce5b
+
+Daniel Stenberg (31 May 2018)
+- tests/libtest/.gitignore: follow-up fix to ignore lib5* too
+
+- KNOWN_BUGS: CURL_GLOBAL_SSL
+
+ Closes #2276
+
+- [Bernhard Walle brought this change]
+
+ configure: check for declaration of getpwuid_r
+
+ On our x86 Android toolchain, getpwuid_r is implemented but the header
+ is missing:
+
+ netrc.c:81:7: error: implicit declaration of function 'getpwuid_r' [-Werror=implicit-function-declaration]
+
+ Unfortunately, the function is used in curl_ntlm_wb.c, too, so I moved
+ the prototype to curl_setup.h.
+
+ Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
+ Closes #2609
+
+- [Rikard Falkeborn brought this change]
+
+ tests: update .gitignore for libtests
+
+ Closes #2624
+
+- [Rikard Falkeborn brought this change]
+
+ strictness: correct {infof, failf} format specifiers
+
+ Closes #2623
+
+- [Björn Stenberg brought this change]
+
+ option: disallow username in URL
+
+ Adds CURLOPT_DISALLOW_USERNAME_IN_URL and --disallow-username-in-url. Makes
+ libcurl reject URLs with a username in them.
+
+ Closes #2340
+
+- libcurl-security.3: improved layout for two rememdy lists
+
+- libcurl-security.3: refer to URL instead of in-source markdown file
+
+Viktor Szakats (30 May 2018)
+- curl.rc: embed manifest for correct Windows version detection
+
+ * enable it in `src/Makefile.m32`
+ * enable it in `winbuild/MakefileBuild.vc` if a custom manifest is
+ _not_ enabled via the existing `EMBED_MANIFEST` option
+ * enable it for all Windows CMake builds (also disable the built-in
+ minimal manifest, added by CMake by default.)
+
+ For other build systems, add the `-DCURL_EMBED_MANIFEST` option to
+ the list of RC (Resource Compiler) flags to enable the manifest
+ included in `src/curl.rc`. This may require to disable whatever
+ automatic or other means in which way another manifest is added to
+ `curl.exe`.
+
+ Notice that Borland C doesn't support this method due to a
+ long-pending resource compiler bug. Watcom C may also not handle
+ it correctly when the `-zm` `wrc` option is used (this option may
+ be unnecessary though) and regardless of options in certain earlier
+ revisions of the 2.0 beta version.
+
+ Closes https://github.com/curl/curl/pull/1221
+ Fixes https://github.com/curl/curl/issues/2591
+
+Patrick Monnerat (30 May 2018)
+- os400: sync EBCDIC wrappers and ILE/RPG binding with latest options
+
+- os400: implement mime api EBCDIC wrappers
+
+ Also sync ILE/RPG binding to define the new functions.
+
+Daniel Stenberg (29 May 2018)
+- setopt: add TLS 1.3 ciphersuites
+
+ Adds CURLOPT_TLS13_CIPHERS and CURLOPT_PROXY_TLS13_CIPHERS.
+
+ curl: added --tls13-ciphers and --proxy-tls13-ciphers
+
+ Fixes #2435
+ Reported-by: zzq1015 on github
+ Closes #2607
+
+- configure: override AR_FLAGS to silence warning
+
+ The automake default ar flags are 'cru', but the 'u' flag in there
+ causes warnings on many modern Linux distros. Removing 'u' may have a
+ minor performance impact on older distros but should not cause harm.
+
+ Explained on the automake mailing list already back in April 2015:
+
+ https://www.mail-archive.com/automake-patches@gnu.org/msg07705.html
+
+ Reported-by: elephoenix on github
+ Fixes #2617
+ Closes #2619
+
+Sergei Nikulov (29 May 2018)
+- cmake: fixed comments in compile checks code
+
+Daniel Stenberg (29 May 2018)
+- INSTALL: LDFLAGS=-Wl,-R/usr/local/ssl/lib
+
+ ... the older description doesn't work
+
+ Reported-by: Peter Varga
+ Fixes #2615
+ Closes #2616
+
+- [Will Dietz brought this change]
+
+ KNOWN_BUGS: restore text regarding #2101.
+
+ This was added earlier but appears to have been removed accidentally.
+
+ AFAICT this is very much still an issue.
+
+ -----
+
+ I say "accidentally" because the text seems to have harmlessly snuck
+ into [1] (which makes no mention of it). [1] was later reverted for
+ unspecified reasons in [2], presumably because the mentioned issue was
+ fixed or invalid.
+
+ [1] de9fac00c40db321d44fa6fbab6eb62ec4c83998
+ [2] 16d1f369403cbb04bd7b085eabbeebf159473fc2
+
+ Closes #2618
+
+- fnmatch: insist on escaped bracket to match
+
+ A non-escaped bracket ([) is for a character group - as documented. It
+ will *not* match an individual bracket anymore. Test case 1307 updated
+ accordingly to match.
+
+ Problem detected by OSS-Fuzz, although this fix is probably not a final
+ fix for the notorious timeout issues.
+
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8525
+ Closes #2614
+
+Patrick Monnerat (28 May 2018)
+- psl: use latest psl and refresh it periodically
+
+ The latest psl is cached in the multi or share handle. It is refreshed
+ before use after 72 hours.
+ New share lock CURL_LOCK_DATA_PSL controls the psl cache sharing.
+ If the latest psl is not available, the builtin psl is used.
+
+ Reported-by: Yaakov Selkowitz
+ Fixes #2553
+ Closes #2601
+
+Daniel Stenberg (28 May 2018)
+- [Fabrice Fontaine brought this change]
+
+ configure: fix ssh2 linking when built with a static mbedtls
+
+ The ssh2 pkg-config file could contain the following lines when build
+ with a static version of mbedtls:
+ Libs: -L${libdir} -lssh2 /xxx/libmbedcrypto.a
+ Libs.private: /xxx/libmbedcrypto.a
+
+ This static mbedtls library must be used to correctly detect ssh2
+ support and this library must be copied in libcurl.pc otherwise
+ compilation of any application (such as upmpdcli) with libcurl will fail
+ when trying to found mbedtls functions included in libssh2. So, replace
+ pkg-config --libs-only-l by pkg-config --libs.
+
+ Fixes:
+ - http://autobuild.buildroot.net/results/43e24b22a77f616d6198c10435dcc23cc3b9088a
+
+ Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+ Closes #2613
+
+- RELEASE-NOTES: synced
+
+- [Bernhard Walle brought this change]
+
+ cmake: check for getpwuid_r
+
+ The autotools-based build system does it, so we do it also in CMake.
+
+ Bug: #2609
+ Signed-off-by: Bernhard Walle <bernhard@bwalle.de>
+
+- cmdline-opts/gen.pl: warn if mutexes: or see-also: list non-existing options
+
+- [Frank Gevaerts brought this change]
+
+ curl.1: Fix cmdline-opts reference errors.
+
+ --data, --form, and --ntlm were declared to be mutually exclusive with
+ non-existing options. --data and --form referred to --upload (which is
+ short for --upload-file and therefore did work, so this one was merely
+ a bit confusing), --ntlm referred to --negotiated instead of --negotiate.
+
+ Closes #2612
+
+- [Frank Gevaerts brought this change]
+
+ docs: fix cmdline-opts metadata headers case consistency.
+
+ Almost all headers start with an uppercase letter, but some didn't.
+
+- mailmap: Max Savenkov
+
+Sergei Nikulov (28 May 2018)
+- [Max Savenkov brought this change]
+
+ Fix the test for fsetxattr and strerror_r tests in CMake to work without compiling
+
+Daniel Stenberg (27 May 2018)
+- mailmap: a Richard Alcock fixup
+
+- [Richard Alcock brought this change]
+
+ schannel: add failf calls for client certificate failures
+
+ Closes #2604
+
+- [Richard Alcock brought this change]
+
+ winbuild: In MakefileBuild.vc fix typo DISTDIR->DIRDIST
+
+ Change requirement from $(DISTDIR) to $(DIRDIST)
+
+ closes #2603
+
+- [Richard Alcock brought this change]
+
+ winbuild: only delete OUTFILE if it exists
+
+ This removes the slightly annoying "Could not file LIBCURL_OBJS.inc" and
+ "Could not find CURL_OBJS.inc.inc" message when building into a clean
+ folder.
+
+ closes #2602
+
+- [Alejandro R. Sedeño brought this change]
+
+ content_encoding: handle zlib versions too old for Z_BLOCK
+
+ Fallback on Z_SYNC_FLUSH when Z_BLOCK is not available.
+
+ Fixes #2606
+ Closes #2608
+
+- multi: provide a socket to wait for in Curl_protocol_getsock
+
+ ... even when there's no protocol specific handler setup.
+
+ Bug: https://curl.haxx.se/mail/lib-2018-05/0062.html
+ Reported-by: Sean Miller
+ Closes #2600
+
+- [Linus Lewandowski brought this change]
+
+ httpauth: add support for Bearer tokens
+
+ Closes #2102
+
+- TODO: CURLINFO_PAUSE_STATE
+
+ Closes #2588
+
+Sergei Nikulov (24 May 2018)
+- cmake: set -d postfix for debug builds if not specified
+ using -DCMAKE_DEBUG_POSTFIX explicitly
+
+ fixes #2121, obsoletes #2384
+
+Daniel Stenberg (23 May 2018)
+- configure: add basic test of --with-ssl prefix
+
+ When given a prefix, the $PREFIX_OPENSSL/lib/openssl.pc or
+ $PREFIX_OPENSSL/include/openssl/ssl.h files must be present or cause an
+ error. Helps users detect when giving configure the wrong path.
+
+ Reported-by: Oleg Pudeyev
+ Assisted-by: Per Malmberg
+ Fixes #2580
+
+Patrick Monnerat (22 May 2018)
+- http resume: skip body if http code 416 (range error) is ignored.
+
+ This avoids appending error data to already existing good data.
+
+ Test 92 is updated to match this change.
+ New test 1156 checks all combinations of --range/--resume, --fail,
+ Content-Range header and http status code 200/416.
+
+ Fixes #1163
+ Reported-By: Ithubg on github
+ Closes #2578
+
+Daniel Stenberg (22 May 2018)
+- tftp: make sure error is zero terminated before printfing it
+
+- configure: add missing m4/ax_compile_check_sizeof.m4
+
+ follow-up to mistake in 6876ccf90b4
+
+Jay Satiro (22 May 2018)
+- [Johannes Schindelin brought this change]
+
+ schannel: make CAinfo parsing resilient to CR/LF
+
+ OpenSSL has supported --cacert for ages, always accepting LF-only line
+ endings ("Unix line endings") as well as CR/LF line endings ("Windows
+ line endings").
+
+ When we introduced support for --cacert also with Secure Channel (or in
+ cURL speak: "WinSSL"), we did not take care to support CR/LF line
+ endings, too, even if we are much more likely to receive input in that
+ form when using Windows.
+
+ Let's fix that.
+
+ Happily, CryptQueryObject(), the function we use to parse the ca-bundle,
+ accepts CR/LF input already, and the trailing LF before the END
+ CERTIFICATE marker catches naturally any CR/LF line ending, too. So all
+ we need to care about is the BEGIN CERTIFICATE marker. We do not
+ actually need to verify here that the line ending is CR/LF. Just
+ checking for a CR or an LF is really plenty enough.
+
+ Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
+
+ Closes https://github.com/curl/curl/pull/2592
+
+Daniel Stenberg (22 May 2018)
+- CURLOPT_ACCEPT_ENCODING.3: add brotli and clarify a bit
+
+- RELEASE-NOTES: synced
+
+- KNOWN_BUGS: mention the -O with %-encoded file names
+
+ Closes #2573
+
+- checksrc: make sure sizeof() is used *with* parentheses
+
+ ... and unify the source code to adhere.
+
+ Closes #2563
+
+- curl: added --styled-output
+
+ It is enabled by default, so --no-styled-output will switch off the
+ detection/use of bold headers.
+
+ Closes #2538
+
+- curl: show headers in bold
+
+ The feature is only enabled if the output is believed to be a tty.
+
+ -J: There's some minor differences and improvements in -J handling, as
+ now J should work with -i and it actually creates a file first using the
+ initial name and then *renames* that to the one found in
+ Content-Disposition (if any).
+
+ -i: only shows headers for HTTP transfers now (as documented).
+ Previously it would also show for pieces of the transfer that were HTTP
+ (for example when doing FTP over a HTTP proxy).
+
+ -i: now shows trailers as well. Previously they were not shown at all.
+
+ --libcurl: the CURLOPT_HEADER is no longer set, as the header output is
+ now done in the header callback.
+
+- configure: compile-time SIZEOF checks
+
+ ... instead of exeucting code to get the size. Removes the use of
+ LD_LIBRARY_PATH for this.
+
+ Fixes #2586
+ Closes #2589
+ Reported-by: Bernhard Walle
+
+- configure: replace AC_TRY_RUN with CURL_RUN_IFELSE
+
+ ... and export LD_LIBRARY_PATH properly. This is a follow-up from
+ 2d4c215.
+
+ Fixes #2586
+ Reported-by: Bernhard Walle
+
+- docs: clarify CURLOPT_HTTPGET somewhat
+
+ Reported-by: bsammon on github
+ Fixes #2590
+
+- curl_fnmatch: only allow two asterisks for matching
+
+ The previous limit of 5 can still end up in situation that takes a very
+ long time and consumes a lot of CPU.
+
+ If there is still a rare use case for this, a user can provide their own
+ fnmatch callback for a version that allows a larger set of wildcards.
+
+ This commit was triggered by yet another OSS-Fuzz timeout due to this.
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8369
+
+ Closes #2587
+
+- checksrc: fix too long line
+
+ follow-up to e05ad5d
+
+- [Aleks brought this change]
+
+ docs: mention HAproxy protocol "version 1"
+
+ ...as there's also a version 2.
+
+ Closes #2579
+
+- examples/progressfunc: make it build on older libcurls
+
+ This example was changed in ce2140a8c1 to use the new microsecond based
+ getinfo option. This change makes it conditionally keep using the older
+ option so that the example still builds with older libcurl versions.
+
+ Closes #2584
+
+- stub_gssapi: fix numerous 'unused parameter' warnings
+
+ follow-up to d9e92fd9fd1d
+
+- [Philip Prindeville brought this change]
+
+ getinfo: add microsecond precise timers for various intervals
+
+ Provide a set of new timers that return the time intervals using integer
+ number of microseconds instead of floats.
+
+ The new info names are as following:
+
+ CURLINFO_APPCONNECT_TIME_T
+ CURLINFO_CONNECT_TIME_T
+ CURLINFO_NAMELOOKUP_TIME_T
+ CURLINFO_PRETRANSFER_TIME_T
+ CURLINFO_REDIRECT_TIME_T
+ CURLINFO_STARTTRANSFER_TIME_T
+ CURLINFO_TOTAL_TIME_T
+
+ Closes #2495
+
+- openssl: acknowledge --tls-max for default version too
+
+ ... previously it only used the max setting if a TLS version was also
+ explicitly asked for.
+
+ Reported-by: byte_bucket
+ Fixes #2571
+ Closes #2572
+
+- bump: start working on the pending 7.61.0
+
+- [Dagobert Michelsen brought this change]
+
+ tests/libtest/Makefile: Do not unconditionally add gcc-specific flags
+
+ The warning flag leads e.g. Sun Studio compiler to bail out.
+
+ Closes #2576
+
+- schannel_verify: fix build for non-schannel
+
+Jay Satiro (16 May 2018)
+- rand: fix typo
+
+- schannel: disable manual verify if APIs not available
+
+ .. because original MinGW and old compilers do not have the Windows API
+ definitions needed to support manual verification.
+
+- [Archangel_SDY brought this change]
+
+ schannel: disable client cert option if APIs not available
+
+ Original MinGW targets Windows 2000 by default, which lacks some APIs and
+ definitions for this feature. Disable it if these APIs are not available.
+
+ Closes https://github.com/curl/curl/pull/2522
+
Version 7.60.0 (15 May 2018)
Daniel Stenberg (15 May 2018)
@@ -6122,1050 +7269,3 @@ Daniel Stenberg (28 Aug 2017)
Reported-by: Michael Smith
Fixes #1828
Closes #1833
-
-Dan Fandrich (26 Aug 2017)
-- tests: Make sure libtests & unittests call curl_global_cleanup()
-
- These were missed in commit c468c27b.
-
-Jay Satiro (26 Aug 2017)
-- [theantigod brought this change]
-
- winbuild: fix embedded manifest option
-
- Embedded manifest option didn't work due to incorrect path.
-
- Fixes https://github.com/curl/curl/issues/1832
-
-Daniel Stenberg (25 Aug 2017)
-- fuzz/Makefile.am: remove curlbuild.h leftovers
-
-- examples/threaded-ssl: mention that this is for openssl before 1.1
-
-- imap: use defined names for response codes
-
- When working on this code I found the previous setup a bit weird while
- using proper defines increases readability.
-
- Closes #1824
-
-- CURLOPT_USERPWD.3: see also CURLOPT_PROXYUSERPWD
-
-- imap: support PREAUTH
-
- It is a defined possible greeting at server startup that means the
- connection is already authenticated. See
- https://tools.ietf.org/html/rfc3501#section-7.1.4
-
- Test 846 added to verify.
-
- Fixes #1818
- Closes #1820
-
-Jay Satiro (23 Aug 2017)
-- config-tpf: define SIZEOF_LONG
-
- Recent changes that replaced CURL_SIZEOF_LONG in the source with
- SIZEOF_LONG broke builds that use the premade configuration files and
- don't have SIZEOF_LONG defined.
-
- Bug: https://github.com/curl/curl/issues/1816
-
-Dan Fandrich (23 Aug 2017)
-- test1453: Fixed <features>
-
-Daniel Stenberg (22 Aug 2017)
-- [Gisle Vanem brought this change]
-
- config-dos: add missing defines, SIZEOF_* and two others
-
- Bug: #1816
-
-- curl: shorten and clean up CA cert verification error message
-
- The previous message was just too long for ordinary people and it was
- encouraging users to use `--insecure` a little too easy.
-
- Based-on-work-by: Frank Denis
-
- Closes #1810
- Closes #1817
-
-- request-target.d: mention added in 7.55.0
-
-Marcel Raad (22 Aug 2017)
-- tool_main: turn off MinGW CRT's globbing
-
- By default, the MinGW CRT globs command-line arguments. This prevents
- getting a single asterisk into an argument as test 1299 does. Turn off
- globbing by setting the global variable _CRT_glob to 0 for MinGW.
-
- Fixes https://github.com/curl/curl/issues/1751
- Closes https://github.com/curl/curl/pull/1813
-
-Viktor Szakats (22 Aug 2017)
-- makefile.m32: add support for libidn2
-
- libidn was replaced with libidn2 last year in configure.
- Caveat: libidn2 may depend on a list of further libs.
- These can be manually specified via CURL_LDFLAG_EXTRAS.
-
- Closes https://github.com/curl/curl/pull/1815
-
-Jay Satiro (22 Aug 2017)
-- [Viktor Szakats brought this change]
-
- config-win32: define SIZEOF_LONG
-
- Recent changes that replaced CURL_SIZEOF_LONG in the source with
- SIZEOF_LONG broke builds that use the premade configuration files and
- don't have SIZEOF_LONG defined.
-
- Closes https://github.com/curl/curl/pull/1814
-
-Daniel Stenberg (20 Aug 2017)
-- cmake: enable picky compiler options with clang and gcc
-
- closes #1799
-
-- curl/system.h: fix build for hppa
-
- Reported-by: John David Anglin
- Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=872502#10
-
-- [Even Rouault brought this change]
-
- tftp: fix memory leak on too long filename
-
- Fixes
-
- $ valgrind --leak-check=full ~/install-curl-git/bin/curl tftp://localhost/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz
-
- ==9752== Memcheck, a memory error detector
- ==9752== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
- ==9752== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
- ==9752== Command: /home/even/install-curl-git/bin/curl tftp://localhost/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaz
- ==9752==
- curl: (71) TFTP file name too long
-
- ==9752==
- ==9752== HEAP SUMMARY:
- ==9752== 505 bytes in 1 blocks are definitely lost in loss record 11 of 11
- ==9752== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==9752== by 0x4E61CED: Curl_urldecode (in /home/even/install-curl-git/lib/libcurl.so.4.4.0)
- ==9752== by 0x4E75868: tftp_state_machine (in /home/even/install-curl-git/lib/libcurl.so.4.4.0)
- ==9752== by 0x4E761B6: tftp_do (in /home/even/install-curl-git/lib/libcurl.so.4.4.0)
- ==9752== by 0x4E711B6: multi_runsingle (in /home/even/install-curl-git/lib/libcurl.so.4.4.0)
- ==9752== by 0x4E71D00: curl_multi_perform (in /home/even/install-curl-git/lib/libcurl.so.4.4.0)
- ==9752== by 0x4E6950D: curl_easy_perform (in /home/even/install-curl-git/lib/libcurl.so.4.4.0)
- ==9752== by 0x40E0B7: operate_do (in /home/even/install-curl-git/bin/curl)
- ==9752== by 0x40E849: operate (in /home/even/install-curl-git/bin/curl)
- ==9752== by 0x402693: main (in /home/even/install-curl-git/bin/curl)
-
- Fixes https://oss-fuzz.com/v2/testcase-detail/5232311106797568
- Credit to OSS Fuzz
-
- Closes #1808
-
-Dan Fandrich (19 Aug 2017)
-- runtests: fixed case insensitive matching of keywords
-
- Commit 5c2aac71 didn't work in the case of mixed-case keywords given on
- the command-line.
-
-- tests: Make sure libtests call curl_global_cleanup()
-
- This ensures that global data allocations are freed so Valgrind stays
- happy. This was a problem with at least PolarSSL and mbedTLS.
-
-Daniel Stenberg (18 Aug 2017)
-- RELEASE-NOTES: synced with 8baead425
-
-- scripts/contri*sh: use "git log --use-mailmap"
-
-- mailmap: de-duplify some git authors
-
-- http2_recv: return error better on fatal h2 errors
-
- Ref #1012
- Figured-out-by: Tatsuhiro Tsujikawa
-
-- KNOWN_BUGS: HTTP test server 'connection-monitor' problems
-
- Closes #868
-
-- curl/system.h: check for __ppc__ as well
-
- ... regression since issue #1774 (commit 10b3df10596a) since obviously
- some older gcc doesn't know __powerpc__ while some newer doesn't know
- __ppc__ ...
-
- Fixes #1797
- Closes #1798
- Reported-by: Ryan Schmidt
-
-- [Jan Alexander Steffens (heftig) brought this change]
-
- http: Don't wait on CONNECT when there is no proxy
-
- Since curl 7.55.0, NetworkManager almost always failed its connectivity
- check by timeout. I bisected this to 5113ad04 (http-proxy: do the HTTP
- CONNECT process entirely non-blocking).
-
- This patch replaces !Curl_connect_complete with Curl_connect_ongoing,
- which returns false if the CONNECT state was left uninitialized and lets
- the connection continue.
-
- Closes #1803
- Fixes #1804
-
- Also-fixed-by: Gergely Nagy
-
-- [Johannes Schindelin brought this change]
-
- metalink: adjust source code style
-
- Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
-
-- CURL_SIZEOF_LONG: removed, use only SIZEOF_LONG
-
-- lib557: no longer use CURL_SIZEOF_* defines
-
-- config-win32: define SIZEOF_CURL_OFF_T
-
-- cmake: sizeof curl_off_t, remove unused detections
-
-- system.h: remove all CURL_SIZEOF_* defines
-
- ... as they're not used externally and internally we check for the sizes
- already in configure etc.
-
- Closes #1767
-
-- ftp: fix CWD when doing multicwd then nocwd on same connection
-
- Fixes #1782
- Closes #1787
- Reported-by: Peter Lamare
-
-- CURLOPT_SSH_COMPRESSION.3: enable with 1L
-
- (leaves other values reserved for the future)
-
-- compressed-ssh.d: "Added: 7.56.0"
-
-- curl/system.h: checksrc compliance
-
-Jay Satiro (17 Aug 2017)
-- [Viktor Szakats brought this change]
-
- ssh: add the ability to enable compression (for SCP/SFTP)
-
- The required low-level logic was already available as part of
- `libssh2` (via `LIBSSH2_FLAG_COMPRESS` `libssh2_session_flag()`[1]
- option.)
-
- This patch adds the new `libcurl` option `CURLOPT_SSH_COMPRESSION`
- (boolean) and the new `curl` command-line option `--compressed-ssh`
- to request this `libssh2` feature. To have compression enabled, it
- is required that the SSH server supports a (zlib) compatible
- compression method and that `libssh2` was built with `zlib` support
- enabled.
-
- [1] https://www.libssh2.org/libssh2_session_flag.html
-
- Ref: https://github.com/curl/curl/issues/1732
- Closes https://github.com/curl/curl/pull/1735
-
-- examples/ftpuploadresume: checksrc compliance
-
-- [Maksim Stsepanenka brought this change]
-
- http_proxy: fix build error for CURL_DOES_CONVERSIONS
-
- Closes https://github.com/curl/curl/pull/1793
-
-GitHub (16 Aug 2017)
-- [Nick Zitzmann brought this change]
-
- configure: check for __builtin_available() availability (#1788)
-
- This change does two things:
- 1. It un-breaks the build in Xcode 9.0. (Xcode 9.0 is currently
- failing trying to compile connectx() in lib/connect.c.)
- 2. It finally weak-links the connectx() function, and falls back on
- connect() when run on older operating systems.
-
-Daniel Stenberg (16 Aug 2017)
-- travis: add metalink to some osx builds
-
- Closes #1790
-
-- [Max Dymond brought this change]
-
- coverage: Use two coveralls commands to get lib/vtls results
-
- closes #1747
-
-- darwinssi: fix error: variable length array used
-
-- m4/curl-compilers.m4: use proper quotes around string, not backticks
-
- ... when setting clang version to assume 3.7
-
- Caused a lot of "integer expression expected" warnings by configure.
-
-- [Benbuck Nason brought this change]
-
- cmake: remove dead code for DISABLED_THREADSAFE
-
- Closes #1786
-
-Jay Satiro (15 Aug 2017)
-- [Jakub Zakrzewski brought this change]
-
- curl-confopts.m4: fix --disable-threaded-resolver
-
- Closes https://github.com/curl/curl/issues/1784
-
-Daniel Stenberg (15 Aug 2017)
-- [Ryan Winograd brought this change]
-
- progress: Track total times following redirects
-
- Update the progress timers `t_nslookup`, `t_connect`, `t_appconnect`,
- `t_pretransfer`, and `t_starttransfer` to track the total times for
- these activities when a redirect is followed. Previously, only the times
- for the most recent request would be tracked.
-
- Related changes:
-
- - Rename `Curl_pgrsResetTimesSizes` to `Curl_pgrsResetTransferSizes`
- now that the function only resets transfer sizes and no longer
- modifies any of the progress timers.
-
- - Add a bool to the `Progress` struct that is used to prevent
- double-counting `t_starttransfer` times.
-
- Added test case 1399.
-
- Fixes #522 and Known Bug 1.8
- Closes #1602
- Reported-by: joshhe on github
-
-- [Benbuck Nason brought this change]
-
- cmake: remove dead code for CURL_DISABLE_RTMP
-
- Closes #1785
-
-Kamil Dudka (15 Aug 2017)
-- zsh.pl: produce a working completion script again
-
- Commit curl-7_54_0-118-g8b2f22e changed the output format of curl --help
- to use <file> and <dir> instead of FILE and DIR, which caused zsh.pl to
- produce a broken completion script:
-
- % curl --<TAB>
- _curl:10: no such file or directory: seconds
-
- Closes #1779
-
-Daniel Stenberg (15 Aug 2017)
-- curlver: toward 7.56.0?
-
-- RELEASE-NOTES: synced with 91c46dc44
-
-- test1449: FTP download range with an too large size
-
-- strtoofft: reduce integer overflow risks globally
-
- ... make sure we bail out on overflows.
-
- Reported-by: Brian Carpenter
- Closes #1758
-
-- travis: build the examples too
-
- to make sure they keep building warning-free
-
- Closes #1777
-
-- runtests: match keywords case insensitively
-
-- examples/ftpuploadresume.c: use portable code
-
- ... converted from the MS specific _snscanf()
-
-Version 7.55.1 (13 Aug 2017)
-
-Daniel Stenberg (13 Aug 2017)
-- RELEASE-NOTES/THANKS: curl 7.55.1 release time
-
-- gitignore: ignore .xz now instead of .lzma
-
-- [Sergei Nikulov brought this change]
-
- cmake: Threads detection update. ref: #1702
-
- Closes #1719
-
-- ipv6_scope: support unique local addresses
-
- Fixes #1764
- Closes #1773
- Reported-by: James Slaughter
-
-- [Alex Potapenko brought this change]
-
- curl/system.h: GCC doesn't define __ppc__ on PowerPC, uses __powerpc__
-
- Closes #1774
-
-- test1448: verify redirect to IDN using URL
-
- Closes #1772
-
-- [Salah-Eddin Shaban brought this change]
-
- redirect: skip URL encoding for host names
-
- This fixes redirects to IDN URLs
-
- Fixes #1441
- Closes #1762
- Reported by: David Lord
-
-- test2032: mark as flaky (again)
-
-- travis: test cmake build on tarball too
-
- Could've prevented #1755
-
-- [Simon Warta brought this change]
-
- cmake: allow user to override CMAKE_DEBUG_POSTFIX
-
- Closes #1763
-
-- connect-to.d: better language
-
-- connect-to.d: clarified
-
-- bagder/Curl_tvdiff_us: fix the math
-
- Regression since adef394ac5 (released in 7.55.0)
-
- Reported-by: Han Qiao
- Fixes #1769
- Closes #1771
-
-- curl/system.h: add Oracle Solaris Studio
-
- Fixes #1752
-
-- [Alessandro Ghedini brought this change]
-
- docs: fix typo funtion -> function
-
- Closes #1770
-
-Alessandro Ghedini (12 Aug 2017)
-- docs: fix grammar in CURL_SSLVERSION_MAX_DEFAULT description
-
-- docs: fix typo stuct -> struct
-
-Dan Fandrich (12 Aug 2017)
-- test1447: require a curl with http support
-
-Daniel Stenberg (11 Aug 2017)
-- [Thomas Petazzoni brought this change]
-
- curl/system.h: support more architectures
-
- The long list of architectures in include/curl/system.h is annoying to
- maintain, and needs to be extended for each and every architecture to
- support.
-
- Instead, let's rely on the __SIZEOF_LONG__ define of the gcc compiler
- (we are in the GNUC condition anyway), which tells us if long is 4
- bytes or 8 bytes.
-
- This fixes the build of libcurl 7.55.0 on architectures such as
- OpenRISC or ARC.
-
- Closes #1766
-
- Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-- test2033: this went flaky again
-
- Suspicion: when we enabled the threaded resolver by default.
-
-- test1447: verifies the parse proxy fix in 6e0e152ce5c
-
-- [Even Rouault brought this change]
-
- parse_proxy(): fix memory leak in case of invalid proxy server name
-
- Fixes the below leak:
-
- $ valgrind --leak-check=full ~/install-curl-git/bin/curl --proxy "http://a:b@/x" http://127.0.0.1
- curl: (5) Couldn't resolve proxy name
- ==5048==
- ==5048== HEAP SUMMARY:
- ==5048== in use at exit: 532 bytes in 12 blocks
- ==5048== total heap usage: 5,288 allocs, 5,276 frees, 445,271 bytes allocated
- ==5048==
- ==5048== 2 bytes in 1 blocks are definitely lost in loss record 1 of 12
- ==5048== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==5048== by 0x4E6CB79: parse_login_details (url.c:5614)
- ==5048== by 0x4E6BA82: parse_proxy (url.c:5091)
- ==5048== by 0x4E6C46D: create_conn_helper_init_proxy (url.c:5346)
- ==5048== by 0x4E6EA18: create_conn (url.c:6498)
- ==5048== by 0x4E6F9B4: Curl_connect (url.c:6967)
- ==5048== by 0x4E86D05: multi_runsingle (multi.c:1436)
- ==5048== by 0x4E88432: curl_multi_perform (multi.c:2160)
- ==5048== by 0x4E7C515: easy_transfer (easy.c:708)
- ==5048== by 0x4E7C74A: easy_perform (easy.c:794)
- ==5048== by 0x4E7C7B1: curl_easy_perform (easy.c:813)
- ==5048== by 0x414025: operate_do (tool_operate.c:1563)
- ==5048==
- ==5048== 2 bytes in 1 blocks are definitely lost in loss record 2 of 12
- ==5048== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
- ==5048== by 0x4E6CBB6: parse_login_details (url.c:5621)
- ==5048== by 0x4E6BA82: parse_proxy (url.c:5091)
- ==5048== by 0x4E6C46D: create_conn_helper_init_proxy (url.c:5346)
- ==5048== by 0x4E6EA18: create_conn (url.c:6498)
- ==5048== by 0x4E6F9B4: Curl_connect (url.c:6967)
- ==5048== by 0x4E86D05: multi_runsingle (multi.c:1436)
- ==5048== by 0x4E88432: curl_multi_perform (multi.c:2160)
- ==5048== by 0x4E7C515: easy_transfer (easy.c:708)
- ==5048== by 0x4E7C74A: easy_perform (easy.c:794)
- ==5048== by 0x4E7C7B1: curl_easy_perform (easy.c:813)
- ==5048== by 0x414025: operate_do (tool_operate.c:1563)
-
- Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2984
- Credit to OSS Fuzz for discovery
-
- Closes #1761
-
-- RELEASE-NOTES: synced with 37f2195a9
-
-- curlver: bump to 7.55.1
-
-- openssl: fix "error: this statement may fall through"
-
- A gcc7 warning.
-
-- [David Benjamin brought this change]
-
- openssl: remove CONST_ASN1_BIT_STRING.
-
- Just making the pointer as const works for the pre-1.1.0 path too.
-
- Closes #1759
-
-- maketgz: remove old *.dist files before making the tarball
-
- To avoid "old crap" unintentionally getting shipped.
-
- Bug: https://curl.haxx.se/mail/lib-2017-08/0050.html
- Reported-by: Christian Weisgerber
-
-Jay Satiro (10 Aug 2017)
-- mkhelp.pl: allow executing this script directly
-
- - Enable execute permission (chmod +x)
-
- - Change interpreter to /usr/bin/env perl
-
- Ref: https://github.com/curl/curl/issues/1743
-
-Daniel Stenberg (10 Aug 2017)
-- configure: use the threaded resolver backend by default if possible
-
- Closes #1647
-
-- cmake: move cmake_uninstall.cmake to CMake/
-
- Closes #1756
-
-- metalink: fix error: ‘*’ in boolean context, suggest ‘&&’ instead
-
-- dist: fix the cmake build by shipping cmake_uninstall.cmake.in too
-
- Fixes #1755
-
-- travis: verify "make install"
-
- Help-by: Jay Satiro
- Closes #1753
-
-Marcel Raad (10 Aug 2017)
-- build: check out *.sln files with Windows line endings
-
- Visual Studio doesn't like LF line endings in solution files and always
- converts them to CRLF when doing changes to the solution. Notably, this
- affects the solutions in the release archive.
-
- Closes https://github.com/curl/curl/pull/1746
-
-- gitignore: ignore top-level .vs folder
-
- This folder is generated when using the CMake build system from within
- Visual Studio.
-
- Closes https://github.com/curl/curl/pull/1746
-
-Jay Satiro (10 Aug 2017)
-- digest_sspi: Don't reuse context if the user/passwd has changed
-
- Bug: https://github.com/curl/curl/issues/1685
- Reported-by: paulharris@users.noreply.github.com
-
- Assisted-by: Isaac Boukris
-
- Closes https://github.com/curl/curl/pull/1742
-
-Daniel Stenberg (9 Aug 2017)
-- [Adam Sampson brought this change]
-
- dist: Add dictserver.py/negtelnetserver.py to EXTRA_DIST
-
- These weren't included in the 7.55.0 release, but are required in order
- to run the full test suite.
-
- Closes #1744
-
-- [Adam Sampson brought this change]
-
- curl: do bounds check using a double comparison
-
- The fix for this in 8661a0aacc01492e0436275ff36a21734f2541bb wasn't
- complete: if the parsed number in num is larger than will fit in a long,
- the conversion is undefined behaviour (causing test1427 to fail for me
- on IA32 with GCC 7.1, although it passes on AMD64 and ARMv7). Getting
- rid of the cast means the comparison will be done using doubles.
-
- It might make more sense for the max argument to also be a double...
-
- Fixes #1750
- Closes #1749
-
-- make install: add 8 missing man pages to the installation
-
-- build: fix 'make install' with configure, install docs/libcurl/* too
-
- Broken since d24838d4da9faa
-
- Reported-by: Bernard Spil
-
-Version 7.55.0 (9 Aug 2017)
-
-Daniel Stenberg (9 Aug 2017)
-- RELEASE-NOTES: curl 7.55.0
-
-- THANKS: 20 new contributors in 7.55.0
-
-- [Viktor Szakats brought this change]
-
- docs/comments: Update to secure URL versions
-
- Closes #1741
-
-- configure: fix recv/send/select detection on Android
-
- ... since they now provide several functions as
- __attribute__((overloadable)), the argument detection logic need
- updates.
-
- Patched-by: destman at github
-
- Fixes #1738
- Closes #1739
-
-Marcel Raad (8 Aug 2017)
-- ax_code_coverage.m4: update to latest version
-
- This updates the script to aad5ad5fedb306b39f901a899b7bd305b66c418d
- from August 01, 2017. Notably, this removes the lconv version whitelist.
-
- Closes https://github.com/curl/curl/pull/1716
-
-Daniel Stenberg (7 Aug 2017)
-- test1427: verify command line parser integer overflow detection
-
-- curl: detect and bail out early on parameter integer overflows
-
- Make the number parser aware of the maximum limit curl accepts for a
- value and return an error immediately if larger, instead of running an
- integer overflow later.
-
- Fixes #1730
- Closes #1736
-
-- glob: do not continue parsing after a strtoul() overflow range
-
- Added test 1289 to verify.
-
- CVE-2017-1000101
-
- Bug: https://curl.haxx.se/docs/adv_20170809A.html
- Reported-by: Brian Carpenter
-
-- tftp: reject file name lengths that don't fit
-
- ... and thereby avoid telling send() to send off more bytes than the
- size of the buffer!
-
- CVE-2017-1000100
-
- Bug: https://curl.haxx.se/docs/adv_20170809B.html
- Reported-by: Even Rouault
-
- Credit to OSS-Fuzz for the discovery
-
-- [Even Rouault brought this change]
-
- file: output the correct buffer to the user
-
- Regression brought by 7c312f84ea930d8 (April 2017)
-
- CVE-2017-1000099
-
- Bug: https://curl.haxx.se/docs/adv_20170809C.html
-
- Credit to OSS-Fuzz for the discovery
-
-- easy_events: make event data static
-
- First: this function is only used in debug-builds and not in
- release/real builds. It is used to drive tests using the event-based
- API.
-
- A pointer to the local struct is passed to CURLMOPT_TIMERDATA, but the
- CURLMOPT_TIMERFUNCTION calback can in fact be called even after this
- funtion returns, namely when curl_multi_remove_handle() is called.
-
- Reported-by: Brian Carpenter
-
-- getparameter: avoid returning uninitialized 'usedarg'
-
- Fixes #1728
-
-Marcel Raad (5 Aug 2017)
-- [Isaac Boukris brought this change]
-
- gssapi: fix memory leak of output token in multi round context
-
- When multiple rounds are needed to establish a security context
- (usually ntlm), we overwrite old token with a new one without free.
- Found by proposed gss tests using stub a gss implementation (by
- valgrind error), though I have confirmed the leak with a real
- gssapi implementation as well.
-
- Closes https://github.com/curl/curl/pull/1733
-
-- darwinssl: fix compiler warning
-
- clang complains:
- vtls/darwinssl.c:40:8: error: extra tokens at end of #endif directive
- [-Werror,-Wextra-tokens]
-
- This breaks the darwinssl build on Travis. Fix it by making this token
- a comment.
-
- Closes https://github.com/curl/curl/pull/1734
-
-- CMake: fix CURL_WERROR for MSVC
-
- When using CURL_WERROR in MSVC builds, the debug flags were overridden
- by the release flags and /WX got added twice in debug mode.
-
- Closes https://github.com/curl/curl/pull/1715
-
-Daniel Stenberg (4 Aug 2017)
-- RELEASE-NOTES: synced with 561e9217c
-
-- test1010: verify that #1718 is fixed
-
- ... by doing two transfers in nocwd mode and check that there's no
- superfluous CWD command.
-
-- FTP: skip unnecessary CWD when in nocwd mode
-
- ... when reusing a connection. If it didn't do any CWD previously.
-
- Fixes #1718
-
-Marcel Raad (4 Aug 2017)
-- travis: explicitly specify dist
-
- This makes the builds more reproducible as travis is currently rolling
- out trusty as default dist [1]. Specifically, this avoids coverage
- check failures when trusty is used as seen in [2] until we figure out
- what's wrong.
-
- [1] https://blog.travis-ci.com/2017-07-11-trusty-as-default-linux-is-coming
- [2] https://github.com/curl/curl/pull/1692
-
- Closes https://github.com/curl/curl/pull/1725
-
-Daniel Stenberg (4 Aug 2017)
-- travis: BUILD_TYPE => T
-
- (to make the full line appear nicer on travis web UI)
-
-- travis: add osx build with darwinssl
-
- Closes #1706
-
-- darwin: silence compiler warnings
-
- With a clang pragma and three type fixes
-
- Fixes #1722
-
-- BUILD.WINDOWS: mention buildconf.bat for builds off git
-
-- darwinssl: fix curlssl_sha256sum() compiler warnings on first argument
-
-- test130: verify comments in .netrc
-
-- [Gisle Vanem brought this change]
-
- netrc: skip lines starting with '#'
-
- Bug: https://curl.haxx.se/mail/lib-2017-08/0008.html
-
-Marcel Raad (3 Aug 2017)
-- CMake: set MSVC warning level to 4
-
- The MSVC warning level defaults to 3 in CMake. Change it to 4, which is
- consistent with the Visual Studio and NMake builds. Disable level 4
- warning C4127 for the library and additionally C4306 for the test
- servers to get a clean CURL_WERROR build as that warning is raised in
- some macros in older Visual Studio versions.
-
- Ref: https://github.com/curl/curl/pull/1667#issuecomment-314082794
- Closes https://github.com/curl/curl/pull/1711
-
-Daniel Stenberg (2 Aug 2017)
-- CURLOPT_NETRC.3: fix typo in 7e48aa386156f9c2
-
- Reported-by: Viktor Szakats
-
-- CURLOPT_NETRC.3: mention the file name on windows
-
- ... and CURLOPT_NETRC_FILE(3).
-
-- travis: build osx with libressl too
-
-- travis: build osx with openssl too
-
-- tests/server/util: fix curltime mistake from 4dee50b9c80f9
-
-Marcel Raad (1 Aug 2017)
-- curl_threads: fix MSVC compiler warning
-
- Use LongToHandle to convert from long to HANDLE in the Win32
- implementation.
- This should fix the following warning when compiling with
- MSVC 11 (2012) in 64-bit mode:
- lib\curl_threads.c(113): warning C4306:
- 'type cast' : conversion from 'long' to 'HANDLE' of greater size
-
- Closes https://github.com/curl/curl/pull/1717
-
-Daniel Stenberg (1 Aug 2017)
-- BUGS: improved phrasing about security bugs
-
- Reported-by: Max Dymond
-
-- BUGS: clarify how to report security related bugs
-
-- [Brad Spencer brought this change]
-
- multi: fix request timer management
-
- There are some bugs in how timers are managed for a single easy handle
- that causes the wrong "next timeout" value to be reported to the
- application when a new minimum needs to be recomputed and that new
- minimum should be an existing timer that isn't currently set for the
- easy handle. When the application drives a set of easy handles via the
- `curl_multi_socket_action()` API (for example), it gets told to wait the
- wrong amount of time before the next call, which causes requests to
- linger for a long time (or, it is my guess, possibly forever).
-
- Bug: https://curl.haxx.se/mail/lib-2017-07/0033.html
-
-Jay Satiro (1 Aug 2017)
-- curl_setup: Define CURL_NO_OLDIES for building libcurl
-
- .. to catch accidental use of deprecated error codes.
-
- Ref: https://github.com/curl/curl/issues/1688#issuecomment-316764237
-
-Daniel Stenberg (1 Aug 2017)
-- [Jeremy Tan brought this change]
-
- configure: fix the check for IdnToUnicode
-
- Fixes #1669
- Closes #1713
-
-- http: fix response code parser to avoid integer overflow
-
- test 1429 and 1433 were updated to work with the stricter HTTP status line
- parser.
-
- Closes #1714
- Reported-by: Brian Carpenter
-
-Jay Satiro (31 Jul 2017)
-- [Dwarakanath Yadavalli brought this change]
-
- libcurl: Stop using error codes defined under CURL_NO_OLDIES
-
- Fixes https://github.com/curl/curl/issues/1688
- Closes https://github.com/curl/curl/pull/1712
-
-- include.d: clarify --include is only for response headers
-
- Follow-up to 171f8de and de6de94.
-
- Bug: https://github.com/curl/curl/commit/de6de94#commitcomment-23370851
- Reported-by: Daniel Stenberg
-
-Daniel Stenberg (30 Jul 2017)
-- [Jason Juang brought this change]
-
- cmake: support make uninstall
-
- Closes #1674
-
-- RELEASE-NOTES: synced with 001701c47
-
-Marcel Raad (29 Jul 2017)
-- AppVeyor: now really use CURL_WERROR
-
- It was misspelled as CURL_ERROR in commit
- 2d86e8d1286e0fbe3d811e2e87fa0b5e53722db4.
-
- Closes https://github.com/curl/curl/pull/1686
-
-Jay Satiro (29 Jul 2017)
-- tool_help: clarify --include is only for response headers
-
- Follow-up to 171f8de.
-
- Ref: https://github.com/curl/curl/issues/1704
-
-- splay: fix signed/unsigned mismatch warning
-
- Follow-up to 4dee50b.
-
- Ref: https://github.com/curl/curl/pull/1693
-
-Daniel Stenberg (28 Jul 2017)
-- include.d: clarify that it concerns the response headers
-
- Reported-by: olesteban at github
- Fixes #1704
-
-- [Johannes Schindelin brought this change]
-
- curl_rtmp: fix a compiler warning
-
- The headers of librtmp declare the socket as `int`, and on Windows, that
- disagrees with curl_socket_t.
-
- Bug: #1652
-
- Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
-
-- test1323: verify curlx_tvdiff
-
-- timeval: struct curltime is a struct timeval replacement
-
- ... to make all libcurl internals able to use the same data types for
- the struct members. The timeval struct differs subtly on several
- platforms so it makes it cumbersome to use everywhere.
-
- Ref: #1652
- Closes #1693
-
-- darwinssl: fix variable type mistake (regression)
-
- ... which made --tlsv1.2 not work because it would blank the max tls
- version variable.
-
- Reported-by: Nick Miyake
- Bug: #1703
-
-- multi: mention integer overflow risk if using > 500 million sockets
-
- Reported-by: ovidiu-benea@users.noreply.github.com
-
- Closes #1675
- Closes #1683
-
-- checksrc: escape open brace in regex
-
- ... to silence warning.
-
-Kamil Dudka (20 Jul 2017)
-- nss: fix a possible use-after-free in SelectClientCert()
-
- ... causing a SIGSEGV in showit() in case the handle used to initiate
- the connection has already been freed.
-
- This commit fixes a bug introduced in curl-7_19_5-204-g5f0cae803.
-
- Reported-by: Rob Sanders
- Bug: https://bugzilla.redhat.com/1436158
-
-- nss: unify the coding style of nss_send() and nss_recv()
-
- No changes in behavior intended by this commit.
-
-Marcel Raad (18 Jul 2017)
-- tests/server/resolve.c: fix deprecation warning
-
- MSVC warns that gethostbyname is deprecated. Always use getaddrinfo
- instead to fix this when IPv6 is enabled, also for IPv4 resolves. This
- is also consistent with what libcurl does.
-
- Closes https://github.com/curl/curl/pull/1682
-
-Jay Satiro (17 Jul 2017)
-- darwinssl: fix pinnedpubkey build error
-
- - s/SessionHandle/Curl_easy/
-
- Bug: https://github.com/curl/curl/commit/eb16305#commitcomment-23035670
- Reported-by: Gisle Vanem
-
-Marcel Raad (16 Jul 2017)
-- rtspd: fix GCC warning after MSVC warning fix
-
- Older GCC warns:
- /tests/server/rtspd.c:1194:10: warning: missing braces around
- initializer [-Wmissing-braces]
-
- Fix this by using memset instead of an initializer.
-
-- libtest: fix MSVC warning C4706
-
- With warning level 4, MSVC warns about assignments within conditional
- expressions. Change the while loop to a do-while loop to fix this. This
- change is also consistent with CODE_STYLE.md.
-
-- sockfilt: suppress conversion warning with explicit cast
-
- MSVC warns when implicitly casting -1 to unsigned long.
-
-- rtspd: fix MSVC level 4 warning
-
- warning C4701: potentially uninitialized local variable 'req' used
diff --git a/CMake/CurlTests.c b/CMake/CurlTests.c
index bc36c8ef..ab244ac3 100644
--- a/CMake/CurlTests.c
+++ b/CMake/CurlTests.c
@@ -507,30 +507,30 @@ main ()
#ifdef HAVE_GLIBC_STRERROR_R
#include <string.h>
#include <errno.h>
+
+void check(char c) {}
+
int
main () {
- char buffer[1024]; /* big enough to play with */
- char *string =
- strerror_r(EACCES, buffer, sizeof(buffer));
- /* this should've returned a string */
- if(!string || !string[0])
- return 99;
- return 0;
+ char buffer[1024];
+ /* This will not compile if strerror_r does not return a char* */
+ check(strerror_r(EACCES, buffer, sizeof(buffer))[0]);
+ return 0;
}
#endif
#ifdef HAVE_POSIX_STRERROR_R
#include <string.h>
#include <errno.h>
+
+/* float, because a pointer can't be implicitly cast to float */
+void check(float f) {}
+
int
main () {
- char buffer[1024]; /* big enough to play with */
- int error =
- strerror_r(EACCES, buffer, sizeof(buffer));
- /* This should've returned zero, and written an error string in the
- buffer.*/
- if(!buffer[0] || error)
- return 99;
- return 0;
+ char buffer[1024];
+ /* This will not compile if strerror_r does not return an int */
+ check(strerror_r(EACCES, buffer, sizeof(buffer)));
+ return 0;
}
#endif
#ifdef HAVE_FSETXATTR_6
diff --git a/CMake/Macros.cmake b/CMake/Macros.cmake
index 82aadca9..87bf905f 100644
--- a/CMake/Macros.cmake
+++ b/CMake/Macros.cmake
@@ -10,8 +10,8 @@ macro(CHECK_LIBRARY_EXISTS_CONCAT LIBRARY SYMBOL VARIABLE)
${VARIABLE})
if(${VARIABLE})
set(CURL_LIBS ${LIBRARY} ${CURL_LIBS})
- endif(${VARIABLE})
-endmacro(CHECK_LIBRARY_EXISTS_CONCAT)
+ endif()
+endmacro()
# Check if header file exists and add it to the list.
# This macro is intended to be called multiple times with a sequence of
@@ -22,8 +22,8 @@ macro(CHECK_INCLUDE_FILE_CONCAT FILE VARIABLE)
if(${VARIABLE})
set(CURL_INCLUDES ${CURL_INCLUDES} ${FILE})
set(CURL_TEST_DEFINES "${CURL_TEST_DEFINES} -D${VARIABLE}")
- endif(${VARIABLE})
-endmacro(CHECK_INCLUDE_FILE_CONCAT)
+ endif()
+endmacro()
# For other curl specific tests, use this macro.
macro(CURL_INTERNAL_TEST CURL_TEST)
@@ -33,7 +33,7 @@ macro(CURL_INTERNAL_TEST CURL_TEST)
if(CMAKE_REQUIRED_LIBRARIES)
set(CURL_TEST_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
- endif(CMAKE_REQUIRED_LIBRARIES)
+ endif()
message(STATUS "Performing Curl Test ${CURL_TEST}")
try_compile(${CURL_TEST}
@@ -48,15 +48,15 @@ macro(CURL_INTERNAL_TEST CURL_TEST)
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
"Performing Curl Test ${CURL_TEST} passed with the following output:\n"
"${OUTPUT}\n")
- else(${CURL_TEST})
+ else()
message(STATUS "Performing Curl Test ${CURL_TEST} - Failed")
set(${CURL_TEST} "" CACHE INTERNAL "Curl test ${FUNCTION}")
file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
"Performing Curl Test ${CURL_TEST} failed with the following output:\n"
"${OUTPUT}\n")
- endif(${CURL_TEST})
+ endif()
endif()
-endmacro(CURL_INTERNAL_TEST)
+endmacro()
macro(CURL_INTERNAL_TEST_RUN CURL_TEST)
if(NOT DEFINED "${CURL_TEST}_COMPILE")
@@ -65,7 +65,7 @@ macro(CURL_INTERNAL_TEST_RUN CURL_TEST)
if(CMAKE_REQUIRED_LIBRARIES)
set(CURL_TEST_ADD_LIBRARIES
"-DLINK_LIBRARIES:STRING=${CMAKE_REQUIRED_LIBRARIES}")
- endif(CMAKE_REQUIRED_LIBRARIES)
+ endif()
message(STATUS "Performing Curl Test ${CURL_TEST}")
try_run(${CURL_TEST} ${CURL_TEST}_COMPILE
@@ -77,7 +77,7 @@ macro(CURL_INTERNAL_TEST_RUN CURL_TEST)
if(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
set(${CURL_TEST} 1 CACHE INTERNAL "Curl test ${FUNCTION}")
message(STATUS "Performing Curl Test ${CURL_TEST} - Success")
- else(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
+ else()
message(STATUS "Performing Curl Test ${CURL_TEST} - Failed")
set(${CURL_TEST} "" CACHE INTERNAL "Curl test ${FUNCTION}")
file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
@@ -87,12 +87,12 @@ macro(CURL_INTERNAL_TEST_RUN CURL_TEST)
file(APPEND
"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
"There was a problem running this test\n")
- endif(${CURL_TEST}_COMPILE)
+ endif()
file(APPEND "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log"
"\n\n")
- endif(${CURL_TEST}_COMPILE AND NOT ${CURL_TEST})
+ endif()
endif()
-endmacro(CURL_INTERNAL_TEST_RUN)
+endmacro()
macro(CURL_NROFF_CHECK)
find_program(NROFF NAMES gnroff nroff)
@@ -121,4 +121,4 @@ macro(CURL_NROFF_CHECK)
else()
message(WARNING "Found no *nroff program")
endif()
-endmacro(CURL_NROFF_CHECK)
+endmacro()
diff --git a/CMake/OtherTests.cmake b/CMake/OtherTests.cmake
index 989f04eb..ce6d3e13 100644
--- a/CMake/OtherTests.cmake
+++ b/CMake/OtherTests.cmake
@@ -5,8 +5,8 @@ set(_source_epilogue "#undef inline")
macro(add_header_include check header)
if(${check})
set(_source_epilogue "${_source_epilogue}\n#include <${header}>")
- endif(${check})
-endmacro(add_header_include)
+ endif()
+endmacro()
set(signature_call_conv)
if(HAVE_WINDOWS_H)
@@ -19,10 +19,10 @@ if(HAVE_WINDOWS_H)
if(HAVE_LIBWS2_32)
set(CMAKE_REQUIRED_LIBRARIES ws2_32)
endif()
-else(HAVE_WINDOWS_H)
+else()
add_header_include(HAVE_SYS_TYPES_H "sys/types.h")
add_header_include(HAVE_SYS_SOCKET_H "sys/socket.h")
-endif(HAVE_WINDOWS_H)
+endif()
check_c_source_compiles("${_source_epilogue}
int main(void) {
@@ -64,13 +64,13 @@ if(curl_cv_recv)
set(RECV_TYPE_RETV "${recv_retv}")
set(HAVE_RECV 1)
set(curl_cv_func_recv_done 1)
- endif(curl_cv_func_recv_test)
- endif(NOT curl_cv_func_recv_done)
- endforeach(recv_arg4)
- endforeach(recv_arg3)
- endforeach(recv_arg2)
- endforeach(recv_arg1)
- endforeach(recv_retv)
+ endif()
+ endif()
+ endforeach()
+ endforeach()
+ endforeach()
+ endforeach()
+ endforeach()
else()
string(REGEX REPLACE "^([^,]*),[^,]*,[^,]*,[^,]*,[^,]*$" "\\1" RECV_TYPE_ARG1 "${curl_cv_func_recv_args}")
string(REGEX REPLACE "^[^,]*,([^,]*),[^,]*,[^,]*,[^,]*$" "\\1" RECV_TYPE_ARG2 "${curl_cv_func_recv_args}")
@@ -81,10 +81,10 @@ if(curl_cv_recv)
if("${curl_cv_func_recv_args}" STREQUAL "unknown")
message(FATAL_ERROR "Cannot find proper types to use for recv args")
- endif("${curl_cv_func_recv_args}" STREQUAL "unknown")
-else(curl_cv_recv)
+ endif()
+else()
message(FATAL_ERROR "Unable to link function recv")
-endif(curl_cv_recv)
+endif()
set(curl_cv_func_recv_args "${curl_cv_func_recv_args}" CACHE INTERNAL "Arguments for recv")
set(HAVE_RECV 1)
@@ -130,13 +130,13 @@ if(curl_cv_send)
set(SEND_TYPE_RETV "${send_retv}")
set(HAVE_SEND 1)
set(curl_cv_func_send_done 1)
- endif(curl_cv_func_send_test)
- endif(NOT curl_cv_func_send_done)
- endforeach(send_arg4)
- endforeach(send_arg3)
- endforeach(send_arg2)
- endforeach(send_arg1)
- endforeach(send_retv)
+ endif()
+ endif()
+ endforeach()
+ endforeach()
+ endforeach()
+ endforeach()
+ endforeach()
else()
string(REGEX REPLACE "^([^,]*),[^,]*,[^,]*,[^,]*,[^,]*,[^,]*$" "\\1" SEND_TYPE_ARG1 "${curl_cv_func_send_args}")
string(REGEX REPLACE "^[^,]*,([^,]*),[^,]*,[^,]*,[^,]*,[^,]*$" "\\1" SEND_TYPE_ARG2 "${curl_cv_func_send_args}")
@@ -148,11 +148,11 @@ if(curl_cv_send)
if("${curl_cv_func_send_args}" STREQUAL "unknown")
message(FATAL_ERROR "Cannot find proper types to use for send args")
- endif("${curl_cv_func_send_args}" STREQUAL "unknown")
+ endif()
set(SEND_QUAL_ARG2 "const")
-else(curl_cv_send)
+else()
message(FATAL_ERROR "Unable to link function send")
-endif(curl_cv_send)
+endif()
set(curl_cv_func_send_args "${curl_cv_func_send_args}" CACHE INTERNAL "Arguments for send")
set(HAVE_SEND 1)
@@ -184,7 +184,7 @@ if(NOT APPLE)
set(CMAKE_REQUIRED_FLAGS)
if(HAVE_SYS_POLL_H)
set(CMAKE_REQUIRED_FLAGS "-DHAVE_SYS_POLL_H")
- endif(HAVE_SYS_POLL_H)
+ endif()
check_c_source_runs("
#ifdef HAVE_SYS_POLL_H
# include <sys/poll.h>
@@ -199,7 +199,7 @@ set(CMAKE_REQUIRED_FLAGS)
if(HAVE_SIGNAL_H)
set(CMAKE_REQUIRED_FLAGS "-DHAVE_SIGNAL_H")
set(CMAKE_EXTRA_INCLUDE_FILES "signal.h")
-endif(HAVE_SIGNAL_H)
+endif()
check_type_size("sig_atomic_t" SIZEOF_SIG_ATOMIC_T)
if(HAVE_SIZEOF_SIG_ATOMIC_T)
check_c_source_compiles("
@@ -213,8 +213,8 @@ if(HAVE_SIZEOF_SIG_ATOMIC_T)
}" HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
if(NOT HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
set(HAVE_SIG_ATOMIC_T_VOLATILE 1)
- endif(NOT HAVE_SIG_ATOMIC_T_NOT_VOLATILE)
-endif(HAVE_SIZEOF_SIG_ATOMIC_T)
+ endif()
+endif()
if(HAVE_WINDOWS_H)
set(CMAKE_EXTRA_INCLUDE_FILES winsock2.h)
@@ -222,11 +222,10 @@ else()
set(CMAKE_EXTRA_INCLUDE_FILES)
if(HAVE_SYS_SOCKET_H)
set(CMAKE_EXTRA_INCLUDE_FILES sys/socket.h)
- endif(HAVE_SYS_SOCKET_H)
+ endif()
endif()
check_type_size("struct sockaddr_storage" SIZEOF_STRUCT_SOCKADDR_STORAGE)
if(HAVE_SIZEOF_STRUCT_SOCKADDR_STORAGE)
set(HAVE_STRUCT_SOCKADDR_STORAGE 1)
-endif(HAVE_SIZEOF_STRUCT_SOCKADDR_STORAGE)
-
+endif()
diff --git a/CMake/Platforms/WindowsCache.cmake b/CMake/Platforms/WindowsCache.cmake
index 6fc2991c..cafaec21 100644
--- a/CMake/Platforms/WindowsCache.cmake
+++ b/CMake/Platforms/WindowsCache.cmake
@@ -118,8 +118,7 @@ if(NOT UNIX)
set(HAVE_SIGACTION 0)
set(HAVE_MACRO_SIGSETJMP 0)
- else(WIN32)
+ else()
message("This file should be included on Windows platform only")
- endif(WIN32)
-endif(NOT UNIX)
-
+ endif()
+endif()
diff --git a/CMake/Utilities.cmake b/CMake/Utilities.cmake
index 005b166f..5cb1d449 100644
--- a/CMake/Utilities.cmake
+++ b/CMake/Utilities.cmake
@@ -1,44 +1,13 @@
# File containing various utilities
-# Converts a CMake list to a string containing elements separated by spaces
-function(TO_LIST_SPACES _LIST_NAME OUTPUT_VAR)
- set(NEW_LIST_SPACE)
- foreach(ITEM ${${_LIST_NAME}})
- set(NEW_LIST_SPACE "${NEW_LIST_SPACE} ${ITEM}")
- endforeach()
- string(STRIP ${NEW_LIST_SPACE} NEW_LIST_SPACE)
- set(${OUTPUT_VAR} "${NEW_LIST_SPACE}" PARENT_SCOPE)
-endfunction()
-
-# Appends a lis of item to a string which is a space-separated list, if they don't already exist.
-function(LIST_SPACES_APPEND_ONCE LIST_NAME)
- string(REPLACE " " ";" _LIST ${${LIST_NAME}})
- list(APPEND _LIST ${ARGN})
- list(REMOVE_DUPLICATES _LIST)
- to_list_spaces(_LIST NEW_LIST_SPACE)
- set(${LIST_NAME} "${NEW_LIST_SPACE}" PARENT_SCOPE)
-endfunction()
-
-# Convenience function that does the same as LIST(FIND ...) but with a TRUE/FALSE return value.
-# Ex: IN_STR_LIST(MY_LIST "Searched item" WAS_FOUND)
-function(IN_STR_LIST LIST_NAME ITEM_SEARCHED RETVAL)
- list(FIND ${LIST_NAME} ${ITEM_SEARCHED} FIND_POS)
- if(${FIND_POS} EQUAL -1)
- set(${RETVAL} FALSE PARENT_SCOPE)
- else()
- set(${RETVAL} TRUE PARENT_SCOPE)
- endif()
-endfunction()
-
# Returns a list of arguments that evaluate to true
-function(collect_true output_var output_count_var)
- set(${output_var})
+function(count_true output_count_var)
+ set(lst)
foreach(option_var IN LISTS ARGN)
if(${option_var})
- list(APPEND ${output_var} ${option_var})
+ list(APPEND lst ${option_var})
endif()
endforeach()
- set(${output_var} ${${output_var}} PARENT_SCOPE)
- list(LENGTH ${output_var} ${output_count_var})
- set(${output_count_var} ${${output_count_var}} PARENT_SCOPE)
+ list(LENGTH lst lst_len)
+ set(${output_count_var} ${lst_len} PARENT_SCOPE)
endfunction()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bf25b1f7..df164500 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -100,8 +100,8 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_CCOPT}")
endif()
endforeach()
- endif(PICKY_COMPILER)
-endif(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_CLANG)
+ endif()
+endif()
if (ENABLE_DEBUG)
# DEBUGBUILD will be defined only for Debug builds
@@ -118,7 +118,9 @@ if (ENABLE_CURLDEBUG)
endif()
# For debug libs and exes, add "-d" postfix
-set(CMAKE_DEBUG_POSTFIX "-d" CACHE STRING "Set debug library postfix")
+if(NOT DEFINED CMAKE_DEBUG_POSTFIX)
+ set(CMAKE_DEBUG_POSTFIX "-d")
+endif()
# initialize CURL_LIBS
set(CURL_LIBS "")
@@ -230,12 +232,12 @@ endif()
# Disable warnings on Borland to avoid changing 3rd party code.
if(BORLAND)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w-")
-endif(BORLAND)
+endif()
# If we are on AIX, do the _ALL_SOURCE magic
if(${CMAKE_SYSTEM_NAME} MATCHES AIX)
set(_ALL_SOURCE 1)
-endif(${CMAKE_SYSTEM_NAME} MATCHES AIX)
+endif()
# Include all the necessary files for macros
include (CheckFunctionExists)
@@ -251,7 +253,7 @@ include (CMakeDependentOption)
if(WIN32)
set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -D_WINSOCKAPI_=")
include(${CMAKE_CURRENT_SOURCE_DIR}/CMake/Platforms/WindowsCache.cmake)
-endif(WIN32)
+endif()
if(ENABLE_THREADED_RESOLVER)
find_package(Threads REQUIRED)
@@ -274,11 +276,11 @@ if(BEOS)
set(NOT_NEED_LIBNSL 1)
check_library_exists_concat("bind" gethostbyname HAVE_LIBBIND)
check_library_exists_concat("bnetapi" closesocket HAVE_LIBBNETAPI)
-endif(BEOS)
+endif()
if(NOT NOT_NEED_LIBNSL)
check_library_exists_concat("nsl" gethostbyname HAVE_LIBNSL)
-endif(NOT NOT_NEED_LIBNSL)
+endif()
check_function_exists(gethostname HAVE_GETHOSTNAME)
@@ -307,14 +309,14 @@ if(WIN32 OR CMAKE_USE_DARWINSSL OR CMAKE_USE_WINSSL OR CMAKE_USE_MBEDTLS)
endif()
option(CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" ${openssl_default})
-collect_true(enabled_ssl_options enabled_ssl_options_count
+count_true(enabled_ssl_options_count
CMAKE_USE_WINSSL
CMAKE_USE_DARWINSSL
CMAKE_USE_OPENSSL
CMAKE_USE_MBEDTLS
)
-if(enabled_ssl_options_count GREATER 1)
- message(FATAL_ERROR "Multiple SSL options specified: ${enabled_ssl_options}. Please pick at most one and disable the rest.")
+if(enabled_ssl_options_count GREATER "1")
+ set(CURL_WITH_MULTI_SSL ON)
endif()
if(CMAKE_USE_WINSSL)
@@ -354,7 +356,6 @@ if(CMAKE_USE_OPENSSL)
include_directories(${OPENSSL_INCLUDE_DIR})
set(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
check_include_file("openssl/crypto.h" HAVE_OPENSSL_CRYPTO_H)
- check_include_file("openssl/engine.h" HAVE_OPENSSL_ENGINE_H)
check_include_file("openssl/err.h" HAVE_OPENSSL_ERR_H)
check_include_file("openssl/pem.h" HAVE_OPENSSL_PEM_H)
check_include_file("openssl/rsa.h" HAVE_OPENSSL_RSA_H)
@@ -554,9 +555,8 @@ if(CMAKE_USE_LIBSSH2)
check_function_exists(libssh2_scp_send64 HAVE_LIBSSH2_SCP_SEND64)
check_function_exists(libssh2_session_handshake HAVE_LIBSSH2_SESSION_HANDSHAKE)
set(CMAKE_EXTRA_INCLUDE_FILES "")
-
- endif(LIBSSH2_FOUND)
-endif(CMAKE_USE_LIBSSH2)
+ endif()
+endif()
option(CMAKE_USE_GSSAPI "Use GSSAPI implementation (right now only Heimdal is supported with CMake build)" OFF)
mark_as_advanced(CMAKE_USE_GSSAPI)
@@ -707,7 +707,7 @@ if(NOT UNIX)
if(NOT CURL_WINDOWS_SSPI AND USE_OPENSSL)
set(CURL_LIBS ${CURL_LIBS} "crypt32")
endif()
-endif(NOT UNIX)
+endif()
check_include_file_concat("stdio.h" HAVE_STDIO_H)
check_include_file_concat("inttypes.h" HAVE_INTTYPES_H)
@@ -790,17 +790,17 @@ check_type_size("time_t" SIZEOF_TIME_T)
if(NOT HAVE_SIZEOF_SSIZE_T)
if(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
set(ssize_t long)
- endif(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
+ endif()
if(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
set(ssize_t __int64)
- endif(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
-endif(NOT HAVE_SIZEOF_SSIZE_T)
+ endif()
+endif()
# off_t is sized later, after the HAVE_FILE_OFFSET_BITS test
if(HAVE_SIZEOF_LONG_LONG)
set(HAVE_LONGLONG 1)
set(HAVE_LL 1)
-endif(HAVE_SIZEOF_LONG_LONG)
+endif()
find_file(RANDOM_FILE urandom /dev)
mark_as_advanced(RANDOM_FILE)
@@ -832,7 +832,7 @@ check_symbol_exists(strncmpi "${CURL_INCLUDES}" HAVE_STRNCMPI)
check_symbol_exists(alarm "${CURL_INCLUDES}" HAVE_ALARM)
if(NOT HAVE_STRNCMPI)
set(HAVE_STRCMPI)
-endif(NOT HAVE_STRNCMPI)
+endif()
check_symbol_exists(gethostbyaddr "${CURL_INCLUDES}" HAVE_GETHOSTBYADDR)
check_symbol_exists(gethostbyaddr_r "${CURL_INCLUDES}" HAVE_GETHOSTBYADDR_R)
check_symbol_exists(gettimeofday "${CURL_INCLUDES}" HAVE_GETTIMEOFDAY)
@@ -848,6 +848,7 @@ check_symbol_exists(sigsetjmp "${CURL_INCLUDES}" HAVE_SIGSETJMP)
check_symbol_exists(getpass_r "${CURL_INCLUDES}" HAVE_GETPASS_R)
check_symbol_exists(strlcat "${CURL_INCLUDES}" HAVE_STRLCAT)
check_symbol_exists(getpwuid "${CURL_INCLUDES}" HAVE_GETPWUID)
+check_symbol_exists(getpwuid_r "${CURL_INCLUDES}" HAVE_GETPWUID_R)
check_symbol_exists(geteuid "${CURL_INCLUDES}" HAVE_GETEUID)
check_symbol_exists(utime "${CURL_INCLUDES}" HAVE_UTIME)
check_symbol_exists(gmtime_r "${CURL_INCLUDES}" HAVE_GMTIME_R)
@@ -860,7 +861,7 @@ check_symbol_exists(signal "${CURL_INCLUDES}" HAVE_SIGNAL_FUNC)
check_symbol_exists(SIGALRM "${CURL_INCLUDES}" HAVE_SIGNAL_MACRO)
if(HAVE_SIGNAL_FUNC AND HAVE_SIGNAL_MACRO)
set(HAVE_SIGNAL 1)
-endif(HAVE_SIGNAL_FUNC AND HAVE_SIGNAL_MACRO)
+endif()
check_symbol_exists(uname "${CURL_INCLUDES}" HAVE_UNAME)
check_symbol_exists(strtoll "${CURL_INCLUDES}" HAVE_STRTOLL)
check_symbol_exists(_strtoi64 "${CURL_INCLUDES}" HAVE__STRTOI64)
@@ -900,29 +901,29 @@ endif()
check_symbol_exists(fsetxattr "${CURL_INCLUDES}" HAVE_FSETXATTR)
if(HAVE_FSETXATTR)
foreach(CURL_TEST HAVE_FSETXATTR_5 HAVE_FSETXATTR_6)
- curl_internal_test_run(${CURL_TEST})
- endforeach(CURL_TEST)
-endif(HAVE_FSETXATTR)
+ curl_internal_test(${CURL_TEST})
+ endforeach()
+endif()
# sigaction and sigsetjmp are special. Use special mechanism for
# detecting those, but only if previous attempt failed.
if(HAVE_SIGNAL_H)
check_symbol_exists(sigaction "signal.h" HAVE_SIGACTION)
-endif(HAVE_SIGNAL_H)
+endif()
if(NOT HAVE_SIGSETJMP)
if(HAVE_SETJMP_H)
check_symbol_exists(sigsetjmp "setjmp.h" HAVE_MACRO_SIGSETJMP)
if(HAVE_MACRO_SIGSETJMP)
set(HAVE_SIGSETJMP 1)
- endif(HAVE_MACRO_SIGSETJMP)
- endif(HAVE_SETJMP_H)
-endif(NOT HAVE_SIGSETJMP)
+ endif()
+ endif()
+endif()
# If there is no stricmp(), do not allow LDAP to parse URLs
if(NOT HAVE_STRICMP)
set(HAVE_LDAP_URL_PARSE 1)
-endif(NOT HAVE_STRICMP)
+endif()
# Do curl specific tests
foreach(CURL_TEST
@@ -960,12 +961,12 @@ foreach(CURL_TEST
HAVE_FILE_OFFSET_BITS
)
curl_internal_test(${CURL_TEST})
-endforeach(CURL_TEST)
+endforeach()
if(HAVE_FILE_OFFSET_BITS)
set(_FILE_OFFSET_BITS 64)
set(CMAKE_REQUIRED_FLAGS "-D_FILE_OFFSET_BITS=64")
-endif(HAVE_FILE_OFFSET_BITS)
+endif()
check_type_size("off_t" SIZEOF_OFF_T)
# include this header to get the type
@@ -980,8 +981,8 @@ foreach(CURL_TEST
HAVE_GLIBC_STRERROR_R
HAVE_POSIX_STRERROR_R
)
- curl_internal_test_run(${CURL_TEST})
-endforeach(CURL_TEST)
+ curl_internal_test(${CURL_TEST})
+endforeach()
# Check for reentrant
foreach(CURL_TEST
@@ -995,9 +996,9 @@ foreach(CURL_TEST
if(NOT ${CURL_TEST})
if(${CURL_TEST}_REENTRANT)
set(NEED_REENTRANT 1)
- endif(${CURL_TEST}_REENTRANT)
- endif(NOT ${CURL_TEST})
-endforeach(CURL_TEST)
+ endif()
+ endif()
+endforeach()
if(NEED_REENTRANT)
foreach(CURL_TEST
@@ -1010,32 +1011,32 @@ if(NEED_REENTRANT)
set(${CURL_TEST} 0)
if(${CURL_TEST}_REENTRANT)
set(${CURL_TEST} 1)
- endif(${CURL_TEST}_REENTRANT)
- endforeach(CURL_TEST)
-endif(NEED_REENTRANT)
+ endif()
+ endforeach()
+endif()
if(HAVE_INET_NTOA_R_DECL_REENTRANT)
set(HAVE_INET_NTOA_R_DECL 1)
set(NEED_REENTRANT 1)
-endif(HAVE_INET_NTOA_R_DECL_REENTRANT)
+endif()
# Some other minor tests
if(NOT HAVE_IN_ADDR_T)
set(in_addr_t "unsigned long")
-endif(NOT HAVE_IN_ADDR_T)
+endif()
# Fix libz / zlib.h
if(NOT CURL_SPECIAL_LIBZ)
if(NOT HAVE_LIBZ)
set(HAVE_ZLIB_H 0)
- endif(NOT HAVE_LIBZ)
+ endif()
if(NOT HAVE_ZLIB_H)
set(HAVE_LIBZ 0)
- endif(NOT HAVE_ZLIB_H)
-endif(NOT CURL_SPECIAL_LIBZ)
+ endif()
+endif()
# Check for nonblocking
set(HAVE_DISABLED_NONBLOCKING 1)
@@ -1044,16 +1045,13 @@ if(HAVE_FIONBIO OR
HAVE_IOCTLSOCKET_CASE OR
HAVE_O_NONBLOCK)
set(HAVE_DISABLED_NONBLOCKING)
-endif(HAVE_FIONBIO OR
- HAVE_IOCTLSOCKET OR
- HAVE_IOCTLSOCKET_CASE OR
- HAVE_O_NONBLOCK)
+endif()
if(RETSIGTYPE_TEST)
set(RETSIGTYPE void)
-else(RETSIGTYPE_TEST)
+else()
set(RETSIGTYPE int)
-endif(RETSIGTYPE_TEST)
+endif()
if(CMAKE_COMPILER_IS_GNUCC AND APPLE)
include(CheckCCompilerFlag)
@@ -1063,13 +1061,13 @@ if(CMAKE_COMPILER_IS_GNUCC AND APPLE)
get_source_file_property(MPRINTF_COMPILE_FLAGS mprintf.c COMPILE_FLAGS)
if(MPRINTF_COMPILE_FLAGS)
set(MPRINTF_COMPILE_FLAGS "${MPRINTF_COMPILE_FLAGS} -Wno-long-double")
- else(MPRINTF_COMPILE_FLAGS)
+ else()
set(MPRINTF_COMPILE_FLAGS "-Wno-long-double")
- endif(MPRINTF_COMPILE_FLAGS)
+ endif()
set_source_files_properties(mprintf.c PROPERTIES
COMPILE_FLAGS ${MPRINTF_COMPILE_FLAGS})
- endif(HAVE_C_FLAG_Wno_long_double)
-endif(CMAKE_COMPILER_IS_GNUCC AND APPLE)
+ endif()
+endif()
if(HAVE_SOCKLEN_T)
set(CURL_TYPEOF_CURL_SOCKLEN_T "socklen_t")
@@ -1104,19 +1102,25 @@ include(CMake/OtherTests.cmake)
add_definitions(-DHAVE_CONFIG_H)
-# For windows, all compilers used by cmake should support large files
+# For Windows, all compilers used by CMake should support large files
if(WIN32)
set(USE_WIN32_LARGE_FILES ON)
-endif(WIN32)
+
+ # Use the manifest embedded in the Windows Resource
+ set(CMAKE_RC_FLAGS "${CMAKE_RC_FLAGS} -DCURL_EMBED_MANIFEST")
+endif()
if(MSVC)
+ # Disable default manifest added by CMake
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")
+
add_definitions(-D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
if(CMAKE_C_FLAGS MATCHES "/W[0-4]")
string(REGEX REPLACE "/W[0-4]" "/W4" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
- else(CMAKE_C_FLAGS MATCHES "/W[0-4]")
+ else()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W4")
- endif(CMAKE_C_FLAGS MATCHES "/W[0-4]")
-endif(MSVC)
+ endif()
+endif()
if(CURL_WERROR)
if(MSVC_VERSION)
@@ -1125,7 +1129,7 @@ if(CURL_WERROR)
# this assumes clang or gcc style options
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
endif()
-endif(CURL_WERROR)
+endif()
# Ugly (but functional) way to include "Makefile.inc" by transforming it (= regenerate it).
function(TRANSFORM_MAKEFILE_INC INPUT_FILE OUTPUT_FILE)
diff --git a/METADATA b/METADATA
index 17e0f541..569fad3e 100644
--- a/METADATA
+++ b/METADATA
@@ -7,12 +7,12 @@ third_party {
}
url {
type: ARCHIVE
- value: "https://github.com/curl/curl/releases/download/curl-7_60_0/curl-7.60.0.tar.xz"
+ value: "https://github.com/curl/curl/releases/download/curl-7_61_0/curl-7.61.0.tar.xz"
}
- version: "curl-7_60_0"
+ version: "curl-7_61_0"
last_upgrade_date {
year: 2018
- month: 6
- day: 26
+ month: 8
+ day: 3
}
}
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 482d4f1c..21fd6e9e 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -1,130 +1,116 @@
-Curl and libcurl 7.60.0
+Curl and libcurl 7.61.0
- Public curl releases: 174
- Command line options: 214
- curl_easy_setopt() options: 255
+ Public curl releases: 175
+ Command line options: 218
+ curl_easy_setopt() options: 258
Public functions in libcurl: 74
- Contributors: 1741
+ Contributors: 1766
This release includes the following changes:
- o Add CURLOPT_HAPROXYPROTOCOL, support for the HAProxy PROXY protocol [10]
- o Add --haproxy-protocol for the command line tool [10]
- o Add CURLOPT_DNS_SHUFFLE_ADDRESSES, shuffle returned IP addresses [12]
+ o getinfo: add microsecond precise timers for seven intervals [3]
+ o curl: show headers in bold, switch off with --no-styled-output [10]
+ o httpauth: add support for Bearer tokens [16]
+ o Add CURLOPT_TLS13_CIPHERS and CURLOPT_PROXY_TLS13_CIPHERS [30]
+ o curl: --tls13-ciphers and --proxy-tls13-ciphers [30]
+ o Add CURLOPT_DISALLOW_USERNAME_IN_URL [32]
+ o curl: --disallow-username-in-url [32]
This release includes the following bugfixes:
- o FTP: shutdown response buffer overflow CVE-2018-1000300 [88]
- o RTSP: bad headers buffer over-read CVE-2018-1000301 [89]
- o FTP: fix typo in recursive callback detection for seeking [1]
- o test1208: marked flaky
- o HTTP: make header-less responses still count correct body size [2]
- o user-agent.d:: mention --proxy-header as well [3]
- o http2: fixes typo [4]
- o cleanup: misc typos in strings and comments [5]
- o rate-limit: use three second window to better handle high speeds [6]
- o examples/hiperfifo.c: improved
- o pause: when changing pause state, update socket state [7]
- o multi: improved pending transfers handling => improved performance [8]
- o curl_version_info.3: fix ssl_version description [9]
- o add_handle/easy_perform: clear errorbuffer on start if set [11]
- o darwinssl: fix iOS build [13]
- o cmake: add support for brotli [14]
- o parsedate: support UT timezone [15]
- o vauth/ntlm.h: fix the #ifdef header guard
- o lib/curl_path.h: added #ifdef header guard
- o vauth/cleartext: fix integer overflow check [16]
- o CURLINFO_COOKIELIST.3: made the example not leak memory
- o cookie.d: mention that "-" as filename means stdin [17]
- o CURLINFO_SSL_VERIFYRESULT.3: fixed the example [18]
- o http2: read pending frames (including GOAWAY) in connection-check [19]
- o timeval: remove compilation warning by casting [20]
- o cmake: avoid warn-as-error during config checks [21]
- o travis-ci: enable -Werror for CMake builds [22]
- o openldap: fix for NULL return from ldap_get_attribute_ber() [23]
- o threaded resolver: track resolver time and set suitable timeout values [24]
- o cmake: Add advapi32 as explicit link library for win32 [25]
- o docs: fix CURLINFO_*_T examples use of CURL_FORMAT_CURL_OFF_T [26]
- o test1148: set a fixed locale for the test [27]
- o cookies: when reading from a file, only remove_expired once [28]
- o cookie: store cookies per top-level-domain-specific hash table [29]
- o openssl: fix build with LibreSSL 2.7 [30]
- o tls: fix mbedTLS 2.7.0 build + handle sha256 failures [31]
- o openssl: RESTORED verify locations when verifypeer==0 [32]
- o file: restore old behavior for file:////foo/bar URLs [33]
- o FTP: allow PASV on IPv6 connections when a proxy is being used [34]
- o build-openssl.bat: allow custom paths for VS and perl [35]
- o winbuild: make the clean target work without build-type [36]
- o build-openssl.bat: Refer to VS2017 as VC14.1 instead of VC15 [37]
- o curl: retry on FTP 4xx, ignore other protocols [38]
- o configure: detect (and use) sa_family_t [39]
- o examples/sftpuploadresume: Fix Windows large file seek
- o build: cleanup to fix clang warnings/errors [40]
- o winbuild: updated the documentation [41]
- o lib: silence null-dereference warnings [42]
- o travis: bump to clang 6 and gcc 7 [43]
- o travis: build libpsl and make builds use it [44]
- o proxy: show getenv proxy use in verbose output [45]
- o duphandle: make sure CURLOPT_RESOLVE is duplicated [46]
- o all: Refactor malloc+memset to use calloc [47]
- o checksrc: Fix typo [48]
- o system.h: Add sparcv8plus to oracle/sunpro 32-bit detection [49]
- o vauth: Fix typo [50]
- o ssh: show libSSH2 error code when closing fails [51]
- o test1148: tolerate progress updates better [52]
- o urldata: make service names unconditional [53]
- o configure: keep LD_LIBRARY_PATH changes local [54]
- o ntlm_sspi: fix authentication using Credential Manager [55]
- o schannel: add client certificate authentication [56]
- o winbuild: Support custom devel paths for each dependency [57]
- o schannel: add support for CURLOPT_CAINFO [58]
- o http2: handle on_begin_headers() called more than once [59]
- o openssl: support OpenSSL 1.1.1 verbose-mode trace messages [60]
- o openssl: fix subjectAltName check on non-ASCII platforms [61]
- o http2: avoid strstr() on data not zero terminated [62]
- o http2: clear the "drain counter" when a stream is closed [63]
- o http2: handle GOAWAY properly [64]
- o tool_help: clarify --max-time unit of time is seconds
- o curl.1: clarify that options and URLs can be mixed [65]
- o http2: convert an assert to run-time check [66]
- o curl_global_sslset: always provide available backends [67]
- o ftplistparser: keep state between invokes [68]
- o Curl_memchr: zero length input can't match
- o examples/sftpuploadresume: typecast fseek argument to long
- o examples/http2-upload: expand buffer to avoid silly warning
- o ctype: restore character classification for non-ASCII platforms [69]
- o mime: avoid NULL pointer dereference risk [70]
- o cookies: ensure that we have cookies before writing jar [71]
- o os400.c: fix checksrc warnings [72]
- o configure: provide --with-wolfssl as an alias for --with-cyassl
- o cyassl: adapt to libraries without TLS 1.0 support built-in
- o http2: get rid of another strstr [73]
- o checksrc: force indentation of lines after an else [74]
- o cookies: remove unused macro [75]
- o CURLINFO_PROTOCOL.3: mention the existing defined names
- o tests: provide 'manual' as a feature to optionally require [76]
- o travis: enable libssh2 on both macos and Linux [77]
- o CURLOPT_URL.3: added ENCODING section
- o wolfssl: Fix non-blocking connect [78]
- o vtls: don't define MD5_DIGEST_LENGTH for wolfssl
- o docs: remove extraneous commas in man pages [79]
- o URL: fix ASCII dependency in strcpy_url and strlen_url [80]
- o ssh-libssh.c: fix left shift compiler warning
- o configure: only check for CA bundle for file-using SSL backends [81]
- o travis: add an mbedtls build [82]
- o http: don't set the "rewind" flag when not uploading anything [83]
- o configure: put CURLDEBUG and DEBUGBUILD in lib/curl_config.h [84]
- o transfer: don't unset writesockfd on setup of multiplexed conns [85]
- o vtls: use unified "supports" bitfield member in backends [86]
- o URLs: fix one more http url [87]
- o travis: add a build using WolfSSL [90]
- o openssl: change FILE ops to BIO ops [91]
- o travis: add build using NSS [92]
- o smb: reject negative file sizes [93]
- o cookies: accept parameter names as cookie name [94]
- o http2: getsock fix for uploads [95]
- o all over: fixed format specifiers [96]
- o http2: use the correct function pointer typedef [97]
+ o CVE-2018-0500: smtp: fix SMTP send buffer overflow [82]
+ o schannel: disable client cert option if APIs not available [1]
+ o schannel: disable manual verify if APIs not available
+ o tests/libtest/Makefile: Do not unconditionally add gcc-specific flags [2]
+ o openssl: acknowledge --tls-max for default version too [4]
+ o stub_gssapi: fix 'unused parameter' warnings
+ o examples/progressfunc: make it build on both new and old libcurls [5]
+ o docs: mention it is HA Proxy protocol "version 1" [6]
+ o curl_fnmatch: only allow two asterisks for matching [7]
+ o docs: clarify CURLOPT_HTTPGET [8]
+ o configure: replace a AC_TRY_RUN with CURL_RUN_IFELSE [9]
+ o configure: do compile-time SIZEOF checks instead of run-time [9]
+ o checksrc: make sure sizeof() is used *with* parentheses [11]
+ o CURLOPT_ACCEPT_ENCODING.3: add brotli and clarify a bit
+ o schannel: make CAinfo parsing resilient to CR/LF [12]
+ o tftp: make sure error is zero terminated before printfing it
+ o http resume: skip body if http code 416 (range error) is ignored [13]
+ o configure: add basic test of --with-ssl prefix [14]
+ o cmake: set -d postfix for debug builds [15]
+ o multi: provide a socket to wait for in Curl_protocol_getsock [17]
+ o content_encoding: handle zlib versions too old for Z_BLOCK [18]
+ o winbuild: only delete OUTFILE if it exists [19]
+ o winbuild: In MakefileBuild.vc fix typo DISTDIR->DIRDIST [20]
+ o schannel: add failf calls for client certificate failures [21]
+ o cmake: Fix the test for fsetxattr and strerror_r
+ o curl.1: Fix cmdline-opts reference errors [22]
+ o cmdline-opts/gen.pl: warn if mutexes: or see-also: list non-existing options
+ o cmake: check for getpwuid_r [23]
+ o configure: fix ssh2 linking when built with a static mbedtls [24]
+ o psl: use latest psl and refresh it periodically [25]
+ o fnmatch: insist on escaped bracket to match [26]
+ o KNOWN_BUGS: restore text regarding #2101 [27]
+ o INSTALL: LDFLAGS=-Wl,-R/usr/local/ssl/lib [28]
+ o configure: override AR_FLAGS to silence warning [29]
+ o os400: implement mime api EBCDIC wrappers
+ o curl.rc: embed manifest for correct Windows version detection [31]
+ o strictness: correct {infof, failf} format specifiers [33]
+ o tests: update .gitignore for libtests [34]
+ o configure: check for declaration of getpwuid_r [35]
+ o fnmatch: use the system one if available [36]
+ o CURLOPT_RESOLVE: always purge old entry first [37]
+ o multi: remove a potentially bad DEBUGF() [38]
+ o curl_addrinfo: use same #ifdef conditions in source as header
+ o build: remove the Borland specific makefiles [39]
+ o axTLS: not considered fit for use [40]
+ o cmdline-opts/cert-type.d: mention "p12" as a recognized type
+ o system.h: add support for IBM xlc C compiler [41]
+ o tests/libtest: Add lib1521 to nodist_SOURCES [42]
+ o mk-ca-bundle.pl: leave certificate name untouched [43]
+ o boringssl + schannel: undef X509_NAME in lib/schannel.h [44]
+ o openssl: assume engine support in 1.0.1 or later [45]
+ o cppcheck: fix warnings [46]
+ o test 46: make test pass after year 2025 [47]
+ o schannel: support selecting ciphers [48]
+ o Curl_debug: remove dead printhost code [49]
+ o test 1455: unflakified [50]
+ o Curl_init_do: handle NULL connection pointer passed in [51]
+ o progress: remove a set of unused defines [52]
+ o mk-ca-bundle.pl: make -u delete certdata.txt if found not changed [53]
+ o GOVERNANCE.md: explains how this project is run [54]
+ o configure: use pkg-config for c-ares detection [55]
+ o configure: enhance ability to build with static openssl [56]
+ o maketgz: fix sed issues on OSX [57]
+ o multi: fix memory leak when stopped during name resolve [58]
+ o CURLOPT_INTERFACE.3: interface names not supported on Windows
+ o url: fix dangling conn->data pointer [59]
+ o cmake: allow multiple SSL backends [60]
+ o system.h: fix for gcc on 32 bit OpenServer [61]
+ o ConnectionExists: make sure conn->data is set when "taking" a connection [62]
+ o multi: fix crash due to dangling entry in connect-pending list [63]
+ o CURLOPT_SSL_VERIFYPEER.3: Add performance note [64]
+ o netrc: use a larger buffer to support longer passwords [65]
+ o url: check Curl_conncache_add_conn return code [66]
+ o configure: Add dependent libraries after crypto [67]
+ o easy_perform: faster local name resolves by using *multi_timeout() [68]
+ o getnameinfo: not used, removed all configure checks [69]
+ o travis: add a build using the synchronous name resolver [70]
+ o CURLINFO_TLS_SSL_PTR.3: improve the example [71]
+ o openssl: allow TLS 1.3 by default [72]
+ o openssl: make the requested TLS version the *minimum* wanted [73]
+ o openssl: Remove some dead code [74]
+ o telnet: fix clang warnings [75]
+ o DEPRECATE: new doc describing planned item removals [76]
+ o example/crawler.c: simple crawler based on libxml2 [77]
+ o libssh: goto DISCONNECT state on error, not SESSION_FREE [78]
+ o CMake: Remove unused functions [79]
+ o darwinssl: allow High Sierra users to build the code using GCC [80]
+ o scripts: include _curl as part of CLEANFILES [81]
+ o examples: fix -Wformat warnings
+ o curl_setup: include <winerror.h> before <windows.h>
+ o schannel: make more cipher options conditional [83]
+ o CMake: remove redundant and old end-of-block syntax [84]
+ o post303.d: clarify that this is an RFC violation [85]
This release includes the following known bugs:
@@ -133,120 +119,107 @@ This release includes the following known bugs:
This release would not have looked like this without help, code, reports and
advice from friends like these:
- Adam Brown, Alex Baines, Anders Bakken, Anders Roxell, anshnd on github,
- Bas van Schaik, Bernard Spil, Chris Araman, Christian Schmitz, Cyril B,
- Dagobert Michelsen, Dan Fandrich, Daniel Gustafsson, Daniel Stenberg,
- Dan McNulty, Dario Weisser, dasimx on github, David Garske, David L.,
- Denis Ollier, Dmitry Mikhirev, Dongliang Mu, Don J Olmstead, Eric Gallager,
- Ernst Sjöstrand, Frank Gevaerts, Gaurav Malhotra, Geeknik Labs, Howard Chu,
- iz8mbw on github, Jakub Wilk, Jon DeVree, Kees Dekker, Kobi Gurkan,
- Laurie Clark-Michalek, Lauri Kasanen, Lawrence Matthews, Luz Paz,
- Marcel Raad, Max Dymond, Michael Kaufmann, Michael Kilburn,
- Michał Janiszewski, Michal Trybus, Muz Dima, Nikos Tsipinakis, Ori Avtalion,
- Oumph on github, patelvivekv1993 on github, Patrick Monnerat,
- Philip Prindeville, Ray Satiro, Rick Deist, Rikard Falkeborn, Sergei Nikulov,
- Stefan Agner, steini2000 on github, Stephan Mühlstrasser, Sunny Purushe,
- Terry Wu, Vincas Razma, wncboy on github, Wyatt O'Day, 刘佩东,
- (64 contributors)
+ Adrian Peniak, Alejandro R. Sedeño, Andreas Olsson, Archangel_SDY on github,
+ Bernhard M. Wiedemann, Bernhard Walle, Björn Stenberg, bsammon on github,
+ Dagobert Michelsen, Daniel Stenberg, Dario Nieuwenhuis, Dave Reisner,
+ elephoenix on github, Fabrice Fontaine, Frank Gevaerts, Gaurav Malhotra,
+ Gisle Vanem, Ithubg on github, Jakub Zakrzewski, Javier Blazquez,
+ Jeroen Ooms, Johannes Schindelin, Kevin R. Bulgrien, Linus Lewandowski,
+ Lyman Epp, Mamta Upadhyay, Marcel Raad, Marian Klymov, Matteo Bignotti,
+ Max Dymond, Max Savenkov, Nick Zitzmann, Oleg Pudeyev, Patrick Monnerat,
+ Patrick Schlangen, Per Malmberg, Peter Varga, Peter Wu, Philip Prindeville,
+ pszemus on github, Raphael Gozzo, Ray Satiro, Richard Alcock,
+ Rikard Falkeborn, Robert Prag, Ruslan Baratov, Sean Miller, Sergei Nikulov,
+ Stephan Mühlstrasser, Vasiliy Faronov, Viktor Szakats, Vladimir Kotal,
+ Will Dietz, Yaakov Selkowitz, zzq1015 on github,
+ (55 contributors)
Thanks! (and sorry if I forgot to mention someone)
References to bug reports and discussions on issues:
- [1] = https://curl.haxx.se/bug/?i=2380
- [2] = https://curl.haxx.se/bug/?i=2382
- [3] = https://curl.haxx.se/bug/?i=2381
- [4] = https://curl.haxx.se/bug/?i=2387
- [5] = https://curl.haxx.se/bug/?i=2389
- [6] = https://curl.haxx.se/bug/?i=2386
- [7] = https://curl.haxx.se/mail/lib-2018-03/0048.html
- [8] = https://curl.haxx.se/bug/?i=2369
- [9] = https://curl.haxx.se/bug/?i=2364
- [10] = https://curl.haxx.se/bug/?i=2162
- [11] = https://curl.haxx.se/bug/?i=2190
- [12] = https://curl.haxx.se/bug/?i=1694
- [13] = https://curl.haxx.se/bug/?i=2397
- [14] = https://curl.haxx.se/bug/?i=2392
- [15] = https://curl.haxx.se/bug/?i=2401
- [16] = https://curl.haxx.se/bug/?i=2408
- [17] = https://curl.haxx.se/bug/?i=2410
- [18] = https://curl.haxx.se/bug/?i=2400
- [19] = https://curl.haxx.se/bug/?i=1967
- [20] = https://curl.haxx.se/bug/?i=2358
- [21] = https://curl.haxx.se/bug/?i=2358
- [22] = https://curl.haxx.se/bug/?i=2418
- [23] = https://curl.haxx.se/bug/?i=2399
- [24] = https://curl.haxx.se/bug/?i=2419
- [25] = https://curl.haxx.se/bug/?i=2363
- [26] = https://curl.haxx.se/mail/lib-2018-03/0140.html
- [27] = https://curl.haxx.se/bug/?i=2436
- [28] = https://curl.haxx.se/bug/?i=2441
- [29] = https://curl.haxx.se/bug/?i=2440
- [30] = https://curl.haxx.se/bug/?i=2319
- [31] = https://curl.haxx.se/bug/?i=2453
- [32] = https://curl.haxx.se/bug/?i=2451
- [33] = https://curl.haxx.se/bug/?i=2438
- [34] = https://curl.haxx.se/bug/?i=2432
- [35] = https://curl.haxx.se/bug/?i=2430
- [36] = https://curl.haxx.se/bug/?i=2455
- [37] = https://curl.haxx.se/bug/?i=2189
- [38] = https://curl.haxx.se/bug/?i=2462
- [39] = https://curl.haxx.se/bug/?i=2463
- [40] = https://curl.haxx.se/bug/?i=2466
- [41] = https://curl.haxx.se/bug/?i=2472
- [42] = https://curl.haxx.se/bug/?i=2463
- [43] = https://curl.haxx.se/bug/?i=2478
- [44] = https://curl.haxx.se/bug/?i=2471
- [45] = https://curl.haxx.se/bug/?i=2480
- [46] = https://curl.haxx.se/bug/?i=2485
- [47] = https://curl.haxx.se/bug/?i=2497
- [48] = https://curl.haxx.se/bug/?i=2498
- [49] = https://curl.haxx.se/bug/?i=2491
- [50] = https://curl.haxx.se/bug/?i=2496
- [51] = https://curl.haxx.se/bug/?i=2500
- [52] = https://curl.haxx.se/bug/?i=2446
- [53] = https://curl.haxx.se/bug/?i=2479
- [54] = https://curl.haxx.se/bug/?i=2490
- [55] = https://curl.haxx.se/bug/?i=1622
- [56] = https://curl.haxx.se/bug/?i=2376
- [57] = https://curl.haxx.se/bug/?i=2474
- [58] = https://curl.haxx.se/bug/?i=1325
- [59] = https://curl.haxx.se/bug/?i=2507
- [60] = https://curl.haxx.se/bug/?i=2403
- [61] = https://curl.haxx.se/bug/?i=2493
- [62] = https://curl.haxx.se/bug/?i=2513
- [63] = https://curl.haxx.se/bug/?i=1680
- [64] = https://curl.haxx.se/bug/?i=2416
- [65] = https://curl.haxx.se/bug/?i=2515
- [66] = https://curl.haxx.se/bug/?i=2514
- [67] = https://curl.haxx.se/bug/?i=2499
- [68] = https://curl.haxx.se/bug/?i=2445
- [69] = https://curl.haxx.se/bug/?i=2494
- [70] = https://curl.haxx.se/bug/?i=2527
- [71] = https://curl.haxx.se/bug/?i=2529
- [72] = https://curl.haxx.se/bug/?i=2525
- [73] = https://curl.haxx.se/bug/?i=2534
- [74] = https://curl.haxx.se/bug/?i=2532
- [75] = https://curl.haxx.se/bug/?i=2537
- [76] = https://curl.haxx.se/bug/?i=2533
- [77] = https://curl.haxx.se/bug/?i=2541
- [78] = https://curl.haxx.se/bug/?i=2542
- [79] = https://curl.haxx.se/bug/?i=2544
- [80] = https://curl.haxx.se/bug/?i=2535
- [81] = https://curl.haxx.se/bug/?i=2180
- [82] = https://curl.haxx.se/bug/?i=2531
- [83] = https://curl.haxx.se/bug/?i=2546
- [84] = https://curl.haxx.se/bug/?i=2548
- [85] = https://curl.haxx.se/bug/?i=2520
- [86] = https://curl.haxx.se/bug/?i=2547
- [87] = https://curl.haxx.se/bug/?i=2550
- [88] = https://curl.haxx.se/docs/adv_2018-82c2.html
- [89] = https://curl.haxx.se/docs/adv_2018-b138.html
- [90] = https://curl.haxx.se/bug/?i=2528
- [91] = https://curl.haxx.se/bug/?i=2512
- [92] = https://curl.haxx.se/bug/?i=2558
- [93] = https://curl.haxx.se/bug/?i=2558
- [94] = https://curl.haxx.se/bug/?i=2564
- [95] = https://curl.haxx.se/bug/?i=2520
- [96] = https://curl.haxx.se/bug/?i=2561
- [97] = https://curl.haxx.se/bug/?i=2560
+ [1] = https://curl.haxx.se/bug/?i=2522
+ [2] = https://curl.haxx.se/bug/?i=2576
+ [3] = https://curl.haxx.se/bug/?i=2495
+ [4] = https://curl.haxx.se/bug/?i=2571
+ [5] = https://curl.haxx.se/bug/?i=2584
+ [6] = https://curl.haxx.se/bug/?i=2579
+ [7] = https://curl.haxx.se/bug/?i=2587
+ [8] = https://curl.haxx.se/bug/?i=2590
+ [9] = https://curl.haxx.se/bug/?i=2586
+ [10] = https://curl.haxx.se/bug/?i=2538
+ [11] = https://curl.haxx.se/bug/?i=2563
+ [12] = https://curl.haxx.se/bug/?i=2592
+ [13] = https://curl.haxx.se/bug/?i=1163
+ [14] = https://curl.haxx.se/bug/?i=2580
+ [15] = https://curl.haxx.se/bug/?i=2121
+ [16] = https://curl.haxx.se/bug/?i=2102
+ [17] = https://curl.haxx.se/mail/lib-2018-05/0062.html
+ [18] = https://curl.haxx.se/bug/?i=2606
+ [19] = https://curl.haxx.se/bug/?i=2602
+ [20] = https://curl.haxx.se/bug/?i=2603
+ [21] = https://curl.haxx.se/bug/?i=2604
+ [22] = https://curl.haxx.se/bug/?i=2612
+ [23] = https://curl.haxx.se/bug/?i=2609
+ [24] = https://curl.haxx.se/bug/?i=2613
+ [25] = https://curl.haxx.se/bug/?i=2553
+ [26] = https://curl.haxx.se/bug/?i=2614
+ [27] = https://curl.haxx.se/bug/?i=2618
+ [28] = https://curl.haxx.se/bug/?i=2615
+ [29] = https://curl.haxx.se/bug/?i=2617
+ [30] = https://curl.haxx.se/bug/?i=2435
+ [31] = https://curl.haxx.se/bug/?i=1221
+ [32] = https://curl.haxx.se/bug/?i=2340
+ [33] = https://curl.haxx.se/bug/?i=2623
+ [34] = https://curl.haxx.se/bug/?i=2624
+ [35] = https://curl.haxx.se/bug/?i=2609
+ [36] = https://curl.haxx.se/bug/?i=2626
+ [37] = https://curl.haxx.se/bug/?i=2622
+ [38] = https://curl.haxx.se/bug/?i=2627
+ [39] = https://curl.haxx.se/bug/?i=2629
+ [40] = https://curl.haxx.se/bug/?i=2628
+ [41] = https://curl.haxx.se/bug/?i=2637
+ [42] = https://curl.haxx.se/bug/?i=2633
+ [43] = https://curl.haxx.se/bug/?i=2640
+ [44] = https://curl.haxx.se/bug/?i=2634
+ [45] = https://curl.haxx.se/bug/?i=2641
+ [46] = https://curl.haxx.se/bug/?i=2631
+ [47] = https://curl.haxx.se/bug/?i=2646
+ [48] = https://curl.haxx.se/bug/?i=2630
+ [49] = https://curl.haxx.se/bug/?i=2647
+ [50] = https://curl.haxx.se/bug/?i=2649
+ [51] = https://curl.haxx.se/bug/?i=2653
+ [52] = https://curl.haxx.se/bug/?i=2654
+ [53] = https://curl.haxx.se/bug/?i=2655
+ [54] = https://curl.haxx.se/bug/?i=2657
+ [55] = https://curl.haxx.se/bug/?i=2203
+ [56] = https://curl.haxx.se/bug/?i=2199
+ [57] = https://curl.haxx.se/bug/?i=2660
+ [58] = https://curl.haxx.se/bug/?i=1968
+ [59] = https://curl.haxx.se/bug/?i=2669
+ [60] = https://curl.haxx.se/bug/?i=2665
+ [61] = https://curl.haxx.se/mail/lib-2018-06/0100.html
+ [62] = https://curl.haxx.se/bug/?i=2674
+ [63] = https://curl.haxx.se/bug/?i=2677
+ [64] = https://curl.haxx.se/bug/?i=2673
+ [65] = https://curl.haxx.se/bug/?i=2676
+ [66] = https://curl.haxx.se/bug/?i=2681
+ [67] = https://curl.haxx.se/bug/?i=2684
+ [68] = https://curl.haxx.se/bug/?i=2685
+ [69] = https://curl.haxx.se/bug/?i=2687
+ [70] = https://curl.haxx.se/bug/?i=2689
+ [71] = https://curl.haxx.se/bug/?i=2690
+ [72] = https://curl.haxx.se/bug/?i=2692
+ [73] = https://curl.haxx.se/bug/?i=2691
+ [74] = https://curl.haxx.se/bug/?i=2698
+ [75] = https://curl.haxx.se/bug/?i=2696
+ [76] = https://curl.haxx.se/dev/deprecate.html
+ [77] = https://curl.haxx.se/bug/?i=2706
+ [78] = https://curl.haxx.se/bug/?i=2708
+ [79] = https://curl.haxx.se/bug/?i=2711
+ [80] = https://curl.haxx.se/bug/?i=2656
+ [81] = https://curl.haxx.se/bug/?i=2718
+ [82] = https://curl.haxx.se/docs/adv_2018-70a2.html
+ [83] = https://curl.haxx.se/bug/?i=2721
+ [84] = https://curl.haxx.se/bug/?i=2715
+ [85] = https://curl.haxx.se/bug/?i=2723
diff --git a/acinclude.m4 b/acinclude.m4
index 69bb6c00..f32e86cd 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -960,212 +960,6 @@ AC_DEFUN([CURL_CHECK_HEADER_MEMORY], [
fi
])
-
-dnl CURL_CHECK_FUNC_GETNAMEINFO
-dnl -------------------------------------------------
-dnl Test if the getnameinfo function is available,
-dnl and check the types of five of its arguments.
-dnl If the function succeeds HAVE_GETNAMEINFO will be
-dnl defined, defining the types of the arguments in
-dnl GETNAMEINFO_TYPE_ARG1, GETNAMEINFO_TYPE_ARG2,
-dnl GETNAMEINFO_TYPE_ARG46 and GETNAMEINFO_TYPE_ARG7,
-dnl and also defining the type qualifier of first
-dnl argument in GETNAMEINFO_QUAL_ARG1.
-
-AC_DEFUN([CURL_CHECK_FUNC_GETNAMEINFO], [
- AC_REQUIRE([CURL_CHECK_HEADER_WS2TCPIP])dnl
- AC_CHECK_HEADERS(sys/types.h sys/socket.h netdb.h)
- #
- AC_MSG_CHECKING([for getnameinfo])
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([getnameinfo])
- ],[
- AC_MSG_RESULT([yes])
- curl_cv_getnameinfo="yes"
- ],[
- AC_MSG_RESULT([no])
- curl_cv_getnameinfo="no"
- ])
- #
- if test "$curl_cv_getnameinfo" != "yes"; then
- AC_MSG_CHECKING([deeper for getnameinfo])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
- ]],[[
- getnameinfo();
- ]])
- ],[
- AC_MSG_RESULT([yes])
- curl_cv_getnameinfo="yes"
- ],[
- AC_MSG_RESULT([but still no])
- curl_cv_getnameinfo="no"
- ])
- fi
- #
- if test "$curl_cv_getnameinfo" != "yes"; then
- AC_MSG_CHECKING([deeper and deeper for getnameinfo])
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#endif
- ]],[[
- getnameinfo(0, 0, 0, 0, 0, 0, 0);
- ]])
- ],[
- AC_MSG_RESULT([yes])
- curl_cv_getnameinfo="yes"
- ],[
- AC_MSG_RESULT([but still no])
- curl_cv_getnameinfo="no"
- ])
- fi
- #
- if test "$curl_cv_getnameinfo" = "yes"; then
- AC_CACHE_CHECK([types of arguments for getnameinfo],
- [curl_cv_func_getnameinfo_args], [
- curl_cv_func_getnameinfo_args="unknown"
- for gni_arg1 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
- for gni_arg2 in 'socklen_t' 'size_t' 'int'; do
- for gni_arg46 in 'size_t' 'int' 'socklen_t' 'unsigned int' 'DWORD'; do
- for gni_arg7 in 'int' 'unsigned int'; do
- if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#if (!defined(_WIN32_WINNT)) || (_WIN32_WINNT < 0x0501)
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x0501
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#define GNICALLCONV WSAAPI
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#define GNICALLCONV
-#endif
- extern int GNICALLCONV
-#ifdef __ANDROID__
-__attribute__((overloadable))
-#endif
- getnameinfo($gni_arg1, $gni_arg2,
- char *, $gni_arg46,
- char *, $gni_arg46,
- $gni_arg7);
- ]],[[
- $gni_arg2 salen=0;
- $gni_arg46 hostlen=0;
- $gni_arg46 servlen=0;
- $gni_arg7 flags=0;
- int res = getnameinfo(0, salen, 0, hostlen, 0, servlen, flags);
- ]])
- ],[
- curl_cv_func_getnameinfo_args="$gni_arg1,$gni_arg2,$gni_arg46,$gni_arg7"
- ])
- fi
- done
- done
- done
- done
- ]) # AC-CACHE-CHECK
- if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
- AC_MSG_WARN([Cannot find proper types to use for getnameinfo args])
- AC_MSG_WARN([HAVE_GETNAMEINFO will not be defined])
- else
- gni_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_getnameinfo_args" | sed 's/\*/\*/g'`
- IFS=$gni_prev_IFS
- shift
- #
- gni_qual_type_arg1=$[1]
- #
- AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG2, $[2],
- [Define to the type of arg 2 for getnameinfo.])
- AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG46, $[3],
- [Define to the type of args 4 and 6 for getnameinfo.])
- AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG7, $[4],
- [Define to the type of arg 7 for getnameinfo.])
- #
- prev_sh_opts=$-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set -f
- ;;
- esac
- #
- case "$gni_qual_type_arg1" in
- const*)
- gni_qual_arg1=const
- gni_type_arg1=`echo $gni_qual_type_arg1 | sed 's/^const //'`
- ;;
- *)
- gni_qual_arg1=
- gni_type_arg1=$gni_qual_type_arg1
- ;;
- esac
- #
- AC_DEFINE_UNQUOTED(GETNAMEINFO_QUAL_ARG1, $gni_qual_arg1,
- [Define to the type qualifier of arg 1 for getnameinfo.])
- AC_DEFINE_UNQUOTED(GETNAMEINFO_TYPE_ARG1, $gni_type_arg1,
- [Define to the type of arg 1 for getnameinfo.])
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set +f
- ;;
- esac
- #
- AC_DEFINE_UNQUOTED(HAVE_GETNAMEINFO, 1,
- [Define to 1 if you have the getnameinfo function.])
- curl_cv_func_getnameinfo="yes"
- fi
- fi
-])
-
-
dnl TYPE_SOCKADDR_STORAGE
dnl -------------------------------------------------
dnl Check for struct sockaddr_storage. Most IPv6-enabled
@@ -1203,107 +997,6 @@ AC_DEFUN([TYPE_SOCKADDR_STORAGE],
])
])
-
-dnl CURL_CHECK_NI_WITHSCOPEID
-dnl -------------------------------------------------
-dnl Check for working NI_WITHSCOPEID in getnameinfo()
-
-AC_DEFUN([CURL_CHECK_NI_WITHSCOPEID], [
- AC_REQUIRE([CURL_CHECK_FUNC_GETNAMEINFO])dnl
- AC_REQUIRE([TYPE_SOCKADDR_STORAGE])dnl
- AC_CHECK_HEADERS(stdio.h sys/types.h sys/socket.h \
- netdb.h netinet/in.h arpa/inet.h)
- #
- AC_CACHE_CHECK([for working NI_WITHSCOPEID],
- [curl_cv_working_ni_withscopeid], [
- AC_RUN_IFELSE([
- AC_LANG_PROGRAM([[
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STDIO_H
-#include <stdio.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
- ]],[[
-#if defined(NI_WITHSCOPEID) && defined(HAVE_GETNAMEINFO)
-#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
- struct sockaddr_storage sa;
-#else
- unsigned char sa[256];
-#endif
- char hostbuf[NI_MAXHOST];
- int rc;
- GETNAMEINFO_TYPE_ARG2 salen = (GETNAMEINFO_TYPE_ARG2)sizeof(sa);
- GETNAMEINFO_TYPE_ARG46 hostlen = (GETNAMEINFO_TYPE_ARG46)sizeof(hostbuf);
- GETNAMEINFO_TYPE_ARG7 flags = NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
- int fd = socket(AF_INET6, SOCK_STREAM, 0);
- if(fd < 0) {
- perror("socket()");
- return 1; /* Error creating socket */
- }
- rc = getsockname(fd, (GETNAMEINFO_TYPE_ARG1)&sa, &salen);
- if(rc) {
- perror("getsockname()");
- return 2; /* Error retrieving socket name */
- }
- rc = getnameinfo((GETNAMEINFO_TYPE_ARG1)&sa, salen, hostbuf, hostlen, NULL, 0, flags);
- if(rc) {
- printf("rc = %s\n", gai_strerror(rc));
- return 3; /* Error translating socket address */
- }
- return 0; /* Ok, NI_WITHSCOPEID works */
-#else
- return 4; /* Error, NI_WITHSCOPEID not defined or no getnameinfo() */
-#endif
- ]]) # AC-LANG-PROGRAM
- ],[
- # Exit code == 0. Program worked.
- curl_cv_working_ni_withscopeid="yes"
- ],[
- # Exit code != 0. Program failed.
- curl_cv_working_ni_withscopeid="no"
- ],[
- # Program is not run when cross-compiling. So we assume
- # NI_WITHSCOPEID will work if we are able to compile it.
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
- ]],[[
- unsigned int dummy= NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
- ]])
- ],[
- curl_cv_working_ni_withscopeid="yes"
- ],[
- curl_cv_working_ni_withscopeid="no"
- ]) # AC-COMPILE-IFELSE
- ]) # AC-RUN-IFELSE
- ]) # AC-CACHE-CHECK
- case "$curl_cv_working_ni_withscopeid" in
- yes)
- AC_DEFINE(HAVE_NI_WITHSCOPEID, 1,
- [Define to 1 if NI_WITHSCOPEID exists and works.])
- ;;
- esac
-])
-
-
dnl CURL_CHECK_FUNC_RECV
dnl -------------------------------------------------
dnl Test if the socket recv() function is available,
@@ -2464,7 +2157,7 @@ AC_DEFUN([CURL_VERIFY_RUNTIMELIBS], [
dnl just run a program to verify that the libs checked for previous to this
dnl point also is available run-time!
AC_MSG_CHECKING([run-time libs availability])
- AC_TRY_RUN([
+ CURL_RUN_IFELSE([
main()
{
return 0;
diff --git a/aclocal.m4 b/aclocal.m4
index c17bd614..09a264d2 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1187,6 +1187,7 @@ AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([m4/ax_code_coverage.m4])
+m4_include([m4/ax_compile_check_sizeof.m4])
m4_include([m4/curl-compilers.m4])
m4_include([m4/curl-confopts.m4])
m4_include([m4/curl-functions.m4])
diff --git a/configure b/configure
index fdb65225..74711b45 100755
--- a/configure
+++ b/configure
@@ -998,6 +998,7 @@ LIBTOOL
OBJDUMP
DLLTOOL
AS
+AR_FLAGS
host_os
host_vendor
host_cpu
@@ -2478,225 +2479,93 @@ fi
} # ac_fn_c_check_header_mongrel
-# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
-# --------------------------------------------
-# Tries to find the compile-time value of EXPR in a program that includes
-# INCLUDES, setting VAR accordingly. Returns whether the value could be
-# computed
-ac_fn_c_compute_int ()
+# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+# -------------------------------------------
+# Tests whether TYPE exists after having included INCLUDES, setting cache
+# variable VAR accordingly.
+ac_fn_c_check_type ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- if test "$cross_compiling" = yes; then
- # Depending upon the size, compute the lo and hi bounds.
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int main (void)
-{
-static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=0 ac_mid=0
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int main (void)
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid; break
-else
- as_fn_arith $ac_mid + 1 && ac_lo=$as_val
- if test $ac_lo -le $ac_mid; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
else
+ eval "$3=no"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int main (void)
{
-static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0;
-return test_array [0];
-
+if (sizeof ($2))
+ return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=-1 ac_mid=-1
- while :; do
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int main (void)
{
-static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
+if (sizeof (($2)))
+ return 0;
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
- ac_lo=$ac_mid; break
-else
- as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
- if test $ac_mid -le $ac_hi; then
- ac_lo= ac_hi=
- break
- fi
- as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- done
+
else
- ac_lo= ac_hi=
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ eval "$3=yes"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-# Binary search between lo and hi bounds.
-while test "x$ac_lo" != "x$ac_hi"; do
- as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int main (void)
-{
-static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_hi=$ac_mid
-else
- as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-case $ac_lo in #((
-?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
-'') ac_retval=1 ;;
-esac
- else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-static long int longval () { return $2; }
-static unsigned long int ulongval () { return $2; }
-#include <stdio.h>
-#include <stdlib.h>
-int main (void)
-{
-
- FILE *f = fopen ("conftest.val", "w");
- if (! f)
- return 1;
- if (($2) < 0)
- {
- long int i = longval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%ld", i);
- }
- else
- {
- unsigned long int i = ulongval ();
- if (i != ($2))
- return 1;
- fprintf (f, "%lu", i);
- }
- /* Do not output a trailing newline, as this causes \r\n confusion
- on some platforms. */
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- echo >>conftest.val; read $3 <conftest.val; ac_retval=0
-else
- ac_retval=1
fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-rm -f conftest.val
-
- fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-} # ac_fn_c_compute_int
+} # ac_fn_c_check_type
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
{
as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
+ as_decl_name=`echo $2|sed 's/ *(.*//'`
+ as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
if eval \${$3+:} false; then :
$as_echo_n "(cached) " >&6
else
- eval "$3=no"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$4
int main (void)
{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int main (void)
-{
-if (sizeof (($2)))
- return 0;
+#ifndef $as_decl_name
+#ifdef __cplusplus
+ (void) $as_decl_use;
+#else
+ (void) $as_decl_name;
+#endif
+#endif
+
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
-
-else
eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+ eval "$3=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
@@ -2705,7 +2574,7 @@ eval ac_res=\$$3
$as_echo "$ac_res" >&6; }
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-} # ac_fn_c_check_type
+} # ac_fn_c_check_decl
# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
# ----------------------------------------------------
@@ -6227,6 +6096,9 @@ cat >>confdefs.h <<_ACEOF
_ACEOF
+# Silence warning: ar: 'u' modifier ignored since 'D' is the default
+AR_FLAGS=cr
+
@@ -21994,7 +21866,8 @@ $as_echo_n "checking if argv can be written to... " >&6; }
old=$LD_LIBRARY_PATH
- LD_LIBRARY_PATH=$CURL_LIBRARY_PATH
+ LD_LIBRARY_PATH=$CURL_LIBRARY_PATH:$old
+ export LD_LIBRARY_PATH
if test "$cross_compiling" = yes; then :
curl_cv_writable_argv=cross
@@ -22452,10 +22325,12 @@ rm -f core conftest.err conftest.$ac_objext \
PREFIX_OPENSSL=$OPT_SSL
OPENSSL_PCDIR="$OPT_SSL/lib/pkgconfig"
- { $as_echo "$as_me:${as_lineno-$LINENO}: PKG_CONFIG_LIBDIR will be set to \"$OPENSSL_PCDIR\"" >&5
-$as_echo "$as_me: PKG_CONFIG_LIBDIR will be set to \"$OPENSSL_PCDIR\"" >&6;}
if test -f "$OPENSSL_PCDIR/openssl.pc"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: PKG_CONFIG_LIBDIR will be set to \"$OPENSSL_PCDIR\"" >&5
+$as_echo "$as_me: PKG_CONFIG_LIBDIR will be set to \"$OPENSSL_PCDIR\"" >&6;}
PKGTEST="yes"
+ elif test ! -f "$PREFIX_OPENSSL/include/openssl/ssl.h"; then
+ as_fn_error $? "$PREFIX_OPENSSL is a bad --with-ssl prefix!" "$LINENO" 5
fi
LIB_OPENSSL="$PREFIX_OPENSSL/lib$libsuff"
@@ -22719,7 +22594,7 @@ else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL linking with -ldl" >&5
$as_echo_n "checking OpenSSL linking with -ldl... " >&6; }
- LIBS="$LIBS -ldl"
+ LIBS="$CLEANLIBS -lcrypto -ldl"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -22747,7 +22622,7 @@ $as_echo "no" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking OpenSSL linking with -ldl and -lpthread" >&5
$as_echo_n "checking OpenSSL linking with -ldl and -lpthread... " >&6; }
- LIBS="$LIBS -lpthread"
+ LIBS="$CLEANLIBS -lcrypto -ldl -lpthread"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
@@ -22951,37 +22826,6 @@ done
fi
if test X"$OPENSSL_ENABLED" = X"1"; then
- ac_fn_c_check_func "$LINENO" "ENGINE_init" "ac_cv_func_ENGINE_init"
-if test "x$ac_cv_func_ENGINE_init" = xyes; then :
-
- for ac_header in openssl/engine.h
-do :
- ac_fn_c_check_header_mongrel "$LINENO" "openssl/engine.h" "ac_cv_header_openssl_engine_h" "$ac_includes_default"
-if test "x$ac_cv_header_openssl_engine_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_OPENSSL_ENGINE_H 1
-_ACEOF
-
-fi
-
-done
-
- for ac_func in ENGINE_load_builtin_engines
-do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-fi
-
-
for ac_func in RAND_egd \
ENGINE_cleanup \
@@ -24909,34 +24753,40 @@ rm -f core conftest.err conftest.$ac_objext \
$as_echo "$as_me: detected $cyassllibname" >&6;}
check_for_ca_bundle=1
- # The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
$as_echo_n "checking size of long long... " >&6; }
if ${ac_cv_sizeof_long_long+:} false; then :
$as_echo_n "(cached) " >&6
else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then :
+ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-else
- if test "$ac_cv_type_long_long" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long long)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_long=0
- fi
+#include <sys/types.h>
+
+
+int main (void)
+{
+switch (0) case 0: case (sizeof (long long) == $ac_size):;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sizeof_long_long=$ac_size
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test x$ac_cv_sizeof_long_long != x ; then break; fi
+done
fi
+
+if test x$ac_cv_sizeof_long_long = x ; then
+ as_fn_error $? "cannot determine a size for long long" "$LINENO" 5
+fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
$as_echo "$ac_cv_sizeof_long_long" >&6; }
-
-
cat >>confdefs.h <<_ACEOF
#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
_ACEOF
@@ -26380,7 +26230,7 @@ $as_echo "found" >&6; }
if test "$PKGCONFIG" != "no" ; then
- LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2`
+ LIB_SSH2=`$PKGCONFIG --libs libssh2`
LD_SSH2=`$PKGCONFIG --libs-only-L libssh2`
CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2`
version=`$PKGCONFIG --modversion libssh2`
@@ -28578,7 +28428,12 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking run-time libs availability" >&5
$as_echo_n "checking run-time libs availability... " >&6; }
- if test "$cross_compiling" = yes; then :
+
+
+ old=$LD_LIBRARY_PATH
+ LD_LIBRARY_PATH=$CURL_LIBRARY_PATH:$old
+ export LD_LIBRARY_PATH
+ if test "$cross_compiling" = yes; then :
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "cannot run test program while cross compiling
@@ -28606,203 +28461,241 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
+ LD_LIBRARY_PATH=$old # restore
+
fi
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
$as_echo_n "checking size of size_t... " >&6; }
if ${ac_cv_sizeof_size_t+:} false; then :
$as_echo_n "(cached) " >&6
else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"; then :
+ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-else
- if test "$ac_cv_type_size_t" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (size_t)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_size_t=0
- fi
+#include <sys/types.h>
+
+
+int main (void)
+{
+switch (0) case 0: case (sizeof (size_t) == $ac_size):;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sizeof_size_t=$ac_size
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test x$ac_cv_sizeof_size_t != x ; then break; fi
+done
fi
+
+if test x$ac_cv_sizeof_size_t = x ; then
+ as_fn_error $? "cannot determine a size for size_t" "$LINENO" 5
+fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
$as_echo "$ac_cv_sizeof_size_t" >&6; }
-
-
cat >>confdefs.h <<_ACEOF
#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t
_ACEOF
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
$as_echo_n "checking size of long... " >&6; }
if ${ac_cv_sizeof_long+:} false; then :
$as_echo_n "(cached) " >&6
else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then :
+ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/types.h>
+
+
+int main (void)
+{
+switch (0) case 0: case (sizeof (long) == $ac_size):;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sizeof_long=$ac_size
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test x$ac_cv_sizeof_long != x ; then break; fi
+done
-else
- if test "$ac_cv_type_long" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long=0
- fi
fi
+if test x$ac_cv_sizeof_long = x ; then
+ as_fn_error $? "cannot determine a size for long" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
$as_echo "$ac_cv_sizeof_long" >&6; }
-
-
cat >>confdefs.h <<_ACEOF
#define SIZEOF_LONG $ac_cv_sizeof_long
_ACEOF
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
$as_echo_n "checking size of int... " >&6; }
if ${ac_cv_sizeof_int+:} false; then :
$as_echo_n "(cached) " >&6
else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then :
+ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/types.h>
+
+
+int main (void)
+{
+switch (0) case 0: case (sizeof (int) == $ac_size):;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sizeof_int=$ac_size
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test x$ac_cv_sizeof_int != x ; then break; fi
+done
-else
- if test "$ac_cv_type_int" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (int)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_int=0
- fi
fi
+if test x$ac_cv_sizeof_int = x ; then
+ as_fn_error $? "cannot determine a size for int" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
$as_echo "$ac_cv_sizeof_int" >&6; }
-
-
cat >>confdefs.h <<_ACEOF
#define SIZEOF_INT $ac_cv_sizeof_int
_ACEOF
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
$as_echo_n "checking size of short... " >&6; }
if ${ac_cv_sizeof_short+:} false; then :
$as_echo_n "(cached) " >&6
else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then :
+ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/types.h>
+
+
+int main (void)
+{
+switch (0) case 0: case (sizeof (short) == $ac_size):;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sizeof_short=$ac_size
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test x$ac_cv_sizeof_short != x ; then break; fi
+done
-else
- if test "$ac_cv_type_short" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (short)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_short=0
- fi
fi
+if test x$ac_cv_sizeof_short = x ; then
+ as_fn_error $? "cannot determine a size for short" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
$as_echo "$ac_cv_sizeof_short" >&6; }
-
-
cat >>confdefs.h <<_ACEOF
#define SIZEOF_SHORT $ac_cv_sizeof_short
_ACEOF
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of time_t" >&5
$as_echo_n "checking size of time_t... " >&6; }
if ${ac_cv_sizeof_time_t+:} false; then :
$as_echo_n "(cached) " >&6
else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (time_t))" "ac_cv_sizeof_time_t" "$ac_includes_default"; then :
+ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
-else
- if test "$ac_cv_type_time_t" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (time_t)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_time_t=0
- fi
+#include <sys/types.h>
+
+
+int main (void)
+{
+switch (0) case 0: case (sizeof (time_t) == $ac_size):;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sizeof_time_t=$ac_size
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test x$ac_cv_sizeof_time_t != x ; then break; fi
+done
fi
+
+if test x$ac_cv_sizeof_time_t = x ; then
+ as_fn_error $? "cannot determine a size for time_t" "$LINENO" 5
+fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_time_t" >&5
$as_echo "$ac_cv_sizeof_time_t" >&6; }
-
-
cat >>confdefs.h <<_ACEOF
#define SIZEOF_TIME_T $ac_cv_sizeof_time_t
_ACEOF
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of off_t" >&5
$as_echo_n "checking size of off_t... " >&6; }
if ${ac_cv_sizeof_off_t+:} false; then :
$as_echo_n "(cached) " >&6
else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (off_t))" "ac_cv_sizeof_off_t" "$ac_includes_default"; then :
+ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/types.h>
+
+
+int main (void)
+{
+switch (0) case 0: case (sizeof (off_t) == $ac_size):;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sizeof_off_t=$ac_size
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test x$ac_cv_sizeof_off_t != x ; then break; fi
+done
-else
- if test "$ac_cv_type_off_t" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (off_t)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_off_t=0
- fi
fi
+if test x$ac_cv_sizeof_off_t = x ; then
+ as_fn_error $? "cannot determine a size for off_t" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_off_t" >&5
$as_echo "$ac_cv_sizeof_off_t" >&6; }
-
-
cat >>confdefs.h <<_ACEOF
#define SIZEOF_OFF_T $ac_cv_sizeof_off_t
_ACEOF
@@ -28811,37 +28704,42 @@ _ACEOF
o=$CPPFLAGS
CPPFLAGS="-I$srcdir/include $CPPFLAGS"
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of curl_off_t" >&5
$as_echo_n "checking size of curl_off_t... " >&6; }
if ${ac_cv_sizeof_curl_off_t+:} false; then :
$as_echo_n "(cached) " >&6
else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (curl_off_t))" "ac_cv_sizeof_curl_off_t" "
+ for ac_size in 4 8 1 2 16 ; do # List sizes in rough order of prevalence.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+#include <sys/types.h>
+
#include <curl/system.h>
-"; then :
-else
- if test "$ac_cv_type_curl_off_t" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (curl_off_t)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_curl_off_t=0
- fi
+int main (void)
+{
+switch (0) case 0: case (sizeof (curl_off_t) == $ac_size):;
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_sizeof_curl_off_t=$ac_size
fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ if test x$ac_cv_sizeof_curl_off_t != x ; then break; fi
+done
fi
+
+if test x$ac_cv_sizeof_curl_off_t = x ; then
+ as_fn_error $? "cannot determine a size for curl_off_t" "$LINENO" 5
+fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_curl_off_t" >&5
$as_echo "$ac_cv_sizeof_curl_off_t" >&6; }
-
-
cat >>confdefs.h <<_ACEOF
#define SIZEOF_CURL_OFF_T $ac_cv_sizeof_curl_off_t
_ACEOF
@@ -28964,7 +28862,8 @@ $as_echo_n "checking if time_t is unsigned... " >&6; }
old=$LD_LIBRARY_PATH
- LD_LIBRARY_PATH=$CURL_LIBRARY_PATH
+ LD_LIBRARY_PATH=$CURL_LIBRARY_PATH:$old
+ export LD_LIBRARY_PATH
if test "$cross_compiling" = yes; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -40096,7 +39995,30 @@ $as_echo "$as_me: skip check for pipe on msdosdjgpp" >&6;}
;;
esac
-for ac_func in geteuid \
+ac_fn_c_check_decl "$LINENO" "getpwuid_r" "ac_cv_have_decl_getpwuid_r" "#include <pwd.h>
+ #include <sys/types.h>
+"
+if test "x$ac_cv_have_decl_getpwuid_r" = xyes; then :
+ ac_have_decl=1
+else
+ ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETPWUID_R $ac_have_decl
+_ACEOF
+if test $ac_have_decl = 1; then :
+
+else
+
+$as_echo "#define HAVE_DECL_GETPWUID_R_MISSING 1" >>confdefs.h
+
+fi
+
+
+
+for ac_func in fnmatch \
+ geteuid \
getpass_r \
getppid \
getpwuid \
@@ -40168,322 +40090,6 @@ fi
done
-
- for ac_header in sys/types.h sys/socket.h netdb.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- #
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getnameinfo" >&5
-$as_echo_n "checking for getnameinfo... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#define getnameinfo innocuous_getnameinfo
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-#undef getnameinfo
-#ifdef __cplusplus
-extern "C"
-#endif
-char getnameinfo ();
-#if defined __stub_getnameinfo || defined __stub___getnameinfo
-choke me
-#endif
-
-int main (void)
-{
-return getnameinfo ();
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- curl_cv_getnameinfo="yes"
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
- curl_cv_getnameinfo="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- #
- if test "$curl_cv_getnameinfo" != "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking deeper for getnameinfo" >&5
-$as_echo_n "checking deeper for getnameinfo... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-
-int main (void)
-{
-
- getnameinfo();
-
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- curl_cv_getnameinfo="yes"
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: but still no" >&5
-$as_echo "but still no" >&6; }
- curl_cv_getnameinfo="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- #
- if test "$curl_cv_getnameinfo" != "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking deeper and deeper for getnameinfo" >&5
-$as_echo_n "checking deeper and deeper for getnameinfo... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#endif
-
-int main (void)
-{
-
- getnameinfo(0, 0, 0, 0, 0, 0, 0);
-
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
- curl_cv_getnameinfo="yes"
-
-else
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: but still no" >&5
-$as_echo "but still no" >&6; }
- curl_cv_getnameinfo="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- fi
- #
- if test "$curl_cv_getnameinfo" = "yes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking types of arguments for getnameinfo" >&5
-$as_echo_n "checking types of arguments for getnameinfo... " >&6; }
-if ${curl_cv_func_getnameinfo_args+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- curl_cv_func_getnameinfo_args="unknown"
- for gni_arg1 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
- for gni_arg2 in 'socklen_t' 'size_t' 'int'; do
- for gni_arg46 in 'size_t' 'int' 'socklen_t' 'unsigned int' 'DWORD'; do
- for gni_arg7 in 'int' 'unsigned int'; do
- if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#undef inline
-#ifdef HAVE_WINDOWS_H
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-#if (!defined(_WIN32_WINNT)) || (_WIN32_WINNT < 0x0501)
-#undef _WIN32_WINNT
-#define _WIN32_WINNT 0x0501
-#endif
-#include <windows.h>
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#ifdef HAVE_WS2TCPIP_H
-#include <ws2tcpip.h>
-#endif
-#endif
-#define GNICALLCONV WSAAPI
-#else
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#define GNICALLCONV
-#endif
- extern int GNICALLCONV
-#ifdef __ANDROID__
-__attribute__((overloadable))
-#endif
- getnameinfo($gni_arg1, $gni_arg2,
- char *, $gni_arg46,
- char *, $gni_arg46,
- $gni_arg7);
-
-int main (void)
-{
-
- $gni_arg2 salen=0;
- $gni_arg46 hostlen=0;
- $gni_arg46 servlen=0;
- $gni_arg7 flags=0;
- int res = getnameinfo(0, salen, 0, hostlen, 0, servlen, flags);
-
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- curl_cv_func_getnameinfo_args="$gni_arg1,$gni_arg2,$gni_arg46,$gni_arg7"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- fi
- done
- done
- done
- done
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $curl_cv_func_getnameinfo_args" >&5
-$as_echo "$curl_cv_func_getnameinfo_args" >&6; } # AC-CACHE-CHECK
- if test "$curl_cv_func_getnameinfo_args" = "unknown"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find proper types to use for getnameinfo args" >&5
-$as_echo "$as_me: WARNING: Cannot find proper types to use for getnameinfo args" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: HAVE_GETNAMEINFO will not be defined" >&5
-$as_echo "$as_me: WARNING: HAVE_GETNAMEINFO will not be defined" >&2;}
- else
- gni_prev_IFS=$IFS; IFS=','
- set dummy `echo "$curl_cv_func_getnameinfo_args" | sed 's/\*/\*/g'`
- IFS=$gni_prev_IFS
- shift
- #
- gni_qual_type_arg1=$1
- #
-
-cat >>confdefs.h <<_ACEOF
-#define GETNAMEINFO_TYPE_ARG2 $2
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define GETNAMEINFO_TYPE_ARG46 $3
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define GETNAMEINFO_TYPE_ARG7 $4
-_ACEOF
-
- #
- prev_sh_opts=$-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set -f
- ;;
- esac
- #
- case "$gni_qual_type_arg1" in
- const*)
- gni_qual_arg1=const
- gni_type_arg1=`echo $gni_qual_type_arg1 | sed 's/^const //'`
- ;;
- *)
- gni_qual_arg1=
- gni_type_arg1=$gni_qual_type_arg1
- ;;
- esac
- #
-
-cat >>confdefs.h <<_ACEOF
-#define GETNAMEINFO_QUAL_ARG1 $gni_qual_arg1
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define GETNAMEINFO_TYPE_ARG1 $gni_type_arg1
-_ACEOF
-
- #
- case $prev_sh_opts in
- *f*)
- ;;
- *)
- set +f
- ;;
- esac
- #
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_GETNAMEINFO 1
-_ACEOF
-
- curl_cv_func_getnameinfo="yes"
- fi
- fi
-
-
if test "$ipv6" = "yes"; then
if test "$curl_cv_func_getaddrinfo" = "yes"; then
@@ -40492,154 +40098,6 @@ $as_echo "#define ENABLE_IPV6 1" >>confdefs.h
IPV6_ENABLED=1
fi
-
- for ac_header in stdio.h sys/types.h sys/socket.h \
- netdb.h netinet/in.h arpa/inet.h
-do :
- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
- #
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working NI_WITHSCOPEID" >&5
-$as_echo_n "checking for working NI_WITHSCOPEID... " >&6; }
-if ${curl_cv_working_ni_withscopeid+:} false; then :
- $as_echo_n "(cached) " >&6
-else
-
- if test "$cross_compiling" = yes; then :
-
- # Program is not run when cross-compiling. So we assume
- # NI_WITHSCOPEID will work if we are able to compile it.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
-
-int main (void)
-{
-
- unsigned int dummy= NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
-
- ;
- return 0;
-}
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
- curl_cv_working_ni_withscopeid="yes"
-
-else
-
- curl_cv_working_ni_withscopeid="no"
-
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # AC-COMPILE-IFELSE
-
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STDIO_H
-#include <stdio.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-#ifdef HAVE_NETDB_H
-#include <netdb.h>
-#endif
-#ifdef HAVE_NETINET_IN_H
-#include <netinet/in.h>
-#endif
-#ifdef HAVE_ARPA_INET_H
-#include <arpa/inet.h>
-#endif
-
-int main (void)
-{
-
-#if defined(NI_WITHSCOPEID) && defined(HAVE_GETNAMEINFO)
-#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
- struct sockaddr_storage sa;
-#else
- unsigned char sa[256];
-#endif
- char hostbuf[NI_MAXHOST];
- int rc;
- GETNAMEINFO_TYPE_ARG2 salen = (GETNAMEINFO_TYPE_ARG2)sizeof(sa);
- GETNAMEINFO_TYPE_ARG46 hostlen = (GETNAMEINFO_TYPE_ARG46)sizeof(hostbuf);
- GETNAMEINFO_TYPE_ARG7 flags = NI_NUMERICHOST | NI_NUMERICSERV | NI_WITHSCOPEID;
- int fd = socket(AF_INET6, SOCK_STREAM, 0);
- if(fd < 0) {
- perror("socket()");
- return 1; /* Error creating socket */
- }
- rc = getsockname(fd, (GETNAMEINFO_TYPE_ARG1)&sa, &salen);
- if(rc) {
- perror("getsockname()");
- return 2; /* Error retrieving socket name */
- }
- rc = getnameinfo((GETNAMEINFO_TYPE_ARG1)&sa, salen, hostbuf, hostlen, NULL, 0, flags);
- if(rc) {
- printf("rc = %s\n", gai_strerror(rc));
- return 3; /* Error translating socket address */
- }
- return 0; /* Ok, NI_WITHSCOPEID works */
-#else
- return 4; /* Error, NI_WITHSCOPEID not defined or no getnameinfo() */
-#endif
-
- ;
- return 0;
-} # AC-LANG-PROGRAM
-
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
- # Exit code == 0. Program worked.
- curl_cv_working_ni_withscopeid="yes"
-
-else
-
- # Exit code != 0. Program failed.
- curl_cv_working_ni_withscopeid="no"
-
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
- # AC-RUN-IFELSE
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $curl_cv_working_ni_withscopeid" >&5
-$as_echo "$curl_cv_working_ni_withscopeid" >&6; } # AC-CACHE-CHECK
- case "$curl_cv_working_ni_withscopeid" in
- yes)
-
-$as_echo "#define HAVE_NI_WITHSCOPEID 1" >>confdefs.h
-
- ;;
- esac
-
fi
@@ -40821,9 +40279,166 @@ fi
configure_runpath=`pwd`
embedded_ares_builddir="$configure_runpath/ares"
if test -n "$want_ares_path"; then
- ares_CPPFLAGS="-I$want_ares_path/include"
- ares_LDFLAGS="-L$want_ares_path/lib"
- ares_LIBS="-lcares"
+ ARES_PCDIR="$want_ares_path/lib/pkgconfig"
+
+ if test -n "$PKG_CONFIG"; then
+ PKGCONFIG="$PKG_CONFIG"
+ else
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKGCONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PKGCONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKGCONFIG=$ac_cv_path_PKGCONFIG
+if test -n "$PKGCONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
+$as_echo "$PKGCONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKGCONFIG"; then
+ ac_pt_PKGCONFIG=$PKGCONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKGCONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
+if test -n "$ac_pt_PKGCONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
+$as_echo "$ac_pt_PKGCONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKGCONFIG" = x; then
+ PKGCONFIG="no"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKGCONFIG=$ac_pt_PKGCONFIG
+ fi
+else
+ PKGCONFIG="$ac_cv_path_PKGCONFIG"
+fi
+
+ fi
+
+ if test "x$PKGCONFIG" != "xno"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libcares options with pkg-config" >&5
+$as_echo_n "checking for libcares options with pkg-config... " >&6; }
+ itexists=`
+ if test -n "$ARES_PCDIR"; then
+ PKG_CONFIG_LIBDIR="$ARES_PCDIR"
+ export PKG_CONFIG_LIBDIR
+ fi
+ $PKGCONFIG --exists libcares >/dev/null 2>&1 && echo 1`
+
+ if test -z "$itexists"; then
+ PKGCONFIG="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+ fi
+ fi
+
+ if test "$PKGCONFIG" != "no" ; then
+ ares_LIBS=`
+ if test -n "$ARES_PCDIR"; then
+ PKG_CONFIG_LIBDIR="$ARES_PCDIR"
+ export PKG_CONFIG_LIBDIR
+ fi
+
+ $PKGCONFIG --libs-only-l libcares`
+ ares_LDFLAGS=`
+ if test -n "$ARES_PCDIR"; then
+ PKG_CONFIG_LIBDIR="$ARES_PCDIR"
+ export PKG_CONFIG_LIBDIR
+ fi
+
+ $PKGCONFIG --libs-only-L libcares`
+ ares_CPPFLAGS=`
+ if test -n "$ARES_PCDIR"; then
+ PKG_CONFIG_LIBDIR="$ARES_PCDIR"
+ export PKG_CONFIG_LIBDIR
+ fi
+
+ $PKGCONFIG --cflags-only-I libcares`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: pkg-config: ares LIBS: \"$ares_LIBS\"" >&5
+$as_echo "$as_me: pkg-config: ares LIBS: \"$ares_LIBS\"" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: pkg-config: ares LDFLAGS: \"$ares_LDFLAGS\"" >&5
+$as_echo "$as_me: pkg-config: ares LDFLAGS: \"$ares_LDFLAGS\"" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: pkg-config: ares CPPFLAGS: \"$ares_CPPFLAGS\"" >&5
+$as_echo "$as_me: pkg-config: ares CPPFLAGS: \"$ares_CPPFLAGS\"" >&6;}
+ else
+ ares_CPPFLAGS="-I$want_ares_path/include"
+ ares_LDFLAGS="-L$want_ares_path/lib"
+ ares_LIBS="-lcares"
+ fi
else
if test -d "$srcdir/ares"; then
embedded_ares="yes"
@@ -40833,9 +40448,147 @@ fi
ares_LDFLAGS="-L$embedded_ares_builddir"
ares_LIBS="-lcares"
else
- ares_CPPFLAGS=""
- ares_LDFLAGS=""
- ares_LIBS="-lcares"
+
+ if test -n "$PKG_CONFIG"; then
+ PKGCONFIG="$PKG_CONFIG"
+ else
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_PKGCONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $PKGCONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_PKGCONFIG="$PKGCONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+PKGCONFIG=$ac_cv_path_PKGCONFIG
+if test -n "$PKGCONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKGCONFIG" >&5
+$as_echo "$PKGCONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKGCONFIG"; then
+ ac_pt_PKGCONFIG=$PKGCONFIG
+ # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_ac_pt_PKGCONFIG+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $ac_pt_PKGCONFIG in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_ac_pt_PKGCONFIG="$ac_pt_PKGCONFIG" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/bin:/usr/local/bin"
+for as_dir in $as_dummy
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_ac_pt_PKGCONFIG="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+fi
+ac_pt_PKGCONFIG=$ac_cv_path_ac_pt_PKGCONFIG
+if test -n "$ac_pt_PKGCONFIG"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKGCONFIG" >&5
+$as_echo "$ac_pt_PKGCONFIG" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_pt_PKGCONFIG" = x; then
+ PKGCONFIG="no"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ PKGCONFIG=$ac_pt_PKGCONFIG
+ fi
+else
+ PKGCONFIG="$ac_cv_path_PKGCONFIG"
+fi
+
+ fi
+
+ if test "x$PKGCONFIG" != "xno"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libcares options with pkg-config" >&5
+$as_echo_n "checking for libcares options with pkg-config... " >&6; }
+ itexists=`
+ if test -n ""; then
+ PKG_CONFIG_LIBDIR=""
+ export PKG_CONFIG_LIBDIR
+ fi
+ $PKGCONFIG --exists libcares >/dev/null 2>&1 && echo 1`
+
+ if test -z "$itexists"; then
+ PKGCONFIG="no"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: found" >&5
+$as_echo "found" >&6; }
+ fi
+ fi
+
+ if test "$PKGCONFIG" != "no" ; then
+ ares_LIBS=`$PKGCONFIG --libs-only-l libcares`
+ ares_LDFLAGS=`$PKGCONFIG --libs-only-L libcares`
+ ares_CPPFLAGS=`$PKGCONFIG --cflags-only-I libcares`
+ { $as_echo "$as_me:${as_lineno-$LINENO}: pkg-config: ares_LIBS: \"$ares_LIBS\"" >&5
+$as_echo "$as_me: pkg-config: ares_LIBS: \"$ares_LIBS\"" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: pkg-config: ares_LDFLAGS: \"$ares_LDFLAGS\"" >&5
+$as_echo "$as_me: pkg-config: ares_LDFLAGS: \"$ares_LDFLAGS\"" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: pkg-config: ares_CPPFLAGS: \"$ares_CPPFLAGS\"" >&5
+$as_echo "$as_me: pkg-config: ares_CPPFLAGS: \"$ares_CPPFLAGS\"" >&6;}
+ else
+ ares_CPPFLAGS=""
+ ares_LDFLAGS=""
+ ares_LIBS="-lcares"
+ fi
fi
fi
#
diff --git a/configure.ac b/configure.ac
index 5569a26b..22280a5e 100755
--- a/configure.ac
+++ b/configure.ac
@@ -188,7 +188,8 @@ AC_CANONICAL_HOST
dnl Get system canonical name
AC_DEFINE_UNQUOTED(OS, "${host}", [cpu-machine-OS])
-dnl Checks for programs.
+# Silence warning: ar: 'u' modifier ignored since 'D' is the default
+AC_SUBST(AR_FLAGS, [cr])
dnl This defines _ALL_SOURCE for AIX
CURL_CHECK_AIX_ALL_SOURCE
@@ -1591,9 +1592,11 @@ if test -z "$ssl_backends" -o "x$OPT_SSL" != xno &&
dnl specify PKG_CONFIG_LIBDIR we're only looking where
dnl the user told us to look
OPENSSL_PCDIR="$OPT_SSL/lib/pkgconfig"
- AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$OPENSSL_PCDIR"])
if test -f "$OPENSSL_PCDIR/openssl.pc"; then
+ AC_MSG_NOTICE([PKG_CONFIG_LIBDIR will be set to "$OPENSSL_PCDIR"])
PKGTEST="yes"
+ elif test ! -f "$PREFIX_OPENSSL/include/openssl/ssl.h"; then
+ AC_MSG_ERROR([$PREFIX_OPENSSL is a bad --with-ssl prefix!])
fi
dnl in case pkg-config comes up empty, use what we got
@@ -1654,7 +1657,7 @@ if test -z "$ssl_backends" -o "x$OPT_SSL" != xno &&
dnl still no, but what about with -ldl?
AC_MSG_CHECKING([OpenSSL linking with -ldl])
- LIBS="$LIBS -ldl"
+ LIBS="$CLEANLIBS -lcrypto -ldl"
AC_TRY_LINK(
[
#include <openssl/err.h>
@@ -1668,10 +1671,10 @@ if test -z "$ssl_backends" -o "x$OPT_SSL" != xno &&
],
[
AC_MSG_RESULT(no)
- dnl ok, so what about bouth -ldl and -lpthread?
+ dnl ok, so what about both -ldl and -lpthread?
AC_MSG_CHECKING([OpenSSL linking with -ldl and -lpthread])
- LIBS="$LIBS -lpthread"
+ LIBS="$CLEANLIBS -lcrypto -ldl -lpthread"
AC_TRY_LINK(
[
#include <openssl/err.h>
@@ -1753,14 +1756,6 @@ if test -z "$ssl_backends" -o "x$OPT_SSL" != xno &&
fi
if test X"$OPENSSL_ENABLED" = X"1"; then
- dnl If the ENGINE library seems to be around, check for the OpenSSL engine
- dnl stuff, it is kind of "separated" from the main SSL check
- AC_CHECK_FUNC(ENGINE_init,
- [
- AC_CHECK_HEADERS(openssl/engine.h)
- AC_CHECK_FUNCS( ENGINE_load_builtin_engines )
- ])
-
dnl These can only exist if OpenSSL exists
dnl Older versions of Cyassl (some time before 2.9.4) don't have
dnl SSL_get_shutdown (but this check won't actually detect it there
@@ -2348,7 +2343,7 @@ if test -z "$ssl_backends" -o "x$OPT_CYASSL" != xno; then
check_for_ca_bundle=1
dnl cyassl/ctaocrypt/types.h needs SIZEOF_LONG_LONG defined!
- AC_CHECK_SIZEOF(long long)
+ AX_COMPILE_CHECK_SIZEOF(long long)
dnl Versions since at least 2.6.0 may have options.h
AC_CHECK_HEADERS(cyassl/options.h)
@@ -2766,7 +2761,7 @@ if test X"$OPT_LIBSSH2" != Xno; then
CURL_CHECK_PKGCONFIG(libssh2)
if test "$PKGCONFIG" != "no" ; then
- LIB_SSH2=`$PKGCONFIG --libs-only-l libssh2`
+ LIB_SSH2=`$PKGCONFIG --libs libssh2`
LD_SSH2=`$PKGCONFIG --libs-only-L libssh2`
CPP_SSH2=`$PKGCONFIG --cflags-only-I libssh2`
version=`$PKGCONFIG --modversion libssh2`
@@ -3449,16 +3444,16 @@ AC_HEADER_TIME
CURL_CHECK_STRUCT_TIMEVAL
CURL_VERIFY_RUNTIMELIBS
-AC_CHECK_SIZEOF(size_t)
-AC_CHECK_SIZEOF(long)
-AC_CHECK_SIZEOF(int)
-AC_CHECK_SIZEOF(short)
-AC_CHECK_SIZEOF(time_t)
-AC_CHECK_SIZEOF(off_t)
+AX_COMPILE_CHECK_SIZEOF(size_t)
+AX_COMPILE_CHECK_SIZEOF(long)
+AX_COMPILE_CHECK_SIZEOF(int)
+AX_COMPILE_CHECK_SIZEOF(short)
+AX_COMPILE_CHECK_SIZEOF(time_t)
+AX_COMPILE_CHECK_SIZEOF(off_t)
o=$CPPFLAGS
CPPFLAGS="-I$srcdir/include $CPPFLAGS"
-AC_CHECK_SIZEOF(curl_off_t, unused , [
+AX_COMPILE_CHECK_SIZEOF(curl_off_t, [
#include <curl/system.h>
])
CPPFLAGS=$o
@@ -3615,7 +3610,13 @@ case $host in
;;
esac
-AC_CHECK_FUNCS([geteuid \
+AC_CHECK_DECLS([getpwuid_r], [], [AC_DEFINE(HAVE_DECL_GETPWUID_R_MISSING, 1, "Set if getpwuid_r() declaration is missing")],
+ [[#include <pwd.h>
+ #include <sys/types.h>]])
+
+
+AC_CHECK_FUNCS([fnmatch \
+ geteuid \
getpass_r \
getppid \
getpwuid \
@@ -3652,17 +3653,12 @@ AC_CHECK_FUNCS([geteuid \
fi
])
-dnl Check if the getnameinfo function is available
-dnl and get the types of five of its arguments.
-CURL_CHECK_FUNC_GETNAMEINFO
-
if test "$ipv6" = "yes"; then
if test "$curl_cv_func_getaddrinfo" = "yes"; then
AC_DEFINE(ENABLE_IPV6, 1, [Define if you want to enable IPv6 support])
IPV6_ENABLED=1
AC_SUBST(IPV6_ENABLED)
fi
- CURL_CHECK_NI_WITHSCOPEID
fi
CURL_CHECK_NONBLOCKING_SOCKET
diff --git a/docs/CIPHERS.md b/docs/CIPHERS.md
index e09533b0..2a1d8ca7 100644
--- a/docs/CIPHERS.md
+++ b/docs/CIPHERS.md
@@ -142,6 +142,16 @@ libcurl was built to use. This is an attempt to list known cipher names.
`ECDHE-RSA-CAMELLIA128-SHA256`
`ECDHE-RSA-CAMELLIA256-SHA384`
+### TLS 1.3 cipher suites
+
+(Note: the TLS 1.3 cipher suites are set with a separate option.)
+
+`TLS13-AES-256-GCM-SHA384`
+`TLS13-CHACHA20-POLY1305-SHA256`
+`TLS13-AES-128-GCM-SHA256`
+`TLS13-AES-128-CCM-8-SHA256`
+`TLS13-AES-128-CCM-SHA256`
+
## NSS
### Totally insecure
@@ -424,3 +434,54 @@ but libcurl maps them to the following case-insensitive names.
`ECDHE-PSK-CHACHA20-POLY1305`,
`DHE-PSK-CHACHA20-POLY1305`,
`EDH-RSA-DES-CBC3-SHA`,
+
+## WinSSL
+
+WinSSL allows the enabling and disabling of encryption algorithms, but not specific ciphersuites. They are defined by Microsoft (https://msdn.microsoft.com/en-us/library/windows/desktop/aa375549(v=vs.85).aspx)
+
+`CALG_MD2`,
+`CALG_MD4`,
+`CALG_MD5`,
+`CALG_SHA`,
+`CALG_SHA1`,
+`CALG_MAC`,
+`CALG_RSA_SIGN`,
+`CALG_DSS_SIGN`,
+`CALG_NO_SIGN`,
+`CALG_RSA_KEYX`,
+`CALG_DES`,
+`CALG_3DES_112`,
+`CALG_3DES`,
+`CALG_DESX`,
+`CALG_RC2`,
+`CALG_RC4`,
+`CALG_SEAL`,
+`CALG_DH_SF`,
+`CALG_DH_EPHEM`,
+`CALG_AGREEDKEY_ANY`,
+`CALG_HUGHES_MD5`,
+`CALG_SKIPJACK`,
+`CALG_TEK`,
+`CALG_CYLINK_MEK`,
+`CALG_SSL3_SHAMD5`,
+`CALG_SSL3_MASTER`,
+`CALG_SCHANNEL_MASTER_HASH`,
+`CALG_SCHANNEL_MAC_KEY`,
+`CALG_SCHANNEL_ENC_KEY`,
+`CALG_PCT1_MASTER`,
+`CALG_SSL2_MASTER`,
+`CALG_TLS1_MASTER`,
+`CALG_RC5`,
+`CALG_HMAC`,
+`CALG_TLS1PRF`,
+`CALG_HASH_REPLACE_OWF`,
+`CALG_AES_128`,
+`CALG_AES_192`,
+`CALG_AES_256`,
+`CALG_AES`,
+`CALG_SHA_256`,
+`CALG_SHA_384`,
+`CALG_SHA_512`,
+`CALG_ECDH`,
+`CALG_ECMQV`,
+`CALG_ECDSA`,
diff --git a/docs/DEPRECATE.md b/docs/DEPRECATE.md
new file mode 100644
index 00000000..4506fae5
--- /dev/null
+++ b/docs/DEPRECATE.md
@@ -0,0 +1,73 @@
+# Items to be removed from future curl releases
+
+If any of these deprecated features is a cause for concern for you, please
+email the curl-library mailing list as soon as possible and explain to us why
+this is a problem for you and how your use case can't be satisfied properly
+using a work around.
+
+## axTLS backend
+
+Here are some complaints on axTLS.
+
+ - home page without HTTPS
+ - [doesn't support modern TLS features like SNI](https://github.com/dsheets/axtls/issues/2)
+ - [lacks support for modern ciphers](https://github.com/micropython/micropython/issues/3198)
+ - [doesn't allow for outside bug report submissions](https://sourceforge.net/p/axtls/bugs/)
+ - there's virtually no discussion about it in its [forum](https://sourceforge.net/p/axtls/discussion/)
+ nor [mailing list](https://sourceforge.net/p/axtls/mailman/axtls-general/)
+
+Combined, this list hints that this is not a library and project we should
+recommend to users.
+
+### State
+
+Since June 1st, 2018 (curl 7.61.0) axTLS support is disabled in code and
+requires a small code change to build without errors. [See
+PR](https://github.com/curl/curl/pull/2628)
+
+### Removal
+
+Remove all axTLS related code from curl on December 1st, exactly six months
+after previously mentioned commit. To be shipped on December 26, 2018
+(possibly called version 7.64.0)
+
+## HTTP pipelining
+
+HTTP pipelining is badly supported by curl in the sense that we have bugs and
+it is a fragile feature without enough tests. Also, when something turns out
+to have problems it is really tricky to debug due to the timing sensitivity so
+very often enabling debug outputs or similar completely changes the nature of
+the behavior and things are not reproducing anymore!
+
+HTTP pipelining was never enabled by default by the large desktop browsers due
+to all the issues with it. Both Firefox and Chrome have also dropped
+pipelining support entirely since a long time back now. We are in fact over
+time becoming more and more lonely in supporting pipelining.
+
+The bad state of HTTP pipelining was a primary driving factor behind HTTP/2
+and its multiplexing feature. HTTP/2 multiplexing is truly and really
+"pipelining done right". It is way more solid, practical and solves the use
+case in a better way with better performance and fewer downsides and problems.
+
+In 2018, pipelining *should* be abandoned and HTTP/2 should be used instead.
+
+### State
+
+In 7.62.0 (release planned to happen in September 2018), we add code
+that ignores the "enable pipeline" option setting). The *setopt() function
+would still return "OK" though so the application couldn't tell that this is
+happening.
+
+Users who truly need pipelining from that version will need to modify the code
+(ever so slightly) and rebuild.
+
+### Removal
+
+Six months later, in sync with the planned release happen in April 2019,
+(might be 7.66.0), assuming no major riots have occurred due to this in the
+mean time, we rip out the pipelining code. It is in the order of 1000 lines of
+libcurl code.
+
+Left to answer: should the *setopt() function start to return error when these
+options are set to be able to tell when they're trying to use options that are
+no longer around or should we maintain behavior as much as possible?
diff --git a/docs/GOVERNANCE.md b/docs/GOVERNANCE.md
new file mode 100644
index 00000000..6de2eff4
--- /dev/null
+++ b/docs/GOVERNANCE.md
@@ -0,0 +1,144 @@
+# Decision making in the curl project
+
+A rough guide to how we make decisions and who does what.
+
+## BDFL
+
+This project was started by and has to some extent been pushed forward over
+the years with Daniel Stenberg as the driving force. It matches a standard
+BDFL (Benevolent Dictator For Life) style project.
+
+This setup has been used due to convenience and the fact that is has worked
+fine this far. It is not because someone thinks of it as a superior project
+leadership model. It will also only continue working as long as Daniel manages
+to listen in to what the project and the general user population wants and
+expects from us.
+
+## Legal entity
+
+There is no legal entity. The curl project is just a bunch of people scattered
+around the globe with the common goal to produce source code that creates
+great products.
+
+The copyrights in the project are owned by the individuals and organizations
+that wrote those parts of the code.
+
+## Decisions
+
+The curl project is not a democracy, but everyone is entitled to state their
+opinion and may argue for their sake within the community.
+
+All and any changes that have been done or will be done are eligible to bring
+up for discussion, to object to or to praise. Ideally, we find consensus for
+the appropriate way forward in any given situation or challenge.
+
+If there is no obvious consensus, a maintainer who's knowledgeable in the
+specific area will take an "executive" decision that they think is the right
+for the project.
+
+## Key roles
+
+### Maintainers
+
+A maintainer in the curl project is an individual who has been given
+permissions to push commits to one of the git repositories.
+
+Maintainers are free to push commits to the repositories at their own will.
+Maintainers are however expected to listen to feedback from users and any
+change that is non-trivial in size or nature *should* be brought to the
+project as a PR to allow others to comment/object before merge.
+
+### Former maintainers
+
+A maintainer who stops being active in the project will at some point get
+their push permissions removed. We do this for security reasons but also to
+make sure that we always have the list of maintainers as "the team that push
+stuff to curl".
+
+Getting push permissions removed is not a punishment. Everyone who ever worked
+on maintaining curl is considered a hero, for all time hereafter.
+
+### Security team members
+
+We have a security team. That's the team of people who are subscribed to the
+curl-security mailing list; the receivers of security reports from users and
+developers. This list of people will vary over time but should be skilled
+developers familiar with the curl project.
+
+The security team works best when it consists of a small set of active
+persons. We invite new members when the team seems to need it, and we also
+expect to retire security team members as they "drift off" from the project or
+just find themselves unable to perform their duties there.
+
+### Server admins
+
+We run a web server, a mailing list and more on the curl project's primary
+server. That physical machine is owned and run by Haxx. Daniel is the primary
+admin of all things curl related server stuff, but Björn Stenberg and Linus
+Feltzing serve as backup admins for when Daniel is gone or unable.
+
+The primary server is paid for by Haxx. The machine is physically located in a
+server bunker in Stockholm Sweden, operated by the company Portlane.
+
+The web site contents are served to the web via Fastly and Daniel is the
+primary curl contact with Fastly.
+
+### BDFL
+
+That's Daniel.
+
+# Maintainers
+
+A curl maintainer is a project volunteer who has the authority and rights to
+merge changes into a git repository in the curl project.
+
+Anyone can aspire to become a curl maintainer.
+
+### Duties
+
+There are no mandatory duties. We hope and wish that maintainers consider
+reviewing patches and help merching them, especially when the changes are
+within the area of personal expertise and experience.
+
+### Requirements
+
+- only merge code that meets our quality and style guide requirements.
+- *never* merge code without doing a PR first, unless the change is "trivial"
+- if in doubt, ask for input/feedback from others
+
+### Recommendations
+
+- please enable 2fa on your github account to reduce risk of malicious sourc
+ code tampering
+- consider enabling signed git commits for additional verification of changes
+
+### Merge advice
+
+When you're merging patches/PRs...
+
+- make sure the commit messages follow our template
+- squash patch sets into a few logical commits even if the PR didn't, if
+ necessary
+- avoid the "merge" button on github, do it "manually" instead to get full
+ control and full audit trail (github leaves out you as "Committer:")
+- remember to credit the reporter and the helpers!
+
+## Who are maintainers?
+
+The [list of maintainers](https://github.com/orgs/curl/people). Be aware that
+the level of presence and activity in the project vary greatly between
+different individuals and over time.
+
+### Become a maintainer?
+
+If you think you can help making the project better by shouldering some
+maintaining responsibilities, then please get in touch.
+
+You will be expected to be familiar with the curl project and its ways of
+working. You need to have gotten a few quality patches merged as a proof of
+this.
+
+### Stop being a maintainer
+
+If you (appear to) not be active in the project anymore, you may be removed as
+a maintainer. Thank you for your service!
diff --git a/docs/INSTALL.md b/docs/INSTALL.md
index 67a9378f..767105c9 100644
--- a/docs/INSTALL.md
+++ b/docs/INSTALL.md
@@ -72,10 +72,9 @@ work:
If you have shared SSL libs installed in a directory where your run-time
linker doesn't find them (which usually causes configure failures), you can
-provide the -R option to ld on some operating systems to set a hard-coded
-path to the run-time linker:
+provide this option to gcc to set a hard-coded path to the run-time linker:
- LDFLAGS=-R/usr/local/ssl/lib ./configure --with-ssl
+ LDFLAGS=-Wl,-R/usr/local/ssl/lib ./configure --with-ssl
## More Options
@@ -178,53 +177,6 @@ executable in /bin/ or you'll see the configure fail toward the end.
Run `make`
-## Borland C++ compiler
-
-Ensure that your build environment is properly set up to use the compiler and
-associated tools. PATH environment variable must include the path to bin
-subdirectory of your compiler installation, eg: `c:\Borland\BCC55\bin`
-
-It is advisable to set environment variable BCCDIR to the base path of the
-compiler installation.
-
- set BCCDIR=c:\Borland\BCC55
-
-In order to build a plain vanilla version of curl and libcurl run the
-following command from curl's root directory:
-
- make borland
-
-To build curl and libcurl with zlib and OpenSSL support set environment
-variables `ZLIB_PATH` and `OPENSSL_PATH` to the base subdirectories of the
-already built zlib and OpenSSL libraries and from curl's root directory run
-command:
-
- make borland-ssl-zlib
-
-libcurl library will be built in 'lib' subdirectory while curl tool is built
-in 'src' subdirectory. In order to use libcurl library it is advisable to
-modify compiler's configuration file bcc32.cfg located in
-`c:\Borland\BCC55\bin` to reflect the location of libraries include paths for
-example the '-I' line could result in something like:
-
- -I"c:\Borland\BCC55\include;c:\curl\include;c:\openssl\inc32"
-
-bcc3.cfg `-L` line could also be modified to reflect the location of of
-libcurl library resulting for example:
-
- -L"c:\Borland\BCC55\lib;c:\curl\lib;c:\openssl\out32"
-
-In order to build sample program `simple.c` from the docs\examples
-subdirectory run following command from mentioned subdirectory:
-
- bcc32 simple.c libcurl.lib cw32mt.lib
-
-In order to build sample program simplessl.c an SSL enabled libcurl is
-required, as well as the OpenSSL libeay32.lib and ssleay32.lib libraries.
-
-In order to build sample program `sslbackend.c`, an SSL enabled libcurl
-is required.
-
## Disabling Specific Protocols in Windows builds
The configure utility, unfortunately, is not available for the Windows
diff --git a/docs/KNOWN_BUGS b/docs/KNOWN_BUGS
index 7389da6d..c8d8722e 100644
--- a/docs/KNOWN_BUGS
+++ b/docs/KNOWN_BUGS
@@ -28,6 +28,7 @@ problems may have been fixed or changed somewhat since this was written!
2.3 GnuTLS backend skips really long certificate fields
2.4 DarwinSSL won't import PKCS#12 client certificates without a password
2.5 Client cert handling with Issuer DN differs between backends
+ 2.6 CURL_GLOBAL_SSL
3. Email protocols
3.1 IMAP SEARCH ALL truncated response
@@ -36,15 +37,13 @@ problems may have been fixed or changed somewhat since this was written!
3.4 POP3 expects "CRLF.CRLF" eob for some single-line responses
4. Command line
- 4.1 -J with %-encoded file nameas
+ 4.1 -J and -O with %-encoded file names
4.2 -J with -C - fails
4.3 --retry and transfer timeouts
4.4 --upload-file . hang if delay in STDIN
5. Build and portability issues
- 5.1 Windows Borland compiler
5.2 curl-config --libs contains private details
- 5.4 AIX shared build with c-ares fails
5.5 can't handle Unicode arguments in Windows
5.6 cmake support gaps
5.7 Visual Studio project gaps
@@ -56,6 +55,7 @@ problems may have been fixed or changed somewhat since this was written!
6.2 MIT Kerberos for Windows build
6.3 NTLM in system context uses wrong name
6.4 Negotiate and Kerberos V5 need a fake user name
+ 6.5 NTLM doen't support password with § character
7. FTP
7.1 FTP without or slow 220 response
@@ -67,6 +67,7 @@ problems may have been fixed or changed somewhat since this was written!
7.7 FTP and empty path parts in the URL
7.8 Premature transfer end but healthy control channel
7.9 Passive transfer tries only one IP address
+ 7.10 Stick to same family over SOCKS proxy
8. TELNET
8.1 TELNET and time limtiations don't work
@@ -87,6 +88,7 @@ problems may have been fixed or changed somewhat since this was written!
11.3 c-ares deviates from stock resolver on http://1346569778
11.4 HTTP test server 'connection-monitor' problems
11.5 Connection information when using TCP Fast Open
+ 11.6 slow connect to localhost on Windows
12. LDAP and OpenLDAP
12.1 OpenLDAP hangs after returning results
@@ -115,6 +117,9 @@ problems may have been fixed or changed somewhat since this was written!
Disabling HTTP Pipelining when there are ongoing transfers can lead to
heap corruption and crash. https://curl.haxx.se/bug/view.cgi?id=1411
+ Similarly, removing a handle when pipelining corrupts data:
+ https://github.com/curl/curl/issues/2101
+
1.3 STARTTRANSFER time is wrong for HTTP POSTs
Wrong STARTTRANSFER timer accounting for POST requests Timer works fine with
@@ -235,6 +240,35 @@ problems may have been fixed or changed somewhat since this was written!
See https://github.com/curl/curl/issues/1411
+2.6 CURL_GLOBAL_SSL
+
+ Since libcurl 7.57.0, the flag CURL_GLOBAL_SSL is a no-op. The change was
+ merged in https://github.com/curl/curl/commit/d661b0afb571a
+
+ It was removed since it was
+
+ A) never clear for applications on how to deal with init in the light of
+ different SSL backends (the option was added back in the days when life
+ was simpler)
+
+ B) multissl introduced dynamic switching between SSL backends which
+ emphasized (A) even more
+
+ C) libcurl uses some TLS backend functionality even for non-TLS functions (to
+ get "good" random) so applications trying to avoid the init for
+ performance reasons would do wrong anyway
+
+ D) never very carefully documented so all this mostly just happened to work
+ for some users
+
+ However, in spite of the problems with the feature, there were some users who
+ apparently depended on this feature and who now claim libcurl is broken for
+ them. The fix for this situation is not obvious as a downright revert of the
+ patch is totally ruled out due to those reasons above.
+
+ https://github.com/curl/curl/issues/2276
+
+
3. Email protocols
3.1 IMAP SEARCH ALL truncated response
@@ -266,7 +300,7 @@ problems may have been fixed or changed somewhat since this was written!
4. Command line
-4.1 -J with %-encoded file nameas
+4.1 -J and -O with %-encoded file names
-J/--remote-header-name doesn't decode %-encoded file names. RFC6266 details
how it should be done. The can of worm is basically that we have no charset
@@ -276,6 +310,13 @@ problems may have been fixed or changed somewhat since this was written!
embedded slashes should be cut off.
https://curl.haxx.se/bug/view.cgi?id=1294
+ -O also doesn't decode %-encoded names, and while it has even less
+ information about the charset involved the process is similar to the -J case.
+
+ Note that we won't add decoding to -O without the user asking for it with
+ some other means as well, since -O has always been documented to use the name
+ exactly as specified in the URL.
+
4.2 -J with -C - fails
When using -J (with -O), automatically resumed downloading together with "-C
@@ -303,23 +344,12 @@ problems may have been fixed or changed somewhat since this was written!
5. Build and portability issues
-5.1 Windows Borland compiler
-
- When building with the Windows Borland compiler, it fails because the "tlib"
- tool doesn't support hyphens (minus signs) in file names and we have such in
- the build. https://curl.haxx.se/bug/view.cgi?id=1222
-
5.2 curl-config --libs contains private details
"curl-config --libs" will include details set in LDFLAGS when configure is
run that might be needed only for building libcurl. Further, curl-config
--cflags suffers from the same effects with CFLAGS/CPPFLAGS.
-5.4 AIX shared build with c-ares fails
-
- curl version 7.12.2 fails on AIX if compiled with --enable-ares. The
- workaround is to combine --enable-ares with --disable-shared
-
5.5 can't handle Unicode arguments in Windows
If a URL or filename can't be encoded using the user's current codepage then
@@ -413,6 +443,9 @@ problems may have been fixed or changed somewhat since this was written!
new conn->bits.want_authentication which is set when any of the authentication
options are set.
+6.5 NTLM doen't support password with § character
+
+ https://github.com/curl/curl/issues/2120
7. FTP
@@ -503,6 +536,15 @@ problems may have been fixed or changed somewhat since this was written!
See https://github.com/curl/curl/issues/1508
+7.10 Stick to same family over SOCKS proxy
+
+ When asked to do FTP over a SOCKS proxy, it might connect to the proxy (and
+ then subsequently to the remote server) using for example IPv4. When doing
+ the second connection, curl should make sure that the second connection is
+ using the same IP protocol version as the first connection did and not try
+ others, since the remote server will only accept the same.
+
+ See https://curl.haxx.se/mail/archive-2018-07/0000.html
8. TELNET
@@ -598,6 +640,19 @@ problems may have been fixed or changed somewhat since this was written!
See https://github.com/curl/curl/issues/1332
+11.6 slow connect to localhost on Windows
+
+ When connecting to "localhost" on Windows, curl will resolve the name for
+ both ipv4 and ipv6 and try to connect to both happy eyeballs-style. Something
+ in there does however make it take 200 millseconds to succeed - which is the
+ HAPPY_EYEBALLS_TIMEOUT define exactly. Lowering that define speeds up the
+ connection, suggesting a problem in the HE handling.
+
+ If we can *know* that we're talking to a local host, we should lower the
+ happy eyeballs delay timeout for IPv6 (related: hardcode the "localhost"
+ addresses, mentioned in TODO). Possibly we should reduce that delay for all.
+
+ https://github.com/curl/curl/issues/2281
12. LDAP and OpenLDAP
diff --git a/docs/MAIL-ETIQUETTE b/docs/MAIL-ETIQUETTE
index effdcce2..07660a00 100644
--- a/docs/MAIL-ETIQUETTE
+++ b/docs/MAIL-ETIQUETTE
@@ -180,7 +180,7 @@ MAIL ETIQUETTE
encoded HTTP Basic auth headers.
This public nature of the curl mailing lists makes automatically inserted mail
- footers about mails being "private" or "only meant for the receipient" or
+ footers about mails being "private" or "only meant for the recipient" or
similar even more silly than usual. Because they are absolutely not private
when sent to a public mailing list.
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 1cad0624..3c029678 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -40,13 +40,46 @@ DIST_SUBDIRS = $(SUBDIRS) examples libcurl
CLEANFILES = $(GENHTMLPAGES) $(PDFPAGES) $(MANDISTPAGES) curl.1
-EXTRA_DIST = MANUAL BUGS CONTRIBUTE.md FAQ FEATURES INTERNALS.md SSLCERTS.md \
- README.win32 RESOURCES TODO TheArtOfHttpScripting THANKS VERSIONS KNOWN_BUGS \
- BINDINGS.md HISTORY.md INSTALL INSTALL.md LICENSE-MIXING.md \
- README.netware MAIL-ETIQUETTE HTTP-COOKIES.md SECURITY-PROCESS.md RELEASE-PROCEDURE \
- SSL-PROBLEMS.md HTTP2.md ROADMAP.md CODE_OF_CONDUCT.md CODE_STYLE.md \
- CHECKSRC.md CMakeLists.txt README.md CIPHERS.md INSTALL.cmake README.cmake \
- $(noinst_man_MANS) HELP-US.md
+EXTRA_DIST = \
+ $(noinst_man_MANS) \
+ BINDINGS.md \
+ BUGS \
+ CHECKSRC.md \
+ CIPHERS.md \
+ CMakeLists.txt \
+ CODE_OF_CONDUCT.md \
+ CODE_STYLE.md \
+ CONTRIBUTE.md \
+ DEPRECATE.md \
+ FAQ \
+ FEATURES \
+ GOVERNANCE.md \
+ HELP-US.md \
+ HISTORY.md \
+ HTTP-COOKIES.md \
+ HTTP2.md \
+ INSTALL \
+ INSTALL.cmake \
+ INSTALL.md \
+ INTERNALS.md \
+ KNOWN_BUGS \
+ LICENSE-MIXING.md \
+ MAIL-ETIQUETTE \
+ MANUAL \
+ README.cmake \
+ README.md \
+ README.netware \
+ README.win32 \
+ RELEASE-PROCEDURE.md \
+ RESOURCES \
+ ROADMAP.md \
+ SECURITY-PROCESS.md \
+ SSL-PROBLEMS.md \
+ SSLCERTS.md \
+ THANKS \
+ TODO \
+ TheArtOfHttpScripting \
+ VERSIONS
MAN2HTML= roffit $< >$@
diff --git a/docs/RELEASE-PROCEDURE b/docs/RELEASE-PROCEDURE.md
index b7f8fcda..637d0a70 100644
--- a/docs/RELEASE-PROCEDURE
+++ b/docs/RELEASE-PROCEDURE.md
@@ -11,7 +11,8 @@ in the source code repo
- make sure all relevant changes are committed on the master branch
- tag the git repo in this style: `git tag -a curl-7_34_0`. -a annotates the
- tag and we use underscores instead of dots in the version number.
+ tag and we use underscores instead of dots in the version number. Make sure
+ the tag is GPG signed (using -s).
- run "./maketgz 7.34.0" to build the release tarballs. It is important that
you run this on a machine with the correct set of autotools etc installed
@@ -35,7 +36,7 @@ in the curl-www repo
- commit all local changes
-- tag the repo with the same tag as used for the source repo
+- tag the repo with the same name as used for the source repo.
- make sure all relevant changes are committed and pushed on the master branch
@@ -83,13 +84,13 @@ Coming dates
Based on the description above, here are some planned release dates (at the
time of this writing):
-- November 29, 2017
-- January 24, 2018
-- March 21, 2018
-- May 16, 2018
- July 11, 2018
- September 5, 2018
- October 31, 2018
- December 26, 2018
- February 20, 2019
- April 17, 2019
+- June 12, 2019
+- August 7, 2019
+- October 2, 2019
+- December 27, 2019
diff --git a/docs/THANKS b/docs/THANKS
index 540a59fc..661fae08 100644
--- a/docs/THANKS
+++ b/docs/THANKS
@@ -18,6 +18,7 @@ Adam Marcionek
Adam Piggott
Adam Sampson
Adam Tkac
+Adrian Peniak
Adrian Schuur
Adriano Meirelles
Ajit Dhumale
@@ -32,6 +33,7 @@ Albert Chin-A-Young
Albert Choy
Ale Vesely
Alejandro Alvarez Ayllon
+Alejandro R. Sedeño
Aleksandar Milivojevic
Aleksey Tulinov
Ales Mlakar
@@ -136,6 +138,7 @@ Anton Yabchinskiy
Antonio Larrosa
Antony74 on github
Antti Hätälä
+Archangel_SDY on github
Arkadiusz Miskiewicz
Armel Asselin
Arnaud Compan
@@ -179,6 +182,7 @@ Bernard Leak
Bernard Spil
Bernhard M. Wiedemann
Bernhard Reutner-Fischer
+Bernhard Walle
Bert Huijben
Bertrand Demiddelaer
Bertrand Simonnet
@@ -345,6 +349,7 @@ Daniel Stenberg
Daniel Theron
Daniel at touchtunes
Daphne Luong
+Dario Nieuwenhuis
Dario Weisser
Darryl House
Darshan Mody
@@ -512,6 +517,7 @@ Fabian Frank
Fabian Hiernaux
Fabian Keil
Fabian Ruff
+Fabrice Fontaine
Fabrizio Ammollo
Fahim Chandurwala
Fedor Karpelevitch
@@ -661,6 +667,7 @@ Ingo Wilken
Irfan Adilovic
Isaac Boukris
Ishan SinghLevett
+Ithubg on github
Ivan Avdeev
Ivo Bellin Salarin
Jack Zhang
@@ -704,6 +711,7 @@ Jason Liu
Jason McDonald
Jason S. Priebe
Javier Barroso
+Javier Blazquez
Javier G. Sogo
Javier Sixto
Jay Austin
@@ -875,6 +883,7 @@ Kevin Baughman
Kevin Fisk
Kevin Ji
Kevin Lussier
+Kevin R. Bulgrien
Kevin Reed
Kevin Roth
Kevin Smith
@@ -931,6 +940,7 @@ Lijo Antony
Linas Vepstas
Lindley French
Ling Thio
+Linus Lewandowski
Linus Nielsen Feltzing
Linus Nordberg
Lior Kaplan
@@ -958,6 +968,7 @@ Luo Jinghua
Luong Dinh Dung
Luz Paz
Luật Nguyễn
+Lyman Epp
Lyndon Hill
Maciej Karpiuk
Maciej Puzio
@@ -967,6 +978,7 @@ Maks Naumov
Maksim Kuzevanov
Maksim Stsepanenka
Mamoru Tasaka
+Mamta Upadhyay
Mandy Wu
Manfred Schwarb
Manuel Massing
@@ -992,6 +1004,7 @@ Marco Maggi
Marcus Hoffmann
Marcus Sundberg
Marcus Webster
+Marian Klymov
Mario Schroeder
Mark Brand
Mark Butler
@@ -1040,6 +1053,7 @@ Matt Veenstra
Matt Witherspoon
Matt Wixson
Matteo B.
+Matteo Bignotti
Matteo Rocco
Matthew Blain
Matthew Clarke
@@ -1053,6 +1067,7 @@ Mauro Rappa
Max Dymond
Max Katsev
Max Khon
+Max Savenkov
Maxim Ivanov
Maxim Perenesenko
Maxim Prohorov
@@ -1251,6 +1266,7 @@ Peter Silva
Peter Su
Peter Sylvester
Peter Todd
+Peter Varga
Peter Verhas
Peter Wang
Peter Wu
@@ -1307,6 +1323,7 @@ Ramana Mokkapati
Randall S. Becker
Randy Armstrong
Randy McMurchy
+Raphael Gozzo
Ravi Pratap
Ray Dassen
Ray Pekowski
@@ -1365,6 +1382,7 @@ Robert Foreman
Robert Iakobashvili
Robert Kolcun
Robert Olson
+Robert Prag
Robert Schumann
Robert Weaver
Robert Wruck
@@ -1392,6 +1410,7 @@ Ronnie Mose
Rosimildo da Silva
Roy Shan
Rune Kleveland
+Ruslan Baratov
Ruslan Gazizov
Rutger Hofman
Ruurd Beerstra
@@ -1433,6 +1452,7 @@ Scott McCreary
Sean Boudreau
Sean Burford
Sean MacLennan
+Sean Miller
Sebastian Mundry
Sebastian Pohlschmidt
Sebastian Rasmussen
@@ -1618,6 +1638,7 @@ Ulrich Doehner
Ulrich Telle
Ulrich Zadow
Valentin David
+Vasiliy Faronov
Vasy Okhin
Venkat Akella
Venkataramana Mokkapati
@@ -1636,6 +1657,7 @@ Vincent Torri
Vlad Grachov
Vlad Ureche
Vladimir Grishchenko
+Vladimir Kotal
Vladimir Lazarenko
Vojtech Janota
Vojtech Minarik
@@ -1702,6 +1724,7 @@ dkjjr89 on github
dpull on github
eXeC64 on github
elelel on github
+elephoenix on github
guitared on github
hsiao yi
imilli on github
@@ -1728,6 +1751,7 @@ omau on github
ovidiu-benea on github
patelvivekv1993 on github
paulharris on github
+pszemus on github
silveja1 on github
steelman on github
steini2000 on github
@@ -1741,6 +1765,7 @@ wncboy on github
wyattoday on github
youngchopin on github
zelinchen on github
+zzq1015 on github
İsmail Dönmez
Łukasz Domeradzki
Štefan Kremeň
diff --git a/docs/TODO b/docs/TODO
index cd0d6f2b..269c9300 100644
--- a/docs/TODO
+++ b/docs/TODO
@@ -17,7 +17,6 @@
All bugs documented in the KNOWN_BUGS document are subject for fixing!
1. libcurl
- 1.1 Option to refuse usernames in URLs
1.2 More data sharing
1.3 struct lifreq
1.4 signal-based resolver timeouts
@@ -38,6 +37,7 @@
1.19 Timeout idle connections from the pool
1.20 SRV and URI DNS records
1.21 API for URL parsing/splitting
+ 1.22 CURLINFO_PAUSE_STATE
1.23 Offer API to flush the connection pool
1.24 TCP Fast Open for windows
1.25 Expose tried IP addresses that failed
@@ -112,6 +112,7 @@
13.6 Provide callback for cert verification
13.7 improve configure --with-ssl
13.8 Support DANE
+ 13.9 Configurable loading of OpenSSL configuration file
13.11 Support intermediate & root pinning for PINNEDPUBLICKEY
13.12 Support HSTS
13.13 Support HPKP
@@ -188,16 +189,6 @@
1. libcurl
-1.1 Option to refuse usernames in URLs
-
- There's a certain risk for application in allowing user names in URLs. For
- example: if the wrong person gets to set the URL and manages to set a user
- name in there when .netrc is used, the application may send along a password
- that otherwise the person couldn't provide.
-
- A new libcurl option could be added to allow applications to switch off this
- feature and thus avoid a potential risk.
-
1.2 More data sharing
curl_share_* functions already exist and work, and they can be extended to
@@ -387,6 +378,11 @@
using libcurl need that ability. In polls to users, we've learned that many
libcurl users would like to see and use such an API.
+1.22 CURLINFO_PAUSE_STATE
+
+ Return information about the transfer's current pause state, in both
+ directions. https://github.com/curl/curl/issues/2588
+
1.23 Offer API to flush the connection pool
Sometimes applications want to flush all the existing connections kept alive.
@@ -772,6 +768,17 @@ that doesn't exist on the server, just like --ftp-create-dirs.
Björn Stenberg wrote a separate initial take on DANE that was never
completed.
+13.9 Configurable loading of OpenSSL configuration file
+
+ libcurl calls the OpenSSL function CONF_modules_load_file() in openssl.c,
+ Curl_ossl_init(). "We regard any changes in the OpenSSL configuration as a
+ security risk or at least as unnecessary."
+
+ Please add a configuration switch or something similar to disable the
+ CONF_modules_load_file() call.
+
+ See https://github.com/curl/curl/issues/2724
+
13.11 Support intermediate & root pinning for PINNEDPUBLICKEY
CURLOPT_PINNEDPUBLICKEY does not consider the hashes of intermediate & root
diff --git a/docs/cmdline-opts/Makefile.inc b/docs/cmdline-opts/Makefile.inc
index 778149ca..67fe1a04 100644
--- a/docs/cmdline-opts/Makefile.inc
+++ b/docs/cmdline-opts/Makefile.inc
@@ -46,6 +46,7 @@ DPAGES = abstract-unix-socket.d anyauth.d append.d basic.d cacert.d capath.d cer
tlsauthtype.d tlspassword.d tlsuser.d tlsv1.0.d tlsv1.1.d tlsv1.2.d \
tlsv1.3.d tlsv1.d trace-ascii.d trace.d trace-time.d tr-encoding.d \
unix-socket.d upload-file.d url.d use-ascii.d user-agent.d user.d \
- verbose.d version.d write-out.d xattr.d request-target.d
+ verbose.d version.d write-out.d xattr.d request-target.d \
+ styled-output.d tls13-ciphers.d proxy-tls13-ciphers.d
OTHERPAGES = page-footer page-header
diff --git a/docs/cmdline-opts/cert-type.d b/docs/cmdline-opts/cert-type.d
index a04bdce5..55d8033b 100644
--- a/docs/cmdline-opts/cert-type.d
+++ b/docs/cmdline-opts/cert-type.d
@@ -1,10 +1,10 @@
Long: cert-type
Protocols: TLS
Arg: <type>
-Help: Certificate file type (DER/PEM/ENG)
+Help: Certificate file type
See-also: cert key key-type
---
-Tells curl what certificate type the provided certificate is in. PEM, DER and
-ENG are recognized types. If not specified, PEM is assumed.
+Tells curl what type the provided client certificate is using. PEM, DER, ENG
+and P12 are recognized types. If not specified, PEM is assumed.
If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/ciphers.d b/docs/cmdline-opts/ciphers.d
index d3bac602..69e85525 100644
--- a/docs/cmdline-opts/ciphers.d
+++ b/docs/cmdline-opts/ciphers.d
@@ -1,6 +1,6 @@
Long: ciphers
Arg: <list of ciphers>
-help: SSL ciphers to use
+Help: SSL ciphers to use
Protocols: TLS
---
Specifies which ciphers to use in the connection. The list of ciphers must
diff --git a/docs/cmdline-opts/data.d b/docs/cmdline-opts/data.d
index 15728584..7d499665 100644
--- a/docs/cmdline-opts/data.d
+++ b/docs/cmdline-opts/data.d
@@ -4,7 +4,7 @@ Arg: <data>
Help: HTTP POST data
Protocols: HTTP
See-also: data-binary data-urlencode data-raw
-Mutexed: form head upload
+Mutexed: form head upload-file
---
Sends the specified data in a POST request to the HTTP server, in the same way
that a browser does when a user has filled in an HTML form and presses the
diff --git a/docs/cmdline-opts/form.d b/docs/cmdline-opts/form.d
index 8d04d419..0bbc3701 100644
--- a/docs/cmdline-opts/form.d
+++ b/docs/cmdline-opts/form.d
@@ -3,7 +3,7 @@ Short: F
Arg: <name=content>
Help: Specify multipart MIME data
Protocols: HTTP SMTP IMAP
-Mutexed: data head upload
+Mutexed: data head upload-file
---
For HTTP protocol family, this lets curl emulate a filled-in form in which a
user has pressed the submit button. This causes curl to POST data using the
diff --git a/docs/cmdline-opts/gen.pl b/docs/cmdline-opts/gen.pl
index 6ecf1b51..dd990caf 100755
--- a/docs/cmdline-opts/gen.pl
+++ b/docs/cmdline-opts/gen.pl
@@ -202,6 +202,9 @@ sub single {
my @m=split(/ /, $seealso);
my $mstr;
for my $k (@m) {
+ if(!$helplong{$k}) {
+ print STDERR "WARN: $f see-alsos a non-existing option: $k\n";
+ }
my $l = manpageify($k);
$mstr .= sprintf "%s$l", $mstr?" and ":"";
}
@@ -216,6 +219,9 @@ sub single {
my @m=split(/ /, $mutexed);
my $mstr;
for my $k (@m) {
+ if(!$helplong{$k}) {
+ print STDERR "WARN: $f mutexes a non-existing option: $k\n";
+ }
my $l = manpageify($k);
$mstr .= sprintf "%s$l", $mstr?" and ":"";
}
diff --git a/docs/cmdline-opts/ntlm.d b/docs/cmdline-opts/ntlm.d
index d71cd43f..baaa1d53 100644
--- a/docs/cmdline-opts/ntlm.d
+++ b/docs/cmdline-opts/ntlm.d
@@ -1,6 +1,6 @@
Long: ntlm
Help: Use HTTP NTLM authentication
-Mutexed: basic negotiated digest anyauth
+Mutexed: basic negotiate digest anyauth
See-also: proxy-ntlm
Protocols: HTTP
Requires: TLS
diff --git a/docs/cmdline-opts/post303.d b/docs/cmdline-opts/post303.d
index f8a60ec5..44f39e61 100644
--- a/docs/cmdline-opts/post303.d
+++ b/docs/cmdline-opts/post303.d
@@ -4,8 +4,7 @@ Protocols: HTTP
See-also: post302 post301 location
Added: 7.26.0
---
-Tells curl to respect RFC 7231/6.4.4 and not convert POST requests into GET
-requests when following a 303 redirection. The non-RFC behaviour is ubiquitous
-in web browsers, so curl does the conversion by default to maintain
-consistency. However, a server may require a POST to remain a POST after such
-a redirection. This option is meaningful only when using --location.
+Tells curl to violate RFC 7231/6.4.4 and not convert POST requests into GET
+requests when following 303 redirections. A server may require a POST to
+remain a POST after a 303 redirection. This option is meaningful only when
+using --location.
diff --git a/docs/cmdline-opts/proxy-service-name.d b/docs/cmdline-opts/proxy-service-name.d
index e774d242..9a73f2be 100644
--- a/docs/cmdline-opts/proxy-service-name.d
+++ b/docs/cmdline-opts/proxy-service-name.d
@@ -1,4 +1,4 @@
-long: proxy-service-name
+Long: proxy-service-name
Arg: <name>
Help: SPNEGO proxy service name
Added: 7.43.0
diff --git a/docs/cmdline-opts/proxy-tls13-ciphers.d b/docs/cmdline-opts/proxy-tls13-ciphers.d
new file mode 100644
index 00000000..3e35b076
--- /dev/null
+++ b/docs/cmdline-opts/proxy-tls13-ciphers.d
@@ -0,0 +1,12 @@
+Long: proxy-tls13-ciphers
+Arg: <ciphersuite list>
+help: TLS 1.3 proxy cipher suites
+Protocols: TLS
+---
+Specifies which cipher suites to use in the connection to your HTTPS proxy
+when it negotiates TLS 1.3. The list of ciphers suites must specify valid
+ciphers. Read up on TLS 1.3 cipher suite details on this URL:
+
+ https://curl.haxx.se/docs/ssl-ciphers.html
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/remote-time.d b/docs/cmdline-opts/remote-time.d
index 0f369e01..7f6809dc 100644
--- a/docs/cmdline-opts/remote-time.d
+++ b/docs/cmdline-opts/remote-time.d
@@ -1,5 +1,5 @@
-long: remote-time
-short: R
+Long: remote-time
+Short: R
Help: Set the remote file's time on the local output
---
When used, this will make curl attempt to figure out the timestamp of the
diff --git a/docs/cmdline-opts/retry-delay.d b/docs/cmdline-opts/retry-delay.d
index 43c5affa..1691356d 100644
--- a/docs/cmdline-opts/retry-delay.d
+++ b/docs/cmdline-opts/retry-delay.d
@@ -1,5 +1,5 @@
-long: retry-delay
-arg: <seconds>
+Long: retry-delay
+Arg: <seconds>
Help: Wait time between retries
Added: 7.12.3
---
diff --git a/docs/cmdline-opts/retry-max-time.d b/docs/cmdline-opts/retry-max-time.d
index 1c2f972a..0920c924 100644
--- a/docs/cmdline-opts/retry-max-time.d
+++ b/docs/cmdline-opts/retry-max-time.d
@@ -1,4 +1,4 @@
-long: retry-max-time
+Long: retry-max-time
Arg: <seconds>
Help: Retry only within this period
Added: 7.12.3
diff --git a/docs/cmdline-opts/sasl-ir.d b/docs/cmdline-opts/sasl-ir.d
index 120b19da..c0dab946 100644
--- a/docs/cmdline-opts/sasl-ir.d
+++ b/docs/cmdline-opts/sasl-ir.d
@@ -1,4 +1,4 @@
-long: sasl-ir
+Long: sasl-ir
Help: Enable initial response in SASL authentication
Added: 7.31.0
---
diff --git a/docs/cmdline-opts/show-error.d b/docs/cmdline-opts/show-error.d
index ede174b7..b9667a4c 100644
--- a/docs/cmdline-opts/show-error.d
+++ b/docs/cmdline-opts/show-error.d
@@ -1,4 +1,4 @@
-long: show-error
+Long: show-error
Short: S
Help: Show error even when -s is used
---
diff --git a/docs/cmdline-opts/silent.d b/docs/cmdline-opts/silent.d
index 7603b763..b0b4425b 100644
--- a/docs/cmdline-opts/silent.d
+++ b/docs/cmdline-opts/silent.d
@@ -1,4 +1,4 @@
-long: silent
+Long: silent
Short: s
Help: Silent mode
See-also: verbose stderr
diff --git a/docs/cmdline-opts/ssl-reqd.d b/docs/cmdline-opts/ssl-reqd.d
index b21aed10..3c6f8a25 100644
--- a/docs/cmdline-opts/ssl-reqd.d
+++ b/docs/cmdline-opts/ssl-reqd.d
@@ -1,4 +1,4 @@
-long: ssl-reqd
+Long: ssl-reqd
Help: Require SSL/TLS
Protocols: FTP IMAP POP3 SMTP
Added: 7.20.0
diff --git a/docs/cmdline-opts/ssl.d b/docs/cmdline-opts/ssl.d
index 71c187ae..dabd8376 100644
--- a/docs/cmdline-opts/ssl.d
+++ b/docs/cmdline-opts/ssl.d
@@ -1,4 +1,4 @@
-long: ssl
+Long: ssl
Help: Try SSL/TLS
Protocols: FTP IMAP POP3 SMTP
Added: 7.20.0
diff --git a/docs/cmdline-opts/styled-output.d b/docs/cmdline-opts/styled-output.d
new file mode 100644
index 00000000..e4751aec
--- /dev/null
+++ b/docs/cmdline-opts/styled-output.d
@@ -0,0 +1,6 @@
+Long: styled-output
+Help: Enable styled output for HTTP headers
+Added: 7.61.0
+---
+Enables the automatic use of bold font styles when writing HTTP headers to the
+terminal. Use --no-styled-output to switch them off.
diff --git a/docs/cmdline-opts/tftp-blksize.d b/docs/cmdline-opts/tftp-blksize.d
index 04c6c53b..c184328d 100644
--- a/docs/cmdline-opts/tftp-blksize.d
+++ b/docs/cmdline-opts/tftp-blksize.d
@@ -1,6 +1,6 @@
Long: tftp-blksize
Arg: <value>
-help: Set TFTP BLKSIZE option
+Help: Set TFTP BLKSIZE option
Protocols: TFTP
Added: 7.20.0
---
diff --git a/docs/cmdline-opts/tls13-ciphers.d b/docs/cmdline-opts/tls13-ciphers.d
new file mode 100644
index 00000000..add16159
--- /dev/null
+++ b/docs/cmdline-opts/tls13-ciphers.d
@@ -0,0 +1,12 @@
+Long: tls13-ciphers
+Arg: <list of TLS 1.3 ciphersuites>
+help: TLS 1.3 cipher suites to use
+Protocols: TLS
+---
+Specifies which cipher suites to use in the connection if it negotiates TLS
+1.3. The list of ciphers suites must specify valid ciphers. Read up on TLS 1.3
+cipher suite details on this URL:
+
+ https://curl.haxx.se/docs/ssl-ciphers.html
+
+If this option is used several times, the last one will be used.
diff --git a/docs/cmdline-opts/tlsv1.1.d b/docs/cmdline-opts/tlsv1.1.d
index 9bfdc353..a3c10edb 100644
--- a/docs/cmdline-opts/tlsv1.1.d
+++ b/docs/cmdline-opts/tlsv1.1.d
@@ -3,4 +3,4 @@ Help: Use TLSv1.1
Protocols: TLS
Added: 7.34.0
---
-Forces curl to use TLS version 1.1 when connecting to a remote TLS server.
+Forces curl to use TLS version 1.1 or later when connecting to a remote TLS server.
diff --git a/docs/cmdline-opts/tlsv1.2.d b/docs/cmdline-opts/tlsv1.2.d
index 6db94dc8..8879546b 100644
--- a/docs/cmdline-opts/tlsv1.2.d
+++ b/docs/cmdline-opts/tlsv1.2.d
@@ -3,4 +3,4 @@ Help: Use TLSv1.2
Protocols: TLS
Added: 7.34.0
---
-Forces curl to use TLS version 1.2 when connecting to a remote TLS server.
+Forces curl to use TLS version 1.2 or later when connecting to a remote TLS server.
diff --git a/docs/cmdline-opts/tlsv1.3.d b/docs/cmdline-opts/tlsv1.3.d
index 12358965..cf32e392 100644
--- a/docs/cmdline-opts/tlsv1.3.d
+++ b/docs/cmdline-opts/tlsv1.3.d
@@ -3,7 +3,7 @@ Help: Use TLSv1.3
Protocols: TLS
Added: 7.52.0
---
-Forces curl to use TLS version 1.3 when connecting to a remote TLS server.
+Forces curl to use TLS version 1.3 or later when connecting to a remote TLS server.
Note that TLS 1.3 is only supported by a subset of TLS backends. At the time
of this writing, they are BoringSSL, NSS, and Secure Transport (on iOS 11 or
diff --git a/docs/cmdline-opts/tlsv1.d b/docs/cmdline-opts/tlsv1.d
index 9c9f6b3f..4cb40569 100644
--- a/docs/cmdline-opts/tlsv1.d
+++ b/docs/cmdline-opts/tlsv1.d
@@ -8,5 +8,5 @@ Requires: TLS
See-also: http1.1 http2
Help: Use TLSv1.0 or greater
---
-Tells curl to use TLS version 1.x when negotiating with a remote TLS
-server. That means TLS version 1.0, 1.1 or 1.2.
+Tells curl to use at least TLS version 1.x when negotiating with a remote TLS
+server. That means TLS version 1.0 or higher
diff --git a/docs/cmdline-opts/url.d b/docs/cmdline-opts/url.d
index c54e1ea8..ce52cdf0 100644
--- a/docs/cmdline-opts/url.d
+++ b/docs/cmdline-opts/url.d
@@ -1,4 +1,4 @@
-long: url
+Long: url
Arg: <url>
Help: URL to work with
---
diff --git a/docs/curl-config.1 b/docs/curl-config.1
index 786fdb06..954fa3fe 100644
--- a/docs/curl-config.1
+++ b/docs/curl-config.1
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl-config 1 "November 30, 2017" "Curl 7.60.0" "curl-config manual"
+.TH curl-config 1 "November 30, 2017" "Curl 7.61.0" "curl-config manual"
.SH NAME
curl-config \- Get information about a libcurl installation
diff --git a/docs/curl.1 b/docs/curl.1
index 9dfdaf7d..df6db822 100644
--- a/docs/curl.1
+++ b/docs/curl.1
@@ -22,7 +22,7 @@
.\"
.\" DO NOT EDIT. Generated by the curl project gen.pl man page generator.
.\"
-.TH curl 1 "November 16, 2016" "Curl 7.60.0" "Curl Manual"
+.TH curl 1 "November 16, 2016" "Curl 7.61.0" "Curl Manual"
.SH NAME
curl \- transfer a URL
@@ -226,8 +226,8 @@ This is currently only implemented in the OpenSSL, GnuTLS and NSS backends.
Added in 7.41.0.
.IP "--cert-type <type>"
-(TLS) Tells curl what certificate type the provided certificate is in. PEM, DER and
-ENG are recognized types. If not specified, PEM is assumed.
+(TLS) Tells curl what type the provided client certificate is using. PEM, DER, ENG
+and P12 are recognized types. If not specified, PEM is assumed.
If this option is used several times, the last one will be used.
@@ -521,7 +521,7 @@ from a file like that, carriage returns and newlines will be stripped out. If
you don't want the @ character to have a special interpretation use \fI--data-raw\fP
instead.
-See also \fI--data-binary\fP and \fI--data-urlencode\fP and \fI--data-raw\fP. This option overrides \fI-F, --form\fP and \fI-I, --head\fP and \fI--upload\fP.
+See also \fI--data-binary\fP and \fI--data-urlencode\fP and \fI--data-raw\fP. This option overrides \fI-F, --form\fP and \fI-I, --head\fP and \fI-T, --upload-file\fP.
.IP "--delegation <LEVEL>"
(GSS/kerberos) Set LEVEL to tell the server what it is allowed to delegate when it
comes to user credentials.
@@ -575,6 +575,10 @@ active mode you need to use \fI-P, --ftp-port\fP.
If used as the first parameter on the command line, the \fIcurlrc\fP config
file will not be read and used. See the \fI-K, --config\fP for details on the default
config file search path.
+.IP "--disallow-username-in-url"
+(HTTP) This tells curl to exit if passed a url containing a username.
+
+See also \fI--proto\fP. Added in 7.61.0.
.IP "--dns-interface <interface>"
(DNS) Tell curl to send outgoing DNS requests through <interface>. This option is a
counterpart to \fI--interface\fP (which does not affect DNS). The supplied string
@@ -811,7 +815,7 @@ See further examples and details in the MANUAL.
This option can be used multiple times.
-This option overrides \fI-d, --data\fP and \fI-I, --head\fP and \fI--upload\fP.
+This option overrides \fI-d, --data\fP and \fI-I, --head\fP and \fI-T, --upload-file\fP.
.IP "--ftp-account <data>"
(FTP) When an FTP server asks for "account data" after user name and password has
been provided, this data is sent off using the ACCT command.
@@ -959,7 +963,7 @@ If this option is used several times, the last one will be used.
Added in 7.59.0.
.IP "--haproxy-protocol"
-(HTTP) Send a HAProxy PROXY protocol header at the beginning of the connection. This
+(HTTP) Send a HAProxy PROXY protocol v1 header at the beginning of the connection. This
is used by some load balancers and reverse proxies to indicate the client's
true IP address and port.
@@ -1422,7 +1426,7 @@ If you want to enable NTLM for your proxy authentication, then use
If this option is used several times, only the first one is used.
-See also \fI--proxy-ntlm\fP. \fI--ntlm\fP requires that the underlying libcurl was built to support TLS. This option overrides \fI--basic\fP and \fI--negotiated\fP and \fI--digest\fP and \fI--anyauth\fP.
+See also \fI--proxy-ntlm\fP. \fI--ntlm\fP requires that the underlying libcurl was built to support TLS. This option overrides \fI--basic\fP and \fI--negotiate\fP and \fI--digest\fP and \fI--anyauth\fP.
.IP "--oauth2-bearer <token>"
(IMAP POP3 SMTP) Specify the Bearer Token for OAUTH 2.0 server authentication. The Bearer Token
is used in conjunction with the user name which can be specified as part of
@@ -1510,11 +1514,10 @@ a redirection. This option is meaningful only when using \fI-L, --location\fP.
See also \fI--post301\fP and \fI--post303\fP and \fI-L, --location\fP. Added in 7.19.1.
.IP "--post303"
-(HTTP) Tells curl to respect RFC 7231/6.4.4 and not convert POST requests into GET
-requests when following a 303 redirection. The non-RFC behaviour is ubiquitous
-in web browsers, so curl does the conversion by default to maintain
-consistency. However, a server may require a POST to remain a POST after such
-a redirection. This option is meaningful only when using \fI-L, --location\fP.
+(HTTP) Tells curl to violate RFC 7231/6.4.4 and not convert POST requests into GET
+requests when following 303 redirections. A server may require a POST to
+remain a POST after a 303 redirection. This option is meaningful only when
+using \fI-L, --location\fP.
See also \fI--post302\fP and \fI--post301\fP and \fI-L, --location\fP. Added in 7.26.0.
.IP "--preproxy [protocol://]host[:port]"
@@ -1723,6 +1726,14 @@ Added in 7.43.0.
Same as \fI--ssl-allow-beast\fP but used in HTTPS proxy context.
Added in 7.52.0.
+.IP "--proxy-tls13-ciphers <ciphersuite list>"
+(TLS) Specifies which cipher suites to use in the connection to your HTTPS proxy
+when it negotiates TLS 1.3. The list of ciphers suites must specify valid
+ciphers. Read up on TLS 1.3 cipher suite details on this URL:
+
+ https://curl.haxx.se/docs/ssl-ciphers.html
+
+If this option is used several times, the last one will be used.
.IP "--proxy-tlsauthtype <type>"
Same as \fI--tlsauthtype\fP but used in HTTPS proxy context.
@@ -2253,6 +2264,11 @@ is a plain '-', it is instead written to stdout.
If this option is used several times, the last one will be used.
See also \fI-v, --verbose\fP and \fI-s, --silent\fP.
+.IP "--styled-output"
+Enables the automatic use of bold font styles when writing HTTP headers to the
+terminal. Use --no-styled-output to switch them off.
+
+Added in 7.61.0.
.IP "--suppress-connect-headers"
When \fI-p, --proxytunnel\fP is used and a CONNECT request is made don't output proxy
CONNECT response headers. This option is meant to be used with \fI-D, --dump-header\fP or
@@ -2326,6 +2342,14 @@ Use up to TLSv1.3.
.RE
See also \fI--tlsv1.0\fP and \fI--tlsv1.1\fP and \fI--tlsv1.2\fP. \fI--tls-max\fP requires that the underlying libcurl was built to support TLS. Added in 7.54.0.
+.IP "--tls13-ciphers <list of TLS 1.3 ciphersuites>"
+(TLS) Specifies which cipher suites to use in the connection if it negotiates TLS
+1.3. The list of ciphers suites must specify valid ciphers. Read up on TLS 1.3
+cipher suite details on this URL:
+
+ https://curl.haxx.se/docs/ssl-ciphers.html
+
+If this option is used several times, the last one will be used.
.IP "--tlsauthtype <type>"
Set TLS authentication type. Currently, the only supported option is "SRP",
for TLS-SRP (RFC 5054). If \fI--tlsuser\fP and \fI--tlspassword\fP are specified but
@@ -2349,15 +2373,15 @@ Added in 7.21.4.
Added in 7.34.0.
.IP "--tlsv1.1"
-(TLS) Forces curl to use TLS version 1.1 when connecting to a remote TLS server.
+(TLS) Forces curl to use TLS version 1.1 or later when connecting to a remote TLS server.
Added in 7.34.0.
.IP "--tlsv1.2"
-(TLS) Forces curl to use TLS version 1.2 when connecting to a remote TLS server.
+(TLS) Forces curl to use TLS version 1.2 or later when connecting to a remote TLS server.
Added in 7.34.0.
.IP "--tlsv1.3"
-(TLS) Forces curl to use TLS version 1.3 when connecting to a remote TLS server.
+(TLS) Forces curl to use TLS version 1.3 or later when connecting to a remote TLS server.
Note that TLS 1.3 is only supported by a subset of TLS backends. At the time
of this writing, they are BoringSSL, NSS, and Secure Transport (on iOS 11 or
@@ -2365,8 +2389,8 @@ later, and macOS 10.13 or later).
Added in 7.52.0.
.IP "-1, --tlsv1"
-(SSL) Tells curl to use TLS version 1.x when negotiating with a remote TLS
-server. That means TLS version 1.0, 1.1 or 1.2.
+(SSL) Tells curl to use at least TLS version 1.x when negotiating with a remote TLS
+server. That means TLS version 1.0 or higher
See also \fI--http1.1\fP and \fI--http2\fP. \fI-1, --tlsv1\fP requires that the underlying libcurl was built to support TLS. This option overrides \fI--tlsv1.1\fP and \fI--tlsv1.2\fP and \fI--tlsv1.3\fP.
.IP "--tr-encoding"
diff --git a/docs/examples/Makefile.inc b/docs/examples/Makefile.inc
index e8aa9fa6..9215b82f 100644
--- a/docs/examples/Makefile.inc
+++ b/docs/examples/Makefile.inc
@@ -43,4 +43,4 @@ COMPLICATED_EXAMPLES = curlgtk.c curlx.c htmltitle.cpp cacertinmem.c \
sampleconv.c synctime.c threaded-ssl.c evhiperfifo.c \
smooth-gtk-thread.c version-check.pl href_extractor.c asiohiper.cpp \
multi-uv.c xmlstream.c usercertinmem.c sessioninfo.c \
- threaded-shared-conn.c
+ threaded-shared-conn.c crawler.c
diff --git a/docs/examples/Makefile.netware b/docs/examples/Makefile.netware
index e75d143d..9ff6d949 100644
--- a/docs/examples/Makefile.netware
+++ b/docs/examples/Makefile.netware
@@ -136,7 +136,7 @@ endif
CFLAGS += -align 4
else
# PRELUDE = $(NDK_CLIB)/imports/clibpre.o
- # to avoid the __init_* / __deinit_* whoes don't use prelude from NDK
+ # to avoid the __init_* / __deinit_* woes don't use prelude from NDK
PRELUDE = "$(MWCW_PATH)/libraries/runtime/prelude.obj"
# CFLAGS += -include "$(MWCW_PATH)/headers/nlm_clib_prefix.h"
CFLAGS += -align 1
@@ -159,7 +159,7 @@ else
endif
else
# PRELUDE = $(NDK_CLIB)/imports/clibpre.gcc.o
- # to avoid the __init_* / __deinit_* whoes don't use prelude from NDK
+ # to avoid the __init_* / __deinit_* woes don't use prelude from NDK
# http://www.gknw.net/development/mk_nlm/gcc_pre.zip
PRELUDE = $(NDK_ROOT)/pre/prelude.o
CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h
diff --git a/docs/examples/cacertinmem.c b/docs/examples/cacertinmem.c
index cf7c76e1..6f4c61cb 100644
--- a/docs/examples/cacertinmem.c
+++ b/docs/examples/cacertinmem.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -111,7 +111,7 @@ err:
fprintf(stderr, "error adding certificate\n");
if(error) {
- ERR_error_string_n(error, errbuf, sizeof errbuf);
+ ERR_error_string_n(error, errbuf, sizeof(errbuf));
fprintf(stderr, "%s\n", errbuf);
}
}
diff --git a/docs/examples/chkspeed.c b/docs/examples/chkspeed.c
index f3dd1e94..0b0ba72a 100644
--- a/docs/examples/chkspeed.c
+++ b/docs/examples/chkspeed.c
@@ -165,33 +165,37 @@ int main(int argc, char *argv[])
res = curl_easy_perform(curl_handle);
if(CURLE_OK == res) {
- double val;
+ curl_off_t val;
/* check for bytes downloaded */
- res = curl_easy_getinfo(curl_handle, CURLINFO_SIZE_DOWNLOAD, &val);
+ res = curl_easy_getinfo(curl_handle, CURLINFO_SIZE_DOWNLOAD_T, &val);
if((CURLE_OK == res) && (val>0))
- printf("Data downloaded: %0.0f bytes.\n", val);
+ printf("Data downloaded: %" CURL_FORMAT_CURL_OFF_T " bytes.\n", val);
/* check for total download time */
- res = curl_easy_getinfo(curl_handle, CURLINFO_TOTAL_TIME, &val);
+ res = curl_easy_getinfo(curl_handle, CURLINFO_TOTAL_TIME_T, &val);
if((CURLE_OK == res) && (val>0))
- printf("Total download time: %0.3f sec.\n", val);
+ printf("Total download time: %" CURL_FORMAT_CURL_OFF_T ".%06ld sec.\n",
+ (val / 1000000), (long)(val % 1000000));
/* check for average download speed */
- res = curl_easy_getinfo(curl_handle, CURLINFO_SPEED_DOWNLOAD, &val);
+ res = curl_easy_getinfo(curl_handle, CURLINFO_SPEED_DOWNLOAD_T, &val);
if((CURLE_OK == res) && (val>0))
- printf("Average download speed: %0.3f kbyte/sec.\n", val / 1024);
+ printf("Average download speed: %" CURL_FORMAT_CURL_OFF_T
+ " kbyte/sec.\n", val / 1024);
if(prtall) {
/* check for name resolution time */
- res = curl_easy_getinfo(curl_handle, CURLINFO_NAMELOOKUP_TIME, &val);
+ res = curl_easy_getinfo(curl_handle, CURLINFO_NAMELOOKUP_TIME_T, &val);
if((CURLE_OK == res) && (val>0))
- printf("Name lookup time: %0.3f sec.\n", val);
+ printf("Name lookup time: %" CURL_FORMAT_CURL_OFF_T ".%06ld sec.\n",
+ (val / 1000000), (long)(val % 1000000));
/* check for connect time */
- res = curl_easy_getinfo(curl_handle, CURLINFO_CONNECT_TIME, &val);
+ res = curl_easy_getinfo(curl_handle, CURLINFO_CONNECT_TIME_T, &val);
if((CURLE_OK == res) && (val>0))
- printf("Connect time: %0.3f sec.\n", val);
+ printf("Connect time: %" CURL_FORMAT_CURL_OFF_T ".%06ld sec.\n",
+ (val / 1000000), (long)(val % 1000000));
}
}
else {
diff --git a/docs/examples/crawler.c b/docs/examples/crawler.c
new file mode 100644
index 00000000..47c42747
--- /dev/null
+++ b/docs/examples/crawler.c
@@ -0,0 +1,210 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Web crawler based on curl and libxml2.
+ * Copyright (C) 2018 Jeroen Ooms <jeroenooms@gmail.com>
+ * License: MIT
+ *
+ * To compile:
+ * gcc crawler.c $(pkg-config --cflags --libs libxml-2.0 libcurl)
+ *
+ */
+/* <DESC>
+ * Web crawler based on curl and libxml2 to stress-test curl with
+ * hundreds of concurrent connections to various servers.
+ * </DESC>
+ */
+
+/* Parameters */
+int max_con = 200;
+int max_total = 20000;
+int max_requests = 500;
+int max_link_per_page = 5;
+int follow_relative_links = 0;
+char *start_page = "https://www.reuters.com";
+
+#include <libxml/HTMLparser.h>
+#include <libxml/xpath.h>
+#include <libxml/uri.h>
+#include <curl/curl.h>
+#include <stdlib.h>
+#include <string.h>
+#include <math.h>
+#include <signal.h>
+
+int pending_interrupt = 0;
+void sighandler(int dummy)
+{
+ pending_interrupt = 1;
+}
+
+/* resizable buffer */
+typedef struct {
+ char *buf;
+ size_t size;
+} memory;
+
+size_t grow_buffer(void *contents, size_t sz, size_t nmemb, void *ctx)
+{
+ size_t realsize = sz * nmemb;
+ memory *mem = (memory*) ctx;
+ mem->buf = realloc(mem->buf, mem->size + realsize);
+ memcpy(&(mem->buf[mem->size]), contents, realsize);
+ mem->size += realsize;
+ return realsize;
+}
+
+CURL *make_handle(char *url)
+{
+ CURL *handle = curl_easy_init();
+
+ /* Important: use HTTP2 over HTTPS */
+ curl_easy_setopt(handle, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2TLS);
+ curl_easy_setopt(handle, CURLOPT_URL, url);
+
+ /* buffer body */
+ memory *mem = malloc(sizeof(memory));
+ mem->size = 0;
+ mem->buf = malloc(1);
+ curl_easy_setopt(handle, CURLOPT_WRITEFUNCTION, grow_buffer);
+ curl_easy_setopt(handle, CURLOPT_WRITEDATA, mem);
+ curl_easy_setopt(handle, CURLOPT_PRIVATE, mem);
+
+ /* For completeness */
+ curl_easy_setopt(handle, CURLOPT_ENCODING, "gzip, deflate");
+ curl_easy_setopt(handle, CURLOPT_TIMEOUT, 5L);
+ curl_easy_setopt(handle, CURLOPT_FOLLOWLOCATION, 1L);
+ curl_easy_setopt(handle, CURLOPT_MAXREDIRS, 10L);
+ curl_easy_setopt(handle, CURLOPT_CONNECTTIMEOUT, 2L);
+ curl_easy_setopt(handle, CURLOPT_COOKIEFILE, "");
+ curl_easy_setopt(handle, CURLOPT_FILETIME, 1L);
+ curl_easy_setopt(handle, CURLOPT_USERAGENT, "mini crawler");
+ curl_easy_setopt(handle, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
+ curl_easy_setopt(handle, CURLOPT_UNRESTRICTED_AUTH, 1L);
+ curl_easy_setopt(handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
+ curl_easy_setopt(handle, CURLOPT_EXPECT_100_TIMEOUT_MS, 0L);
+ return handle;
+}
+
+/* HREF finder implemented in libxml2 but could be any HTML parser */
+size_t follow_links(CURLM *multi_handle, memory *mem, char *url)
+{
+ int opts = HTML_PARSE_NOBLANKS | HTML_PARSE_NOERROR | \
+ HTML_PARSE_NOWARNING | HTML_PARSE_NONET;
+ htmlDocPtr doc = htmlReadMemory(mem->buf, mem->size, url, NULL, opts);
+ if(!doc)
+ return 0;
+ xmlChar *xpath = (xmlChar*) "//a/@href";
+ xmlXPathContextPtr context = xmlXPathNewContext(doc);
+ xmlXPathObjectPtr result = xmlXPathEvalExpression(xpath, context);
+ xmlXPathFreeContext(context);
+ if(!result)
+ return 0;
+ xmlNodeSetPtr nodeset = result->nodesetval;
+ if(xmlXPathNodeSetIsEmpty(nodeset)) {
+ xmlXPathFreeObject(result);
+ return 0;
+ }
+ size_t count = 0;
+ for(int i = 0; i < nodeset->nodeNr; i++) {
+ double r = rand();
+ int x = r * nodeset->nodeNr / RAND_MAX;
+ const xmlNode *node = nodeset->nodeTab[x]->xmlChildrenNode;
+ xmlChar *href = xmlNodeListGetString(doc, node, 1);
+ if(follow_relative_links) {
+ xmlChar *orig = href;
+ href = xmlBuildURI(href, (xmlChar *) url);
+ xmlFree(orig);
+ }
+ char *link = (char *) href;
+ if(!link || strlen(link) < 20)
+ continue;
+ if(!strncmp(link, "http://", 7) || !strncmp(link, "https://", 8)) {
+ curl_multi_add_handle(multi_handle, make_handle(link));
+ if(count++ == max_link_per_page)
+ break;
+ }
+ xmlFree(link);
+ }
+ xmlXPathFreeObject(result);
+ return count;
+}
+
+int is_html(char *ctype)
+{
+ return ctype != NULL && strlen(ctype) > 10 && strstr(ctype, "text/html");
+}
+
+int main(void)
+{
+ signal(SIGINT, sighandler);
+ LIBXML_TEST_VERSION;
+ curl_global_init(CURL_GLOBAL_DEFAULT);
+ CURLM *multi_handle = curl_multi_init();
+ curl_multi_setopt(multi_handle, CURLMOPT_MAX_TOTAL_CONNECTIONS, max_con);
+ curl_multi_setopt(multi_handle, CURLMOPT_MAX_HOST_CONNECTIONS, 6L);
+
+ /* enables http/2 if available */
+ #ifdef CURLPIPE_MULTIPLEX
+ curl_multi_setopt(multi_handle, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX);
+ #endif
+
+ /* sets html start page */
+ curl_multi_add_handle(multi_handle, make_handle(start_page));
+
+ int msgs_left;
+ int pending = 0;
+ int complete = 0;
+ int still_running = 1;
+ while(still_running && !pending_interrupt) {
+ int numfds;
+ curl_multi_wait(multi_handle, NULL, 0, 1000, &numfds);
+ curl_multi_perform(multi_handle, &still_running);
+
+ /* See how the transfers went */
+ CURLMsg *m = NULL;
+ while((m = curl_multi_info_read(multi_handle, &msgs_left))) {
+ if(m->msg == CURLMSG_DONE) {
+ CURL *handle = m->easy_handle;
+ char *url;
+ memory *mem;
+ curl_easy_getinfo(handle, CURLINFO_PRIVATE, &mem);
+ curl_easy_getinfo(handle, CURLINFO_EFFECTIVE_URL, &url);
+ if(m->data.result == CURLE_OK) {
+ long res_status;
+ curl_easy_getinfo(handle, CURLINFO_RESPONSE_CODE, &res_status);
+ if(res_status == 200) {
+ char *ctype;
+ curl_easy_getinfo(handle, CURLINFO_CONTENT_TYPE, &ctype);
+ printf("[%d] HTTP 200 (%s): %s\n", complete, ctype, url);
+ if(is_html(ctype) && mem->size > 100) {
+ if(pending < max_requests && (complete + pending) < max_total) {
+ pending += follow_links(multi_handle, mem, url);
+ still_running = 1;
+ }
+ }
+ }
+ else {
+ printf("[%d] HTTP %d: %s\n", complete, (int) res_status, url);
+ }
+ }
+ else {
+ printf("[%d] Connection failure: %s\n", complete, url);
+ }
+ curl_multi_remove_handle(multi_handle, handle);
+ curl_easy_cleanup(handle);
+ free(mem->buf);
+ free(mem);
+ complete++;
+ pending--;
+ }
+ }
+ }
+ curl_multi_cleanup(multi_handle);
+ curl_global_cleanup();
+ return 0;
+}
diff --git a/docs/examples/curlx.c b/docs/examples/curlx.c
index 3e47b460..141f5a88 100644
--- a/docs/examples/curlx.c
+++ b/docs/examples/curlx.c
@@ -159,7 +159,7 @@ static char *ia5string(ASN1_IA5STRING *ia5)
return tmp;
}
-/* A conveniance routine to get an access URI. */
+/* A convenience routine to get an access URI. */
static unsigned char *my_get_ext(X509 *cert, const int type,
int extensiontype)
{
diff --git a/docs/examples/debug.c b/docs/examples/debug.c
index 48a3fd5d..79250146 100644
--- a/docs/examples/debug.c
+++ b/docs/examples/debug.c
@@ -45,11 +45,11 @@ void dump(const char *text,
width = 0x40;
fprintf(stream, "%s, %10.10lu bytes (0x%8.8lx)\n",
- text, size, size);
+ text, (unsigned long)size, (unsigned long)size);
for(i = 0; i<size; i += width) {
- fprintf(stream, "%4.4lx: ", i);
+ fprintf(stream, "%4.4lx: ", (unsigned long)i);
if(!nohex) {
/* hex not disabled, show it */
diff --git a/docs/examples/fileupload.c b/docs/examples/fileupload.c
index 6b05c4ce..8128608c 100644
--- a/docs/examples/fileupload.c
+++ b/docs/examples/fileupload.c
@@ -33,7 +33,7 @@ int main(void)
CURL *curl;
CURLcode res;
struct stat file_info;
- double speed_upload, total_time;
+ curl_off_t speed_upload, total_time;
FILE *fd;
fd = fopen("debugit", "rb"); /* open file to upload */
@@ -72,11 +72,13 @@ int main(void)
}
else {
/* now extract transfer info */
- curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &speed_upload);
- curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &total_time);
+ curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD_T, &speed_upload);
+ curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME_T, &total_time);
- fprintf(stderr, "Speed: %.3f bytes/sec during %.3f seconds\n",
- speed_upload, total_time);
+ fprintf(stderr, "Speed: %" CURL_FORMAT_CURL_OFF_T " bytes/sec during %"
+ CURL_FORMAT_CURL_OFF_T ".%06ld seconds\n",
+ speed_upload,
+ (total_time / 1000000), (long)(total_time % 1000000));
}
/* always cleanup */
diff --git a/docs/examples/getinmemory.c b/docs/examples/getinmemory.c
index 776bbd21..f5e8942f 100644
--- a/docs/examples/getinmemory.c
+++ b/docs/examples/getinmemory.c
@@ -100,7 +100,7 @@ int main(void)
* Do something nice with it!
*/
- printf("%lu bytes retrieved\n", chunk.size);
+ printf("%lu bytes retrieved\n", (unsigned long)chunk.size);
}
/* cleanup curl stuff */
diff --git a/docs/examples/http2-download.c b/docs/examples/http2-download.c
index cc9ff2b5..3425d302 100644
--- a/docs/examples/http2-download.c
+++ b/docs/examples/http2-download.c
@@ -72,11 +72,11 @@ void dump(const char *text, int num, unsigned char *ptr, size_t size,
width = 0x40;
fprintf(stderr, "%d %s, %lu bytes (0x%lx)\n",
- num, text, size, size);
+ num, text, (unsigned long)size, (unsigned long)size);
for(i = 0; i<size; i += width) {
- fprintf(stderr, "%4.4lx: ", i);
+ fprintf(stderr, "%4.4lx: ", (unsigned long)i);
if(!nohex) {
/* hex not disabled, show it */
diff --git a/docs/examples/http2-serverpush.c b/docs/examples/http2-serverpush.c
index 94c8db97..66abb0f9 100644
--- a/docs/examples/http2-serverpush.c
+++ b/docs/examples/http2-serverpush.c
@@ -52,11 +52,11 @@ void dump(const char *text, unsigned char *ptr, size_t size,
width = 0x40;
fprintf(stderr, "%s, %lu bytes (0x%lx)\n",
- text, size, size);
+ text, (unsigned long)size, (unsigned long)size);
for(i = 0; i<size; i += width) {
- fprintf(stderr, "%4.4lx: ", i);
+ fprintf(stderr, "%4.4lx: ", (unsigned long)i);
if(!nohex) {
/* hex not disabled, show it */
@@ -181,11 +181,11 @@ static int server_push_callback(CURL *parent,
curl_easy_setopt(easy, CURLOPT_WRITEDATA, out);
fprintf(stderr, "**** push callback approves stream %u, got %lu headers!\n",
- count, num_headers);
+ count, (unsigned long)num_headers);
for(i = 0; i<num_headers; i++) {
headp = curl_pushheader_bynum(headers, i);
- fprintf(stderr, "**** header %lu: %s\n", i, headp);
+ fprintf(stderr, "**** header %lu: %s\n", (unsigned long)i, headp);
}
headp = curl_pushheader_byname(headers, ":path");
diff --git a/docs/examples/http2-upload.c b/docs/examples/http2-upload.c
index 827d172e..06ff0409 100644
--- a/docs/examples/http2-upload.c
+++ b/docs/examples/http2-upload.c
@@ -73,11 +73,11 @@ void dump(const char *text, int num, unsigned char *ptr, size_t size,
width = 0x40;
fprintf(stderr, "%d %s, %lu bytes (0x%lx)\n",
- num, text, size, size);
+ num, text, (unsigned long)size, (unsigned long)size);
for(i = 0; i<size; i += width) {
- fprintf(stderr, "%4.4lx: ", i);
+ fprintf(stderr, "%4.4lx: ", (unsigned long)i);
if(!nohex) {
/* hex not disabled, show it */
diff --git a/docs/examples/multi-debugcallback.c b/docs/examples/multi-debugcallback.c
index 5de3ff3e..11ab74b7 100644
--- a/docs/examples/multi-debugcallback.c
+++ b/docs/examples/multi-debugcallback.c
@@ -52,11 +52,11 @@ void dump(const char *text,
width = 0x40;
fprintf(stream, "%s, %10.10lu bytes (0x%8.8lx)\n",
- text, size, size);
+ text, (unsigned long)size, (unsigned long)size);
for(i = 0; i<size; i += width) {
- fprintf(stream, "%4.4lx: ", i);
+ fprintf(stream, "%4.4lx: ", (unsigned long)i);
if(!nohex) {
/* hex not disabled, show it */
diff --git a/docs/examples/multi-uv.c b/docs/examples/multi-uv.c
index ceddad04..1d8c96f5 100644
--- a/docs/examples/multi-uv.c
+++ b/docs/examples/multi-uv.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -50,7 +50,7 @@ static curl_context_t* create_curl_context(curl_socket_t sockfd)
{
curl_context_t *context;
- context = (curl_context_t *) malloc(sizeof *context);
+ context = (curl_context_t *) malloc(sizeof(*context));
context->sockfd = sockfd;
diff --git a/docs/examples/progressfunc.c b/docs/examples/progressfunc.c
index ab34ef98..51d75366 100644
--- a/docs/examples/progressfunc.c
+++ b/docs/examples/progressfunc.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -27,11 +27,25 @@
#include <stdio.h>
#include <curl/curl.h>
-#define STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES 6000
+#if LIBCURL_VERSION_NUM >= 0x073d00
+/* In libcurl 7.61.0, support was added for extracting the time in plain
+ microseconds. Older libcurl versions are stuck in using 'double' for this
+ information so we complicate this example a bit by supporting either
+ approach. */
+#define TIME_IN_US 1 /* microseconds */
+#define TIMETYPE curl_off_t
+#define TIMEOPT CURLINFO_TOTAL_TIME_T
+#define MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL 3000000
+#else
+#define TIMETYPE double
+#define TIMEOPT CURLINFO_TOTAL_TIME
#define MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL 3
+#endif
+
+#define STOP_DOWNLOAD_AFTER_THIS_MANY_BYTES 6000
struct myprogress {
- double lastruntime;
+ TIMETYPE lastruntime; /* type depends on version, see above */
CURL *curl;
};
@@ -42,16 +56,21 @@ static int xferinfo(void *p,
{
struct myprogress *myp = (struct myprogress *)p;
CURL *curl = myp->curl;
- double curtime = 0;
+ TIMETYPE curtime = 0;
- curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &curtime);
+ curl_easy_getinfo(curl, TIMEOPT, &curtime);
/* under certain circumstances it may be desirable for certain functionality
to only run every N seconds, in order to do this the transaction time can
be used */
if((curtime - myp->lastruntime) >= MINIMAL_PROGRESS_FUNCTIONALITY_INTERVAL) {
myp->lastruntime = curtime;
+#ifdef TIME_IN_US
+ fprintf(stderr, "TOTAL TIME: %" CURL_FORMAT_CURL_OFF_T ".%06ld\r\n",
+ (curtime / 1000000), (long)(curtime % 1000000));
+#else
fprintf(stderr, "TOTAL TIME: %f \r\n", curtime);
+#endif
}
fprintf(stderr, "UP: %" CURL_FORMAT_CURL_OFF_T " of %" CURL_FORMAT_CURL_OFF_T
@@ -64,6 +83,7 @@ static int xferinfo(void *p,
return 0;
}
+#if LIBCURL_VERSION_NUM < 0x072000
/* for libcurl older than 7.32.0 (CURLOPT_PROGRESSFUNCTION) */
static int older_progress(void *p,
double dltotal, double dlnow,
@@ -75,7 +95,7 @@ static int older_progress(void *p,
(curl_off_t)ultotal,
(curl_off_t)ulnow);
}
-
+#endif
int main(void)
{
@@ -90,10 +110,6 @@ int main(void)
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com/");
- curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, older_progress);
- /* pass the struct pointer into the progress function */
- curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, &prog);
-
#if LIBCURL_VERSION_NUM >= 0x072000
/* xferinfo was introduced in 7.32.0, no earlier libcurl versions will
compile as they won't have the symbols around.
@@ -109,6 +125,10 @@ int main(void)
/* pass the struct pointer into the xferinfo function, note that this is
an alias to CURLOPT_PROGRESSDATA */
curl_easy_setopt(curl, CURLOPT_XFERINFODATA, &prog);
+#else
+ curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, older_progress);
+ /* pass the struct pointer into the progress function */
+ curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, &prog);
#endif
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
diff --git a/docs/examples/smtp-mime.c b/docs/examples/smtp-mime.c
index dcd867f6..35997fa0 100644
--- a/docs/examples/smtp-mime.c
+++ b/docs/examples/smtp-mime.c
@@ -107,7 +107,7 @@ int main(void)
/* Build the mime message. */
mime = curl_mime_init(curl);
- /* The inline part is an alterative proposing the html and the text
+ /* The inline part is an alternative proposing the html and the text
versions of the e-mail. */
alt = curl_mime_init(curl);
diff --git a/docs/examples/threaded-shared-conn.c b/docs/examples/threaded-shared-conn.c
index ab5ac406..e238b952 100644
--- a/docs/examples/threaded-shared-conn.c
+++ b/docs/examples/threaded-shared-conn.c
@@ -107,7 +107,7 @@ static void *run_thread(void *ptr)
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_db);
curl_easy_perform(curl); /* ignores error */
curl_easy_cleanup(curl);
- fprintf(stderr, "Tread %d transfer %d\n", u->threadno, i);
+ fprintf(stderr, "Thread %d transfer %d\n", u->threadno, i);
}
return NULL;
diff --git a/docs/libcurl/curl_easy_cleanup.3 b/docs/libcurl/curl_easy_cleanup.3
index 2990f59d..e72ab77a 100644
--- a/docs/libcurl/curl_easy_cleanup.3
+++ b/docs/libcurl/curl_easy_cleanup.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_cleanup 3 "April 17, 2018" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_cleanup 3 "April 17, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_cleanup - End a libcurl easy handle
diff --git a/docs/libcurl/curl_easy_duphandle.3 b/docs/libcurl/curl_easy_duphandle.3
index 61b3ec0d..f0c6f09f 100644
--- a/docs/libcurl/curl_easy_duphandle.3
+++ b/docs/libcurl/curl_easy_duphandle.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_duphandle 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_duphandle 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_duphandle - Clone a libcurl session handle
diff --git a/docs/libcurl/curl_easy_escape.3 b/docs/libcurl/curl_easy_escape.3
index c21dc750..83df8a53 100644
--- a/docs/libcurl/curl_easy_escape.3
+++ b/docs/libcurl/curl_easy_escape.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_escape 3 "August 12, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_escape - URL encodes the given string
diff --git a/docs/libcurl/curl_easy_getinfo.3 b/docs/libcurl/curl_easy_getinfo.3
index 3a93671e..3348433a 100644
--- a/docs/libcurl/curl_easy_getinfo.3
+++ b/docs/libcurl/curl_easy_getinfo.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_getinfo 3 "January 25, 2018" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_getinfo 3 "May 17, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_getinfo - extract information from a curl handle
@@ -61,24 +61,45 @@ Remote time of the retrieved document. See \fICURLINFO_FILETIME_T(3)\fP
.IP CURLINFO_TOTAL_TIME
Total time of previous transfer.
See \fICURLINFO_TOTAL_TIME(3)\fP
+.IP CURLINFO_TOTAL_TIME_T
+Total time of previous transfer.
+See \fICURLINFO_TOTAL_TIME_T(3)\fP
.IP CURLINFO_NAMELOOKUP_TIME
Time from start until name resolving completed.
See \fICURLINFO_NAMELOOKUP_TIME(3)\fP
+.IP CURLINFO_NAMELOOKUP_TIME_T
+Time from start until name resolving completed.
+See \fICURLINFO_NAMELOOKUP_TIME_T(3)\fP
.IP CURLINFO_CONNECT_TIME
Time from start until remote host or proxy completed.
See \fICURLINFO_CONNECT_TIME(3)\fP
+.IP CURLINFO_CONNECT_TIME_T
+Time from start until remote host or proxy completed.
+See \fICURLINFO_CONNECT_TIME_T(3)\fP
.IP CURLINFO_APPCONNECT_TIME
Time from start until SSL/SSH handshake completed.
See \fICURLINFO_APPCONNECT_TIME(3)\fP
+.IP CURLINFO_APPCONNECT_TIME_T
+Time from start until SSL/SSH handshake completed.
+See \fICURLINFO_APPCONNECT_TIME_T(3)\fP
.IP CURLINFO_PRETRANSFER_TIME
Time from start until just before the transfer begins.
See \fICURLINFO_PRETRANSFER_TIME(3)\fP
+.IP CURLINFO_PRETRANSFER_TIME_T
+Time from start until just before the transfer begins.
+See \fICURLINFO_PRETRANSFER_TIME_T(3)\fP
.IP CURLINFO_STARTTRANSFER_TIME
Time from start until just when the first byte is received.
See \fICURLINFO_STARTTRANSFER_TIME(3)\fP
+.IP CURLINFO_STARTTRANSFER_TIME_T
+Time from start until just when the first byte is received.
+See \fICURLINFO_STARTTRANSFER_TIME_T(3)\fP
.IP CURLINFO_REDIRECT_TIME
Time taken for all redirect steps before the final transfer.
See \fICURLINFO_REDIRECT_TIME(3)\fP
+.IP CURLINFO_REDIRECT_TIME_T
+Time taken for all redirect steps before the final transfer.
+See \fICURLINFO_REDIRECT_TIME_T(3)\fP
.IP CURLINFO_REDIRECT_COUNT
Total number of redirects that were followed.
See \fICURLINFO_REDIRECT_COUNT(3)\fP
@@ -222,25 +243,32 @@ curl_easy_perform()
|--|--|--|--|--|--REDIRECT
.fi
.IP NAMELOOKUP
-\fICURLINFO_NAMELOOKUP_TIME\fP. The time it took from the start until the name
-resolving was completed.
+\fICURLINFO_NAMELOOKUP_TIME\fP and \fIfICURLINFO_NAMELOOKUP_TIME_T\fP.
+The time it took from the start until the name resolving was completed.
.IP CONNECT
-\fICURLINFO_CONNECT_TIME\fP. The time it took from the start until the connect
+\fICURLINFO_CONNECT_TIME\fP and \fICURLINFO_CONNECT_TIME_T\fP.
+The time it took from the start until the connect
to the remote host (or proxy) was completed.
.IP APPCONNECT
-\fICURLINFO_APPCONNECT_TIME\fP. The time it took from the start until the SSL
-connect/handshake with the remote host was completed. (Added in in 7.19.0)
+\fICURLINFO_APPCONNECT_TIME\fP and \fICURLINFO_APPCONNECT_TIME_T\fP.
+The time it took from the start until the SSL
+connect/handshake with the remote host was completed. (Added in 7.19.0)
+The latter is the integer version (measuring microseconds). (Added in 7.60.0)
.IP PRETRANSFER
-\fICURLINFO_PRETRANSFER_TIME\fP. The time it took from the start until the
+\fICURLINFO_PRETRANSFER_TIME\fP and \fICURLINFO_PRETRANSFER_TIME_T\fP.
+The time it took from the start until the
file transfer is just about to begin. This includes all pre-transfer commands
and negotiations that are specific to the particular protocol(s) involved.
.IP STARTTRANSFER
-\fICURLINFO_STARTTRANSFER_TIME\fP. The time it took from the start until the
+\fICURLINFO_STARTTRANSFER_TIME\fP and \fICURLINFO_STARTTRANSFER_TIME_T\fP.
+The time it took from the start until the
first byte is received by libcurl.
.IP TOTAL
-\fICURLINFO_TOTAL_TIME\fP. Total time of the previous request.
+\fICURLINFO_TOTAL_TIME\fP and \fICURLINFO_TOTAL_TIME_T\fP.
+Total time of the previous request.
.IP REDIRECT
-\fICURLINFO_REDIRECT_TIME\fP. The time it took for all redirection steps
+\fICURLINFO_REDIRECT_TIME\fP and \fICURLINFO_REDIRECT_TIME_T\fP.
+The time it took for all redirection steps
include name lookup, connect, pretransfer and transfer before final
transaction was started. So, this is zero if no redirection took place.
.SH RETURN VALUE
diff --git a/docs/libcurl/curl_easy_init.3 b/docs/libcurl/curl_easy_init.3
index d487d250..19180213 100644
--- a/docs/libcurl/curl_easy_init.3
+++ b/docs/libcurl/curl_easy_init.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_init 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_init - Start a libcurl easy session
diff --git a/docs/libcurl/curl_easy_pause.3 b/docs/libcurl/curl_easy_pause.3
index 61e9ad24..09b00ee1 100644
--- a/docs/libcurl/curl_easy_pause.3
+++ b/docs/libcurl/curl_easy_pause.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_pause 3 "May 01, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_pause - pause and unpause a connection
diff --git a/docs/libcurl/curl_easy_perform.3 b/docs/libcurl/curl_easy_perform.3
index 61a80c16..97afa249 100644
--- a/docs/libcurl/curl_easy_perform.3
+++ b/docs/libcurl/curl_easy_perform.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_perform 3 "May 02, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_perform 3 "May 02, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_perform - perform a blocking file transfer
diff --git a/docs/libcurl/curl_easy_recv.3 b/docs/libcurl/curl_easy_recv.3
index 52ad0efe..1cfd75ba 100644
--- a/docs/libcurl/curl_easy_recv.3
+++ b/docs/libcurl/curl_easy_recv.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_recv 3 "December 18, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_recv - receives raw data on an "easy" connection
diff --git a/docs/libcurl/curl_easy_reset.3 b/docs/libcurl/curl_easy_reset.3
index 3f7cd56f..70b3f64d 100644
--- a/docs/libcurl/curl_easy_reset.3
+++ b/docs/libcurl/curl_easy_reset.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_reset 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_reset 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_reset - reset all options of a libcurl session handle
diff --git a/docs/libcurl/curl_easy_send.3 b/docs/libcurl/curl_easy_send.3
index 0f38a87b..7ec6f8d0 100644
--- a/docs/libcurl/curl_easy_send.3
+++ b/docs/libcurl/curl_easy_send.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_send 3 "December 18, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_send - sends raw data over an "easy" connection
diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3
index 4e8572e5..10246d7b 100644
--- a/docs/libcurl/curl_easy_setopt.3
+++ b/docs/libcurl/curl_easy_setopt.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_setopt 3 "April 17, 2018" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_setopt 3 "February 25, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_setopt \- set options for a curl easy handle
@@ -187,7 +187,7 @@ Socks5 GSSAPI NEC mode. See \fICURLOPT_SOCKS5_GSSAPI_NEC(3)\fP
.IP CURLOPT_PROXY_SERVICE_NAME
Proxy authentication service name. \fICURLOPT_PROXY_SERVICE_NAME(3)\fP
.IP CURLOPT_HAPROXYPROTOCOL
-Send an HAProxy PROXY protocol header. See \fICURLOPT_HAPROXYPROTOCOL(3)\fP
+Send an HAProxy PROXY protocol v1 header. See \fICURLOPT_HAPROXYPROTOCOL(3)\fP
.IP CURLOPT_SERVICE_NAME
Authentication service name. \fICURLOPT_SERVICE_NAME(3)\fP
.IP CURLOPT_INTERFACE
@@ -259,6 +259,8 @@ HTTP proxy authentication methods. See \fICURLOPT_PROXYAUTH(3)\fP
Enable SASL initial response. See \fICURLOPT_SASL_IR(3)\fP
.IP CURLOPT_XOAUTH2_BEARER
OAuth2 bearer token. See \fICURLOPT_XOAUTH2_BEARER(3)\fP
+.IP CURLOPT_DISALLOW_USERNAME_IN_URL
+Don't allow username in URL. See \fICURLOPT_DISALLOW_USERNAME_IN_URL(3)\fP
.SH HTTP OPTIONS
.IP CURLOPT_AUTOREFERER
Automatically set Referer: header. See \fICURLOPT_AUTOREFERER(3)\fP
@@ -549,6 +551,10 @@ Identify EGD socket for entropy. See \fICURLOPT_EGDSOCKET(3)\fP
Ciphers to use. See \fICURLOPT_SSL_CIPHER_LIST(3)\fP
.IP CURLOPT_PROXY_SSL_CIPHER_LIST
Proxy ciphers to use. See \fICURLOPT_PROXY_SSL_CIPHER_LIST(3)\fP
+.IP CURLOPT_TLS13_CIPHERS
+TLS 1.3 cipher suites to use. See \fICURLOPT_TLS13_CIPHERS(3)\fP
+.IP CURLOPT_PROXY_TLS13_CIPHERS
+Proxy TLS 1.3 cipher suites to use. See \fICURLOPT_PROXY_TLS13_CIPHERS(3)\fP
.IP CURLOPT_SSL_SESSIONID_CACHE
Disable SSL session-id cache. See \fICURLOPT_SSL_SESSIONID_CACHE(3)\fP
.IP CURLOPT_SSL_OPTIONS
diff --git a/docs/libcurl/curl_easy_strerror.3 b/docs/libcurl/curl_easy_strerror.3
index 45e0c33f..b4ac5743 100644
--- a/docs/libcurl/curl_easy_strerror.3
+++ b/docs/libcurl/curl_easy_strerror.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_strerror 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_strerror - return string describing error code
diff --git a/docs/libcurl/curl_easy_unescape.3 b/docs/libcurl/curl_easy_unescape.3
index 61cf12ee..b76d24bb 100644
--- a/docs/libcurl/curl_easy_unescape.3
+++ b/docs/libcurl/curl_easy_unescape.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_easy_unescape 3 "October 04, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_easy_unescape - URL decodes the given string
diff --git a/docs/libcurl/curl_escape.3 b/docs/libcurl/curl_escape.3
index c811e396..f3953826 100644
--- a/docs/libcurl/curl_escape.3
+++ b/docs/libcurl/curl_escape.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_escape 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_escape 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_escape - URL encodes the given string
diff --git a/docs/libcurl/curl_formadd.3 b/docs/libcurl/curl_formadd.3
index 1b5e4574..1f53e6eb 100644
--- a/docs/libcurl/curl_formadd.3
+++ b/docs/libcurl/curl_formadd.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_formadd 3 "October 08, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_formadd 3 "October 08, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_formadd - add a section to a multipart/formdata HTTP POST
diff --git a/docs/libcurl/curl_formfree.3 b/docs/libcurl/curl_formfree.3
index c3a8bcb2..9be44db9 100644
--- a/docs/libcurl/curl_formfree.3
+++ b/docs/libcurl/curl_formfree.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_formfree 3 "September 02, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_formfree 3 "September 02, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_formfree - free a previously build multipart/formdata HTTP POST chain
diff --git a/docs/libcurl/curl_formget.3 b/docs/libcurl/curl_formget.3
index 7a6eea1d..9f417026 100644
--- a/docs/libcurl/curl_formget.3
+++ b/docs/libcurl/curl_formget.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_formget 3 "September 02, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_formget 3 "September 02, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_formget - serialize a previously built multipart/formdata HTTP POST chain
diff --git a/docs/libcurl/curl_free.3 b/docs/libcurl/curl_free.3
index 4103bb71..9df600f7 100644
--- a/docs/libcurl/curl_free.3
+++ b/docs/libcurl/curl_free.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_free 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_free 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_free - reclaim memory that has been obtained through a libcurl call
diff --git a/docs/libcurl/curl_getdate.3 b/docs/libcurl/curl_getdate.3
index b0bf5229..0c79695e 100644
--- a/docs/libcurl/curl_getdate.3
+++ b/docs/libcurl/curl_getdate.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_getdate 3 "January 18, 2018" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_getdate 3 "January 18, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_getdate - Convert a date string to number of seconds
diff --git a/docs/libcurl/curl_getenv.3 b/docs/libcurl/curl_getenv.3
index 6b0b3a93..f3d03c93 100644
--- a/docs/libcurl/curl_getenv.3
+++ b/docs/libcurl/curl_getenv.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_getenv 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_getenv 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_getenv - return value for environment name
diff --git a/docs/libcurl/curl_global_cleanup.3 b/docs/libcurl/curl_global_cleanup.3
index f05c0e43..d4505df0 100644
--- a/docs/libcurl/curl_global_cleanup.3
+++ b/docs/libcurl/curl_global_cleanup.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_global_cleanup 3 "September 20, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_global_cleanup - global libcurl cleanup
diff --git a/docs/libcurl/curl_global_init.3 b/docs/libcurl/curl_global_init.3
index 714d7c62..822a9f39 100644
--- a/docs/libcurl/curl_global_init.3
+++ b/docs/libcurl/curl_global_init.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_global_init 3 "April 17, 2018" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_global_init 3 "April 17, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_global_init - Global libcurl initialisation
diff --git a/docs/libcurl/curl_global_init_mem.3 b/docs/libcurl/curl_global_init_mem.3
index 1c59d3f6..bfdab1d1 100644
--- a/docs/libcurl/curl_global_init_mem.3
+++ b/docs/libcurl/curl_global_init_mem.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_global_init_mem 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_global_init_mem 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_global_init_mem - Global libcurl initialisation with memory callbacks
diff --git a/docs/libcurl/curl_global_sslset.3 b/docs/libcurl/curl_global_sslset.3
index 3e93d009..a98c1c56 100644
--- a/docs/libcurl/curl_global_sslset.3
+++ b/docs/libcurl/curl_global_sslset.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_global_sslset 3 "April 15, 2018" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_global_sslset 3 "April 15, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_global_sslset - Select SSL backend to use with libcurl
diff --git a/docs/libcurl/curl_mime_addpart.3 b/docs/libcurl/curl_mime_addpart.3
index e8333d42..958339b1 100644
--- a/docs/libcurl/curl_mime_addpart.3
+++ b/docs/libcurl/curl_mime_addpart.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_addpart 3 "September 22, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_addpart - append a new empty part to a mime structure
diff --git a/docs/libcurl/curl_mime_data.3 b/docs/libcurl/curl_mime_data.3
index e75ef7c5..135945c0 100644
--- a/docs/libcurl/curl_mime_data.3
+++ b/docs/libcurl/curl_mime_data.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_data 3 "September 22, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_data 3 "September 22, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_data - set a mime part's body data from memory
diff --git a/docs/libcurl/curl_mime_data_cb.3 b/docs/libcurl/curl_mime_data_cb.3
index fd80e51a..fe4f6359 100644
--- a/docs/libcurl/curl_mime_data_cb.3
+++ b/docs/libcurl/curl_mime_data_cb.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_data_cb 3 "April 17, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_data_cb - set a callback-based data source for a mime part's body
diff --git a/docs/libcurl/curl_mime_encoder.3 b/docs/libcurl/curl_mime_encoder.3
index 02d50cf5..08c01c9f 100644
--- a/docs/libcurl/curl_mime_encoder.3
+++ b/docs/libcurl/curl_mime_encoder.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_encoder 3 "September 05, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_encoder - set a mime part's encoder and content transfer encoding
diff --git a/docs/libcurl/curl_mime_filedata.3 b/docs/libcurl/curl_mime_filedata.3
index 0765a626..ead2691e 100644
--- a/docs/libcurl/curl_mime_filedata.3
+++ b/docs/libcurl/curl_mime_filedata.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_filedata 3 "April 17, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_filedata - set a mime part's body data from a file contents
diff --git a/docs/libcurl/curl_mime_filename.3 b/docs/libcurl/curl_mime_filename.3
index fa4cf0d1..cc306caa 100644
--- a/docs/libcurl/curl_mime_filename.3
+++ b/docs/libcurl/curl_mime_filename.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_filename 3 "September 22, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_filename - set a mime part's remote file name
diff --git a/docs/libcurl/curl_mime_free.3 b/docs/libcurl/curl_mime_free.3
index c6fc7bff..8556e0e9 100644
--- a/docs/libcurl/curl_mime_free.3
+++ b/docs/libcurl/curl_mime_free.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_free 3 "September 04, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_free 3 "September 04, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_free - free a previously built mime structure
diff --git a/docs/libcurl/curl_mime_headers.3 b/docs/libcurl/curl_mime_headers.3
index e34240f8..e650c01e 100644
--- a/docs/libcurl/curl_mime_headers.3
+++ b/docs/libcurl/curl_mime_headers.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_headers 3 "September 22, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_headers - set a mime part's custom headers
diff --git a/docs/libcurl/curl_mime_init.3 b/docs/libcurl/curl_mime_init.3
index 5b51ddc1..b4ead6c9 100644
--- a/docs/libcurl/curl_mime_init.3
+++ b/docs/libcurl/curl_mime_init.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_init 3 "September 22, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_init 3 "September 22, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_init - create a mime handle
diff --git a/docs/libcurl/curl_mime_name.3 b/docs/libcurl/curl_mime_name.3
index 63a899ea..ca7f1c0c 100644
--- a/docs/libcurl/curl_mime_name.3
+++ b/docs/libcurl/curl_mime_name.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_name 3 "September 22, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_name 3 "September 22, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_name - set a mime part's name
diff --git a/docs/libcurl/curl_mime_subparts.3 b/docs/libcurl/curl_mime_subparts.3
index 7477877e..bf0609d0 100644
--- a/docs/libcurl/curl_mime_subparts.3
+++ b/docs/libcurl/curl_mime_subparts.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_subparts 3 "September 05, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_subparts - set subparts of a multipart mime part
diff --git a/docs/libcurl/curl_mime_type.3 b/docs/libcurl/curl_mime_type.3
index 60feadf8..d31f8e2e 100644
--- a/docs/libcurl/curl_mime_type.3
+++ b/docs/libcurl/curl_mime_type.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_mime_type 3 "April 17, 2018" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_mime_type 3 "April 17, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_mime_type - set a mime part's content type
diff --git a/docs/libcurl/curl_mprintf.3 b/docs/libcurl/curl_mprintf.3
index 4a66db25..3d806c23 100644
--- a/docs/libcurl/curl_mprintf.3
+++ b/docs/libcurl/curl_mprintf.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_printf 3 "April 01, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_printf 3 "April 01, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_maprintf, curl_mfprintf, curl_mprintf, curl_msnprintf, curl_msprintf
diff --git a/docs/libcurl/curl_multi_add_handle.3 b/docs/libcurl/curl_multi_add_handle.3
index 344cb5dd..8a11d6b0 100644
--- a/docs/libcurl/curl_multi_add_handle.3
+++ b/docs/libcurl/curl_multi_add_handle.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_add_handle 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_add_handle 3 "June 30, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_add_handle - add an easy handle to a multi session
@@ -47,11 +47,11 @@ connection cache owned by the multi handle. Removing and adding new easy
handles will not affect the pool of connections or the ability to do
connection re-use.
-If you have CURLMOPT_TIMERFUNCTION set in the multi handle (and you really
-should if you're working event-based with \fIcurl_multi_socket_action(3)\fP
-and friends), that callback will be called from within this function to ask
-for an updated timer so that your main event loop will get the activity on
-this handle to get started.
+If you have \fICURLMOPT_TIMERFUNCTION(3)\fP set in the multi handle (and you
+really should if you're working event-based with
+\fIcurl_multi_socket_action(3)\fP and friends), that callback will be called
+from within this function to ask for an updated timer so that your main event
+loop will get the activity on this handle to get started.
The easy handle will remain added to the multi handle until you remove it
again with \fIcurl_multi_remove_handle(3)\fP - even when a transfer with that
diff --git a/docs/libcurl/curl_multi_assign.3 b/docs/libcurl/curl_multi_assign.3
index b481f37d..3942b8f2 100644
--- a/docs/libcurl/curl_multi_assign.3
+++ b/docs/libcurl/curl_multi_assign.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_assign 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_assign \- set data to associate with an internal socket
diff --git a/docs/libcurl/curl_multi_cleanup.3 b/docs/libcurl/curl_multi_cleanup.3
index 218d4b52..a28857a7 100644
--- a/docs/libcurl/curl_multi_cleanup.3
+++ b/docs/libcurl/curl_multi_cleanup.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_cleanup 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_cleanup 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_cleanup - close down a multi session
diff --git a/docs/libcurl/curl_multi_fdset.3 b/docs/libcurl/curl_multi_fdset.3
index 3aea4400..61ec3cb3 100644
--- a/docs/libcurl/curl_multi_fdset.3
+++ b/docs/libcurl/curl_multi_fdset.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_fdset 3 "November 09, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_fdset - extracts file descriptor information from a multi handle
diff --git a/docs/libcurl/curl_multi_info_read.3 b/docs/libcurl/curl_multi_info_read.3
index e6a9dc90..6a051a4d 100644
--- a/docs/libcurl/curl_multi_info_read.3
+++ b/docs/libcurl/curl_multi_info_read.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_info_read 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_info_read - read multi stack informationals
diff --git a/docs/libcurl/curl_multi_init.3 b/docs/libcurl/curl_multi_init.3
index 5ba50e35..2dbeac50 100644
--- a/docs/libcurl/curl_multi_init.3
+++ b/docs/libcurl/curl_multi_init.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_init 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_init 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_init - create a multi handle
diff --git a/docs/libcurl/curl_multi_perform.3 b/docs/libcurl/curl_multi_perform.3
index 39c8a5dd..baa40709 100644
--- a/docs/libcurl/curl_multi_perform.3
+++ b/docs/libcurl/curl_multi_perform.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_perform 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_perform - reads/writes available data from each easy handle
diff --git a/docs/libcurl/curl_multi_remove_handle.3 b/docs/libcurl/curl_multi_remove_handle.3
index eb46ee8f..62b04ffe 100644
--- a/docs/libcurl/curl_multi_remove_handle.3
+++ b/docs/libcurl/curl_multi_remove_handle.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_remove_handle 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_remove_handle 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_remove_handle - remove an easy handle from a multi session
diff --git a/docs/libcurl/curl_multi_setopt.3 b/docs/libcurl/curl_multi_setopt.3
index 3b379ac9..bfe2e6a3 100644
--- a/docs/libcurl/curl_multi_setopt.3
+++ b/docs/libcurl/curl_multi_setopt.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_setopt 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_setopt \- set options for a curl multi handle
diff --git a/docs/libcurl/curl_multi_socket.3 b/docs/libcurl/curl_multi_socket.3
index 0625d388..b918f1bc 100644
--- a/docs/libcurl/curl_multi_socket.3
+++ b/docs/libcurl/curl_multi_socket.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_socket 3 "December 15, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_socket 3 "June 30, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_socket \- reads/writes available data
@@ -46,12 +46,13 @@ which easy handle that completed.
The \fIcurl_multi_socket_action(3)\fP functions inform the application about
updates in the socket (file descriptor) status by doing none, one, or multiple
-calls to the socket callback function set with the CURLMOPT_SOCKETFUNCTION
-option to \fIcurl_multi_setopt(3)\fP. They update the status with changes
-since the previous time the callback was called.
+calls to the socket callback function set with the
+\fICURLMOPT_SOCKETFUNCTION(3)\fP option to \fIcurl_multi_setopt(3)\fP. They
+update the status with changes since the previous time the callback was
+called.
-Get the timeout time by setting the \fICURLMOPT_TIMERFUNCTION\fP option with
-\fIcurl_multi_setopt(3)\fP. Your application will then get called with
+Get the timeout time by setting the \fICURLMOPT_TIMERFUNCTION(3)\fP option
+with \fIcurl_multi_setopt(3)\fP. Your application will then get called with
information on how long to wait for socket actions at most before doing the
timeout action: call the \fIcurl_multi_socket_action(3)\fP function with the
\fBsockfd\fP argument set to CURL_SOCKET_TIMEOUT. You can also use the
@@ -108,7 +109,7 @@ service to applications that want to keep certain data or structs that are
strictly associated to the given socket.
The \fIuserp\fP argument is a private pointer you have previously set with
-\fIcurl_multi_setopt(3)\fP and the CURLMOPT_SOCKETDATA option.
+\fIcurl_multi_setopt(3)\fP and the \fICURLMOPT_SOCKETDATA(3)\fP option.
.SH "RETURN VALUE"
CURLMcode type, general libcurl multi interface error code.
@@ -128,10 +129,10 @@ return OK.
.SH "TYPICAL USAGE"
1. Create a multi handle
-2. Set the socket callback with CURLMOPT_SOCKETFUNCTION
+2. Set the socket callback with \fICURLMOPT_SOCKETFUNCTION(3)\fP
-3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what
-timeout value to use when waiting for socket activities.
+3. Set the timeout callback with \fICURLMOPT_TIMERFUNCTION(3)\fP, to get to
+know what timeout value to use when waiting for socket activities.
4. Add easy handles with curl_multi_add_handle()
diff --git a/docs/libcurl/curl_multi_socket_action.3 b/docs/libcurl/curl_multi_socket_action.3
index e9a86306..52393a1c 100644
--- a/docs/libcurl/curl_multi_socket_action.3
+++ b/docs/libcurl/curl_multi_socket_action.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_socket_action 3 "June 07, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_socket_action 3 "June 30, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_socket_action \- reads/writes available data given an action
@@ -112,7 +112,7 @@ service to applications that want to keep certain data or structs that are
strictly associated to the given socket.
The \fIuserp\fP argument is a private pointer you have previously set with
-\fIcurl_multi_setopt(3)\fP and the CURLMOPT_SOCKETDATA option.
+\fIcurl_multi_setopt(3)\fP and the \fICURLMOPT_SOCKETDATA(3)\fP option.
.SH "RETURN VALUE"
CURLMcode type, general libcurl multi interface error code.
@@ -129,10 +129,10 @@ functions return OK.
.SH "TYPICAL USAGE"
1. Create a multi handle
-2. Set the socket callback with CURLMOPT_SOCKETFUNCTION
+2. Set the socket callback with \fICURLMOPT_SOCKETFUNCTION(3)\fP
-3. Set the timeout callback with CURLMOPT_TIMERFUNCTION, to get to know what
-timeout value to use when waiting for socket activities.
+3. Set the timeout callback with \fICURLMOPT_TIMERFUNCTION(3)\fP, to get to
+know what timeout value to use when waiting for socket activities.
4. Add easy handles with curl_multi_add_handle()
diff --git a/docs/libcurl/curl_multi_strerror.3 b/docs/libcurl/curl_multi_strerror.3
index b3037ed0..a60ed2a7 100644
--- a/docs/libcurl/curl_multi_strerror.3
+++ b/docs/libcurl/curl_multi_strerror.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_strerror 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_strerror - return string describing error code
diff --git a/docs/libcurl/curl_multi_timeout.3 b/docs/libcurl/curl_multi_timeout.3
index c8e7c6a6..fd4db592 100644
--- a/docs/libcurl/curl_multi_timeout.3
+++ b/docs/libcurl/curl_multi_timeout.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_timeout 3 "May 02, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_timeout 3 "May 02, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_timeout \- how long to wait for action before proceeding
diff --git a/docs/libcurl/curl_multi_wait.3 b/docs/libcurl/curl_multi_wait.3
index f04159ed..0088adb3 100644
--- a/docs/libcurl/curl_multi_wait.3
+++ b/docs/libcurl/curl_multi_wait.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_multi_wait 3 "March 09, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_multi_wait 3 "March 09, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_multi_wait - polls on all easy handles in a multi handle
diff --git a/docs/libcurl/curl_share_cleanup.3 b/docs/libcurl/curl_share_cleanup.3
index 10b2f33d..45558dd4 100644
--- a/docs/libcurl/curl_share_cleanup.3
+++ b/docs/libcurl/curl_share_cleanup.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_share_cleanup 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_share_cleanup 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_share_cleanup - Clean up a shared object
diff --git a/docs/libcurl/curl_share_init.3 b/docs/libcurl/curl_share_init.3
index e17d4139..c700c8d0 100644
--- a/docs/libcurl/curl_share_init.3
+++ b/docs/libcurl/curl_share_init.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_share_init 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_share_init 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_share_init - Create a shared object
diff --git a/docs/libcurl/curl_share_setopt.3 b/docs/libcurl/curl_share_setopt.3
index e0f71562..42e5175f 100644
--- a/docs/libcurl/curl_share_setopt.3
+++ b/docs/libcurl/curl_share_setopt.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_share_setopt 3 "February 23, 2018" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_share_setopt 3 "May 28, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_share_setopt - Set options for a shared object
@@ -88,6 +88,15 @@ existed before this.
Note that when you use the multi interface, all easy handles added to the same
multi handle will share connection cache by default without using this option.
+.IP CURL_LOCK_DATA_PSL
+The Public Suffix List stored in the share object is made available to all
+easy handle bound to the later. Since the Public Suffix List is periodically
+refreshed, this avoids updates in too many different contexts.
+
+\fBCURL_LOCK_DATA_PSL\fP exists since 7.61.0.
+
+Note that when you use the multi interface, all easy handles added to the same
+multi handle will share PSL cache by default without using this option.
.RE
.IP CURLSHOPT_UNSHARE
This option does the opposite of \fICURLSHOPT_SHARE\fP. It specifies that
diff --git a/docs/libcurl/curl_share_strerror.3 b/docs/libcurl/curl_share_strerror.3
index c43e9815..ddb7e4e4 100644
--- a/docs/libcurl/curl_share_strerror.3
+++ b/docs/libcurl/curl_share_strerror.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_share_strerror 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_share_strerror - return string describing error code
diff --git a/docs/libcurl/curl_slist_append.3 b/docs/libcurl/curl_slist_append.3
index f89a3abc..8a3bec8d 100644
--- a/docs/libcurl/curl_slist_append.3
+++ b/docs/libcurl/curl_slist_append.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_slist_append 3 "May 05, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_slist_append 3 "May 05, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_slist_append - add a string to an slist
diff --git a/docs/libcurl/curl_slist_free_all.3 b/docs/libcurl/curl_slist_free_all.3
index 503420fe..c30c5bea 100644
--- a/docs/libcurl/curl_slist_free_all.3
+++ b/docs/libcurl/curl_slist_free_all.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_slist_free_all 3 "May 05, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_slist_free_all 3 "May 05, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_slist_free_all - free an entire curl_slist list
diff --git a/docs/libcurl/curl_strequal.3 b/docs/libcurl/curl_strequal.3
index bc59a1d4..b4743c02 100644
--- a/docs/libcurl/curl_strequal.3
+++ b/docs/libcurl/curl_strequal.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_strequal 3 "June 29, 2017" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_strequal 3 "June 29, 2017" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_strequal, curl_strnequal - case insensitive string comparisons
diff --git a/docs/libcurl/curl_unescape.3 b/docs/libcurl/curl_unescape.3
index 5a82b5aa..45a569e0 100644
--- a/docs/libcurl/curl_unescape.3
+++ b/docs/libcurl/curl_unescape.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_unescape 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_unescape 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_unescape - URL decodes the given string
diff --git a/docs/libcurl/curl_version.3 b/docs/libcurl/curl_version.3
index 980aafb0..4940dad1 100644
--- a/docs/libcurl/curl_version.3
+++ b/docs/libcurl/curl_version.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_version 3 "February 03, 2016" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_version 3 "February 03, 2016" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_version - returns the libcurl version string
diff --git a/docs/libcurl/curl_version_info.3 b/docs/libcurl/curl_version_info.3
index 9af0f0ea..e4ef342b 100644
--- a/docs/libcurl/curl_version_info.3
+++ b/docs/libcurl/curl_version_info.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH curl_version_info 3 "March 17, 2018" "libcurl 7.60.0" "libcurl Manual"
+.TH curl_version_info 3 "March 17, 2018" "libcurl 7.61.0" "libcurl Manual"
.SH NAME
curl_version_info - returns run-time libcurl version info
diff --git a/docs/libcurl/libcurl-easy.3 b/docs/libcurl/libcurl-easy.3
index 700a718a..5e712281 100644
--- a/docs/libcurl/libcurl-easy.3
+++ b/docs/libcurl/libcurl-easy.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl 3 "February 03, 2016" "libcurl 7.60.0" "libcurl easy interface"
+.TH libcurl 3 "February 03, 2016" "libcurl 7.61.0" "libcurl easy interface"
.SH NAME
libcurl-easy \- easy interface overview
diff --git a/docs/libcurl/libcurl-env.3 b/docs/libcurl/libcurl-env.3
index 9eb708bf..ba089d0a 100644
--- a/docs/libcurl/libcurl-env.3
+++ b/docs/libcurl/libcurl-env.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl-env 3 "April 17, 2018" "libcurl 7.60.0" "libcurl environment variables"
+.TH libcurl-env 3 "April 17, 2018" "libcurl 7.61.0" "libcurl environment variables"
.SH NAME
libcurl-env \- environment variables libcurl understands
diff --git a/docs/libcurl/libcurl-errors.3 b/docs/libcurl/libcurl-errors.3
index ea15c07b..40a78293 100644
--- a/docs/libcurl/libcurl-errors.3
+++ b/docs/libcurl/libcurl-errors.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-errors 3 "February 10, 2018" "libcurl 7.60.0" "libcurl errors"
+.TH libcurl-errors 3 "February 10, 2018" "libcurl 7.61.0" "libcurl errors"
.SH NAME
libcurl-errors \- error codes in libcurl
diff --git a/docs/libcurl/libcurl-multi.3 b/docs/libcurl/libcurl-multi.3
index a8abb640..63bc13eb 100644
--- a/docs/libcurl/libcurl-multi.3
+++ b/docs/libcurl/libcurl-multi.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-multi 3 "June 07, 2017" "libcurl 7.60.0" "libcurl multi interface"
+.TH libcurl-multi 3 "June 30, 2018" "libcurl 7.61.0" "libcurl multi interface"
.SH NAME
libcurl-multi \- how to use the multi interface
@@ -133,24 +133,24 @@ using large numbers of simultaneous connections.
When using this API, you add easy handles to the multi handle just as with the
normal multi interface. Then you also set two callbacks with the
-CURLMOPT_SOCKETFUNCTION and CURLMOPT_TIMERFUNCTION options to
-\fIcurl_multi_setopt(3)\fP. They are two callback functions that libcurl will
-call with information about what sockets to wait for, and for what activity,
-and what the current timeout time is - if that expires libcurl should be
-notified.
+\fICURLMOPT_SOCKETFUNCTION(3)\fP and \fICURLMOPT_TIMERFUNCTION(3)\fP options
+to \fIcurl_multi_setopt(3)\fP. They are two callback functions that libcurl
+will call with information about what sockets to wait for, and for what
+activity, and what the current timeout time is - if that expires libcurl
+should be notified.
The multi_socket API is designed to inform your application about which
sockets libcurl is currently using and for what activities (read and/or write)
on those sockets your application is expected to wait for.
Your application must make sure to receive all sockets informed about in the
-CURLMOPT_SOCKETFUNCTION callback and make sure it reacts on the given activity
-on them. When a socket has the given activity, you call
+\fICURLMOPT_SOCKETFUNCTION(3)\fP callback and make sure it reacts on the given
+activity on them. When a socket has the given activity, you call
\fIcurl_multi_socket_action(3)\fP specifying which socket and action there
are.
-The CURLMOPT_TIMERFUNCTION callback is called to set a timeout. When that
-timeout expires, your application should call the
+The \fICURLMOPT_TIMERFUNCTION(3)\fP callback is called to set a timeout. When
+that timeout expires, your application should call the
\fIcurl_multi_socket_action(3)\fP function saying it was due to a timeout.
This API is typically used with an event-driven underlying functionality (like
diff --git a/docs/libcurl/libcurl-security.3 b/docs/libcurl/libcurl-security.3
index 15d1d02f..2f6e7778 100644
--- a/docs/libcurl/libcurl-security.3
+++ b/docs/libcurl/libcurl-security.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-security 3 "April 17, 2018" "libcurl 7.60.0" "libcurl security"
+.TH libcurl-security 3 "May 31, 2018" "libcurl 7.61.0" "libcurl security"
.SH NAME
libcurl-security \- security considerations when using libcurl
@@ -89,9 +89,11 @@ have been injected by an attacker. The data that curl sends might be modified
before it reaches the intended server. If it even reaches the intended server
at all.
-Remedies include:
- - Restrict operations to authenticated transfers
- - Make sure the server's certificate etc is verified
+Remedies:
+.IP "Restrict operations to authenticated transfers"
+Ie use authenticated protocols protected with HTTPS or SSH.
+.IP "Make sure the server's certificate etc is verified"
+Never ever switch off certificate verification.
.SH "Redirects"
The \fICURLOPT_FOLLOWLOCATION(3)\fP option automatically follows HTTP
redirects sent by a remote server. These redirects can refer to any kind of
@@ -234,11 +236,13 @@ particular scheme in the URL but point to a server doing a different protocol
on a non-standard port.
Remedies:
-
- - curl command lines can use \fI--proto\fP to limit what schemes it accepts
- - libcurl programs can use \fICURLOPT_PROTOCOLS(3)\fP
- - consider not allowing the user to set the full URL
- - consider strictly filtering input to only allow specific choices
+.IP "Use --proto"
+curl command lines can use \fI--proto\fP to limit what URL schemes it accepts
+.IP "Use CURLOPT_PROTOCOLS"
+libcurl programs can use \fICURLOPT_PROTOCOLS(3)\fP to limit what URL schemes it accepts
+.IP "consider not allowing the user to set the full URL"
+Maybe just let the user provide data for parts of it? Or maybe filter input to
+only allow specific choices?
.SH "RFC 3986 vs WHATWG URL"
curl supports URLs mostly according to how they are defined in RFC 3986, and
has done so since the beginning.
@@ -318,8 +322,8 @@ one. HTTPS without validated certificates is potentially as insecure as a
plain HTTP connection.
.SH "Report Security Problems"
Should you detect or just suspect a security problem in libcurl or curl,
-contact the project curl security team immediately. See the separate
-SECURITY.md document for details.
+contact the project curl security team immediately. See
+https://curl.haxx.se/dev/secprocess.html for details.
.SH "Showing What You Do"
Relatedly, be aware that in situations when you have problems with libcurl and
ask someone for help, everything you reveal in order to get best possible help
diff --git a/docs/libcurl/libcurl-share.3 b/docs/libcurl/libcurl-share.3
index d2efd6b7..46f6cf86 100644
--- a/docs/libcurl/libcurl-share.3
+++ b/docs/libcurl/libcurl-share.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl-share 3 "November 27, 2017" "libcurl 7.60.0" "libcurl share interface"
+.TH libcurl-share 3 "November 27, 2017" "libcurl 7.61.0" "libcurl share interface"
.SH NAME
libcurl-share \- how to use the share interface
diff --git a/docs/libcurl/libcurl-symbols.3 b/docs/libcurl/libcurl-symbols.3
index 5853faae..da318625 100644
--- a/docs/libcurl/libcurl-symbols.3
+++ b/docs/libcurl/libcurl-symbols.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl-symbols 3 "maj 16, 2018" "libcurl 7.41.0" "libcurl symbols"
+.TH libcurl-symbols 3 "jul 11, 2018" "libcurl 7.41.0" "libcurl symbols"
.SH NAME
libcurl-symbols \- libcurl symbol version information
.SH "libcurl symbols"
@@ -41,6 +41,8 @@ Introduced in 7.10.6
Introduced in 7.10.6
.IP CURLAUTH_BASIC
Introduced in 7.10.6
+.IP CURLAUTH_BEARER
+Introduced in 7.61.0
.IP CURLAUTH_DIGEST
Introduced in 7.10.6
.IP CURLAUTH_DIGEST_IE
@@ -230,10 +232,10 @@ Introduced in 7.17.0
Introduced in 7.17.0
.IP CURLE_READ_ERROR
Introduced in 7.1
-.IP CURLE_RECV_ERROR
-Introduced in 7.10
.IP CURLE_RECURSIVE_API_CALL
Introduced in 7.59.0
+.IP CURLE_RECV_ERROR
+Introduced in 7.10
.IP CURLE_REMOTE_ACCESS_DENIED
Introduced in 7.17.0
.IP CURLE_REMOTE_DISK_FULL
@@ -474,12 +476,16 @@ Introduced in 7.37.0
Introduced in 7.45.0
.IP CURLINFO_APPCONNECT_TIME
Introduced in 7.19.0
+.IP CURLINFO_APPCONNECT_TIME_T
+Introduced in 7.61.0
.IP CURLINFO_CERTINFO
Introduced in 7.19.1
.IP CURLINFO_CONDITION_UNMET
Introduced in 7.19.4
.IP CURLINFO_CONNECT_TIME
Introduced in 7.4.1
+.IP CURLINFO_CONNECT_TIME_T
+Introduced in 7.61.0
.IP CURLINFO_CONTENT_LENGTH_DOWNLOAD
Introduced in 7.6.1
.IP CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
@@ -537,6 +543,8 @@ Introduced in 7.4.1
Introduced in 7.4.1
.IP CURLINFO_NAMELOOKUP_TIME
Introduced in 7.4.1
+.IP CURLINFO_NAMELOOKUP_TIME_T
+Introduced in 7.61.0
.IP CURLINFO_NONE
Introduced in 7.4.1
.IP CURLINFO_NUM_CONNECTS
@@ -547,6 +555,8 @@ Introduced in 7.55.0
Introduced in 7.12.2
.IP CURLINFO_PRETRANSFER_TIME
Introduced in 7.4.1
+.IP CURLINFO_PRETRANSFER_TIME_T
+Introduced in 7.61.0
.IP CURLINFO_PRIMARY_IP
Introduced in 7.19.0
.IP CURLINFO_PRIMARY_PORT
@@ -565,6 +575,8 @@ Introduced in 7.54.1
Introduced in 7.9.7
.IP CURLINFO_REDIRECT_TIME
Introduced in 7.9.7
+.IP CURLINFO_REDIRECT_TIME_T
+Introduced in 7.61.0
.IP CURLINFO_REDIRECT_URL
Introduced in 7.18.2
.IP CURLINFO_REQUEST_SIZE
@@ -611,6 +623,8 @@ Introduced in 7.12.3
Introduced in 7.5
.IP CURLINFO_STARTTRANSFER_TIME
Introduced in 7.9.2
+.IP CURLINFO_STARTTRANSFER_TIME_T
+Introduced in 7.61.0
.IP CURLINFO_STRING
Introduced in 7.4.1
.IP CURLINFO_TEXT
@@ -622,6 +636,8 @@ Deprecated since 7.48.0
Introduced in 7.48.0
.IP CURLINFO_TOTAL_TIME
Introduced in 7.4.1
+.IP CURLINFO_TOTAL_TIME_T
+Introduced in 7.61.0
.IP CURLINFO_TYPEMASK
Introduced in 7.4.1
.IP CURLIOCMD_NOP
@@ -803,6 +819,8 @@ Introduced in 7.9.6
Introduced in 7.45.0
.IP CURLOPT_DIRLISTONLY
Introduced in 7.17.0
+.IP CURLOPT_DISALLOW_USERNAME_IN_URL
+Introduced in 7.61.0
.IP CURLOPT_DNS_CACHE_TIMEOUT
Introduced in 7.9.3
.IP CURLOPT_DNS_INTERFACE
@@ -1101,6 +1119,8 @@ Introduced in 7.52.0
Introduced in 7.52.0
.IP CURLOPT_PROXY_SSL_VERIFYPEER
Introduced in 7.52.0
+.IP CURLOPT_PROXY_TLS13_CIPHERS
+Introduced in 7.61.0
.IP CURLOPT_PROXY_TLSAUTH_PASSWORD
Introduced in 7.52.0
.IP CURLOPT_PROXY_TLSAUTH_TYPE
@@ -1129,6 +1149,10 @@ Introduced in 7.1
Introduced in 7.55.0
.IP CURLOPT_RESOLVE
Introduced in 7.21.3
+.IP CURLOPT_RESOLVER_START_DATA
+Introduced in 7.59.0
+.IP CURLOPT_RESOLVER_START_FUNCTION
+Introduced in 7.59.0
.IP CURLOPT_RESUME_FROM
Introduced in 7.1
.IP CURLOPT_RESUME_FROM_LARGE
@@ -1280,6 +1304,8 @@ Introduced in 7.16.2
Introduced in 7.1
.IP CURLOPT_TIMEVALUE_LARGE
Introduced in 7.59.0
+.IP CURLOPT_TLS13_CIPHERS
+Introduced in 7.61.0
.IP CURLOPT_TLSAUTH_PASSWORD
Introduced in 7.21.4
.IP CURLOPT_TLSAUTH_TYPE
@@ -1290,10 +1316,6 @@ Introduced in 7.21.4
Introduced in 7.1.1
.IP CURLOPT_TRANSFER_ENCODING
Introduced in 7.21.6
-.IP CURLOPT_RESOLVER_START_FUNCTION
-Introduced in 7.59.0
-.IP CURLOPT_RESOLVER_START_DATA
-Introduced in 7.59.0
.IP CURLOPT_UNIX_SOCKET_PATH
Introduced in 7.40.0
.IP CURLOPT_UNRESTRICTED_AUTH
@@ -1644,6 +1666,8 @@ Introduced in 7.10.3
Introduced in 7.10.3
.IP CURL_LOCK_DATA_NONE
Introduced in 7.10.3
+.IP CURL_LOCK_DATA_PSL
+Introduced in 7.61.0
.IP CURL_LOCK_DATA_SHARE
Introduced in 7.10.4
.IP CURL_LOCK_DATA_SSL_SESSION
diff --git a/docs/libcurl/libcurl-thread.3 b/docs/libcurl/libcurl-thread.3
index f8665c3a..485c9563 100644
--- a/docs/libcurl/libcurl-thread.3
+++ b/docs/libcurl/libcurl-thread.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-thread 3 "August 08, 2017" "libcurl 7.60.0" "libcurl thread safety"
+.TH libcurl-thread 3 "August 08, 2017" "libcurl 7.61.0" "libcurl thread safety"
.SH NAME
libcurl-thread \- libcurl thread safety
diff --git a/docs/libcurl/libcurl-tutorial.3 b/docs/libcurl/libcurl-tutorial.3
index 1b1f66c9..cdcf39db 100644
--- a/docs/libcurl/libcurl-tutorial.3
+++ b/docs/libcurl/libcurl-tutorial.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH libcurl-tutorial 3 "April 17, 2018" "libcurl 7.60.0" "libcurl programming"
+.TH libcurl-tutorial 3 "April 17, 2018" "libcurl 7.61.0" "libcurl programming"
.SH NAME
libcurl-tutorial \- libcurl programming tutorial
diff --git a/docs/libcurl/libcurl.3 b/docs/libcurl/libcurl.3
index 21024844..f9c443b0 100644
--- a/docs/libcurl/libcurl.3
+++ b/docs/libcurl/libcurl.3
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH libcurl 3 "July 15, 2017" "libcurl 7.60.0" "libcurl overview"
+.TH libcurl 3 "July 15, 2017" "libcurl 7.61.0" "libcurl overview"
.SH NAME
libcurl \- client-side URL transfers
diff --git a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3 b/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
index 0eb6a6f7..2632d529 100644
--- a/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
+++ b/docs/libcurl/opts/CURLINFO_ACTIVESOCKET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_ACTIVESOCKET 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_ACTIVESOCKET \- get the active socket
diff --git a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3 b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
index db7e4415..cfe17502 100644
--- a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_APPCONNECT_TIME 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_APPCONNECT_TIME 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_APPCONNECT_TIME \- get the time until the SSL/SSH handshake is completed
@@ -60,4 +60,4 @@ Added in 7.19.0
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
-.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_APPCONNECT_TIME_T "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3 b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3
new file mode 100644
index 00000000..6fb3b2de
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_APPCONNECT_TIME_T.3
@@ -0,0 +1,65 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_APPCONNECT_TIME_T 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
+
+.SH NAME
+CURLINFO_APPCONNECT_TIME_T \- get the time until the SSL/SSH handshake is completed
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_APPCONNECT_TIME_T, curl_off_t *timep);
+.SH DESCRIPTION
+Pass a pointer to a curl_off_t to receive the time, in microseconds,
+it took from the
+start until the SSL/SSH connect/handshake to the remote host was completed.
+This time is most often very near to the \fICURLINFO_PRETRANSFER_TIME_T(3)\fP
+time, except for cases such as HTTP pipelining where the pretransfer time can
+be delayed due to waits in line for the pipeline and more.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ curl_off_t connect;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_APPCONNECT_TIME_T, &connect);
+ if(CURLE_OK == res) {
+ printf("Time: %" CURL_FORMAT_CURL_OFF_T ".%06ld", connect / 1000000,
+ (long)(connect % 1000000));
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.61.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_APPCONNECT_TIME "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_CERTINFO.3 b/docs/libcurl/opts/CURLINFO_CERTINFO.3
index f999d7ab..d7f935f5 100644
--- a/docs/libcurl/opts/CURLINFO_CERTINFO.3
+++ b/docs/libcurl/opts/CURLINFO_CERTINFO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CERTINFO 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_CERTINFO 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CERTINFO \- get the TLS certificate chain
diff --git a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3 b/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
index d7737ba2..8608b41c 100644
--- a/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
+++ b/docs/libcurl/opts/CURLINFO_CONDITION_UNMET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONDITION_UNMET 3 "February 23, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONDITION_UNMET \- get info on unmet time conditional
diff --git a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3 b/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
index b37bc09c..5996d8e2 100644
--- a/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_CONNECT_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONNECT_TIME 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONNECT_TIME 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONNECT_TIME \- get the time until connect
@@ -57,4 +57,4 @@ Added in 7.4.1
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
-.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_CONNECT_TIME_T "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3 b/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3
new file mode 100644
index 00000000..37aa5e76
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_CONNECT_TIME_T.3
@@ -0,0 +1,60 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_CONNECT_TIME_T 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
+
+.SH NAME
+CURLINFO_CONNECT_TIME_T \- get the time until connect
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_CONNECT_TIME_T, curl_off_t *timep);
+.SH DESCRIPTION
+Pass a pointer to a curl_off_t to receive the total time in microseconds
+from the start until the connection to the remote host (or proxy) was completed.
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ curl_off_t connect;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME_T, &connect);
+ if(CURLE_OK == res) {
+ printf("Time: %" CURL_FORMAT_CURL_OFF_T ".%06ld", connect / 1000000,
+ (long)(connect % 1000000));
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.61.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_CONNECT_TIME "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
index 464e94b4..bf76c8ae 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD 3 "June 15, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_LENGTH_DOWNLOAD \- get content-length of download
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
index 6b6dc78c..2b4c8443 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T \- get content-length of download
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
index e5b532c9..70214f96 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_UPLOAD 3 "June 15, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_LENGTH_UPLOAD \- get the specified size of the upload
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
index a449e699..7c6c9a9e 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_LENGTH_UPLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_LENGTH_UPLOAD_T 3 "March 31, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_LENGTH_UPLOAD_T \- get the specified size of the upload
diff --git a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3 b/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
index 8f3fb9ab..556c0467 100644
--- a/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
+++ b/docs/libcurl/opts/CURLINFO_CONTENT_TYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_CONTENT_TYPE 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_CONTENT_TYPE \- get Content-Type
diff --git a/docs/libcurl/opts/CURLINFO_COOKIELIST.3 b/docs/libcurl/opts/CURLINFO_COOKIELIST.3
index d2f807b1..48ee330f 100644
--- a/docs/libcurl/opts/CURLINFO_COOKIELIST.3
+++ b/docs/libcurl/opts/CURLINFO_COOKIELIST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_COOKIELIST 3 "March 20, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_COOKIELIST \- get all known cookies
diff --git a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3 b/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
index 40a104df..4e1fb057 100644
--- a/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
+++ b/docs/libcurl/opts/CURLINFO_EFFECTIVE_URL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_EFFECTIVE_URL 3 "May 04, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_EFFECTIVE_URL \- get the last used URL
diff --git a/docs/libcurl/opts/CURLINFO_FILETIME.3 b/docs/libcurl/opts/CURLINFO_FILETIME.3
index 597610a7..8c9b4b6c 100644
--- a/docs/libcurl/opts/CURLINFO_FILETIME.3
+++ b/docs/libcurl/opts/CURLINFO_FILETIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_FILETIME \- get the remote time of the retrieved document
diff --git a/docs/libcurl/opts/CURLINFO_FILETIME_T.3 b/docs/libcurl/opts/CURLINFO_FILETIME_T.3
index 6143ba12..6a8908c5 100644
--- a/docs/libcurl/opts/CURLINFO_FILETIME_T.3
+++ b/docs/libcurl/opts/CURLINFO_FILETIME_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_FILETIME 3 "January 25, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_FILETIME_T \- get the remote time of the retrieved document
diff --git a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3 b/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
index 5e9400c9..ff05111b 100644
--- a/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
+++ b/docs/libcurl/opts/CURLINFO_FTP_ENTRY_PATH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_FTP_ENTRY_PATH 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_FTP_ENTRY_PATH \- get entry path in FTP server
diff --git a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3 b/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
index 008ca412..5cfbc1e7 100644
--- a/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
+++ b/docs/libcurl/opts/CURLINFO_HEADER_SIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_HEADER_SIZE 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_HEADER_SIZE \- get size of retrieved headers
diff --git a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3 b/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
index 72f2c463..481514a2 100644
--- a/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
+++ b/docs/libcurl/opts/CURLINFO_HTTPAUTH_AVAIL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTPAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_HTTPAUTH_AVAIL \- get available HTTP authentication methods
diff --git a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3 b/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
index e1793062..a1aba2d2 100644
--- a/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
+++ b/docs/libcurl/opts/CURLINFO_HTTP_CONNECTCODE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTP_CONNECTCODE 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_HTTP_CONNECTCODE \- get the CONNECT response code
diff --git a/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3 b/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
index e4e0137b..efe1f072 100644
--- a/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
+++ b/docs/libcurl/opts/CURLINFO_HTTP_VERSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_HTTP_VERSION 3 "May 11, 2016" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_HTTP_VERSION 3 "May 11, 2016" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_HTTP_VERSION \- get the http version used in the connection
diff --git a/docs/libcurl/opts/CURLINFO_LASTSOCKET.3 b/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
index c11f3fbf..af1729ac 100644
--- a/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
+++ b/docs/libcurl/opts/CURLINFO_LASTSOCKET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_LASTSOCKET 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_LASTSOCKET \- get the last socket used
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_IP.3 b/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
index 6588c7fc..39e0319f 100644
--- a/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
+++ b/docs/libcurl/opts/CURLINFO_LOCAL_IP.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_LOCAL_IP 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_LOCAL_IP \- get local IP address of last connection
diff --git a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3 b/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
index 31f72239..b2960b44 100644
--- a/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
+++ b/docs/libcurl/opts/CURLINFO_LOCAL_PORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_LOCAL_PORT 3 "March 16, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_LOCAL_PORT \- get the latest local port number
diff --git a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3 b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
index c5226da3..41dd4ea2 100644
--- a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_NAMELOOKUP_TIME 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_NAMELOOKUP_TIME 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_NAMELOOKUP_TIME \- get the name lookup time
@@ -57,4 +57,4 @@ Added in 7.4.1
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
-.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_NAMELOOKUP_TIME_T "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3 b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3
new file mode 100644
index 00000000..32cea28d
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_NAMELOOKUP_TIME_T.3
@@ -0,0 +1,61 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_NAMELOOKUP_TIME_T 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
+
+.SH NAME
+CURLINFO_NAMELOOKUP_TIME_T \- get the name lookup time in microseconds
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_NAMELOOKUP_TIME_T, curl_off_t *timep);
+.SH DESCRIPTION
+Pass a pointer to a curl_off_t to receive the total time in microseconds
+from the start until the name resolving was completed.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ curl_off_t namelookup;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME_T, &namelookup);
+ if(CURLE_OK == res) {
+ printf("Time: %" CURL_FORMAT_CURL_OFF_T ".%06ld", namelookup / 1000000,
+ (long)(namelookup % 1000000));
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.61.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_NAMELOOKUP_TIME "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3 b/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
index ccc7fb0d..709bdfa4 100644
--- a/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
+++ b/docs/libcurl/opts/CURLINFO_NUM_CONNECTS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_NUM_CONNECTS 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_NUM_CONNECTS \- get number of created connections
diff --git a/docs/libcurl/opts/CURLINFO_OS_ERRNO.3 b/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
index 928f81ab..ca3362f7 100644
--- a/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
+++ b/docs/libcurl/opts/CURLINFO_OS_ERRNO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_OS_ERRNO 3 "May 15, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_OS_ERRNO 3 "May 15, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_OS_ERRNO \- get errno number from last connect failure
diff --git a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3 b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
index 6c289bca..b77a4b39 100644
--- a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PRETRANSFER_TIME 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRETRANSFER_TIME 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PRETRANSFER_TIME \- get the time until the file transfer start
@@ -60,4 +60,4 @@ Added in 7.4.1
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
-.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_PRETRANSFER_TIME_T "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3 b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3
new file mode 100644
index 00000000..b95a1d9b
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_PRETRANSFER_TIME_T.3
@@ -0,0 +1,65 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_PRETRANSFER_TIME_T 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
+
+.SH NAME
+CURLINFO_PRETRANSFER_TIME_T \- get the time until the file transfer start
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_PRETRANSFER_TIME_T, curl_off_t *timep);
+.SH DESCRIPTION
+Pass a pointer to a curl_off_t to receive the time, in microseconds,
+it took from the
+start until the file transfer is just about to begin. This includes all
+pre-transfer commands and negotiations that are specific to the particular
+protocol(s) involved. It does \fInot\fP involve the sending of the protocol-
+specific request that triggers a transfer.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ curl_off_t pretransfer;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME_T, &pretransfer);
+ if(CURLE_OK == res) {
+ printf("Time: %" CURL_FORMAT_CURL_OFF_T ".%06ld", pretransfer / 1000000,
+ (long)(pretransfer % 1000000));
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.61.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_PRETRANSFER_TIME "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3 b/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
index 83ddb7e3..c2ee7a49 100644
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
+++ b/docs/libcurl/opts/CURLINFO_PRIMARY_IP.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIMARY_IP 3 "March 22, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PRIMARY_IP \- get IP address of last connection
diff --git a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3 b/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
index b1ded4d2..addf6cb7 100644
--- a/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
+++ b/docs/libcurl/opts/CURLINFO_PRIMARY_PORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIMARY_PORT 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PRIMARY_PORT \- get the latest destination port number
diff --git a/docs/libcurl/opts/CURLINFO_PRIVATE.3 b/docs/libcurl/opts/CURLINFO_PRIVATE.3
index bc01868b..8ec2a68d 100644
--- a/docs/libcurl/opts/CURLINFO_PRIVATE.3
+++ b/docs/libcurl/opts/CURLINFO_PRIVATE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_PRIVATE 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PRIVATE \- get the private pointer
diff --git a/docs/libcurl/opts/CURLINFO_PROTOCOL.3 b/docs/libcurl/opts/CURLINFO_PROTOCOL.3
index ccdbf53a..5d65a8b7 100644
--- a/docs/libcurl/opts/CURLINFO_PROTOCOL.3
+++ b/docs/libcurl/opts/CURLINFO_PROTOCOL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROTOCOL 3 "April 27, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PROTOCOL \- get the protocol used in the connection
diff --git a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3 b/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
index 4e704c9e..1e3645bb 100644
--- a/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
+++ b/docs/libcurl/opts/CURLINFO_PROXYAUTH_AVAIL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROXYAUTH_AVAIL 3 "October 07, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PROXYAUTH_AVAIL \- get available HTTP proxy authentication methods
diff --git a/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3 b/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
index fa88afdc..6c540452 100644
--- a/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/CURLINFO_PROXY_SSL_VERIFYRESULT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_PROXY_SSL_VERIFYRESULT 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_PROXY_SSL_VERIFYRESULT \- get the result of the proxy certificate verification
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
index d4963c8c..58d321e9 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_COUNT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_COUNT 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_REDIRECT_COUNT \- get the number of redirects
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
index 5f555518..7857874b 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_REDIRECT_TIME 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_TIME 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_REDIRECT_TIME \- get the time for all redirection steps
@@ -59,4 +59,4 @@ Added in 7.9.7
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
-.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_REDIRECT_TIME_T "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3
new file mode 100644
index 00000000..8dd0f65f
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_TIME_T.3
@@ -0,0 +1,64 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_REDIRECT_TIME_T 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
+
+.SH NAME
+CURLINFO_REDIRECT_TIME_T \- get the time for all redirection steps
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REDIRECT_TIME_T, curl_off_t *timep);
+.SH DESCRIPTION
+Pass a pointer to a curl_off_t to receive the total time, in microseconds,
+it took for
+all redirection steps include name lookup, connect, pretransfer and transfer
+before final transaction was started. \fICURLINFO_REDIRECT_TIME_T\fP contains
+the complete execution time for multiple redirections.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ curl_off_t redirect;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_REDIRECT_TIME_T, &redirect);
+ if(CURLE_OK == res) {
+ printf("Time: %" CURL_FORMAT_CURL_OFF_T ".%06ld", redirect / 1000000,
+ (long)(redirect % 1000000));
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.61.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_REDIRECT_TIME "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3 b/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
index c44cbe25..6e22a3d9 100644
--- a/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
+++ b/docs/libcurl/opts/CURLINFO_REDIRECT_URL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_REDIRECT_URL 3 "June 24, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_REDIRECT_URL \- get the URL a redirect would go to
diff --git a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3 b/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
index 68002ee1..cacf4f84 100644
--- a/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
+++ b/docs/libcurl/opts/CURLINFO_REQUEST_SIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_REQUEST_SIZE 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_REQUEST_SIZE \- get size of sent request
diff --git a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3 b/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
index 1298eb3f..372c632e 100644
--- a/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
+++ b/docs/libcurl/opts/CURLINFO_RESPONSE_CODE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_RESPONSE_CODE 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RESPONSE_CODE \- get the last response code
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3 b/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
index 6308e3ad..02715017 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_CLIENT_CSEQ.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_CLIENT_CSEQ 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RTSP_CLIENT_CSEQ \- get the next RTSP client CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3 b/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
index 851d9275..da5b5de4 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_CSEQ_RECV.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_CSEQ_RECV 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RTSP_CSEQ_RECV \- get the recently received CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3 b/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
index c6ccb380..3e4163d7 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_SERVER_CSEQ.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RTSP_SERVER_CSEQ \- get the next RTSP server CSeq
diff --git a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3 b/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
index 4854ea93..7092ef7d 100644
--- a/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
+++ b/docs/libcurl/opts/CURLINFO_RTSP_SESSION_ID.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_RTSP_SESSION_ID \- get RTSP session ID
diff --git a/docs/libcurl/opts/CURLINFO_SCHEME.3 b/docs/libcurl/opts/CURLINFO_SCHEME.3
index 98cec7a0..caaf87c9 100644
--- a/docs/libcurl/opts/CURLINFO_SCHEME.3
+++ b/docs/libcurl/opts/CURLINFO_SCHEME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_SCHEME 3 "April 08, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SCHEME \- get the URL scheme (sometimes called protocol) used in the connection
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
index 3d48396c..99dc41d8 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_DOWNLOAD 3 "June 15, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SIZE_DOWNLOAD \- get the number of downloaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
index ff6cea2e..87b03ca0 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SIZE_DOWNLOAD_T \- get the number of downloaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
index 9f8d98e1..7848f766 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_UPLOAD 3 "June 15, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SIZE_UPLOAD \- get the number of uploaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
index 046dd3d4..14208a05 100644
--- a/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SIZE_UPLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_SIZE_UPLOAD_T 3 "March 31, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SIZE_UPLOAD_T \- get the number of uploaded bytes
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3 b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
index 1324290e..54dd45b5 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_DOWNLOAD 3 "June 15, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SPEED_DOWNLOAD \- get download speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
index b9e6abfd..68415f9a 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_DOWNLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_DOWNLOAD_T 3 "March 31, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SPEED_DOWNLOAD_T \- get download speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3 b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
index ffb07401..e92232ea 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_UPLOAD 3 "June 15, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SPEED_UPLOAD \- get upload speed
diff --git a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3 b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
index f16fb500..767dae9f 100644
--- a/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
+++ b/docs/libcurl/opts/CURLINFO_SPEED_UPLOAD_T.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_SPEED_UPLOAD_T 3 "March 31, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SPEED_UPLOAD_T \- get upload speed
diff --git a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3 b/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
index dd82ae34..5a28021d 100644
--- a/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
+++ b/docs/libcurl/opts/CURLINFO_SSL_ENGINES.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_SSL_ENGINES 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SSL_ENGINES \- get an slist of OpenSSL crypto-engines
diff --git a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3 b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
index 2cbaab9d..66c56077 100644
--- a/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
+++ b/docs/libcurl/opts/CURLINFO_SSL_VERIFYRESULT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_SSL_VERIFYRESULT 3 "March 21, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_SSL_VERIFYRESULT \- get the result of the certificate verification
diff --git a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3 b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
index 65939e55..390737a9 100644
--- a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_STARTTRANSFER_TIME 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_STARTTRANSFER_TIME 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_STARTTRANSFER_TIME \- get the time until the first byte is received
@@ -59,4 +59,4 @@ Added in 7.9.2
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
-.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_STARTTRANSFER_TIME_T "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3 b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3
new file mode 100644
index 00000000..9f29df00
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_STARTTRANSFER_TIME_T.3
@@ -0,0 +1,64 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_STARTTRANSFER_TIME_T 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
+
+.SH NAME
+CURLINFO_STARTTRANSFER_TIME_T \- get the time until the first byte is received
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_STARTTRANSFER_TIME_T, curl_off_t *timep);
+.SH DESCRIPTION
+Pass a pointer to a curl_off_t to receive the time, in microseconds,
+it took from the
+start until the first byte is received by libcurl. This includes
+\fICURLINFO_PRETRANSFER_TIME_T(3)\fP and also the time the server needs to
+calculate the result.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ curl_off_t start;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME_T, &start);
+ if(CURLE_OK == res) {
+ printf("Time: %" CURL_FORMAT_CURL_OFF_T ".%06ld", start / 1000000,
+ (long)(start % 1000000));
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.61.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_STARTTRANSFER_TIME "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SESSION.3 b/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
index a322ea1e..4afd2ecc 100644
--- a/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
+++ b/docs/libcurl/opts/CURLINFO_TLS_SESSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_TLS_SESSION 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_TLS_SESSION \- get TLS session info
diff --git a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3 b/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
index adb10751..91555996 100644
--- a/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
+++ b/docs/libcurl/opts/CURLINFO_TLS_SSL_PTR.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_TLS_SSL_PTR 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_TLS_SSL_PTR 3 "June 28, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_TLS_SESSION, CURLINFO_TLS_SSL_PTR \- get TLS session info
@@ -130,14 +130,33 @@ https://github.com/curl/curl/issues/685
All TLS-based
.SH EXAMPLE
.nf
-CURL *curl = curl_easy_init();
-if(curl) {
+#include <curl/curl.h>
+#include <openssl/ssl.h>
+
+CURL *curl;
+static size_t wf(void *ptr, size_t size, size_t nmemb, void *stream)
+{
+ const struct curl_tlssessioninfo *info = NULL;
+ CURLcode res = curl_easy_getinfo(curl, CURLINFO_TLS_SSL_PTR, &info);
+ if(info && !res) {
+ if(CURLSSLBACKEND_OPENSSL == info->backend) {
+ printf("OpenSSL ver. %s\\n", SSL_get_version((SSL*)info->internals));
+ }
+ }
+ return size * nmemb;
+}
+
+int main(int argc, char** argv)
+{
CURLcode res;
- struct curl_tlssessioninfo *tls;
- curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
- res = curl_easy_perform(curl);
- curl_easy_getinfo(curl, CURLINFO_TLS_SSL_PTR, &tls);
- curl_easy_cleanup(curl);
+ curl = curl_easy_init();
+ if(curl) {
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
+ curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, wf);
+ res = curl_easy_perform(curl);
+ curl_easy_cleanup(curl);
+ }
+ return res;
}
.fi
.SH AVAILABILITY
diff --git a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3 b/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
index ed0224aa..a6bc52da 100644
--- a/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
+++ b/docs/libcurl/opts/CURLINFO_TOTAL_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLINFO_TOTAL_TIME 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_getinfo options"
+.TH CURLINFO_TOTAL_TIME 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
.SH NAME
CURLINFO_TOTAL_TIME \- get total time of previous transfer
@@ -58,4 +58,4 @@ Added in 7.4.1
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
-.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_TOTAL_TIME_T "(3)"
diff --git a/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3 b/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3
new file mode 100644
index 00000000..91df224a
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_TOTAL_TIME_T.3
@@ -0,0 +1,62 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_TOTAL_TIME_T 3 "May 17, 2018" "libcurl 7.61.0" "curl_easy_getinfo options"
+
+.SH NAME
+CURLINFO_TOTAL_TIME_T \- get total time of previous transfer in microseconds
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_TOTAL_TIME_T, curl_off_t *timep);
+.SH DESCRIPTION
+Pass a pointer to a curl_off_t to receive the total time in microseconds
+for the previous transfer, including name resolving, TCP connect etc.
+The curl_off_t represents the time in microseconds.
+
+See also the TIMES overview in the \fIcurl_easy_getinfo(3)\fP man page.
+.SH PROTOCOLS
+All
+.SH EXAMPLE
+.nf
+curl = curl_easy_init();
+if(curl) {
+ curl_off_t total;
+ curl_easy_setopt(curl, CURLOPT_URL, url);
+ res = curl_easy_perform(curl);
+ if(CURLE_OK == res) {
+ res = curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME_T, &total);
+ if(CURLE_OK == res) {
+ printf("Time: %" CURL_FORMAT_CURL_OFF_T ".%06ld", total / 1000000,
+ (long)(total % 1000000));
+ }
+ }
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.61.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), " CURLINFO_TOTAL_TIME "(3)"
diff --git a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
index 5052b71c..54ca09de 100644
--- a/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
+++ b/docs/libcurl/opts/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE \- chunk length threshold for pipelining
diff --git a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
index fbd3d88a..e5f23761 100644
--- a/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
+++ b/docs/libcurl/opts/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 3 "May 27, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE \- size threshold for pipelining penalty
diff --git a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3 b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
index 8606ef75..45556225 100644
--- a/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAXCONNECTS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_MAXCONNECTS 3 "May 27, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAXCONNECTS 3 "May 27, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_MAXCONNECTS \- set size of connection cache
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3 b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
index 1b9dcc52..12f8fbff 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_HOST_CONNECTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_HOST_CONNECTIONS 3 "May 27, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_MAX_HOST_CONNECTIONS \- set max number of connections to a single host
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3 b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
index ea27b24f..e0ad6cb3 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_PIPELINE_LENGTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "May 27, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_PIPELINE_LENGTH 3 "May 27, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_MAX_PIPELINE_LENGTH \- maximum number of requests in a pipeline
diff --git a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3 b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
index 8b0b7d65..2be5b78d 100644
--- a/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
+++ b/docs/libcurl/opts/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_MAX_TOTAL_CONNECTIONS 3 "May 27, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_MAX_TOTAL_CONNECTIONS \- max simultaneously open connections
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING.3
index 5df8a6ee..355b4a0a 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_PIPELINING 3 "May 27, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING 3 "May 27, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_PIPELINING \- enable HTTP pipelining and multiplexing
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
index 614a0e6c..c08511a2 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SERVER_BL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_PIPELINING_SERVER_BL 3 "February 03, 2016" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING_SERVER_BL 3 "February 03, 2016" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_PIPELINING_SERVER_BL \- pipelining server blacklist
diff --git a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3 b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
index f5dd2d5c..bb23425a 100644
--- a/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
+++ b/docs/libcurl/opts/CURLMOPT_PIPELINING_SITE_BL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_PIPELINING_SITE_BL 3 "February 03, 2016" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_PIPELINING_SITE_BL 3 "February 03, 2016" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_PIPELINING_SITE_BL \- pipelining host blacklist
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHDATA.3 b/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
index e773e4f9..f269f9b9 100644
--- a/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_PUSHDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_PUSHDATA 3 "May 27, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_PUSHDATA \- pointer to pass to push callback
diff --git a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
index 2b35e2e2..6a87cae2 100644
--- a/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_PUSHFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_PUSHFUNCTION 3 "February 03, 2016" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_PUSHFUNCTION \- callback that approves or denies server pushes
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3 b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
index 61d63c6c..249023c0 100644
--- a/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_SOCKETDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_SOCKETDATA 3 "May 31, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_SOCKETDATA \- custom pointer passed to the socket callback
diff --git a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
index c9f95311..9979e4d7 100644
--- a/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_SOCKETFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_SOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_SOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_SOCKETFUNCTION \- callback informed about what to wait for
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERDATA.3 b/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
index 6b911efb..0489609c 100644
--- a/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
+++ b/docs/libcurl/opts/CURLMOPT_TIMERDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_TIMERDATA 3 "May 27, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_TIMERDATA \- custom pointer to pass to timer callback
diff --git a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3 b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
index 0e3f8ee6..2d207b10 100644
--- a/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
+++ b/docs/libcurl/opts/CURLMOPT_TIMERFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLMOPT_TIMERFUNCTION 3 "May 27, 2017" "libcurl 7.60.0" "curl_multi_setopt options"
+.TH CURLMOPT_TIMERFUNCTION 3 "May 27, 2017" "libcurl 7.61.0" "curl_multi_setopt options"
.SH NAME
CURLMOPT_TIMERFUNCTION \- set callback to receive timeout values
diff --git a/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3 b/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
index 5228b37d..13371381 100644
--- a/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
+++ b/docs/libcurl/opts/CURLOPT_ABSTRACT_UNIX_SOCKET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_ABSTRACT_UNIX_SOCKET 3 "January 09, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ABSTRACT_UNIX_SOCKET \- set an abstract Unix domain socket
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
index b5de9973..c8590925 100644
--- a/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_ACCEPTTIMEOUT_MS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_ACCEPTTIMEOUT_MS 3 "March 06, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ACCEPTTIMEOUT_MS \- timeout waiting for FTP server to connect back
diff --git a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3 b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
index ef96297e..6b3e0fc1 100644
--- a/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
+++ b/docs/libcurl/opts/CURLOPT_ACCEPT_ENCODING.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ACCEPT_ENCODING 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_ACCEPT_ENCODING 3 "May 22, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ACCEPT_ENCODING \- enables automatic decompression of HTTP downloads
@@ -33,12 +33,20 @@ Pass a char * argument specifying what encoding you'd like.
Sets the contents of the Accept-Encoding: header sent in an HTTP request, and
enables decoding of a response when a Content-Encoding: header is received.
-Three encodings are supported: \fIidentity\fP, meaning non-compressed,
-\fIdeflate\fP which requests the server to compress its response using the
-zlib algorithm, and \fIgzip\fP which requests the gzip algorithm.
-If a zero-length string is set like "", then an Accept-Encoding: header
-containing all built-in supported encodings is sent.
+libcurl potentially supports several different compressed encodings depending
+on what support that has been built-in.
+
+To aid applications not having to bother about what specific algorithms this
+particular libcurl build supports, libcurl allows a zero-length string to be
+set ("") to ask for an Accept-Encoding: header to be used that contains all
+built-in supported encodings.
+
+Alternatively, you can specify exactly the encoding or list of encodings you
+want in the response. Four encodings are supported: \fIidentity\fP, meaning
+non-compressed, \fIdeflate\fP which requests the server to compress its
+response using the zlib algorithm, \fIgzip\fP which requests the gzip
+algorithm and (since curl 7.57.0) \fIbr\fP which is brotli.
Set this option to NULL to explicitly disable it, which makes libcurl not send
an Accept-Encoding: header and not decompress contents automatically.
diff --git a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3 b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
index 105cda0b..91928422 100644
--- a/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
+++ b/docs/libcurl/opts/CURLOPT_ADDRESS_SCOPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ADDRESS_SCOPE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_ADDRESS_SCOPE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ADDRESS_SCOPE \- set scope for local IPv6 addresses
diff --git a/docs/libcurl/opts/CURLOPT_APPEND.3 b/docs/libcurl/opts/CURLOPT_APPEND.3
index 6325bc29..4817a0bf 100644
--- a/docs/libcurl/opts/CURLOPT_APPEND.3
+++ b/docs/libcurl/opts/CURLOPT_APPEND.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_APPEND 3 "March 06, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_APPEND \- enable appending to the remote file
diff --git a/docs/libcurl/opts/CURLOPT_AUTOREFERER.3 b/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
index deaaf859..61f13042 100644
--- a/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
+++ b/docs/libcurl/opts/CURLOPT_AUTOREFERER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_AUTOREFERER 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_AUTOREFERER \- automatically update the referer header
diff --git a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3 b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
index 7a03da9d..ec9a41a0 100644
--- a/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_BUFFERSIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_BUFFERSIZE 3 "May 13, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_BUFFERSIZE \- set preferred receive buffer size
diff --git a/docs/libcurl/opts/CURLOPT_CAINFO.3 b/docs/libcurl/opts/CURLOPT_CAINFO.3
index 04b04342..8ef1e326 100644
--- a/docs/libcurl/opts/CURLOPT_CAINFO.3
+++ b/docs/libcurl/opts/CURLOPT_CAINFO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CAINFO 3 "March 10, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CAINFO 3 "March 10, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CAINFO \- path to Certificate Authority (CA) bundle
diff --git a/docs/libcurl/opts/CURLOPT_CAPATH.3 b/docs/libcurl/opts/CURLOPT_CAPATH.3
index 3bf9ccc0..b5d449c3 100644
--- a/docs/libcurl/opts/CURLOPT_CAPATH.3
+++ b/docs/libcurl/opts/CURLOPT_CAPATH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CAPATH 3 "September 10, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CAPATH \- specify directory holding CA certificates
diff --git a/docs/libcurl/opts/CURLOPT_CERTINFO.3 b/docs/libcurl/opts/CURLOPT_CERTINFO.3
index f33fc879..d9a0dc66 100644
--- a/docs/libcurl/opts/CURLOPT_CERTINFO.3
+++ b/docs/libcurl/opts/CURLOPT_CERTINFO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CERTINFO 3 "May 27, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CERTINFO 3 "May 27, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CERTINFO \- request SSL certificate information
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
index 0f1a9fb7..5eb4a195 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_BGN_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_BGN_FUNCTION 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CHUNK_BGN_FUNCTION \- callback before a transfer with FTP wildcardmatch
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3 b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
index db1b58cc..887a4f8b 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_DATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CHUNK_DATA 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_DATA 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CHUNK_DATA \- custom pointer to the FTP chunk callbacks
diff --git a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
index 093373e5..57bf6795 100644
--- a/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CHUNK_END_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CHUNK_END_FUNCTION 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CHUNK_END_FUNCTION \- callback after a transfer with FTP wildcardmatch
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3 b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
index 01c45913..89dcde41 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CLOSESOCKETDATA 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CLOSESOCKETDATA 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CLOSESOCKETDATA \- pointer passed to the socket close callback
diff --git a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3 b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
index bf7ef80e..f4be5c15 100644
--- a/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CLOSESOCKETFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CLOSESOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CLOSESOCKETFUNCTION 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CLOSESOCKETFUNCTION \- callback to socket close replacement function
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3 b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
index 3ea39805..845846ad 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECTTIMEOUT 3 "October 03, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONNECTTIMEOUT \- timeout for the connect phase
diff --git a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
index 3af37f25..fdd21a45 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECTTIMEOUT_MS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 24, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECTTIMEOUT_MS 3 "September 24, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONNECTTIMEOUT_MS \- timeout for the connect phase
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3 b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
index 6eb0e10e..c960fdcf 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECT_ONLY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONNECT_ONLY 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECT_ONLY 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONNECT_ONLY \- stop when connected to target server
diff --git a/docs/libcurl/opts/CURLOPT_CONNECT_TO.3 b/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
index 0cae7d3c..61920d93 100644
--- a/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
+++ b/docs/libcurl/opts/CURLOPT_CONNECT_TO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONNECT_TO 3 "May 05, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CONNECT_TO 3 "May 05, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONNECT_TO \- Connect to a specific host and port instead of the URL's host and port
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
index 5567ec20..985ad63d 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_FROM_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONV_FROM_NETWORK_FUNCTION \- convert data from network to host encoding
diff --git a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
index e546c343..a5fb944a 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_FROM_UTF8_FUNCTION 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONV_FROM_UTF8_FUNCTION \- convert data from UTF8 to host encoding
diff --git a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
index dfc8b5f9..84d1c36e 100644
--- a/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CONV_TO_NETWORK_FUNCTION 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CONV_TO_NETWORK_FUNCTION \- convert data to network from host encoding
diff --git a/docs/libcurl/opts/CURLOPT_COOKIE.3 b/docs/libcurl/opts/CURLOPT_COOKIE.3
index 4626d26e..fb333384 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIE.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIE 3 "December 21, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COOKIE \- set contents of HTTP Cookie header
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEFILE.3 b/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
index c6d2d4cb..260e3475 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIEFILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COOKIEFILE 3 "March 13, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIEFILE 3 "March 13, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COOKIEFILE \- file name to read cookies from
diff --git a/docs/libcurl/opts/CURLOPT_COOKIEJAR.3 b/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
index a3e71321..ee36c54a 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIEJAR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIEJAR 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COOKIEJAR \- file name to store cookies to
diff --git a/docs/libcurl/opts/CURLOPT_COOKIELIST.3 b/docs/libcurl/opts/CURLOPT_COOKIELIST.3
index 438f7c03..67fc20c1 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIELIST.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIELIST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIELIST 3 "April 26, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COOKIELIST \- add to or manipulate cookies held in memory
diff --git a/docs/libcurl/opts/CURLOPT_COOKIESESSION.3 b/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
index bd1a6745..f7167aa9 100644
--- a/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
+++ b/docs/libcurl/opts/CURLOPT_COOKIESESSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_COOKIESESSION 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COOKIESESSION \- start a new cookie session
diff --git a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3 b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
index ca4fe1da..a4a72899 100644
--- a/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
+++ b/docs/libcurl/opts/CURLOPT_COPYPOSTFIELDS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_COPYPOSTFIELDS 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_COPYPOSTFIELDS \- have libcurl copy data to POST
diff --git a/docs/libcurl/opts/CURLOPT_CRLF.3 b/docs/libcurl/opts/CURLOPT_CRLF.3
index 72e71237..c39676eb 100644
--- a/docs/libcurl/opts/CURLOPT_CRLF.3
+++ b/docs/libcurl/opts/CURLOPT_CRLF.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CRLF 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CRLF \- enable/disable CRLF conversion
diff --git a/docs/libcurl/opts/CURLOPT_CRLFILE.3 b/docs/libcurl/opts/CURLOPT_CRLFILE.3
index 26c6c3b9..5eb3e7e2 100644
--- a/docs/libcurl/opts/CURLOPT_CRLFILE.3
+++ b/docs/libcurl/opts/CURLOPT_CRLFILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CRLFILE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CRLFILE \- specify a Certificate Revocation List file
diff --git a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3 b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
index ab7bd6dc..844fc200 100644
--- a/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
+++ b/docs/libcurl/opts/CURLOPT_CUSTOMREQUEST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_CUSTOMREQUEST 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_CUSTOMREQUEST 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_CUSTOMREQUEST \- custom string for request
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGDATA.3 b/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
index e3e279fa..fb61b58c 100644
--- a/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
+++ b/docs/libcurl/opts/CURLOPT_DEBUGDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_DEBUGDATA 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DEBUGDATA \- custom pointer for debug callback
diff --git a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3 b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
index ffff4aae..d6318d6d 100644
--- a/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_DEBUGFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_DEBUGFUNCTION 3 "October 06, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DEBUGFUNCTION \- debug callback
diff --git a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3 b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
index a8fb7c04..8d4672d8 100644
--- a/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
+++ b/docs/libcurl/opts/CURLOPT_DEFAULT_PROTOCOL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_DEFAULT_PROTOCOL 3 "December 21, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DEFAULT_PROTOCOL \- default protocol to use if the URL is missing a
diff --git a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3 b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
index 406c08e3..2609d41a 100644
--- a/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
+++ b/docs/libcurl/opts/CURLOPT_DIRLISTONLY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_DIRLISTONLY 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DIRLISTONLY \- ask for names only in a directory listing
diff --git a/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3 b/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3
new file mode 100644
index 00000000..22e64d95
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_DISALLOW_USERNAME_IN_URL.3
@@ -0,0 +1,57 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_DISALLOW_USERNAME_IN_URL 3 "February 25, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
+
+.SH NAME
+CURLOPT_DISALLOW_USERNAME_IN_URL \- disallow specifying username in the url
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_DISALLOW_USERNAME_IN_URL, long disallow);
+.SH DESCRIPTION
+A long parameter set to 1 tells the library to not allow URLs that include a
+username.
+.SH DEFAULT
+0 (disabled) - user names are allowed by default.
+.SH PROTOCOLS
+Several
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+
+ curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
+ curl_easy_setopt(curl, CURLOPT_DISALLOW_USERNAME_IN_URL, 1L);
+
+ curl_easy_perform(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in libcurl 7.61.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+
+curl_easy_perform() will return CURLE_LOGIN_DENIED if this option is enabled
+and a URL containing a username is specified.
+.SH "SEE ALSO"
+.BR libcurl-security "(3), ", CURLOPT_PROTOCOLS "(3)"
diff --git a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
index 8f1a1342..a830a624 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_CACHE_TIMEOUT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_CACHE_TIMEOUT 3 "December 09, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_CACHE_TIMEOUT \- set life-time for DNS cache entries
diff --git a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3 b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
index 0aecf02e..fbb87d2d 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_INTERFACE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_INTERFACE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_INTERFACE \- set interface to speak DNS over
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3 b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
index 8a9d4daa..1643e3d9 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP4.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_LOCAL_IP4 3 "December 10, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_LOCAL_IP4 \- IPv4 address to bind DNS resolves to
diff --git a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3 b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
index cf88905e..fe1c8d07 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_LOCAL_IP6.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_LOCAL_IP6 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_LOCAL_IP6 \- IPv6 address to bind DNS resolves to
diff --git a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3 b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
index 14761e0c..2e91d0a6 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_SERVERS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_SERVERS 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_SERVERS \- set preferred DNS servers
diff --git a/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3 b/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3
index 90b60368..0a370834 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_SHUFFLE_ADDRESSES.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "March 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_SHUFFLE_ADDRESSES 3 "March 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_SHUFFLE_ADDRESSES \- Shuffle addresses when a hostname returns more than one
diff --git a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3 b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
index 42878f05..b1b08b10 100644
--- a/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
+++ b/docs/libcurl/opts/CURLOPT_DNS_USE_GLOBAL_CACHE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_DNS_USE_GLOBAL_CACHE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_DNS_USE_GLOBAL_CACHE \- enable/disable global DNS cache
diff --git a/docs/libcurl/opts/CURLOPT_EGDSOCKET.3 b/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
index 882f39ee..6dac3778 100644
--- a/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
+++ b/docs/libcurl/opts/CURLOPT_EGDSOCKET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_EGDSOCKET 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_EGDSOCKET \- set EGD socket path
diff --git a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3 b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
index 9d1ad29b..b5e63c25 100644
--- a/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
+++ b/docs/libcurl/opts/CURLOPT_ERRORBUFFER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ERRORBUFFER 3 "March 13, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_ERRORBUFFER 3 "March 13, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ERRORBUFFER \- set error buffer for error messages
diff --git a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
index a1d88f10..c89cb546 100644
--- a/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_EXPECT_100_TIMEOUT_MS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_EXPECT_100_TIMEOUT_MS 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_EXPECT_100_TIMEOUT_MS \- timeout for Expect: 100-continue response
diff --git a/docs/libcurl/opts/CURLOPT_FAILONERROR.3 b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
index e87eab40..e5044441 100644
--- a/docs/libcurl/opts/CURLOPT_FAILONERROR.3
+++ b/docs/libcurl/opts/CURLOPT_FAILONERROR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FAILONERROR 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FAILONERROR 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FAILONERROR \- request failure on HTTP response >= 400
diff --git a/docs/libcurl/opts/CURLOPT_FILETIME.3 b/docs/libcurl/opts/CURLOPT_FILETIME.3
index a07c6f0a..8390c127 100644
--- a/docs/libcurl/opts/CURLOPT_FILETIME.3
+++ b/docs/libcurl/opts/CURLOPT_FILETIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FILETIME 3 "April 03, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FILETIME \- get the modification time of the remote resource
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3 b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
index 0242caf9..1f8b4db9 100644
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_FNMATCH_DATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FNMATCH_DATA 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FNMATCH_DATA \- custom pointer to fnmatch callback
diff --git a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
index 375b0056..c8f07577 100644
--- a/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_FNMATCH_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FNMATCH_FUNCTION 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FNMATCH_FUNCTION \- wildcard matching function callback
diff --git a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3 b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
index 69ceb9c1..98529d0f 100644
--- a/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
+++ b/docs/libcurl/opts/CURLOPT_FOLLOWLOCATION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FOLLOWLOCATION 3 "May 02, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FOLLOWLOCATION 3 "May 02, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FOLLOWLOCATION \- follow HTTP 3xx redirects
diff --git a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3 b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
index bca2cbbd..992f95ce 100644
--- a/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
+++ b/docs/libcurl/opts/CURLOPT_FORBID_REUSE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FORBID_REUSE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FORBID_REUSE \- make connection get closed at once after use
diff --git a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3 b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
index 6cc511fc..d8f1d138 100644
--- a/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
+++ b/docs/libcurl/opts/CURLOPT_FRESH_CONNECT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FRESH_CONNECT 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FRESH_CONNECT \- force a new connection to be used
diff --git a/docs/libcurl/opts/CURLOPT_FTPPORT.3 b/docs/libcurl/opts/CURLOPT_FTPPORT.3
index 8a99d974..fc62a503 100644
--- a/docs/libcurl/opts/CURLOPT_FTPPORT.3
+++ b/docs/libcurl/opts/CURLOPT_FTPPORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTPPORT 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTPPORT \- make FTP transfer active
diff --git a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3 b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
index 28db721d..a0682cb5 100644
--- a/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_FTPSSLAUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTPSSLAUTH 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTPSSLAUTH \- set order in which to attempt TLS vs SSL when using FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3 b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
index a467d4af..4e3f3bee 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_ACCOUNT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_ACCOUNT 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_ACCOUNT \- set account info for FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3 b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
index 7d2f91ce..42311b2b 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_ALTERNATIVE_TO_USER 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_ALTERNATIVE_TO_USER \- command to use instead of USER with FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3 b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
index 559141bc..eeaf1d7b 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_CREATE_MISSING_DIRS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_CREATE_MISSING_DIRS 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_CREATE_MISSING_DIRS \- create missing dirs for FTP and SFTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3 b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
index 6271476e..d983b5a0 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_FILEMETHOD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_FILEMETHOD 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_FILEMETHOD \- select directory traversing method for FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
index bc3edc41..bbff090a 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_RESPONSE_TIMEOUT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_RESPONSE_TIMEOUT 3 "October 03, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_RESPONSE_TIMEOUT \- time allowed to wait for FTP response
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3 b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
index 13a236cf..5044b81b 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_SKIP_PASV_IP.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_SKIP_PASV_IP 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_SKIP_PASV_IP \- ignore the IP address in the PASV response
diff --git a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3 b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
index d1864b2c..a591cde3 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_SSL_CCC.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_SSL_CCC 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_SSL_CCC \- switch off SSL again with FTP after auth
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
index ea7a746a..83311f56 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_EPRT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_EPRT 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_USE_EPRT \- enable/disable use of EPRT with FTP
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
index f6a5026d..69e22fc1 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_EPSV.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_EPSV 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_USE_EPSV \- enable/disable use of EPSV
diff --git a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3 b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
index b253b38f..4256e3a1 100644
--- a/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
+++ b/docs/libcurl/opts/CURLOPT_FTP_USE_PRET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_FTP_USE_PRET 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_FTP_USE_PRET \- enable the PRET command
diff --git a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3 b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
index cb23b132..f069ba11 100644
--- a/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
+++ b/docs/libcurl/opts/CURLOPT_GSSAPI_DELEGATION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_GSSAPI_DELEGATION 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_GSSAPI_DELEGATION \- set allowed GSS-API delegation
diff --git a/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
index ac9a564a..1ca8112c 100644
--- a/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "February 21, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS 3 "February 21, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS \- head start for ipv6 for happy eyeballs
diff --git a/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3 b/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3
index e4c18703..6da65894 100644
--- a/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3
+++ b/docs/libcurl/opts/CURLOPT_HAPROXYPROTOCOL.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,10 +20,10 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HAPROXYPROTOCOL 3 "December 01, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HAPROXYPROTOCOL 3 "May 18, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
-CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol header
+CURLOPT_HAPROXYPROTOCOL \- send HAProxy PROXY protocol v1 header
.SH SYNOPSIS
#include <curl/curl.h>
@@ -31,7 +31,7 @@ CURLcode curl_easy_setopt(CURL *handle, CURLOPT_HAPROXYPROTOCOL,
long haproxy_protocol);
.SH DESCRIPTION
A long parameter set to 1 tells the library to send an HAProxy PROXY
-protocol header at beginning of the connection. The default action is not to
+protocol v1 header at beginning of the connection. The default action is not to
send this header.
This option is primarily useful when sending test requests to a service that
@@ -39,7 +39,7 @@ expects this header.
Most applications do not need this option.
.SH DEFAULT
-0, do not send HAProxy PROXY protocol header
+0, do not send any HAProxy PROXY protocol header
.SH PROTOCOLS
HTTP
.SH EXAMPLE
diff --git a/docs/libcurl/opts/CURLOPT_HEADER.3 b/docs/libcurl/opts/CURLOPT_HEADER.3
index 4f2a0ecc..703faf8a 100644
--- a/docs/libcurl/opts/CURLOPT_HEADER.3
+++ b/docs/libcurl/opts/CURLOPT_HEADER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HEADER 3 "February 16, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADER 3 "February 16, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HEADER \- pass headers to the data stream
diff --git a/docs/libcurl/opts/CURLOPT_HEADERDATA.3 b/docs/libcurl/opts/CURLOPT_HEADERDATA.3
index efca41b9..2727c2ad 100644
--- a/docs/libcurl/opts/CURLOPT_HEADERDATA.3
+++ b/docs/libcurl/opts/CURLOPT_HEADERDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADERDATA 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HEADERDATA \- pointer to pass to header callback
diff --git a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3 b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
index 123c61c3..94d4ed7b 100644
--- a/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_HEADERFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HEADERFUNCTION 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADERFUNCTION 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HEADERFUNCTION \- callback that receives header data
diff --git a/docs/libcurl/opts/CURLOPT_HEADEROPT.3 b/docs/libcurl/opts/CURLOPT_HEADEROPT.3
index 332e6c83..8f5045ff 100644
--- a/docs/libcurl/opts/CURLOPT_HEADEROPT.3
+++ b/docs/libcurl/opts/CURLOPT_HEADEROPT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HEADEROPT 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HEADEROPT 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HEADEROPT \- set how to send HTTP headers
diff --git a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3 b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
index f984435c..86e1b118 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP200ALIASES.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP200ALIASES 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTP200ALIASES \- specify alternative matches for HTTP 200 OK
diff --git a/docs/libcurl/opts/CURLOPT_HTTPAUTH.3 b/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
index f4313736..89c75578 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPAUTH.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPAUTH 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPAUTH 3 "June 15, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPAUTH \- set HTTP server authentication methods to try
@@ -57,6 +57,10 @@ defined in RFC2617 and is a more secure way to do authentication over public
networks than the regular old-fashioned Basic method. The IE flavor is simply
that libcurl will use a special "quirk" that IE is known to have used before
version 7 and that some servers require the client to use.
+.IP CURLAUTH_BEARER
+HTTP Bearer token authentication, used primarily in OAuth 2.0 protocol.
+
+You can set the Bearer token to use with \fICURLOPT_XOAUTH2_BEARER(3)\fP.
.IP CURLAUTH_NEGOTIATE
HTTP Negotiate (SPNEGO) authentication. Negotiate authentication is defined
in RFC 4559 and is the most secure way to perform authentication over HTTP.
@@ -119,6 +123,8 @@ CURLAUTH_DIGEST_IE was added in 7.19.3
CURLAUTH_ONLY was added in 7.21.3
CURLAUTH_NTLM_WB was added in 7.22.0
+
+CURLAUTH_BEARER was added in 7.61.0
.SH RETURN VALUE
Returns CURLE_OK if the option is supported, CURLE_UNKNOWN_OPTION if not, or
CURLE_NOT_BUILT_IN if the bitmask specified no supported authentication
diff --git a/docs/libcurl/opts/CURLOPT_HTTPGET.3 b/docs/libcurl/opts/CURLOPT_HTTPGET.3
index db1c84c7..7fe086cc 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPGET.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPGET.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPGET 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPGET 3 "May 21, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPGET \- ask for an HTTP GET request
@@ -35,6 +35,10 @@ same curl \fIhandle\fP.
When setting \fICURLOPT_HTTPGET(3)\fP to 1, it will automatically set
\fICURLOPT_NOBODY(3)\fP to 0 and \fICURLOPT_UPLOAD(3)\fP to 0.
+
+Setting this option to zero has no effect. Applications need to explicitly
+select which HTTP request method to use, they cannot deselect a method. To
+reset a handle to default method, consider \fIcurl_easy_reset(3)\fP.
.SH DEFAULT
0
.SH PROTOCOLS
@@ -45,10 +49,10 @@ curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
- /* use a GET to fetch this */
+ /* use a GET to fetch this */
curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L);
- /* Perform the request */
+ /* Perform the request */
curl_easy_perform(curl);
}
.fi
@@ -57,4 +61,5 @@ Along with HTTP
.SH RETURN VALUE
Returns CURLE_OK if HTTP is supported, and CURLE_UNKNOWN_OPTION if not.
.SH "SEE ALSO"
-.BR CURLOPT_NOBODY "(3), " CURLOPT_UPLOAD "(3), "
+.BR CURLOPT_NOBODY "(3), " CURLOPT_UPLOAD "(3), " CURLOPT_POST "(3), "
+.BR curl_easy_reset "(3) "
diff --git a/docs/libcurl/opts/CURLOPT_HTTPHEADER.3 b/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
index f86b955f..38a59411 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPHEADER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPHEADER 3 "January 23, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPHEADER 3 "January 23, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPHEADER \- set custom HTTP headers
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPOST.3 b/docs/libcurl/opts/CURLOPT_HTTPPOST.3
index dcf5b777..5004303b 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPPOST.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPPOST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPPOST 3 "September 02, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPPOST \- specify the multipart formpost content
diff --git a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3 b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
index 08873218..e23e8fff 100644
--- a/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
+++ b/docs/libcurl/opts/CURLOPT_HTTPPROXYTUNNEL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTPPROXYTUNNEL 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTPPROXYTUNNEL 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTPPROXYTUNNEL \- tunnel through HTTP proxy
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3 b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
index 0a10cc34..503f6579 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_CONTENT_DECODING.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_CONTENT_DECODING 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTP_CONTENT_DECODING \- enable/disable HTTP content decoding
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3 b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
index 07ec5868..6047ab19 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_TRANSFER_DECODING.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_TRANSFER_DECODING 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTP_TRANSFER_DECODING \- enable/disable HTTP transfer decoding
diff --git a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3 b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
index e31cf71e..da29d164 100644
--- a/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
+++ b/docs/libcurl/opts/CURLOPT_HTTP_VERSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_HTTP_VERSION 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_HTTP_VERSION 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_HTTP_VERSION \- specify HTTP protocol version to use
diff --git a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3 b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
index 501a45c7..26fc1ea9 100644
--- a/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
+++ b/docs/libcurl/opts/CURLOPT_IGNORE_CONTENT_LENGTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_IGNORE_CONTENT_LENGTH 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_IGNORE_CONTENT_LENGTH \- ignore content length
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE.3 b/docs/libcurl/opts/CURLOPT_INFILESIZE.3
index 0c21cedc..a0300ffa 100644
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE.3
+++ b/docs/libcurl/opts/CURLOPT_INFILESIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_INFILESIZE 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_INFILESIZE \- set size of the input file to send off
diff --git a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
index a124a4cf..d4d94b82 100644
--- a/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_INFILESIZE_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INFILESIZE_LARGE 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_INFILESIZE_LARGE 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_INFILESIZE_LARGE \- set size of the input file to send off
diff --git a/docs/libcurl/opts/CURLOPT_INTERFACE.3 b/docs/libcurl/opts/CURLOPT_INTERFACE.3
index a69ba640..32619c6f 100644
--- a/docs/libcurl/opts/CURLOPT_INTERFACE.3
+++ b/docs/libcurl/opts/CURLOPT_INTERFACE.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INTERFACE 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERFACE 3 "June 18, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_INTERFACE \- source interface for outgoing traffic
@@ -42,6 +42,9 @@ multi interfaces to avoid allowing the code to block. If "if!" is specified
but the parameter does not match an existing interface, CURLE_INTERFACE_FAILED
is returned from the libcurl function used to perform the transfer.
+libcurl does not support using network interface names for this option on
+Windows.
+
The application does not have to keep the string around after setting this
option.
.SH DEFAULT
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3 b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
index 047b8603..9490343d 100644
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
+++ b/docs/libcurl/opts/CURLOPT_INTERLEAVEDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERLEAVEDATA 3 "September 15, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_INTERLEAVEDATA \- custom pointer passed to RTSP interleave callback
diff --git a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3 b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
index e3e44656..d52af41e 100644
--- a/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_INTERLEAVEFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_INTERLEAVEFUNCTION 3 "September 15, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_INTERLEAVEFUNCTION 3 "September 15, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_INTERLEAVEFUNCTION \- callback function for RTSP interleaved data
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLDATA.3 b/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
index b5e1695e..9ba850ad 100644
--- a/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
+++ b/docs/libcurl/opts/CURLOPT_IOCTLDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_IOCTLDATA 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_IOCTLDATA \- custom pointer passed to I/O callback
diff --git a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3 b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
index 18d4de9b..c362dd1e 100644
--- a/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_IOCTLFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_IOCTLFUNCTION 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_IOCTLFUNCTION 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_IOCTLFUNCTION \- callback for I/O operations
diff --git a/docs/libcurl/opts/CURLOPT_IPRESOLVE.3 b/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
index f340a474..84a64409 100644
--- a/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
+++ b/docs/libcurl/opts/CURLOPT_IPRESOLVE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_IPRESOLVE 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_IPRESOLVE \- specify which IP protocol version to use
diff --git a/docs/libcurl/opts/CURLOPT_ISSUERCERT.3 b/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
index 535f6902..d60cdbab 100644
--- a/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
+++ b/docs/libcurl/opts/CURLOPT_ISSUERCERT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_ISSUERCERT 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_ISSUERCERT \- issuer SSL certificate filename
diff --git a/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3 b/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
index a7f88587..4782cb7c 100644
--- a/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
+++ b/docs/libcurl/opts/CURLOPT_KEEP_SENDING_ON_ERROR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_KEEP_SENDING_ON_ERROR 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_KEEP_SENDING_ON_ERROR \- keep sending on early HTTP response >= 300
diff --git a/docs/libcurl/opts/CURLOPT_KEYPASSWD.3 b/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
index 866619af..bb1435b6 100644
--- a/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
+++ b/docs/libcurl/opts/CURLOPT_KEYPASSWD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_KEYPASSWD 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_KEYPASSWD \- set passphrase to private key
diff --git a/docs/libcurl/opts/CURLOPT_KRBLEVEL.3 b/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
index e4e00268..66fabf1f 100644
--- a/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
+++ b/docs/libcurl/opts/CURLOPT_KRBLEVEL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_KRBLEVEL 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_KRBLEVEL \- set FTP kerberos security level
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORT.3 b/docs/libcurl/opts/CURLOPT_LOCALPORT.3
index 3f0a3ef1..31eaddb4 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORT.3
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOCALPORT 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_LOCALPORT 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_LOCALPORT \- set local port number to use for socket
diff --git a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3 b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
index 113fbbef..fe68b881 100644
--- a/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
+++ b/docs/libcurl/opts/CURLOPT_LOCALPORTRANGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOCALPORTRANGE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_LOCALPORTRANGE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_LOCALPORTRANGE \- number of additional local ports to try
diff --git a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
index 80e8329e..31a378cf 100644
--- a/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_LOGIN_OPTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_LOGIN_OPTIONS 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_LOGIN_OPTIONS \- set login options
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3 b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
index 5326f359..f37371d4 100644
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
+++ b/docs/libcurl/opts/CURLOPT_LOW_SPEED_LIMIT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_LOW_SPEED_LIMIT 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_LOW_SPEED_LIMIT \- set low speed limit in bytes per second
diff --git a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3 b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
index 2a2b8759..bcbe8afe 100644
--- a/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
+++ b/docs/libcurl/opts/CURLOPT_LOW_SPEED_TIME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_LOW_SPEED_TIME 3 "May 06, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_LOW_SPEED_TIME \- set low speed limit time period
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3 b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
index 92fb10e8..677a506e 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_AUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_AUTH 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAIL_AUTH \- SMTP authentication address
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_FROM.3 b/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
index e4ff2de5..5e2bc44d 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_FROM.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_FROM 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAIL_FROM \- SMTP sender address
diff --git a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3 b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
index 0bc6dde4..f663376a 100644
--- a/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
+++ b/docs/libcurl/opts/CURLOPT_MAIL_RCPT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAIL_RCPT 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_MAIL_RCPT 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAIL_RCPT \- list of SMTP mail recipients
diff --git a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3 b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
index 20802a2c..4a68c1bc 100644
--- a/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
+++ b/docs/libcurl/opts/CURLOPT_MAXCONNECTS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXCONNECTS 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAXCONNECTS \- maximum connection cache size
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3 b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
index f5be48ab..5b9abaff 100644
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
+++ b/docs/libcurl/opts/CURLOPT_MAXFILESIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXFILESIZE 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAXFILESIZE \- maximum file size allowed to download
diff --git a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
index dbf7584a..32cb8e9f 100644
--- a/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAXFILESIZE_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXFILESIZE_LARGE 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAXFILESIZE_LARGE \- maximum file size allowed to download
diff --git a/docs/libcurl/opts/CURLOPT_MAXREDIRS.3 b/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
index 0a1c042e..95d550ef 100644
--- a/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
+++ b/docs/libcurl/opts/CURLOPT_MAXREDIRS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_MAXREDIRS 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAXREDIRS \- maximum number of redirects allowed
diff --git a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
index 243eb47b..ed484135 100644
--- a/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAX_RECV_SPEED_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_MAX_RECV_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAX_RECV_SPEED_LARGE \- rate limit data download speed
diff --git a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3 b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
index dafb0fe8..e1751efa 100644
--- a/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_MAX_SEND_SPEED_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_MAX_SEND_SPEED_LARGE 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MAX_SEND_SPEED_LARGE \- rate limit data upload speed
diff --git a/docs/libcurl/opts/CURLOPT_MIMEPOST.3 b/docs/libcurl/opts/CURLOPT_MIMEPOST.3
index 39dea68e..20a051c9 100644
--- a/docs/libcurl/opts/CURLOPT_MIMEPOST.3
+++ b/docs/libcurl/opts/CURLOPT_MIMEPOST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_MIMEPOST 3 "September 04, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_MIMEPOST \- set post/send data from mime structure
diff --git a/docs/libcurl/opts/CURLOPT_NETRC.3 b/docs/libcurl/opts/CURLOPT_NETRC.3
index 5a855061..e927df2f 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC.3
+++ b/docs/libcurl/opts/CURLOPT_NETRC.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NETRC 3 "May 02, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_NETRC 3 "May 02, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NETRC \- request that .netrc is used
diff --git a/docs/libcurl/opts/CURLOPT_NETRC_FILE.3 b/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
index 65b104dd..d130c137 100644
--- a/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
+++ b/docs/libcurl/opts/CURLOPT_NETRC_FILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_NETRC_FILE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NETRC_FILE \- file name to read .netrc info from
diff --git a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3 b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
index c84c0f51..84eac3c5 100644
--- a/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
+++ b/docs/libcurl/opts/CURLOPT_NEW_DIRECTORY_PERMS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_NEW_DIRECTORY_PERMS 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NEW_DIRECTORY_PERMS \- permissions for remotely created directories
diff --git a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3 b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
index f3f25af7..1dcefd99 100644
--- a/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
+++ b/docs/libcurl/opts/CURLOPT_NEW_FILE_PERMS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_NEW_FILE_PERMS 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NEW_FILE_PERMS \- permissions for remotely created files
diff --git a/docs/libcurl/opts/CURLOPT_NOBODY.3 b/docs/libcurl/opts/CURLOPT_NOBODY.3
index 2faf1723..cd54e8a8 100644
--- a/docs/libcurl/opts/CURLOPT_NOBODY.3
+++ b/docs/libcurl/opts/CURLOPT_NOBODY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_NOBODY 3 "June 21, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NOBODY \- do the download request without getting the body
diff --git a/docs/libcurl/opts/CURLOPT_NOPROGRESS.3 b/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
index 5ee93400..6951efa8 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
+++ b/docs/libcurl/opts/CURLOPT_NOPROGRESS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_NOPROGRESS 3 "October 09, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NOPROGRESS \- switch off the progress meter
diff --git a/docs/libcurl/opts/CURLOPT_NOPROXY.3 b/docs/libcurl/opts/CURLOPT_NOPROXY.3
index e05a9e96..6f55e506 100644
--- a/docs/libcurl/opts/CURLOPT_NOPROXY.3
+++ b/docs/libcurl/opts/CURLOPT_NOPROXY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NOPROXY 3 "March 03, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_NOPROXY 3 "March 03, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NOPROXY \- disable proxy use for specific hosts
diff --git a/docs/libcurl/opts/CURLOPT_NOSIGNAL.3 b/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
index bc5150ee..fd2e1f87 100644
--- a/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
+++ b/docs/libcurl/opts/CURLOPT_NOSIGNAL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_NOSIGNAL 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_NOSIGNAL \- skip all signal handling
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3 b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
index ac9e9e71..0abf5d9e 100644
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
+++ b/docs/libcurl/opts/CURLOPT_OPENSOCKETDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_OPENSOCKETDATA 3 "May 15, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_OPENSOCKETDATA \- custom pointer passed to open socket callback
diff --git a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3 b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
index e2bb7fbb..9717cce8 100644
--- a/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_OPENSOCKETFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_OPENSOCKETFUNCTION 3 "May 15, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_OPENSOCKETFUNCTION 3 "May 15, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_OPENSOCKETFUNCTION \- set callback for opening sockets
diff --git a/docs/libcurl/opts/CURLOPT_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_PASSWORD.3
index d0514b06..8a37ea7d 100644
--- a/docs/libcurl/opts/CURLOPT_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PASSWORD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PASSWORD 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PASSWORD 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PASSWORD \- password to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3 b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
index 74da2dfb..0473fd93 100644
--- a/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
+++ b/docs/libcurl/opts/CURLOPT_PATH_AS_IS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PATH_AS_IS 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PATH_AS_IS 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PATH_AS_IS \- do not handle dot dot sequences
diff --git a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
index 0dd8fa9b..a3026362 100644
--- a/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PINNEDPUBLICKEY 3 "January 25, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PINNEDPUBLICKEY 3 "January 25, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PINNEDPUBLICKEY \- set pinned public key
diff --git a/docs/libcurl/opts/CURLOPT_PIPEWAIT.3 b/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
index 8f21f2f0..5f01e8b7 100644
--- a/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
+++ b/docs/libcurl/opts/CURLOPT_PIPEWAIT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PIPEWAIT 3 "May 01, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PIPEWAIT \- wait for pipelining/multiplexing
diff --git a/docs/libcurl/opts/CURLOPT_PORT.3 b/docs/libcurl/opts/CURLOPT_PORT.3
index 8aa935f0..72168128 100644
--- a/docs/libcurl/opts/CURLOPT_PORT.3
+++ b/docs/libcurl/opts/CURLOPT_PORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PORT 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PORT \- set remote port number to work with
diff --git a/docs/libcurl/opts/CURLOPT_POST.3 b/docs/libcurl/opts/CURLOPT_POST.3
index 8d6bd963..218c78f8 100644
--- a/docs/libcurl/opts/CURLOPT_POST.3
+++ b/docs/libcurl/opts/CURLOPT_POST.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POST 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_POST 3 "May 21, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POST \- request an HTTP POST
@@ -58,8 +58,8 @@ adding a header like "Transfer-Encoding: chunked" with
\fICURLOPT_HTTPHEADER(3)\fP. With HTTP 1.0 or without chunked transfer, you
must specify the size in the request.
-When setting \fICURLOPT_POST(3)\fP to 1, it will automatically set
-\fICURLOPT_NOBODY(3)\fP to 0.
+When setting \fICURLOPT_POST(3)\fP to 1, libcurl will automatically set
+\fICURLOPT_NOBODY(3)\fP and \fICURLOPT_HTTPGET(3)\fP to 0.
If you issue a POST request and then want to make a HEAD or GET using the same
re-used handle, you must explicitly set the new request type using
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
index 18fcacc7..caba5801 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDS.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTFIELDS 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDS 3 "May 21, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POSTFIELDS \- specify data to POST to server
@@ -46,7 +46,7 @@ used by HTML forms. Change Content-Type with \fICURLOPT_HTTPHEADER(3)\fP.
You can use \fIcurl_easy_escape(3)\fP to url-encode your data, if necessary. It
returns a pointer to an encoded string that can be passed as \fIpostdata\fP.
-Using \fICURLOPT_POSTFIELDS(3)\fP implies \fICURLOPT_POST(3)\fP.
+Using \fICURLOPT_POSTFIELDS(3)\fP implies setting \fICURLOPT_POST(3)\fP to 1.
If \fICURLOPT_POSTFIELDS(3)\fP is explicitly set to NULL then libcurl will get
the POST data from the read callback. If you want to send a zero-byte POST set
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
index 153ef091..1860a406 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDSIZE 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POSTFIELDSIZE \- size of POST data pointed to
diff --git a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3 b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
index f8a1358d..bc997554 100644
--- a/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTFIELDSIZE_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTFIELDSIZE_LARGE 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POSTFIELDSIZE_LARGE \- size of POST data pointed to
diff --git a/docs/libcurl/opts/CURLOPT_POSTQUOTE.3 b/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
index e23d556a..b2cd2ef3 100644
--- a/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_POSTQUOTE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTQUOTE 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTQUOTE 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POSTQUOTE \- (S)FTP commands to run after the transfer
diff --git a/docs/libcurl/opts/CURLOPT_POSTREDIR.3 b/docs/libcurl/opts/CURLOPT_POSTREDIR.3
index af58bdf1..5799463d 100644
--- a/docs/libcurl/opts/CURLOPT_POSTREDIR.3
+++ b/docs/libcurl/opts/CURLOPT_POSTREDIR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_POSTREDIR 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_POSTREDIR 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_POSTREDIR \- how to act on an HTTP POST redirect
diff --git a/docs/libcurl/opts/CURLOPT_PREQUOTE.3 b/docs/libcurl/opts/CURLOPT_PREQUOTE.3
index 1718c16a..8a9625c0 100644
--- a/docs/libcurl/opts/CURLOPT_PREQUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_PREQUOTE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PREQUOTE 3 "June 18, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PREQUOTE 3 "June 18, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PREQUOTE \- commands to run before an FTP transfer
diff --git a/docs/libcurl/opts/CURLOPT_PRE_PROXY.3 b/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
index d8330de2..b0050edb 100644
--- a/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
+++ b/docs/libcurl/opts/CURLOPT_PRE_PROXY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PRE_PROXY 3 "May 15, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PRE_PROXY 3 "May 15, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PRE_PROXY \- set pre-proxy to use
diff --git a/docs/libcurl/opts/CURLOPT_PRIVATE.3 b/docs/libcurl/opts/CURLOPT_PRIVATE.3
index b73bc07b..665640ad 100644
--- a/docs/libcurl/opts/CURLOPT_PRIVATE.3
+++ b/docs/libcurl/opts/CURLOPT_PRIVATE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PRIVATE 3 "December 08, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PRIVATE \- store a private pointer
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3 b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
index dea3be87..04426a9f 100644
--- a/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
+++ b/docs/libcurl/opts/CURLOPT_PROGRESSDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROGRESSDATA 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROGRESSDATA \- custom pointer passed to the progress callback
diff --git a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3 b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
index c738cc68..226dd99f 100644
--- a/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_PROGRESSFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROGRESSFUNCTION 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROGRESSFUNCTION 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROGRESSFUNCTION \- callback to progress meter function
diff --git a/docs/libcurl/opts/CURLOPT_PROTOCOLS.3 b/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
index bc1418a6..fcb0e7ac 100644
--- a/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
+++ b/docs/libcurl/opts/CURLOPT_PROTOCOLS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROTOCOLS 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROTOCOLS \- set allowed protocols
diff --git a/docs/libcurl/opts/CURLOPT_PROXY.3 b/docs/libcurl/opts/CURLOPT_PROXY.3
index 4bf04522..236f754f 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY \- set proxy to use
diff --git a/docs/libcurl/opts/CURLOPT_PROXYAUTH.3 b/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
index 3eae9e3b..91802799 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYAUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYAUTH 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYAUTH \- set HTTP proxy authentication methods to try
diff --git a/docs/libcurl/opts/CURLOPT_PROXYHEADER.3 b/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
index 0df10839..52efbc41 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYHEADER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYHEADER 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYHEADER \- custom HTTP headers to pass to proxy
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3 b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
index fe56ae94..7fd1b007 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYPASSWORD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYPASSWORD 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYPASSWORD \- password to use with proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXYPORT.3 b/docs/libcurl/opts/CURLOPT_PROXYPORT.3
index 57690699..d086c453 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYPORT.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYPORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYPORT 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYPORT \- port number the proxy listens on
diff --git a/docs/libcurl/opts/CURLOPT_PROXYTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
index 87b35c6d..e9621042 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYTYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYTYPE 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYTYPE \- proxy protocol type
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3 b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
index 6fa706fd..0754c7ca 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERNAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYUSERNAME 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYUSERNAME \- user name to use for proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3 b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
index cbbb1184..e9f1997b 100644
--- a/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXYUSERPWD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXYUSERPWD 3 "May 30, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXYUSERPWD \- user name and password to use for proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3 b/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
index ff54d719..424f48ce 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CAINFO.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_CAINFO 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CAINFO 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_CAINFO \- path to proxy Certificate Authority (CA) bundle
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3 b/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
index 8ef27f2a..6ec6d6bd 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CAPATH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_CAPATH 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CAPATH 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_CAPATH \- specify directory holding proxy CA certificates
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3 b/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
index e3513a4a..51ffb2c9 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_CRLFILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_CRLFILE 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_CRLFILE 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_CRLFILE \- specify a proxy Certificate Revocation List file
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3 b/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
index ddc770d1..c4f631e8 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_KEYPASSWD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_KEYPASSWD 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_KEYPASSWD 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_KEYPASSWD \- set passphrase to proxy private key
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
index cea21f71..ef9156cf 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_PINNEDPUBLICKEY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_PINNEDPUBLICKEY 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_PINNEDPUBLICKEY \- set pinned public key for https proxy
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3 b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
index e0e367a8..f8dfc9ce 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SERVICE_NAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SERVICE_NAME \- proxy authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
index 9c759f2f..e5164238 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSLCERT 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLCERT 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLCERT \- set SSL proxy client certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
index 24eda85e..e418d220 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLCERTTYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSLCERTTYPE 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLCERTTYPE 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLCERTTYPE \- specify type of the proxy client SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
index 06e07832..eeba148f 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLKEY 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLKEY \- specify private keyfile for TLS and SSL proxy client cert
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
index 80036ad8..edefca7a 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLKEYTYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSLKEYTYPE 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLKEYTYPE 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLKEYTYPE \- set type of the proxy private key file
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
index b09477ac..f267f722 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSLVERSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSLVERSION 3 "January 10, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSLVERSION 3 "January 10, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSLVERSION \- set preferred proxy TLS/SSL version
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
index 95d8716b..2adaaf12 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_CIPHER_LIST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_CIPHER_LIST 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSL_CIPHER_LIST \- specify ciphers to use for proxy TLS
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
index 5097e154..8f37ea18 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_OPTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSL_OPTIONS 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_OPTIONS 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSL_OPTIONS \- set proxy SSL behavior options
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
index 3a5b30f4..8d665550 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYHOST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "May 02, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_VERIFYHOST 3 "May 02, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSL_VERIFYHOST \- verify the proxy certificate's name against host
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3 b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
index 0621797b..7a80aa22 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_SSL_VERIFYPEER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_SSL_VERIFYPEER 3 "December 16, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_SSL_VERIFYPEER \- verify the proxy's SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3
new file mode 100644
index 00000000..771b229b
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLS13_CIPHERS.3
@@ -0,0 +1,64 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_PROXY_TLS13_CIPHERS 3 "May 29, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
+
+.SH NAME
+CURLOPT_PROXY_TLS13_CIPHERS \- ciphers suites for proxy TLS 1.3
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_PROXY_TLS13_CIPHERS, char *list);
+.SH DESCRIPTION
+Pass a char *, pointing to a zero terminated string holding the list of cipher
+suites to use for the TLS 1.3 connection to a proxy. The list must be
+syntactically correct, it consists of one or more cipher suite strings
+separated by colons.
+
+You'll find more details about cipher lists on this URL:
+
+ https://curl.haxx.se/docs/ssl-ciphers.html
+
+The application does not have to keep the string around after setting this
+option.
+.SH DEFAULT
+NULL, use internal default
+.SH PROTOCOLS
+All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
+ curl_easy_setopt(curl, CURLOPT_PROXY_TLS13_CIPHERS,
+ "TLS13-CHACHA20-POLY1305-SHA256");
+ ret = curl_easy_perform(curl);
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.61.0.
+Available when built with OpenSSL >= 1.1.1.
+.SH RETURN VALUE
+Returns CURLE_OK if supported, CURLE_NOT_BUILT_IN otherwise.
+.SH "SEE ALSO"
+.BR CURLOPT_SSLVERSION "(3), " CURLOPT_TLS13_CIPHERS "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
index dea77c03..d21fe6e3 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_PASSWORD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_TLSAUTH_PASSWORD \- password to use for proxy TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
index cb89cac6..875e4f7a 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_TYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_TLSAUTH_TYPE \- set proxy TLS authentication methods
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3 b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
index 35a65a1c..70c08d5e 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TLSAUTH_USERNAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_TLSAUTH_USERNAME \- user name to use for proxy TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3 b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
index fb34e20b..0f9eb1a1 100644
--- a/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
+++ b/docs/libcurl/opts/CURLOPT_PROXY_TRANSFER_MODE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PROXY_TRANSFER_MODE 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PROXY_TRANSFER_MODE 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PROXY_TRANSFER_MODE \- append FTP transfer mode to URL for proxy
diff --git a/docs/libcurl/opts/CURLOPT_PUT.3 b/docs/libcurl/opts/CURLOPT_PUT.3
index 0c57a8c2..d828d467 100644
--- a/docs/libcurl/opts/CURLOPT_PUT.3
+++ b/docs/libcurl/opts/CURLOPT_PUT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_PUT 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_PUT 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_PUT \- make an HTTP PUT request
diff --git a/docs/libcurl/opts/CURLOPT_QUOTE.3 b/docs/libcurl/opts/CURLOPT_QUOTE.3
index 911b7893..e038e681 100644
--- a/docs/libcurl/opts/CURLOPT_QUOTE.3
+++ b/docs/libcurl/opts/CURLOPT_QUOTE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_QUOTE 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_QUOTE 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_QUOTE \- (S)FTP commands to run before transfer
diff --git a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3 b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
index eb7a4181..9749b7a6 100644
--- a/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
+++ b/docs/libcurl/opts/CURLOPT_RANDOM_FILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RANDOM_FILE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RANDOM_FILE \- specify a source for random data
diff --git a/docs/libcurl/opts/CURLOPT_RANGE.3 b/docs/libcurl/opts/CURLOPT_RANGE.3
index e1dd8677..b1571921 100644
--- a/docs/libcurl/opts/CURLOPT_RANGE.3
+++ b/docs/libcurl/opts/CURLOPT_RANGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RANGE 3 "December 21, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RANGE 3 "December 21, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RANGE \- set byte range to request
diff --git a/docs/libcurl/opts/CURLOPT_READDATA.3 b/docs/libcurl/opts/CURLOPT_READDATA.3
index c8743fc1..f7ba6a84 100644
--- a/docs/libcurl/opts/CURLOPT_READDATA.3
+++ b/docs/libcurl/opts/CURLOPT_READDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_READDATA 3 "May 01, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_READDATA 3 "May 01, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_READDATA \- custom pointer passed to the read callback
diff --git a/docs/libcurl/opts/CURLOPT_READFUNCTION.3 b/docs/libcurl/opts/CURLOPT_READFUNCTION.3
index e147b0b3..5d7367c7 100644
--- a/docs/libcurl/opts/CURLOPT_READFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_READFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_READFUNCTION 3 "December 13, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_READFUNCTION 3 "December 13, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_READFUNCTION \- read callback for data uploads
diff --git a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3 b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
index 257f569f..b2d9c6e7 100644
--- a/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
+++ b/docs/libcurl/opts/CURLOPT_REDIR_PROTOCOLS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_REDIR_PROTOCOLS 3 "September 21, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_REDIR_PROTOCOLS 3 "September 21, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_REDIR_PROTOCOLS \- set protocols allowed to redirect to
diff --git a/docs/libcurl/opts/CURLOPT_REFERER.3 b/docs/libcurl/opts/CURLOPT_REFERER.3
index d3e9afb7..f1477b8d 100644
--- a/docs/libcurl/opts/CURLOPT_REFERER.3
+++ b/docs/libcurl/opts/CURLOPT_REFERER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_REFERER 3 "December 21, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_REFERER \- set the HTTP referer header
diff --git a/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3 b/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
index babfdaff..e6142ab6 100644
--- a/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
+++ b/docs/libcurl/opts/CURLOPT_REQUEST_TARGET.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_REQUEST_TARGET 3 "June 21, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_REQUEST_TARGET \- specify an alternative target for this request
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVE.3 b/docs/libcurl/opts/CURLOPT_RESOLVE.3
index b3627211..a185c260 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVE.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RESOLVE 3 "January 30, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVE 3 "May 30, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RESOLVE \- provide custom host name to IP address resolves
@@ -51,6 +51,11 @@ HOST+PORT will instead use your provided ADDRESS. Addresses set with
\fICURLOPT_RESOLVE(3)\fP will not time-out from the DNS cache like ordinary
entries.
+If the DNS cache already have an entry for the given host+port pair, then
+this entry will be removed and a new entry will be created. This is because
+old entry may have have different addresses or be ordinary entries with
+time-outs.
+
The provided ADDRESS set by this option will be used even if
\fICURLOPT_IPRESOLVE(3)\fP is set to make libcurl use another IP version.
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3 b/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3
index b8f2d159..c7ec39c0 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVER_START_DATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RESOLVER_START_DATA 3 "February 14, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVER_START_DATA 3 "February 14, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RESOLVER_START_DATA \- custom pointer passed to the resolver start callback
diff --git a/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3
index 6ffe4eca..c02fece7 100644
--- a/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_RESOLVER_START_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RESOLVER_START_FUNCTION 3 "February 14, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RESOLVER_START_FUNCTION 3 "February 14, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RESOLVER_START_FUNCTION \- set callback to be called before a new resolve request is started
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM.3 b/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
index 08982f24..8cc53728 100644
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
+++ b/docs/libcurl/opts/CURLOPT_RESUME_FROM.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RESUME_FROM 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RESUME_FROM \- set a point to resume transfer from
diff --git a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3 b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
index 0d2c5412..05495715 100644
--- a/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_RESUME_FROM_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RESUME_FROM_LARGE 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RESUME_FROM_LARGE \- set a point to resume transfer from
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3 b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
index f20020a0..b9d463ee 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_CLIENT_CSEQ.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_CLIENT_CSEQ 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_CLIENT_CSEQ 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_CLIENT_CSEQ \- set the RTSP client CSEQ number
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3 b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
index ee7f052a..d7ebb1cf 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_REQUEST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_REQUEST 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_REQUEST 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_REQUEST \- specify RTSP request
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3 b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
index 0caf5410..7ab27576 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_SERVER_CSEQ.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_SERVER_CSEQ 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_SERVER_CSEQ \- set the RTSP server CSEQ number
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3 b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
index 6d19ad95..b6cc25a3 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_SESSION_ID.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_SESSION_ID 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_SESSION_ID \- set RTSP session ID
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3 b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
index addfa607..e3cebc24 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_STREAM_URI.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_STREAM_URI 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_STREAM_URI 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_STREAM_URI \- set RTSP stream URI
diff --git a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3 b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
index f4a3f42e..fc4b80fe 100644
--- a/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
+++ b/docs/libcurl/opts/CURLOPT_RTSP_TRANSPORT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_RTSP_TRANSPORT 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_RTSP_TRANSPORT \- set RTSP Transport: header
diff --git a/docs/libcurl/opts/CURLOPT_SASL_IR.3 b/docs/libcurl/opts/CURLOPT_SASL_IR.3
index 293a30b4..dec3959c 100644
--- a/docs/libcurl/opts/CURLOPT_SASL_IR.3
+++ b/docs/libcurl/opts/CURLOPT_SASL_IR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SASL_IR 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SASL_IR \- enable sending initial response in first packet
diff --git a/docs/libcurl/opts/CURLOPT_SEEKDATA.3 b/docs/libcurl/opts/CURLOPT_SEEKDATA.3
index b749b9ad..4ef94415 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SEEKDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SEEKDATA 3 "August 12, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SEEKDATA 3 "August 12, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SEEKDATA \- custom pointer passed to the seek callback
diff --git a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
index 8fad409c..edad0702 100644
--- a/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SEEKFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SEEKFUNCTION 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SEEKFUNCTION 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SEEKFUNCTION \- user callback for seeking in input stream
diff --git a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3 b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
index 1fd34214..36f7e550 100644
--- a/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
+++ b/docs/libcurl/opts/CURLOPT_SERVICE_NAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SERVICE_NAME 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SERVICE_NAME \- authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_SHARE.3 b/docs/libcurl/opts/CURLOPT_SHARE.3
index ac258b42..45afdfa5 100644
--- a/docs/libcurl/opts/CURLOPT_SHARE.3
+++ b/docs/libcurl/opts/CURLOPT_SHARE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SHARE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SHARE \- specify share handle to use
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3 b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
index 9f3c3f84..f3d8e3ca 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKOPTDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKOPTDATA 3 "May 15, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SOCKOPTDATA \- custom pointer to pass to sockopt callback
diff --git a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
index 1fcd6715..ec6a904e 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKOPTFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKOPTFUNCTION 3 "May 15, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SOCKOPTFUNCTION \- set callback for setting socket options
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
index 08488b17..8c91599f 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_AUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_AUTH 3 "April 27, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SOCKS5_AUTH \- set allowed methods for SOCKS5 proxy authentication
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
index 5b1f9402..b57a95f2 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_NEC.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_GSSAPI_NEC 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SOCKS5_GSSAPI_NEC \- set socks proxy gssapi negotiation protection
diff --git a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3 b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
index 90a3dbb3..bc7128e8 100644
--- a/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
+++ b/docs/libcurl/opts/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SOCKS5_GSSAPI_SERVICE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SOCKS5_GSSAPI_SERVICE \- SOCKS5 proxy authentication service name
diff --git a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3 b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
index 7229e4da..d37f662f 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_AUTH_TYPES.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_AUTH_TYPES 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_AUTH_TYPES \- set desired auth types for SFTP and SCP
diff --git a/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3 b/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
index 00cb8338..9b073b24 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_COMPRESSION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_COMPRESSION 3 "August 17, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_COMPRESSION 3 "August 17, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_COMPRESSION \- enables automatic decompression of HTTP downloads
diff --git a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3 b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
index 85ea413a..6b0f5c52 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 \- checksum of SSH server public key
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3 b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
index d2b953ec..30edf923 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KEYDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KEYDATA 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_KEYDATA \- pointer to pass to the SSH key callback
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3 b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
index 94f61a9a..bcbe8bd8 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KEYFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KEYFUNCTION 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_KEYFUNCTION \- callback for known host matching logic
diff --git a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3 b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
index a6174de8..98d4c29b 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_KNOWNHOSTS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_KNOWNHOSTS 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_KNOWNHOSTS \- file name holding the SSH known hosts
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3 b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
index a7d4f263..6a360128 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_PRIVATE_KEYFILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_PRIVATE_KEYFILE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_PRIVATE_KEYFILE \- set private key file for SSH auth
diff --git a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3 b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
index 3fe56fcf..123f1054 100644
--- a/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
+++ b/docs/libcurl/opts/CURLOPT_SSH_PUBLIC_KEYFILE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSH_PUBLIC_KEYFILE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSH_PUBLIC_KEYFILE \- set public key file for SSH auth
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERT.3 b/docs/libcurl/opts/CURLOPT_SSLCERT.3
index 660eb92d..a8b4c178 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERT.3
+++ b/docs/libcurl/opts/CURLOPT_SSLCERT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLCERT 3 "April 18, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLCERT 3 "April 18, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLCERT \- set SSL client certificate
diff --git a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3 b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
index 8718a31c..9ceb293d 100644
--- a/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLCERTTYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLCERTTYPE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLCERTTYPE \- specify type of the client SSL certificate
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE.3 b/docs/libcurl/opts/CURLOPT_SSLENGINE.3
index 368e0972..7586bc1b 100644
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLENGINE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLENGINE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLENGINE \- set SSL engine identifier
diff --git a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3 b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
index 66f971c1..929604d2 100644
--- a/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
+++ b/docs/libcurl/opts/CURLOPT_SSLENGINE_DEFAULT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLENGINE_DEFAULT 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLENGINE_DEFAULT \- make SSL engine default
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEY.3 b/docs/libcurl/opts/CURLOPT_SSLKEY.3
index 49b0927b..9fcd1277 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEY.3
+++ b/docs/libcurl/opts/CURLOPT_SSLKEY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLKEY 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLKEY \- specify private keyfile for TLS and SSL client cert
diff --git a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3 b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
index 04dc3eaf..23fbc6b7 100644
--- a/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
+++ b/docs/libcurl/opts/CURLOPT_SSLKEYTYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLKEYTYPE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLKEYTYPE \- set type of the private key file
diff --git a/docs/libcurl/opts/CURLOPT_SSLVERSION.3 b/docs/libcurl/opts/CURLOPT_SSLVERSION.3
index 7ce16826..604b38eb 100644
--- a/docs/libcurl/opts/CURLOPT_SSLVERSION.3
+++ b/docs/libcurl/opts/CURLOPT_SSLVERSION.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2015, 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSLVERSION 3 "January 10, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSLVERSION 3 "June 28, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSLVERSION \- set preferred TLS/SSL version
@@ -29,49 +29,55 @@ CURLOPT_SSLVERSION \- set preferred TLS/SSL version
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLVERSION, long version);
.SH DESCRIPTION
-Pass a long as parameter to control which version of SSL/TLS to attempt to
+Pass a long as parameter to control which version range of SSL/TLS versions to
use.
+The SSL and TLS versions have typically developed from the most insecure
+version to be more and more secure in this order through history: SSL v2,
+SSLv3, TLS v1.0, TSL v1.1, TSL v1.2 and the most recent TLS v1.3.
+
Use one of the available defines for this purpose. The available options are:
.RS
.IP CURL_SSLVERSION_DEFAULT
-The default action. This will attempt to figure out the remote SSL protocol
-version.
+The default acceptable version range. The mimimum acceptable version is by
+default TLS 1.0 since 7.39.0 (unless the TLS library has a stricter rule).
.IP CURL_SSLVERSION_TLSv1
-TLSv1.x
+TLS v1.0 or later
.IP CURL_SSLVERSION_SSLv2
-SSLv2
+SSL v2 (but not SSLv3)
.IP CURL_SSLVERSION_SSLv3
-SSLv3
+SSL v3 (but not SSLv2)
.IP CURL_SSLVERSION_TLSv1_0
-TLSv1.0 (Added in 7.34.0)
+TLS v1.0 or later (Added in 7.34.0)
.IP CURL_SSLVERSION_TLSv1_1
-TLSv1.1 (Added in 7.34.0)
+TLS v1.1 or later (Added in 7.34.0)
.IP CURL_SSLVERSION_TLSv1_2
-TLSv1.2 (Added in 7.34.0)
+TLS v1.2 or later (Added in 7.34.0)
.IP CURL_SSLVERSION_TLSv1_3
-TLSv1.3 (Added in 7.52.0)
+TLS v1.3 or later (Added in 7.52.0)
.RE
+
The maximum TLS version can be set by using \fIone\fP of the
CURL_SSLVERSION_MAX_ macros below. It is also possible to OR \fIone\fP of the
CURL_SSLVERSION_ macros with \fIone\fP of the CURL_SSLVERSION_MAX_ macros.
The MAX macros are not supported for SSL backends axTLS or wolfSSL.
.RS
.IP CURL_SSLVERSION_MAX_DEFAULT
-The flag defines the maximum supported TLS version as TLSv1.2, or the default
-value from the SSL library.
-(Added in 7.54.0)
+The flag defines the maximum supported TLS version by libcurl, or the default
+value from the SSL library is used. libcurl will use a sensible default
+maximum, which was TLS 1.2 up to before 7.61.0 and is TLS 1.3 since then -
+assuming the TLS library support it. (Added in 7.54.0)
.IP CURL_SSLVERSION_MAX_TLSv1_0
-The flag defines maximum supported TLS version as TLSv1.0.
+The flag defines maximum supported TLS version as TLS v1.0.
(Added in 7.54.0)
.IP CURL_SSLVERSION_MAX_TLSv1_1
-The flag defines maximum supported TLS version as TLSv1.1.
+The flag defines maximum supported TLS version as TLS v1.1.
(Added in 7.54.0)
.IP CURL_SSLVERSION_MAX_TLSv1_2
-The flag defines maximum supported TLS version as TLSv1.2.
+The flag defines maximum supported TLS version as TLS v1.2.
(Added in 7.54.0)
.IP CURL_SSLVERSION_MAX_TLSv1_3
-The flag defines maximum supported TLS version as TLSv1.3.
+The flag defines maximum supported TLS version as TLS v1.3.
(Added in 7.54.0)
.RE
.SH DEFAULT
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3 b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
index d14e9ab9..44e888ad 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CIPHER_LIST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_CIPHER_LIST 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CIPHER_LIST 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_CIPHER_LIST \- specify ciphers to use for TLS
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3 b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
index 1cf26ffc..434712e2 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CTX_DATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_CTX_DATA 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CTX_DATA 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_CTX_DATA \- custom pointer passed to ssl_ctx callback
diff --git a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3 b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
index 69c32173..7d97ea15 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_CTX_FUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_CTX_FUNCTION 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_CTX_FUNCTION 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_CTX_FUNCTION \- SSL context callback for OpenSSL, wolfSSL/CyaSSL or mbedTLS
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3 b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
index 22454353..9402eb14 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_ALPN.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_ENABLE_ALPN 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_ENABLE_ALPN \- enable ALPN
diff --git a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3 b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
index 80a4733e..82c54ecd 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_ENABLE_NPN.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_ENABLE_NPN 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_ENABLE_NPN \- enable NPN
diff --git a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3 b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
index 3da74cac..678673ba 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_FALSESTART.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_FALSESTART 3 "May 15, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_FALSESTART \- enable TLS false start
diff --git a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
index b24caae9..f0eaad31 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_OPTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_OPTIONS 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_OPTIONS 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_OPTIONS \- set SSL behavior options
diff --git a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3 b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
index 2f7f1bb4..94ae66e3 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_SESSIONID_CACHE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_SESSIONID_CACHE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_SESSIONID_CACHE \- enable/disable use of the SSL session-ID cache
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
index 3182e38a..7a077d23 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYHOST.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_VERIFYHOST 3 "February 02, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYHOST 3 "February 02, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_VERIFYHOST \- verify the certificate's name against host
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
index 1247f3fd..bd31956d 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYPEER.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_VERIFYPEER 3 "February 09, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYPEER 3 "June 24, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_VERIFYPEER \- verify the peer's SSL certificate
@@ -58,6 +58,15 @@ man-in-the-middle the communication without you knowing it. Disabling
verification makes the communication insecure. Just having encryption on a
transfer is not enough as you cannot be sure that you are communicating with
the correct end-point.
+
+NOTE: even when this option is disabled, depending on the used TLS backend,
+curl may still load the certificate file specified in
+\fICURLOPT_CAINFO(3)\fP. curl default settings in some distributions might use
+quite a large file as a default setting for \fICURLOPT_CAINFO(3)\fP, so
+loading the file can be quite expensive, especially when dealing with many
+connections. Thus, in some situations, you might want to disable verification
+fully to save resources by setting \fICURLOPT_CAINFO(3)\fP to NULL - but
+please also consider the warning above!
.SH DEFAULT
By default, curl assumes a value of 1.
.SH PROTOCOLS
@@ -82,3 +91,4 @@ Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
.BR CURLOPT_SSL_VERIFYHOST "(3), "
.BR CURLOPT_PROXY_SSL_VERIFYPEER "(3), "
.BR CURLOPT_PROXY_SSL_VERIFYHOST "(3), "
+.BR CURLOPT_CAINFO "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3 b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
index 123d1db2..45b91a50 100644
--- a/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
+++ b/docs/libcurl/opts/CURLOPT_SSL_VERIFYSTATUS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SSL_VERIFYSTATUS 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SSL_VERIFYSTATUS 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SSL_VERIFYSTATUS \- verify the certificate's status
diff --git a/docs/libcurl/opts/CURLOPT_STDERR.3 b/docs/libcurl/opts/CURLOPT_STDERR.3
index d50b30c3..c6d4a4d8 100644
--- a/docs/libcurl/opts/CURLOPT_STDERR.3
+++ b/docs/libcurl/opts/CURLOPT_STDERR.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_STDERR 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_STDERR \- redirect stderr to another stream
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3 b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
index 855c3be1..400b8a17 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_DEPENDS 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_STREAM_DEPENDS \- set stream this transfer depends on
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3 b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
index 697d95cc..c29621dc 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_DEPENDS_E.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_STREAM_DEPENDS_E 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_DEPENDS_E 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_STREAM_DEPENDS_E \- set stream this transfer depends on exclusively
diff --git a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3 b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
index f7b3a1a7..f7d5151b 100644
--- a/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
+++ b/docs/libcurl/opts/CURLOPT_STREAM_WEIGHT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_STREAM_WEIGHT 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_STREAM_WEIGHT 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_STREAM_WEIGHT \- set numerical stream weight
diff --git a/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3 b/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
index da75a2bd..ca9ac9f7 100644
--- a/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
+++ b/docs/libcurl/opts/CURLOPT_SUPPRESS_CONNECT_HEADERS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_SUPPRESS_CONNECT_HEADERS 3 "April 28, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_SUPPRESS_CONNECT_HEADERS \- Suppress proxy CONNECT response headers from user callbacks
diff --git a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3 b/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
index b4bcaa47..49bef9e8 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_FASTOPEN.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_FASTOPEN 3 "May 15, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TCP_FASTOPEN \- enable TCP Fast Open
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
index 4e202a89..8476f27c 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPALIVE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPALIVE 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TCP_KEEPALIVE \- enable TCP keep-alive probing
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
index 71171ab3..634be740 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPIDLE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPIDLE 3 "January 02, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TCP_KEEPIDLE \- set TCP keep-alive idle time wait
diff --git a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3 b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
index 401b78f7..ad82137c 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_KEEPINTVL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_KEEPINTVL 3 "January 02, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TCP_KEEPINTVL \- set TCP keep-alive interval
diff --git a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3 b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
index d59e6432..82089576 100644
--- a/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
+++ b/docs/libcurl/opts/CURLOPT_TCP_NODELAY.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TCP_NODELAY 3 "January 15, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TCP_NODELAY \- set the TCP_NODELAY option
diff --git a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3 b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
index 76415a7e..55631790 100644
--- a/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_TELNETOPTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TELNETOPTIONS 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TELNETOPTIONS \- custom telnet options
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3 b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
index a05880ab..bb79d3d8 100644
--- a/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
+++ b/docs/libcurl/opts/CURLOPT_TFTP_BLKSIZE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TFTP_BLKSIZE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TFTP_BLKSIZE \- TFTP block size
diff --git a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
index 86b24d16..764bce20 100644
--- a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
+++ b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TFTP_NO_OPTIONS 3 "April 06, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TFTP_NO_OPTIONS \- Do not send TFTP options requests.
diff --git a/docs/libcurl/opts/CURLOPT_TIMECONDITION.3 b/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
index 21f9ea2a..859b4374 100644
--- a/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
+++ b/docs/libcurl/opts/CURLOPT_TIMECONDITION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMECONDITION 3 "April 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMECONDITION \- select condition for a time request
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT.3 b/docs/libcurl/opts/CURLOPT_TIMEOUT.3
index 38ca8162..4c21ae96 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEOUT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TIMEOUT 3 "October 03, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEOUT 3 "October 03, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMEOUT \- set maximum time the request is allowed to take
diff --git a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3 b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
index 39c504b7..e4911d14 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TIMEOUT_MS 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEOUT_MS 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMEOUT_MS \- set maximum time the request is allowed to take
diff --git a/docs/libcurl/opts/CURLOPT_TIMEVALUE.3 b/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
index 27f25c4c..4201cd0d 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEVALUE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TIMEVALUE 3 "January 25, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEVALUE 3 "January 25, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMEVALUE \- set time value for conditional
diff --git a/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3 b/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3
index fce2c821..b81ed911 100644
--- a/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3
+++ b/docs/libcurl/opts/CURLOPT_TIMEVALUE_LARGE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TIMEVALUE_LARGE 3 "January 25, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TIMEVALUE_LARGE 3 "January 25, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TIMEVALUE_LARGE \- set time value for conditional
diff --git a/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3 b/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3
new file mode 100644
index 00000000..51b848aa
--- /dev/null
+++ b/docs/libcurl/opts/CURLOPT_TLS13_CIPHERS.3
@@ -0,0 +1,63 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLOPT_TLS13_CIPHERS 3 "May 29, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
+
+.SH NAME
+CURLOPT_TLS13_CIPHERS \- specify ciphers suites to use for TLS 1.3
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TLS13_CIPHERS, char *list);
+.SH DESCRIPTION
+Pass a char *, pointing to a zero terminated string holding the list of cipher
+suites to use for the TLS 1.3 connection. The list must be syntactically
+correct, it consists of one or more cipher suite strings separated by colons.
+
+You'll find more details about cipher lists on this URL:
+
+ https://curl.haxx.se/docs/ssl-ciphers.html
+
+The application does not have to keep the string around after setting this
+option.
+.SH DEFAULT
+NULL, use internal default
+.SH PROTOCOLS
+All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc.
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/");
+ curl_easy_setopt(curl, CURLOPT_TLS13_CIPHERS,
+ "TLS13-CHACHA20-POLY1305-SHA256");
+ ret = curl_easy_perform(curl);
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.61.0.
+Available when built with OpenSSL >= 1.1.1.
+.SH RETURN VALUE
+Returns CURLE_OK if supported, CURLE_NOT_BUILT_IN otherwise.
+.SH "SEE ALSO"
+.BR CURLOPT_SSLVERSION "(3), " CURLOPT_PROXY_TLS13_CIPHERS "(3), "
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
index bc073e21..f9364265 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_PASSWORD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_PASSWORD 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TLSAUTH_PASSWORD \- password to use for TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
index bff28e4f..99b6011f 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_TYPE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_TYPE 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TLSAUTH_TYPE \- set TLS authentication methods
diff --git a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3 b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
index 0caa449d..5fde6218 100644
--- a/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_TLSAUTH_USERNAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TLSAUTH_USERNAME 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TLSAUTH_USERNAME \- user name to use for TLS authentication
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3 b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
index aeeb511f..278a3901 100644
--- a/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
+++ b/docs/libcurl/opts/CURLOPT_TRANSFERTEXT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TRANSFERTEXT 3 "May 31, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TRANSFERTEXT \- request a text based transfer for FTP
diff --git a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3 b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
index fe3ea3b9..5e7e53b3 100644
--- a/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
+++ b/docs/libcurl/opts/CURLOPT_TRANSFER_ENCODING.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_TRANSFER_ENCODING 3 "May 15, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_TRANSFER_ENCODING \- ask for HTTP Transfer Encoding
diff --git a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3 b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
index a3a2b0bf..029a580b 100644
--- a/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
+++ b/docs/libcurl/opts/CURLOPT_UNIX_SOCKET_PATH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_UNIX_SOCKET_PATH 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_UNIX_SOCKET_PATH 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_UNIX_SOCKET_PATH \- set Unix domain socket
diff --git a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3 b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
index 88c80943..95ea5ae2 100644
--- a/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
+++ b/docs/libcurl/opts/CURLOPT_UNRESTRICTED_AUTH.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_UNRESTRICTED_AUTH 3 "May 15, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_UNRESTRICTED_AUTH \- send credentials to other hosts too
diff --git a/docs/libcurl/opts/CURLOPT_UPLOAD.3 b/docs/libcurl/opts/CURLOPT_UPLOAD.3
index defb4322..e9b6d90e 100644
--- a/docs/libcurl/opts/CURLOPT_UPLOAD.3
+++ b/docs/libcurl/opts/CURLOPT_UPLOAD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_UPLOAD 3 "April 17, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_UPLOAD 3 "April 17, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_UPLOAD \- enable data upload
diff --git a/docs/libcurl/opts/CURLOPT_URL.3 b/docs/libcurl/opts/CURLOPT_URL.3
index c1f53909..37ea1f76 100644
--- a/docs/libcurl/opts/CURLOPT_URL.3
+++ b/docs/libcurl/opts/CURLOPT_URL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_URL 3 "April 30, 2018" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_URL 3 "April 30, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_URL \- provide the URL to use in the request
diff --git a/docs/libcurl/opts/CURLOPT_USERAGENT.3 b/docs/libcurl/opts/CURLOPT_USERAGENT.3
index c7262045..8c7eb8fd 100644
--- a/docs/libcurl/opts/CURLOPT_USERAGENT.3
+++ b/docs/libcurl/opts/CURLOPT_USERAGENT.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_USERAGENT 3 "December 21, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_USERAGENT \- set HTTP user-agent header
diff --git a/docs/libcurl/opts/CURLOPT_USERNAME.3 b/docs/libcurl/opts/CURLOPT_USERNAME.3
index d675cca2..2c574ece 100644
--- a/docs/libcurl/opts/CURLOPT_USERNAME.3
+++ b/docs/libcurl/opts/CURLOPT_USERNAME.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_USERNAME 3 "May 05, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_USERNAME \- user name to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_USERPWD.3 b/docs/libcurl/opts/CURLOPT_USERPWD.3
index 46b90fc7..b758a841 100644
--- a/docs/libcurl/opts/CURLOPT_USERPWD.3
+++ b/docs/libcurl/opts/CURLOPT_USERPWD.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_USERPWD 3 "August 24, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_USERPWD \- user name and password to use in authentication
diff --git a/docs/libcurl/opts/CURLOPT_USE_SSL.3 b/docs/libcurl/opts/CURLOPT_USE_SSL.3
index 7865a17c..3399065a 100644
--- a/docs/libcurl/opts/CURLOPT_USE_SSL.3
+++ b/docs/libcurl/opts/CURLOPT_USE_SSL.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_USE_SSL 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_USE_SSL 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_USE_SSL \- request using SSL / TLS for the transfer
diff --git a/docs/libcurl/opts/CURLOPT_VERBOSE.3 b/docs/libcurl/opts/CURLOPT_VERBOSE.3
index 03af1830..355a434f 100644
--- a/docs/libcurl/opts/CURLOPT_VERBOSE.3
+++ b/docs/libcurl/opts/CURLOPT_VERBOSE.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_VERBOSE 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_VERBOSE 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_VERBOSE \- set verbose mode on/off
diff --git a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3 b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
index fbddc68b..c1974d1b 100644
--- a/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
+++ b/docs/libcurl/opts/CURLOPT_WILDCARDMATCH.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_WILDCARDMATCH 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_WILDCARDMATCH 3 "May 18, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_WILDCARDMATCH \- enable directory wildcard transfers
@@ -42,7 +42,7 @@ A brief introduction of its syntax follows:
.RS
.IP "* - ASTERISK"
\&ftp://example.com/some/path/\fB*.txt\fP (for all txt's from the root
-directory)
+directory). Only two asterisks are allowed within the same pattern string.
.RE
.RS
.IP "? - QUESTION MARK"
diff --git a/docs/libcurl/opts/CURLOPT_WRITEDATA.3 b/docs/libcurl/opts/CURLOPT_WRITEDATA.3
index 43c15f5c..57120091 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEDATA.3
+++ b/docs/libcurl/opts/CURLOPT_WRITEDATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_WRITEDATA 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_WRITEDATA 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_WRITEDATA \- custom pointer passed to the write callback
diff --git a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3 b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
index aa60468f..a24ce0d0 100644
--- a/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_WRITEFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_WRITEFUNCTION 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_WRITEFUNCTION 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_WRITEFUNCTION \- set callback for writing received data
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFODATA.3 b/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
index 5519579f..dd800430 100644
--- a/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
+++ b/docs/libcurl/opts/CURLOPT_XFERINFODATA.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_XFERINFODATA 3 "October 09, 2017" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_XFERINFODATA \- custom pointer passed to the progress callback
diff --git a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3 b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
index 760238b2..eb9cf9f0 100644
--- a/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
+++ b/docs/libcurl/opts/CURLOPT_XFERINFOFUNCTION.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_XFERINFOFUNCTION 3 "February 03, 2016" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_XFERINFOFUNCTION 3 "February 03, 2016" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_XFERINFOFUNCTION \- callback to progress meter function
diff --git a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3 b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
index 8499433f..aebc13eb 100644
--- a/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
+++ b/docs/libcurl/opts/CURLOPT_XOAUTH2_BEARER.3
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH CURLOPT_XOAUTH2_BEARER 3 "May 31, 2017" "libcurl 7.60.0" "curl_easy_setopt options"
+.TH CURLOPT_XOAUTH2_BEARER 3 "May 22, 2018" "libcurl 7.61.0" "curl_easy_setopt options"
.SH NAME
CURLOPT_XOAUTH2_BEARER \- specify OAuth 2.0 access token
@@ -30,11 +30,11 @@ CURLOPT_XOAUTH2_BEARER \- specify OAuth 2.0 access token
CURLcode curl_easy_setopt(CURL *handle, CURLOPT_XOAUTH2_BEARER, char *token);
.SH DESCRIPTION
Pass a char * as parameter, which should point to the zero terminated OAuth
-2.0 Bearer Access Token for use with IMAP, POP3 and SMTP servers that support
-the OAuth 2.0 Authorization Framework.
+2.0 Bearer Access Token for use with HTTP, IMAP, POP3 and SMTP servers
+that support the OAuth 2.0 Authorization Framework.
-Note: The user name used to generate the Bearer Token should be supplied via
-the \fICURLOPT_USERNAME(3)\fP option.
+Note: For IMAP, POP3 and SMTP, the user name used to generate the Bearer Token
+should be supplied via the \fICURLOPT_USERNAME(3)\fP option.
The application does not have to keep the string around after setting this
option.
diff --git a/docs/libcurl/opts/Makefile.inc b/docs/libcurl/opts/Makefile.inc
index 80488bfa..32485e29 100644
--- a/docs/libcurl/opts/Makefile.inc
+++ b/docs/libcurl/opts/Makefile.inc
@@ -3,9 +3,11 @@
man_MANS = \
CURLINFO_ACTIVESOCKET.3 \
CURLINFO_APPCONNECT_TIME.3 \
+ CURLINFO_APPCONNECT_TIME_T.3 \
CURLINFO_CERTINFO.3 \
CURLINFO_CONDITION_UNMET.3 \
CURLINFO_CONNECT_TIME.3 \
+ CURLINFO_CONNECT_TIME_T.3 \
CURLINFO_CONTENT_LENGTH_DOWNLOAD.3 \
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T.3 \
CURLINFO_CONTENT_LENGTH_UPLOAD.3 \
@@ -24,9 +26,11 @@ man_MANS = \
CURLINFO_LOCAL_IP.3 \
CURLINFO_LOCAL_PORT.3 \
CURLINFO_NAMELOOKUP_TIME.3 \
+ CURLINFO_NAMELOOKUP_TIME_T.3 \
CURLINFO_NUM_CONNECTS.3 \
CURLINFO_OS_ERRNO.3 \
CURLINFO_PRETRANSFER_TIME.3 \
+ CURLINFO_PRETRANSFER_TIME_T.3 \
CURLINFO_PRIMARY_IP.3 \
CURLINFO_PRIMARY_PORT.3 \
CURLINFO_PRIVATE.3 \
@@ -35,6 +39,7 @@ man_MANS = \
CURLINFO_PROXY_SSL_VERIFYRESULT.3 \
CURLINFO_REDIRECT_COUNT.3 \
CURLINFO_REDIRECT_TIME.3 \
+ CURLINFO_REDIRECT_TIME_T.3 \
CURLINFO_REDIRECT_URL.3 \
CURLINFO_REQUEST_SIZE.3 \
CURLINFO_RESPONSE_CODE.3 \
@@ -54,9 +59,11 @@ man_MANS = \
CURLINFO_SSL_ENGINES.3 \
CURLINFO_SSL_VERIFYRESULT.3 \
CURLINFO_STARTTRANSFER_TIME.3 \
+ CURLINFO_STARTTRANSFER_TIME_T.3 \
CURLINFO_TLS_SESSION.3 \
CURLINFO_TLS_SSL_PTR.3 \
CURLINFO_TOTAL_TIME.3 \
+ CURLINFO_TOTAL_TIME_T.3 \
CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3 \
CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3 \
CURLMOPT_MAXCONNECTS.3 \
@@ -107,6 +114,7 @@ man_MANS = \
CURLOPT_DEBUGFUNCTION.3 \
CURLOPT_DEFAULT_PROTOCOL.3 \
CURLOPT_DIRLISTONLY.3 \
+ CURLOPT_DISALLOW_USERNAME_IN_URL.3 \
CURLOPT_DNS_CACHE_TIMEOUT.3 \
CURLOPT_DNS_INTERFACE.3 \
CURLOPT_DNS_LOCAL_IP4.3 \
@@ -230,6 +238,7 @@ man_MANS = \
CURLOPT_PROXY_SSL_OPTIONS.3 \
CURLOPT_PROXY_SSL_VERIFYHOST.3 \
CURLOPT_PROXY_SSL_VERIFYPEER.3 \
+ CURLOPT_PROXY_TLS13_CIPHERS.3 \
CURLOPT_PROXY_TLSAUTH_PASSWORD.3 \
CURLOPT_PROXY_TLSAUTH_TYPE.3 \
CURLOPT_PROXY_TLSAUTH_USERNAME.3 \
@@ -308,6 +317,7 @@ man_MANS = \
CURLOPT_TIMEOUT_MS.3 \
CURLOPT_TIMEVALUE.3 \
CURLOPT_TIMEVALUE_LARGE.3 \
+ CURLOPT_TLS13_CIPHERS.3 \
CURLOPT_TLSAUTH_PASSWORD.3 \
CURLOPT_TLSAUTH_TYPE.3 \
CURLOPT_TLSAUTH_USERNAME.3 \
diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions
index 52e8407d..7448b4f4 100644
--- a/docs/libcurl/symbols-in-versions
+++ b/docs/libcurl/symbols-in-versions
@@ -15,6 +15,7 @@
CURLAUTH_ANY 7.10.6
CURLAUTH_ANYSAFE 7.10.6
CURLAUTH_BASIC 7.10.6
+CURLAUTH_BEARER 7.61.0
CURLAUTH_DIGEST 7.10.6
CURLAUTH_DIGEST_IE 7.19.3
CURLAUTH_GSSAPI 7.55.0
@@ -100,8 +101,8 @@ CURLE_PEER_FAILED_VERIFICATION 7.17.1
CURLE_QUOTE_ERROR 7.17.0
CURLE_RANGE_ERROR 7.17.0
CURLE_READ_ERROR 7.1
-CURLE_RECV_ERROR 7.10
CURLE_RECURSIVE_API_CALL 7.59.0
+CURLE_RECV_ERROR 7.10
CURLE_REMOTE_ACCESS_DENIED 7.17.0
CURLE_REMOTE_DISK_FULL 7.17.0
CURLE_REMOTE_FILE_EXISTS 7.17.0
@@ -206,9 +207,11 @@ CURLHEADER_SEPARATE 7.37.0
CURLHEADER_UNIFIED 7.37.0
CURLINFO_ACTIVESOCKET 7.45.0
CURLINFO_APPCONNECT_TIME 7.19.0
+CURLINFO_APPCONNECT_TIME_T 7.61.0
CURLINFO_CERTINFO 7.19.1
CURLINFO_CONDITION_UNMET 7.19.4
CURLINFO_CONNECT_TIME 7.4.1
+CURLINFO_CONNECT_TIME_T 7.61.0
CURLINFO_CONTENT_LENGTH_DOWNLOAD 7.6.1
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T 7.55.0
CURLINFO_CONTENT_LENGTH_UPLOAD 7.6.1
@@ -237,11 +240,13 @@ CURLINFO_LOCAL_PORT 7.21.0
CURLINFO_LONG 7.4.1
CURLINFO_MASK 7.4.1
CURLINFO_NAMELOOKUP_TIME 7.4.1
+CURLINFO_NAMELOOKUP_TIME_T 7.61.0
CURLINFO_NONE 7.4.1
CURLINFO_NUM_CONNECTS 7.12.3
CURLINFO_OFF_T 7.55.0
CURLINFO_OS_ERRNO 7.12.2
CURLINFO_PRETRANSFER_TIME 7.4.1
+CURLINFO_PRETRANSFER_TIME_T 7.61.0
CURLINFO_PRIMARY_IP 7.19.0
CURLINFO_PRIMARY_PORT 7.21.0
CURLINFO_PRIVATE 7.10.3
@@ -251,6 +256,7 @@ CURLINFO_PROXY_SSL_VERIFYRESULT 7.52.0
CURLINFO_PTR 7.54.1
CURLINFO_REDIRECT_COUNT 7.9.7
CURLINFO_REDIRECT_TIME 7.9.7
+CURLINFO_REDIRECT_TIME_T 7.61.0
CURLINFO_REDIRECT_URL 7.18.2
CURLINFO_REQUEST_SIZE 7.4.1
CURLINFO_RESPONSE_CODE 7.10.8
@@ -274,11 +280,13 @@ CURLINFO_SSL_DATA_OUT 7.12.1
CURLINFO_SSL_ENGINES 7.12.3
CURLINFO_SSL_VERIFYRESULT 7.5
CURLINFO_STARTTRANSFER_TIME 7.9.2
+CURLINFO_STARTTRANSFER_TIME_T 7.61.0
CURLINFO_STRING 7.4.1
CURLINFO_TEXT 7.9.6
CURLINFO_TLS_SESSION 7.34.0 7.48.0
CURLINFO_TLS_SSL_PTR 7.48.0
CURLINFO_TOTAL_TIME 7.4.1
+CURLINFO_TOTAL_TIME_T 7.61.0
CURLINFO_TYPEMASK 7.4.1
CURLIOCMD_NOP 7.12.3
CURLIOCMD_RESTARTREAD 7.12.3
@@ -368,6 +376,7 @@ CURLOPT_DEBUGDATA 7.9.6
CURLOPT_DEBUGFUNCTION 7.9.6
CURLOPT_DEFAULT_PROTOCOL 7.45.0
CURLOPT_DIRLISTONLY 7.17.0
+CURLOPT_DISALLOW_USERNAME_IN_URL 7.61.0
CURLOPT_DNS_CACHE_TIMEOUT 7.9.3
CURLOPT_DNS_INTERFACE 7.33.0
CURLOPT_DNS_LOCAL_IP4 7.33.0
@@ -506,6 +515,7 @@ CURLOPT_PROXY_SSL_CIPHER_LIST 7.52.0
CURLOPT_PROXY_SSL_OPTIONS 7.52.0
CURLOPT_PROXY_SSL_VERIFYHOST 7.52.0
CURLOPT_PROXY_SSL_VERIFYPEER 7.52.0
+CURLOPT_PROXY_TLS13_CIPHERS 7.61.0
CURLOPT_PROXY_TLSAUTH_PASSWORD 7.52.0
CURLOPT_PROXY_TLSAUTH_TYPE 7.52.0
CURLOPT_PROXY_TLSAUTH_USERNAME 7.52.0
@@ -520,6 +530,8 @@ CURLOPT_REDIR_PROTOCOLS 7.19.4
CURLOPT_REFERER 7.1
CURLOPT_REQUEST_TARGET 7.55.0
CURLOPT_RESOLVE 7.21.3
+CURLOPT_RESOLVER_START_DATA 7.59.0
+CURLOPT_RESOLVER_START_FUNCTION 7.59.0
CURLOPT_RESUME_FROM 7.1
CURLOPT_RESUME_FROM_LARGE 7.11.0
CURLOPT_RTSPHEADER 7.20.0
@@ -594,13 +606,12 @@ CURLOPT_TIMEOUT 7.1
CURLOPT_TIMEOUT_MS 7.16.2
CURLOPT_TIMEVALUE 7.1
CURLOPT_TIMEVALUE_LARGE 7.59.0
+CURLOPT_TLS13_CIPHERS 7.61.0
CURLOPT_TLSAUTH_PASSWORD 7.21.4
CURLOPT_TLSAUTH_TYPE 7.21.4
CURLOPT_TLSAUTH_USERNAME 7.21.4
CURLOPT_TRANSFERTEXT 7.1.1
CURLOPT_TRANSFER_ENCODING 7.21.6
-CURLOPT_RESOLVER_START_FUNCTION 7.59.0
-CURLOPT_RESOLVER_START_DATA 7.59.0
CURLOPT_UNIX_SOCKET_PATH 7.40.0
CURLOPT_UNRESTRICTED_AUTH 7.10.4
CURLOPT_UPLOAD 7.1
@@ -772,6 +783,7 @@ CURL_LOCK_DATA_CONNECT 7.10.3
CURL_LOCK_DATA_COOKIE 7.10.3
CURL_LOCK_DATA_DNS 7.10.3
CURL_LOCK_DATA_NONE 7.10.3
+CURL_LOCK_DATA_PSL 7.61.0
CURL_LOCK_DATA_SHARE 7.10.4
CURL_LOCK_DATA_SSL_SESSION 7.10.3
CURL_LOCK_TYPE_CONNECT 7.10 - 7.10.2
diff --git a/include/README b/include/README
index c2589ec8..091ef76d 100644
--- a/include/README
+++ b/include/README
@@ -14,20 +14,5 @@ of environment. You must include files from here using...
... style and point the compiler's include path to the directory holding the
curl subdirectory. It makes it more likely to survive future modifications.
-NOTE FOR LIBCURL HACKERS
-
-* If you check out from git on a non-configure platform, you must run the
- appropriate buildconf* script to set up files before being able of compiling
- the library.
-
-* We cannot assume anything else but very basic compiler features being
- present. While libcurl requires an ANSI C compiler to build, some of the
- earlier ANSI compilers clearly can't deal with some preprocessor operators.
-
-* Newlines must remain unix-style for older compilers' sake.
-
-* Comments must be written in the old-style /* unnested C-fashion */
-
-To figure out how to do good and portable checks for features, operating
-systems or specific hardwarare, a very good resource is Bjorn Reese's
-collection at https://sourceforge.net/p/predef/wiki/
+The public curl include files can be shared freely between different platforms
+and different architectures.
diff --git a/include/curl/curl.h b/include/curl/curl.h
index 3fd4ca87..067b34de 100644
--- a/include/curl/curl.h
+++ b/include/curl/curl.h
@@ -691,6 +691,7 @@ typedef enum {
* CURLAUTH_NTLM - HTTP NTLM authentication
* CURLAUTH_DIGEST_IE - HTTP Digest authentication with IE flavour
* CURLAUTH_NTLM_WB - HTTP NTLM authentication delegated to winbind helper
+ * CURLAUTH_BEARER - HTTP Bearer token authentication
* CURLAUTH_ONLY - Use together with a single other type to force no
* authentication or just that single type
* CURLAUTH_ANY - All fine types set
@@ -708,6 +709,7 @@ typedef enum {
#define CURLAUTH_NTLM (((unsigned long)1)<<3)
#define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4)
#define CURLAUTH_NTLM_WB (((unsigned long)1)<<5)
+#define CURLAUTH_BEARER (((unsigned long)1)<<6)
#define CURLAUTH_ONLY (((unsigned long)1)<<31)
#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE)
#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))
@@ -1847,6 +1849,13 @@ typedef enum {
/* shuffle addresses before use when DNS returns multiple */
CINIT(DNS_SHUFFLE_ADDRESSES, LONG, 275),
+ /* Specify which TLS 1.3 ciphers suites to use */
+ CINIT(TLS13_CIPHERS, STRINGPOINT, 276),
+ CINIT(PROXY_TLS13_CIPHERS, STRINGPOINT, 277),
+
+ /* Disallow specifying username/login in URL. */
+ CINIT(DISALLOW_USERNAME_IN_URL, LONG, 278),
+
CURLOPT_LASTENTRY /* the last unused */
} CURLoption;
@@ -2527,7 +2536,17 @@ typedef enum {
CURLINFO_SCHEME = CURLINFO_STRING + 49,
/* Fill in new entries below here! */
- CURLINFO_LASTONE = 49
+ /* Preferably these would be defined conditionally based on the
+ sizeof curl_off_t being 64-bits */
+ CURLINFO_TOTAL_TIME_T = CURLINFO_OFF_T + 50,
+ CURLINFO_NAMELOOKUP_TIME_T = CURLINFO_OFF_T + 51,
+ CURLINFO_CONNECT_TIME_T = CURLINFO_OFF_T + 52,
+ CURLINFO_PRETRANSFER_TIME_T = CURLINFO_OFF_T + 53,
+ CURLINFO_STARTTRANSFER_TIME_T = CURLINFO_OFF_T + 54,
+ CURLINFO_REDIRECT_TIME_T = CURLINFO_OFF_T + 55,
+ CURLINFO_APPCONNECT_TIME_T = CURLINFO_OFF_T + 56,
+
+ CURLINFO_LASTONE = 56
} CURLINFO;
/* CURLINFO_RESPONSE_CODE is the new name for the option previously known as
@@ -2570,6 +2589,7 @@ typedef enum {
CURL_LOCK_DATA_DNS,
CURL_LOCK_DATA_SSL_SESSION,
CURL_LOCK_DATA_CONNECT,
+ CURL_LOCK_DATA_PSL,
CURL_LOCK_DATA_LAST
} curl_lock_data;
diff --git a/include/curl/curlver.h b/include/curl/curlver.h
index 17831025..04abbef9 100644
--- a/include/curl/curlver.h
+++ b/include/curl/curlver.h
@@ -30,12 +30,12 @@
/* This is the version number of the libcurl package from which this header
file origins: */
-#define LIBCURL_VERSION "7.60.0"
+#define LIBCURL_VERSION "7.61.0"
/* The numeric version number is also available "in parts" by using these
defines: */
#define LIBCURL_VERSION_MAJOR 7
-#define LIBCURL_VERSION_MINOR 60
+#define LIBCURL_VERSION_MINOR 61
#define LIBCURL_VERSION_PATCH 0
/* This is the numeric version of the libcurl version number, meant for easier
@@ -57,7 +57,7 @@
CURL_VERSION_BITS() macro since curl's own configure script greps for it
and needs it to contain the full number.
*/
-#define LIBCURL_VERSION_NUM 0x073c00
+#define LIBCURL_VERSION_NUM 0x073d00
/*
* This is the date and time when the full source package was created. The
@@ -68,7 +68,7 @@
*
* "2007-11-23"
*/
-#define LIBCURL_TIMESTAMP "2018-05-16"
+#define LIBCURL_TIMESTAMP "2018-07-11"
#define CURL_VERSION_BITS(x,y,z) ((x)<<16|(y)<<8|z)
#define CURL_AT_LEAST_VERSION(x,y,z) \
diff --git a/include/curl/system.h b/include/curl/system.h
index eac4cfeb..a54fd584 100644
--- a/include/curl/system.h
+++ b/include/curl/system.h
@@ -320,6 +320,24 @@
# define CURL_PULL_SYS_TYPES_H 1
# define CURL_PULL_SYS_SOCKET_H 1
+#elif defined(__xlc__) /* IBM xlc compiler */
+# if !defined(_LP64)
+# define CURL_TYPEOF_CURL_OFF_T long long
+# define CURL_FORMAT_CURL_OFF_T "lld"
+# define CURL_FORMAT_CURL_OFF_TU "llu"
+# define CURL_SUFFIX_CURL_OFF_T LL
+# define CURL_SUFFIX_CURL_OFF_TU ULL
+# else
+# define CURL_TYPEOF_CURL_OFF_T long
+# define CURL_FORMAT_CURL_OFF_T "ld"
+# define CURL_FORMAT_CURL_OFF_TU "lu"
+# define CURL_SUFFIX_CURL_OFF_T L
+# define CURL_SUFFIX_CURL_OFF_TU UL
+# endif
+# define CURL_TYPEOF_CURL_SOCKLEN_T socklen_t
+# define CURL_PULL_SYS_TYPES_H 1
+# define CURL_PULL_SYS_SOCKET_H 1
+
/* ===================================== */
/* KEEP MSVC THE PENULTIMATE ENTRY */
/* ===================================== */
@@ -344,7 +362,7 @@
/* KEEP GENERIC GCC THE LAST ENTRY */
/* ===================================== */
-#elif defined(__GNUC__)
+#elif defined(__GNUC__) && !defined(_SCO_DS)
# if !defined(__LP64__) && \
(defined(__ILP32__) || defined(__i386__) || defined(__hppa__) || \
defined(__ppc__) || defined(__powerpc__) || defined(__arm__) || \
diff --git a/include/curl/typecheck-gcc.h b/include/curl/typecheck-gcc.h
index 3a0f253f..a6f63861 100644
--- a/include/curl/typecheck-gcc.h
+++ b/include/curl/typecheck-gcc.h
@@ -428,7 +428,7 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_off_t,
* == or whatsoever.
*/
-/* XXX: should evaluate to true iff expr is a pointer */
+/* XXX: should evaluate to true if expr is a pointer */
#define _curl_is_any_ptr(expr) \
(sizeof(expr) == sizeof(void *))
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 1fabdba9..6653d555 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -98,13 +98,6 @@ if(WIN32)
if(NOT CURL_STATICLIB)
# Add "_imp" as a suffix before the extension to avoid conflicting with the statically linked "libcurl.lib"
set_target_properties(${LIB_NAME} PROPERTIES IMPORT_SUFFIX "_imp.lib")
-
- set_target_properties (${LIB_NAME} PROPERTIES
- DEBUG_POSTFIX "-d"
- # Note: no postfix for release variants, let user choose what style of release he wants
- # MINSIZEREL_POSTFIX "-z"
- # RELWITHDEBINFO_POSTFIX "-g"
- )
endif()
endif()
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 87c64f3a..27783982 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -23,7 +23,7 @@ AUTOMAKE_OPTIONS = foreign nostdinc
CMAKE_DIST = CMakeLists.txt curl_config.h.cmake
-EXTRA_DIST = Makefile.b32 Makefile.m32 config-win32.h \
+EXTRA_DIST = Makefile.m32 config-win32.h \
config-win32ce.h config-riscos.h config-mac.h curl_config.h.in \
makefile.dj config-dos.h libcurl.plist libcurl.rc config-amigaos.h \
makefile.amiga Makefile.netware nwlib.c nwos.c config-win32ce.h \
diff --git a/lib/Makefile.b32 b/lib/Makefile.b32
deleted file mode 100644
index 5b5b5fa9..00000000
--- a/lib/Makefile.b32
+++ /dev/null
@@ -1,185 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 2000, Jaepil Kim, <pit@paradise.net.nz>.
-# Copyright (C) 2001 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-#***************************************************************************
-
-############################################################
-#
-# Makefile.b32 - Borland's C++ Compiler 5.X
-#
-# 'BCCDIR' has to be set up to point to the base directory
-# of the compiler, i.e. SET BCCDIR = c:\Borland\BCC55
-#
-############################################################
-
-!if "$(__MAKE__)" == ""
-!error __MAKE__ not defined. Use Borlands's MAKE to process this makefile.
-!endif
-
-# Borland's $(MAKEDIR) expands to the path where make.exe is located,
-# use this feature to define BCCDIR when user has not defined BCCDIR.
-!ifndef BCCDIR
-BCCDIR = $(MAKEDIR)\..
-!endif
-
-# Edit the path below to point to the base of your Zlib sources.
-!ifndef ZLIB_PATH
-ZLIB_PATH = ..\..\zlib-1.2.8
-!endif
-
-# Edit the path below to point to the base of your OpenSSL package.
-!ifndef OPENSSL_PATH
-OPENSSL_PATH = ..\..\openssl-1.0.2a
-!endif
-
-# Set libcurl static lib, dll and import lib
-LIBCURL_LIB = libcurl.lib
-LIBCURL_DLL = libcurl.dll
-LIBCURL_IMPLIB = libcurl_imp.lib
-
-# Setup environment
-PP_CMD = cpp32 -q -P-
-CC_CMD = bcc32 -q -c
-LD = bcc32
-RM = del 2>NUL
-MKDIR = md
-RMDIR = rd /q
-LIB = tlib
-IMPLIB = implib
-
-CC_FLAGS = -5 -O2 -tWM -w -w-aus -w-ccc -w-dup -w-prc -w-pro -w-rch -w-sig -w-spa -w-inl -w-pia -w-pin -Dinline=__inline
-LIBFLAGS = /C /P32
-LDFLAGS = -q -lq -laa -tWD
-
-SRCDIR = .;.\vauth;.\vtls
-OBJDIR = .\BCC_objs
-INCDIRS = -I.;.\lib;..\include
-LINKLIB = $(BCCDIR)\lib\cw32mt.lib $(BCCDIR)\lib\ws2_32.lib
-DEFINES = -DNDEBUG -DWIN32 -DBUILDING_LIBCURL
-
-# By default SSPI support is enabled for BCC
-!ifndef DISABLE_SSPI
-DEFINES = $(DEFINES) -DUSE_WINDOWS_SSPI
-!endif
-
-# By default LDAP support is disabled for BCC
-!ifndef WITH_LDAP
-DEFINES = $(DEFINES) -DCURL_DISABLE_LDAP
-!endif
-
-# ZLIB support is enabled setting WITH_ZLIB=1
-!ifdef WITH_ZLIB
-DEFINES = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H
-INCDIRS = $(INCDIRS);$(ZLIB_PATH)
-LINKLIB = $(LINKLIB) $(ZLIB_PATH)\zlib.lib
-!endif
-
-# SSL support is enabled setting WITH_SSL=1
-!ifdef WITH_SSL
-DEFINES = $(DEFINES) -DUSE_OPENSSL
-INCDIRS = $(INCDIRS);$(OPENSSL_PATH)\inc32;$(OPENSSL_PATH)\inc32\openssl
-LINKLIB = $(LINKLIB) $(OPENSSL_PATH)\out32\ssleay32.lib $(OPENSSL_PATH)\out32\libeay32.lib
-!endif
-
-.autodepend
-
-.path.c = $(SRCDIR)
-.path.obj = $(OBJDIR)
-.path.int = $(OBJDIR)
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-!include Makefile.inc
-
-# Borland's command line librarian program TLIB version 4.5 is not capable
-# of building a library when any of its objects contains an hyphen in its
-# name, due to a command line parsing bug. In order to workaround this, we
-# build source files with hyphens in their name as objects with underscores
-# using explicit compilation build rules instead of implicit ones.
-
-NOHYPHEN1 = $(CSOURCES:-=_)
-NOHYPHEN2 = $(NOHYPHEN1:vauth/=)
-NOHYPHEN3 = $(NOHYPHEN2:vtls/=)
-
-OBJECTS = $(NOHYPHEN3:.c=.obj)
-PREPROCESSED = $(NOHYPHEN3:.c=.int)
-
-# Borland's command line compiler (BCC32) version 5.5.1 integrated
-# preprocessor has a bug which results in silently generating wrong
-# definitions for libcurl macros such as CURL_OFF_T_C, on the other
-# hand Borland's command line preprocessor (CPP32) version 5.5.1 does
-# not have the bug and achieves proper results. In order to avoid the
-# silent bug we first preprocess source files and later compile the
-# preprocessed result.
-
-.c.obj:
- @-$(RM) $(@R).int
- $(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(<)
- $(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int
-
-all: $(OBJDIR) $(LIBCURL_LIB) $(LIBCURL_DLL)
-
-asyn_ares.obj: asyn-ares.c
- @-$(RM) $(@R).int
- $(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(?)
- $(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int
-
-asyn_thread.obj: asyn-thread.c
- @-$(RM) $(@R).int
- $(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(?)
- $(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int
-
-non_ascii.obj: non-ascii.c
- @-$(RM) $(@R).int
- $(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(?)
- $(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int
-
-clean:
- cd $(OBJDIR)
- @-$(RM) $(OBJECTS)
- @-$(RM) $(PREPROCESSED)
- cd ..
- @-$(RMDIR) $(OBJDIR)
- @-$(RM) $(LIBCURL_LIB)
- @-$(RM) $(LIBCURL_IMPLIB)
- @-$(RM) libcurl.tds
-
-$(OBJDIR):
- @-$(RMDIR) $(OBJDIR)
- @-$(MKDIR) $(OBJDIR)
-
-$(LIBCURL_LIB): $(OBJECTS)
- @-$(RM) $(LIBCURL_LIB)
- $(LIB) $(LIBFLAGS) $@ @&&!
-+$(**: = &^
-+)
-!
-
-$(LIBCURL_DLL) $(LIBCURL_IMPLIB): $(OBJECTS) $(LINKLIB)
- @-$(RM) $(LIBCURL_DLL)
- @-$(RM) $(LIBCURL_IMPLIB)
- $(LD) $(LDFLAGS) -e$(LIBCURL_DLL) @&&!
-$(**: = ^
-)
-!
- $(IMPLIB) $(LIBCURL_IMPLIB) $(LIBCURL_DLL)
-
-
-# End of Makefile.b32
diff --git a/lib/Makefile.inc b/lib/Makefile.inc
index 61c23411..76ca6d04 100644
--- a/lib/Makefile.inc
+++ b/lib/Makefile.inc
@@ -54,7 +54,7 @@ LIB_CFILES = file.c timeval.c base64.c hostip.c progress.c formdata.c \
http_ntlm.c curl_ntlm_wb.c curl_ntlm_core.c curl_sasl.c rand.c \
curl_multibyte.c hostcheck.c conncache.c pipeline.c dotdot.c \
x509asn1.c http2.c smb.c curl_endian.c curl_des.c system_win32.c \
- mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c
+ mime.c sha256.c setopt.c curl_path.c curl_ctype.c curl_range.c psl.c
LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \
formdata.h cookie.h http.h sendf.h ftp.h url.h dict.h if2ip.h \
@@ -74,7 +74,7 @@ LIB_HFILES = arpa_telnet.h netrc.h file.h timeval.h hostip.h progress.h \
curl_setup_once.h multihandle.h setup-vms.h pipeline.h dotdot.h \
x509asn1.h http2.h sigpipe.h smb.h curl_endian.h curl_des.h \
curl_printf.h system_win32.h rand.h mime.h curl_sha256.h setopt.h \
- curl_path.h curl_ctype.h curl_range.h
+ curl_path.h curl_ctype.h curl_range.h psl.h
LIB_RCFILES = libcurl.rc
diff --git a/lib/Makefile.netware b/lib/Makefile.netware
index f4b6528e..2b392f3f 100644
--- a/lib/Makefile.netware
+++ b/lib/Makefile.netware
@@ -166,7 +166,7 @@ endif
CFLAGS += -align 4
else
# PRELUDE = $(NDK_CLIB)/imports/clibpre.o
- # to avoid the __init_* / __deinit_* whoes don't use prelude from NDK
+ # to avoid the __init_* / __deinit_* woes don't use prelude from NDK
PRELUDE = "$(MWCW_PATH)/libraries/runtime/prelude.obj"
# CFLAGS += -include "$(MWCW_PATH)/headers/nlm_clib_prefix.h"
CFLAGS += -align 1
@@ -192,7 +192,7 @@ else
endif
else
PRELUDE = $(NDK_CLIB)/imports/clibpre.gcc.o
- # to avoid the __init_* / __deinit_* whoes don't use prelude from NDK
+ # to avoid the __init_* / __deinit_* woes don't use prelude from NDK
# http://www.gknw.net/development/mk_nlm/gcc_pre.zip
# PRELUDE = $(NDK_ROOT)/pre/prelude.o
CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h
diff --git a/lib/asyn-ares.c b/lib/asyn-ares.c
index aa581a49..00fe1adb 100644
--- a/lib/asyn-ares.c
+++ b/lib/asyn-ares.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -312,22 +312,25 @@ CURLcode Curl_resolver_is_resolved(struct connectdata *conn,
conn->async.os_specific;
CURLcode result = CURLE_OK;
- *dns = NULL;
+ if(dns)
+ *dns = NULL;
waitperform(conn, 0);
if(res && !res->num_pending) {
- (void)Curl_addrinfo_callback(conn, res->last_status, res->temp_ai);
- /* temp_ai ownership is moved to the connection, so we need not free-up
- them */
- res->temp_ai = NULL;
+ if(dns) {
+ (void)Curl_addrinfo_callback(conn, res->last_status, res->temp_ai);
+ /* temp_ai ownership is moved to the connection, so we need not free-up
+ them */
+ res->temp_ai = NULL;
+ }
if(!conn->async.dns) {
failf(data, "Could not resolve: %s (%s)",
conn->async.hostname, ares_strerror(conn->async.status));
result = conn->bits.proxy?CURLE_COULDNT_RESOLVE_PROXY:
CURLE_COULDNT_RESOLVE_HOST;
}
- else
+ else if(dns)
*dns = conn->async.dns;
destroy_async_data(&conn->async);
@@ -390,7 +393,7 @@ CURLcode Curl_resolver_wait_resolv(struct connectdata *conn,
timeout_ms = 1000;
waitperform(conn, timeout_ms);
- result = Curl_resolver_is_resolved(conn, &temp_entry);
+ result = Curl_resolver_is_resolved(conn, entry?&temp_entry:NULL);
if(result || conn->async.done)
break;
diff --git a/lib/asyn-thread.c b/lib/asyn-thread.c
index b11fab24..c7c1a008 100644
--- a/lib/asyn-thread.c
+++ b/lib/asyn-thread.c
@@ -481,8 +481,10 @@ CURLcode Curl_resolver_wait_resolv(struct connectdata *conn,
DEBUGASSERT(conn && td);
/* wait for the thread to resolve the name */
- if(Curl_thread_join(&td->thread_hnd))
- result = getaddrinfo_complete(conn);
+ if(Curl_thread_join(&td->thread_hnd)) {
+ if(entry)
+ result = getaddrinfo_complete(conn);
+ }
else
DEBUGASSERT(0);
@@ -572,10 +574,10 @@ int Curl_resolver_getsock(struct connectdata *conn,
(void)socks;
(void)numsocks;
ms = Curl_timediff(Curl_now(), reslv->start);
- if(ms < 10)
- milli = ms/3;
+ if(ms < 3)
+ milli = 0;
else if(ms <= 50)
- milli = 10;
+ milli = ms/3;
else if(ms <= 250)
milli = 50;
else
diff --git a/lib/base64.c b/lib/base64.c
index 204a2273..6370e4cd 100644
--- a/lib/base64.c
+++ b/lib/base64.c
@@ -49,13 +49,12 @@ static size_t decodeQuantum(unsigned char *dest, const char *src)
unsigned long i, x = 0;
for(i = 0, s = src; i < 4; i++, s++) {
- unsigned long v = 0;
-
if(*s == '=') {
x = (x << 6);
padding++;
}
else {
+ unsigned long v = 0;
p = base64;
while(*p && (*p != *s)) {
diff --git a/lib/checksrc.pl b/lib/checksrc.pl
index c90e245e..daff07bf 100755
--- a/lib/checksrc.pl
+++ b/lib/checksrc.pl
@@ -63,6 +63,7 @@ my %warnings = (
'NOSPACEEQUALS' => 'equals sign without preceding space',
'SEMINOSPACE' => 'semicolon without following space',
'MULTISPACE' => 'multiple spaces used when not suitable',
+ 'SIZEOFNOPAREN' => 'use of sizeof without parentheses',
);
sub readwhitelist {
@@ -417,6 +418,17 @@ sub scanfile {
}
}
+ # check for "sizeof" without parenthesis
+ if(($l =~ /^(.*)sizeof *([ (])/) && ($2 ne "(")) {
+ if($1 =~ / *\#/) {
+ # this is a #if, treat it differently
+ }
+ else {
+ checkwarn("SIZEOFNOPAREN", $line, length($1)+6, $file, $l,
+ "sizeof without parenthesis");
+ }
+ }
+
# check for comma without space
if($l =~ /^(.*),[^ \n]/) {
my $pref=$1;
diff --git a/lib/conncache.c b/lib/conncache.c
index b8f54448..76428eb8 100644
--- a/lib/conncache.c
+++ b/lib/conncache.c
@@ -6,7 +6,7 @@
* \___|\___/|_| \_\_____|
*
* Copyright (C) 2012 - 2016, Linus Nielsen Feltzing, <linus@haxx.se>
- * Copyright (C) 2012 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2012 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -96,14 +96,13 @@ static void bundle_destroy(struct connectbundle *cb_ptr)
}
/* Add a connection to a bundle */
-static CURLcode bundle_add_conn(struct connectbundle *cb_ptr,
- struct connectdata *conn)
+static void bundle_add_conn(struct connectbundle *cb_ptr,
+ struct connectdata *conn)
{
Curl_llist_insert_next(&cb_ptr->conn_list, cb_ptr->conn_list.tail, conn,
&conn->bundle_node);
conn->bundle = cb_ptr;
cb_ptr->num_connections++;
- return CURLE_OK;
}
/* Remove a connection from a bundle */
@@ -263,7 +262,7 @@ static void conncache_remove_bundle(struct conncache *connc,
CURLcode Curl_conncache_add_conn(struct conncache *connc,
struct connectdata *conn)
{
- CURLcode result;
+ CURLcode result = CURLE_OK;
struct connectbundle *bundle;
struct connectbundle *new_bundle = NULL;
struct Curl_easy *data = conn->data;
@@ -290,19 +289,13 @@ CURLcode Curl_conncache_add_conn(struct conncache *connc,
bundle = new_bundle;
}
- result = bundle_add_conn(bundle, conn);
- if(result) {
- if(new_bundle)
- conncache_remove_bundle(data->state.conn_cache, new_bundle);
- goto unlock;
- }
-
+ bundle_add_conn(bundle, conn);
conn->connection_id = connc->next_connection_id++;
connc->num_conn++;
DEBUGF(infof(conn->data, "Added connection %ld. "
- "The cache now contains %" CURL_FORMAT_CURL_OFF_TU " members\n",
- conn->connection_id, (curl_off_t) connc->num_conn));
+ "The cache now contains %zu members\n",
+ conn->connection_id, connc->num_conn));
unlock:
CONN_UNLOCK(data);
@@ -328,9 +321,8 @@ void Curl_conncache_remove_conn(struct connectdata *conn, bool lock)
conn->bundle = NULL; /* removed from it */
if(connc) {
connc->num_conn--;
- DEBUGF(infof(conn->data, "The cache now contains %"
- CURL_FORMAT_CURL_OFF_TU " members\n",
- (curl_off_t) connc->num_conn));
+ DEBUGF(infof(conn->data, "The cache now contains %zu members\n",
+ connc->num_conn));
}
if(lock) {
CONN_UNLOCK(conn->data);
@@ -452,6 +444,7 @@ bool Curl_conncache_return_conn(struct connectdata *conn)
}
CONN_LOCK(data);
conn->inuse = FALSE; /* Mark the connection unused */
+ conn->data = NULL; /* no owner */
CONN_UNLOCK(data);
return (conn_candidate == conn) ? FALSE : TRUE;
@@ -501,9 +494,8 @@ Curl_conncache_extract_bundle(struct Curl_easy *data,
/* remove it to prevent another thread from nicking it */
bundle_remove_conn(bundle, conn_candidate);
data->state.conn_cache->num_conn--;
- DEBUGF(infof(data, "The cache now contains %"
- CURL_FORMAT_CURL_OFF_TU " members\n",
- (curl_off_t) data->state.conn_cache->num_conn));
+ DEBUGF(infof(data, "The cache now contains %zu members\n",
+ data->state.conn_cache->num_conn));
}
return conn_candidate;
@@ -563,9 +555,8 @@ Curl_conncache_extract_oldest(struct Curl_easy *data)
/* remove it to prevent another thread from nicking it */
bundle_remove_conn(bundle_candidate, conn_candidate);
connc->num_conn--;
- DEBUGF(infof(data, "The cache now contains %"
- CURL_FORMAT_CURL_OFF_TU " members\n",
- (curl_off_t) connc->num_conn));
+ DEBUGF(infof(data, "The cache now contains %zu members\n",
+ connc->num_conn));
}
CONN_UNLOCK(data);
diff --git a/lib/conncache.h b/lib/conncache.h
index d8ad80f9..eedd7a80 100644
--- a/lib/conncache.h
+++ b/lib/conncache.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2015 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2015 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 2012 - 2014, Linus Nielsen Feltzing, <linus@haxx.se>
*
* This software is licensed as described in the file COPYING, which
@@ -63,7 +63,7 @@ size_t Curl_conncache_bundle_size(struct connectdata *conn);
bool Curl_conncache_return_conn(struct connectdata *conn);
CURLcode Curl_conncache_add_conn(struct conncache *connc,
- struct connectdata *conn);
+ struct connectdata *conn) WARN_UNUSED_RESULT;
void Curl_conncache_remove_conn(struct connectdata *conn,
bool lock);
bool Curl_conncache_foreach(struct Curl_easy *data,
diff --git a/lib/connect.c b/lib/connect.c
index 1a27ae13..41f22026 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -1237,8 +1237,6 @@ static int conn_is_conn(struct connectdata *conn, void *param)
curl_socket_t Curl_getconnectinfo(struct Curl_easy *data,
struct connectdata **connp)
{
- curl_socket_t sockfd;
-
DEBUGASSERT(data);
/* this works for an easy handle:
@@ -1261,15 +1259,15 @@ curl_socket_t Curl_getconnectinfo(struct Curl_easy *data,
return CURL_SOCKET_BAD;
}
- if(connp)
+ if(connp) {
/* only store this if the caller cares for it */
*connp = c;
- sockfd = c->sock[FIRSTSOCKET];
+ c->data = data;
+ }
+ return c->sock[FIRSTSOCKET];
}
else
return CURL_SOCKET_BAD;
-
- return sockfd;
}
/*
diff --git a/lib/content_encoding.c b/lib/content_encoding.c
index 7c979efc..d69ad5c5 100644
--- a/lib/content_encoding.c
+++ b/lib/content_encoding.c
@@ -163,7 +163,6 @@ static CURLcode inflate_stream(struct connectdata *conn,
z_stream *z = &zp->z; /* zlib state structure */
uInt nread = z->avail_in;
Bytef *orig_in = z->next_in;
- int status; /* zlib status */
bool done = FALSE;
CURLcode result = CURLE_OK; /* Curl_client_write status */
char *decomp; /* Put the decompressed data here. */
@@ -184,13 +183,20 @@ static CURLcode inflate_stream(struct connectdata *conn,
/* because the buffer size is fixed, iteratively decompress and transfer to
the client via downstream_write function. */
while(!done) {
+ int status; /* zlib status */
done = TRUE;
/* (re)set buffer for decompressed output for every iteration */
z->next_out = (Bytef *) decomp;
z->avail_out = DSIZ;
+#ifdef Z_BLOCK
+ /* Z_BLOCK is only available in zlib ver. >= 1.2.0.5 */
status = inflate(z, Z_BLOCK);
+#else
+ /* fallback for zlib ver. < 1.2.0.5 */
+ status = inflate(z, Z_SYNC_FLUSH);
+#endif
/* Flush output data if some. */
if(z->avail_out != DSIZ) {
@@ -755,7 +761,6 @@ char *Curl_all_content_encodings(void)
const content_encoding * const *cep;
const content_encoding *ce;
char *ace;
- char *p;
for(cep = encodings; *cep; cep++) {
ce = *cep;
@@ -768,7 +773,7 @@ char *Curl_all_content_encodings(void)
ace = malloc(len);
if(ace) {
- p = ace;
+ char *p = ace;
for(cep = encodings; *cep; cep++) {
ce = *cep;
if(!strcasecompare(ce->name, CONTENT_ENCODING_DEFAULT)) {
@@ -915,10 +920,9 @@ void Curl_unencode_cleanup(struct connectdata *conn)
static const content_encoding *find_encoding(const char *name, size_t len)
{
const content_encoding * const *cep;
- const content_encoding *ce;
for(cep = encodings; *cep; cep++) {
- ce = *cep;
+ const content_encoding *ce = *cep;
if((strncasecompare(name, ce->name, len) && !ce->name[len]) ||
(ce->alias && strncasecompare(name, ce->alias, len) && !ce->alias[len]))
return ce;
diff --git a/lib/cookie.c b/lib/cookie.c
index 29f627fd..72aaa763 100644
--- a/lib/cookie.c
+++ b/lib/cookie.c
@@ -84,12 +84,9 @@ Example set of cookies:
#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
-#ifdef USE_LIBPSL
-# include <libpsl.h>
-#endif
-
#include "urldata.h"
#include "cookie.h"
+#include "psl.h"
#include "strtok.h"
#include "sendf.h"
#include "slist.h"
@@ -379,13 +376,13 @@ static void strstore(char **str, const char *newstr)
*/
static void remove_expired(struct CookieInfo *cookies)
{
- struct Cookie *co, *nx, *pv;
+ struct Cookie *co, *nx;
curl_off_t now = (curl_off_t)time(NULL);
unsigned int i;
for(i = 0; i < COOKIE_HASH_SIZE; i++) {
+ struct Cookie *pv = NULL;
co = cookies->cookies[i];
- pv = NULL;
while(co) {
nx = co->next;
if(co->expires && co->expires < now) {
@@ -406,6 +403,12 @@ static void remove_expired(struct CookieInfo *cookies)
}
}
+/* Make sure domain contains a dot or is localhost. */
+static bool bad_domain(const char *domain)
+{
+ return !strchr(domain, '.') && !strcasecompare(domain, "localhost");
+}
+
/****************************************************************************
*
* Curl_cookie_add()
@@ -442,10 +445,6 @@ Curl_cookie_add(struct Curl_easy *data,
bool badcookie = FALSE; /* cookies are good by default. mmmmm yummy */
size_t myhash;
-#ifdef USE_LIBPSL
- const psl_ctx_t *psl;
-#endif
-
#ifdef CURL_DISABLE_VERBOSE_STRINGS
(void)data;
#endif
@@ -497,7 +496,7 @@ Curl_cookie_add(struct Curl_easy *data,
name + contents. Chrome and Firefox support 4095 or 4096 bytes
combo. */
freecookie(co);
- infof(data, "oversized cookie dropped, name/val %d + %d bytes\n",
+ infof(data, "oversized cookie dropped, name/val %zu + %zu bytes\n",
nlen, len);
return NULL;
}
@@ -585,13 +584,8 @@ Curl_cookie_add(struct Curl_easy *data,
* TLD or otherwise "protected" suffix. To reduce risk, we require a
* dot OR the exact host name being "localhost".
*/
- {
- const char *dotp;
- /* check for more dots */
- dotp = strchr(whatptr, '.');
- if(!dotp && !strcasecompare("localhost", whatptr))
- domain = ":";
- }
+ if(bad_domain(whatptr))
+ domain = ":";
#endif
is_ip = isip(domain ? domain : whatptr);
@@ -890,14 +884,21 @@ Curl_cookie_add(struct Curl_easy *data,
remove_expired(c);
#ifdef USE_LIBPSL
- /* Check if the domain is a Public Suffix and if yes, ignore the cookie.
- This needs a libpsl compiled with builtin data. */
+ /* Check if the domain is a Public Suffix and if yes, ignore the cookie. */
if(domain && co->domain && !isip(co->domain)) {
- psl = psl_builtin();
- if(psl && !psl_is_cookie_domain_acceptable(psl, domain, co->domain)) {
- infof(data,
- "cookie '%s' dropped, domain '%s' must not set cookies for '%s'\n",
- co->name, domain, co->domain);
+ const psl_ctx_t *psl = Curl_psl_use(data);
+ int acceptable;
+
+ if(psl) {
+ acceptable = psl_is_cookie_domain_acceptable(psl, domain, co->domain);
+ Curl_psl_release(data);
+ }
+ else
+ acceptable = !bad_domain(domain);
+
+ if(!acceptable) {
+ infof(data, "cookie '%s' dropped, domain '%s' must not "
+ "set cookies for '%s'\n", co->name, domain, co->domain);
freecookie(co);
return NULL;
}
@@ -1384,9 +1385,8 @@ void Curl_cookie_clearsess(struct CookieInfo *cookies)
****************************************************************************/
void Curl_cookie_cleanup(struct CookieInfo *c)
{
- unsigned int i;
-
if(c) {
+ unsigned int i;
free(c->filename);
for(i = 0; i < COOKIE_HASH_SIZE; i++)
Curl_cookie_freelist(c->cookies[i]);
diff --git a/lib/curl_addrinfo.c b/lib/curl_addrinfo.c
index 55d5a394..fd49679c 100644
--- a/lib/curl_addrinfo.c
+++ b/lib/curl_addrinfo.c
@@ -536,7 +536,8 @@ Curl_addrinfo *Curl_unix2addr(const char *path, bool *longpath, bool abstract)
}
#endif
-#if defined(CURLDEBUG) && defined(HAVE_FREEADDRINFO)
+#if defined(CURLDEBUG) && defined(HAVE_GETADDRINFO) && \
+ defined(HAVE_FREEADDRINFO)
/*
* curl_dofreeaddrinfo()
*
diff --git a/lib/curl_config.h b/lib/curl_config.h
index 77587ebe..fec89980 100644
--- a/lib/curl_config.h
+++ b/lib/curl_config.h
@@ -97,21 +97,6 @@
/* Define to the type of arg 2 for gethostname. */
#define GETHOSTNAME_TYPE_ARG2 unsigned int
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-#define GETNAMEINFO_QUAL_ARG1 const
-
-/* Define to the type of arg 1 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG1 struct sockaddr *
-
-/* Define to the type of arg 2 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG2 socklen_t
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG46 size_t
-
-/* Define to the type of arg 7 for getnameinfo. */
-#define GETNAMEINFO_TYPE_ARG7 int
-
/* Specifies the number of arguments to getservbyport_r */
/* #undef GETSERVBYPORT_R_ARGS */
@@ -178,15 +163,19 @@
/* Define to 1 if you have the <cyassl/options.h> header file. */
/* #undef HAVE_CYASSL_OPTIONS_H */
+/* Define to 1 if you have the declaration of `getpwuid_r', and to 0 if you
+ don't. */
+#define HAVE_DECL_GETPWUID_R 1
+
+/* "Set if getpwuid_r() declaration is missing" */
+/* #undef HAVE_DECL_GETPWUID_R_MISSING */
+
/* Define to 1 if you have the <dlfcn.h> header file. */
#define HAVE_DLFCN_H 1
/* Define to 1 if you have the `ENGINE_cleanup' function. */
/* #undef HAVE_ENGINE_CLEANUP */
-/* Define to 1 if you have the `ENGINE_load_builtin_engines' function. */
-/* #undef HAVE_ENGINE_LOAD_BUILTIN_ENGINES */
-
/* Define to 1 if you have the <errno.h> header file. */
#define HAVE_ERRNO_H 1
@@ -205,6 +194,9 @@
/* Define to 1 if you have the fdopen function. */
#define HAVE_FDOPEN 1
+/* Define to 1 if you have the `fnmatch' function. */
+#define HAVE_FNMATCH 1
+
/* Define to 1 if you have the freeaddrinfo function. */
#define HAVE_FREEADDRINFO 1
@@ -271,9 +263,6 @@
/* Define to 1 if you have a working getifaddrs function. */
#define HAVE_GETIFADDRS 1
-/* Define to 1 if you have the getnameinfo function. */
-#define HAVE_GETNAMEINFO 1
-
/* Define to 1 if you have the `getpass_r' function. */
/* #undef HAVE_GETPASS_R */
@@ -489,9 +478,6 @@
/* Define to 1 if you have the <nghttp2/nghttp2.h> header file. */
/* #undef HAVE_NGHTTP2_NGHTTP2_H */
-/* Define to 1 if NI_WITHSCOPEID exists and works. */
-/* #undef HAVE_NI_WITHSCOPEID */
-
/* if you have an old MIT Kerberos version, lacking GSS_C_NT_HOSTBASED_SERVICE
*/
/* #undef HAVE_OLD_GSSMIT */
@@ -499,9 +485,6 @@
/* Define to 1 if you have the <openssl/crypto.h> header file. */
#define HAVE_OPENSSL_CRYPTO_H 1
-/* Define to 1 if you have the <openssl/engine.h> header file. */
-/* #undef HAVE_OPENSSL_ENGINE_H */
-
/* Define to 1 if you have the <openssl/err.h> header file. */
#define HAVE_OPENSSL_ERR_H 1
@@ -904,13 +887,13 @@
/* Define to the function return type for send. */
#define SEND_TYPE_RETV ssize_t
-/* The size of `curl_off_t', as computed by sizeof. */
+/* The number of bytes in type curl_off_t */
#define SIZEOF_CURL_OFF_T 8
-/* The size of `int', as computed by sizeof. */
+/* The number of bytes in type int */
#define SIZEOF_INT 4
-/* The size of `short', as computed by sizeof. */
+/* The number of bytes in type short */
#define SIZEOF_SHORT 2
/* Define to 1 if you have the ANSI C header files. */
diff --git a/lib/curl_config.h.cmake b/lib/curl_config.h.cmake
index 4b12083f..ab0094be 100644
--- a/lib/curl_config.h.cmake
+++ b/lib/curl_config.h.cmake
@@ -235,6 +235,9 @@
/* Define to 1 if you have the `getpwuid' function. */
#cmakedefine HAVE_GETPWUID 1
+/* Define to 1 if you have the `getpwuid_r' function. */
+#cmakedefine HAVE_GETPWUID_R 1
+
/* Define to 1 if you have the `getrlimit' function. */
#cmakedefine HAVE_GETRLIMIT 1
@@ -963,6 +966,9 @@
/* to enable Windows SSL */
#cmakedefine USE_SCHANNEL 1
+/* enable multiple SSL backends */
+#cmakedefine CURL_WITH_MULTI_SSL 1
+
/* Define to 1 if using yaSSL in OpenSSL compatibility mode. */
#cmakedefine USE_YASSLEMUL 1
diff --git a/lib/curl_config.h.in b/lib/curl_config.h.in
index f6032152..9c9e2d9a 100644
--- a/lib/curl_config.h.in
+++ b/lib/curl_config.h.in
@@ -96,21 +96,6 @@
/* Define to the type of arg 2 for gethostname. */
#undef GETHOSTNAME_TYPE_ARG2
-/* Define to the type qualifier of arg 1 for getnameinfo. */
-#undef GETNAMEINFO_QUAL_ARG1
-
-/* Define to the type of arg 1 for getnameinfo. */
-#undef GETNAMEINFO_TYPE_ARG1
-
-/* Define to the type of arg 2 for getnameinfo. */
-#undef GETNAMEINFO_TYPE_ARG2
-
-/* Define to the type of args 4 and 6 for getnameinfo. */
-#undef GETNAMEINFO_TYPE_ARG46
-
-/* Define to the type of arg 7 for getnameinfo. */
-#undef GETNAMEINFO_TYPE_ARG7
-
/* Specifies the number of arguments to getservbyport_r */
#undef GETSERVBYPORT_R_ARGS
@@ -177,15 +162,19 @@
/* Define to 1 if you have the <cyassl/options.h> header file. */
#undef HAVE_CYASSL_OPTIONS_H
+/* Define to 1 if you have the declaration of `getpwuid_r', and to 0 if you
+ don't. */
+#undef HAVE_DECL_GETPWUID_R
+
+/* "Set if getpwuid_r() declaration is missing" */
+#undef HAVE_DECL_GETPWUID_R_MISSING
+
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the `ENGINE_cleanup' function. */
#undef HAVE_ENGINE_CLEANUP
-/* Define to 1 if you have the `ENGINE_load_builtin_engines' function. */
-#undef HAVE_ENGINE_LOAD_BUILTIN_ENGINES
-
/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H
@@ -204,6 +193,9 @@
/* Define to 1 if you have the fdopen function. */
#undef HAVE_FDOPEN
+/* Define to 1 if you have the `fnmatch' function. */
+#undef HAVE_FNMATCH
+
/* Define to 1 if you have the freeaddrinfo function. */
#undef HAVE_FREEADDRINFO
@@ -270,9 +262,6 @@
/* Define to 1 if you have a working getifaddrs function. */
#undef HAVE_GETIFADDRS
-/* Define to 1 if you have the getnameinfo function. */
-#undef HAVE_GETNAMEINFO
-
/* Define to 1 if you have the `getpass_r' function. */
#undef HAVE_GETPASS_R
@@ -488,9 +477,6 @@
/* Define to 1 if you have the <nghttp2/nghttp2.h> header file. */
#undef HAVE_NGHTTP2_NGHTTP2_H
-/* Define to 1 if NI_WITHSCOPEID exists and works. */
-#undef HAVE_NI_WITHSCOPEID
-
/* if you have an old MIT Kerberos version, lacking GSS_C_NT_HOSTBASED_SERVICE
*/
#undef HAVE_OLD_GSSMIT
@@ -498,9 +484,6 @@
/* Define to 1 if you have the <openssl/crypto.h> header file. */
#undef HAVE_OPENSSL_CRYPTO_H
-/* Define to 1 if you have the <openssl/engine.h> header file. */
-#undef HAVE_OPENSSL_ENGINE_H
-
/* Define to 1 if you have the <openssl/err.h> header file. */
#undef HAVE_OPENSSL_ERR_H
@@ -906,28 +889,28 @@
/* Define to the function return type for send. */
#undef SEND_TYPE_RETV
-/* The size of `curl_off_t', as computed by sizeof. */
+/* The number of bytes in type curl_off_t */
#undef SIZEOF_CURL_OFF_T
-/* The size of `int', as computed by sizeof. */
+/* The number of bytes in type int */
#undef SIZEOF_INT
-/* The size of `long', as computed by sizeof. */
+/* The number of bytes in type long */
#undef SIZEOF_LONG
-/* The size of `long long', as computed by sizeof. */
+/* The number of bytes in type long long */
#undef SIZEOF_LONG_LONG
-/* The size of `off_t', as computed by sizeof. */
+/* The number of bytes in type off_t */
#undef SIZEOF_OFF_T
-/* The size of `short', as computed by sizeof. */
+/* The number of bytes in type short */
#undef SIZEOF_SHORT
-/* The size of `size_t', as computed by sizeof. */
+/* The number of bytes in type size_t */
#undef SIZEOF_SIZE_T
-/* The size of `time_t', as computed by sizeof. */
+/* The number of bytes in type time_t */
#undef SIZEOF_TIME_T
/* Define to 1 if you have the ANSI C header files. */
diff --git a/lib/curl_fnmatch.c b/lib/curl_fnmatch.c
index 0179a4f7..fbfd85c4 100644
--- a/lib/curl_fnmatch.c
+++ b/lib/curl_fnmatch.c
@@ -30,6 +30,17 @@
/* The last #include file should be: */
#include "memdebug.h"
+#ifndef HAVE_FNMATCH
+
+/*
+ * TODO:
+ *
+ * Make this function match POSIX. Test 1307 includes a set of test patterns
+ * that returns different results with a POSIX fnmatch() than with this
+ * implementation and this is considered a bug where POSIX is the guiding
+ * light.
+ */
+
#define CURLFNM_CHARSET_LEN (sizeof(char) * 256)
#define CURLFNM_CHSET_SIZE (CURLFNM_CHARSET_LEN + 15)
@@ -334,9 +345,9 @@ static int loop(const unsigned char *pattern, const unsigned char *string,
s++;
break;
}
+ /* Syntax error in set; mismatch! */
+ return CURL_FNMATCH_NOMATCH;
- /* Syntax error in set: this must be taken as a regular character. */
- /* FALLTHROUGH */
default:
if(*p++ != *s++)
return CURL_FNMATCH_NOMATCH;
@@ -355,5 +366,31 @@ int Curl_fnmatch(void *ptr, const char *pattern, const char *string)
if(!pattern || !string) {
return CURL_FNMATCH_FAIL;
}
- return loop((unsigned char *)pattern, (unsigned char *)string, 5);
+ return loop((unsigned char *)pattern, (unsigned char *)string, 2);
+}
+#else
+#include <fnmatch.h>
+/*
+ * @unittest: 1307
+ */
+int Curl_fnmatch(void *ptr, const char *pattern, const char *string)
+{
+ int rc;
+ (void)ptr; /* the argument is specified by the curl_fnmatch_callback
+ prototype, but not used by Curl_fnmatch() */
+ if(!pattern || !string) {
+ return CURL_FNMATCH_FAIL;
+ }
+ rc = fnmatch(pattern, string, 0);
+ switch(rc) {
+ case 0:
+ return CURL_FNMATCH_MATCH;
+ case FNM_NOMATCH:
+ return CURL_FNMATCH_NOMATCH;
+ default:
+ return CURL_FNMATCH_FAIL;
+ }
+ /* not reached */
}
+
+#endif
diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c
index e54e4875..354bc544 100644
--- a/lib/curl_sasl.c
+++ b/lib/curl_sasl.c
@@ -146,7 +146,6 @@ CURLcode Curl_sasl_parse_url_auth_option(struct SASL *sasl,
const char *value, size_t len)
{
CURLcode result = CURLE_OK;
- unsigned int mechbit;
size_t mechlen;
if(!len)
@@ -160,7 +159,7 @@ CURLcode Curl_sasl_parse_url_auth_option(struct SASL *sasl,
if(!strncmp(value, "*", len))
sasl->prefmech = SASL_AUTH_DEFAULT;
else {
- mechbit = Curl_sasl_decode_mech(value, len, &mechlen);
+ unsigned int mechbit = Curl_sasl_decode_mech(value, len, &mechlen);
if(mechbit && mechlen == len)
sasl->prefmech |= mechbit;
else
diff --git a/lib/curl_setup.h b/lib/curl_setup.h
index 5593a3b5..799d5fab 100644
--- a/lib/curl_setup.h
+++ b/lib/curl_setup.h
@@ -217,7 +217,7 @@
/*
* Use getaddrinfo to resolve the IPv4 address literal. If the current network
- * interface doesn’t support IPv4, but supports IPv6, NAT64, and DNS64,
+ * interface doesn't support IPv4, but supports IPv6, NAT64, and DNS64,
* performing this task will result in a synthesized IPv6 address.
*/
#ifdef __APPLE__
@@ -242,6 +242,7 @@
# if defined(_UNICODE) && !defined(UNICODE)
# define UNICODE
# endif
+# include <winerror.h>
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
@@ -800,4 +801,11 @@ endings either CRLF or LF so 't' is appropriate.
#define CURL_SA_FAMILY_T unsigned short
#endif
+/* Some versions of the Android SDK is missing the declaration */
+#if defined(HAVE_GETPWUID_R) && defined(HAVE_DECL_GETPWUID_R_MISSING)
+struct passwd;
+int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf,
+ size_t buflen, struct passwd **result);
+#endif
+
#endif /* HEADER_CURL_SETUP_H */
diff --git a/lib/dict.c b/lib/dict.c
index 4fc85521..c26d6d34 100644
--- a/lib/dict.c
+++ b/lib/dict.c
@@ -95,10 +95,7 @@ static char *unescape_word(struct Curl_easy *data, const char *inputbuff)
{
char *newp = NULL;
char *dictp;
- char *ptr;
size_t len;
- char ch;
- int olen = 0;
CURLcode result = Curl_urldecode(data, inputbuff, 0, &newp, &len, FALSE);
if(!newp || result)
@@ -106,6 +103,9 @@ static char *unescape_word(struct Curl_easy *data, const char *inputbuff)
dictp = malloc(((size_t)len)*2 + 1); /* add one for terminating zero */
if(dictp) {
+ char *ptr;
+ char ch;
+ int olen = 0;
/* According to RFC2229 section 2.2, these letters need to be escaped with
\[letter] */
for(ptr = newp;
diff --git a/lib/easy.c b/lib/easy.c
index 6b914353..5af90e32 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -113,7 +113,7 @@ static CURLcode win32_init(void)
res = WSAStartup(wVersionRequested, &wsaData);
if(res != 0)
- /* Tell the user that we couldn't find a useable */
+ /* Tell the user that we couldn't find a usable */
/* winsock.dll. */
return CURLE_FAILED_INIT;
@@ -125,7 +125,7 @@ static CURLcode win32_init(void)
if(LOBYTE(wsaData.wVersion) != LOBYTE(wVersionRequested) ||
HIBYTE(wsaData.wVersion) != HIBYTE(wVersionRequested) ) {
- /* Tell the user that we couldn't find a useable */
+ /* Tell the user that we couldn't find a usable */
/* winsock.dll. */
WSACleanup();
@@ -661,38 +661,27 @@ static CURLcode easy_transfer(struct Curl_multi *multi)
bool done = FALSE;
CURLMcode mcode = CURLM_OK;
CURLcode result = CURLE_OK;
- struct curltime before;
- int without_fds = 0; /* count number of consecutive returns from
- curl_multi_wait() without any filedescriptors */
while(!done && !mcode) {
int still_running = 0;
int rc;
- before = Curl_now();
mcode = curl_multi_wait(multi, NULL, 0, 1000, &rc);
if(!mcode) {
if(!rc) {
- struct curltime after = Curl_now();
+ long sleep_ms;
/* If it returns without any filedescriptor instantly, we need to
avoid busy-looping during periods where it has nothing particular
to wait for */
- if(Curl_timediff(after, before) <= 10) {
- without_fds++;
- if(without_fds > 2) {
- int sleep_ms = without_fds < 10 ? (1 << (without_fds - 1)) : 1000;
- Curl_wait_ms(sleep_ms);
- }
+ curl_multi_timeout(multi, &sleep_ms);
+ if(sleep_ms) {
+ if(sleep_ms > 1000)
+ sleep_ms = 1000;
+ Curl_wait_ms((int)sleep_ms);
}
- else
- /* it wasn't "instant", restart counter */
- without_fds = 0;
}
- else
- /* got file descriptor, restart counter */
- without_fds = 0;
mcode = curl_multi_perform(multi, &still_running);
}
diff --git a/lib/escape.c b/lib/escape.c
index b7e2d32a..10774f05 100644
--- a/lib/escape.c
+++ b/lib/escape.c
@@ -82,7 +82,6 @@ char *curl_easy_escape(struct Curl_easy *data, const char *string,
size_t alloc;
char *ns;
char *testing_ptr = NULL;
- unsigned char in; /* we need to treat the characters unsigned */
size_t newlen;
size_t strindex = 0;
size_t length;
@@ -100,7 +99,7 @@ char *curl_easy_escape(struct Curl_easy *data, const char *string,
length = alloc-1;
while(length--) {
- in = *string;
+ unsigned char in = *string; /* we need to treat the characters unsigned */
if(Curl_isunreserved(in))
/* just copy this */
@@ -150,7 +149,6 @@ CURLcode Curl_urldecode(struct Curl_easy *data,
{
size_t alloc = (length?length:strlen(string)) + 1;
char *ns = malloc(alloc);
- unsigned char in;
size_t strindex = 0;
unsigned long hex;
CURLcode result;
@@ -159,7 +157,7 @@ CURLcode Curl_urldecode(struct Curl_easy *data,
return CURLE_OUT_OF_MEMORY;
while(--alloc > 0) {
- in = *string;
+ unsigned char in = *string;
if(('%' == in) && (alloc > 2) &&
ISXDIGIT(string[1]) && ISXDIGIT(string[2])) {
/* this is two hexadecimal digits following a '%' */
diff --git a/lib/file.c b/lib/file.c
index db04cc2d..77fcf253 100644
--- a/lib/file.c
+++ b/lib/file.c
@@ -256,8 +256,6 @@ static CURLcode file_upload(struct connectdata *conn)
CURLcode result = CURLE_OK;
struct Curl_easy *data = conn->data;
char *buf = data->state.buffer;
- size_t nread;
- size_t nwrite;
curl_off_t bytecount = 0;
struct_stat file_stat;
const char *buf2;
@@ -306,6 +304,8 @@ static CURLcode file_upload(struct connectdata *conn)
}
while(!result) {
+ size_t nread;
+ size_t nwrite;
int readcount;
result = Curl_fillreadbuffer(conn, (int)data->set.buffer_size, &readcount);
if(result)
@@ -378,7 +378,6 @@ static CURLcode file_do(struct connectdata *conn, bool *done)
curl_off_t expected_size = 0;
bool size_known;
bool fstated = FALSE;
- ssize_t nread;
struct Curl_easy *data = conn->data;
char *buf = data->state.buffer;
curl_off_t bytecount = 0;
@@ -461,7 +460,7 @@ static CURLcode file_do(struct connectdata *conn, bool *done)
return result;
/* Adjust the start offset in case we want to get the N last bytes
- * of the stream iff the filesize could be determined */
+ * of the stream if the filesize could be determined */
if(data->state.resume_from < 0) {
if(!fstated) {
failf(data, "Can't get the size of file.");
@@ -502,6 +501,7 @@ static CURLcode file_do(struct connectdata *conn, bool *done)
Curl_pgrsTime(data, TIMER_STARTTRANSFER);
while(!result) {
+ ssize_t nread;
/* Don't fill a whole buffer if we want less than all data */
size_t bytestoread;
diff --git a/lib/formdata.c b/lib/formdata.c
index f9124105..8f6c6e31 100644
--- a/lib/formdata.c
+++ b/lib/formdata.c
@@ -725,7 +725,7 @@ int curl_formget(struct curl_httppost *form, void *arg,
while(!result) {
char buffer[8192];
- size_t nread = Curl_mime_read(buffer, 1, sizeof buffer, &toppart);
+ size_t nread = Curl_mime_read(buffer, 1, sizeof(buffer), &toppart);
if(!nread)
break;
@@ -812,7 +812,6 @@ CURLcode Curl_getformdata(struct Curl_easy *data,
{
CURLcode result = CURLE_OK;
curl_mime *form = NULL;
- curl_mime *multipart;
curl_mimepart *part;
struct curl_httppost *file;
@@ -831,7 +830,7 @@ CURLcode Curl_getformdata(struct Curl_easy *data,
/* Process each top part. */
for(; !result && post; post = post->next) {
/* If we have more than a file here, create a mime subpart and fill it. */
- multipart = form;
+ curl_mime *multipart = form;
if(post->more) {
part = curl_mime_addpart(form);
if(!part)
diff --git a/lib/ftp.c b/lib/ftp.c
index 4e074a11..7dbf0800 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -239,8 +239,8 @@ static void close_secondarysocket(struct connectdata *conn)
static void freedirs(struct ftp_conn *ftpc)
{
- int i;
if(ftpc->dirs) {
+ int i;
for(i = 0; i < ftpc->dirdepth; i++) {
free(ftpc->dirs[i]);
ftpc->dirs[i] = NULL;
@@ -637,8 +637,6 @@ CURLcode Curl_GetFTPResponse(ssize_t *nreadp, /* return number of bytes read */
* line in a response or continue reading. */
curl_socket_t sockfd = conn->sock[FIRSTSOCKET];
- time_t timeout; /* timeout in milliseconds */
- time_t interval_ms;
struct Curl_easy *data = conn->data;
CURLcode result = CURLE_OK;
struct ftp_conn *ftpc = &conn->proto.ftpc;
@@ -657,7 +655,8 @@ CURLcode Curl_GetFTPResponse(ssize_t *nreadp, /* return number of bytes read */
while(!*ftpcode && !result) {
/* check and reset timeout value every lap */
- timeout = Curl_pp_state_timeout(pp);
+ time_t timeout = Curl_pp_state_timeout(pp); /* timeout in milliseconds */
+ time_t interval_ms;
if(timeout <= 0) {
failf(data, "FTP response timeout");
@@ -1589,7 +1588,6 @@ static CURLcode ftp_state_ul_setup(struct connectdata *conn,
struct FTP *ftp = conn->data->req.protop;
struct Curl_easy *data = conn->data;
struct ftp_conn *ftpc = &conn->proto.ftpc;
- int seekerr = CURL_SEEKFUNC_OK;
if((data->state.resume_from && !sizechecked) ||
((data->state.resume_from > 0) && sizechecked)) {
@@ -1605,6 +1603,7 @@ static CURLcode ftp_state_ul_setup(struct connectdata *conn,
/* 3. pass file-size number of bytes in the source file */
/* 4. lower the infilesize counter */
/* => transfer as usual */
+ int seekerr = CURL_SEEKFUNC_OK;
if(data->state.resume_from < 0) {
/* Got no given size to start from, figure it out */
@@ -2782,7 +2781,6 @@ static CURLcode ftp_statemach_act(struct connectdata *conn)
char *ptr = &data->state.buffer[4]; /* start on the first letter */
const size_t buf_size = data->set.buffer_size;
char *dir;
- char *store;
bool entry_extracted = FALSE;
dir = malloc(nread + 1);
@@ -2805,6 +2803,7 @@ static CURLcode ftp_statemach_act(struct connectdata *conn)
if('\"' == *ptr) {
/* it started good */
+ char *store;
ptr++;
for(store = dir; *ptr;) {
if('\"' == *ptr) {
@@ -3992,8 +3991,7 @@ CURLcode Curl_ftpsend(struct connectdata *conn, const char *cmd)
break;
if(conn->data->set.verbose)
- Curl_debug(conn->data, CURLINFO_HEADER_OUT,
- sptr, (size_t)bytes_written, conn);
+ Curl_debug(conn->data, CURLINFO_HEADER_OUT, sptr, (size_t)bytes_written);
if(bytes_written != (ssize_t)write_len) {
write_len -= bytes_written;
@@ -4384,7 +4382,6 @@ static CURLcode ftp_setup_connection(struct connectdata *conn)
{
struct Curl_easy *data = conn->data;
char *type;
- char command;
struct FTP *ftp;
conn->data->req.protop = ftp = malloc(sizeof(struct FTP));
@@ -4402,6 +4399,7 @@ static CURLcode ftp_setup_connection(struct connectdata *conn)
type = strstr(conn->host.rawalloc, ";type=");
if(type) {
+ char command;
*type = 0; /* it was in the middle of the hostname */
command = Curl_raw_toupper(type[6]);
conn->bits.type_set = TRUE;
diff --git a/lib/getinfo.c b/lib/getinfo.c
index d280eebf..14b45627 100644
--- a/lib/getinfo.c
+++ b/lib/getinfo.c
@@ -281,6 +281,28 @@ static CURLcode getinfo_offt(struct Curl_easy *data, CURLINFO info,
*param_offt = (data->progress.flags & PGRS_UL_SIZE_KNOWN)?
data->progress.size_ul:-1;
break;
+ case CURLINFO_TOTAL_TIME_T:
+ *param_offt = data->progress.timespent;
+ break;
+ case CURLINFO_NAMELOOKUP_TIME_T:
+ *param_offt = data->progress.t_nslookup;
+ break;
+ case CURLINFO_CONNECT_TIME_T:
+ *param_offt = data->progress.t_connect;
+ break;
+ case CURLINFO_APPCONNECT_TIME_T:
+ *param_offt = data->progress.t_appconnect;
+ break;
+ case CURLINFO_PRETRANSFER_TIME_T:
+ *param_offt = data->progress.t_pretransfer;
+ break;
+ case CURLINFO_STARTTRANSFER_TIME_T:
+ *param_offt = data->progress.t_starttransfer;
+ break;
+ case CURLINFO_REDIRECT_TIME_T:
+ *param_offt = data->progress.t_redirect;
+ break;
+
default:
return CURLE_UNKNOWN_OPTION;
}
diff --git a/lib/hash.c b/lib/hash.c
index 15a128fe..421d68f7 100644
--- a/lib/hash.c
+++ b/lib/hash.c
@@ -60,8 +60,6 @@ Curl_hash_init(struct curl_hash *h,
comp_function comparator,
curl_hash_dtor dtor)
{
- int i;
-
if(!slots || !hfunc || !comparator ||!dtor) {
return 1; /* failure */
}
@@ -74,6 +72,7 @@ Curl_hash_init(struct curl_hash *h,
h->table = malloc(slots * sizeof(struct curl_llist));
if(h->table) {
+ int i;
for(i = 0; i < slots; ++i)
Curl_llist_init(&h->table[i], (curl_llist_dtor) hash_element_dtor);
return 0; /* fine */
@@ -140,11 +139,10 @@ Curl_hash_add(struct curl_hash *h, void *key, size_t key_len, void *p)
int Curl_hash_delete(struct curl_hash *h, void *key, size_t key_len)
{
struct curl_llist_element *le;
- struct curl_hash_element *he;
struct curl_llist *l = FETCH_LIST(h, key, key_len);
for(le = l->head; le; le = le->next) {
- he = le->ptr;
+ struct curl_hash_element *he = le->ptr;
if(h->comp_func(he->key, he->key_len, key, key_len)) {
Curl_llist_remove(l, le, (void *) h);
--h->size;
@@ -162,13 +160,12 @@ void *
Curl_hash_pick(struct curl_hash *h, void *key, size_t key_len)
{
struct curl_llist_element *le;
- struct curl_hash_element *he;
struct curl_llist *l;
if(h) {
l = FETCH_LIST(h, key, key_len);
for(le = l->head; le; le = le->next) {
- he = le->ptr;
+ struct curl_hash_element *he = le->ptr;
if(h->comp_func(he->key, he->key_len, key, key_len)) {
return he->ptr;
}
@@ -291,7 +288,6 @@ void Curl_hash_start_iterate(struct curl_hash *hash,
struct curl_hash_element *
Curl_hash_next_element(struct curl_hash_iterator *iter)
{
- int i;
struct curl_hash *h = iter->hash;
/* Get the next element in the current list, if any */
@@ -300,6 +296,7 @@ Curl_hash_next_element(struct curl_hash_iterator *iter)
/* If we have reached the end of the list, find the next one */
if(!iter->current_element) {
+ int i;
for(i = iter->slot_index; i < h->slots; i++) {
if(h->table[i].head) {
iter->current_element = h->table[i].head;
diff --git a/lib/hmac.c b/lib/hmac.c
index dae95054..bf49ebec 100644
--- a/lib/hmac.c
+++ b/lib/hmac.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -58,7 +58,7 @@ Curl_HMAC_init(const HMAC_params * hashparams,
unsigned char b;
/* Create HMAC context. */
- i = sizeof *ctxt + 2 * hashparams->hmac_ctxtsize +
+ i = sizeof(*ctxt) + 2 * hashparams->hmac_ctxtsize +
hashparams->hmac_resultlen;
ctxt = malloc(i);
diff --git a/lib/hostip.c b/lib/hostip.c
index c2f9defd..d809578e 100644
--- a/lib/hostip.c
+++ b/lib/hostip.c
@@ -1010,24 +1010,28 @@ CURLcode Curl_loadhostpairs(struct Curl_easy *data)
/* See if its already in our dns cache */
dns = Curl_hash_pick(data->dns.hostcache, entry_id, entry_len + 1);
+ if(dns) {
+ infof(data, "RESOLVE %s:%d is - old addresses discarded!\n",
+ hostname, port);
+ /* delete old entry entry, there are two reasons for this
+ 1. old entry may have different addresses.
+ 2. even if entry with correct addresses is already in the cache,
+ but if it is close to expire, then by the time next http
+ request is made, it can get expired and pruned because old
+ entry is not necessarily marked as added by CURLOPT_RESOLVE. */
+
+ Curl_hash_delete(data->dns.hostcache, entry_id, entry_len + 1);
+ }
/* free the allocated entry_id again */
free(entry_id);
- if(!dns) {
- /* if not in the cache already, put this host in the cache */
- dns = Curl_cache_addr(data, head, hostname, port);
- if(dns) {
- dns->timestamp = 0; /* mark as added by CURLOPT_RESOLVE */
- /* release the returned reference; the cache itself will keep the
- * entry alive: */
- dns->inuse--;
- }
- }
- else {
- /* this is a duplicate, free it again */
- infof(data, "RESOLVE %s:%d is already cached, %s not stored!\n",
- hostname, port, addresses);
- Curl_freeaddrinfo(head);
+ /* put this new host in the cache */
+ dns = Curl_cache_addr(data, head, hostname, port);
+ if(dns) {
+ dns->timestamp = 0; /* mark as added by CURLOPT_RESOLVE */
+ /* release the returned reference; the cache itself will keep the
+ * entry alive: */
+ dns->inuse--;
}
if(data->share)
diff --git a/lib/hostip6.c b/lib/hostip6.c
index 7c9988f4..3bf47b46 100644
--- a/lib/hostip6.c
+++ b/lib/hostip6.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -59,39 +59,6 @@
#include "curl_memory.h"
#include "memdebug.h"
-#if defined(CURLDEBUG) && defined(HAVE_GETNAMEINFO)
-/* These are strictly for memory tracing and are using the same style as the
- * family otherwise present in memdebug.c. I put these ones here since they
- * require a bunch of structs I didn't want to include in memdebug.c
- */
-
-/*
- * For CURLRES_ARS, this should be written using ares_gethostbyaddr()
- * (ignoring the fact c-ares doesn't return 'serv').
- */
-
-int curl_dogetnameinfo(GETNAMEINFO_QUAL_ARG1 GETNAMEINFO_TYPE_ARG1 sa,
- GETNAMEINFO_TYPE_ARG2 salen,
- char *host, GETNAMEINFO_TYPE_ARG46 hostlen,
- char *serv, GETNAMEINFO_TYPE_ARG46 servlen,
- GETNAMEINFO_TYPE_ARG7 flags,
- int line, const char *source)
-{
- int res = (getnameinfo)(sa, salen,
- host, hostlen,
- serv, servlen,
- flags);
- if(0 == res)
- /* success */
- curl_memlog("GETNAME %s:%d getnameinfo()\n",
- source, line);
- else
- curl_memlog("GETNAME %s:%d getnameinfo() failed = %d\n",
- source, line, res);
- return res;
-}
-#endif /* defined(CURLDEBUG) && defined(HAVE_GETNAMEINFO) */
-
/*
* Curl_ipv6works() returns TRUE if IPv6 seems to work.
*/
diff --git a/lib/http.c b/lib/http.c
index ff1d6813..4ec5f2be 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -310,6 +310,31 @@ static CURLcode http_output_basic(struct connectdata *conn, bool proxy)
return result;
}
+/*
+ * http_output_bearer() sets up an Authorization: header
+ * for HTTP Bearer authentication.
+ *
+ * Returns CURLcode.
+ */
+static CURLcode http_output_bearer(struct connectdata *conn)
+{
+ char **userp;
+ CURLcode result = CURLE_OK;
+
+ userp = &conn->allocptr.userpwd;
+ free(*userp);
+ *userp = aprintf("Authorization: Bearer %s\r\n",
+ conn->oauth_bearer);
+
+ if(!*userp) {
+ result = CURLE_OUT_OF_MEMORY;
+ goto fail;
+ }
+
+ fail:
+ return result;
+}
+
/* pickoneauth() selects the most favourable authentication method from the
* ones available and the ones we want.
*
@@ -326,6 +351,8 @@ static bool pickoneauth(struct auth *pick)
of preference in case of the existence of multiple accepted types. */
if(avail & CURLAUTH_NEGOTIATE)
pick->picked = CURLAUTH_NEGOTIATE;
+ else if(avail & CURLAUTH_BEARER)
+ pick->picked = CURLAUTH_BEARER;
else if(avail & CURLAUTH_DIGEST)
pick->picked = CURLAUTH_DIGEST;
else if(avail & CURLAUTH_NTLM)
@@ -628,6 +655,20 @@ output_auth_headers(struct connectdata *conn,
functions work that way */
authstatus->done = TRUE;
}
+ if(authstatus->picked == CURLAUTH_BEARER) {
+ /* Bearer */
+ if((!proxy && conn->oauth_bearer &&
+ !Curl_checkheaders(conn, "Authorization:"))) {
+ auth = "Bearer";
+ result = http_output_bearer(conn);
+ if(result)
+ return result;
+ }
+
+ /* NOTE: this function should set 'done' TRUE, as the other auth
+ functions work that way */
+ authstatus->done = TRUE;
+ }
if(auth) {
infof(data, "%s auth using %s with user '%s'\n",
@@ -674,7 +715,7 @@ Curl_http_output_auth(struct connectdata *conn,
authproxy = &data->state.authproxy;
if((conn->bits.httpproxy && conn->bits.proxy_user_passwd) ||
- conn->bits.user_passwd)
+ conn->bits.user_passwd || conn->oauth_bearer)
/* continue please */;
else {
authhost->done = TRUE;
@@ -883,6 +924,18 @@ CURLcode Curl_http_input_auth(struct connectdata *conn, bool proxy,
data->state.authproblem = TRUE;
}
}
+ else
+ if(checkprefix("Bearer", auth)) {
+ *availp |= CURLAUTH_BEARER;
+ authp->avail |= CURLAUTH_BEARER;
+ if(authp->picked == CURLAUTH_BEARER) {
+ /* We asked for Bearer authentication but got a 40X back
+ anyway, which basically means our token isn't valid. */
+ authp->avail = CURLAUTH_NONE;
+ infof(data, "Authentication problem. Ignoring this.\n");
+ data->state.authproblem = TRUE;
+ }
+ }
/* there may be multiple methods on one line, so keep reading */
while(*auth && *auth != ',') /* read up to the next comma */
@@ -1128,12 +1181,12 @@ CURLcode Curl_add_buffer_send(Curl_send_buffer *in,
if(conn->data->set.verbose) {
/* this data _may_ contain binary stuff */
- Curl_debug(conn->data, CURLINFO_HEADER_OUT, ptr, headlen, conn);
+ Curl_debug(conn->data, CURLINFO_HEADER_OUT, ptr, headlen);
if(bodylen) {
/* there was body data sent beyond the initial header part, pass that
on to the debug callback too */
Curl_debug(conn->data, CURLINFO_DATA_OUT,
- ptr + headlen, bodylen, conn);
+ ptr + headlen, bodylen);
}
}
@@ -1223,7 +1276,6 @@ CURLcode Curl_add_bufferf(Curl_send_buffer *in, const char *fmt, ...)
CURLcode Curl_add_buffer(Curl_send_buffer *in, const void *inptr, size_t size)
{
char *new_rb;
- size_t new_size;
if(~size < in->size_used) {
/* If resulting used size of send buffer would wrap size_t, cleanup
@@ -1236,10 +1288,10 @@ CURLcode Curl_add_buffer(Curl_send_buffer *in, const void *inptr, size_t size)
if(!in->buffer ||
((in->size_used + size) > (in->size_max - 1))) {
-
/* If current buffer size isn't enough to hold the result, use a
buffer size that doubles the required size. If this new size
would wrap size_t, then just use the largest possible one */
+ size_t new_size;
if((size > (size_t)-1 / 2) || (in->size_used > (size_t)-1 / 2) ||
(~(size * 2) < (in->size_used * 2)))
@@ -1406,7 +1458,7 @@ static CURLcode add_haproxy_protocol_header(struct connectdata *conn)
}
snprintf(proxy_header,
- sizeof proxy_header,
+ sizeof(proxy_header),
"PROXY %s %s %s %li %li\r\n",
tcp_version,
conn->data->info.conn_local_ip,
@@ -1574,7 +1626,6 @@ static CURLcode expect100(struct Curl_easy *data,
Curl_send_buffer *req_buffer)
{
CURLcode result = CURLE_OK;
- const char *ptr;
data->state.expect100header = FALSE; /* default to false unless it is set
to TRUE below */
if(use_http_1_1plus(data, conn) &&
@@ -1582,7 +1633,7 @@ static CURLcode expect100(struct Curl_easy *data,
/* if not doing HTTP 1.0 or version 2, or disabled explicitly, we add an
Expect: 100-continue to the headers which actually speeds up post
operations (as there is one packet coming back from the web server) */
- ptr = Curl_checkheaders(conn, "Expect");
+ const char *ptr = Curl_checkheaders(conn, "Expect");
if(ptr) {
data->state.expect100header =
Curl_compareheader(ptr, "Expect:", "100-continue");
@@ -1819,7 +1870,6 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
const char *httpstring;
Curl_send_buffer *req_buffer;
curl_off_t postsize = 0; /* curl_off_t to handle large file sizes */
- int seekerr = CURL_SEEKFUNC_CANTSEEK;
/* Always consider the DO phase done after this function call, even if there
may be parts of the request that is not yet sent, since we can deal with
@@ -2088,7 +2138,6 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
else {
/* If the host begins with '[', we start searching for the port after
the bracket has been closed */
- int startsearch = 0;
if(*cookiehost == '[') {
char *closingbracket;
/* since the 'cookiehost' is an allocated memory area that will be
@@ -2099,6 +2148,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
*closingbracket = 0;
}
else {
+ int startsearch = 0;
char *colon = strchr(cookiehost + startsearch, ':');
if(colon)
*colon = 0; /* The host must not include an embedded port number */
@@ -2244,6 +2294,7 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
/* Now, let's read off the proper amount of bytes from the
input. */
+ int seekerr = CURL_SEEKFUNC_CANTSEEK;
if(conn->seek_func) {
Curl_set_in_callback(data, true);
seekerr = conn->seek_func(conn->seek_client, data->state.resume_from,
@@ -2939,7 +2990,7 @@ static CURLcode header_append(struct Curl_easy *data,
/* The reason to have a max limit for this is to avoid the risk of a bad
server feeding libcurl with a never-ending header that will cause
reallocs infinitely */
- failf(data, "Rejected %zd bytes header (max is %d)!", newsize,
+ failf(data, "Rejected %zu bytes header (max is %d)!", newsize,
CURL_MAX_HTTP_HEADER);
return CURLE_OUT_OF_MEMORY;
}
@@ -3354,7 +3405,7 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
if(data->set.verbose)
Curl_debug(data, CURLINFO_HEADER_IN,
- k->str_start, headerlen, conn);
+ k->str_start, headerlen);
break; /* exit header line loop */
}
@@ -3487,21 +3538,18 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
* depending on how authentication is working. Other codes
* are definitely errors, so give up here.
*/
- if(data->set.http_fail_on_error && (k->httpcode >= 400) &&
+ if(data->state.resume_from && data->set.httpreq == HTTPREQ_GET &&
+ k->httpcode == 416) {
+ /* "Requested Range Not Satisfiable", just proceed and
+ pretend this is no error */
+ k->ignorebody = TRUE; /* Avoid appending error msg to good data. */
+ }
+ else if(data->set.http_fail_on_error && (k->httpcode >= 400) &&
((k->httpcode != 401) || !conn->bits.user_passwd) &&
((k->httpcode != 407) || !conn->bits.proxy_user_passwd) ) {
-
- if(data->state.resume_from &&
- (data->set.httpreq == HTTPREQ_GET) &&
- (k->httpcode == 416)) {
- /* "Requested Range Not Satisfiable", just proceed and
- pretend this is no error */
- }
- else {
- /* serious error, go home! */
- print_http_error(data);
- return CURLE_HTTP_RETURNED_ERROR;
- }
+ /* serious error, go home! */
+ print_http_error(data);
+ return CURLE_HTTP_RETURNED_ERROR;
}
if(conn->httpversion == 10) {
@@ -3812,8 +3860,7 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data,
writetype |= CLIENTWRITE_BODY;
if(data->set.verbose)
- Curl_debug(data, CURLINFO_HEADER_IN,
- k->p, (size_t)k->hbuflen, conn);
+ Curl_debug(data, CURLINFO_HEADER_IN, k->p, (size_t)k->hbuflen);
result = Curl_client_write(conn, writetype, k->p, k->hbuflen);
if(result)
diff --git a/lib/http2.c b/lib/http2.c
index da001dfd..8251d96d 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -345,7 +345,7 @@ const char *Curl_http2_strerror(uint32_t err)
"INADEQUATE_SECURITY", /* 0xC */
"HTTP_1_1_REQUIRED" /* 0xD */
};
- return (err < sizeof str / sizeof str[0]) ? str[err] : "unknown";
+ return (err < sizeof(str) / sizeof(str[0])) ? str[err] : "unknown";
#else
return nghttp2_http2_strerror(err);
#endif
@@ -581,7 +581,7 @@ static int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame,
if(max_conn != httpc->settings.max_concurrent_streams) {
/* only signal change if the value actually changed */
infof(conn->data,
- "Connection state changed (MAX_CONCURRENT_STREAMS == %d)!\n",
+ "Connection state changed (MAX_CONCURRENT_STREAMS == %u)!\n",
httpc->settings.max_concurrent_streams);
Curl_multi_connchanged(conn->data->multi);
}
@@ -1280,7 +1280,7 @@ static int h2_process_pending_input(struct connectdata *conn,
if(rv < 0) {
failf(data,
"h2_process_pending_input: nghttp2_session_mem_recv() returned "
- "%d:%s\n", rv, nghttp2_strerror((int)rv));
+ "%zd:%s\n", rv, nghttp2_strerror((int)rv));
*err = CURLE_RECV_ERROR;
return -1;
}
@@ -1388,7 +1388,7 @@ static ssize_t http2_handle_stream_close(struct connectdata *conn,
return -1;
}
else if(httpc->error_code != NGHTTP2_NO_ERROR) {
- failf(data, "HTTP/2 stream %u was not closed cleanly: %s (err %d)",
+ failf(data, "HTTP/2 stream %d was not closed cleanly: %s (err %u)",
stream->stream_id, Curl_http2_strerror(httpc->error_code),
httpc->error_code);
*err = CURLE_HTTP2_STREAM;
@@ -1396,7 +1396,7 @@ static ssize_t http2_handle_stream_close(struct connectdata *conn,
}
if(!stream->bodystarted) {
- failf(data, "HTTP/2 stream %u was closed cleanly, but before getting "
+ failf(data, "HTTP/2 stream %d was closed cleanly, but before getting "
" all response header fields, treated as error",
stream->stream_id);
*err = CURLE_HTTP2_STREAM;
@@ -1552,7 +1552,7 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
stream->pausedata += nread;
stream->pauselen -= nread;
- infof(data, "%zu data bytes written\n", nread);
+ infof(data, "%zd data bytes written\n", nread);
if(stream->pauselen == 0) {
H2BUGF(infof(data, "Unpaused by stream %u\n", stream->stream_id));
DEBUGASSERT(httpc->pause_stream_id == stream->stream_id);
@@ -1635,7 +1635,7 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
rv = nghttp2_session_mem_recv(httpc->h2, (const uint8_t *)inbuf, nread);
if(nghttp2_is_fatal((int)rv)) {
- failf(data, "nghttp2_session_mem_recv() returned %d:%s\n",
+ failf(data, "nghttp2_session_mem_recv() returned %zd:%s\n",
rv, nghttp2_strerror((int)rv));
*err = CURLE_RECV_ERROR;
return -1;
@@ -2040,7 +2040,7 @@ static ssize_t http2_send(struct connectdata *conn, int sockindex,
}
infof(conn->data, "Using Stream ID: %x (easy handle %p)\n",
- stream_id, conn->data);
+ stream_id, (void *)conn->data);
stream->stream_id = stream_id;
/* this does not call h2_session_send() since there can not have been any
diff --git a/lib/http_proxy.c b/lib/http_proxy.c
index e10a4882..ecc82270 100644
--- a/lib/http_proxy.c
+++ b/lib/http_proxy.c
@@ -188,7 +188,6 @@ static CURLcode CONNECT(struct connectdata *conn,
struct SingleRequest *k = &data->req;
CURLcode result;
curl_socket_t tunnelsocket = conn->sock[sockindex];
- timediff_t check;
struct http_connect_state *s = conn->connect_state;
#define SELECT_OK 0
@@ -201,12 +200,13 @@ static CURLcode CONNECT(struct connectdata *conn,
conn->bits.proxy_connect_closed = FALSE;
do {
+ timediff_t check;
if(TUNNEL_INIT == s->tunnel_state) {
/* BEGIN CONNECT PHASE */
char *host_port;
Curl_send_buffer *req_buffer;
- infof(data, "Establish HTTP proxy tunnel to %s:%hu\n",
+ infof(data, "Establish HTTP proxy tunnel to %s:%d\n",
hostname, remote_port);
/* This only happens if we've looped here due to authentication
@@ -419,7 +419,7 @@ static CURLcode CONNECT(struct connectdata *conn,
/* output debug if that is requested */
if(data->set.verbose)
Curl_debug(data, CURLINFO_HEADER_IN,
- s->line_start, (size_t)s->perline, conn);
+ s->line_start, (size_t)s->perline);
if(!data->set.suppress_connect_headers) {
/* send the header to the callback */
diff --git a/lib/imap.c b/lib/imap.c
index cf278a22..942fe7d1 100644
--- a/lib/imap.c
+++ b/lib/imap.c
@@ -609,7 +609,6 @@ static CURLcode imap_perform_list(struct connectdata *conn)
CURLcode result = CURLE_OK;
struct Curl_easy *data = conn->data;
struct IMAP *imap = data->req.protop;
- char *mailbox;
if(imap->custom)
/* Send the custom request */
@@ -617,7 +616,8 @@ static CURLcode imap_perform_list(struct connectdata *conn)
imap->custom_params ? imap->custom_params : "");
else {
/* Make sure the mailbox is in the correct atom format if necessary */
- mailbox = imap->mailbox ? imap_atom(imap->mailbox, true) : strdup("");
+ char *mailbox = imap->mailbox ? imap_atom(imap->mailbox, true)
+ : strdup("");
if(!mailbox)
return CURLE_OUT_OF_MEMORY;
@@ -854,7 +854,6 @@ static CURLcode imap_state_capability_resp(struct connectdata *conn,
struct Curl_easy *data = conn->data;
struct imap_conn *imapc = &conn->proto.imapc;
const char *line = data->state.buffer;
- size_t wordlen;
(void)instate; /* no use for this yet */
@@ -864,6 +863,7 @@ static CURLcode imap_state_capability_resp(struct connectdata *conn,
/* Loop through the data line */
for(;;) {
+ size_t wordlen;
while(*line &&
(*line == ' ' || *line == '\t' ||
*line == '\r' || *line == '\n')) {
@@ -1046,12 +1046,12 @@ static CURLcode imap_state_select_resp(struct connectdata *conn, int imapcode,
struct IMAP *imap = conn->data->req.protop;
struct imap_conn *imapc = &conn->proto.imapc;
const char *line = data->state.buffer;
- char tmp[20];
(void)instate; /* no use for this yet */
if(imapcode == '*') {
/* See if this is an UIDVALIDITY response */
+ char tmp[20];
if(sscanf(line + 2, "OK [UIDVALIDITY %19[0123456789]]", tmp) == 1) {
Curl_safefree(imapc->mailbox_uidvalidity);
imapc->mailbox_uidvalidity = strdup(tmp);
@@ -1119,7 +1119,7 @@ static CURLcode imap_state_fetch_resp(struct connectdata *conn, int imapcode,
}
if(parsed) {
- infof(data, "Found %" CURL_FORMAT_CURL_OFF_TU " bytes to download\n",
+ infof(data, "Found %" CURL_FORMAT_CURL_OFF_T " bytes to download\n",
size);
Curl_pgrsSetDownloadSize(data, size);
@@ -1144,10 +1144,8 @@ static CURLcode imap_state_fetch_resp(struct connectdata *conn, int imapcode,
data->req.bytecount += chunk;
- infof(data, "Written %" CURL_FORMAT_CURL_OFF_TU
- " bytes, %" CURL_FORMAT_CURL_OFF_TU
- " bytes are left for transfer\n", (curl_off_t)chunk,
- size - chunk);
+ infof(data, "Written %zu bytes, %" CURL_FORMAT_CURL_OFF_TU
+ " bytes are left for transfer\n", chunk, size - chunk);
/* Have we used the entire cache or just part of it?*/
if(pp->cache_size > chunk) {
diff --git a/lib/inet_ntop.c b/lib/inet_ntop.c
index fb91a505..ac5d2d4d 100644
--- a/lib/inet_ntop.c
+++ b/lib/inet_ntop.c
@@ -49,7 +49,7 @@
*/
static char *inet_ntop4 (const unsigned char *src, char *dst, size_t size)
{
- char tmp[sizeof "255.255.255.255"];
+ char tmp[sizeof("255.255.255.255")];
size_t len;
DEBUGASSERT(size >= 16);
diff --git a/lib/ldap.c b/lib/ldap.c
index 89047bcb..4d8f4fa2 100644
--- a/lib/ldap.c
+++ b/lib/ldap.c
@@ -54,15 +54,6 @@
# endif /* HAVE_LDAP_SSL && HAVE_LDAP_SSL_H */
#endif
-/* These are macros in both <wincrypt.h> (in above <winldap.h>) and typedefs
- * in BoringSSL's <openssl/x509.h>
- */
-#ifdef HAVE_BORINGSSL
-# undef X509_NAME
-# undef X509_CERT_PAIR
-# undef X509_EXTENSIONS
-#endif
-
#include "urldata.h"
#include <curl/curl.h>
#include "sendf.h"
diff --git a/lib/libcurl.plist b/lib/libcurl.plist
index 0410ad19..a5eee714 100644
--- a/lib/libcurl.plist
+++ b/lib/libcurl.plist
@@ -15,7 +15,7 @@
<string>se.haxx.curl.libcurl</string>
<key>CFBundleVersion</key>
- <string>7.60.0</string>
+ <string>7.61.0</string>
<key>CFBundleName</key>
<string>libcurl</string>
@@ -27,9 +27,9 @@
<string>????</string>
<key>CFBundleShortVersionString</key>
- <string>libcurl 7.60.0</string>
+ <string>libcurl 7.61.0</string>
<key>CFBundleGetInfoString</key>
- <string>libcurl.plist 7.60.0</string>
+ <string>libcurl.plist 7.61.0</string>
</dict>
</plist>
diff --git a/lib/md5.c b/lib/md5.c
index 3096602b..d372c6da 100644
--- a/lib/md5.c
+++ b/lib/md5.c
@@ -527,7 +527,7 @@ MD5_context *Curl_MD5_init(const MD5_params *md5params)
MD5_context *ctxt;
/* Create MD5 context */
- ctxt = malloc(sizeof *ctxt);
+ ctxt = malloc(sizeof(*ctxt));
if(!ctxt)
return ctxt;
diff --git a/lib/memdebug.h b/lib/memdebug.h
index 6fb8b685..233de65a 100644
--- a/lib/memdebug.h
+++ b/lib/memdebug.h
@@ -8,7 +8,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -137,13 +137,6 @@ CURL_EXTERN int curl_fclose(FILE *file, int line, const char *source);
#endif
#endif /* HAVE_GETADDRINFO */
-#ifdef HAVE_GETNAMEINFO
-#undef getnameinfo
-#define getnameinfo(sa,salen,host,hostlen,serv,servlen,flags) \
- curl_dogetnameinfo(sa, salen, host, hostlen, serv, servlen, flags, \
- __LINE__, __FILE__)
-#endif /* HAVE_GETNAMEINFO */
-
#ifdef HAVE_FREEADDRINFO
#undef freeaddrinfo
#define freeaddrinfo(data) \
diff --git a/lib/mime.c b/lib/mime.c
index 4c0d2eeb..fd7beb9a 100644
--- a/lib/mime.c
+++ b/lib/mime.c
@@ -505,9 +505,6 @@ static size_t encoder_qp_read(char *buffer, size_t size, bool ateof,
mime_encoder_state *st = &part->encstate;
char *ptr = buffer;
size_t cursize = 0;
- int i;
- size_t len;
- size_t consumed;
int softlinebreak;
char buf[4];
@@ -516,9 +513,9 @@ static size_t encoder_qp_read(char *buffer, size_t size, bool ateof,
character constants that can be interpreted as non-ascii on some
platforms. Preserve ASCII encoding on output too. */
while(st->bufbeg < st->bufend) {
- len = 1;
- consumed = 1;
- i = st->buf[st->bufbeg];
+ size_t len = 1;
+ size_t consumed = 1;
+ int i = st->buf[st->bufbeg];
buf[0] = (char) i;
buf[1] = aschex[(i >> 4) & 0xF];
buf[2] = aschex[i & 0xF];
@@ -787,10 +784,10 @@ static size_t read_encoded_part_content(curl_mimepart *part,
st->bufbeg = 0;
st->bufend = len;
}
- if(st->bufend >= sizeof st->buf)
+ if(st->bufend >= sizeof(st->buf))
return cursize? cursize: READ_ERROR; /* Buffer full. */
sz = read_part_content(part, st->buf + st->bufend,
- sizeof st->buf - st->bufend);
+ sizeof(st->buf) - st->bufend);
switch(sz) {
case 0:
ateof = TRUE;
@@ -813,8 +810,6 @@ static size_t readback_part(curl_mimepart *part,
char *buffer, size_t bufsize)
{
size_t cursize = 0;
- size_t sz;
- struct curl_slist *hdr;
#ifdef CURL_DOES_CONVERSIONS
char *convbuf = buffer;
#endif
@@ -822,8 +817,8 @@ static size_t readback_part(curl_mimepart *part,
/* Readback from part. */
while(bufsize) {
- sz = 0;
- hdr = (struct curl_slist *) part->state.ptr;
+ size_t sz = 0;
+ struct curl_slist *hdr = (struct curl_slist *) part->state.ptr;
switch(part->state.state) {
case MIMESTATE_BEGIN:
mimesetstate(&part->state, part->flags & MIME_BODY_ONLY? MIMESTATE_BODY:
@@ -918,8 +913,6 @@ static size_t mime_subparts_read(char *buffer, size_t size, size_t nitems,
{
curl_mime *mime = (curl_mime *) instream;
size_t cursize = 0;
- size_t sz;
- curl_mimepart *part;
#ifdef CURL_DOES_CONVERSIONS
char *convbuf = buffer;
#endif
@@ -927,8 +920,8 @@ static size_t mime_subparts_read(char *buffer, size_t size, size_t nitems,
(void) size; /* Always 1. */
while(nitems) {
- sz = 0;
- part = mime->state.ptr;
+ size_t sz = 0;
+ curl_mimepart *part = mime->state.ptr;
switch(mime->state.state) {
case MIMESTATE_BEGIN:
case MIMESTATE_BODY:
@@ -1044,7 +1037,6 @@ static int mime_subparts_seek(void *instream, curl_off_t offset, int whence)
curl_mime *mime = (curl_mime *) instream;
curl_mimepart *part;
int result = CURL_SEEKFUNC_OK;
- int res;
if(whence != SEEK_SET || offset)
return CURL_SEEKFUNC_CANTSEEK; /* Only support full rewind. */
@@ -1053,7 +1045,7 @@ static int mime_subparts_seek(void *instream, curl_off_t offset, int whence)
return CURL_SEEKFUNC_OK; /* Already rewound. */
for(part = mime->firstpart; part; part = part->nextpart) {
- res = mime_part_rewind(part);
+ int res = mime_part_rewind(part);
if(res != CURL_SEEKFUNC_OK)
result = res;
}
@@ -1220,7 +1212,7 @@ curl_mime *curl_mime_init(struct Curl_easy *easy)
{
curl_mime *mime;
- mime = (curl_mime *) malloc(sizeof *mime);
+ mime = (curl_mime *) malloc(sizeof(*mime));
if(mime) {
mime->easy = easy;
@@ -1247,7 +1239,7 @@ curl_mime *curl_mime_init(struct Curl_easy *easy)
/* Initialize a mime part. */
void Curl_mime_initpart(curl_mimepart *part, struct Curl_easy *easy)
{
- memset((char *) part, 0, sizeof *part);
+ memset((char *) part, 0, sizeof(*part));
part->easy = easy;
mimesetstate(&part->state, MIMESTATE_BEGIN, NULL);
}
@@ -1260,7 +1252,7 @@ curl_mimepart *curl_mime_addpart(curl_mime *mime)
if(!mime)
return NULL;
- part = (curl_mimepart *) malloc(sizeof *part);
+ part = (curl_mimepart *) malloc(sizeof(*part));
if(part) {
Curl_mime_initpart(part, mime->easy);
@@ -1349,7 +1341,6 @@ CURLcode curl_mime_data(curl_mimepart *part,
CURLcode curl_mime_filedata(curl_mimepart *part, const char *filename)
{
CURLcode result = CURLE_OK;
- char *base;
if(!part)
return CURLE_BAD_FUNCTION_ARGUMENT;
@@ -1357,6 +1348,7 @@ CURLcode curl_mime_filedata(curl_mimepart *part, const char *filename)
cleanup_part_content(part);
if(filename) {
+ char *base;
struct_stat sbuf;
if(stat(filename, &sbuf) || access(filename, R_OK))
@@ -1564,7 +1556,6 @@ static size_t slist_size(struct curl_slist *s,
static curl_off_t multipart_size(curl_mime *mime)
{
curl_off_t size;
- curl_off_t sz;
size_t boundarysize;
curl_mimepart *part;
@@ -1575,7 +1566,7 @@ static curl_off_t multipart_size(curl_mime *mime)
size = boundarysize; /* Final boundary - CRLF after headers. */
for(part = mime->firstpart; part; part = part->nextpart) {
- sz = Curl_mime_size(part);
+ curl_off_t sz = Curl_mime_size(part);
if(sz < 0)
size = sz;
@@ -1643,8 +1634,6 @@ static CURLcode add_content_type(struct curl_slist **slp,
const char *Curl_mime_contenttype(const char *filename)
{
- unsigned int i;
-
/*
* If no content type was specified, we scan through a few well-known
* extensions and pick the first we match!
@@ -1669,8 +1658,9 @@ const char *Curl_mime_contenttype(const char *filename)
if(filename) {
size_t len1 = strlen(filename);
const char *nameend = filename + len1;
+ unsigned int i;
- for(i = 0; i < sizeof ctts / sizeof ctts[0]; i++) {
+ for(i = 0; i < sizeof(ctts) / sizeof(ctts[0]); i++) {
size_t len2 = strlen(ctts[i].extension);
if(len1 >= len2 && strcasecompare(nameend - len2, ctts[i].extension))
diff --git a/lib/mk-ca-bundle.pl b/lib/mk-ca-bundle.pl
index 5a84f6b0..33977f32 100755
--- a/lib/mk-ca-bundle.pl
+++ b/lib/mk-ca-bundle.pl
@@ -136,6 +136,7 @@ if ($opt_i) {
print "Perl Version : $]\n";
print "Operating System Name : $^O\n";
print "Getopt::Std.pm Version : ${Getopt::Std::VERSION}\n";
+ print "Encode::Encoding.pm Version : ${Encode::Encoding::VERSION}\n";
print "MIME::Base64.pm Version : ${MIME::Base64::VERSION}\n";
print "LWP::UserAgent.pm Version : ${LWP::UserAgent::VERSION}\n" if($LWP::UserAgent::VERSION);
print "LWP.pm Version : ${LWP::VERSION}\n" if($LWP::VERSION);
@@ -376,6 +377,9 @@ my $newhash= sha256($txt);
if(!$opt_f && $oldhash eq $newhash) {
report "Downloaded file identical to previous run\'s source file. Exiting";
+ if($opt_u && -e $txt && !unlink($txt)) {
+ report "Failed to remove $txt: $!\n";
+ }
exit;
}
@@ -479,6 +483,7 @@ while (<TXT>) {
if ( !should_output_cert(%trust_purposes_by_level) ) {
$skipnum ++;
+ report "Skipping: $caname" if ($opt_v);
} else {
my $encoded = MIME::Base64::encode_base64($data, '');
$encoded =~ s/(.{1,${opt_w}})/$1\n/g;
@@ -487,7 +492,7 @@ while (<TXT>) {
. "-----END CERTIFICATE-----\n";
print CRT "\n$caname\n";
print CRT @precert if($opt_m);
- my $maxStringLength = length(decode('UTF-8', $caname, Encode::FB_CROAK));
+ my $maxStringLength = length(decode('UTF-8', $caname, Encode::FB_CROAK | Encode::LEAVE_SRC));
if ($opt_t) {
foreach my $key (keys %trust_purposes_by_level) {
my $string = $key . ": " . join(", ", @{$trust_purposes_by_level{$key}});
diff --git a/lib/multi.c b/lib/multi.c
index f8528469..c1d48a3e 100644
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -31,6 +31,7 @@
#include "progress.h"
#include "easyif.h"
#include "share.h"
+#include "psl.h"
#include "multiif.h"
#include "sendf.h"
#include "timeval.h"
@@ -68,8 +69,8 @@
#define GOOD_MULTI_HANDLE(x) \
((x) && (x)->type == CURL_MULTI_HANDLE)
-static void singlesocket(struct Curl_multi *multi,
- struct Curl_easy *data);
+static CURLMcode singlesocket(struct Curl_multi *multi,
+ struct Curl_easy *data);
static int update_timer(struct Curl_multi *multi);
static CURLMcode add_next_timeout(struct curltime now,
@@ -409,6 +410,14 @@ CURLMcode curl_multi_add_handle(struct Curl_multi *multi,
else
data->state.conn_cache = &multi->conn_cache;
+#ifdef USE_LIBPSL
+ /* Do the same for PSL. */
+ if(data->share && (data->share->specifier & (1 << CURL_LOCK_DATA_PSL)))
+ data->psl = &data->share->psl;
+ else
+ data->psl = &multi->psl;
+#endif
+
/* This adds the new entry at the 'end' of the doubly-linked circular
list of Curl_easy structs to try and maintain a FIFO queue so
the pipelined requests are in order. */
@@ -449,7 +458,7 @@ CURLMcode curl_multi_add_handle(struct Curl_multi *multi,
happens if the lastcall time is set to the same time when the handle is
removed as when the next handle is added, as then the check in
update_timer() that prevents calling the application multiple times with
- the same timer infor will not trigger and then the new handle's timeout
+ the same timer info will not trigger and then the new handle's timeout
will not be notified to the app.
The work-around is thus simply to clear the 'lastcall' variable to force
@@ -506,6 +515,11 @@ static CURLcode multi_done(struct connectdata **connp,
/* Stop if multi_done() has already been called */
return CURLE_OK;
+ if(data->mstate == CURLM_STATE_WAITRESOLVE) {
+ /* still waiting for the resolve to complete */
+ (void)Curl_resolver_wait_resolv(conn, NULL);
+ }
+
Curl_getoff_all_pipelines(data, conn);
/* Cleanup possible redirect junk */
@@ -546,7 +560,7 @@ static CURLcode multi_done(struct connectdata **connp,
if(conn->send_pipe.size || conn->recv_pipe.size) {
/* Stop if pipeline is not empty . */
data->easy_conn = NULL;
- DEBUGF(infof(data, "Connection still in use %d/%d, "
+ DEBUGF(infof(data, "Connection still in use %zu/%zu, "
"no more multi_done now!\n",
conn->send_pipe.size, conn->recv_pipe.size));
return CURLE_OK;
@@ -698,6 +712,11 @@ CURLMcode curl_multi_remove_handle(struct Curl_multi *multi,
Curl_getoff_all_pipelines(data, data->easy_conn);
}
+ if(data->connect_queue.ptr)
+ /* the handle was in the pending list waiting for an available connection,
+ so go ahead and remove it */
+ Curl_llist_remove(&multi->pending, &data->connect_queue, NULL);
+
if(data->dns.hostcachetype == HCACHE_MULTI) {
/* stop using the multi handle's DNS cache, *after* the possible
multi_done() call above */
@@ -727,6 +746,12 @@ CURLMcode curl_multi_remove_handle(struct Curl_multi *multi,
data->easy_conn = NULL;
}
+#ifdef USE_LIBPSL
+ /* Remove the PSL association. */
+ if(data->psl == &multi->psl)
+ data->psl = NULL;
+#endif
+
data->multi = NULL; /* clear the association to this multi handle */
/* make sure there's no pending message in the queue sent from this easy
@@ -902,7 +927,6 @@ CURLMcode curl_multi_fdset(struct Curl_multi *multi,
struct Curl_easy *data;
int this_max_fd = -1;
curl_socket_t sockbunch[MAX_SOCKSPEREASYHANDLE];
- int bitmap;
int i;
(void)exc_fd_set; /* not used */
@@ -914,7 +938,7 @@ CURLMcode curl_multi_fdset(struct Curl_multi *multi,
data = multi->easyp;
while(data) {
- bitmap = multi_getsock(data, sockbunch, MAX_SOCKSPEREASYHANDLE);
+ int bitmap = multi_getsock(data, sockbunch, MAX_SOCKSPEREASYHANDLE);
for(i = 0; i< MAX_SOCKSPEREASYHANDLE; i++) {
curl_socket_t s = CURL_SOCKET_BAD;
@@ -1068,8 +1092,6 @@ CURLMcode curl_multi_wait(struct Curl_multi *multi,
int pollrc;
/* wait... */
pollrc = Curl_poll(ufds, nfds, timeout_ms);
- DEBUGF(infof(data, "Curl_poll(%d ds, %d ms) == %d\n",
- nfds, timeout_ms, pollrc));
if(pollrc > 0) {
retcode = pollrc;
@@ -2220,6 +2242,11 @@ CURLMcode curl_multi_cleanup(struct Curl_multi *multi)
data->state.conn_cache = NULL;
data->multi = NULL; /* clear the association */
+#ifdef USE_LIBPSL
+ if(data->psl == &multi->psl)
+ data->psl = NULL;
+#endif
+
data = nextdata;
}
@@ -2232,6 +2259,7 @@ CURLMcode curl_multi_cleanup(struct Curl_multi *multi)
Curl_llist_destroy(&multi->pending, NULL);
Curl_hash_destroy(&multi->hostcache);
+ Curl_psl_destroy(&multi->psl);
/* Free the blacklists by setting them to NULL */
Curl_pipeline_set_site_blacklist(NULL, &multi->pipelining_site_bl);
@@ -2286,8 +2314,8 @@ CURLMsg *curl_multi_info_read(struct Curl_multi *multi, int *msgs_in_queue)
* and if we have a different state in any of those sockets from last time we
* call the callback accordingly.
*/
-static void singlesocket(struct Curl_multi *multi,
- struct Curl_easy *data)
+static CURLMcode singlesocket(struct Curl_multi *multi,
+ struct Curl_easy *data)
{
curl_socket_t socks[MAX_SOCKSPEREASYHANDLE];
int i;
@@ -2334,7 +2362,7 @@ static void singlesocket(struct Curl_multi *multi,
entry = sh_addentry(&multi->sockhash, s, data);
if(!entry)
/* fatal */
- return;
+ return CURLM_OUT_OF_MEMORY;
}
/* we know (entry != NULL) at this point, see the logic above */
@@ -2422,6 +2450,7 @@ static void singlesocket(struct Curl_multi *multi,
memcpy(data->sockets, socks, num*sizeof(curl_socket_t));
data->numsocks = num;
+ return CURLM_OK;
}
void Curl_updatesocket(struct Curl_easy *data)
@@ -2535,8 +2564,8 @@ static CURLMcode multi_socket(struct Curl_multi *multi,
and callbacks */
if(result != CURLM_BAD_HANDLE) {
data = multi->easyp;
- while(data) {
- singlesocket(multi, data);
+ while(data && !result) {
+ result = singlesocket(multi, data);
data = data->next;
}
}
@@ -2590,10 +2619,13 @@ static CURLMcode multi_socket(struct Curl_multi *multi,
/* clear the bitmask only if not locked */
data->easy_conn->cselect_bits = 0;
- if(CURLM_OK >= result)
+ if(CURLM_OK >= result) {
/* get the socket(s) and check if the state has been changed since
last */
- singlesocket(multi, data);
+ result = singlesocket(multi, data);
+ if(result)
+ return result;
+ }
/* Now we fall-through and do the timer-based stuff, since we don't want
to force the user to have to deal with timeouts as long as at least
@@ -2627,10 +2659,13 @@ static CURLMcode multi_socket(struct Curl_multi *multi,
result = multi_runsingle(multi, now, data);
sigpipe_restore(&pipe_st);
- if(CURLM_OK >= result)
+ if(CURLM_OK >= result) {
/* get the socket(s) and check if the state has been changed since
last */
- singlesocket(multi, data);
+ result = singlesocket(multi, data);
+ if(result)
+ return result;
+ }
}
/* Check if there's one (more) expired timer to deal with! This function
@@ -2924,7 +2959,6 @@ void Curl_expire(struct Curl_easy *data, time_t milli, expire_id id)
{
struct Curl_multi *multi = data->multi;
struct curltime *nowp = &data->state.expiretime;
- int rc;
struct curltime set;
/* this is only interesting while there is still an associated multi struct
@@ -2955,6 +2989,7 @@ void Curl_expire(struct Curl_easy *data, time_t milli, expire_id id)
Compare if the new time is earlier, and only remove-old/add-new if it
is. */
timediff_t diff = Curl_timediff(set, *nowp);
+ int rc;
if(diff > 0) {
/* The current splay tree entry is sooner than this new expiry time.
@@ -3000,7 +3035,6 @@ void Curl_expire_clear(struct Curl_easy *data)
{
struct Curl_multi *multi = data->multi;
struct curltime *nowp = &data->state.expiretime;
- int rc;
/* this is only interesting while there is still an associated multi struct
remaining! */
@@ -3011,6 +3045,7 @@ void Curl_expire_clear(struct Curl_easy *data)
/* Since this is an cleared time, we must remove the previous entry from
the splay tree */
struct curl_llist *list = &data->state.timeoutlist;
+ int rc;
rc = Curl_splayremovebyaddr(multi->timetree,
&data->state.timenode,
diff --git a/lib/multihandle.h b/lib/multihandle.h
index 1a5017f4..ea2bf352 100644
--- a/lib/multihandle.h
+++ b/lib/multihandle.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -23,6 +23,7 @@
***************************************************************************/
#include "conncache.h"
+#include "psl.h"
struct Curl_message {
struct curl_llist_element list;
@@ -97,6 +98,11 @@ struct Curl_multi {
/* Hostname cache */
struct curl_hash hostcache;
+#ifdef USE_LIBPSL
+ /* PSL cache. */
+ struct PslCache psl;
+#endif
+
/* timetree points to the splay-tree of time nodes to figure out expire
times of all currently set timers */
struct Curl_tree *timetree;
diff --git a/lib/netrc.c b/lib/netrc.c
index dbcc59ac..a407bdaa 100644
--- a/lib/netrc.c
+++ b/lib/netrc.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -115,7 +115,7 @@ int Curl_parsenetrc(const char *host,
char *tok;
char *tok_buf;
bool done = FALSE;
- char netrcbuffer[256];
+ char netrcbuffer[4096];
int netrcbuffsize = (int)sizeof(netrcbuffer);
while(!done && fgets(netrcbuffer, netrcbuffsize, file)) {
diff --git a/lib/pingpong.c b/lib/pingpong.c
index ad370ee8..2e93d201 100644
--- a/lib/pingpong.c
+++ b/lib/pingpong.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -49,7 +49,6 @@ time_t Curl_pp_state_timeout(struct pingpong *pp)
struct connectdata *conn = pp->conn;
struct Curl_easy *data = conn->data;
time_t timeout_ms; /* in milliseconds */
- time_t timeout2_ms; /* in milliseconds */
long response_time = (data->set.server_response_timeout)?
data->set.server_response_timeout: pp->response_time;
@@ -65,7 +64,7 @@ time_t Curl_pp_state_timeout(struct pingpong *pp)
if(data->set.timeout) {
/* if timeout is requested, find out how much remaining time we have */
- timeout2_ms = data->set.timeout - /* timeout time */
+ time_t timeout2_ms = data->set.timeout - /* timeout time */
Curl_timediff(Curl_now(), conn->now); /* spent time */
/* pick the lowest number */
@@ -222,8 +221,7 @@ CURLcode Curl_pp_vsendf(struct pingpong *pp,
}
if(conn->data->set.verbose)
- Curl_debug(conn->data, CURLINFO_HEADER_OUT,
- s, (size_t)bytes_written, conn);
+ Curl_debug(conn->data, CURLINFO_HEADER_OUT, s, (size_t)bytes_written);
if(bytes_written != (ssize_t)write_len) {
/* the whole chunk was not sent, keep it around and adjust sizes */
@@ -371,7 +369,7 @@ CURLcode Curl_pp_readresp(curl_socket_t sockfd,
#endif
if(data->set.verbose)
Curl_debug(data, CURLINFO_HEADER_IN,
- pp->linestart_resp, (size_t)perline, conn);
+ pp->linestart_resp, (size_t)perline);
/*
* We pass all response-lines to the callback function registered
diff --git a/lib/pipeline.c b/lib/pipeline.c
index 4d41b041..06894092 100644
--- a/lib/pipeline.c
+++ b/lib/pipeline.c
@@ -82,7 +82,8 @@ bool Curl_pipeline_penalized(struct Curl_easy *data,
penalized = TRUE;
infof(data, "Conn: %ld (%p) Receive pipe weight: (%"
- CURL_FORMAT_CURL_OFF_T "/%zu), penalized: %s\n",
+ CURL_FORMAT_CURL_OFF_T "/%" CURL_FORMAT_CURL_OFF_T
+ "), penalized: %s\n",
conn->connection_id, (void *)conn, recv_size,
conn->chunk.datasize, penalized?"TRUE":"FALSE");
return penalized;
diff --git a/lib/pop3.c b/lib/pop3.c
index 78f6afef..cd994f63 100644
--- a/lib/pop3.c
+++ b/lib/pop3.c
@@ -613,7 +613,6 @@ static CURLcode pop3_state_servergreet_resp(struct connectdata *conn,
struct pop3_conn *pop3c = &conn->proto.pop3c;
const char *line = data->state.buffer;
size_t len = strlen(line);
- size_t i;
(void)instate; /* no use for this yet */
@@ -625,6 +624,7 @@ static CURLcode pop3_state_servergreet_resp(struct connectdata *conn,
/* Does the server support APOP authentication? */
if(len >= 4 && line[len - 2] == '>') {
/* Look for the APOP timestamp */
+ size_t i;
for(i = 3; i < len - 2; ++i) {
if(line[i] == '<') {
/* Calculate the length of the timestamp */
@@ -664,7 +664,6 @@ static CURLcode pop3_state_capa_resp(struct connectdata *conn, int pop3code,
struct pop3_conn *pop3c = &conn->proto.pop3c;
const char *line = data->state.buffer;
size_t len = strlen(line);
- size_t wordlen;
(void)instate; /* no use for this yet */
@@ -689,6 +688,7 @@ static CURLcode pop3_state_capa_resp(struct connectdata *conn, int pop3code,
/* Loop through the data line */
for(;;) {
size_t llen;
+ size_t wordlen;
unsigned int mechbit;
while(len &&
diff --git a/lib/progress.c b/lib/progress.c
index f59faa3d..a94668dc 100644
--- a/lib/progress.c
+++ b/lib/progress.c
@@ -35,22 +35,22 @@
byte) */
static void time2str(char *r, curl_off_t seconds)
{
- curl_off_t d, h, m, s;
+ curl_off_t h;
if(seconds <= 0) {
strcpy(r, "--:--:--");
return;
}
h = seconds / CURL_OFF_T_C(3600);
if(h <= CURL_OFF_T_C(99)) {
- m = (seconds - (h*CURL_OFF_T_C(3600))) / CURL_OFF_T_C(60);
- s = (seconds - (h*CURL_OFF_T_C(3600))) - (m*CURL_OFF_T_C(60));
+ curl_off_t m = (seconds - (h*CURL_OFF_T_C(3600))) / CURL_OFF_T_C(60);
+ curl_off_t s = (seconds - (h*CURL_OFF_T_C(3600))) - (m*CURL_OFF_T_C(60));
snprintf(r, 9, "%2" CURL_FORMAT_CURL_OFF_T ":%02" CURL_FORMAT_CURL_OFF_T
":%02" CURL_FORMAT_CURL_OFF_T, h, m, s);
}
else {
/* this equals to more than 99 hours, switch to a more suitable output
format to fit within the limits. */
- d = seconds / CURL_OFF_T_C(86400);
+ curl_off_t d = seconds / CURL_OFF_T_C(86400);
h = (seconds - (d*CURL_OFF_T_C(86400))) / CURL_OFF_T_C(3600);
if(d <= CURL_OFF_T_C(999))
snprintf(r, 9, "%3" CURL_FORMAT_CURL_OFF_T
@@ -369,25 +369,10 @@ void Curl_pgrsSetUploadSize(struct Curl_easy *data, curl_off_t size)
int Curl_pgrsUpdate(struct connectdata *conn)
{
struct curltime now;
- int result;
- char max5[6][10];
- curl_off_t dlpercen = 0;
- curl_off_t ulpercen = 0;
- curl_off_t total_percen = 0;
- curl_off_t total_transfer;
- curl_off_t total_expected_transfer;
curl_off_t timespent;
curl_off_t timespent_ms; /* milliseconds */
struct Curl_easy *data = conn->data;
int nowindex = data->progress.speeder_c% CURR_TIME;
- int checkindex;
- int countindex; /* amount of seconds stored in the speeder array */
- char time_left[10];
- char time_total[10];
- char time_spent[10];
- curl_off_t ulestimate = 0;
- curl_off_t dlestimate = 0;
- curl_off_t total_estimate;
bool shownow = FALSE;
curl_off_t dl = data->progress.downloaded;
curl_off_t ul = data->progress.uploaded;
@@ -413,6 +398,7 @@ int Curl_pgrsUpdate(struct connectdata *conn)
/* Calculations done at most once a second, unless end is reached */
if(data->progress.lastshow != now.tv_sec) {
+ int countindex; /* amount of seconds stored in the speeder array */
shownow = TRUE;
data->progress.lastshow = now.tv_sec;
@@ -438,6 +424,7 @@ int Curl_pgrsUpdate(struct connectdata *conn)
/* first of all, we don't do this if there's no counted seconds yet */
if(countindex) {
+ int checkindex;
timediff_t span_ms;
/* Get the index position to compare with the 'nowindex' position.
@@ -477,8 +464,21 @@ int Curl_pgrsUpdate(struct connectdata *conn)
if(!(data->progress.flags & PGRS_HIDE)) {
/* progress meter has not been shut off */
+ char max5[6][10];
+ curl_off_t dlpercen = 0;
+ curl_off_t ulpercen = 0;
+ curl_off_t total_percen = 0;
+ curl_off_t total_transfer;
+ curl_off_t total_expected_transfer;
+ char time_left[10];
+ char time_total[10];
+ char time_spent[10];
+ curl_off_t ulestimate = 0;
+ curl_off_t dlestimate = 0;
+ curl_off_t total_estimate;
if(data->set.fxferinfo) {
+ int result;
/* There's a callback set, call that */
Curl_set_in_callback(data, true);
result = data->set.fxferinfo(data->set.progress_client,
@@ -492,6 +492,7 @@ int Curl_pgrsUpdate(struct connectdata *conn)
return result;
}
if(data->set.fprogress) {
+ int result;
/* The older deprecated callback is set, call that */
Curl_set_in_callback(data, true);
result = data->set.fprogress(data->set.progress_client,
diff --git a/lib/progress.h b/lib/progress.h
index 2baa925d..92dbcbd9 100644
--- a/lib/progress.h
+++ b/lib/progress.h
@@ -56,23 +56,10 @@ timediff_t Curl_pgrsLimitWaitTime(curl_off_t cursize,
struct curltime start,
struct curltime now);
-/* Don't show progress for sizes smaller than: */
-#define LEAST_SIZE_PROGRESS BUFSIZE
-
-#define PROGRESS_DOWNLOAD (1<<0)
-#define PROGRESS_UPLOAD (1<<1)
-#define PROGRESS_DOWN_AND_UP (PROGRESS_UPLOAD | PROGRESS_DOWNLOAD)
-
-#define PGRS_SHOW_DL (1<<0)
-#define PGRS_SHOW_UL (1<<1)
-#define PGRS_DONE_DL (1<<2)
-#define PGRS_DONE_UL (1<<3)
#define PGRS_HIDE (1<<4)
#define PGRS_UL_SIZE_KNOWN (1<<5)
#define PGRS_DL_SIZE_KNOWN (1<<6)
-
#define PGRS_HEADERS_OUT (1<<7) /* set when the headers have been written */
-
#endif /* HEADER_CURL_PROGRESS_H */
diff --git a/lib/psl.c b/lib/psl.c
new file mode 100644
index 00000000..568baff0
--- /dev/null
+++ b/lib/psl.c
@@ -0,0 +1,111 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#include "curl_setup.h"
+
+#include <curl/curl.h>
+
+#ifdef USE_LIBPSL
+
+#include "psl.h"
+#include "share.h"
+
+/* The last 3 #include files should be in this order */
+#include "curl_printf.h"
+#include "curl_memory.h"
+#include "memdebug.h"
+
+void Curl_psl_destroy(struct PslCache *pslcache)
+{
+ if(pslcache->psl) {
+ if(pslcache->dynamic)
+ psl_free((psl_ctx_t *) pslcache->psl);
+ pslcache->psl = NULL;
+ pslcache->dynamic = FALSE;
+ }
+}
+
+static time_t now_seconds(void)
+{
+ struct curltime now = Curl_now();
+
+ return now.tv_sec;
+}
+
+const psl_ctx_t *Curl_psl_use(struct Curl_easy *easy)
+{
+ struct PslCache *pslcache = easy->psl;
+ const psl_ctx_t *psl;
+ time_t now;
+
+ if(!pslcache)
+ return NULL;
+
+ Curl_share_lock(easy, CURL_LOCK_DATA_PSL, CURL_LOCK_ACCESS_SHARED);
+ now = now_seconds();
+ if(!pslcache->psl || pslcache->expires <= now) {
+ /* Let a chance to other threads to do the job: avoids deadlock. */
+ Curl_share_unlock(easy, CURL_LOCK_DATA_PSL);
+
+ /* Update cache: this needs an exclusive lock. */
+ Curl_share_lock(easy, CURL_LOCK_DATA_PSL, CURL_LOCK_ACCESS_SINGLE);
+
+ /* Recheck in case another thread did the job. */
+ now = now_seconds();
+ if(!pslcache->psl || pslcache->expires <= now) {
+ bool dynamic = FALSE;
+ time_t expires = TIME_T_MAX;
+
+#if defined(PSL_VERSION_NUMBER) && PSL_VERSION_NUMBER >= 0x001000
+ psl = psl_latest(NULL);
+ dynamic = psl != NULL;
+ /* Take care of possible time computation overflow. */
+ expires = now < TIME_T_MAX - PSL_TTL? now + PSL_TTL: TIME_T_MAX;
+
+ /* Only get the built-in PSL if we do not already have the "latest". */
+ if(!psl && !pslcache->dynamic)
+#endif
+
+ psl = psl_builtin();
+
+ if(psl) {
+ Curl_psl_destroy(pslcache);
+ pslcache->psl = psl;
+ pslcache->dynamic = dynamic;
+ pslcache->expires = expires;
+ }
+ }
+ Curl_share_unlock(easy, CURL_LOCK_DATA_PSL); /* Release exclusive lock. */
+ Curl_share_lock(easy, CURL_LOCK_DATA_PSL, CURL_LOCK_ACCESS_SHARED);
+ }
+ psl = pslcache->psl;
+ if(!psl)
+ Curl_share_unlock(easy, CURL_LOCK_DATA_PSL);
+ return psl;
+}
+
+void Curl_psl_release(struct Curl_easy *easy)
+{
+ Curl_share_unlock(easy, CURL_LOCK_DATA_PSL);
+}
+
+#endif /* USE_LIBPSL */
diff --git a/lib/psl.h b/lib/psl.h
new file mode 100644
index 00000000..e9f99d03
--- /dev/null
+++ b/lib/psl.h
@@ -0,0 +1,47 @@
+#ifndef HEADER_PSL_H
+#define HEADER_PSL_H
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+
+#ifdef USE_LIBPSL
+#include <libpsl.h>
+
+#define PSL_TTL (72 * 3600) /* PSL time to live before a refresh. */
+
+struct PslCache {
+ const psl_ctx_t *psl; /* The PSL. */
+ time_t expires; /* Time this PSL life expires. */
+ bool dynamic; /* PSL should be released when no longer needed. */
+};
+
+const psl_ctx_t *Curl_psl_use(struct Curl_easy *easy);
+void Curl_psl_release(struct Curl_easy *easy);
+void Curl_psl_destroy(struct PslCache *pslcache);
+
+#else
+
+#define Curl_psl_use(easy) NULL
+#define Curl_psl_release(easy)
+#define Curl_psl_destroy(pslcache)
+
+#endif /* USE_LIBPSL */
+#endif /* HEADER_PSL_H */
diff --git a/lib/rand.c b/lib/rand.c
index 0769ed15..1dc2504a 100644
--- a/lib/rand.c
+++ b/lib/rand.c
@@ -158,7 +158,7 @@ CURLcode Curl_rand_hex(struct Curl_easy *data, unsigned char *rnd,
DEBUGASSERT(num > 1);
#ifdef __clang_analyzer__
- /* This silences a scan-build warning about accesssing this buffer with
+ /* This silences a scan-build warning about accessing this buffer with
uninitialized memory. */
memset(buffer, 0, sizeof(buffer));
#endif
diff --git a/lib/rtsp.c b/lib/rtsp.c
index 41f30001..182ee295 100644
--- a/lib/rtsp.c
+++ b/lib/rtsp.c
@@ -218,8 +218,6 @@ static CURLcode rtsp_done(struct connectdata *conn,
struct Curl_easy *data = conn->data;
struct RTSP *rtsp = data->req.protop;
CURLcode httpStatus;
- long CSeq_sent;
- long CSeq_recv;
/* Bypass HTTP empty-reply checks on receive */
if(data->set.rtspreq == RTSPREQ_RECEIVE)
@@ -229,8 +227,8 @@ static CURLcode rtsp_done(struct connectdata *conn,
if(rtsp) {
/* Check the sequence numbers */
- CSeq_sent = rtsp->CSeq_sent;
- CSeq_recv = rtsp->CSeq_recv;
+ long CSeq_sent = rtsp->CSeq_sent;
+ long CSeq_recv = rtsp->CSeq_recv;
if((data->set.rtspreq != RTSPREQ_RECEIVE) && (CSeq_sent != CSeq_recv)) {
failf(data,
"The CSeq of this request %ld did not match the response %ld",
diff --git a/lib/security.c b/lib/security.c
index ac39dae0..abf242c3 100644
--- a/lib/security.c
+++ b/lib/security.c
@@ -390,7 +390,7 @@ int Curl_sec_read_msg(struct connectdata *conn, char *buffer,
if(conn->data->set.verbose) {
buf[decoded_len] = '\n';
- Curl_debug(conn->data, CURLINFO_HEADER_IN, buf, decoded_len + 1, conn);
+ Curl_debug(conn->data, CURLINFO_HEADER_IN, buf, decoded_len + 1);
}
buf[decoded_len] = '\0';
@@ -488,7 +488,7 @@ static CURLcode choose_mech(struct connectdata *conn)
tmp_allocation = realloc(conn->app_data, mech->size);
if(tmp_allocation == NULL) {
- failf(data, "Failed realloc of size %u", mech->size);
+ failf(data, "Failed realloc of size %zu", mech->size);
mech = NULL;
return CURLE_OUT_OF_MEMORY;
}
diff --git a/lib/select.c b/lib/select.c
index 28390a4a..8cd9eb2a 100644
--- a/lib/select.c
+++ b/lib/select.c
@@ -80,7 +80,6 @@ int Curl_wait_ms(int timeout_ms)
#endif
struct curltime initial_tv;
int pending_ms;
- int error;
#endif
int r = 0;
@@ -98,6 +97,7 @@ int Curl_wait_ms(int timeout_ms)
pending_ms = timeout_ms;
initial_tv = Curl_now();
do {
+ int error;
#if defined(HAVE_POLL_FINE)
r = poll(NULL, 0, pending_ms);
#else
@@ -160,7 +160,6 @@ int Curl_socket_check(curl_socket_t readfd0, /* two sockets to read from */
#endif
struct curltime initial_tv = {0, 0};
int pending_ms = 0;
- int error;
int r;
int ret;
@@ -210,6 +209,7 @@ int Curl_socket_check(curl_socket_t readfd0, /* two sockets to read from */
}
do {
+ int error;
if(timeout_ms < 0)
pending_ms = -1;
else if(!timeout_ms)
@@ -291,6 +291,7 @@ int Curl_socket_check(curl_socket_t readfd0, /* two sockets to read from */
ptimeout = (timeout_ms < 0) ? NULL : &pending_tv;
do {
+ int error;
if(timeout_ms > 0) {
pending_tv.tv_sec = pending_ms / 1000;
pending_tv.tv_usec = (pending_ms % 1000) * 1000;
@@ -402,7 +403,6 @@ int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms)
bool fds_none = TRUE;
unsigned int i;
int pending_ms = 0;
- int error;
int r;
if(ufds) {
@@ -431,6 +431,7 @@ int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms)
#ifdef HAVE_POLL_FINE
do {
+ int error;
if(timeout_ms < 0)
pending_ms = -1;
else if(!timeout_ms)
@@ -502,6 +503,7 @@ int Curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms)
ptimeout = (timeout_ms < 0) ? NULL : &pending_tv;
do {
+ int error;
if(timeout_ms > 0) {
pending_tv.tv_sec = pending_ms / 1000;
pending_tv.tv_usec = (pending_ms % 1000) * 1000;
diff --git a/lib/sendf.c b/lib/sendf.c
index 27c0ccc7..d3c10b36 100644
--- a/lib/sendf.c
+++ b/lib/sendf.c
@@ -240,7 +240,7 @@ void Curl_infof(struct Curl_easy *data, const char *fmt, ...)
vsnprintf(print_buffer, sizeof(print_buffer), fmt, ap);
va_end(ap);
len = strlen(print_buffer);
- Curl_debug(data, CURLINFO_TEXT, print_buffer, len, NULL);
+ Curl_debug(data, CURLINFO_TEXT, print_buffer, len);
}
}
@@ -265,7 +265,7 @@ void Curl_failf(struct Curl_easy *data, const char *fmt, ...)
if(data->set.verbose) {
error[len] = '\n';
error[++len] = '\0';
- Curl_debug(data, CURLINFO_TEXT, error, len, NULL);
+ Curl_debug(data, CURLINFO_TEXT, error, len);
}
va_end(ap);
}
@@ -300,7 +300,7 @@ CURLcode Curl_sendf(curl_socket_t sockfd, struct connectdata *conn,
break;
if(data->set.verbose)
- Curl_debug(data, CURLINFO_DATA_OUT, sptr, (size_t)bytes_written, conn);
+ Curl_debug(data, CURLINFO_DATA_OUT, sptr, (size_t)bytes_written);
if((size_t)bytes_written != write_len) {
/* if not all was written at once, we must advance the pointer, decrease
@@ -762,8 +762,8 @@ CURLcode Curl_read(struct connectdata *conn, /* connection data */
}
/* return 0 on success */
-static int showit(struct Curl_easy *data, curl_infotype type,
- char *ptr, size_t size)
+int Curl_debug(struct Curl_easy *data, curl_infotype type,
+ char *ptr, size_t size)
{
static const char s_infotype[CURLINFO_END][3] = {
"* ", "< ", "> ", "{ ", "} ", "{ ", "} " };
@@ -834,41 +834,3 @@ static int showit(struct Curl_easy *data, curl_infotype type,
#endif
return rc;
}
-
-int Curl_debug(struct Curl_easy *data, curl_infotype type,
- char *ptr, size_t size,
- struct connectdata *conn)
-{
- int rc;
- if(data->set.printhost && conn && conn->host.dispname) {
- char buffer[160];
- const char *t = NULL;
- const char *w = "Data";
- switch(type) {
- case CURLINFO_HEADER_IN:
- w = "Header";
- /* FALLTHROUGH */
- case CURLINFO_DATA_IN:
- t = "from";
- break;
- case CURLINFO_HEADER_OUT:
- w = "Header";
- /* FALLTHROUGH */
- case CURLINFO_DATA_OUT:
- t = "to";
- break;
- default:
- break;
- }
-
- if(t) {
- snprintf(buffer, sizeof(buffer), "[%s %s %s]", w, t,
- conn->host.dispname);
- rc = showit(data, CURLINFO_TEXT, buffer, strlen(buffer));
- if(rc)
- return rc;
- }
- }
- rc = showit(data, type, ptr, size);
- return rc;
-}
diff --git a/lib/sendf.h b/lib/sendf.h
index 7c9134de..7627fe6c 100644
--- a/lib/sendf.h
+++ b/lib/sendf.h
@@ -84,9 +84,8 @@ CURLcode Curl_write_plain(struct connectdata *conn,
ssize_t *written);
/* the function used to output verbose information */
-int Curl_debug(struct Curl_easy *handle, curl_infotype type,
- char *data, size_t size,
- struct connectdata *conn);
+int Curl_debug(struct Curl_easy *data, curl_infotype type,
+ char *ptr, size_t size);
#endif /* HEADER_CURL_SENDF_H */
diff --git a/lib/setopt.c b/lib/setopt.c
index af53ee3e..5ecf5b97 100644
--- a/lib/setopt.c
+++ b/lib/setopt.c
@@ -142,6 +142,25 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
va_arg(param, char *));
break;
+ case CURLOPT_TLS13_CIPHERS:
+ if(Curl_ssl_tls13_ciphersuites()) {
+ /* set preferred list of TLS 1.3 cipher suites */
+ result = Curl_setstropt(&data->set.str[STRING_SSL_CIPHER13_LIST_ORIG],
+ va_arg(param, char *));
+ }
+ else
+ return CURLE_NOT_BUILT_IN;
+ break;
+ case CURLOPT_PROXY_TLS13_CIPHERS:
+ if(Curl_ssl_tls13_ciphersuites()) {
+ /* set preferred list of TLS 1.3 cipher suites for proxy */
+ result = Curl_setstropt(&data->set.str[STRING_SSL_CIPHER13_LIST_PROXY],
+ va_arg(param, char *));
+ }
+ else
+ return CURLE_NOT_BUILT_IN;
+ break;
+
case CURLOPT_RANDOM_FILE:
/*
* This is the path name to a file that contains random data to seed
@@ -1942,6 +1961,11 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
if(data->share->sslsession == data->state.session)
data->state.session = NULL;
+#ifdef USE_LIBPSL
+ if(data->psl == &data->share->psl)
+ data->psl = data->multi? &data->multi->psl: NULL;
+#endif
+
data->share->dirty--;
Curl_share_unlock(data, CURL_LOCK_DATA_SHARE);
@@ -1973,8 +1997,12 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
data->set.general_ssl.max_ssl_sessions = data->share->max_ssl_sessions;
data->state.session = data->share->sslsession;
}
- Curl_share_unlock(data, CURL_LOCK_DATA_SHARE);
+#ifdef USE_LIBPSL
+ if(data->share->specifier & (1 << CURL_LOCK_DATA_PSL))
+ data->psl = &data->share->psl;
+#endif
+ Curl_share_unlock(data, CURL_LOCK_DATA_SHARE);
}
/* check for host cache not needed,
* it will be done by curl_easy_perform */
@@ -2562,6 +2590,10 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option,
case CURLOPT_DNS_SHUFFLE_ADDRESSES:
data->set.dns_shuffle_addresses = (0 != va_arg(param, long)) ? TRUE:FALSE;
break;
+ case CURLOPT_DISALLOW_USERNAME_IN_URL:
+ data->set.disallow_username_in_url =
+ (0 != va_arg(param, long)) ? TRUE : FALSE;
+ break;
default:
/* unknown tag and its companion, just ignore: */
result = CURLE_UNKNOWN_OPTION;
diff --git a/lib/sha256.c b/lib/sha256.c
index 55716c63..3ac12961 100644
--- a/lib/sha256.c
+++ b/lib/sha256.c
@@ -130,8 +130,7 @@ static const unsigned long K[64] = {
static int sha256_compress(struct sha256_state *md,
unsigned char *buf)
{
- unsigned long S[8], W[64], t0, t1;
- unsigned long t;
+ unsigned long S[8], W[64];
int i;
/* copy state into S */
for(i = 0; i < 8; i++) {
@@ -146,12 +145,13 @@ static int sha256_compress(struct sha256_state *md,
W[i - 16];
}
/* Compress */
-#define RND(a,b,c,d,e,f,g,h,i) \
- t0 = h + Sigma1(e) + Ch(e, f, g) + K[i] + W[i]; \
- t1 = Sigma0(a) + Maj(a, b, c); \
- d += t0; \
+#define RND(a,b,c,d,e,f,g,h,i) \
+ unsigned long t0 = h + Sigma1(e) + Ch(e, f, g) + K[i] + W[i]; \
+ unsigned long t1 = Sigma0(a) + Maj(a, b, c); \
+ d += t0; \
h = t0 + t1;
for(i = 0; i < 64; ++i) {
+ unsigned long t;
RND(S[0], S[1], S[2], S[3], S[4], S[5], S[6], S[7], i);
t = S[7]; S[7] = S[6]; S[6] = S[5]; S[5] = S[4];
S[4] = S[3]; S[3] = S[2]; S[2] = S[1]; S[1] = S[0]; S[0] = t;
diff --git a/lib/share.c b/lib/share.c
index 870b191f..3d510861 100644
--- a/lib/share.c
+++ b/lib/share.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -25,6 +25,7 @@
#include <curl/curl.h>
#include "urldata.h"
#include "share.h"
+#include "psl.h"
#include "vtls/vtls.h"
#include "curl_memory.h"
@@ -106,6 +107,12 @@ curl_share_setopt(struct Curl_share *share, CURLSHoption option, ...)
res = CURLSHE_NOMEM;
break;
+ case CURL_LOCK_DATA_PSL:
+#ifndef USE_LIBPSL
+ res = CURLSHE_NOT_BUILT_IN;
+#endif
+ break;
+
default:
res = CURLSHE_BAD_OPTION;
}
@@ -205,6 +212,8 @@ curl_share_cleanup(struct Curl_share *share)
}
#endif
+ Curl_psl_destroy(&share->psl);
+
if(share->unlockfunc)
share->unlockfunc(NULL, CURL_LOCK_DATA_SHARE, share->clientdata);
free(share);
diff --git a/lib/share.h b/lib/share.h
index 4b13406d..a7dea41a 100644
--- a/lib/share.h
+++ b/lib/share.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -25,6 +25,7 @@
#include "curl_setup.h"
#include <curl/curl.h>
#include "cookie.h"
+#include "psl.h"
#include "urldata.h"
#include "conncache.h"
@@ -49,6 +50,9 @@ struct Curl_share {
#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_COOKIES)
struct CookieInfo *cookies;
#endif
+#ifdef USE_LIBPSL
+ struct PslCache psl;
+#endif
struct curl_ssl_session *sslsession;
size_t max_ssl_sessions;
diff --git a/lib/smtp.c b/lib/smtp.c
index 3f3b45a9..ecf10a41 100644
--- a/lib/smtp.c
+++ b/lib/smtp.c
@@ -704,7 +704,6 @@ static CURLcode smtp_state_ehlo_resp(struct connectdata *conn, int smtpcode,
struct smtp_conn *smtpc = &conn->proto.smtpc;
const char *line = data->state.buffer;
size_t len = strlen(line);
- size_t wordlen;
(void)instate; /* no use for this yet */
@@ -739,6 +738,7 @@ static CURLcode smtp_state_ehlo_resp(struct connectdata *conn, int smtpcode,
/* Loop through the data line */
for(;;) {
size_t llen;
+ size_t wordlen;
unsigned int mechbit;
while(len &&
@@ -1563,13 +1563,14 @@ CURLcode Curl_smtp_escape_eob(struct connectdata *conn, const ssize_t nread)
if(!scratch || data->set.crlf) {
oldscratch = scratch;
- scratch = newscratch = malloc(2 * data->set.buffer_size);
+ scratch = newscratch = malloc(2 * UPLOAD_BUFSIZE);
if(!newscratch) {
failf(data, "Failed to alloc scratch buffer!");
return CURLE_OUT_OF_MEMORY;
}
}
+ DEBUGASSERT(UPLOAD_BUFSIZE >= nread);
/* Have we already sent part of the EOB? */
eob_sent = smtp->eob;
diff --git a/lib/socks.c b/lib/socks.c
index ac4270ea..73326e5c 100644
--- a/lib/socks.c
+++ b/lib/socks.c
@@ -57,10 +57,9 @@ int Curl_blockread_all(struct connectdata *conn, /* connection data */
ssize_t nread;
ssize_t allread = 0;
int result;
- timediff_t timeleft;
*n = 0;
for(;;) {
- timeleft = Curl_timeleft(conn->data, NULL, TRUE);
+ timediff_t timeleft = Curl_timeleft(conn->data, NULL, TRUE);
if(timeleft < 0) {
/* we already got the timeout */
result = CURLE_OPERATION_TIMEDOUT;
@@ -116,7 +115,6 @@ CURLcode Curl_SOCKS4(const char *proxy_user,
#define SOCKS4REQLEN 262
unsigned char socksreq[SOCKS4REQLEN]; /* room for SOCKS4 request incl. user
id */
- int result;
CURLcode code;
curl_socket_t sock = conn->sock[sockindex];
struct Curl_easy *data = conn->data;
@@ -220,6 +218,7 @@ CURLcode Curl_SOCKS4(const char *proxy_user,
* Make connection
*/
{
+ int result;
ssize_t actualread;
ssize_t written;
ssize_t hostnamelen = 0;
@@ -617,11 +616,11 @@ CURLcode Curl_SOCKS5(const char *proxy_user,
if(dns)
hp = dns->addr;
if(hp) {
- int i;
char buf[64];
Curl_printable_address(hp, buf, sizeof(buf));
if(hp->ai_family == AF_INET) {
+ int i;
struct sockaddr_in *saddr_in;
socksreq[len++] = 1; /* ATYP: IPv4 = 1 */
@@ -634,6 +633,7 @@ CURLcode Curl_SOCKS5(const char *proxy_user,
}
#ifdef ENABLE_IPV6
else if(hp->ai_family == AF_INET6) {
+ int i;
struct sockaddr_in6 *saddr_in6;
socksreq[len++] = 4; /* ATYP: IPv6 = 4 */
diff --git a/lib/splay.c b/lib/splay.c
index 69af446e..c54a63bb 100644
--- a/lib/splay.c
+++ b/lib/splay.c
@@ -41,7 +41,6 @@ struct Curl_tree *Curl_splay(struct curltime i,
struct Curl_tree *t)
{
struct Curl_tree N, *l, *r, *y;
- long comp;
if(t == NULL)
return t;
@@ -49,7 +48,7 @@ struct Curl_tree *Curl_splay(struct curltime i,
l = r = &N;
for(;;) {
- comp = compare(i, t->key);
+ long comp = compare(i, t->key);
if(comp < 0) {
if(t->smaller == NULL)
break;
diff --git a/lib/ssh-libssh.c b/lib/ssh-libssh.c
index 34ef490c..cecf477a 100644
--- a/lib/ssh-libssh.c
+++ b/lib/ssh-libssh.c
@@ -204,11 +204,21 @@ static CURLcode sftp_error_to_CURLE(int err)
return CURLE_SSH;
}
+#ifndef DEBUGBUILD
+#define state(x,y) mystate(x,y)
+#else
+#define state(x,y) mystate(x,y, __LINE__)
+#endif
+
/*
* SSH State machine related code
*/
/* This is the ONLY way to change SSH state! */
-static void state(struct connectdata *conn, sshstate nowstate)
+static void mystate(struct connectdata *conn, sshstate nowstate
+#ifdef DEBUGBUILD
+ , int lineno
+#endif
+ )
{
struct ssh_conn *sshc = &conn->proto.sshc;
#if defined(DEBUGBUILD) && !defined(CURL_DISABLE_VERBOSE_STRINGS)
@@ -278,8 +288,9 @@ static void state(struct connectdata *conn, sshstate nowstate)
if(sshc->state != nowstate) {
- infof(conn->data, "SSH %p state change from %s to %s\n",
- (void *) sshc, names[sshc->state], names[nowstate]);
+ infof(conn->data, "SSH %p state change from %s to %s (line %d)\n",
+ (void *) sshc, names[sshc->state], names[nowstate],
+ lineno);
}
#endif
@@ -418,7 +429,7 @@ cleanup:
}
#define MOVE_TO_ERROR_STATE(_r) { \
- state(conn, SSH_SESSION_FREE); \
+ state(conn, SSH_SESSION_DISCONNECT); \
sshc->actualcode = _r; \
rc = SSH_ERROR; \
break; \
@@ -1306,7 +1317,7 @@ static CURLcode myssh_statemach_act(struct connectdata *conn, bool *block)
if(data->set.verbose) {
Curl_debug(data, CURLINFO_DATA_OUT,
(char *)sshc->readdir_filename,
- sshc->readdir_len, conn);
+ sshc->readdir_len);
}
}
else {
@@ -1423,7 +1434,7 @@ static CURLcode myssh_statemach_act(struct connectdata *conn, bool *block)
/* output debug output if that is requested */
if(data->set.verbose) {
Curl_debug(data, CURLINFO_DATA_OUT, sshc->readdir_line,
- sshc->readdir_currLen, conn);
+ sshc->readdir_currLen);
}
data->req.bytecount += sshc->readdir_currLen;
}
@@ -2500,8 +2511,8 @@ static void sftp_quote(struct connectdata *conn)
return;
}
if(data->set.verbose) {
- Curl_debug(data, CURLINFO_HEADER_OUT, (char *) "PWD\n", 4, conn);
- Curl_debug(data, CURLINFO_HEADER_IN, tmp, strlen(tmp), conn);
+ Curl_debug(data, CURLINFO_HEADER_OUT, (char *) "PWD\n", 4);
+ Curl_debug(data, CURLINFO_HEADER_IN, tmp, strlen(tmp));
}
/* this sends an FTP-like "header" to the header callback so that the
current directory can be read very similar to how it is read when
diff --git a/lib/ssh.c b/lib/ssh.c
index bf7bd54f..98153040 100644
--- a/lib/ssh.c
+++ b/lib/ssh.c
@@ -1175,8 +1175,8 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
break;
}
if(data->set.verbose) {
- Curl_debug(data, CURLINFO_HEADER_OUT, (char *)"PWD\n", 4, conn);
- Curl_debug(data, CURLINFO_HEADER_IN, tmp, strlen(tmp), conn);
+ Curl_debug(data, CURLINFO_HEADER_OUT, (char *)"PWD\n", 4);
+ Curl_debug(data, CURLINFO_HEADER_IN, tmp, strlen(tmp));
}
/* this sends an FTP-like "header" to the header callback so that the
current directory can be read very similar to how it is read when
@@ -1970,7 +1970,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
/* output debug output if that is requested */
if(data->set.verbose) {
Curl_debug(data, CURLINFO_DATA_OUT, sshc->readdir_filename,
- sshc->readdir_len, conn);
+ sshc->readdir_len);
}
}
else {
@@ -2079,7 +2079,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block)
/* output debug output if that is requested */
if(data->set.verbose) {
Curl_debug(data, CURLINFO_DATA_OUT, sshc->readdir_line,
- sshc->readdir_currLen, conn);
+ sshc->readdir_currLen);
}
data->req.bytecount += sshc->readdir_currLen;
}
diff --git a/lib/telnet.c b/lib/telnet.c
index d71c8e06..fff3f337 100644
--- a/lib/telnet.c
+++ b/lib/telnet.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -74,10 +74,10 @@
x->subend = x->subpointer; \
CURL_SB_CLEAR(x); \
} WHILE_FALSE
-#define CURL_SB_ACCUM(x,c) \
- do { \
- if(x->subpointer < (x->subbuffer + sizeof x->subbuffer)) \
- *x->subpointer++ = (c); \
+#define CURL_SB_ACCUM(x,c) \
+ do { \
+ if(x->subpointer < (x->subbuffer + sizeof(x->subbuffer))) \
+ *x->subpointer++ = (c); \
} WHILE_FALSE
#define CURL_SB_GET(x) ((*x->subpointer++)&0xff)
@@ -92,6 +92,7 @@
#endif
#ifdef USE_WINSOCK
+typedef WSAEVENT (WINAPI *WSOCK2_EVENT)(void);
typedef FARPROC WSOCK2_FUNC;
static CURLcode check_wsock2(struct Curl_easy *data);
#endif
@@ -109,8 +110,10 @@ static void printoption(struct Curl_easy *data,
static void negotiate(struct connectdata *);
static void send_negotiation(struct connectdata *, int cmd, int option);
-static void set_local_option(struct connectdata *, int cmd, int option);
-static void set_remote_option(struct connectdata *, int cmd, int option);
+static void set_local_option(struct connectdata *conn,
+ int option, int newstate);
+static void set_remote_option(struct connectdata *conn,
+ int option, int newstate);
static void printsub(struct Curl_easy *data,
int direction, unsigned char *pointer,
@@ -311,9 +314,6 @@ static void negotiate(struct connectdata *conn)
static void printoption(struct Curl_easy *data,
const char *direction, int cmd, int option)
{
- const char *fmt;
- const char *opt;
-
if(data->set.verbose) {
if(cmd == CURL_IAC) {
if(CURL_TELCMD_OK(option))
@@ -322,9 +322,12 @@ static void printoption(struct Curl_easy *data,
infof(data, "%s IAC %d\n", direction, option);
}
else {
- fmt = (cmd == CURL_WILL) ? "WILL" : (cmd == CURL_WONT) ? "WONT" :
- (cmd == CURL_DO) ? "DO" : (cmd == CURL_DONT) ? "DONT" : 0;
+ const char *fmt = (cmd == CURL_WILL) ? "WILL" :
+ (cmd == CURL_WONT) ? "WONT" :
+ (cmd == CURL_DO) ? "DO" :
+ (cmd == CURL_DONT) ? "DONT" : 0;
if(fmt) {
+ const char *opt;
if(CURL_TELOPT_OK(option))
opt = CURL_TELOPT(option);
else if(option == CURL_TELOPT_EXOPL)
@@ -348,7 +351,6 @@ static void send_negotiation(struct connectdata *conn, int cmd, int option)
{
unsigned char buf[3];
ssize_t bytes_written;
- int err;
struct Curl_easy *data = conn->data;
buf[0] = CURL_IAC;
@@ -357,7 +359,7 @@ static void send_negotiation(struct connectdata *conn, int cmd, int option)
bytes_written = swrite(conn->sock[FIRSTSOCKET], buf, 3);
if(bytes_written < 0) {
- err = SOCKERRNO;
+ int err = SOCKERRNO;
failf(data,"Sending data failed (%d)",err);
}
@@ -710,9 +712,8 @@ static void printsub(struct Curl_easy *data,
unsigned char *pointer, /* where suboption data is */
size_t length) /* length of suboption data */
{
- unsigned int i = 0;
-
if(data->set.verbose) {
+ unsigned int i = 0;
if(direction) {
infof(data, "%s IAC SB ", (direction == '<')? "RCVD":"SENT");
if(length >= 3) {
@@ -764,7 +765,7 @@ static void printsub(struct Curl_easy *data,
switch(pointer[0]) {
case CURL_TELOPT_NAWS:
if(length > 4)
- infof(data, "Width: %hu ; Height: %hu", (pointer[1]<<8) | pointer[2],
+ infof(data, "Width: %d ; Height: %d", (pointer[1]<<8) | pointer[2],
(pointer[3]<<8) | pointer[4]);
break;
default:
@@ -928,7 +929,6 @@ static void suboption(struct connectdata *conn)
unsigned char temp[2048];
ssize_t bytes_written;
size_t len;
- size_t tmplen;
int err;
char varname[128] = "";
char varval[128] = "";
@@ -968,7 +968,7 @@ static void suboption(struct connectdata *conn)
len = 4;
for(v = tn->telnet_vars; v; v = v->next) {
- tmplen = (strlen(v->data) + 1);
+ size_t tmplen = (strlen(v->data) + 1);
/* Add the variable only if it fits */
if(len + tmplen < (int)sizeof(temp)-6) {
if(sscanf(v->data, "%127[^,],%127s", varname, varval)) {
@@ -1017,7 +1017,7 @@ static void sendsuboption(struct connectdata *conn, int option)
CURL_SB_ACCUM(tn, CURL_IAC);
CURL_SB_ACCUM(tn, CURL_SB);
CURL_SB_ACCUM(tn, CURL_TELOPT_NAWS);
- /* We must deal either with litte or big endian processors */
+ /* We must deal either with little or big endian processors */
/* Window size must be sent according to the 'network order' */
x = htons(tn->subopt_wsx);
y = htons(tn->subopt_wsy);
@@ -1223,7 +1223,7 @@ CURLcode telrcv(struct connectdata *conn,
static CURLcode send_telnet_data(struct connectdata *conn,
char *buffer, ssize_t nread)
{
- ssize_t escapes, i, j, outlen;
+ ssize_t escapes, i, outlen;
unsigned char *outbuf = NULL;
CURLcode result = CURLE_OK;
ssize_t bytes_written, total_written;
@@ -1238,6 +1238,7 @@ static CURLcode send_telnet_data(struct connectdata *conn,
if(outlen == nread)
outbuf = (unsigned char *)buffer;
else {
+ ssize_t j;
outbuf = malloc(nread + escapes + 1);
if(!outbuf)
return CURLE_OUT_OF_MEMORY;
@@ -1306,7 +1307,7 @@ static CURLcode telnet_do(struct connectdata *conn, bool *done)
#ifdef USE_WINSOCK
HMODULE wsock2;
WSOCK2_FUNC close_event_func;
- WSOCK2_FUNC create_event_func;
+ WSOCK2_EVENT create_event_func;
WSOCK2_FUNC event_select_func;
WSOCK2_FUNC enum_netevents_func;
WSAEVENT event_handle;
@@ -1315,7 +1316,6 @@ static CURLcode telnet_do(struct connectdata *conn, bool *done)
HANDLE objs[2];
DWORD obj_count;
DWORD wait_timeout;
- DWORD waitret;
DWORD readfile_read;
int err;
#else
@@ -1361,7 +1361,7 @@ static CURLcode telnet_do(struct connectdata *conn, bool *done)
}
/* Grab a pointer to WSACreateEvent */
- create_event_func = GetProcAddress(wsock2, "WSACreateEvent");
+ create_event_func = (WSOCK2_EVENT) GetProcAddress(wsock2, "WSACreateEvent");
if(create_event_func == NULL) {
failf(data, "failed to find WSACreateEvent function (%u)", GetLastError());
FreeLibrary(wsock2);
@@ -1438,7 +1438,8 @@ static CURLcode telnet_do(struct connectdata *conn, bool *done)
/* Keep on listening and act on events */
while(keepon) {
const DWORD buf_size = (DWORD)data->set.buffer_size;
- waitret = WaitForMultipleObjects(obj_count, objs, FALSE, wait_timeout);
+ DWORD waitret = WaitForMultipleObjects(obj_count, objs,
+ FALSE, wait_timeout);
switch(waitret) {
case WAIT_TIMEOUT:
{
diff --git a/lib/tftp.c b/lib/tftp.c
index b32960f8..61a3fef0 100644
--- a/lib/tftp.c
+++ b/lib/tftp.c
@@ -451,7 +451,6 @@ static CURLcode tftp_send_first(tftp_state_data_t *state, tftp_event_t event)
ssize_t senddata;
const char *mode = "octet";
char *filename;
- char buf[64];
struct Curl_easy *data = state->conn->data;
CURLcode result = CURLE_OK;
@@ -504,6 +503,7 @@ static CURLcode tftp_send_first(tftp_state_data_t *state, tftp_event_t event)
/* optional addition of TFTP options */
if(!data->set.tftp_no_options) {
+ char buf[64];
/* add tsize option */
if(data->set.upload && (data->state.infilesize != -1))
snprintf(buf, sizeof(buf), "%" CURL_FORMAT_CURL_OFF_T,
@@ -710,7 +710,6 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
{
struct Curl_easy *data = state->conn->data;
ssize_t sbytes;
- int rblock;
CURLcode result = CURLE_OK;
struct SingleRequest *k = &data->req;
int cb; /* Bytes currently read */
@@ -721,7 +720,7 @@ static CURLcode tftp_tx(tftp_state_data_t *state, tftp_event_t event)
case TFTP_EVENT_OACK:
if(event == TFTP_EVENT_ACK) {
/* Ack the packet */
- rblock = getrpacketblock(&state->rpacket);
+ int rblock = getrpacketblock(&state->rpacket);
if(rblock != state->block &&
/* There's a bug in tftpd-hpa that causes it to send us an ack for
@@ -969,7 +968,7 @@ static CURLcode tftp_disconnect(struct connectdata *conn, bool dead_connection)
static CURLcode tftp_connect(struct connectdata *conn, bool *done)
{
tftp_state_data_t *state;
- int blksize, rc;
+ int blksize;
blksize = TFTP_BLKSIZE_DEFAULT;
@@ -1028,8 +1027,8 @@ static CURLcode tftp_connect(struct connectdata *conn, bool *done)
* assume uses the same IP version and thus hopefully this works for both
* IPv4 and IPv6...
*/
- rc = bind(state->sockfd, (struct sockaddr *)&state->local_addr,
- conn->ip_addr->ai_addrlen);
+ int rc = bind(state->sockfd, (struct sockaddr *)&state->local_addr,
+ conn->ip_addr->ai_addrlen);
if(rc) {
failf(conn->data, "bind() failed; %s",
Curl_strerror(conn, SOCKERRNO));
@@ -1148,8 +1147,11 @@ static CURLcode tftp_receive_packet(struct connectdata *conn)
case TFTP_EVENT_ERROR:
{
unsigned short error = getrpacketblock(&state->rpacket);
+ char *str = (char *)state->rpacket.data + 4;
+ size_t strn = state->rbytes - 4;
state->error = (tftp_error_t)error;
- infof(data, "%s\n", (const char *)state->rpacket.data + 4);
+ if(Curl_strnlen(str, strn) < strn)
+ infof(data, "TFTP error: %s\n", str);
break;
}
case TFTP_EVENT_ACK:
@@ -1221,7 +1223,6 @@ static long tftp_state_timeout(struct connectdata *conn, tftp_event_t *event)
**********************************************************/
static CURLcode tftp_multi_statemach(struct connectdata *conn, bool *done)
{
- int rc;
tftp_event_t event;
CURLcode result = CURLE_OK;
struct Curl_easy *data = conn->data;
@@ -1245,7 +1246,7 @@ static CURLcode tftp_multi_statemach(struct connectdata *conn, bool *done)
}
else {
/* no timeouts to handle, check our socket */
- rc = SOCKET_READABLE(state->sockfd, 0);
+ int rc = SOCKET_READABLE(state->sockfd, 0);
if(rc == -1) {
/* bail out */
@@ -1368,7 +1369,6 @@ static CURLcode tftp_setup_connection(struct connectdata * conn)
{
struct Curl_easy *data = conn->data;
char *type;
- char command;
conn->socktype = SOCK_DGRAM; /* UDP datagram based */
@@ -1380,6 +1380,7 @@ static CURLcode tftp_setup_connection(struct connectdata * conn)
type = strstr(conn->host.rawalloc, ";mode=");
if(type) {
+ char command;
*type = 0; /* it was in the middle of the hostname */
command = Curl_raw_toupper(type[6]);
diff --git a/lib/transfer.c b/lib/transfer.c
index 131f2dc7..435d3e1e 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -444,7 +444,6 @@ static CURLcode readwrite_data(struct Curl_easy *data,
CURLcode result = CURLE_OK;
ssize_t nread; /* number of bytes read */
size_t excess = 0; /* excess bytes read */
- bool is_empty_data = FALSE;
bool readmore = FALSE; /* used by RTP to signal for more data */
int maxloops = 100;
@@ -454,6 +453,7 @@ static CURLcode readwrite_data(struct Curl_easy *data,
/* This is where we loop until we have read everything there is to
read or we get a CURLE_AGAIN */
do {
+ bool is_empty_data = FALSE;
size_t buffersize = data->set.buffer_size;
size_t bytestoread = buffersize;
@@ -660,14 +660,14 @@ static CURLcode readwrite_data(struct Curl_easy *data,
if(data->set.verbose) {
if(k->badheader) {
Curl_debug(data, CURLINFO_DATA_IN, data->state.headerbuff,
- (size_t)k->hbuflen, conn);
+ (size_t)k->hbuflen);
if(k->badheader == HEADER_PARTHEADER)
Curl_debug(data, CURLINFO_DATA_IN,
- k->str, (size_t)nread, conn);
+ k->str, (size_t)nread);
}
else
Curl_debug(data, CURLINFO_DATA_IN,
- k->str, (size_t)nread, conn);
+ k->str, (size_t)nread);
}
#ifndef CURL_DISABLE_HTTP
@@ -1027,7 +1027,7 @@ static CURLcode readwrite_upload(struct Curl_easy *data,
if(data->set.verbose)
/* show the data before we change the pointer upload_fromhere */
Curl_debug(data, CURLINFO_DATA_OUT, k->upload_fromhere,
- (size_t)bytes_written, conn);
+ (size_t)bytes_written);
k->writebytecount += bytes_written;
diff --git a/lib/url.c b/lib/url.c
index 701f83ab..27b2c1e1 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -757,7 +757,7 @@ CURLcode Curl_disconnect(struct connectdata *conn, bool dead_connection)
*/
if(!conn->bits.close &&
(conn->send_pipe.size + conn->recv_pipe.size)) {
- DEBUGF(infof(data, "Curl_disconnect, usecounter: %d\n",
+ DEBUGF(infof(data, "Curl_disconnect, usecounter: %zu\n",
conn->send_pipe.size + conn->recv_pipe.size));
return CURLE_OK;
}
@@ -965,6 +965,7 @@ static bool extract_if_dead(struct connectdata *conn,
use */
bool dead;
+ conn->data = data;
if(conn->handler->connection_check) {
/* The protocol has a special method for checking the state of the
connection. Use it to check if the connection is dead. */
@@ -979,7 +980,6 @@ static bool extract_if_dead(struct connectdata *conn,
}
if(dead) {
- conn->data = data;
infof(data, "Connection %ld seems to be dead!\n", conn->connection_id);
Curl_conncache_remove_conn(conn, FALSE);
return TRUE;
@@ -1465,6 +1465,7 @@ ConnectionExists(struct Curl_easy *data,
if(chosen) {
/* mark it as used before releasing the lock */
chosen->inuse = TRUE;
+ chosen->data = data; /* own it! */
Curl_conncache_unlock(needle);
*usethis = chosen;
return TRUE; /* yes, we found one to use! */
@@ -1554,7 +1555,11 @@ int Curl_protocol_getsock(struct connectdata *conn,
{
if(conn->handler->proto_getsock)
return conn->handler->proto_getsock(conn, socks, numsocks);
- return GETSOCK_BLANK;
+ /* Backup getsock logic. Since there is a live socket in use, we must wait
+ for it or it will be removed from watching when the multi_socket API is
+ used. */
+ socks[0] = conn->sock[FIRSTSOCKET];
+ return GETSOCK_READSOCK(0) | GETSOCK_WRITESOCK(0);
}
int Curl_doing_getsock(struct connectdata *conn,
@@ -1999,7 +2004,6 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
char *fragment;
char *path = data->state.path;
char *query;
- int i;
int rc;
const char *protop = "";
CURLcode result;
@@ -2051,6 +2055,7 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
; /* do nothing */
}
else { /* check for a scheme */
+ int i;
for(i = 0; i < 16 && data->change.url[i]; ++i) {
if(data->change.url[i] == '/')
break;
@@ -2203,7 +2208,7 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
size_t s = strlen(slashbuf);
protop = protobuf;
if(s != 2) {
- infof(data, "Unwillingly accepted illegal URL using %d slash%s!\n",
+ infof(data, "Unwillingly accepted illegal URL using %zu slash%s!\n",
s, s>1?"es":"");
if(data->change.url_alloc)
@@ -2449,7 +2454,7 @@ static CURLcode setup_range(struct Curl_easy *data)
free(s->range);
if(s->resume_from)
- s->range = aprintf("%" CURL_FORMAT_CURL_OFF_TU "-", s->resume_from);
+ s->range = aprintf("%" CURL_FORMAT_CURL_OFF_T "-", s->resume_from);
else
s->range = strdup(data->set.str[STRING_SET_RANGE]);
@@ -2539,14 +2544,13 @@ static bool check_noproxy(const char *name, const char *no_proxy)
* not be proxied, or an asterisk to override
* all proxy variables)
*/
- size_t tok_start;
- size_t tok_end;
- const char *separator = ", ";
- size_t no_proxy_len;
- size_t namelen;
- char *endptr;
-
if(no_proxy && no_proxy[0]) {
+ size_t tok_start;
+ size_t tok_end;
+ const char *separator = ", ";
+ size_t no_proxy_len;
+ size_t namelen;
+ char *endptr;
if(strcasecompare("*", no_proxy)) {
return TRUE;
}
@@ -3166,6 +3170,13 @@ static CURLcode parse_url_login(struct Curl_easy *data,
if(userp) {
char *newname;
+ if(data->set.disallow_username_in_url) {
+ failf(data, "Option DISALLOW_USERNAME_IN_URL is set "
+ "and url contains username.");
+ result = CURLE_LOGIN_DENIED;
+ goto out;
+ }
+
/* We have a user in the URL */
conn->bits.userpwd_in_url = TRUE;
conn->bits.user_passwd = TRUE; /* enable user+password */
@@ -4297,7 +4308,9 @@ static CURLcode create_conn(struct Curl_easy *data,
conn->data = data;
conn->bits.tcpconnect[FIRSTSOCKET] = TRUE; /* we are "connected */
- Curl_conncache_add_conn(data->state.conn_cache, conn);
+ result = Curl_conncache_add_conn(data->state.conn_cache, conn);
+ if(result)
+ goto out;
/*
* Setup whatever necessary for a resumed transfer
@@ -4474,7 +4487,7 @@ static CURLcode create_conn(struct Curl_easy *data,
(void)Curl_disconnect(conn_candidate, /* dead_connection */ FALSE);
}
else {
- infof(data, "No more connections allowed to host: %d\n",
+ infof(data, "No more connections allowed to host: %zu\n",
max_host_connections);
connections_available = FALSE;
}
@@ -4520,7 +4533,9 @@ static CURLcode create_conn(struct Curl_easy *data,
* This is a brand new connection, so let's store it in the connection
* cache of ours!
*/
- Curl_conncache_add_conn(data->state.conn_cache, conn);
+ result = Curl_conncache_add_conn(data->state.conn_cache, conn);
+ if(result)
+ goto out;
}
#if defined(USE_NTLM)
@@ -4701,16 +4716,18 @@ CURLcode Curl_init_do(struct Curl_easy *data, struct connectdata *conn)
{
struct SingleRequest *k = &data->req;
- conn->bits.do_more = FALSE; /* by default there's no curl_do_more() to
- use */
+ if(conn) {
+ conn->bits.do_more = FALSE; /* by default there's no curl_do_more() to
+ use */
+ /* if the protocol used doesn't support wildcards, switch it off */
+ if(data->state.wildcardmatch &&
+ !(conn->handler->flags & PROTOPT_WILDCARD))
+ data->state.wildcardmatch = FALSE;
+ }
data->state.done = FALSE; /* *_done() is not called yet */
data->state.expect100header = FALSE;
- /* if the protocol used doesn't support wildcards, switch it off */
- if(data->state.wildcardmatch &&
- !(conn->handler->flags & PROTOPT_WILDCARD))
- data->state.wildcardmatch = FALSE;
if(data->set.opt_no_body)
/* in HTTP lingo, no body means using the HEAD request... */
diff --git a/lib/urldata.h b/lib/urldata.h
index 7fae00fd..666981c3 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -80,6 +80,7 @@
#define RESP_TIMEOUT (1800*1000)
#include "cookie.h"
+#include "psl.h"
#include "formdata.h"
#ifdef HAVE_NETINET_IN_H
@@ -226,6 +227,7 @@ struct ssl_primary_config {
char *random_file; /* path to file containing "random" data */
char *egdsocket; /* path to file containing the EGD daemon socket */
char *cipher_list; /* list of ciphers to use */
+ char *cipher_list13; /* list of TLS 1.3 cipher suites to use */
};
struct ssl_config_data {
@@ -1265,7 +1267,7 @@ struct UrlState {
void *resolver; /* resolver state, if it is used in the URL state -
ares_channel f.e. */
-#if defined(USE_OPENSSL) && defined(HAVE_OPENSSL_ENGINE_H)
+#if defined(USE_OPENSSL)
/* void instead of ENGINE to avoid bleeding OpenSSL into this header */
void *engine;
#endif /* USE_OPENSSL */
@@ -1346,7 +1348,7 @@ struct DynamicStatic {
char *url; /* work URL, copied from UserDefined */
bool url_alloc; /* URL string is malloc()'ed */
char *referer; /* referer string */
- bool referer_alloc; /* referer sting is malloc()ed */
+ bool referer_alloc; /* referer string is malloc()ed */
struct curl_slist *cookielist; /* list of cookie files set by
curl_easy_setopt(COOKIEFILE) calls */
struct curl_slist *resolve; /* set to point to the set.resolve list when
@@ -1400,6 +1402,8 @@ enum dupstring {
STRING_SSL_PINNEDPUBLICKEY_PROXY, /* public key file to verify proxy */
STRING_SSL_CIPHER_LIST_ORIG, /* list of ciphers to use */
STRING_SSL_CIPHER_LIST_PROXY, /* list of ciphers to use */
+ STRING_SSL_CIPHER13_LIST_ORIG, /* list of TLS 1.3 ciphers to use */
+ STRING_SSL_CIPHER13_LIST_PROXY, /* list of TLS 1.3 ciphers to use */
STRING_SSL_EGDSOCKET, /* path to file containing the EGD daemon socket */
STRING_SSL_RANDOM_FILE, /* path to file containing "random" data */
STRING_USERAGENT, /* User-Agent string */
@@ -1581,8 +1585,6 @@ struct UserDefined {
/* Here follows boolean settings that define how to behave during
this session. They are STATIC, set by libcurl users or at least initially
and they don't change during operations. */
-
- bool printhost; /* printing host name in debug info */
bool get_filetime; /* get the time and get of the remote file */
bool tunnel_thru_httpproxy; /* use CONNECT through a HTTP proxy */
bool prefer_ascii; /* ASCII rather than binary */
@@ -1676,7 +1678,7 @@ struct UserDefined {
bool stream_depends_e; /* set or don't set the Exclusive bit */
int stream_weight;
- bool haproxyprotocol; /* whether to send HAProxy PROXY protocol header */
+ bool haproxyprotocol; /* whether to send HAProxy PROXY protocol v1 header */
struct Curl_http2_dep *stream_dependents;
@@ -1685,6 +1687,7 @@ struct UserDefined {
curl_resolver_start_callback resolver_start; /* optional callback called
before resolver start */
void *resolver_start_client; /* pointer to pass to resolver start callback */
+ bool disallow_username_in_url; /* disallow username in url */
};
struct Names {
@@ -1736,6 +1739,9 @@ struct Curl_easy {
struct to which this "belongs" when used
by the easy interface */
struct Curl_share *share; /* Share, handles global variable mutexing */
+#ifdef USE_LIBPSL
+ struct PslCache *psl; /* The associated PSL cache. */
+#endif
struct SingleRequest req; /* Request-specific data */
struct UserDefined set; /* values set by the libcurl user */
struct DynamicStatic change; /* possibly modified userdefined data */
diff --git a/lib/vauth/digest.c b/lib/vauth/digest.c
index 131d9da8..cc6f1697 100644
--- a/lib/vauth/digest.c
+++ b/lib/vauth/digest.c
@@ -158,7 +158,7 @@ static void auth_digest_sha256_to_ascii(unsigned char *source, /* 32 bytes */
/* Perform quoted-string escaping as described in RFC2616 and its errata */
static char *auth_digest_string_quoted(const char *source)
{
- char *dest, *d;
+ char *dest;
const char *s = source;
size_t n = 1; /* null terminator */
@@ -173,8 +173,8 @@ static char *auth_digest_string_quoted(const char *source)
dest = malloc(n);
if(dest) {
+ char *d = dest;
s = source;
- d = dest;
while(*s) {
if(*s == '"' || *s == '\\') {
*d++ = '\\';
@@ -696,7 +696,6 @@ static CURLcode _Curl_auth_create_digest_http_message(
unsigned char ha1[65]; /* 64 digits and 1 zero byte */
unsigned char ha2[65]; /* 64 digits and 1 zero byte */
char userh[65];
- char cnoncebuf[33];
char *cnonce = NULL;
size_t cnonce_sz = 0;
char *userp_quoted;
@@ -707,6 +706,7 @@ static CURLcode _Curl_auth_create_digest_http_message(
digest->nc = 1;
if(!digest->cnonce) {
+ char cnoncebuf[33];
result = Curl_rand_hex(data, (unsigned char *)cnoncebuf,
sizeof(cnoncebuf));
if(result)
diff --git a/lib/version.c b/lib/version.c
index 5b0d05a1..05c2cd8b 100644
--- a/lib/version.c
+++ b/lib/version.c
@@ -445,7 +445,7 @@ curl_version_info_data *curl_version_info(CURLversion stamp)
#ifdef HAVE_BROTLI
version_info.brotli_ver_num = BrotliDecoderVersion();
- brotli_version(brotli_buffer, sizeof brotli_buffer);
+ brotli_version(brotli_buffer, sizeof(brotli_buffer));
version_info.brotli_version = brotli_buffer;
#endif
diff --git a/lib/vtls/axtls.c b/lib/vtls/axtls.c
index 5ed898b4..b262392a 100644
--- a/lib/vtls/axtls.c
+++ b/lib/vtls/axtls.c
@@ -29,6 +29,11 @@
#include "curl_setup.h"
#ifdef USE_AXTLS
+
+#error axTLS support has been disabled in curl due to doubts about quality,
+#error user dedication and a lack of use/testing. We urge users to consider
+#error using a more established TLS backend instead.
+
#include <axTLS/config.h>
#include <axTLS/ssl.h>
#include "axtls.h"
diff --git a/lib/vtls/cyassl.c b/lib/vtls/cyassl.c
index 20ce460e..0e940487 100644
--- a/lib/vtls/cyassl.c
+++ b/lib/vtls/cyassl.c
@@ -569,7 +569,7 @@ cyassl_connect_step2(struct connectdata *conn,
return CURLE_SSL_PINNEDPUBKEYNOTMATCH;
}
- memset(&x509_parsed, 0, sizeof x509_parsed);
+ memset(&x509_parsed, 0, sizeof(x509_parsed));
if(Curl_parseX509(&x509_parsed, x509_der, x509_der + x509_der_len))
return CURLE_SSL_PINNEDPUBKEYNOTMATCH;
diff --git a/lib/vtls/darwinssl.c b/lib/vtls/darwinssl.c
index 45fe49d8..f29b5aca 100644
--- a/lib/vtls/darwinssl.c
+++ b/lib/vtls/darwinssl.c
@@ -1252,14 +1252,13 @@ static CURLcode darwinssl_version_from_curl(SSLProtocol *darwinver,
return CURLE_OK;
case CURL_SSLVERSION_TLSv1_3:
/* TLS 1.3 support first appeared in iOS 11 and macOS 10.13 */
-#if CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11
- /* We can assume __builtin_available() will always work in the
- 10.13/11.0 SDK: */
+#if (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) && HAVE_BUILTIN_AVAILABLE == 1
if(__builtin_available(macOS 10.13, iOS 11.0, *)) {
*darwinver = kTLSProtocol13;
return CURLE_OK;
}
-#endif /* CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11 */
+#endif /* (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) &&
+ HAVE_BUILTIN_AVAILABLE == 1 */
break;
}
return CURLE_SSL_CONNECT_ERROR;
@@ -1278,7 +1277,7 @@ set_ssl_version_min_max(struct connectdata *conn, int sockindex)
/* macOS 10.5-10.7 supported TLS 1.0 only.
macOS 10.8 and later, and iOS 5 and later, added TLS 1.1 and 1.2.
macOS 10.13 and later, and iOS 11 and later, added TLS 1.3. */
-#if CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11
+#if (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) && HAVE_BUILTIN_AVAILABLE == 1
if(__builtin_available(macOS 10.13, iOS 11.0, *)) {
max_supported_version_by_os = CURL_SSLVERSION_MAX_TLSv1_3;
}
@@ -1287,7 +1286,8 @@ set_ssl_version_min_max(struct connectdata *conn, int sockindex)
}
#else
max_supported_version_by_os = CURL_SSLVERSION_MAX_TLSv1_2;
-#endif /* CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11 */
+#endif /* (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) &&
+ HAVE_BUILTIN_AVAILABLE == 1 */
switch(ssl_version) {
case CURL_SSLVERSION_DEFAULT:
@@ -1430,7 +1430,7 @@ static CURLcode darwinssl_connect_step1(struct connectdata *conn,
case CURL_SSLVERSION_DEFAULT:
case CURL_SSLVERSION_TLSv1:
(void)SSLSetProtocolVersionMin(BACKEND->ssl_ctx, kTLSProtocol1);
-#if CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11
+#if (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) && HAVE_BUILTIN_AVAILABLE == 1
if(__builtin_available(macOS 10.13, iOS 11.0, *)) {
(void)SSLSetProtocolVersionMax(BACKEND->ssl_ctx, kTLSProtocol13);
}
@@ -1439,7 +1439,8 @@ static CURLcode darwinssl_connect_step1(struct connectdata *conn,
}
#else
(void)SSLSetProtocolVersionMax(BACKEND->ssl_ctx, kTLSProtocol12);
-#endif /* CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11 */
+#endif /* (CURL_BUILD_MAC_10_13 || CURL_BUILD_IOS_11) &&
+ HAVE_BUILTIN_AVAILABLE == 1 */
break;
case CURL_SSLVERSION_TLSv1_0:
case CURL_SSLVERSION_TLSv1_1:
diff --git a/lib/vtls/gskit.c b/lib/vtls/gskit.c
index b0856cdf..a0b49601 100644
--- a/lib/vtls/gskit.c
+++ b/lib/vtls/gskit.c
@@ -328,7 +328,7 @@ static CURLcode set_ciphers(struct connectdata *conn,
GSKit tokens are always shorter than their cipher names, allocated buffers
will always be large enough to accommodate the result. */
l = strlen(cipherlist) + 1;
- memset((char *) ciphers, 0, sizeof ciphers);
+ memset((char *) ciphers, 0, sizeof(ciphers));
for(i = 0; i < CURL_GSKPROTO_LAST; i++) {
ciphers[i].buf = malloc(l);
if(!ciphers[i].buf) {
@@ -536,18 +536,18 @@ inetsocketpair(int sv[2])
lfd = socket(AF_INET, SOCK_STREAM, 0);
if(lfd < 0)
return -1;
- memset((char *) &addr1, 0, sizeof addr1);
+ memset((char *) &addr1, 0, sizeof(addr1));
addr1.sin_family = AF_INET;
addr1.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
addr1.sin_port = 0;
- if(bind(lfd, (struct sockaddr *) &addr1, sizeof addr1) ||
+ if(bind(lfd, (struct sockaddr *) &addr1, sizeof(addr1)) ||
listen(lfd, 2) < 0) {
close(lfd);
return -1;
}
/* Get the allocated port. */
- len = sizeof addr1;
+ len = sizeof(addr1);
if(getsockname(lfd, (struct sockaddr *) &addr1, &len) < 0) {
close(lfd);
return -1;
@@ -562,7 +562,7 @@ inetsocketpair(int sv[2])
/* Request unblocking connection to the listening socket. */
curlx_nonblock(cfd, TRUE);
- if(connect(cfd, (struct sockaddr *) &addr1, sizeof addr1) < 0 &&
+ if(connect(cfd, (struct sockaddr *) &addr1, sizeof(addr1)) < 0 &&
errno != EINPROGRESS) {
close(lfd);
close(cfd);
@@ -570,7 +570,7 @@ inetsocketpair(int sv[2])
}
/* Get the client dynamic port for intrusion check below. */
- len = sizeof addr2;
+ len = sizeof(addr2);
if(getsockname(cfd, (struct sockaddr *) &addr2, &len) < 0) {
close(lfd);
close(cfd);
@@ -580,7 +580,7 @@ inetsocketpair(int sv[2])
/* Accept the incoming connection and get the server socket. */
curlx_nonblock(lfd, TRUE);
for(;;) {
- len = sizeof addr1;
+ len = sizeof(addr1);
sfd = accept(lfd, (struct sockaddr *) &addr1, &len);
if(sfd < 0) {
close(lfd);
@@ -644,7 +644,7 @@ static int pipe_ssloverssl(struct connectdata *conn, int sockindex,
/* Try getting data from HTTPS proxy and pipe it upstream. */
n = 0;
i = gsk_secure_soc_read(connproxyssl->backend->handle,
- buf, sizeof buf, &n);
+ buf, sizeof(buf), &n);
switch(i) {
case GSK_OK:
if(n) {
@@ -665,7 +665,7 @@ static int pipe_ssloverssl(struct connectdata *conn, int sockindex,
if(FD_ISSET(BACKEND->remotefd, &fds_read) &&
FD_ISSET(conn->sock[sockindex], &fds_write)) {
/* Pipe data to HTTPS proxy. */
- n = read(BACKEND->remotefd, buf, sizeof buf);
+ n = read(BACKEND->remotefd, buf, sizeof(buf));
if(n < 0)
return -1;
if(n) {
@@ -864,13 +864,13 @@ static CURLcode gskit_connect_step1(struct connectdata *conn, int sockindex)
BACKEND->localfd = sockpair[0];
BACKEND->remotefd = sockpair[1];
setsockopt(BACKEND->localfd, SOL_SOCKET, SO_RCVBUF,
- (void *) sobufsize, sizeof sobufsize);
+ (void *) sobufsize, sizeof(sobufsize));
setsockopt(BACKEND->remotefd, SOL_SOCKET, SO_RCVBUF,
- (void *) sobufsize, sizeof sobufsize);
+ (void *) sobufsize, sizeof(sobufsize));
setsockopt(BACKEND->localfd, SOL_SOCKET, SO_SNDBUF,
- (void *) sobufsize, sizeof sobufsize);
+ (void *) sobufsize, sizeof(sobufsize));
setsockopt(BACKEND->remotefd, SOL_SOCKET, SO_SNDBUF,
- (void *) sobufsize, sizeof sobufsize);
+ (void *) sobufsize, sizeof(sobufsize));
curlx_nonblock(BACKEND->localfd, TRUE);
curlx_nonblock(BACKEND->remotefd, TRUE);
}
@@ -977,7 +977,7 @@ static CURLcode gskit_connect_step1(struct connectdata *conn, int sockindex)
if(!result) {
/* Start handshake. Try asynchronous first. */
- memset(&commarea, 0, sizeof commarea);
+ memset(&commarea, 0, sizeof(commarea));
BACKEND->iocport = QsoCreateIOCompletionPort();
if(BACKEND->iocport != -1) {
result = gskit_status(data,
@@ -1333,11 +1333,11 @@ static int Curl_gskit_check_cxn(struct connectdata *cxn)
return 0; /* connection has been closed */
err = 0;
- errlen = sizeof err;
+ errlen = sizeof(err);
if(getsockopt(cxn->sock[FIRSTSOCKET], SOL_SOCKET, SO_ERROR,
(unsigned char *) &err, &errlen) ||
- errlen != sizeof err || err)
+ errlen != sizeof(err) || err)
return 0; /* connection has been closed */
return -1; /* connection status unknown */
diff --git a/lib/vtls/nss.c b/lib/vtls/nss.c
index 7cd450cd..89f81839 100644
--- a/lib/vtls/nss.c
+++ b/lib/vtls/nss.c
@@ -394,7 +394,7 @@ static PK11SlotInfo* nss_find_slot_by_name(const char *slot_name)
/* wrap 'ptr' as list node and tail-insert into 'list' */
static CURLcode insert_wrapped_ptr(struct curl_llist *list, void *ptr)
{
- struct ptr_list_wrap *wrap = malloc(sizeof *wrap);
+ struct ptr_list_wrap *wrap = malloc(sizeof(*wrap));
if(!wrap)
return CURLE_OUT_OF_MEMORY;
@@ -914,11 +914,11 @@ static CURLcode display_conn_info(struct connectdata *conn, PRFileDesc *sock)
PRTime now;
int i;
- if(SSL_GetChannelInfo(sock, &channel, sizeof channel) ==
- SECSuccess && channel.length == sizeof channel &&
+ if(SSL_GetChannelInfo(sock, &channel, sizeof(channel)) ==
+ SECSuccess && channel.length == sizeof(channel) &&
channel.cipherSuite) {
if(SSL_GetCipherSuiteInfo(channel.cipherSuite,
- &suite, sizeof suite) == SECSuccess) {
+ &suite, sizeof(suite)) == SECSuccess) {
infof(conn->data, "SSL connection using %s\n", suite.cipherSuiteName);
}
}
@@ -1345,7 +1345,8 @@ static CURLcode nss_init(struct Curl_easy *data)
return CURLE_OUT_OF_MEMORY;
/* the default methods just call down to the lower I/O layer */
- memcpy(&nspr_io_methods, PR_GetDefaultIOMethods(), sizeof nspr_io_methods);
+ memcpy(&nspr_io_methods, PR_GetDefaultIOMethods(),
+ sizeof(nspr_io_methods));
/* override certain methods in the table by our wrappers */
nspr_io_methods.recv = nspr_io_recv;
diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
index f6a4bd3f..0b1929bd 100644
--- a/lib/vtls/openssl.c
+++ b/lib/vtls/openssl.c
@@ -50,9 +50,6 @@
#include "hostcheck.h"
#include "curl_printf.h"
#include <openssl/ssl.h>
-#ifdef HAVE_OPENSSL_ENGINE_H
-#include <openssl/engine.h>
-#endif
#include <openssl/rand.h>
#include <openssl/x509v3.h>
#ifndef OPENSSL_NO_DSA
@@ -72,6 +69,12 @@
#include <openssl/ocsp.h>
#endif
+#if (OPENSSL_VERSION_NUMBER >= 0x10001000L) && /* 1.0.1 or later */ \
+ !defined(OPENSSL_NO_ENGINE)
+#define USE_OPENSSL_ENGINE
+#include <openssl/engine.h>
+#endif
+
#include "warnless.h"
#include "non-ascii.h" /* for Curl_convert_from_utf8 prototype */
@@ -83,7 +86,7 @@
#error "OPENSSL_VERSION_NUMBER not defined"
#endif
-#if defined(HAVE_OPENSSL_ENGINE_H)
+#ifdef USE_OPENSSL_ENGINE
#include <openssl/ui.h>
#endif
@@ -166,6 +169,17 @@ static unsigned long OpenSSL_version_num(void)
#define HAVE_KEYLOG_CALLBACK
#endif
+/* Whether SSL_CTX_set_ciphersuites is available.
+ * OpenSSL: supported since 1.1.1 (commit a53b5be6a05)
+ * BoringSSL: no
+ * LibreSSL: no
+ */
+#if ((OPENSSL_VERSION_NUMBER >= 0x10101000L) && \
+ !defined(LIBRESSL_VERSION_NUMBER) && \
+ !defined(OPENSSL_IS_BORINGSSL))
+#define HAVE_SSL_CTX_SET_CIPHERSUITES
+#endif
+
#if defined(LIBRESSL_VERSION_NUMBER)
#define OSSL_PACKAGE "LibreSSL"
#elif defined(OPENSSL_IS_BORINGSSL)
@@ -504,7 +518,7 @@ static int do_file_type(const char *type)
return -1;
}
-#if defined(HAVE_OPENSSL_ENGINE_H)
+#ifdef USE_OPENSSL_ENGINE
/*
* Supply default password to the engine user interface conversation.
* The password is passed by OpenSSL engine from ENGINE_load_private_key()
@@ -606,7 +620,7 @@ int cert_stuff(struct connectdata *conn,
}
break;
case SSL_FILETYPE_ENGINE:
-#if defined(HAVE_OPENSSL_ENGINE_H) && defined(ENGINE_CTRL_GET_CMD_FROM_NAME)
+#if defined(USE_OPENSSL_ENGINE) && defined(ENGINE_CTRL_GET_CMD_FROM_NAME)
{
if(data->state.engine) {
const char *cmd_name = "LOAD_CERT_CTRL";
@@ -781,7 +795,7 @@ int cert_stuff(struct connectdata *conn,
}
break;
case SSL_FILETYPE_ENGINE:
-#ifdef HAVE_OPENSSL_ENGINE_H
+#ifdef USE_OPENSSL_ENGINE
{ /* XXXX still needs some work */
EVP_PKEY *priv_key = NULL;
if(data->state.engine) {
@@ -1088,7 +1102,7 @@ static int Curl_ossl_check_cxn(struct connectdata *conn)
static CURLcode Curl_ossl_set_engine(struct Curl_easy *data,
const char *engine)
{
-#if defined(USE_OPENSSL) && defined(HAVE_OPENSSL_ENGINE_H)
+#ifdef USE_OPENSSL_ENGINE
ENGINE *e;
#if OPENSSL_VERSION_NUMBER >= 0x00909000L
@@ -1133,7 +1147,7 @@ static CURLcode Curl_ossl_set_engine(struct Curl_easy *data,
*/
static CURLcode Curl_ossl_set_engine_default(struct Curl_easy *data)
{
-#ifdef HAVE_OPENSSL_ENGINE_H
+#ifdef USE_OPENSSL_ENGINE
if(data->state.engine) {
if(ENGINE_set_default(data->state.engine, ENGINE_METHOD_ALL) > 0) {
infof(data, "set default crypto engine '%s'\n",
@@ -1156,7 +1170,7 @@ static CURLcode Curl_ossl_set_engine_default(struct Curl_easy *data)
static struct curl_slist *Curl_ossl_engines_list(struct Curl_easy *data)
{
struct curl_slist *list = NULL;
-#if defined(USE_OPENSSL) && defined(HAVE_OPENSSL_ENGINE_H)
+#ifdef USE_OPENSSL_ENGINE
struct curl_slist *beg;
ENGINE *e;
@@ -1312,7 +1326,7 @@ static void Curl_ossl_session_free(void *ptr)
*/
static void Curl_ossl_close_all(struct Curl_easy *data)
{
-#ifdef HAVE_OPENSSL_ENGINE_H
+#ifdef USE_OPENSSL_ENGINE
if(data->state.engine) {
ENGINE_finish(data->state.engine);
ENGINE_free(data->state.engine);
@@ -1931,12 +1945,12 @@ static void ssl_tls_trace(int direction, int ssl_ver, int content_type,
verstr, direction?"OUT":"IN",
tls_rt_name, msg_name, msg_type);
if(0 <= txt_len && (unsigned)txt_len < sizeof(ssl_buf)) {
- Curl_debug(data, CURLINFO_TEXT, ssl_buf, (size_t)txt_len, NULL);
+ Curl_debug(data, CURLINFO_TEXT, ssl_buf, (size_t)txt_len);
}
}
Curl_debug(data, (direction == 1) ? CURLINFO_SSL_DATA_OUT :
- CURLINFO_SSL_DATA_IN, (char *)buf, len, NULL);
+ CURLINFO_SSL_DATA_IN, (char *)buf, len);
(void) ssl;
}
#endif
@@ -2064,10 +2078,6 @@ set_ssl_version_min_max(long *ctx_options, struct connectdata *conn,
long ssl_version = SSL_CONN_CONFIG(version);
long ssl_version_max = SSL_CONN_CONFIG(version_max);
- if(ssl_version_max == CURL_SSLVERSION_MAX_NONE) {
- ssl_version_max = ssl_version << 16;
- }
-
switch(ssl_version) {
case CURL_SSLVERSION_TLSv1_3:
#ifdef TLS1_3_VERSION
@@ -2099,8 +2109,7 @@ set_ssl_version_min_max(long *ctx_options, struct connectdata *conn,
#endif
/* FALLTHROUGH */
case CURL_SSLVERSION_TLSv1_0:
- *ctx_options |= SSL_OP_NO_SSLv2;
- *ctx_options |= SSL_OP_NO_SSLv3;
+ case CURL_SSLVERSION_TLSv1:
break;
}
@@ -2116,12 +2125,12 @@ set_ssl_version_min_max(long *ctx_options, struct connectdata *conn,
#endif
/* FALLTHROUGH */
case CURL_SSLVERSION_MAX_TLSv1_2:
- case CURL_SSLVERSION_MAX_DEFAULT:
#ifdef TLS1_3_VERSION
*ctx_options |= SSL_OP_NO_TLSv1_3;
#endif
break;
case CURL_SSLVERSION_MAX_TLSv1_3:
+ case CURL_SSLVERSION_MAX_DEFAULT:
#ifdef TLS1_3_VERSION
break;
#else
@@ -2305,11 +2314,6 @@ static CURLcode ossl_connect_step1(struct connectdata *conn, int sockindex)
switch(ssl_version) {
case CURL_SSLVERSION_SSLv3:
-#ifdef USE_TLS_SRP
- if(ssl_authtype == CURL_TLSAUTH_SRP) {
- infof(data, "Set version TLSv1.x for SRP authorisation\n");
- }
-#endif
ctx_options |= SSL_OP_NO_SSLv2;
ctx_options |= SSL_OP_NO_TLSv1;
#if OPENSSL_VERSION_NUMBER >= 0x1000100FL
@@ -2323,21 +2327,20 @@ static CURLcode ossl_connect_step1(struct connectdata *conn, int sockindex)
case CURL_SSLVERSION_DEFAULT:
case CURL_SSLVERSION_TLSv1:
- ctx_options |= SSL_OP_NO_SSLv2;
- ctx_options |= SSL_OP_NO_SSLv3;
- break;
-
case CURL_SSLVERSION_TLSv1_0:
case CURL_SSLVERSION_TLSv1_1:
case CURL_SSLVERSION_TLSv1_2:
case CURL_SSLVERSION_TLSv1_3:
+ /* asking for any TLS version as the minimum, means no SSL versions
+ allowed */
+ ctx_options |= SSL_OP_NO_SSLv2;
+ ctx_options |= SSL_OP_NO_SSLv3;
result = set_ssl_version_min_max(&ctx_options, conn, sockindex);
if(result != CURLE_OK)
return result;
break;
case CURL_SSLVERSION_SSLv2:
-#ifndef OPENSSL_NO_SSL2
ctx_options |= SSL_OP_NO_SSLv3;
ctx_options |= SSL_OP_NO_TLSv1;
#if OPENSSL_VERSION_NUMBER >= 0x1000100FL
@@ -2348,10 +2351,6 @@ static CURLcode ossl_connect_step1(struct connectdata *conn, int sockindex)
#endif
#endif
break;
-#else
- failf(data, OSSL_PACKAGE " was built without SSLv2 support");
- return CURLE_NOT_BUILT_IN;
-#endif
default:
failf(data, "Unrecognized parameter passed via CURLOPT_SSLVERSION");
@@ -2414,6 +2413,19 @@ static CURLcode ossl_connect_step1(struct connectdata *conn, int sockindex)
infof(data, "Cipher selection: %s\n", ciphers);
}
+#ifdef HAVE_SSL_CTX_SET_CIPHERSUITES
+ {
+ char *ciphers13 = SSL_CONN_CONFIG(cipher_list13);
+ if(ciphers13) {
+ if(!SSL_CTX_set_ciphersuites(BACKEND->ctx, ciphers13)) {
+ failf(data, "failed setting TLS 1.3 cipher suite: %s", ciphers);
+ return CURLE_SSL_CIPHER;
+ }
+ infof(data, "TLS 1.3 cipher selection: %s\n", ciphers13);
+ }
+ }
+#endif
+
#ifdef USE_TLS_SRP
if(ssl_authtype == CURL_TLSAUTH_SRP) {
char * const ssl_username = SSL_SET_OPTION(username);
diff --git a/lib/vtls/schannel.c b/lib/vtls/schannel.c
index 2cfd5c19..382efb52 100644
--- a/lib/vtls/schannel.c
+++ b/lib/vtls/schannel.c
@@ -90,11 +90,17 @@
#endif
#endif
+#if defined(CryptStringToBinary) && defined(CRYPT_STRING_HEX)
+#define HAS_CLIENT_CERT_PATH
+#endif
+
+#ifdef HAS_CLIENT_CERT_PATH
#ifdef UNICODE
#define CURL_CERT_STORE_PROV_SYSTEM CERT_STORE_PROV_SYSTEM_W
#else
#define CURL_CERT_STORE_PROV_SYSTEM CERT_STORE_PROV_SYSTEM_A
#endif
+#endif
#ifndef SP_PROT_SSL2_CLIENT
#define SP_PROT_SSL2_CLIENT 0x00000008
@@ -199,6 +205,147 @@ set_ssl_version_min_max(SCHANNEL_CRED *schannel_cred, struct connectdata *conn)
return CURLE_OK;
}
+/*longest is 26, buffer is slightly bigger*/
+#define LONGEST_ALG_ID 32
+#define CIPHEROPTION(X) \
+if(strcmp(#X, tmp) == 0) \
+ return X
+
+static int
+get_alg_id_by_name(char *name)
+{
+ char tmp[LONGEST_ALG_ID] = { 0 };
+ char *nameEnd = strchr(name, ':');
+ size_t n = nameEnd ? min((size_t)(nameEnd - name), LONGEST_ALG_ID - 1) : \
+ min(strlen(name), LONGEST_ALG_ID - 1);
+ strncpy(tmp, name, n);
+ tmp[n] = 0;
+ CIPHEROPTION(CALG_MD2);
+ CIPHEROPTION(CALG_MD4);
+ CIPHEROPTION(CALG_MD5);
+ CIPHEROPTION(CALG_SHA);
+ CIPHEROPTION(CALG_SHA1);
+ CIPHEROPTION(CALG_MAC);
+ CIPHEROPTION(CALG_RSA_SIGN);
+ CIPHEROPTION(CALG_DSS_SIGN);
+/*ifdefs for the options that are defined conditionally in wincrypt.h*/
+#ifdef CALG_NO_SIGN
+ CIPHEROPTION(CALG_NO_SIGN);
+#endif
+ CIPHEROPTION(CALG_RSA_KEYX);
+ CIPHEROPTION(CALG_DES);
+#ifdef CALG_3DES_112
+ CIPHEROPTION(CALG_3DES_112);
+#endif
+ CIPHEROPTION(CALG_3DES);
+ CIPHEROPTION(CALG_DESX);
+ CIPHEROPTION(CALG_RC2);
+ CIPHEROPTION(CALG_RC4);
+ CIPHEROPTION(CALG_SEAL);
+#ifdef CALG_DH_SF
+ CIPHEROPTION(CALG_DH_SF);
+#endif
+ CIPHEROPTION(CALG_DH_EPHEM);
+#ifdef CALG_AGREEDKEY_ANY
+ CIPHEROPTION(CALG_AGREEDKEY_ANY);
+#endif
+#ifdef CALG_HUGHES_MD5
+ CIPHEROPTION(CALG_HUGHES_MD5);
+#endif
+ CIPHEROPTION(CALG_SKIPJACK);
+#ifdef CALG_TEK
+ CIPHEROPTION(CALG_TEK);
+#endif
+ CIPHEROPTION(CALG_CYLINK_MEK);
+ CIPHEROPTION(CALG_SSL3_SHAMD5);
+#ifdef CALG_SSL3_MASTER
+ CIPHEROPTION(CALG_SSL3_MASTER);
+#endif
+#ifdef CALG_SCHANNEL_MASTER_HASH
+ CIPHEROPTION(CALG_SCHANNEL_MASTER_HASH);
+#endif
+#ifdef CALG_SCHANNEL_MAC_KEY
+ CIPHEROPTION(CALG_SCHANNEL_MAC_KEY);
+#endif
+#ifdef CALG_SCHANNEL_ENC_KEY
+ CIPHEROPTION(CALG_SCHANNEL_ENC_KEY);
+#endif
+#ifdef CALG_PCT1_MASTER
+ CIPHEROPTION(CALG_PCT1_MASTER);
+#endif
+#ifdef CALG_SSL2_MASTER
+ CIPHEROPTION(CALG_SSL2_MASTER);
+#endif
+#ifdef CALG_TLS1_MASTER
+ CIPHEROPTION(CALG_TLS1_MASTER);
+#endif
+#ifdef CALG_RC5
+ CIPHEROPTION(CALG_RC5);
+#endif
+#ifdef CALG_HMAC
+ CIPHEROPTION(CALG_HMAC);
+#endif
+ CIPHEROPTION(CALG_TLS1PRF);
+#ifdef CALG_HASH_REPLACE_OWF
+ CIPHEROPTION(CALG_HASH_REPLACE_OWF);
+#endif
+#ifdef CALG_AES_128
+ CIPHEROPTION(CALG_AES_128);
+#endif
+#ifdef CALG_AES_192
+ CIPHEROPTION(CALG_AES_192);
+#endif
+#ifdef CALG_AES_256
+ CIPHEROPTION(CALG_AES_256);
+#endif
+#ifdef CALG_AES
+ CIPHEROPTION(CALG_AES);
+#endif
+#ifdef CALG_SHA_256
+ CIPHEROPTION(CALG_SHA_256);
+#endif
+#ifdef CALG_SHA_384
+ CIPHEROPTION(CALG_SHA_384);
+#endif
+#ifdef CALG_SHA_512
+ CIPHEROPTION(CALG_SHA_512);
+#endif
+#ifdef CALG_ECDH
+ CIPHEROPTION(CALG_ECDH);
+#endif
+#ifdef CALG_ECMQV
+ CIPHEROPTION(CALG_ECMQV);
+#endif
+#ifdef CALG_ECDSA
+ CIPHEROPTION(CALG_ECDSA);
+#endif
+ return 0;
+}
+
+static CURLcode
+set_ssl_ciphers(SCHANNEL_CRED *schannel_cred, char *ciphers)
+{
+ char *startCur = ciphers;
+ int algCount = 0;
+ static ALG_ID algIds[45]; /*There are 45 listed in the MS headers*/
+ while(startCur && (0 != *startCur) && (algCount < 45)) {
+ long alg = strtol(startCur, 0, 0);
+ if(!alg)
+ alg = get_alg_id_by_name(startCur);
+ if(alg)
+ algIds[algCount++] = alg;
+ else
+ return CURLE_SSL_CIPHER;
+ startCur = strchr(startCur, ':');
+ if(startCur)
+ startCur++;
+ }
+ schannel_cred->palgSupportedAlgs = algIds;
+ schannel_cred->cSupportedAlgs = algCount;
+ return CURLE_OK;
+}
+
+#ifdef HAS_CLIENT_CERT_PATH
static CURLcode
get_cert_location(TCHAR *path, DWORD *store_name, TCHAR **store_path,
TCHAR **thumbprint)
@@ -248,6 +395,7 @@ get_cert_location(TCHAR *path, DWORD *store_name, TCHAR **store_path,
return CURLE_OK;
}
+#endif
static CURLcode
schannel_connect_step1(struct connectdata *conn, int sockindex)
@@ -299,10 +447,15 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
#endif
#ifdef _WIN32_WCE
+#ifdef HAS_MANUAL_VERIFY_API
/* certificate validation on CE doesn't seem to work right; we'll
* do it following a more manual process. */
BACKEND->use_manual_cred_validation = true;
#else
+#error "compiler too old to support requisite manual cert verify for Win CE"
+#endif
+#else
+#ifdef HAS_MANUAL_VERIFY_API
if(SSL_CONN_CONFIG(CAfile)) {
if(Curl_verify_windows_version(6, 1, PLATFORM_WINNT,
VERSION_GREATER_THAN_EQUAL)) {
@@ -316,6 +469,12 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
}
else
BACKEND->use_manual_cred_validation = false;
+#else
+ if(SSL_CONN_CONFIG(CAfile)) {
+ failf(data, "schannel: CA cert support not built in");
+ return CURLE_NOT_BUILT_IN;
+ }
+#endif
#endif
BACKEND->cred = NULL;
@@ -341,9 +500,11 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
schannel_cred.dwVersion = SCHANNEL_CRED_VERSION;
if(conn->ssl_config.verifypeer) {
+#ifdef HAS_MANUAL_VERIFY_API
if(BACKEND->use_manual_cred_validation)
schannel_cred.dwFlags = SCH_CRED_MANUAL_CRED_VALIDATION;
else
+#endif
schannel_cred.dwFlags = SCH_CRED_AUTO_CRED_VALIDATION;
/* TODO s/data->set.ssl.no_revoke/SSL_SET_OPTION(no_revoke)/g */
@@ -401,6 +562,16 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
return CURLE_SSL_CONNECT_ERROR;
}
+ if(SSL_CONN_CONFIG(cipher_list)) {
+ result = set_ssl_ciphers(&schannel_cred, SSL_CONN_CONFIG(cipher_list));
+ if(CURLE_OK != result) {
+ failf(data, "Unable to set ciphers to passed via SSL_CONN_CONFIG");
+ return result;
+ }
+ }
+
+
+#ifdef HAS_CLIENT_CERT_PATH
/* client certificate */
if(data->set.ssl.cert) {
DWORD cert_store_name;
@@ -417,6 +588,8 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
result = get_cert_location(cert_path, &cert_store_name,
&cert_store_path, &cert_thumbprint_str);
if(result != CURLE_OK) {
+ failf(data, "schannel: Failed to get certificate location for %s",
+ cert_path);
Curl_unicodefree(cert_path);
return result;
}
@@ -425,6 +598,8 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
(HCRYPTPROV)NULL,
cert_store_name, cert_store_path);
if(!cert_store) {
+ failf(data, "schannel: Failed to open cert store %s %s",
+ cert_store_name, cert_store_path);
Curl_unicodefree(cert_path);
return CURLE_SSL_CONNECT_ERROR;
}
@@ -453,6 +628,12 @@ schannel_connect_step1(struct connectdata *conn, int sockindex)
CertCloseStore(cert_store, 0);
}
+#else
+ if(data->set.ssl.cert) {
+ failf(data, "schannel: client cert support not built in");
+ return CURLE_NOT_BUILT_IN;
+ }
+#endif
/* allocate memory for the re-usable credential handle */
BACKEND->cred = (struct curl_schannel_cred *)
@@ -877,9 +1058,11 @@ schannel_connect_step2(struct connectdata *conn, int sockindex)
}
}
+#ifdef HAS_MANUAL_VERIFY_API
if(conn->ssl_config.verifypeer && BACKEND->use_manual_cred_validation) {
return verify_certificate(conn, sockindex);
}
+#endif
return CURLE_OK;
}
@@ -1819,7 +2002,7 @@ static CURLcode pkp_pin_peer_pubkey(struct connectdata *conn, int sockindex,
x509_der = (const char *)pCertContextServer->pbCertEncoded;
x509_der_len = pCertContextServer->cbCertEncoded;
- memset(&x509_parsed, 0, sizeof x509_parsed);
+ memset(&x509_parsed, 0, sizeof(x509_parsed));
if(Curl_parseX509(&x509_parsed, x509_der, x509_der + x509_der_len))
break;
@@ -1870,7 +2053,8 @@ static void Curl_schannel_checksum(const unsigned char *input,
if(!CryptCreateHash(hProv, algId, 0, 0, &hHash))
break; /* failed */
- if(!CryptHashData(hHash, (const BYTE*)input, (DWORD)inputlen, 0))
+ /* workaround for original MinGW, should be (const BYTE*) */
+ if(!CryptHashData(hHash, (BYTE*)input, (DWORD)inputlen, 0))
break; /* failed */
/* get hash size */
diff --git a/lib/vtls/schannel.h b/lib/vtls/schannel.h
index 44769002..51417aff 100644
--- a/lib/vtls/schannel.h
+++ b/lib/vtls/schannel.h
@@ -32,12 +32,44 @@
#include "urldata.h"
+/* <wincrypt.h> has been included via the above <schnlsp.h>.
+ * Or in case of ldap.c, it was included via <winldap.h>.
+ * And since <wincrypt.h> has this:
+ * #define X509_NAME ((LPCSTR) 7)
+ *
+ * And in BoringSSL's <openssl/base.h> there is:
+ * typedef struct X509_name_st X509_NAME;
+ * etc.
+ *
+ * this wil cause all kinds of C-preprocessing paste errors in
+ * BoringSSL's <openssl/x509.h>: So just undefine those defines here
+ * (and only here).
+ */
+#if defined(HAVE_BORINGSSL) || defined(OPENSSL_IS_BORINGSSL)
+# undef X509_NAME
+# undef X509_CERT_PAIR
+# undef X509_EXTENSIONS
+#endif
+
extern const struct Curl_ssl Curl_ssl_schannel;
CURLcode verify_certificate(struct connectdata *conn, int sockindex);
/* structs to expose only in schannel.c and schannel_verify.c */
#ifdef EXPOSE_SCHANNEL_INTERNAL_STRUCTS
+
+#ifdef __MINGW32__
+#include <_mingw.h>
+#ifdef __MINGW64_VERSION_MAJOR
+#define HAS_MANUAL_VERIFY_API
+#endif
+#else
+#include <wincrypt.h>
+#ifdef CERT_CHAIN_REVOCATION_CHECK_CHAIN
+#define HAS_MANUAL_VERIFY_API
+#endif
+#endif
+
struct curl_schannel_cred {
CredHandle cred_handle;
TimeStamp time_stamp;
@@ -66,7 +98,9 @@ struct ssl_backend_data {
bool recv_sspi_close_notify; /* true if connection closed by close_notify */
bool recv_connection_closed; /* true if connection closed, regardless how */
bool use_alpn; /* true if ALPN is used for this connection */
+#ifdef HAS_MANUAL_VERIFY_API
bool use_manual_cred_validation; /* true if manual cred validation is used */
+#endif
};
#endif /* EXPOSE_SCHANNEL_INTERNAL_STRUCTS */
diff --git a/lib/vtls/schannel_verify.c b/lib/vtls/schannel_verify.c
index db187dd6..5a7092a2 100644
--- a/lib/vtls/schannel_verify.c
+++ b/lib/vtls/schannel_verify.c
@@ -30,14 +30,15 @@
#include "curl_setup.h"
#ifdef USE_SCHANNEL
-
-#define EXPOSE_SCHANNEL_INTERNAL_STRUCTS
-
#ifndef USE_WINDOWS_SSPI
# error "Can't compile SCHANNEL support without SSPI."
#endif
+#define EXPOSE_SCHANNEL_INTERNAL_STRUCTS
#include "schannel.h"
+
+#ifdef HAS_MANUAL_VERIFY_API
+
#include "vtls.h"
#include "sendf.h"
#include "strerror.h"
@@ -53,7 +54,7 @@
#define BACKEND connssl->backend
#define MAX_CAFILE_SIZE 1048576 /* 1 MiB */
-#define BEGIN_CERT "-----BEGIN CERTIFICATE-----\n"
+#define BEGIN_CERT "-----BEGIN CERTIFICATE-----"
#define END_CERT "\n-----END CERTIFICATE-----"
typedef struct {
@@ -71,6 +72,10 @@ typedef struct {
HCERTSTORE hExclusiveTrustedPeople;
} CERT_CHAIN_ENGINE_CONFIG_WIN7, *PCERT_CHAIN_ENGINE_CONFIG_WIN7;
+static int is_cr_or_lf(char c)
+{
+ return c == '\r' || c == '\n';
+}
static CURLcode add_certs_to_store(HCERTSTORE trust_store,
const char *ca_file,
@@ -177,7 +182,7 @@ static CURLcode add_certs_to_store(HCERTSTORE trust_store,
current_ca_file_ptr = ca_file_buffer;
while(more_certs && *current_ca_file_ptr != '\0') {
char *begin_cert_ptr = strstr(current_ca_file_ptr, BEGIN_CERT);
- if(!begin_cert_ptr) {
+ if(!begin_cert_ptr || !is_cr_or_lf(begin_cert_ptr[strlen(BEGIN_CERT)])) {
more_certs = 0;
}
else {
@@ -209,7 +214,7 @@ static CURLcode add_certs_to_store(HCERTSTORE trust_store,
NULL,
NULL,
NULL,
- &cert_context)) {
+ (const void **)&cert_context)) {
failf(data,
"schannel: failed to extract certificate from CA file "
@@ -548,4 +553,5 @@ CURLcode verify_certificate(struct connectdata *conn, int sockindex)
return result;
}
+#endif /* HAS_MANUAL_VERIFY_API */
#endif /* USE_SCHANNEL */
diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c
index ee5bc7a0..bf96518b 100644
--- a/lib/vtls/vtls.c
+++ b/lib/vtls/vtls.c
@@ -980,6 +980,14 @@ bool Curl_ssl_false_start(void)
}
/*
+ * Check whether the SSL backend supports setting TLS 1.3 cipher suites
+ */
+bool Curl_ssl_tls13_ciphersuites(void)
+{
+ return Curl_ssl->supports & SSLSUPP_TLS13_CIPHERSUITES;
+}
+
+/*
* Default implementations for unsupported functions.
*/
diff --git a/lib/vtls/vtls.h b/lib/vtls/vtls.h
index e7b87c4d..40f9d747 100644
--- a/lib/vtls/vtls.h
+++ b/lib/vtls/vtls.h
@@ -31,6 +31,7 @@ struct ssl_connect_data;
#define SSLSUPP_PINNEDPUBKEY (1<<2) /* supports CURLOPT_PINNEDPUBLICKEY */
#define SSLSUPP_SSL_CTX (1<<3) /* supports CURLOPT_SSL_CTX */
#define SSLSUPP_HTTPS_PROXY (1<<4) /* supports access via HTTPS proxies */
+#define SSLSUPP_TLS13_CIPHERSUITES (1<<5) /* supports TLS 1.3 ciphersuites */
struct Curl_ssl {
/*
@@ -93,6 +94,7 @@ CURLcode Curl_none_set_engine(struct Curl_easy *data, const char *engine);
CURLcode Curl_none_set_engine_default(struct Curl_easy *data);
struct curl_slist *Curl_none_engines_list(struct Curl_easy *data);
bool Curl_none_false_start(void);
+bool Curl_ssl_tls13_ciphersuites(void);
CURLcode Curl_none_md5sum(unsigned char *input, size_t inputlen,
unsigned char *md5sum, size_t md5len);
@@ -246,7 +248,7 @@ bool Curl_ssl_false_start(void);
#define SSL_SHUTDOWN_TIMEOUT 10000 /* ms */
-#else
+#else /* if not USE_SSL */
/* When SSL support is not present, just define away these function calls */
#define Curl_ssl_init() 1
@@ -270,6 +272,7 @@ bool Curl_ssl_false_start(void);
#define Curl_ssl_random(x,y,z) ((void)x, CURLE_NOT_BUILT_IN)
#define Curl_ssl_cert_status_request() FALSE
#define Curl_ssl_false_start() FALSE
+#define Curl_ssl_tls13_ciphersuites() FALSE
#endif
#endif /* HEADER_CURL_VTLS_H */
diff --git a/lib/x509asn1.c b/lib/x509asn1.c
index bba20233..052bcad7 100644
--- a/lib/x509asn1.c
+++ b/lib/x509asn1.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -712,7 +712,7 @@ int Curl_parseX509(curl_X509certificate *cert,
/* Get optional version, get serialNumber. */
cert->version.header = NULL;
cert->version.beg = &defaultVersion;
- cert->version.end = &defaultVersion + sizeof defaultVersion;;
+ cert->version.end = &defaultVersion + sizeof(defaultVersion);
beg = Curl_getASN1Element(&elem, beg, end);
if(elem.tag == 0) {
Curl_getASN1Element(&cert->version, elem.beg, elem.end);
diff --git a/local-configure.patch b/local-configure.patch
index 68ad1c64..2d1580c7 100644
--- a/local-configure.patch
+++ b/local-configure.patch
@@ -46,28 +46,28 @@ index f9aef69e2..f5ba92735 100644
-#define SEND_TYPE_RETV int
+#define SEND_TYPE_RETV ssize_t
- /* The size of `curl_off_t', as computed by sizeof. */
+ /* The number of bytes in type curl_off_t */
#define SIZEOF_CURL_OFF_T 8
@@ -892,24 +896,9 @@
- /* The size of `int', as computed by sizeof. */
+ /* The number of bytes in type int */
#define SIZEOF_INT 4
--/* The size of `long', as computed by sizeof. */
+-/* The number of bytes in type long */
-#define SIZEOF_LONG 4
-
--/* The size of `long long', as computed by sizeof. */
+-/* The number of bytes in type long long */
-/* #undef SIZEOF_LONG_LONG */
-
--/* The size of `off_t', as computed by sizeof. */
+-/* The number of bytes in type off_t */
-#define SIZEOF_OFF_T 8
-
- /* The size of `short', as computed by sizeof. */
+ /* The number of bytes in type short */
#define SIZEOF_SHORT 2
--/* The size of `size_t', as computed by sizeof. */
+-/* The number of bytes in type size_t */
-#define SIZEOF_SIZE_T 4
-
--/* The size of `time_t', as computed by sizeof. */
+-/* The number of bytes in type time_t */
-#define SIZEOF_TIME_T 4
-
/* Define to 1 if you have the ANSI C header files. */
diff --git a/m4/ax_compile_check_sizeof.m4 b/m4/ax_compile_check_sizeof.m4
new file mode 100644
index 00000000..5705508a
--- /dev/null
+++ b/m4/ax_compile_check_sizeof.m4
@@ -0,0 +1,115 @@
+# ============================================================================
+# https://www.gnu.org/software/autoconf-archive/ax_compile_check_sizeof.html
+# ============================================================================
+#
+# SYNOPSIS
+#
+# AX_COMPILE_CHECK_SIZEOF(TYPE [, HEADERS [, EXTRA_SIZES...]])
+#
+# DESCRIPTION
+#
+# This macro checks for the size of TYPE using compile checks, not run
+# checks. You can supply extra HEADERS to look into. the check will cycle
+# through 1 2 4 8 16 and any EXTRA_SIZES the user supplies. If a match is
+# found, it will #define SIZEOF_`TYPE' to that value. Otherwise it will
+# emit a configure time error indicating the size of the type could not be
+# determined.
+#
+# The trick is that C will not allow duplicate case labels. While this is
+# valid C code:
+#
+# switch (0) case 0: case 1:;
+#
+# The following is not:
+#
+# switch (0) case 0: case 0:;
+#
+# Thus, the AC_TRY_COMPILE will fail if the currently tried size does not
+# match.
+#
+# Here is an example skeleton configure.in script, demonstrating the
+# macro's usage:
+#
+# AC_PROG_CC
+# AC_CHECK_HEADERS(stddef.h unistd.h)
+# AC_TYPE_SIZE_T
+# AC_CHECK_TYPE(ssize_t, int)
+#
+# headers='#ifdef HAVE_STDDEF_H
+# #include <stddef.h>
+# #endif
+# #ifdef HAVE_UNISTD_H
+# #include <unistd.h>
+# #endif
+# '
+#
+# AX_COMPILE_CHECK_SIZEOF(char)
+# AX_COMPILE_CHECK_SIZEOF(short)
+# AX_COMPILE_CHECK_SIZEOF(int)
+# AX_COMPILE_CHECK_SIZEOF(long)
+# AX_COMPILE_CHECK_SIZEOF(unsigned char *)
+# AX_COMPILE_CHECK_SIZEOF(void *)
+# AX_COMPILE_CHECK_SIZEOF(size_t, $headers)
+# AX_COMPILE_CHECK_SIZEOF(ssize_t, $headers)
+# AX_COMPILE_CHECK_SIZEOF(ptrdiff_t, $headers)
+# AX_COMPILE_CHECK_SIZEOF(off_t, $headers)
+#
+# LICENSE
+#
+# Copyright (c) 2008 Kaveh Ghazi <ghazi@caip.rutgers.edu>
+# Copyright (c) 2017 Reini Urban <rurban@cpan.org>
+#
+# This program is free software: you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or (at your
+# option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+# Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+# As a special exception, the respective Autoconf Macro's copyright owner
+# gives unlimited permission to copy, distribute and modify the configure
+# scripts that are the output of Autoconf when processing the Macro. You
+# need not follow the terms of the GNU General Public License when using
+# or distributing such scripts, even though portions of the text of the
+# Macro appear in them. The GNU General Public License (GPL) does govern
+# all other use of the material that constitutes the Autoconf Macro.
+#
+# This special exception to the GPL applies to versions of the Autoconf
+# Macro released by the Autoconf Archive. When you make and distribute a
+# modified version of the Autoconf Macro, you may extend this special
+# exception to the GPL to apply to your modified version as well.
+
+#serial 7
+
+AU_ALIAS([AC_COMPILE_CHECK_SIZEOF], [AX_COMPILE_CHECK_SIZEOF])
+AC_DEFUN([AX_COMPILE_CHECK_SIZEOF],
+[changequote(<<, >>)dnl
+dnl The name to #define.
+define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
+dnl The cache variable name.
+define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
+changequote([, ])dnl
+AC_MSG_CHECKING(size of $1)
+AC_CACHE_VAL(AC_CV_NAME,
+[for ac_size in 4 8 1 2 16 $3 ; do # List sizes in rough order of prevalence.
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <sys/types.h>
+$2
+]], [[switch (0) case 0: case (sizeof ($1) == $ac_size):;]])], [AC_CV_NAME=$ac_size])
+ if test x$AC_CV_NAME != x ; then break; fi
+done
+])
+if test x$AC_CV_NAME = x ; then
+ AC_MSG_ERROR([cannot determine a size for $1])
+fi
+AC_MSG_RESULT($AC_CV_NAME)
+AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME, [The number of bytes in type $1])
+undefine([AC_TYPE_NAME])dnl
+undefine([AC_CV_NAME])dnl
+])
diff --git a/m4/curl-confopts.m4 b/m4/curl-confopts.m4
index ad6acd8f..e591caa5 100644
--- a/m4/curl-confopts.m4
+++ b/m4/curl-confopts.m4
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -497,9 +497,24 @@ AC_DEFUN([CURL_CHECK_LIB_ARES], [
embedded_ares_builddir="$configure_runpath/ares"
if test -n "$want_ares_path"; then
dnl c-ares library path has been specified
- ares_CPPFLAGS="-I$want_ares_path/include"
- ares_LDFLAGS="-L$want_ares_path/lib"
- ares_LIBS="-lcares"
+ ARES_PCDIR="$want_ares_path/lib/pkgconfig"
+ CURL_CHECK_PKGCONFIG(libcares, [$ARES_PCDIR])
+ if test "$PKGCONFIG" != "no" ; then
+ ares_LIBS=`CURL_EXPORT_PCDIR([$ARES_PCDIR])
+ $PKGCONFIG --libs-only-l libcares`
+ ares_LDFLAGS=`CURL_EXPORT_PCDIR([$ARES_PCDIR])
+ $PKGCONFIG --libs-only-L libcares`
+ ares_CPPFLAGS=`CURL_EXPORT_PCDIR([$ARES_PCDIR])
+ $PKGCONFIG --cflags-only-I libcares`
+ AC_MSG_NOTICE([pkg-config: ares LIBS: "$ares_LIBS"])
+ AC_MSG_NOTICE([pkg-config: ares LDFLAGS: "$ares_LDFLAGS"])
+ AC_MSG_NOTICE([pkg-config: ares CPPFLAGS: "$ares_CPPFLAGS"])
+ else
+ dnl ... path without pkg-config
+ ares_CPPFLAGS="-I$want_ares_path/include"
+ ares_LDFLAGS="-L$want_ares_path/lib"
+ ares_LIBS="-lcares"
+ fi
else
dnl c-ares library path has not been given
if test -d "$srcdir/ares"; then
@@ -513,9 +528,19 @@ AC_DEFUN([CURL_CHECK_LIB_ARES], [
ares_LIBS="-lcares"
else
dnl c-ares path not specified, use defaults
- ares_CPPFLAGS=""
- ares_LDFLAGS=""
- ares_LIBS="-lcares"
+ CURL_CHECK_PKGCONFIG(libcares)
+ if test "$PKGCONFIG" != "no" ; then
+ ares_LIBS=`$PKGCONFIG --libs-only-l libcares`
+ ares_LDFLAGS=`$PKGCONFIG --libs-only-L libcares`
+ ares_CPPFLAGS=`$PKGCONFIG --cflags-only-I libcares`
+ AC_MSG_NOTICE([pkg-config: ares_LIBS: "$ares_LIBS"])
+ AC_MSG_NOTICE([pkg-config: ares_LDFLAGS: "$ares_LDFLAGS"])
+ AC_MSG_NOTICE([pkg-config: ares_CPPFLAGS: "$ares_CPPFLAGS"])
+ else
+ ares_CPPFLAGS=""
+ ares_LDFLAGS=""
+ ares_LIBS="-lcares"
+ fi
fi
fi
#
diff --git a/m4/curl-functions.m4 b/m4/curl-functions.m4
index 1bbde9ed..49b4c793 100644
--- a/m4/curl-functions.m4
+++ b/m4/curl-functions.m4
@@ -7020,7 +7020,8 @@ AC_DEFUN([CURL_RUN_IFELSE], [
AC_REQUIRE([AC_RUN_IFELSE])dnl
old=$LD_LIBRARY_PATH
- LD_LIBRARY_PATH=$CURL_LIBRARY_PATH
+ LD_LIBRARY_PATH=$CURL_LIBRARY_PATH:$old
+ export LD_LIBRARY_PATH
AC_RUN_IFELSE([AC_LANG_SOURCE([$1])], $2, $3, $4)
LD_LIBRARY_PATH=$old # restore
])
diff --git a/maketgz b/maketgz
index b740173d..55a57c1b 100755
--- a/maketgz
+++ b/maketgz
@@ -1,4 +1,4 @@
-#! /bin/sh
+#!/bin/sh
# Script to build release-archives with. Note that this requires a checkout
# from git and you should first run ./buildconf and build curl once.
#
@@ -9,7 +9,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -32,8 +32,8 @@ if [ -z "$version" ]; then
fi
if [ "xonly" = "x$2" ]; then
- echo "Setup version number only!"
- only=1
+ echo "Setup version number only!"
+ only=1
fi
libversion="$version"
@@ -41,13 +41,13 @@ libversion="$version"
# we make curl the same version as libcurl
curlversion=$libversion
-major=`echo $libversion |cut -d. -f1 | sed -e "s/[^0-9]//g"`
-minor=`echo $libversion |cut -d. -f2 | sed -e "s/[^0-9]//g"`
-patch=`echo $libversion |cut -d. -f3 | cut -d- -f1 | sed -e "s/[^0-9]//g"`
+major=`echo $libversion | cut -d. -f1 | sed -e "s/[^0-9]//g"`
+minor=`echo $libversion | cut -d. -f2 | sed -e "s/[^0-9]//g"`
+patch=`echo $libversion | cut -d. -f3 | cut -d- -f1 | sed -e "s/[^0-9]//g"`
if test -z "$patch"; then
- echo "invalid version number? needs to be z.y.z"
- exit
+ echo "invalid version number? needs to be z.y.z"
+ exit
fi
#
@@ -64,37 +64,41 @@ CHEADER=src/tool_version.h
PLIST=lib/libcurl.plist
if test -z "$only"; then
- ext=".dist"
- # when not setting up version numbers locally
- for a in $HEADER $CHEADER $PLIST; do
- cp $a "$a$ext"
- done
- HEADER="$HEADER$ext"
- CHEADER="$CHEADER$ext"
- PLIST="$PLIST$ext"
+ ext=".dist"
+ # when not setting up version numbers locally
+ for a in $HEADER $CHEADER $PLIST; do
+ cp $a "$a$ext"
+ done
+ HEADER="$HEADER$ext"
+ CHEADER="$CHEADER$ext"
+ PLIST="$PLIST$ext"
fi
# requires a date command that knows + for format
datestamp=`date +"%F"`
# Replace version number in header file:
-sed -i -e 's/^#define LIBCURL_VERSION .*/#define LIBCURL_VERSION "'$libversion'"/g' \
+sed -i.bak \
+ -e 's/^#define LIBCURL_VERSION .*/#define LIBCURL_VERSION "'$libversion'"/g' \
-e 's/^#define LIBCURL_VERSION_NUM .*/#define LIBCURL_VERSION_NUM 0x'$numeric'/g' \
-e 's/^#define LIBCURL_VERSION_MAJOR .*/#define LIBCURL_VERSION_MAJOR '$major'/g' \
-e 's/^#define LIBCURL_VERSION_MINOR .*/#define LIBCURL_VERSION_MINOR '$minor'/g' \
-e 's/^#define LIBCURL_VERSION_PATCH .*/#define LIBCURL_VERSION_PATCH '$patch'/g' \
-e "s/^#define LIBCURL_TIMESTAMP .*/#define LIBCURL_TIMESTAMP \"$datestamp\"/g" \
- $HEADER
+ $HEADER
+rm -f "$HEADER.bak"
# Replace version number in header file:
-sed -i 's/#define CURL_VERSION .*/#define CURL_VERSION "'$curlversion'"/g' $CHEADER
+sed -i.bak 's/#define CURL_VERSION .*/#define CURL_VERSION "'$curlversion'"/g' $CHEADER
+rm -f "$CHEADER.bak"
# Replace version number in plist file:
-sed -i "s/7\.12\.3/$libversion/g" $PLIST
+sed -i.bak "s/7\.12\.3/$libversion/g" $PLIST
+rm -f "$PLIST.bak"
if test -n "$only"; then
- # done!
- exit;
+ # done!
+ exit;
fi
echo "curl version $curlversion"
@@ -102,8 +106,7 @@ echo "libcurl version $libversion"
echo "libcurl numerical $numeric"
echo "datestamp $datestamp"
-findprog()
-{
+findprog() {
file="$1"
for part in `echo $PATH| tr ':' ' '`; do
path="$part/$file"
@@ -189,8 +192,7 @@ gzip -dc $targz | xz -6e - > $xz
#
# Now make a zip archive from the tar.gz original
#
-makezip ()
-{
+makezip() {
rm -rf $tempdir
mkdir $tempdir
cd $tempdir
diff --git a/packages/OS400/README.OS400 b/packages/OS400/README.OS400
index c766a1f6..2f991037 100644
--- a/packages/OS400/README.OS400
+++ b/packages/OS400/README.OS400
@@ -107,6 +107,7 @@ options:
CURLOPT_PROXY_SSLKEY
CURLOPT_PROXY_SSLKEYTYPE
CURLOPT_PROXY_SSL_CIPHER_LIST
+ CURLOPT_PROXY_TLS13_CIPHERS
CURLOPT_PROXY_TLSAUTH_PASSWORD
CURLOPT_PROXY_TLSAUTH_TYPE
CURLOPT_PROXY_TLSAUTH_USERNAME
@@ -129,6 +130,7 @@ options:
CURLOPT_SSLKEY
CURLOPT_SSLKEYTYPE
CURLOPT_SSL_CIPHER_LIST
+ CURLOPT_TLS13_CIPHERS
CURLOPT_TLSAUTH_PASSWORD
CURLOPT_TLSAUTH_TYPE
CURLOPT_TLSAUTH_USERNAME
@@ -318,8 +320,10 @@ _ Procedures curl_easy_setopt_long(), curl_easy_setopt_object(),
curl_easy_setopt_function() and curl_easy_setopt_offset() are all alias
prototypes to curl_easy_setopt(), but with different parameter lists.
_ Procedures curl_easy_getinfo_string(), curl_easy_getinfo_long(),
- curl_easy_getinfo_double() and curl_easy_getinfo_slist() are all alias
- prototypes to curl_easy_getinfo(), but with different parameter lists.
+ curl_easy_getinfo_double(), curl_easy_getinfo_slist(),
+ curl_easy_getinfo_ptr(), curl_easy_getinfo_socket() and
+ curl_easy_getinfo_off_t() are all alias prototypes to curl_easy_getinfo(),
+ but with different parameter lists.
_ Procedures curl_multi_setopt_long(), curl_multi_setopt_object(),
curl_multi_setopt_function() and curl_multi_setopt_offset() are all alias
prototypes to curl_multi_setopt(), but with different parameter lists.
diff --git a/packages/OS400/ccsidcurl.c b/packages/OS400/ccsidcurl.c
index 0ca6d686..af53f676 100644
--- a/packages/OS400/ccsidcurl.c
+++ b/packages/OS400/ccsidcurl.c
@@ -1179,6 +1179,7 @@ curl_easy_setopt_ccsid(CURL * curl, CURLoption tag, ...)
case CURLOPT_PROXY_SSLKEY:
case CURLOPT_PROXY_SSLKEYTYPE:
case CURLOPT_PROXY_SSL_CIPHER_LIST:
+ case CURLOPT_PROXY_TLS13_CIPHERS:
case CURLOPT_PROXY_TLSAUTH_PASSWORD:
case CURLOPT_PROXY_TLSAUTH_TYPE:
case CURLOPT_PROXY_TLSAUTH_USERNAME:
@@ -1201,6 +1202,7 @@ curl_easy_setopt_ccsid(CURL * curl, CURLoption tag, ...)
case CURLOPT_SSLKEY:
case CURLOPT_SSLKEYTYPE:
case CURLOPT_SSL_CIPHER_LIST:
+ case CURLOPT_TLS13_CIPHERS:
case CURLOPT_TLSAUTH_PASSWORD:
case CURLOPT_TLSAUTH_TYPE:
case CURLOPT_TLSAUTH_USERNAME:
@@ -1345,3 +1347,80 @@ curl_pushheader_byname_ccsid(struct curl_pushheaders *h, const char *header,
return d;
}
+
+static CURLcode
+mime_string_call(curl_mimepart *part, const char *string, unsigned int ccsid,
+ CURLcode (*mimefunc)(curl_mimepart *part, const char *string))
+
+{
+ char *s = (char *) NULL;
+ CURLcode result;
+
+ if(!string)
+ return mimefunc(part, string);
+ s = dynconvert(ASCII_CCSID, string, -1, ccsid);
+ if(!s)
+ return CURLE_OUT_OF_MEMORY;
+
+ result = mimefunc(part, s);
+ free(s);
+ return result;
+}
+
+CURLcode
+curl_mime_name_ccsid(curl_mimepart *part, const char *name, unsigned int ccsid)
+
+{
+ return mime_string_call(part, name, ccsid, curl_mime_name);
+}
+
+CURLcode
+curl_mime_filename_ccsid(curl_mimepart *part,
+ const char *filename, unsigned int ccsid)
+
+{
+ return mime_string_call(part, filename, ccsid, curl_mime_filename);
+}
+
+CURLcode
+curl_mime_type_ccsid(curl_mimepart *part,
+ const char *mimetype, unsigned int ccsid)
+
+{
+ return mime_string_call(part, mimetype, ccsid, curl_mime_type);
+}
+
+CURLcode
+curl_mime_encoder_ccsid(curl_mimepart *part,
+ const char *encoding, unsigned int ccsid)
+
+{
+ return mime_string_call(part, encoding, ccsid, curl_mime_encoder);
+}
+
+CURLcode
+curl_mime_filedata_ccsid(curl_mimepart *part,
+ const char *filename, unsigned int ccsid)
+
+{
+ return mime_string_call(part, filename, ccsid, curl_mime_filedata);
+}
+
+CURLcode
+curl_mime_data_ccsid(curl_mimepart *part,
+ const char *data, size_t datasize, unsigned int ccsid)
+
+{
+ char *s = (char *) NULL;
+ CURLcode result;
+
+ if(!data)
+ return curl_mime_data(part, data, datasize);
+ s = dynconvert(ASCII_CCSID, data, datasize, ccsid);
+ if(!s)
+ return CURLE_OUT_OF_MEMORY;
+
+ result = curl_mime_data(part, s, datasize);
+ free(s);
+ return result;
+}
diff --git a/packages/OS400/ccsidcurl.h b/packages/OS400/ccsidcurl.h
index 5bd24cf3..a65dfbc2 100644
--- a/packages/OS400/ccsidcurl.h
+++ b/packages/OS400/ccsidcurl.h
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -67,5 +67,23 @@ CURL_EXTERN char *curl_pushheader_byname_ccsid(struct curl_pushheaders *h,
const char *header,
unsigned int ccsidin,
unsigned int ccsidout);
+CURL_EXTERN CURLcode curl_mime_name_ccsid(curl_mimepart *part,
+ const char *name,
+ unsigned int ccsid);
+CURL_EXTERN CURLcode curl_mime_filename_ccsid(curl_mimepart *part,
+ const char *filename,
+ unsigned int ccsid);
+CURL_EXTERN CURLcode curl_mime_type_ccsid(curl_mimepart *part,
+ const char *mimetype,
+ unsigned int ccsid);
+CURL_EXTERN CURLcode curl_mime_encoder_ccsid(curl_mimepart *part,
+ const char *encoding,
+ unsigned int ccsid);
+CURL_EXTERN CURLcode curl_mime_filedata_ccsid(curl_mimepart *part,
+ const char *filename,
+ unsigned int ccsid);
+CURL_EXTERN CURLcode curl_mime_data_ccsid(curl_mimepart *part,
+ const char *data, size_t datasize,
+ unsigned int ccsid);
#endif
diff --git a/packages/OS400/curl.inc.in b/packages/OS400/curl.inc.in
index b2ff6d6f..8b150ed8 100644
--- a/packages/OS400/curl.inc.in
+++ b/packages/OS400/curl.inc.in
@@ -66,8 +66,11 @@
d CURLINFO_DOUBLE...
d c X'00300000'
d CURLINFO_SLIST c X'00400000'
+ d CURLINFO_PTR c X'00400000'
d CURLINFO_SOCKET...
d c X'00500000'
+ d CURLINFO_OFF_T...
+ d c X'00600000'
d CURLINFO_MASK c X'000FFFFF'
d CURLINFO_TYPEMASK...
d c X'00F00000'
@@ -175,6 +178,8 @@
d c X'00000010'
d CURLAUTH_NTLM_WB...
d c X'00000020'
+ d CURLAUTH_BEARER...
+ d c X'00000040'
d CURLAUTH_ONLY...
d c X'80000000'
d CURLAUTH_ANY c X'7FFFFFEF'
@@ -291,6 +296,9 @@
d CURL_REDIR_POST_ALL...
d c 7
*
+ d CURL_ZERO_TERMINATED...
+ d c -1
+ *
d CURL_POLL_NONE c 0
d CURL_POLL_IN c 1
d CURL_POLL_OUT c 2
@@ -1334,6 +1342,12 @@
d c 00274
d CURLOPT_DNS_SHUFFLE_ADDRESSES...
d c 00275
+ d CURLOPT_TLS13_CIPHERS...
+ d c 10276
+ d CURLOPT_PROXY_TLS13_CIPHERS...
+ d c 10277
+ d CURLOPT_DISALLOW_USERNAME_IN_URL...
+ d c 00278
*
/if not defined(CURL_NO_OLDIES)
d CURLOPT_FILE c 10001
@@ -1442,12 +1456,20 @@
d c X'00300006'
d CURLINFO_SIZE_UPLOAD... CURLINFO_DOUBLE + 7
d c X'00300007'
+ d CURLINFO_SIZE_UPLOAD_T... CURLINFO_OFF_T + 7
+ d c X'00600007'
d CURLINFO_SIZE_DOWNLOAD... CURLINFO_DOUBLE + 8
d c X'00300008'
+ d CURLINFO_SIZE_DOWNLOAD_T... CURLINFO_OFF_T + 8
+ d c X'00600008'
d CURLINFO_SPEED_DOWNLOAD... CURLINFO_DOUBLE + 9
d c X'00300009'
+ d CURLINFO_SPEED_DOWNLOAD_T... CURLINFO_OFF_T + 9
+ d c X'00600009'
d CURLINFO_SPEED_UPLOAD... CURLINFO_DOUBLE + 10
d c X'0030000A'
+ d CURLINFO_SPEED_UPLOAD_T... CURLINFO_OFF_T + 10
+ d c X'0060000A'
d CURLINFO_HEADER_SIZE... CURLINFO_LONG + 11
d c X'0020000B'
d CURLINFO_REQUEST_SIZE... CURLINFO_LONG + 12
@@ -1456,10 +1478,16 @@
d c X'0020000D'
d CURLINFO_FILETIME... CURLINFO_LONG + 14
d c X'0020000E'
+ d CURLINFO_FILETIME_T... CURLINFO_OFF_T + 14
+ d c X'0060000E'
d CURLINFO_CONTENT_LENGTH_DOWNLOAD... CURLINFO_DOUBLE + 15
d c X'0030000F'
+ d CURLINFO_CONTENT_LENGTH_DOWNLOAD_T... CURLINFO_OFF_T + 15
+ d c X'0060000F'
d CURLINFO_CONTENT_LENGTH_UPLOAD... CURLINFO_DOUBLE + 16
d c X'00300010'
+ d CURLINFO_CONTENT_LENGTH_UPLOAD_T... CURLINFO_OFF_T + 16
+ d c X'00600010'
d CURLINFO_STARTTRANSFER_TIME... CURLINFO_DOUBLE + 17
d c X'00300011'
d CURLINFO_CONTENT_TYPE... CURLINFO_STRING + 18
@@ -1526,6 +1554,20 @@
d c X'00200030'
d CURLINFO_SCHEME... CURLINFO_STRING + 49
d c X'00100031'
+ d CURLINFO_TOTAL_TIME_T... CURLINFO_OFF_T + 50
+ d c X'00600032'
+ d CURLINFO_NAMELOOKUP_TIME_T... CURLINFO_OFF_T + 51
+ d c X'00600033'
+ d CURLINFO_CONNECT_TIME_T... CURLINFO_OFF_T + 52
+ d c X'00600034'
+ d CURLINFO_PRETRANSFER_TIME_T... CURLINFO_OFF_T + 53
+ d c X'00600035'
+ d CURLINFO_STARTTRANSFER_TIME_T... CURLINFO_OFF_T + 54
+ d c X'00600036'
+ d CURLINFO_REDIRECT_TIME_T... CURLINFO_OFF_T + 55
+ d c X'00600037'
+ d CURLINFO_APPCONNECT_TIME_T... CURLINFO_OFF_T + 56
+ d c X'00600036'
*
d CURLINFO_HTTP_CODE... Old ...RESPONSE_CODE
d c X'00200002'
@@ -1591,8 +1633,10 @@
d c 4
d CURL_LOCK_DATA_CONNECT...
d c 5
- d CURL_LOCK_DATA_LAST...
+ d CURL_LOCK_DATA_PSL...
d c 6
+ d CURL_LOCK_DATA_LAST...
+ d c 7
*
d curl_lock_access...
d s 10i 0 based(######ptr######) Enum
@@ -1979,6 +2023,74 @@
* Prototypes
**************************************************************************
*
+ d curl_mime_init pr * extproc('curl_mime_init') curl_mime *
+ d easy * value CURL *
+ *
+ d curl_mime_free pr extproc('curl_mime_free')
+ d mime * value curl_mime *
+ *
+ d curl_mime_addpart...
+ d pr * extproc('curl_mime_addpart') curl_mimepart *
+ d mime * value curl_mime *
+ *
+ d curl_mime_name pr extproc('curl_mime_name')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d name * value options(*string)
+ *
+ d curl_mime_filename...
+ d pr extproc('curl_mime_filename')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d filename * value options(*string)
+ *
+ d curl_mime_type pr extproc('curl_mime_type')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d mimetype * value options(*string)
+ *
+ d curl_mime_encoder...
+ d pr extproc('curl_mime_encoder')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d encoding * value options(*string)
+ *
+ d curl_mime_data pr extproc('curl_mime_data')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d data * value options(*string)
+ d datasize 10u 0 size_t
+ *
+ d curl_mime_filedata...
+ d pr extproc('curl_mime_filedata')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d filename * value options(*string)
+ *
+ d curl_mime_data_cb...
+ d pr extproc('curl_mime_data_cb')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d datasize value like(curl_off_t)
+ d readfunc value like(curl_read_callback)
+ d seekfunc value like(curl_seek_callback)
+ d freefunc value like(curl_free_callback)
+ d arg * value void *
+ *
+ d curl_mime_subparts...
+ d pr extproc('curl_mime_subparts')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d subparts * value curl_mime *
+ *
+ d curl_mime_headers...
+ d pr extproc('curl_mime_headers')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d headers * value curl_slist *
+ d take_ownership...
+ d 10i 0 value
+ *
* This procedure as a variable parameter list.
* This prototype allows use of an option array, or a single "object"
* option. Other argument lists may be implemented by alias procedure
@@ -2188,6 +2300,27 @@
d info value like(CURLINFO)
d slistarg * options(*nopass) struct curl_slist *
*
+ d curl_easy_getinfo_ptr...
+ d pr extproc('curl_easy_getinfo')
+ d like(CURLcode)
+ d curl * value CURL *
+ d info value like(CURLINFO)
+ d ptrarg * options(*nopass) void *
+ *
+ d curl_easy_getinfo_socket...
+ d pr extproc('curl_easy_getinfo')
+ d like(CURLcode)
+ d curl * value CURL *
+ d info value like(CURLINFO)
+ d socketarg like(curl_socket_t) options(*nopass)
+ *
+ d curl_easy_getinfo_off_t...
+ d pr extproc('curl_easy_getinfo')
+ d like(CURLcode)
+ d curl * value CURL *
+ d info value like(CURLINFO)
+ d offsetarg like(curl_off_t) options(*nopass)
+ *
*
d curl_easy_duphandle...
d pr * extproc('curl_easy_duphandle') CURL *
@@ -2464,4 +2597,47 @@
d ccsidin 10u 0 value
d ccsidout 10u 0 value
*
+ d curl_mime_name_ccsid...
+ d pr extproc('curl_mime_name_ccsid')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d name * value options(*string)
+ d ccsid 10u 0 value
+ *
+ d curl_mime_filename_ccsid...
+ d pr extproc('curl_mime_filename_ccsid')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d filename * value options(*string)
+ d ccsid 10u 0 value
+ *
+ d curl_mime_type_ccsid...
+ d pr extproc('curl_mime_type_ccsid')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d mimetype * value options(*string)
+ d ccsid 10u 0 value
+ *
+ d curl_mime_encoder_ccsid...
+ d pr extproc('curl_mime_encoder_ccsid')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d encoding * value options(*string)
+ d ccsid 10u 0 value
+ *
+ d curl_mime_data_ccsid...
+ d pr extproc('curl_mime_data_ccsid')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d data * value options(*string)
+ d datasize 10u 0 size_t
+ d ccsid 10u 0 value
+ *
+ d curl_mime_filedata_ccsid...
+ d pr extproc('curl_mime_filedata_ccsid')
+ d like(CURLcode)
+ d part * value curl_mimepart *
+ d filename * value options(*string)
+ d ccsid 10u 0 value
+ *
/endif
diff --git a/packages/vms/build_gnv_curl_pcsi_desc.com b/packages/vms/build_gnv_curl_pcsi_desc.com
index 3b4cd803..fab2c823 100644
--- a/packages/vms/build_gnv_curl_pcsi_desc.com
+++ b/packages/vms/build_gnv_curl_pcsi_desc.com
@@ -351,7 +351,7 @@ $ endif
$ endif
$ endif
$!
-$! Filenames with $ in them are VMS special and do not need to be lowercased.
+$! Filenames with $ in them are VMS special and do not need to be lowercase.
$! --------------------------------------------------------------------------
$ if f$locate("$", pathname) .lt. f$length(pathname) then goto inst_file_loop
$!
diff --git a/packages/vms/setup_gnv_curl_build.com b/packages/vms/setup_gnv_curl_build.com
index beec733c..09f22a22 100644
--- a/packages/vms/setup_gnv_curl_build.com
+++ b/packages/vms/setup_gnv_curl_build.com
@@ -60,7 +60,7 @@ $!
$! We want detailed build logs.
$ clist = "/list/show=(expan,includ)"
$!
-$! We want full symbol names in exact case. Need a commmon
+$! We want full symbol names in exact case. Need a common
$! repository for all directories.
$ cnames = "/names=(shortened,as_is)/repository=''base_dir'"
$!
diff --git a/projects/Windows/VC10/lib/libcurl.vcxproj b/projects/Windows/VC10/lib/libcurl.vcxproj
index abb05bcd..86f2bfee 100644
--- a/projects/Windows/VC10/lib/libcurl.vcxproj
+++ b/projects/Windows/VC10/lib/libcurl.vcxproj
@@ -2398,6 +2398,7 @@
<ClCompile Include="..\..\..\..\lib\pipeline.c" />
<ClCompile Include="..\..\..\..\lib\pop3.c" />
<ClCompile Include="..\..\..\..\lib\progress.c" />
+ <ClCompile Include="..\..\..\..\lib\psl.c" />
<ClCompile Include="..\..\..\..\lib\rand.c" />
<ClCompile Include="..\..\..\..\lib\rtsp.c" />
<ClCompile Include="..\..\..\..\lib\security.c" />
@@ -2533,6 +2534,7 @@
<ClInclude Include="..\..\..\..\lib\pipeline.h" />
<ClInclude Include="..\..\..\..\lib\pop3.h" />
<ClInclude Include="..\..\..\..\lib\progress.h" />
+ <ClInclude Include="..\..\..\..\lib\psl.h" />
<ClInclude Include="..\..\..\..\lib\rand.h" />
<ClInclude Include="..\..\..\..\lib\rtsp.h" />
<ClInclude Include="..\..\..\..\lib\select.h" />
diff --git a/projects/Windows/VC11/lib/libcurl.vcxproj b/projects/Windows/VC11/lib/libcurl.vcxproj
index 2f952615..e51f8530 100644
--- a/projects/Windows/VC11/lib/libcurl.vcxproj
+++ b/projects/Windows/VC11/lib/libcurl.vcxproj
@@ -2454,6 +2454,7 @@
<ClCompile Include="..\..\..\..\lib\pipeline.c" />
<ClCompile Include="..\..\..\..\lib\pop3.c" />
<ClCompile Include="..\..\..\..\lib\progress.c" />
+ <ClCompile Include="..\..\..\..\lib\psl.c" />
<ClCompile Include="..\..\..\..\lib\rand.c" />
<ClCompile Include="..\..\..\..\lib\rtsp.c" />
<ClCompile Include="..\..\..\..\lib\security.c" />
@@ -2589,6 +2590,7 @@
<ClInclude Include="..\..\..\..\lib\pipeline.h" />
<ClInclude Include="..\..\..\..\lib\pop3.h" />
<ClInclude Include="..\..\..\..\lib\progress.h" />
+ <ClInclude Include="..\..\..\..\lib\psl.h" />
<ClInclude Include="..\..\..\..\lib\rand.h" />
<ClInclude Include="..\..\..\..\lib\rtsp.h" />
<ClInclude Include="..\..\..\..\lib\select.h" />
diff --git a/projects/Windows/VC12/lib/libcurl.vcxproj b/projects/Windows/VC12/lib/libcurl.vcxproj
index 2568c8b3..4f68e03a 100644
--- a/projects/Windows/VC12/lib/libcurl.vcxproj
+++ b/projects/Windows/VC12/lib/libcurl.vcxproj
@@ -2454,6 +2454,7 @@
<ClCompile Include="..\..\..\..\lib\pipeline.c" />
<ClCompile Include="..\..\..\..\lib\pop3.c" />
<ClCompile Include="..\..\..\..\lib\progress.c" />
+ <ClCompile Include="..\..\..\..\lib\psl.c" />
<ClCompile Include="..\..\..\..\lib\rand.c" />
<ClCompile Include="..\..\..\..\lib\rtsp.c" />
<ClCompile Include="..\..\..\..\lib\security.c" />
@@ -2589,6 +2590,7 @@
<ClInclude Include="..\..\..\..\lib\pipeline.h" />
<ClInclude Include="..\..\..\..\lib\pop3.h" />
<ClInclude Include="..\..\..\..\lib\progress.h" />
+ <ClInclude Include="..\..\..\..\lib\psl.h" />
<ClInclude Include="..\..\..\..\lib\rand.h" />
<ClInclude Include="..\..\..\..\lib\rtsp.h" />
<ClInclude Include="..\..\..\..\lib\select.h" />
diff --git a/projects/Windows/VC14/lib/libcurl.vcxproj b/projects/Windows/VC14/lib/libcurl.vcxproj
index d22cd6b2..34c18617 100644
--- a/projects/Windows/VC14/lib/libcurl.vcxproj
+++ b/projects/Windows/VC14/lib/libcurl.vcxproj
@@ -2454,6 +2454,7 @@
<ClCompile Include="..\..\..\..\lib\pipeline.c" />
<ClCompile Include="..\..\..\..\lib\pop3.c" />
<ClCompile Include="..\..\..\..\lib\progress.c" />
+ <ClCompile Include="..\..\..\..\lib\psl.c" />
<ClCompile Include="..\..\..\..\lib\rand.c" />
<ClCompile Include="..\..\..\..\lib\rtsp.c" />
<ClCompile Include="..\..\..\..\lib\security.c" />
@@ -2589,6 +2590,7 @@
<ClInclude Include="..\..\..\..\lib\pipeline.h" />
<ClInclude Include="..\..\..\..\lib\pop3.h" />
<ClInclude Include="..\..\..\..\lib\progress.h" />
+ <ClInclude Include="..\..\..\..\lib\psl.h" />
<ClInclude Include="..\..\..\..\lib\rand.h" />
<ClInclude Include="..\..\..\..\lib\rtsp.h" />
<ClInclude Include="..\..\..\..\lib\select.h" />
diff --git a/projects/Windows/VC15/lib/libcurl.vcxproj b/projects/Windows/VC15/lib/libcurl.vcxproj
index af11d1fc..c3e93c8b 100644
--- a/projects/Windows/VC15/lib/libcurl.vcxproj
+++ b/projects/Windows/VC15/lib/libcurl.vcxproj
@@ -2454,6 +2454,7 @@
<ClCompile Include="..\..\..\..\lib\pipeline.c" />
<ClCompile Include="..\..\..\..\lib\pop3.c" />
<ClCompile Include="..\..\..\..\lib\progress.c" />
+ <ClCompile Include="..\..\..\..\lib\psl.c" />
<ClCompile Include="..\..\..\..\lib\rand.c" />
<ClCompile Include="..\..\..\..\lib\rtsp.c" />
<ClCompile Include="..\..\..\..\lib\security.c" />
@@ -2589,6 +2590,7 @@
<ClInclude Include="..\..\..\..\lib\pipeline.h" />
<ClInclude Include="..\..\..\..\lib\pop3.h" />
<ClInclude Include="..\..\..\..\lib\progress.h" />
+ <ClInclude Include="..\..\..\..\lib\psl.h" />
<ClInclude Include="..\..\..\..\lib\rand.h" />
<ClInclude Include="..\..\..\..\lib\rtsp.h" />
<ClInclude Include="..\..\..\..\lib\select.h" />
diff --git a/projects/Windows/VC6/lib/libcurl.dsp b/projects/Windows/VC6/lib/libcurl.dsp
index 3aa74de4..5bd1708b 100644
--- a/projects/Windows/VC6/lib/libcurl.dsp
+++ b/projects/Windows/VC6/lib/libcurl.dsp
@@ -1030,6 +1030,10 @@ SOURCE=..\..\..\..\lib\progress.c
# End Source File
# Begin Source File
+SOURCE=..\..\..\..\lib\psl.c
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\..\lib\rand.c
# End Source File
# Begin Source File
@@ -1566,6 +1570,10 @@ SOURCE=..\..\..\..\lib\progress.h
# End Source File
# Begin Source File
+SOURCE=..\..\..\..\lib\psl.h
+# End Source File
+# Begin Source File
+
SOURCE=..\..\..\..\lib\rand.h
# End Source File
# Begin Source File
diff --git a/projects/Windows/VC7.1/lib/libcurl.vcproj b/projects/Windows/VC7.1/lib/libcurl.vcproj
index f5c437ac..4bf9b824 100644
--- a/projects/Windows/VC7.1/lib/libcurl.vcproj
+++ b/projects/Windows/VC7.1/lib/libcurl.vcproj
@@ -1481,6 +1481,9 @@
RelativePath="..\..\..\..\lib\progress.c">
</File>
<File
+ RelativePath="..\..\..\..\lib\psl.c">
+ </File>
+ <File
RelativePath="..\..\..\..\lib\rand.c">
</File>
<File
@@ -1809,6 +1812,9 @@
RelativePath="..\..\..\..\lib\progress.h">
</File>
<File
+ RelativePath="..\..\..\..\lib\psl.h">
+ </File>
+ <File
RelativePath="..\..\..\..\lib\rand.h">
</File>
<File
diff --git a/projects/Windows/VC7/lib/libcurl.vcproj b/projects/Windows/VC7/lib/libcurl.vcproj
index 4fe5377c..0b8b2fd4 100644
--- a/projects/Windows/VC7/lib/libcurl.vcproj
+++ b/projects/Windows/VC7/lib/libcurl.vcproj
@@ -1335,6 +1335,9 @@
RelativePath="..\..\..\..\lib\progress.c">
</File>
<File
+ RelativePath="..\..\..\..\lib\psl.c">
+ </File>
+ <File
RelativePath="..\..\..\..\lib\rand.c">
</File>
<File
@@ -1663,6 +1666,9 @@
RelativePath="..\..\..\..\lib\progress.h">
</File>
<File
+ RelativePath="..\..\..\..\lib\psl.h">
+ </File>
+ <File
RelativePath="..\..\..\..\lib\rand.h">
</File>
<File
diff --git a/projects/Windows/VC8/lib/libcurl.vcproj b/projects/Windows/VC8/lib/libcurl.vcproj
index e89ed399..c3d22e7b 100644
--- a/projects/Windows/VC8/lib/libcurl.vcproj
+++ b/projects/Windows/VC8/lib/libcurl.vcproj
@@ -3917,6 +3917,10 @@
>
</File>
<File
+ RelativePath="..\..\..\..\lib\psl.c"
+ >
+ </File>
+ <File
RelativePath="..\..\..\..\lib\rand.c"
>
</File>
@@ -4353,6 +4357,10 @@
>
</File>
<File
+ RelativePath="..\..\..\..\lib\psl.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\..\lib\rand.h"
>
</File>
diff --git a/projects/Windows/VC9/lib/libcurl.vcproj b/projects/Windows/VC9/lib/libcurl.vcproj
index 5bd595f0..a28fe913 100644
--- a/projects/Windows/VC9/lib/libcurl.vcproj
+++ b/projects/Windows/VC9/lib/libcurl.vcproj
@@ -3858,6 +3858,10 @@
>
</File>
<File
+ RelativePath="..\..\..\..\lib\psl.c"
+ >
+ </File>
+ <File
RelativePath="..\..\..\..\lib\rand.c"
>
</File>
@@ -4294,6 +4298,10 @@
>
</File>
<File
+ RelativePath="..\..\..\..\lib\psl.h"
+ >
+ </File>
+ <File
RelativePath="..\..\..\..\lib\rand.h"
>
</File>
diff --git a/projects/build-openssl.bat b/projects/build-openssl.bat
index d337b219..9fd49b78 100644
--- a/projects/build-openssl.bat
+++ b/projects/build-openssl.bat
@@ -156,7 +156,7 @@ rem ***************************************************************************
if not defined PERL_PATH (
rem Check we have Perl in our path
- rem using !! below as %% was having \Microsoft was unexecpted error.
+ rem using !! below as %% was having \Microsoft was unexpected error.
echo !PATH! | findstr /I /C:"\Perl" 1>nul
if errorlevel 1 (
rem It isn't so check we have it installed and set the path if it is
diff --git a/projects/wolfssl_options.h b/projects/wolfssl_options.h
index f6af47ca..1ca618f1 100644
--- a/projects/wolfssl_options.h
+++ b/projects/wolfssl_options.h
@@ -47,7 +47,7 @@ create the thread local storage and that could be a problem for LoadLibrary.
Regarding the options that were added via C_EXTRA_FLAGS:
FP_MAX_BITS=16384
-http://www.yassl.com/forums/topic423-cacertorgs-ca-cert-verify-failed-but-withdisablefastmath-it-works.html
+https://web.archive.org/web/20150218183550/www.yassl.com/forums/topic423-cacertorgs-ca-cert-verify-failed-but-withdisablefastmath-it-works.html
"Since root.crt uses a 4096-bit RSA key, you'll need to increase the fastmath
buffer size. You can do this using the define:
FP_MAX_BITS and setting it to 8192."
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index 32dc1b9e..15c08828 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -24,6 +24,8 @@ PERL = @PERL@
ZSH_COMPLETION_FUNCTION_FILENAME = _curl
+CLEANFILES = $(ZSH_COMPLETION_FUNCTION_FILENAME)
+
all-local: $(ZSH_COMPLETION_FUNCTION_FILENAME)
$(ZSH_COMPLETION_FUNCTION_FILENAME): zsh.pl
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 30c525c4..7e87f75e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -70,10 +70,6 @@ target_link_libraries( ${EXE_NAME} libcurl ${CURL_LIBS})
#SET_TARGET_PROPERTIES(${EXE_NAME} RUNTIME_OUTPUT_DIRECTORY "blah blah blah")
#SET_TARGET_PROPERTIES(${EXE_NAME} LIBRARY_OUTPUT_DIRECTORY "blah blah blah")
-# Add the postfix to the executable since it is not added automatically as for modules and shared libraries
-set_target_properties(${EXE_NAME} PROPERTIES
- DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
-
#INCLUDE(ModuleInstall OPTIONAL)
install(TARGETS ${EXE_NAME} EXPORT curl-target DESTINATION bin)
diff --git a/src/Makefile.am b/src/Makefile.am
index bfcd877f..2efc4e3e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -88,7 +88,7 @@ CLEANFILES = tool_hugehelp.c
# embedded text.
NROFF=env LC_ALL=C @NROFF@ @MANOPT@ # figured out by the configure script
-EXTRA_DIST = mkhelp.pl makefile.dj Makefile.b32 \
+EXTRA_DIST = mkhelp.pl makefile.dj \
Makefile.m32 macos/curl.mcp.xml.sit.hqx macos/MACINSTALL.TXT \
macos/src/curl_GUSIConfig.cpp macos/src/macos_main.cpp makefile.amiga \
curl.rc Makefile.netware Makefile.inc Makefile.Watcom CMakeLists.txt
diff --git a/src/Makefile.b32 b/src/Makefile.b32
deleted file mode 100644
index a60b3db7..00000000
--- a/src/Makefile.b32
+++ /dev/null
@@ -1,154 +0,0 @@
-#***************************************************************************
-# _ _ ____ _
-# Project ___| | | | _ \| |
-# / __| | | | |_) | |
-# | (__| |_| | _ <| |___
-# \___|\___/|_| \_\_____|
-#
-# Copyright (C) 2000, Jaepil Kim, <pit@paradise.net.nz>.
-# Copyright (C) 2001 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
-#
-# This software is licensed as described in the file COPYING, which
-# you should have received as part of this distribution. The terms
-# are also available at https://curl.haxx.se/docs/copyright.html.
-#
-# You may opt to use, copy, modify, merge, publish, distribute and/or sell
-# copies of the Software, and permit persons to whom the Software is
-# furnished to do so, under the terms of the COPYING file.
-#
-# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
-# KIND, either express or implied.
-#
-#***************************************************************************
-
-############################################################
-#
-# Makefile.b32 - Borland's C++ Compiler 5.X
-#
-# 'BCCDIR' has to be set up to point to the base directory
-# of the compiler, i.e. SET BCCDIR = c:\Borland\BCC55
-#
-############################################################
-
-!if "$(__MAKE__)" == ""
-!error __MAKE__ not defined. Use Borlands's MAKE to process this makefile.
-!endif
-
-# Borland's $(MAKEDIR) expands to the path where make.exe is located,
-# use this feature to define BCCDIR when user has not defined BCCDIR.
-!ifndef BCCDIR
-BCCDIR = $(MAKEDIR)\..
-!endif
-
-# Edit the path below to point to the base of your Zlib sources.
-!ifndef ZLIB_PATH
-ZLIB_PATH = ..\..\zlib-1.2.8
-!endif
-
-# Edit the path below to point to the base of your OpenSSL package.
-!ifndef OPENSSL_PATH
-OPENSSL_PATH = ..\..\openssl-1.0.2a
-!endif
-
-# Set program's name
-PROGNAME = curl.exe
-
-# Setup environment
-PP_CMD = cpp32 -q -P-
-CC_CMD = bcc32 -q -c
-LD = bcc32
-RM = del 2>NUL
-MKDIR = md
-RMDIR = rd /q 2>NUL
-COPY = $(COMSPEC) /c copy /y
-
-CC_FLAGS = -5 -O2 -tWM -w -w-aus -w-ccc -w-dup -w-prc -w-pro -w-rch -w-sig -w-spa -w-inl -w-pia -w-pin -Dinline=__inline
-LDFLAGS = -q -lq -lap
-
-SRCDIRS = .;..\lib
-OBJDIR = .\BCC_objs
-INCDIRS = -I.;..\include;..\lib
-LINKLIB = $(BCCDIR)\lib\cw32mt.lib $(BCCDIR)\lib\ws2_32.lib
-DEFINES = -DNDEBUG -DWIN32
-
-!ifdef DYNAMIC
-LIBCURL_LIB = ..\lib\libcurl_imp.lib
-!else
-LIBCURL_LIB = ..\lib\libcurl.lib
-DEFINES = $(DEFINES) -DCURL_STATICLIB
-!endif
-
-# ZLIB support is enabled setting WITH_ZLIB=1
-!ifdef WITH_ZLIB
-DEFINES = $(DEFINES) -DHAVE_LIBZ -DHAVE_ZLIB_H
-INCDIRS = $(INCDIRS);$(ZLIB_PATH)
-LINKLIB = $(LINKLIB) $(ZLIB_PATH)\zlib.lib
-!endif
-
-# SSL support is enabled setting WITH_SSL=1
-!ifdef WITH_SSL
-DEFINES = $(DEFINES) -DUSE_OPENSSL
-INCDIRS = $(INCDIRS);$(OPENSSL_PATH)\inc32;$(OPENSSL_PATH)\inc32\openssl
-LINKLIB = $(LINKLIB) $(OPENSSL_PATH)\out32\ssleay32.lib $(OPENSSL_PATH)\out32\libeay32.lib
-!endif
-
-.autodepend
-
-.path.c = $(SRCDIRS)
-.path.obj = $(OBJDIR)
-.path.int = $(OBJDIR)
-
-# Makefile.inc provides the CSOURCES and HHEADERS defines
-!include Makefile.inc
-
-CSOURCES = $(CURL_CFILES) $(CURLX_CFILES:../lib/=)
-OBJECTS = $(CSOURCES:.c=.obj)
-PREPROCESSED = $(CSOURCES:.c=.int)
-
-# Borland's command line compiler (BCC32) version 5.5.1 integrated
-# preprocessor has a bug which results in silently generating wrong
-# definitions for libcurl macros such as CURL_OFF_T_C, on the other
-# hand Borland's command line preprocessor (CPP32) version 5.5.1 does
-# not have the bug and achieves proper results. In order to avoid the
-# silent bug we first preprocess source files and later compile the
-# preprocessed result.
-
-.c.obj:
- @-$(RM) $(@R).int
- $(PP_CMD) $(CC_FLAGS) $(INCDIRS) $(DEFINES) -o$(@R).int $(<)
- $(CC_CMD) $(CC_FLAGS) -o$(@) $(@R).int
-
-all: $(OBJDIR) tool_hugehelp $(PROGNAME)
-
-clean:
- cd $(OBJDIR)
- @-$(RM) $(OBJECTS)
- @-$(RM) $(PREPROCESSED)
- cd ..
- @-$(RMDIR) $(OBJDIR)
- @-$(RM) $(PROGNAME)
- @-$(RM) curl.tds
-
-$(OBJDIR):
- @-$(RMDIR) $(OBJDIR)
- @-$(MKDIR) $(OBJDIR)
-
-!ifdef WITH_ZLIB
-tool_hugehelp: ..\docs\MANUAL ..\docs\curl.1 mkhelp.pl
- groff -Tascii -man -P -c ../docs/curl.1 > tool_hugehelp.tmp
- perl -w mkhelp.pl -c ../docs/MANUAL < tool_hugehelp.tmp > tool_hugehelp.c
- @-$(RM) tool_hugehelp.tmp
-!else
-tool_hugehelp:
- if exist ..\GIT-INFO $(COPY) tool_hugehelp.c.cvs tool_hugehelp.c
-!endif
-
-$(PROGNAME): $(OBJECTS) $(LIBCURL_LIB) $(LINKLIB)
- @-$(RM) $(PROGNAME)
- $(LD) $(LDFLAGS) -e$@ @&&!
-$(**: = ^
-)
-!
-
-
-# End of Makefile.b32
diff --git a/src/Makefile.m32 b/src/Makefile.m32
index 700cccfa..33e4ecfc 100644
--- a/src/Makefile.m32
+++ b/src/Makefile.m32
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1999 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1999 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -107,7 +107,7 @@ CFLAGS += -fno-strict-aliasing
LDFLAGS = $(CURL_LDFLAG_EXTRAS) $(CURL_LDFLAG_EXTRAS_EXE) -s
AR = $(CURL_AR)
RC = $(CROSSPREFIX)windres
-RCFLAGS = --include-dir=$(PROOT)/include -O COFF
+RCFLAGS = --include-dir=$(PROOT)/include -O COFF -DCURL_EMBED_MANIFEST
STRIP = $(CROSSPREFIX)strip -g
# We may need these someday
diff --git a/src/Makefile.netware b/src/Makefile.netware
index ebe6500e..53d803b2 100644
--- a/src/Makefile.netware
+++ b/src/Makefile.netware
@@ -178,7 +178,7 @@ endif
CFLAGS += -align 4
else
# PRELUDE = $(NDK_CLIB)/imports/clibpre.o
- # to avoid the __init_* / __deinit_* whoes don't use prelude from NDK
+ # to avoid the __init_* / __deinit_* woes don't use prelude from NDK
PRELUDE = "$(MWCW_PATH)/libraries/runtime/prelude.obj"
# CFLAGS += -include "$(MWCW_PATH)/headers/nlm_clib_prefix.h"
CFLAGS += -align 1
@@ -201,7 +201,7 @@ else
endif
else
# PRELUDE = $(NDK_CLIB)/imports/clibpre.gcc.o
- # to avoid the __init_* / __deinit_* whoes don't use prelude from NDK
+ # to avoid the __init_* / __deinit_* woes don't use prelude from NDK
# http://www.gknw.net/development/mk_nlm/gcc_pre.zip
PRELUDE = $(NDK_ROOT)/pre/prelude.o
CFLAGS += -include $(NDKBASE)/nlmconv/genlm.h
diff --git a/src/curl.rc b/src/curl.rc
index 5f49d223..d47f5063 100644
--- a/src/curl.rc
+++ b/src/curl.rc
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -61,3 +61,51 @@ BEGIN
VALUE "Translation", 0x409, 1200
END
END
+
+/* Manifest */
+
+#if defined(CURL_EMBED_MANIFEST)
+
+/* String escaping rules:
+ https://msdn.microsoft.com/library/aa381050
+ Application Manifest doc, including the list of 'supportedOS Id's:
+ https://msdn.microsoft.com/library/aa374191 */
+
+#ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID
+#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
+#endif
+#ifndef RT_MANIFEST
+#define RT_MANIFEST 24
+#endif
+
+#define _STR(macro) _STR_(macro)
+#define _STR_(macro) #macro
+
+CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST
+BEGIN
+ "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>"
+ "<assembly xmlns=""urn:schemas-microsoft-com:asm.v1"" manifestVersion=""1.0"">"
+ "<assemblyIdentity name=""The curl executable"" version="""
+ _STR(LIBCURL_VERSION_MAJOR) "."
+ _STR(LIBCURL_VERSION_MINOR) "."
+ _STR(LIBCURL_VERSION_PATCH) ".0"" type=""win32""/>"
+ "<compatibility xmlns=""urn:schemas-microsoft-com:compatibility.v1"">"
+ "<application>"
+ "<supportedOS Id=""{e2011457-1546-43c5-a5fe-008deee3d3f0}""/>" /* Vista / Server 2008 */
+ "<supportedOS Id=""{35138b9a-5d96-4fbd-8e2d-a2440225f93a}""/>" /* 7 / Server 2008 R2 */
+ "<supportedOS Id=""{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}""/>" /* 8 / Server 2012 */
+ "<supportedOS Id=""{1f676c76-80e1-4239-95bb-83d0f6d0da78}""/>" /* 8.1 / Server 2012 R2 */
+ "<supportedOS Id=""{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}""/>" /* 10 / Server 2016 */
+ "</application>"
+ "</compatibility>"
+ "<trustInfo xmlns=""urn:schemas-microsoft-com:asm.v3"">"
+ "<security>"
+ "<requestedPrivileges>"
+ "<requestedExecutionLevel level=""asInvoker"" uiAccess=""false""/>"
+ "</requestedPrivileges>"
+ "</security>"
+ "</trustInfo>"
+ "</assembly>"
+END
+
+#endif
diff --git a/src/tool_cb_dbg.c b/src/tool_cb_dbg.c
index 16bfb420..c2dd51b7 100644
--- a/src/tool_cb_dbg.c
+++ b/src/tool_cb_dbg.c
@@ -50,15 +50,15 @@ int tool_debug_cb(CURL *handle, curl_infotype type,
FILE *output = config->errors;
const char *text;
struct timeval tv;
- struct tm *now;
char timebuf[20];
time_t secs;
- static time_t epoch_offset;
- static int known_offset;
(void)handle; /* not used */
if(config->tracetime) {
+ struct tm *now;
+ static time_t epoch_offset;
+ static int known_offset;
tv = tvnow();
if(!known_offset) {
epoch_offset = time(NULL) - tv.tv_sec;
@@ -101,14 +101,14 @@ int tool_debug_cb(CURL *handle, curl_infotype type,
static const char * const s_infotype[] = {
"*", "<", ">", "{", "}", "{", "}"
};
- size_t i;
- size_t st = 0;
static bool newl = FALSE;
static bool traced_data = FALSE;
switch(type) {
case CURLINFO_HEADER_OUT:
if(size > 0) {
+ size_t st = 0;
+ size_t i;
for(i = 0; i < size - 1; i++) {
if(data[i] == '\n') { /* LF */
if(!newl) {
diff --git a/src/tool_cb_hdr.c b/src/tool_cb_hdr.c
index 7f2181f4..88ce5e13 100644
--- a/src/tool_cb_hdr.c
+++ b/src/tool_cb_hdr.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -31,11 +31,20 @@
#include "tool_doswin.h"
#include "tool_msgs.h"
#include "tool_cb_hdr.h"
+#include "tool_cb_wrt.h"
#include "memdebug.h" /* keep this as LAST include */
static char *parse_filename(const char *ptr, size_t len);
+#ifdef WIN32
+#define BOLD
+#define BOLDOFF
+#else
+#define BOLD "\x1b[1m"
+#define BOLDOFF "\x1b[21m"
+#endif
+
/*
** callback for CURLOPT_HEADERFUNCTION
*/
@@ -48,7 +57,7 @@ size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
const char *str = ptr;
const size_t cb = size * nmemb;
const char *end = (char *)ptr + cb;
- char *url = NULL;
+ long protocol = 0;
/*
* Once that libcurl has called back tool_header_cb() the returned value
@@ -88,12 +97,15 @@ size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
* Content-Disposition header specifying a filename property.
*/
+ curl_easy_getinfo(outs->config->easy, CURLINFO_PROTOCOL, &protocol);
if(hdrcbdata->honor_cd_filename &&
(cb > 20) && checkprefix("Content-disposition:", str) &&
- !curl_easy_getinfo(outs->config->easy, CURLINFO_EFFECTIVE_URL, &url) &&
- url && (checkprefix("http://", url) || checkprefix("https://", url))) {
+ (protocol & (CURLPROTO_HTTPS|CURLPROTO_HTTP))) {
const char *p = str + 20;
+ if(!outs->stream && !tool_create_output_file(outs, FALSE))
+ return failure;
+
/* look for the 'filename=' parameter
(encoded filenames (*=) are not supported) */
for(;;) {
@@ -119,19 +131,49 @@ size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
len = (ssize_t)cb - (p - str);
filename = parse_filename(p, len);
if(filename) {
- outs->filename = filename;
- outs->alloc_filename = TRUE;
+ if(outs->stream) {
+ /* already opened and possibly written to */
+ if(outs->fopened)
+ fclose(outs->stream);
+ outs->stream = NULL;
+
+ /* rename the initial file name to the new file name */
+ rename(outs->filename, filename);
+ if(outs->alloc_filename)
+ free(outs->filename);
+ }
outs->is_cd_filename = TRUE;
outs->s_isreg = TRUE;
outs->fopened = FALSE;
- outs->stream = NULL;
- hdrcbdata->honor_cd_filename = FALSE;
- break;
+ outs->filename = filename;
+ outs->alloc_filename = TRUE;
+ hdrcbdata->honor_cd_filename = FALSE; /* done now! */
+ if(!tool_create_output_file(outs, TRUE))
+ return failure;
}
- return failure;
+ break;
}
}
+ if(hdrcbdata->config->show_headers &&
+ (protocol & (CURLPROTO_HTTP|CURLPROTO_HTTPS|CURLPROTO_RTSP))) {
+ /* bold headers only happen for HTTP(S) and RTSP */
+ char *value = NULL;
+
+ if(!outs->stream && !tool_create_output_file(outs, FALSE))
+ return failure;
+
+ if(hdrcbdata->global->isatty && hdrcbdata->global->styled_output)
+ value = memchr(ptr, ':', cb);
+ if(value) {
+ size_t namelen = value - ptr;
+ fprintf(outs->stream, BOLD "%.*s" BOLDOFF ":", namelen, ptr);
+ fwrite(&value[1], cb - namelen - 1, 1, outs->stream);
+ }
+ else
+ /* not "handled", just show it */
+ fwrite(ptr, cb, 1, outs->stream);
+ }
return cb;
}
@@ -233,4 +275,3 @@ static char *parse_filename(const char *ptr, size_t len)
return copy;
}
-
diff --git a/src/tool_cb_hdr.h b/src/tool_cb_hdr.h
index 32032e98..e1b9a920 100644
--- a/src/tool_cb_hdr.h
+++ b/src/tool_cb_hdr.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -39,6 +39,8 @@
*/
struct HdrCbData {
+ struct GlobalConfig *global;
+ struct OperationConfig *config;
struct OutStruct *outs;
struct OutStruct *heads;
bool honor_cd_filename;
diff --git a/src/tool_cb_prg.c b/src/tool_cb_prg.c
index 60a3804f..3eb2c125 100644
--- a/src/tool_cb_prg.c
+++ b/src/tool_cb_prg.c
@@ -113,12 +113,6 @@ int tool_progress_cb(void *clientp,
/* The original progress-bar source code was written for curl by Lars Aas,
and this new edition inherits some of his concepts. */
- char line[MAX_BARLENGTH + 1];
- char format[40];
- double frac;
- double percent;
- int barwidth;
- int num;
struct timeval now = tvnow();
struct ProgressData *bar = (struct ProgressData *)clientp;
curl_off_t total;
@@ -154,6 +148,12 @@ int tool_progress_cb(void *clientp,
bar->calls++;
if((total > 0) && (point != bar->prev)) {
+ char line[MAX_BARLENGTH + 1];
+ char format[40];
+ double frac;
+ double percent;
+ int barwidth;
+ int num;
if(point > total)
/* we have got more than the expected total! */
total = point;
diff --git a/src/tool_cb_wrt.c b/src/tool_cb_wrt.c
index 6716ba5c..476fef9a 100644
--- a/src/tool_cb_wrt.c
+++ b/src/tool_cb_wrt.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -32,7 +32,8 @@
#include "memdebug.h" /* keep this as LAST include */
/* create a local file for writing, return TRUE on success */
-bool tool_create_output_file(struct OutStruct *outs)
+bool tool_create_output_file(struct OutStruct *outs,
+ bool append)
{
struct GlobalConfig *global = outs->config->global;
FILE *file;
@@ -42,7 +43,7 @@ bool tool_create_output_file(struct OutStruct *outs)
return FALSE;
}
- if(outs->is_cd_filename) {
+ if(outs->is_cd_filename && !append) {
/* don't overwrite existing files */
file = fopen(outs->filename, "rb");
if(file) {
@@ -54,7 +55,7 @@ bool tool_create_output_file(struct OutStruct *outs)
}
/* open file for writing */
- file = fopen(outs->filename, "wb");
+ file = fopen(outs->filename, append?"ab":"wb");
if(!file) {
warnf(global, "Failed to create the file %s: %s\n", outs->filename,
strerror(errno));
@@ -97,7 +98,7 @@ size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
}
}
- if(config->include_headers) {
+ if(config->show_headers) {
if(bytes > (size_t)CURL_MAX_HTTP_HEADER) {
warnf(config->global, "Header data size exceeds single call write "
"limit!\n");
@@ -141,7 +142,7 @@ size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata)
}
#endif
- if(!outs->stream && !tool_create_output_file(outs))
+ if(!outs->stream && !tool_create_output_file(outs, FALSE))
return failure;
if(is_tty && (outs->bytes < 2000) && !config->terminal_binary_ok) {
diff --git a/src/tool_cb_wrt.h b/src/tool_cb_wrt.h
index 4ccbf3a5..2b6e98ae 100644
--- a/src/tool_cb_wrt.h
+++ b/src/tool_cb_wrt.h
@@ -7,7 +7,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -30,7 +30,7 @@
size_t tool_write_cb(char *buffer, size_t sz, size_t nmemb, void *userdata);
/* create a local file for writing, return TRUE on success */
-bool tool_create_output_file(struct OutStruct *outs);
+bool tool_create_output_file(struct OutStruct *outs, bool append);
#endif /* HEADER_CURL_TOOL_CB_WRT_H */
diff --git a/src/tool_cfgable.h b/src/tool_cfgable.h
index 9abaa9d3..a0363e9a 100644
--- a/src/tool_cfgable.h
+++ b/src/tool_cfgable.h
@@ -100,7 +100,7 @@ struct OperationConfig {
bool use_ascii; /* select ascii or text transfer */
bool autoreferer; /* automatically set referer */
bool failonerror; /* fail on (HTTP) errors */
- bool include_headers; /* send headers to data output */
+ bool show_headers; /* show headers to data output */
bool no_body; /* don't get the body */
bool dirlistonly; /* only get the FTP dir list */
bool followlocation; /* follow http redirects */
@@ -117,6 +117,8 @@ struct OperationConfig {
struct getout *url_ul; /* point to the node to fill in upload */
char *cipher_list;
char *proxy_cipher_list;
+ char *cipher13_list;
+ char *proxy_cipher13_list;
char *cert;
char *proxy_cert;
char *cert_type;
@@ -252,7 +254,8 @@ struct OperationConfig {
bool ssh_compression; /* enable/disable SSH compression */
long happy_eyeballs_timeout_ms; /* happy eyeballs timeout in milliseconds.
0 is valid. default: CURL_HET_DEFAULT. */
- bool haproxy_protocol; /* whether to send HAProxy PROXY protocol */
+ bool haproxy_protocol; /* whether to send HAProxy protocol v1 */
+ bool disallow_username_in_url; /* disallow usernames in URLs */
struct GlobalConfig *global;
struct OperationConfig *prev;
struct OperationConfig *next; /* Always last in the struct */
@@ -276,6 +279,7 @@ struct GlobalConfig {
int progressmode; /* CURL_PROGRESS_BAR / CURL_PROGRESS_STATS */
char *libcurl; /* Output libcurl code to this file name */
bool fail_early; /* exit on first transfer error */
+ bool styled_output; /* enable fancy output style detection */
struct OperationConfig *first;
struct OperationConfig *current;
struct OperationConfig *last; /* Always last in the struct */
diff --git a/src/tool_formparse.c b/src/tool_formparse.c
index 5313b344..5d1ea9c5 100644
--- a/src/tool_formparse.c
+++ b/src/tool_formparse.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -123,13 +123,12 @@ static int read_field_headers(struct OperationConfig *config,
{
size_t hdrlen = 0;
size_t pos = 0;
- int c;
bool incomment = FALSE;
int lineno = 1;
char hdrbuf[999]; /* Max. header length + 1. */
for(;;) {
- c = getc(fp);
+ int c = getc(fp);
if(c == EOF || (!pos && !ISSPACE(c))) {
/* Strip and flush the current header. */
while(hdrlen && ISSPACE(hdrbuf[hdrlen - 1]))
@@ -168,12 +167,12 @@ static int read_field_headers(struct OperationConfig *config,
pos++;
if(!incomment) {
- if(hdrlen == sizeof hdrbuf - 1) {
+ if(hdrlen == sizeof(hdrbuf) - 1) {
warnf(config->global, "File %s line %d: header too long (truncated)\n",
filename, lineno);
c = ' ';
}
- if(hdrlen <= sizeof hdrbuf - 1)
+ if(hdrlen <= sizeof(hdrbuf) - 1)
hdrbuf[hdrlen++] = (char) c;
}
}
@@ -451,7 +450,7 @@ static CURLcode file_or_stdin(curl_mimepart *part, const char *file)
if(strcmp(file, "-"))
return curl_mime_filedata(part, file);
- sip = (standard_input *) calloc(1, sizeof *sip);
+ sip = (standard_input *) calloc(1, sizeof(*sip));
if(!sip)
return CURLE_OUT_OF_MEMORY;
@@ -563,7 +562,6 @@ int formparse(struct OperationConfig *config,
struct curl_slist *headers = NULL;
curl_mimepart *part = NULL;
CURLcode res;
- int sep = '\0';
/* Allocate the main mime structure if needed. */
if(!*mimepost) {
@@ -585,6 +583,7 @@ int formparse(struct OperationConfig *config,
/* Scan for the end of the name. */
contp = strchr(contents, '=');
if(contp) {
+ int sep = '\0';
if(contp > contents)
name = contents;
*contp++ = '\0';
diff --git a/src/tool_getparam.c b/src/tool_getparam.c
index 19454c84..cc3fcf3a 100644
--- a/src/tool_getparam.c
+++ b/src/tool_getparam.c
@@ -82,6 +82,7 @@ static const struct LongShort aliases[]= {
{"*d", "ciphers", ARG_STRING},
{"*D", "dns-interface", ARG_STRING},
{"*e", "disable-epsv", ARG_BOOL},
+ {"*f", "disallow-username-in-url", ARG_BOOL},
{"*E", "epsv", ARG_BOOL},
/* 'epsv' made like this to make --no-epsv and --epsv to work
although --disable-epsv is the documented option */
@@ -201,6 +202,8 @@ static const struct LongShort aliases[]= {
{"11", "tlsv1.1", ARG_NONE},
{"12", "tlsv1.2", ARG_NONE},
{"13", "tlsv1.3", ARG_NONE},
+ {"1A", "tls13-ciphers", ARG_STRING},
+ {"1B", "proxy-tls13-ciphers", ARG_STRING},
{"2", "sslv2", ARG_NONE},
{"3", "sslv3", ARG_NONE},
{"4", "ipv4", ARG_NONE},
@@ -260,6 +263,7 @@ static const struct LongShort aliases[]= {
{"EB", "socks5-gssapi", ARG_BOOL},
{"f", "fail", ARG_BOOL},
{"fa", "fail-early", ARG_BOOL},
+ {"fb", "styled-output", ARG_BOOL},
{"F", "form", ARG_STRING},
{"Fs", "form-string", ARG_STRING},
{"g", "globoff", ARG_BOOL},
@@ -502,8 +506,7 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
*usedarg = FALSE; /* default is that we don't use the arg */
- if(('-' != flag[0]) ||
- (('-' == flag[0]) && ('-' == flag[1]))) {
+ if(('-' != flag[0]) || ('-' == flag[1])) {
/* this should be a long name */
const char *word = ('-' == flag[0]) ? flag + 2 : flag;
size_t fnam = strlen(word);
@@ -600,6 +603,7 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
break;
case 'B': /* OAuth 2.0 bearer token */
GetStr(&config->oauth_bearer, nextarg);
+ config->authtype |= CURLAUTH_BEARER;
break;
case 'c': /* connect-timeout */
err = str2udouble(&config->connecttimeout, nextarg,
@@ -617,6 +621,9 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
case 'e': /* --disable-epsv */
config->disable_epsv = toggle;
break;
+ case 'f': /* --disallow-username-in-url */
+ config->disallow_username_in_url = toggle;
+ break;
case 'E': /* --epsv */
config->disable_epsv = (!toggle)?TRUE:FALSE;
break;
@@ -1175,6 +1182,12 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
/* TLS version 1.3 */
config->ssl_version = CURL_SSLVERSION_TLSv1_3;
break;
+ case 'A': /* --tls13-ciphers */
+ GetStr(&config->cipher13_list, nextarg);
+ break;
+ case 'B': /* --proxy-tls13-ciphers */
+ GetStr(&config->proxy_cipher13_list, nextarg);
+ break;
}
break;
case '2':
@@ -1643,8 +1656,10 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
case 'a': /* --fail-early */
global->fail_early = toggle;
break;
- default:
- /* fail hard on errors */
+ case 'b': /* --styled-output */
+ global->styled_output = toggle;
+ break;
+ default: /* --fail (hard on errors) */
config->failonerror = toggle;
}
break;
@@ -1722,24 +1737,22 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
}
break;
case 'i':
- config->include_headers = toggle; /* include the headers as well in the
- general output stream */
+ config->show_headers = toggle; /* show the headers as well in the
+ general output stream */
break;
case 'j':
config->cookiesession = toggle;
break;
- case 'I':
- /*
- * no_body will imply include_headers later on
- */
+ case 'I': /* --head */
config->no_body = toggle;
+ config->show_headers = toggle;
if(SetHTTPrequest(config,
(config->no_body)?HTTPREQ_HEAD:HTTPREQ_GET,
&config->httpreq))
return PARAM_BAD_USE;
break;
case 'J': /* --remote-header-name */
- if(config->include_headers) {
+ if(config->show_headers) {
warnf(global,
"--include and --remote-header-name cannot be combined.\n");
return PARAM_BAD_USE;
@@ -2141,7 +2154,6 @@ ParameterError parse_args(struct GlobalConfig *config, int argc,
orig_opt = argv[i];
if(stillflags && ('-' == argv[i][0])) {
- char *nextarg;
bool passarg;
char *flag = argv[i];
@@ -2150,7 +2162,7 @@ ParameterError parse_args(struct GlobalConfig *config, int argc,
following (URL) argument to start with -. */
stillflags = FALSE;
else {
- nextarg = (i < (argc - 1)) ? argv[i + 1] : NULL;
+ char *nextarg = (i < (argc - 1)) ? argv[i + 1] : NULL;
result = getparameter(flag, nextarg, &passarg, config, operation);
if(result == PARAM_NEXT_OPERATION) {
diff --git a/src/tool_help.c b/src/tool_help.c
index 6f5ad08d..b829e76e 100644
--- a/src/tool_help.c
+++ b/src/tool_help.c
@@ -108,6 +108,8 @@ static const struct helptxt helptext[] = {
"Inhibit using EPRT or LPRT"},
{" --disable-epsv",
"Inhibit using EPSV"},
+ {" --disallow-username-in-url",
+ "Disallow username in url"},
{" --dns-interface <interface>",
"Interface to use for DNS requests"},
{" --dns-ipv4-addr <address>",
@@ -160,12 +162,12 @@ static const struct helptxt helptext[] = {
"Put the post data in the URL and use GET"},
{"-g, --globoff",
"Disable URL sequences and ranges using {} and []"},
- {" --happy-eyeballs-timeout-ms",
+ {" --happy-eyeballs-timeout-ms <milliseconds>",
"How long to wait in milliseconds for IPv6 before trying IPv4"},
+ {" --haproxy-protocol",
+ "Send HAProxy PROXY protocol v1 header"},
{"-I, --head",
"Show document info only"},
- {" --haproxy-protocol",
- "Send HAProxy PROXY protocol header"},
{"-H, --header <header/@file>",
"Pass custom header(s) to server"},
{"-h, --help",
@@ -297,7 +299,7 @@ static const struct helptxt helptext[] = {
{" --proxy-cert <cert[:passwd]>",
"Set client certificate for proxy"},
{" --proxy-cert-type <type>",
- "Client certificate type for HTTS proxy"},
+ "Client certificate type for HTTPS proxy"},
{" --proxy-ciphers <list>",
"SSL ciphers to use for proxy"},
{" --proxy-crlfile <file>",
@@ -324,6 +326,8 @@ static const struct helptxt helptext[] = {
"SPNEGO proxy service name"},
{" --proxy-ssl-allow-beast",
"Allow security flaw for interop for HTTPS proxy"},
+ {" --proxy-tls13-ciphers <ciphersuite list>",
+ "TLS 1.3 proxy cipher suites"},
{" --proxy-tlsauthtype <type>",
"TLS authentication type for HTTPS proxy"},
{" --proxy-tlspassword <string>",
@@ -337,7 +341,7 @@ static const struct helptxt helptext[] = {
{" --proxy1.0 <host[:port]>",
"Use HTTP/1.0 proxy on given port"},
{"-p, --proxytunnel",
- "Operate through a HTTP proxy tunnel (using CONNECT)"},
+ "Operate through an HTTP proxy tunnel (using CONNECT)"},
{" --pubkey <key>",
"SSH Public key file name"},
{"-Q, --quote",
@@ -362,7 +366,7 @@ static const struct helptxt helptext[] = {
"Specify request command to use"},
{" --request-target",
"Specify the target for this request"},
- {" --resolve <host:port:address>",
+ {" --resolve <host:port:address[,address]...>",
"Resolve the host+port to this address"},
{" --retry <num>",
"Retry request if transient problems occur"},
@@ -414,6 +418,8 @@ static const struct helptxt helptext[] = {
"Use SSLv3"},
{" --stderr",
"Where to redirect stderr"},
+ {" --styled-output",
+ "Enable styled output for HTTP headers"},
{" --suppress-connect-headers",
"Suppress proxy CONNECT response headers"},
{" --tcp-fastopen",
@@ -430,6 +436,8 @@ static const struct helptxt helptext[] = {
"Transfer based on a time condition"},
{" --tls-max <VERSION>",
"Use TLSv1.0 or greater"},
+ {" --tls13-ciphers <list of TLS 1.3 ciphersuites>",
+ "TLS 1.3 cipher suites to use"},
{" --tlsauthtype <type>",
"TLS authentication type"},
{" --tlspassword",
diff --git a/src/tool_hugehelp.c b/src/tool_hugehelp.c
index f5b1d912..7319d90b 100644
--- a/src/tool_hugehelp.c
+++ b/src/tool_hugehelp.c
@@ -293,9 +293,9 @@ void hugehelp(void)
" Added in 7.41.0.\n"
"\n"
" --cert-type <type>\n"
-" (TLS) Tells curl what certificate type the provided certificate\n"
-" is in. PEM, DER and ENG are recognized types. If not specified,\n"
-" PEM is assumed.\n"
+" (TLS) Tells curl what type the provided client certificate is\n"
+" using. PEM, DER, ENG and P12 are recognized types. If not spec-\n"
+" ified, PEM is assumed.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
"\n"
@@ -720,127 +720,134 @@ void hugehelp(void)
" instead.\n"
"\n"
" See also --data-binary and --data-urlencode and --data-raw. This\n"
-" option overrides -F, --form and -I, --head and --upload.\n"
-"\n"
+" option overrides -F, --form and -I, --head and -T, --upload-\n"
, stdout);
fputs(
+" file.\n"
+"\n"
" --delegation <LEVEL>\n"
-" (GSS/kerberos) Set LEVEL to tell the server what it is allowed\n"
+" (GSS/kerberos) Set LEVEL to tell the server what it is allowed\n"
" to delegate when it comes to user credentials.\n"
"\n"
" none Don't allow any delegation.\n"
"\n"
-" policy Delegates if and only if the OK-AS-DELEGATE flag is set\n"
-" in the Kerberos service ticket, which is a matter of\n"
+" policy Delegates if and only if the OK-AS-DELEGATE flag is set\n"
+" in the Kerberos service ticket, which is a matter of\n"
" realm policy.\n"
"\n"
+, stdout);
+ fputs(
" always Unconditionally allow the server to delegate.\n"
"\n"
" --digest\n"
-, stdout);
- fputs(
-" (HTTP) Enables HTTP Digest authentication. This is an authenti-\n"
-" cation scheme that prevents the password from being sent over\n"
-" the wire in clear text. Use this in combination with the normal\n"
+" (HTTP) Enables HTTP Digest authentication. This is an authenti-\n"
+" cation scheme that prevents the password from being sent over\n"
+" the wire in clear text. Use this in combination with the normal\n"
" -u, --user option to set user name and password.\n"
"\n"
-" If this option is used several times, only the first one is\n"
+" If this option is used several times, only the first one is\n"
" used.\n"
"\n"
-" See also -u, --user and --proxy-digest and --anyauth. This\n"
, stdout);
fputs(
+" See also -u, --user and --proxy-digest and --anyauth. This\n"
" option overrides --basic and --ntlm and --negotiate.\n"
"\n"
" --disable-eprt\n"
" (FTP) Tell curl to disable the use of the EPRT and LPRT commands\n"
" when doing active FTP transfers. Curl will normally always first\n"
-" attempt to use EPRT, then LPRT before using PORT, but with this\n"
-" option, it will use PORT right away. EPRT and LPRT are exten-\n"
-" sions to the original FTP protocol, and may not work on all\n"
+" attempt to use EPRT, then LPRT before using PORT, but with this\n"
+" option, it will use PORT right away. EPRT and LPRT are exten-\n"
, stdout);
fputs(
+" sions to the original FTP protocol, and may not work on all\n"
" servers, but they enable more functionality in a better way than\n"
" the traditional PORT command.\n"
"\n"
" --eprt can be used to explicitly enable EPRT again and --no-eprt\n"
" is an alias for --disable-eprt.\n"
"\n"
-" If the server is accessed using IPv6, this option will have no\n"
+" If the server is accessed using IPv6, this option will have no\n"
" effect as EPRT is necessary then.\n"
"\n"
-" Disabling EPRT only changes the active behavior. If you want to\n"
, stdout);
fputs(
-" switch to passive mode you need to not use -P, --ftp-port or\n"
+" Disabling EPRT only changes the active behavior. If you want to\n"
+" switch to passive mode you need to not use -P, --ftp-port or\n"
" force it with --ftp-pasv.\n"
"\n"
" --disable-epsv\n"
-" (FTP) (FTP) Tell curl to disable the use of the EPSV command\n"
-" when doing passive FTP transfers. Curl will normally always\n"
-" first attempt to use EPSV before PASV, but with this option, it\n"
+" (FTP) (FTP) Tell curl to disable the use of the EPSV command\n"
+" when doing passive FTP transfers. Curl will normally always\n"
+" first attempt to use EPSV before PASV, but with this option, it\n"
" will not try using EPSV.\n"
"\n"
-" --epsv can be used to explicitly enable EPSV again and --no-epsv\n"
, stdout);
fputs(
+" --epsv can be used to explicitly enable EPSV again and --no-epsv\n"
" is an alias for --disable-epsv.\n"
"\n"
-" If the server is an IPv6 host, this option will have no effect\n"
+" If the server is an IPv6 host, this option will have no effect\n"
" as EPSV is necessary then.\n"
"\n"
" Disabling EPSV only changes the passive behavior. If you want to\n"
" switch to active mode you need to use -P, --ftp-port.\n"
"\n"
" -q, --disable\n"
-" If used as the first parameter on the command line, the curlrc\n"
-" config file will not be read and used. See the -K, --config for\n"
+" If used as the first parameter on the command line, the curlrc\n"
, stdout);
fputs(
+" config file will not be read and used. See the -K, --config for\n"
" details on the default config file search path.\n"
"\n"
+" --disallow-username-in-url\n"
+" (HTTP) This tells curl to exit if passed a url containing a\n"
+" username.\n"
+"\n"
+" See also --proto. Added in 7.61.0.\n"
+"\n"
" --dns-interface <interface>\n"
" (DNS) Tell curl to send outgoing DNS requests through <inter-\n"
+, stdout);
+ fputs(
" face>. This option is a counterpart to --interface (which does\n"
" not affect DNS). The supplied string must be an interface name\n"
" (not an address).\n"
"\n"
" See also --dns-ipv4-addr and --dns-ipv6-addr. --dns-interface\n"
-, stdout);
- fputs(
" requires that the underlying libcurl was built to support c-\n"
" ares. Added in 7.33.0.\n"
"\n"
" --dns-ipv4-addr <address>\n"
" (DNS) Tell curl to bind to <ip-address> when making IPv4 DNS\n"
+, stdout);
+ fputs(
" requests, so that the DNS requests originate from this address.\n"
" The argument should be a single IPv4 address.\n"
"\n"
" See also --dns-interface and --dns-ipv6-addr. --dns-ipv4-addr\n"
-, stdout);
- fputs(
" requires that the underlying libcurl was built to support c-\n"
" ares. Added in 7.33.0.\n"
"\n"
" --dns-ipv6-addr <address>\n"
" (DNS) Tell curl to bind to <ip-address> when making IPv6 DNS\n"
+, stdout);
+ fputs(
" requests, so that the DNS requests originate from this address.\n"
" The argument should be a single IPv6 address.\n"
"\n"
" See also --dns-interface and --dns-ipv4-addr. --dns-ipv6-addr\n"
-, stdout);
- fputs(
" requires that the underlying libcurl was built to support c-\n"
" ares. Added in 7.33.0.\n"
"\n"
" --dns-servers <addresses>\n"
" Set the list of DNS servers to be used instead of the system\n"
+, stdout);
+ fputs(
" default. The list of IP addresses should be separated with com-\n"
" mas. Port numbers may also optionally be given as :<port-number>\n"
" after each IP address.\n"
"\n"
-, stdout);
- fputs(
" --dns-servers requires that the underlying libcurl was built to\n"
" support c-ares. Added in 7.33.0.\n"
"\n"
@@ -848,25 +855,25 @@ void hugehelp(void)
" (HTTP FTP) Write the received protocol headers to the specified\n"
" file.\n"
"\n"
+, stdout);
+ fputs(
" This option is handy to use when you want to store the headers\n"
" that an HTTP site sends to you. Cookies from the headers could\n"
" then be read in a second curl invocation by using the -b,\n"
-, stdout);
- fputs(
" --cookie option! The -c, --cookie-jar option is a better way to\n"
" store cookies.\n"
"\n"
" When used in FTP, the FTP server response lines are considered\n"
" being \"headers\" and thus are saved there.\n"
"\n"
+, stdout);
+ fputs(
" If this option is used several times, the last one will be used.\n"
"\n"
" See also -o, --output.\n"
"\n"
" --egd-file <file>\n"
" (TLS) Specify the path name to the Entropy Gathering Daemon\n"
-, stdout);
- fputs(
" socket. The socket is used to seed the random engine for SSL\n"
" connections.\n"
"\n"
@@ -874,37 +881,39 @@ void hugehelp(void)
"\n"
" --engine <name>\n"
" (TLS) Select the OpenSSL crypto engine to use for cipher opera-\n"
+, stdout);
+ fputs(
" tions. Use --engine list to print a list of build-time supported\n"
" engines. Note that not all (or none) of the engines may be\n"
" available at run-time.\n"
"\n"
" --expect100-timeout <seconds>\n"
-, stdout);
- fputs(
" (HTTP) Maximum time in seconds that you allow curl to wait for a\n"
" 100-continue response when curl emits an Expects: 100-continue\n"
" header in its request. By default curl will wait one second.\n"
+, stdout);
+ fputs(
" This option accepts decimal values! When curl stops waiting, it\n"
" will continue as if the response has been received.\n"
"\n"
" See also --connect-timeout. Added in 7.47.0.\n"
"\n"
" --fail-early\n"
-, stdout);
- fputs(
" Fail and exit on the first detected transfer error.\n"
"\n"
" When curl is used to do multiple transfers on the command line,\n"
" it will attempt to operate on each given URL, one by one. By\n"
+, stdout);
+ fputs(
" default, it will ignore errors if there are more URLs given and\n"
" the last URL's success will determine the error code curl\n"
" returns. So early failures will be \"hidden\" by subsequent suc-\n"
" cessful transfers.\n"
"\n"
-, stdout);
- fputs(
" Using this option, curl will instead return an error on the\n"
" first transfer that fails, independent of the amount of URLs\n"
+, stdout);
+ fputs(
" that are given on the command line. This way, no transfer fail-\n"
" ures go undetected by scripts and similar.\n"
"\n"
@@ -912,10 +921,10 @@ void hugehelp(void)
" use of -:, --next.\n"
"\n"
" This option does not imply -f, --fail, which causes transfers to\n"
-, stdout);
- fputs(
" fail due to the server's HTTP status code. You can combine the\n"
" two options, however note -f, --fail is not global and is there-\n"
+, stdout);
+ fputs(
" fore contained by -:, --next.\n"
"\n"
" Added in 7.52.0.\n"
@@ -924,10 +933,10 @@ void hugehelp(void)
" (HTTP) Fail silently (no output at all) on server errors. This\n"
" is mostly done to better enable scripts etc to better deal with\n"
" failed attempts. In normal cases when an HTTP server fails to\n"
-, stdout);
- fputs(
" deliver a document, it returns an HTML document stating so\n"
" (which often also describes why and more). This flag will pre-\n"
+, stdout);
+ fputs(
" vent curl from outputting that and return error 22.\n"
"\n"
" This method is not fail-safe and there are occasions where non-\n"
@@ -935,10 +944,10 @@ void hugehelp(void)
" authentication is involved (response codes 401 and 407).\n"
"\n"
" --false-start\n"
-, stdout);
- fputs(
" (TLS) Tells curl to use false start during the TLS handshake.\n"
" False start is a mode where a TLS client will start sending\n"
+, stdout);
+ fputs(
" application data before verifying the server's Finished message,\n"
" thus saving a round trip when performing a full handshake.\n"
"\n"
@@ -947,21 +956,21 @@ void hugehelp(void)
"\n"
" Added in 7.42.0.\n"
"\n"
-, stdout);
- fputs(
" --form-string <name=string>\n"
" (HTTP SMTP IMAP) Similar to -F, --form except that the value\n"
+, stdout);
+ fputs(
" string for the named parameter is used literally. Leading '@'\n"
" and '<' characters, and the ';type=' string in the value have no\n"
" special meaning. Use this in preference to -F, --form if there's\n"
" any possibility that the string value may accidentally trigger\n"
" the '@' or '<' features of -F, --form.\n"
"\n"
-, stdout);
- fputs(
" See also -F, --form.\n"
"\n"
" -F, --form <name=content>\n"
+, stdout);
+ fputs(
" (HTTP SMTP IMAP) For HTTP protocol family, this lets curl emu-\n"
" late a filled-in form in which a user has pressed the submit\n"
" button. This causes curl to POST data using the Content-Type\n"
@@ -1123,13 +1132,14 @@ void hugehelp(void)
"\n"
" This option can be used multiple times.\n"
"\n"
-" This option overrides -d, --data and -I, --head and --upload.\n"
+" This option overrides -d, --data and -I, --head and -T,\n"
+" --upload-file.\n"
"\n"
" --ftp-account <data>\n"
-" (FTP) When an FTP server asks for \"account data\" after user name\n"
, stdout);
fputs(
-" and password has been provided, this data is sent off using the\n"
+" (FTP) When an FTP server asks for \"account data\" after user name\n"
+" and password has been provided, this data is sent off using the\n"
" ACCT command.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -1137,213 +1147,216 @@ void hugehelp(void)
" Added in 7.13.0.\n"
"\n"
" --ftp-alternative-to-user <command>\n"
-" (FTP) If authenticating with the USER and PASS commands fails,\n"
-" send this command. When connecting to Tumbleweed's Secure\n"
-" Transport server over FTPS using a client certificate, using\n"
+" (FTP) If authenticating with the USER and PASS commands fails,\n"
, stdout);
fputs(
-" \"SITE AUTH\" will tell the server to retrieve the username from\n"
+" send this command. When connecting to Tumbleweed's Secure\n"
+" Transport server over FTPS using a client certificate, using\n"
+" \"SITE AUTH\" will tell the server to retrieve the username from\n"
" the certificate.\n"
" Added in 7.15.5.\n"
"\n"
" --ftp-create-dirs\n"
-" (FTP SFTP) When an FTP or SFTP URL/operation uses a path that\n"
-" doesn't currently exist on the server, the standard behavior of\n"
+" (FTP SFTP) When an FTP or SFTP URL/operation uses a path that\n"
+" doesn't currently exist on the server, the standard behavior of\n"
+, stdout);
+ fputs(
" curl is to fail. Using this option, curl will instead attempt to\n"
" create missing directories.\n"
"\n"
" See also --create-dirs.\n"
"\n"
-, stdout);
- fputs(
" --ftp-method <method>\n"
-" (FTP) Control what method curl should use to reach a file on an\n"
-" FTP(S) server. The method argument should be one of the follow-\n"
+" (FTP) Control what method curl should use to reach a file on an\n"
+" FTP(S) server. The method argument should be one of the follow-\n"
" ing alternatives:\n"
"\n"
" multicwd\n"
-" curl does a single CWD operation for each path part in\n"
-" the given URL. For deep hierarchies this means very many\n"
-" commands. This is how RFC 1738 says it should be done.\n"
+" curl does a single CWD operation for each path part in\n"
, stdout);
fputs(
+" the given URL. For deep hierarchies this means very many\n"
+" commands. This is how RFC 1738 says it should be done.\n"
" This is the default but the slowest behavior.\n"
"\n"
-" nocwd curl does no CWD at all. curl will do SIZE, RETR, STOR\n"
+" nocwd curl does no CWD at all. curl will do SIZE, RETR, STOR\n"
" etc and give a full path to the server for all these com-\n"
" mands. This is the fastest behavior.\n"
"\n"
" singlecwd\n"
-" curl does one CWD with the full target directory and then\n"
-" operates on the file \"normally\" (like in the multicwd\n"
, stdout);
fputs(
-" case). This is somewhat more standards compliant than\n"
+" curl does one CWD with the full target directory and then\n"
+" operates on the file \"normally\" (like in the multicwd\n"
+" case). This is somewhat more standards compliant than\n"
" 'nocwd' but without the full penalty of 'multicwd'.\n"
"\n"
" Added in 7.15.1.\n"
"\n"
" --ftp-pasv\n"
-" (FTP) Use passive mode for the data connection. Passive is the\n"
-" internal default behavior, but using this option can be used to\n"
-" override a previous -P, --ftp-port option.\n"
-"\n"
-" If this option is used several times, only the first one is\n"
+" (FTP) Use passive mode for the data connection. Passive is the\n"
, stdout);
fputs(
-" used. Undoing an enforced passive really isn't doable but you\n"
+" internal default behavior, but using this option can be used to\n"
+" override a previous -P, --ftp-port option.\n"
+"\n"
+" If this option is used several times, only the first one is\n"
+" used. Undoing an enforced passive really isn't doable but you\n"
" must then instead enforce the correct -P, --ftp-port again.\n"
"\n"
" Passive mode means that curl will try the EPSV command first and\n"
+, stdout);
+ fputs(
" then PASV, unless --disable-epsv is used.\n"
" See also --disable-epsv. Added in 7.11.0.\n"
"\n"
" -P, --ftp-port <address>\n"
-" (FTP) Reverses the default initiator/listener roles when con-\n"
+" (FTP) Reverses the default initiator/listener roles when con-\n"
+" necting with FTP. This option makes curl use active mode. curl\n"
+" then tells the server to connect back to the client's specified\n"
+" address and port, while passive mode asks the server to setup an\n"
, stdout);
fputs(
-" necting with FTP. This option makes curl use active mode. curl\n"
-" then tells the server to connect back to the client's specified\n"
-" address and port, while passive mode asks the server to setup an\n"
-" IP address and port for it to connect to. <address> should be\n"
+" IP address and port for it to connect to. <address> should be\n"
" one of:\n"
"\n"
" interface\n"
-" e.g. \"eth0\" to specify which interface's IP address you\n"
+" e.g. \"eth0\" to specify which interface's IP address you\n"
" want to use (Unix only)\n"
"\n"
-, stdout);
- fputs(
" IP address\n"
" e.g. \"192.168.10.1\" to specify the exact IP address\n"
"\n"
" host name\n"
" e.g. \"my.host.domain\" to specify the machine\n"
"\n"
-" - make curl pick the same IP address that is already used\n"
-" for the control connection\n"
-"\n"
-" If this option is used several times, the last one will be used. Dis-\n"
-" able the use of PORT with --ftp-pasv. Disable the attempt to use the\n"
, stdout);
fputs(
-" EPRT command instead of PORT by using --disable-eprt. EPRT is really\n"
+" - make curl pick the same IP address that is already used\n"
+" for the control connection\n"
+"\n"
+" If this option is used several times, the last one will be used. Dis-\n"
+" able the use of PORT with --ftp-pasv. Disable the attempt to use the\n"
+" EPRT command instead of PORT by using --disable-eprt. EPRT is really\n"
" PORT++.\n"
"\n"
-" Since 7.19.5, you can append \":[start]-[end]\" to the right of the\n"
-" address, to tell curl what TCP port range to use. That means you spec-\n"
-" ify a port range, from a lower to a higher number. A single number\n"
-" works as well, but do note that it increases the risk of failure since\n"
+" Since 7.19.5, you can append \":[start]-[end]\" to the right of the\n"
+, stdout);
+ fputs(
+" address, to tell curl what TCP port range to use. That means you spec-\n"
+" ify a port range, from a lower to a higher number. A single number\n"
+" works as well, but do note that it increases the risk of failure since\n"
" the port may not be available.\n"
"\n"
" See also --ftp-pasv and --disable-eprt.\n"
"\n"
+" --ftp-pret\n"
+" (FTP) Tell curl to send a PRET command before PASV (and EPSV).\n"
+" Certain FTP servers, mainly drftpd, require this non-standard\n"
, stdout);
fputs(
-" --ftp-pret\n"
-" (FTP) Tell curl to send a PRET command before PASV (and EPSV).\n"
-" Certain FTP servers, mainly drftpd, require this non-standard\n"
-" command for directory listings as well as up and downloads in\n"
+" command for directory listings as well as up and downloads in\n"
" PASV mode.\n"
"\n"
" Added in 7.20.0.\n"
"\n"
" --ftp-skip-pasv-ip\n"
" (FTP) Tell curl to not use the IP address the server suggests in\n"
-" its response to curl's PASV command when curl connects the data\n"
-, stdout);
- fputs(
-" connection. Instead curl will re-use the same IP address it\n"
+" its response to curl's PASV command when curl connects the data\n"
+" connection. Instead curl will re-use the same IP address it\n"
" already uses for the control connection.\n"
"\n"
-" This option has no effect if PORT, EPRT or EPSV is used instead\n"
+, stdout);
+ fputs(
+" This option has no effect if PORT, EPRT or EPSV is used instead\n"
" of PASV.\n"
"\n"
" See also --ftp-pasv. Added in 7.14.2.\n"
"\n"
" --ftp-ssl-ccc-mode <active/passive>\n"
-" (FTP) Sets the CCC mode. The passive mode will not initiate the\n"
+" (FTP) Sets the CCC mode. The passive mode will not initiate the\n"
" shutdown, but instead wait for the server to do it, and will not\n"
+" reply to the shutdown from the server. The active mode initiates\n"
, stdout);
fputs(
-" reply to the shutdown from the server. The active mode initiates\n"
" the shutdown and waits for a reply from the server.\n"
"\n"
" See also --ftp-ssl-ccc. Added in 7.16.2.\n"
"\n"
" --ftp-ssl-ccc\n"
-" (FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS\n"
+" (FTP) Use CCC (Clear Command Channel) Shuts down the SSL/TLS\n"
" layer after authenticating. The rest of the control channel com-\n"
-" munication will be unencrypted. This allows NAT routers to fol-\n"
-, stdout);
- fputs(
+" munication will be unencrypted. This allows NAT routers to fol-\n"
" low the FTP transaction. The default mode is passive.\n"
"\n"
+, stdout);
+ fputs(
" See also --ssl and --ftp-ssl-ccc-mode. Added in 7.16.1.\n"
"\n"
" --ftp-ssl-control\n"
-" (FTP) Require SSL/TLS for the FTP login, clear for transfer.\n"
-" Allows secure authentication, but non-encrypted data transfers\n"
-" for efficiency. Fails the transfer if the server doesn't sup-\n"
+" (FTP) Require SSL/TLS for the FTP login, clear for transfer.\n"
+" Allows secure authentication, but non-encrypted data transfers\n"
+" for efficiency. Fails the transfer if the server doesn't sup-\n"
" port SSL/TLS.\n"
"\n"
" Added in 7.16.0.\n"
"\n"
" -G, --get\n"
+" When used, this option will make all data specified with -d,\n"
, stdout);
fputs(
-" When used, this option will make all data specified with -d,\n"
-" --data, --data-binary or --data-urlencode to be used in an HTTP\n"
-" GET request instead of the POST request that otherwise would be\n"
+" --data, --data-binary or --data-urlencode to be used in an HTTP\n"
+" GET request instead of the POST request that otherwise would be\n"
" used. The data will be appended to the URL with a '?' separator.\n"
-" If used in combination with -I, --head, the POST data will\n"
+" If used in combination with -I, --head, the POST data will\n"
" instead be appended to the URL with a HEAD request.\n"
"\n"
+" If this option is used several times, only the first one is\n"
, stdout);
fputs(
-" If this option is used several times, only the first one is\n"
-" used. This is because undoing a GET doesn't make sense, but you\n"
+" used. This is because undoing a GET doesn't make sense, but you\n"
" should then instead enforce the alternative method you prefer.\n"
"\n"
" -g, --globoff\n"
" This option switches off the \"URL globbing parser\". When you set\n"
-" this option, you can specify URLs that contain the letters {}[]\n"
-" without having them being interpreted by curl itself. Note that\n"
+" this option, you can specify URLs that contain the letters {}[]\n"
+" without having them being interpreted by curl itself. Note that\n"
+" these letters are not normal legal URL contents but they should\n"
, stdout);
fputs(
-" these letters are not normal legal URL contents but they should\n"
" be encoded according to the URI standard.\n"
"\n"
" --happy-eyeballs-timeout-ms <milliseconds>\n"
-" Happy eyeballs is an algorithm that attempts to connect to both\n"
-" IPv4 and IPv6 addresses for dual-stack hosts, preferring IPv6\n"
+" Happy eyeballs is an algorithm that attempts to connect to both\n"
+" IPv4 and IPv6 addresses for dual-stack hosts, preferring IPv6\n"
" first for the number of milliseconds. If the IPv6 address cannot\n"
+" be connected to within that time then a connection attempt is\n"
, stdout);
fputs(
-" be connected to within that time then a connection attempt is\n"
" made to the IPv4 address in parallel. The first connection to be\n"
" established is the one that is used.\n"
"\n"
-" The range of suggested useful values is limited. Happy Eyeballs\n"
-" RFC 6555 says \"It is RECOMMENDED that connection attempts be\n"
-" paced 150-250 ms apart to balance human factors against network\n"
-, stdout);
- fputs(
-" load.\" libcurl currently defaults to 200 ms. Firefox and Chrome\n"
+" The range of suggested useful values is limited. Happy Eyeballs\n"
+" RFC 6555 says \"It is RECOMMENDED that connection attempts be\n"
+" paced 150-250 ms apart to balance human factors against network\n"
+" load.\" libcurl currently defaults to 200 ms. Firefox and Chrome\n"
" currently default to 300 ms.\n"
"\n"
+, stdout);
+ fputs(
" If this option is used several times, the last one will be used.\n"
"\n"
" Added in 7.59.0.\n"
"\n"
" --haproxy-protocol\n"
-" (HTTP) Send a HAProxy PROXY protocol header at the beginning of\n"
-" the connection. This is used by some load balancers and reverse\n"
-" proxies to indicate the client's true IP address and port.\n"
+" (HTTP) Send a HAProxy PROXY protocol v1 header at the beginning\n"
+" of the connection. This is used by some load balancers and\n"
+" reverse proxies to indicate the client's true IP address and\n"
+" port.\n"
"\n"
+" This option is primarily useful when sending test requests to a\n"
, stdout);
fputs(
-" This option is primarily useful when sending test requests to a\n"
" service that expects this header.\n"
"\n"
" Added in 7.60.0.\n"
@@ -1354,35 +1367,35 @@ void hugehelp(void)
" document. When used on an FTP or FILE file, curl displays the\n"
" file size and last modification time only.\n"
"\n"
+" -H, --header <header/@file>\n"
, stdout);
fputs(
-" -H, --header <header/@file>\n"
" (HTTP) Extra header to include in the request when sending HTTP\n"
" to a server. You may specify any number of extra headers. Note\n"
" that if you should add a custom header that has the same name as\n"
" one of the internal ones curl would use, your externally set\n"
" header will be used instead of the internal one. This allows you\n"
+" to make even trickier stuff than curl would normally do. You\n"
, stdout);
fputs(
-" to make even trickier stuff than curl would normally do. You\n"
" should not replace internally set headers without knowing per-\n"
" fectly well what you're doing. Remove an internal header by giv-\n"
" ing a replacement without content on the right side of the\n"
" colon, as in: -H \"Host:\". If you send the custom header with no-\n"
" value then its header must be terminated with a semicolon, such\n"
-, stdout);
- fputs(
" as -H \"X-Custom-Header;\" to send \"X-Custom-Header:\".\n"
"\n"
+, stdout);
+ fputs(
" curl will make sure that each header you add/replace is sent\n"
" with the proper end-of-line marker, you should thus not add that\n"
" as a part of the header content: do not add newlines or carriage\n"
" returns, they will only mess things up for you.\n"
"\n"
" Starting in 7.55.0, this option can take an argument in @file-\n"
+" name style, which then adds a header for each line in the input\n"
, stdout);
fputs(
-" name style, which then adds a header for each line in the input\n"
" file. Using @- will make curl read the header file from stdin.\n"
"\n"
" See also the -A, --user-agent and -e, --referer options.\n"
@@ -1394,9 +1407,9 @@ void hugehelp(void)
"\n"
" curl -H \"X-First-Name: Joe\" http://example.com/\n"
"\n"
+" WARNING: headers set with this option will be set in all\n"
, stdout);
fputs(
-" WARNING: headers set with this option will be set in all\n"
" requests - even after redirects are followed, like when told\n"
" with -L, --location. This can lead to the header being sent to\n"
" other hosts than the original host, so sensitive headers should\n"
@@ -1405,9 +1418,9 @@ void hugehelp(void)
" This option can be used multiple times to add/replace/remove\n"
" multiple headers.\n"
"\n"
+" -h, --help\n"
, stdout);
fputs(
-" -h, --help\n"
" Usage help. This lists all current command line options with a\n"
" short description.\n"
" --hostpubmd5 <md5>\n"
@@ -2012,7 +2025,7 @@ void hugehelp(void)
"\n"
" See also --proxy-ntlm. --ntlm requires that the underlying\n"
" libcurl was built to support TLS. This option overrides --basic\n"
-" and --negotiated and --digest and --anyauth.\n"
+" and --negotiate and --digest and --anyauth.\n"
"\n"
" --oauth2-bearer <token>\n"
, stdout);
@@ -2139,40 +2152,37 @@ void hugehelp(void)
" 7.19.1.\n"
"\n"
" --post303\n"
-" (HTTP) Tells curl to respect RFC 7231/6.4.4 and not convert POST\n"
-" requests into GET requests when following a 303 redirection. The\n"
-" non-RFC behaviour is ubiquitous in web browsers, so curl does\n"
-" the conversion by default to maintain consistency. However, a\n"
-" server may require a POST to remain a POST after such a redi-\n"
-, stdout);
- fputs(
-" rection. This option is meaningful only when using -L, --loca-\n"
-" tion.\n"
+" (HTTP) Tells curl to violate RFC 7231/6.4.4 and not convert POST\n"
+" requests into GET requests when following 303 redirections. A\n"
+" server may require a POST to remain a POST after a 303 redirect-\n"
+" ion. This option is meaningful only when using -L, --location.\n"
"\n"
-" See also --post302 and --post301 and -L, --location. Added in\n"
+" See also --post302 and --post301 and -L, --location. Added in\n"
" 7.26.0.\n"
"\n"
" --preproxy [protocol://]host[:port]\n"
-" Use the specified SOCKS proxy before connecting to an HTTP or\n"
-" HTTPS -x, --proxy. In such a case curl first connects to the\n"
-" SOCKS proxy and then connects (through SOCKS) to the HTTP or\n"
, stdout);
fputs(
+" Use the specified SOCKS proxy before connecting to an HTTP or\n"
+" HTTPS -x, --proxy. In such a case curl first connects to the\n"
+" SOCKS proxy and then connects (through SOCKS) to the HTTP or\n"
" HTTPS proxy. Hence pre proxy.\n"
"\n"
" The pre proxy string should be specified with a protocol:// pre-\n"
-" fix to specify alternative proxy protocols. Use socks4://,\n"
-" socks4a://, socks5:// or socks5h:// to request the specific\n"
-" SOCKS version to be used. No protocol specified will make curl\n"
-" default to SOCKS4.\n"
-"\n"
-" If the port number is not specified in the proxy string, it is\n"
+" fix to specify alternative proxy protocols. Use socks4://,\n"
, stdout);
fputs(
+" socks4a://, socks5:// or socks5h:// to request the specific\n"
+" SOCKS version to be used. No protocol specified will make curl\n"
+" default to SOCKS4.\n"
+"\n"
+" If the port number is not specified in the proxy string, it is\n"
" assumed to be 1080.\n"
"\n"
" User and password that might be provided in the proxy string are\n"
-" URL decoded by curl. This allows you to pass in special charac-\n"
+" URL decoded by curl. This allows you to pass in special charac-\n"
+, stdout);
+ fputs(
" ters such as @ by using %40 or pass in a colon with %3a.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -2180,41 +2190,41 @@ void hugehelp(void)
" Added in 7.52.0.\n"
"\n"
" -#, --progress-bar\n"
-" Make curl display transfer progress as a simple progress bar\n"
-, stdout);
- fputs(
+" Make curl display transfer progress as a simple progress bar\n"
" instead of the standard, more informational, meter.\n"
"\n"
-" This progress bar draws a single line of '#' characters across\n"
+" This progress bar draws a single line of '#' characters across\n"
+, stdout);
+ fputs(
" the screen and shows a percentage if the transfer size is known.\n"
-" For transfers without a known size, there will be space ship\n"
-" (-=o=-) that moves back and forth but only while data is being\n"
+" For transfers without a known size, there will be space ship\n"
+" (-=o=-) that moves back and forth but only while data is being\n"
" transferred, with a set of flying hash sign symbols on top.\n"
"\n"
" --proto-default <protocol>\n"
-, stdout);
- fputs(
" Tells curl to use protocol for any URL missing a scheme name.\n"
"\n"
" Example:\n"
"\n"
+, stdout);
+ fputs(
" curl --proto-default https ftp.mozilla.org\n"
"\n"
-" An unknown or unsupported protocol causes error CURLE_UNSUP-\n"
+" An unknown or unsupported protocol causes error CURLE_UNSUP-\n"
" PORTED_PROTOCOL (1).\n"
"\n"
" This option does not change the default proxy protocol (http).\n"
"\n"
-" Without this option curl would make a guess based on the host,\n"
+" Without this option curl would make a guess based on the host,\n"
" see --url for details.\n"
"\n"
-, stdout);
- fputs(
" Added in 7.45.0.\n"
"\n"
" --proto-redir <protocols>\n"
-" Tells curl to limit what protocols it may use on redirect. Pro-\n"
-" tocols denied by --proto are not overridden by this option. See\n"
+, stdout);
+ fputs(
+" Tells curl to limit what protocols it may use on redirect. Pro-\n"
+" tocols denied by --proto are not overridden by this option. See\n"
" --proto for how protocols are represented.\n"
"\n"
" Example, allow only HTTP and HTTPS on redirect:\n"
@@ -2224,30 +2234,30 @@ void hugehelp(void)
" By default curl will allow all protocols on redirect except sev-\n"
, stdout);
fputs(
-" eral disabled for security reasons: Since 7.19.4 FILE and SCP\n"
-" are disabled, and since 7.40.0 SMB and SMBS are also disabled.\n"
-" Specifying all or +all enables all protocols on redirect,\n"
+" eral disabled for security reasons: Since 7.19.4 FILE and SCP\n"
+" are disabled, and since 7.40.0 SMB and SMBS are also disabled.\n"
+" Specifying all or +all enables all protocols on redirect,\n"
" including those disabled for security.\n"
"\n"
" Added in 7.20.2.\n"
"\n"
" --proto <protocols>\n"
-" Tells curl to limit what protocols it may use in the transfer.\n"
+" Tells curl to limit what protocols it may use in the transfer.\n"
, stdout);
fputs(
-" Protocols are evaluated left to right, are comma separated, and\n"
+" Protocols are evaluated left to right, are comma separated, and\n"
" are each a protocol name or\n"
"\n"
" + Permit this protocol in addition to protocols already permit-\n"
" ted (this is the default if no modifier is used).\n"
"\n"
-" - Deny this protocol, removing it from the list of protocols\n"
+" - Deny this protocol, removing it from the list of protocols\n"
" already permitted.\n"
"\n"
-" = Permit only this protocol (ignoring the list already permit-\n"
+" = Permit only this protocol (ignoring the list already permit-\n"
, stdout);
fputs(
-" ted), though subject to later modification by subsequent\n"
+" ted), though subject to later modification by subsequent\n"
" entries in the comma separated list.\n"
"\n"
" For example:\n"
@@ -2264,7 +2274,7 @@ void hugehelp(void)
fputs(
" Unknown protocols produce a warning. This allows scripts to safely rely\n"
" on being able to disable potentially dangerous protocols, without rely-\n"
-" ing upon support for that protocol being built into curl to avoid an\n"
+" ing upon support for that protocol being built into curl to avoid an\n"
" error.\n"
"\n"
" This option can be used multiple times, in which case the effect is the\n"
@@ -2275,19 +2285,19 @@ void hugehelp(void)
" --proxy-anyauth\n"
, stdout);
fputs(
-" Tells curl to pick a suitable authentication method when commu-\n"
-" nicating with the given HTTP proxy. This might cause an extra\n"
+" Tells curl to pick a suitable authentication method when commu-\n"
+" nicating with the given HTTP proxy. This might cause an extra\n"
" request/response round-trip.\n"
"\n"
" See also -x, --proxy and --proxy-basic and --proxy-digest. Added\n"
" in 7.13.2.\n"
"\n"
" --proxy-basic\n"
-" Tells curl to use HTTP Basic authentication when communicating\n"
+" Tells curl to use HTTP Basic authentication when communicating\n"
" with the given proxy. Use --basic for enabling HTTP Basic with a\n"
, stdout);
fputs(
-" remote host. Basic is the default authentication method curl\n"
+" remote host. Basic is the default authentication method curl\n"
" uses with proxies.\n"
"\n"
" See also -x, --proxy and --proxy-anyauth and --proxy-digest.\n"
@@ -2295,7 +2305,7 @@ void hugehelp(void)
" --proxy-cacert <file>\n"
" Same as --cacert but used in HTTPS proxy context.\n"
"\n"
-" See also --proxy-capath and --cacert and --capath and -x,\n"
+" See also --proxy-capath and --cacert and --capath and -x,\n"
" --proxy. Added in 7.52.0.\n"
"\n"
" --proxy-capath <dir>\n"
@@ -2303,7 +2313,7 @@ void hugehelp(void)
"\n"
, stdout);
fputs(
-" See also --proxy-cacert and -x, --proxy and --capath. Added in\n"
+" See also --proxy-cacert and -x, --proxy and --capath. Added in\n"
" 7.52.0.\n"
"\n"
" --proxy-cert-type <type>\n"
@@ -2329,7 +2339,7 @@ void hugehelp(void)
" Added in 7.52.0.\n"
"\n"
" --proxy-digest\n"
-" Tells curl to use HTTP Digest authentication when communicating\n"
+" Tells curl to use HTTP Digest authentication when communicating\n"
" with the given proxy. Use --digest for enabling HTTP Digest with\n"
" a remote host.\n"
"\n"
@@ -2338,30 +2348,30 @@ void hugehelp(void)
" --proxy-header <header/@file>\n"
, stdout);
fputs(
-" (HTTP) Extra header to include in the request when sending HTTP\n"
+" (HTTP) Extra header to include in the request when sending HTTP\n"
" to a proxy. You may specify any number of extra headers. This is\n"
-" the equivalent option to -H, --header but is for proxy communi-\n"
-" cation only like in CONNECT requests when you want a separate\n"
-" header sent to the proxy to what is sent to the actual remote\n"
+" the equivalent option to -H, --header but is for proxy communi-\n"
+" cation only like in CONNECT requests when you want a separate\n"
+" header sent to the proxy to what is sent to the actual remote\n"
" host.\n"
"\n"
-" curl will make sure that each header you add/replace is sent\n"
+" curl will make sure that each header you add/replace is sent\n"
, stdout);
fputs(
" with the proper end-of-line marker, you should thus not add that\n"
" as a part of the header content: do not add newlines or carriage\n"
" returns, they will only mess things up for you.\n"
"\n"
-" Headers specified with this option will not be included in\n"
+" Headers specified with this option will not be included in\n"
" requests that curl knows will not be sent to a proxy.\n"
"\n"
-" Starting in 7.55.0, this option can take an argument in @file-\n"
+" Starting in 7.55.0, this option can take an argument in @file-\n"
, stdout);
fputs(
-" name style, which then adds a header for each line in the input\n"
+" name style, which then adds a header for each line in the input\n"
" file. Using @- will make curl read the header file from stdin.\n"
"\n"
-" This option can be used multiple times to add/replace/remove\n"
+" This option can be used multiple times to add/replace/remove\n"
" multiple headers.\n"
"\n"
" Added in 7.37.0.\n"
@@ -2381,7 +2391,7 @@ void hugehelp(void)
" Same as --key but used in HTTPS proxy context.\n"
"\n"
" --proxy-negotiate\n"
-" Tells curl to use HTTP Negotiate (SPNEGO) authentication when\n"
+" Tells curl to use HTTP Negotiate (SPNEGO) authentication when\n"
" communicating with the given proxy. Use --negotiate for enabling\n"
" HTTP Negotiate (SPNEGO) with a remote host.\n"
"\n"
@@ -2390,7 +2400,7 @@ void hugehelp(void)
" See also --proxy-anyauth and --proxy-basic. Added in 7.17.1.\n"
"\n"
" --proxy-ntlm\n"
-" Tells curl to use HTTP NTLM authentication when communicating\n"
+" Tells curl to use HTTP NTLM authentication when communicating\n"
" with the given proxy. Use --ntlm for enabling NTLM with a remote\n"
" host.\n"
"\n"
@@ -2404,24 +2414,24 @@ void hugehelp(void)
" --proxy-pinnedpubkey <hashes>\n"
, stdout);
fputs(
-" (TLS) Tells curl to use the specified public key file (or\n"
-" hashes) to verify the proxy. This can be a path to a file which\n"
+" (TLS) Tells curl to use the specified public key file (or\n"
+" hashes) to verify the proxy. This can be a path to a file which\n"
" contains a single public key in PEM or DER format, or any number\n"
" of base64 encoded sha256 hashes preceded by 'sha256//' and sepa-\n"
" rated by ';'\n"
"\n"
-" When negotiating a TLS or SSL connection, the server sends a\n"
+" When negotiating a TLS or SSL connection, the server sends a\n"
, stdout);
fputs(
-" certificate indicating its identity. A public key is extracted\n"
-" from this certificate and if it does not exactly match the pub-\n"
-" lic key provided to this option, curl will abort the connection\n"
+" certificate indicating its identity. A public key is extracted\n"
+" from this certificate and if it does not exactly match the pub-\n"
+" lic key provided to this option, curl will abort the connection\n"
" before sending or receiving any data.\n"
"\n"
" If this option is used several times, the last one will be used.\n"
"\n"
" --proxy-service-name <name>\n"
-" This option allows you to change the service name for proxy\n"
+" This option allows you to change the service name for proxy\n"
, stdout);
fputs(
" negotiation.\n"
@@ -2433,6 +2443,18 @@ void hugehelp(void)
"\n"
" Added in 7.52.0.\n"
"\n"
+" --proxy-tls13-ciphers <ciphersuite list>\n"
+" (TLS) Specifies which cipher suites to use in the connection to\n"
+" your HTTPS proxy when it negotiates TLS 1.3. The list of ciphers\n"
+" suites must specify valid ciphers. Read up on TLS 1.3 cipher\n"
+, stdout);
+ fputs(
+" suite details on this URL:\n"
+"\n"
+" https://curl.haxx.se/docs/ssl-ciphers.html\n"
+"\n"
+" If this option is used several times, the last one will be used.\n"
+"\n"
" --proxy-tlsauthtype <type>\n"
" Same as --tlsauthtype but used in HTTPS proxy context.\n"
"\n"
@@ -2443,9 +2465,9 @@ void hugehelp(void)
"\n"
" Added in 7.52.0.\n"
"\n"
+" --proxy-tlsuser <name>\n"
, stdout);
fputs(
-" --proxy-tlsuser <name>\n"
" Same as --tlsuser but used in HTTPS proxy context.\n"
"\n"
" Added in 7.52.0.\n"
@@ -3186,16 +3208,25 @@ void hugehelp(void)
"\n"
" See also -v, --verbose and -s, --silent.\n"
"\n"
+" --styled-output\n"
+" Enables the automatic use of bold font styles when writing HTTP\n"
+" headers to the terminal. Use --no-styled-output to switch them\n"
+" off.\n"
+"\n"
+, stdout);
+ fputs(
+" Added in 7.61.0.\n"
+"\n"
" --suppress-connect-headers\n"
" When -p, --proxytunnel is used and a CONNECT request is made\n"
" don't output proxy CONNECT response headers. This option is\n"
-, stdout);
- fputs(
" meant to be used with -D, --dump-header or -i, --include which\n"
" are used to show protocol headers in the output. It has no\n"
" effect on debug options such as -v, --verbose or --trace, or any\n"
" statistics.\n"
"\n"
+, stdout);
+ fputs(
" See also -D, --dump-header and -i, --include and -p, --proxytun-\n"
" nel.\n"
"\n"
@@ -3205,12 +3236,12 @@ void hugehelp(void)
" Added in 7.49.0.\n"
"\n"
" --tcp-nodelay\n"
-, stdout);
- fputs(
" Turn on the TCP_NODELAY option. See the curl_easy_setopt(3) man\n"
" page for details about this option.\n"
"\n"
" Since 7.50.2, curl sets this option by default and you need to\n"
+, stdout);
+ fputs(
" explicitly switch it off if you don't want it on.\n"
"\n"
" Added in 7.11.2.\n"
@@ -3220,14 +3251,14 @@ void hugehelp(void)
"\n"
" TTYPE=<term> Sets the terminal type.\n"
"\n"
-, stdout);
- fputs(
" XDISPLOC=<X display> Sets the X display location.\n"
"\n"
" NEW_ENV=<var,val> Sets an environment variable.\n"
"\n"
" --tftp-blksize <value>\n"
" (TFTP) Set TFTP BLKSIZE option (must be >512). This is the block\n"
+, stdout);
+ fputs(
" size that curl will try to use when transferring data to or from\n"
" a TFTP server. By default 512 bytes will be used.\n"
"\n"
@@ -3235,12 +3266,12 @@ void hugehelp(void)
"\n"
" Added in 7.20.0.\n"
"\n"
-, stdout);
- fputs(
" --tftp-no-options\n"
" (TFTP) Tells curl not to send TFTP options requests.\n"
"\n"
" This option improves interop with some legacy servers that do\n"
+, stdout);
+ fputs(
" not acknowledge or properly implement TFTP options. When this\n"
" option is used --tftp-blksize is ignored.\n"
"\n"
@@ -3248,21 +3279,21 @@ void hugehelp(void)
"\n"
" -z, --time-cond <time>\n"
" (HTTP FTP) Request a file that has been modified later than the\n"
-, stdout);
- fputs(
" given time and date, or one that has been modified before that\n"
" time. The <date expression> can be all sorts of date strings or\n"
+, stdout);
+ fputs(
" if it doesn't match any internal ones, it is taken as a filename\n"
" and tries to get the modification date (mtime) from <file>\n"
" instead. See the curl_getdate(3) man pages for date expression\n"
" details.\n"
"\n"
" Start the date expression with a dash (-) to make it request for\n"
-, stdout);
- fputs(
" a document that is older than the given date/time, default is a\n"
" document that is newer than the specified date/time.\n"
"\n"
+, stdout);
+ fputs(
" If this option is used several times, the last one will be used.\n"
"\n"
" --tls-max <VERSION>\n"
@@ -3272,82 +3303,95 @@ void hugehelp(void)
" default\n"
" Use up to recommended TLS version.\n"
"\n"
-, stdout);
- fputs(
" 1.0 Use up to TLSv1.0.\n"
" 1.1 Use up to TLSv1.1.\n"
" 1.2 Use up to TLSv1.2.\n"
" 1.3 Use up to TLSv1.3.\n"
"\n"
+, stdout);
+ fputs(
" See also --tlsv1.0 and --tlsv1.1 and --tlsv1.2. --tls-max requires that\n"
" the underlying libcurl was built to support TLS. Added in 7.54.0.\n"
"\n"
+" --tls13-ciphers <list of TLS 1.3 ciphersuites>\n"
+" (TLS) Specifies which cipher suites to use in the connection if\n"
+" it negotiates TLS 1.3. The list of ciphers suites must specify\n"
+" valid ciphers. Read up on TLS 1.3 cipher suite details on this\n"
+" URL:\n"
+"\n"
+, stdout);
+ fputs(
+" https://curl.haxx.se/docs/ssl-ciphers.html\n"
+"\n"
+" If this option is used several times, the last one will be used.\n"
+"\n"
" --tlsauthtype <type>\n"
-" Set TLS authentication type. Currently, the only supported\n"
-" option is \"SRP\", for TLS-SRP (RFC 5054). If --tlsuser and\n"
+" Set TLS authentication type. Currently, the only supported\n"
+" option is \"SRP\", for TLS-SRP (RFC 5054). If --tlsuser and\n"
+" --tlspassword are specified but --tlsauthtype is not, then this\n"
+" option defaults to \"SRP\". This option works only if the under-\n"
, stdout);
fputs(
-" --tlspassword are specified but --tlsauthtype is not, then this\n"
-" option defaults to \"SRP\". This option works only if the under-\n"
-" lying libcurl is built with TLS-SRP support, which requires\n"
+" lying libcurl is built with TLS-SRP support, which requires\n"
" OpenSSL or GnuTLS with TLS-SRP support.\n"
"\n"
" Added in 7.21.4.\n"
"\n"
" --tlspassword\n"
-" Set password for use with the TLS authentication method speci-\n"
+" Set password for use with the TLS authentication method speci-\n"
" fied with --tlsauthtype. Requires that --tlsuser also be set.\n"
-, stdout);
- fputs(
"\n"
" Added in 7.21.4.\n"
" --tlsuser <name>\n"
-" Set username for use with the TLS authentication method speci-\n"
-" fied with --tlsauthtype. Requires that --tlspassword also is\n"
+" Set username for use with the TLS authentication method speci-\n"
+, stdout);
+ fputs(
+" fied with --tlsauthtype. Requires that --tlspassword also is\n"
" set.\n"
"\n"
" Added in 7.21.4.\n"
"\n"
" --tlsv1.0\n"
-" (TLS) Forces curl to use TLS version 1.0 when connecting to a\n"
+" (TLS) Forces curl to use TLS version 1.0 when connecting to a\n"
" remote TLS server.\n"
"\n"
" Added in 7.34.0.\n"
"\n"
" --tlsv1.1\n"
-, stdout);
- fputs(
-" (TLS) Forces curl to use TLS version 1.1 when connecting to a\n"
-" remote TLS server.\n"
+" (TLS) Forces curl to use TLS version 1.1 or later when connect-\n"
+" ing to a remote TLS server.\n"
"\n"
" Added in 7.34.0.\n"
"\n"
" --tlsv1.2\n"
-" (TLS) Forces curl to use TLS version 1.2 when connecting to a\n"
-" remote TLS server.\n"
+, stdout);
+ fputs(
+" (TLS) Forces curl to use TLS version 1.2 or later when connect-\n"
+" ing to a remote TLS server.\n"
"\n"
" Added in 7.34.0.\n"
"\n"
" --tlsv1.3\n"
-" (TLS) Forces curl to use TLS version 1.3 when connecting to a\n"
-" remote TLS server.\n"
+" (TLS) Forces curl to use TLS version 1.3 or later when connect-\n"
+" ing to a remote TLS server.\n"
"\n"
-, stdout);
- fputs(
" Note that TLS 1.3 is only supported by a subset of TLS backends.\n"
" At the time of this writing, they are BoringSSL, NSS, and Secure\n"
+, stdout);
+ fputs(
" Transport (on iOS 11 or later, and macOS 10.13 or later).\n"
"\n"
" Added in 7.52.0.\n"
"\n"
" -1, --tlsv1\n"
-" (SSL) Tells curl to use TLS version 1.x when negotiating with a\n"
-" remote TLS server. That means TLS version 1.0, 1.1 or 1.2.\n"
+" (SSL) Tells curl to use at least TLS version 1.x when negotiat-\n"
+" ing with a remote TLS server. That means TLS version 1.0 or\n"
+" higher\n"
"\n"
-, stdout);
- fputs(
" See also --http1.1 and --http2. -1, --tlsv1 requires that the\n"
" underlying libcurl was built to support TLS. This option over-\n"
+, stdout);
+ fputs(
" rides --tlsv1.1 and --tlsv1.2 and --tlsv1.3.\n"
"\n"
" --tr-encoding\n"
@@ -3358,23 +3402,23 @@ void hugehelp(void)
" Added in 7.21.6.\n"
"\n"
" --trace-ascii <file>\n"
-, stdout);
- fputs(
" Enables a full trace dump of all incoming and outgoing data,\n"
" including descriptive information, to the given output file. Use\n"
+, stdout);
+ fputs(
" \"-\" as filename to have the output sent to stdout.\n"
"\n"
" This is very similar to --trace, but leaves out the hex part and\n"
" only shows the ASCII part of the dump. It makes smaller output\n"
" that might be easier to read for untrained humans.\n"
"\n"
-, stdout);
- fputs(
" If this option is used several times, the last one will be used.\n"
"\n"
" This option overrides --trace and -v, --verbose.\n"
"\n"
" --trace-time\n"
+, stdout);
+ fputs(
" Prepends a time stamp to each trace or verbose line that curl\n"
" displays.\n"
"\n"
@@ -3383,11 +3427,11 @@ void hugehelp(void)
" --trace <file>\n"
" Enables a full trace dump of all incoming and outgoing data,\n"
" including descriptive information, to the given output file. Use\n"
-, stdout);
- fputs(
" \"-\" as filename to have the output sent to stdout. Use \"%\" as\n"
" filename to have the output sent to stderr.\n"
"\n"
+, stdout);
+ fputs(
" If this option is used several times, the last one will be used.\n"
"\n"
" This option overrides -v, --verbose and --trace-ascii.\n"
@@ -3399,40 +3443,40 @@ void hugehelp(void)
" Added in 7.40.0.\n"
"\n"
" -T, --upload-file <file>\n"
+" This transfers the specified local file to the remote URL. If\n"
, stdout);
fputs(
-" This transfers the specified local file to the remote URL. If\n"
" there is no file part in the specified URL, curl will append the\n"
" local file name. NOTE that you must use a trailing / on the last\n"
" directory to really prove to Curl that there is no file name or\n"
" curl will think that your last directory name is the remote file\n"
" name to use. That will most likely cause the upload operation to\n"
-, stdout);
- fputs(
" fail. If this is used on an HTTP(S) server, the PUT command will\n"
" be used.\n"
"\n"
+, stdout);
+ fputs(
" Use the file name \"-\" (a single dash) to use stdin instead of a\n"
" given file. Alternately, the file name \".\" (a single period)\n"
" may be specified instead of \"-\" to use stdin in non-blocking\n"
" mode to allow reading server output while stdin is being\n"
" uploaded.\n"
"\n"
+" You can specify one -T, --upload-file for each URL on the com-\n"
, stdout);
fputs(
-" You can specify one -T, --upload-file for each URL on the com-\n"
" mand line. Each -T, --upload-file + URL pair specifies what to\n"
" upload and to where. curl also supports \"globbing\" of the -T,\n"
" --upload-file argument, meaning that you can upload multiple\n"
" files to a single URL by using the same URL globbing style sup-\n"
" ported in the URL, like this:\n"
"\n"
-, stdout);
- fputs(
" curl --upload-file \"{file1,file2}\" http://www.example.com\n"
"\n"
" or even\n"
"\n"
+, stdout);
+ fputs(
" curl -T \"img[1-1000].png\" ftp://ftp.example.com/upload/\n"
"\n"
" When uploading to an SMTP server: the uploaded data is assumed\n"
@@ -3441,18 +3485,18 @@ void hugehelp(void)
" will not transcode nor encode it further in any way.\n"
"\n"
" --url <url>\n"
+" Specify a URL to fetch. This option is mostly handy when you\n"
, stdout);
fputs(
-" Specify a URL to fetch. This option is mostly handy when you\n"
" want to specify URL(s) in a config file.\n"
"\n"
" If the given URL is missing a scheme name (such as \"http://\" or\n"
" \"ftp://\" etc) then curl will make a guess based on the host. If\n"
" the outermost sub-domain name matches DICT, FTP, IMAP, LDAP,\n"
" POP3 or SMTP then that protocol will be used, otherwise HTTP\n"
+" will be used. Since 7.45.0 guessing can be disabled by setting a\n"
, stdout);
fputs(
-" will be used. Since 7.45.0 guessing can be disabled by setting a\n"
" default protocol, see --proto-default for details.\n"
"\n"
" This option may be used any number of times. To control where\n"
@@ -3461,9 +3505,9 @@ void hugehelp(void)
"\n"
" -B, --use-ascii\n"
" (FTP LDAP) Enable ASCII transfer. For FTP, this can also be\n"
+" enforced by using a URL that ends with \";type=A\". This option\n"
, stdout);
fputs(
-" enforced by using a URL that ends with \";type=A\". This option\n"
" causes data sent to stdout to be in text mode for win32 systems.\n"
"\n"
" -A, --user-agent <name>\n"
@@ -3472,10 +3516,10 @@ void hugehelp(void)
" quote marks. This header can also be set with the -H, --header\n"
" or the --proxy-header options.\n"
"\n"
-, stdout);
- fputs(
" If this option is used several times, the last one will be used.\n"
"\n"
+, stdout);
+ fputs(
" -u, --user <user:password>\n"
" Specify the user name and password to use for server authentica-\n"
" tion. Overrides -n, --netrc and --netrc-optional.\n"
@@ -3484,20 +3528,20 @@ void hugehelp(void)
" password.\n"
"\n"
" The user name and passwords are split up on the first colon,\n"
-, stdout);
- fputs(
" which makes it impossible to use a colon in the user name with\n"
" this option. The password can, still.\n"
"\n"
+, stdout);
+ fputs(
" When using Kerberos V5 with a Windows based server you should\n"
" include the Windows domain name in the user name, in order for\n"
" the server to successfully obtain a Kerberos Ticket. If you\n"
" don't then the initial authentication handshake may fail.\n"
"\n"
-, stdout);
- fputs(
" When using NTLM, the user name can be specified simply as the\n"
" user name, without the domain, if there is a single domain and\n"
+, stdout);
+ fputs(
" forest in your setup for example.\n"
"\n"
" To specify the domain name use either Down-Level Logon Name or\n"
@@ -3505,10 +3549,10 @@ void hugehelp(void)
" user@example.com respectively.\n"
"\n"
" If you use a Windows SSPI-enabled curl binary and perform Ker-\n"
-, stdout);
- fputs(
" beros V5, Negotiate, NTLM or Digest authentication then you can\n"
" tell curl to select the user name and password from your envi-\n"
+, stdout);
+ fputs(
" ronment by specifying a single colon with this option: \"-u :\".\n"
"\n"
" If this option is used several times, the last one will be used.\n"
@@ -3516,23 +3560,23 @@ void hugehelp(void)
" -v, --verbose\n"
" Makes curl verbose during the operation. Useful for debugging\n"
" and seeing what's going on \"under the hood\". A line starting\n"
-, stdout);
- fputs(
" with '>' means \"header data\" sent by curl, '<' means \"header\n"
" data\" received by curl that is hidden in normal cases, and a\n"
+, stdout);
+ fputs(
" line starting with '*' means additional info provided by curl.\n"
"\n"
" If you only want HTTP headers in the output, -i, --include might\n"
" be the option you're looking for.\n"
"\n"
" If you think this option still doesn't give you enough details,\n"
-, stdout);
- fputs(
" consider using --trace or --trace-ascii instead.\n"
"\n"
" Use -s, --silent to make curl really quiet.\n"
"\n"
" See also -i, --include. This option overrides --trace and\n"
+, stdout);
+ fputs(
" --trace-ascii.\n"
"\n"
" -V, --version\n"
@@ -3540,12 +3584,12 @@ void hugehelp(void)
" The first line includes the full version of curl, libcurl and\n"
" other 3rd party libraries linked with the executable.\n"
"\n"
-, stdout);
- fputs(
" The second line (starts with \"Protocols:\") shows all protocols\n"
" that libcurl reports to support.\n"
"\n"
" The third line (starts with \"Features:\") shows specific features\n"
+, stdout);
+ fputs(
" libcurl reports to offer. Available features include:\n"
"\n"
" IPv6 You can use IPv6 with this.\n"
@@ -3553,8 +3597,6 @@ void hugehelp(void)
" krb4 Krb4 for FTP is supported.\n"
"\n"
" SSL SSL versions of various protocols are supported, such as\n"
-, stdout);
- fputs(
" HTTPS, FTPS, POP3S and so on.\n"
"\n"
" libz Automatic decompression of compressed files over HTTP is\n"
@@ -3562,19 +3604,21 @@ void hugehelp(void)
"\n"
" NTLM NTLM authentication is supported.\n"
"\n"
+, stdout);
+ fputs(
" Debug This curl uses a libcurl built with Debug. This enables\n"
" more error-tracking and memory debugging etc. For curl-\n"
" developers only!\n"
"\n"
" AsynchDNS\n"
-, stdout);
- fputs(
" This curl uses asynchronous name resolves. Asynchronous\n"
" name resolves can be done using either the c-ares or the\n"
" threaded resolver backends.\n"
"\n"
" SPNEGO SPNEGO authentication is supported.\n"
"\n"
+, stdout);
+ fputs(
" Largefile\n"
" This curl supports transfers of large files, files larger\n"
" than 2GB.\n"
@@ -3582,8 +3626,6 @@ void hugehelp(void)
" IDN This curl supports IDN - international domain names.\n"
"\n"
" GSS-API\n"
-, stdout);
- fputs(
" GSS-API is supported.\n"
"\n"
" SSPI SSPI is supported.\n"
@@ -3592,6 +3634,8 @@ void hugehelp(void)
" SRP (Secure Remote Password) authentication is supported\n"
" for TLS.\n"
"\n"
+, stdout);
+ fputs(
" HTTP2 HTTP/2 support has been built-in.\n"
"\n"
" UnixSockets\n"
@@ -3601,63 +3645,63 @@ void hugehelp(void)
" This curl is built to support HTTPS proxy.\n"
"\n"
" Metalink\n"
-, stdout);
- fputs(
" This curl supports Metalink (both version 3 and 4 (RFC\n"
" 5854)), which describes mirrors and hashes. curl will\n"
" use mirrors for failover if there are errors (such as the\n"
+, stdout);
+ fputs(
" file or server not being available).\n"
"\n"
" PSL PSL is short for Public Suffix List and means that this\n"
" curl has been built with knowledge about \"public suf-\n"
" fixes\".\n"
"\n"
-, stdout);
- fputs(
" -w, --write-out <format>\n"
" Make curl display information on stdout after a completed trans-\n"
" fer. The format is a string that may contain plain text mixed\n"
+, stdout);
+ fputs(
" with any number of variables. The format can be specified as a\n"
" literal \"string\", or you can have curl read the format from a\n"
" file with \"@filename\" and to tell curl to read the format from\n"
" stdin you write \"@-\".\n"
"\n"
-, stdout);
- fputs(
" The variables present in the output format will be substituted\n"
" by the value or text that curl thinks fit, as described below.\n"
+, stdout);
+ fputs(
" All variables are specified as %{variable_name} and to output a\n"
" normal % you just write them as %%. You can output a newline by\n"
" using \\n, a carriage return with \\r and a tab space with \\t.\n"
"\n"
" NOTE: The %-symbol is a special symbol in the win32-environment,\n"
-, stdout);
- fputs(
" where all occurrences of % must be doubled when using this\n"
" option.\n"
"\n"
" The variables available are:\n"
"\n"
+, stdout);
+ fputs(
" content_type The Content-Type of the requested document, if\n"
" there was any.\n"
"\n"
" filename_effective\n"
" The ultimate filename that curl writes out to.\n"
" This is only meaningful if curl is told to write\n"
-, stdout);
- fputs(
" to a file with the -O, --remote-name or -o,\n"
" --output option. It's most useful in combination\n"
+, stdout);
+ fputs(
" with the -J, --remote-header-name option. (Added\n"
" in 7.26.0)\n"
"\n"
" ftp_entry_path The initial path curl ended up in when logging on\n"
" to the remote FTP server. (Added in 7.15.4)\n"
"\n"
-, stdout);
- fputs(
" http_code The numerical response code that was found in the\n"
" last retrieved HTTP(S) or FTP(s) transfer. In\n"
+, stdout);
+ fputs(
" 7.18.2 the alias response_code was added to show\n"
" the same info.\n"
"\n"
@@ -3665,11 +3709,11 @@ void hugehelp(void)
" response (from a proxy) to a curl CONNECT\n"
" request. (Added in 7.12.4)\n"
"\n"
-, stdout);
- fputs(
" http_version The http version that was effectively used.\n"
" (Added in 7.50.0)\n"
"\n"
+, stdout);
+ fputs(
" local_ip The IP address of the local end of the most\n"
" recently done connection - can be either IPv4 or\n"
" IPv6 (Added in 7.29.0)\n"
@@ -3677,32 +3721,32 @@ void hugehelp(void)
" local_port The local port number of the most recently done\n"
" connection (Added in 7.29.0)\n"
"\n"
-, stdout);
- fputs(
" num_connects Number of new connects made in the recent trans-\n"
" fer. (Added in 7.12.3)\n"
"\n"
+, stdout);
+ fputs(
" num_redirects Number of redirects that were followed in the\n"
" request. (Added in 7.12.3)\n"
"\n"
" proxy_ssl_verify_result\n"
" The result of the HTTPS proxy's SSL peer certifi-\n"
" cate verification that was requested. 0 means the\n"
-, stdout);
- fputs(
" verification was successful. (Added in 7.52.0)\n"
"\n"
" redirect_url When an HTTP request was made without -L, --loca-\n"
+, stdout);
+ fputs(
" tion to follow redirects (or when --max-redir is\n"
" met), this variable will show the actual URL a\n"
" redirect would have gone to. (Added in 7.18.2)\n"
"\n"
" remote_ip The remote IP address of the most recently done\n"
-, stdout);
- fputs(
" connection - can be either IPv4 or IPv6 (Added in\n"
" 7.29.0)\n"
"\n"
+, stdout);
+ fputs(
" remote_port The remote port number of the most recently done\n"
" connection (Added in 7.29.0)\n"
"\n"
@@ -3711,11 +3755,11 @@ void hugehelp(void)
"\n"
" size_download The total amount of bytes that were downloaded.\n"
"\n"
-, stdout);
- fputs(
" size_header The total amount of bytes of the downloaded head-\n"
" ers.\n"
"\n"
+, stdout);
+ fputs(
" size_request The total amount of bytes that were sent in the\n"
" HTTP request.\n"
"\n"
@@ -3724,21 +3768,21 @@ void hugehelp(void)
" speed_download The average download speed that curl measured for\n"
" the complete download. Bytes per second.\n"
"\n"
-, stdout);
- fputs(
" speed_upload The average upload speed that curl measured for\n"
" the complete upload. Bytes per second.\n"
"\n"
+, stdout);
+ fputs(
" ssl_verify_result\n"
" The result of the SSL peer certificate verifica-\n"
" tion that was requested. 0 means the verification\n"
" was successful. (Added in 7.19.0)\n"
"\n"
" time_appconnect\n"
-, stdout);
- fputs(
" The time, in seconds, it took from the start\n"
" until the SSL/SSH/etc connect/handshake to the\n"
+, stdout);
+ fputs(
" remote host was completed. (Added in 7.19.0)\n"
"\n"
" time_connect The time, in seconds, it took from the start\n"
@@ -3746,42 +3790,42 @@ void hugehelp(void)
" proxy) was completed.\n"
"\n"
" time_namelookup\n"
-, stdout);
- fputs(
" The time, in seconds, it took from the start\n"
" until the name resolving was completed.\n"
"\n"
" time_pretransfer\n"
+, stdout);
+ fputs(
" The time, in seconds, it took from the start\n"
" until the file transfer was just about to begin.\n"
" This includes all pre-transfer commands and nego-\n"
" tiations that are specific to the particular pro-\n"
-, stdout);
- fputs(
" tocol(s) involved.\n"
"\n"
" time_redirect The time, in seconds, it took for all redirection\n"
+, stdout);
+ fputs(
" steps including name lookup, connect, pretransfer\n"
" and transfer before the final transaction was\n"
" started. time_redirect shows the complete execu-\n"
" tion time for multiple redirections. (Added in\n"
" 7.12.3)\n"
"\n"
-, stdout);
- fputs(
" time_starttransfer\n"
" The time, in seconds, it took from the start\n"
+, stdout);
+ fputs(
" until the first byte was just about to be trans-\n"
" ferred. This includes time_pretransfer and also\n"
" the time the server needed to calculate the\n"
" result.\n"
"\n"
" time_total The total time, in seconds, that the full opera-\n"
-, stdout);
- fputs(
" tion lasted.\n"
"\n"
" url_effective The URL that was fetched last. This is most mean-\n"
+, stdout);
+ fputs(
" ingful if you've told curl to follow location:\n"
" headers.\n"
"\n"
@@ -3790,9 +3834,9 @@ void hugehelp(void)
" --xattr\n"
" When saving output to a file, this option tells curl to store\n"
" certain file metadata in extended file attributes. Currently,\n"
+" the URL is stored in the xdg.origin.url attribute and, for HTTP,\n"
, stdout);
fputs(
-" the URL is stored in the xdg.origin.url attribute and, for HTTP,\n"
" the content type is stored in the mime_type attribute. If the\n"
" file system does not support extended attributes, a warning is\n"
" issued.\n"
@@ -3803,11 +3847,11 @@ void hugehelp(void)
"\n"
"ENVIRONMENT\n"
" The environment variables can be specified in lower case or upper case.\n"
-, stdout);
- fputs(
" The lower case version has precedence. http_proxy is an exception as it\n"
" is only available in lower case.\n"
"\n"
+, stdout);
+ fputs(
" Using an environment variable to set the proxy has the same effect as\n"
" using the -x, --proxy option.\n"
"\n"
@@ -3817,9 +3861,9 @@ void hugehelp(void)
" Sets the proxy server to use for HTTPS.\n"
"\n"
" [url-protocol]_PROXY [protocol://]<host>[:port]\n"
+" Sets the proxy server to use for [url-protocol], where the pro-\n"
, stdout);
fputs(
-" Sets the proxy server to use for [url-protocol], where the pro-\n"
" tocol is a protocol that curl supports and as specified in a\n"
" URL. FTP, FTPS, POP3, IMAP, SMTP, LDAP etc.\n"
"\n"
@@ -3829,20 +3873,20 @@ void hugehelp(void)
"\n"
" NO_PROXY <comma-separated list of hosts>\n"
" list of host names that shouldn't go through any proxy. If set\n"
-, stdout);
- fputs(
" to an asterisk '*' only, it matches all hosts.\n"
"\n"
+, stdout);
+ fputs(
" This environment variable disables use of the proxy even when\n"
" specified with the -x, --proxy option. That is\n"
" NO_PROXY=direct.example.com curl -x http://proxy.example.com\n"
" http://direct.example.com accesses the target URL directly, and\n"
" NO_PROXY=direct.example.com curl -x http://proxy.example.com\n"
-, stdout);
- fputs(
" http://somewhere.example.com accesses the target URL through the\n"
" proxy.\n"
"\n"
+, stdout);
+ fputs(
" The list of host names can also be include numerical IP\n"
" addresses, and IPv6 versions should then be given without\n"
" enclosing brackets.\n"
@@ -3851,9 +3895,9 @@ void hugehelp(void)
" Since curl version 7.21.7, the proxy string may be specified with a\n"
" protocol:// prefix to specify alternative proxy protocols.\n"
"\n"
+" If no protocol is specified in the proxy string or if the string\n"
, stdout);
fputs(
-" If no protocol is specified in the proxy string or if the string\n"
" doesn't match a supported one, the proxy will be treated as an HTTP\n"
" proxy.\n"
"\n"
@@ -3869,12 +3913,12 @@ void hugehelp(void)
" socks4://\n"
" Makes it the equivalent of --socks4\n"
"\n"
-, stdout);
- fputs(
" socks4a://\n"
" Makes it the equivalent of --socks4a\n"
"\n"
" socks5://\n"
+, stdout);
+ fputs(
" Makes it the equivalent of --socks5\n"
"\n"
" socks5h://\n"
@@ -3885,13 +3929,13 @@ void hugehelp(void)
" error messages that may appear during bad conditions. At the time of\n"
" this writing, the exit codes are:\n"
"\n"
-, stdout);
- fputs(
" 1 Unsupported protocol. This build of curl has no support for this\n"
" protocol.\n"
"\n"
" 2 Failed to initialize.\n"
"\n"
+, stdout);
+ fputs(
" 3 URL malformed. The syntax was not correct.\n"
"\n"
" 4 A feature or option that was needed to perform the desired\n"
@@ -3899,11 +3943,11 @@ void hugehelp(void)
" time. To make curl able to do this, you probably need another\n"
" build of libcurl!\n"
"\n"
-, stdout);
- fputs(
" 5 Couldn't resolve proxy. The given proxy host could not be\n"
" resolved.\n"
"\n"
+, stdout);
+ fputs(
" 6 Couldn't resolve host. The given remote host was not resolved.\n"
"\n"
" 7 Failed to connect to host.\n"
@@ -3912,11 +3956,11 @@ void hugehelp(void)
"\n"
" 9 FTP access denied. The server denied login or denied access to\n"
" the particular resource or directory you wanted to reach. Most\n"
-, stdout);
- fputs(
" often you tried to change to a directory that doesn't exist on\n"
" the server.\n"
"\n"
+, stdout);
+ fputs(
" 10 FTP accept failed. While waiting for the server to connect back\n"
" when an active FTP session is used, an error code was sent over\n"
" the control connection or similar.\n"
@@ -3924,11 +3968,11 @@ void hugehelp(void)
" 11 FTP weird PASS reply. Curl couldn't parse the reply sent to the\n"
" PASS request.\n"
"\n"
-, stdout);
- fputs(
" 12 During an active FTP session while waiting for the server to\n"
" connect back to curl, the timeout expired.\n"
"\n"
+, stdout);
+ fputs(
" 13 FTP weird PASV reply, Curl couldn't parse the reply sent to the\n"
" PASV request.\n"
"\n"
@@ -3938,10 +3982,10 @@ void hugehelp(void)
" 15 FTP can't get host. Couldn't resolve the host IP we got in the\n"
" 227-line.\n"
"\n"
-, stdout);
- fputs(
" 16 HTTP/2 error. A problem was detected in the HTTP2 framing layer.\n"
" This is somewhat generic and can be one out of several problems,\n"
+, stdout);
+ fputs(
" see the error message for details.\n"
"\n"
" 17 FTP couldn't set binary. Couldn't change transfer method to\n"
@@ -3952,10 +3996,10 @@ void hugehelp(void)
" 19 FTP couldn't download/access the given file, the RETR (or simi-\n"
" lar) command failed.\n"
"\n"
-, stdout);
- fputs(
" 21 FTP quote error. A quote command returned error from the server.\n"
" 22 HTTP page not retrieved. The requested url was not found or\n"
+, stdout);
+ fputs(
" returned another error with the HTTP error code being 400 or\n"
" above. This return code only appears if -f, --fail is used.\n"
"\n"
@@ -3963,14 +4007,14 @@ void hugehelp(void)
" similar.\n"
"\n"
" 25 FTP couldn't STOR file. The server denied the STOR operation,\n"
-, stdout);
- fputs(
" used for FTP uploading.\n"
"\n"
" 26 Read error. Various reading problems.\n"
"\n"
" 27 Out of memory. A memory allocation request failed.\n"
"\n"
+, stdout);
+ fputs(
" 28 Operation timeout. The specified time-out period was reached\n"
" according to the conditions.\n"
"\n"
@@ -3978,13 +4022,13 @@ void hugehelp(void)
" support the PORT command, try doing a transfer using PASV\n"
" instead!\n"
"\n"
-, stdout);
- fputs(
" 31 FTP couldn't use REST. The REST command failed. This command is\n"
" used for resumed FTP transfers.\n"
"\n"
" 33 HTTP range error. The range \"command\" didn't work.\n"
"\n"
+, stdout);
+ fputs(
" 34 HTTP post error. Internal post-request generation error.\n"
"\n"
" 35 SSL connect error. The SSL handshaking failed.\n"
@@ -3992,8 +4036,6 @@ void hugehelp(void)
" 36 Bad download resume. Couldn't continue an earlier aborted down-\n"
" load.\n"
"\n"
-, stdout);
- fputs(
" 37 FILE couldn't read file. Failed to open the file. Permissions?\n"
"\n"
" 38 LDAP cannot bind. LDAP bind operation failed.\n"
@@ -4002,13 +4044,13 @@ void hugehelp(void)
"\n"
" 41 Function not found. A required LDAP function was not found.\n"
"\n"
+, stdout);
+ fputs(
" 42 Aborted by callback. An application told curl to abort the oper-\n"
" ation.\n"
"\n"
" 43 Internal error. A function was called with a bad parameter.\n"
"\n"
-, stdout);
- fputs(
" 45 Interface error. A specified outgoing interface could not be\n"
" used.\n"
"\n"
@@ -4016,13 +4058,13 @@ void hugehelp(void)
" mum amount.\n"
"\n"
" 48 Unknown option specified to libcurl. This indicates that you\n"
+, stdout);
+ fputs(
" passed a weird option to curl that was passed on to libcurl and\n"
" rejected. Read up in the manual!\n"
"\n"
" 49 Malformed telnet option.\n"
"\n"
-, stdout);
- fputs(
" 51 The peer's SSL certificate or SSH MD5 fingerprint was not OK.\n"
"\n"
" 52 The server didn't reply anything, which here is considered an\n"
@@ -4034,14 +4076,14 @@ void hugehelp(void)
"\n"
" 55 Failed sending network data.\n"
"\n"
+, stdout);
+ fputs(
" 56 Failure in receiving network data.\n"
"\n"
" 58 Problem with the local certificate.\n"
"\n"
" 59 Couldn't use specified SSL cipher.\n"
"\n"
-, stdout);
- fputs(
" 60 Peer certificate cannot be authenticated with known CA certifi-\n"
" cates.\n"
"\n"
@@ -4055,13 +4097,13 @@ void hugehelp(void)
"\n"
" 65 Sending the data requires a rewind that failed.\n"
"\n"
+, stdout);
+ fputs(
" 66 Failed to initialise SSL Engine.\n"
"\n"
" 67 The user name, password, or similar was not accepted and curl\n"
" failed to log in.\n"
"\n"
-, stdout);
- fputs(
" 68 File not found on TFTP server.\n"
"\n"
" 69 Permission problem on TFTP server.\n"
@@ -4076,14 +4118,14 @@ void hugehelp(void)
"\n"
" 74 No such user (TFTP).\n"
"\n"
+, stdout);
+ fputs(
" 75 Character conversion failed.\n"
"\n"
" 76 Character conversion functions required.\n"
"\n"
" 77 Problem with reading the SSL CA cert (path? access rights?).\n"
"\n"
-, stdout);
- fputs(
" 78 The resource referenced in the URL does not exist.\n"
"\n"
" 79 An unspecified error occurred during the SSH session.\n"
@@ -4093,6 +4135,8 @@ void hugehelp(void)
" 82 Could not load CRL file, missing or wrong format (added in\n"
" 7.19.0).\n"
"\n"
+, stdout);
+ fputs(
" 83 Issuer check failed (added in 7.19.0).\n"
"\n"
" 84 The FTP PRET command failed\n"
@@ -4101,8 +4145,6 @@ void hugehelp(void)
"\n"
" 86 RTSP: mismatch of Session Identifiers\n"
"\n"
-, stdout);
- fputs(
" 87 unable to parse FTP file list\n"
"\n"
" 88 FTP chunk callback reported error\n"
@@ -4113,14 +4155,14 @@ void hugehelp(void)
"\n"
" 91 Invalid SSL certificate status.\n"
"\n"
+, stdout);
+ fputs(
" 92 Stream error in HTTP/2 framing layer.\n"
"\n"
" XX More error codes will appear here in future releases. The exist-\n"
" ing ones are meant to never change.\n"
"\n"
"AUTHORS / CONTRIBUTORS\n"
-, stdout);
- fputs(
" Daniel Stenberg is the main author, but the whole list of contributors\n"
" is found in the separate THANKS file.\n"
"\n"
@@ -4133,6 +4175,8 @@ void hugehelp(void)
"LATEST VERSION\n"
"\n"
" You always find news about what's going on as well as the latest versions\n"
+, stdout);
+ fputs(
" from the curl web pages, located at:\n"
"\n"
" https://curl.haxx.se\n"
@@ -4143,8 +4187,6 @@ void hugehelp(void)
"\n"
" curl http://www.netscape.com/\n"
"\n"
-, stdout);
- fputs(
" Get the README file the user's home directory at funet's ftp-server:\n"
"\n"
" curl ftp://ftp.funet.fi/README\n"
@@ -4157,6 +4199,8 @@ void hugehelp(void)
"\n"
" curl ftp://cool.haxx.se/\n"
"\n"
+, stdout);
+ fputs(
" Get the definition of curl from a dictionary:\n"
"\n"
" curl dict://dict.org/m:curl\n"
@@ -4165,8 +4209,6 @@ void hugehelp(void)
"\n"
" curl ftp://cool.haxx.se/ http://www.weirdserver.com:8000/\n"
"\n"
-, stdout);
- fputs(
" Get a file off an FTPS server:\n"
"\n"
" curl ftps://files.are.secure.com/secrets.txt\n"
@@ -4179,12 +4221,12 @@ void hugehelp(void)
"\n"
" curl -u username sftp://example.com/etc/issue\n"
"\n"
+, stdout);
+ fputs(
" Get a file from an SSH server using SCP using a private key\n"
" (not password-protected) to authenticate:\n"
"\n"
" curl -u username: --key ~/.ssh/id_rsa \\\n"
-, stdout);
- fputs(
" scp://example.com/~/file.txt\n"
"\n"
" Get a file from an SSH server using SCP using a private key\n"
@@ -4195,6 +4237,8 @@ void hugehelp(void)
"\n"
" Get the main page from an IPv6 web server:\n"
"\n"
+, stdout);
+ fputs(
" curl \"http://[2001:1890:1112:1::20]/\"\n"
"\n"
" Get a file from an SMB server:\n"
@@ -4203,8 +4247,6 @@ void hugehelp(void)
"\n"
"DOWNLOAD TO A FILE\n"
"\n"
-, stdout);
- fputs(
" Get a web page and store in a local file with a specific name:\n"
"\n"
" curl -o thatpage.html http://www.netscape.com/\n"
@@ -4213,6 +4255,8 @@ void hugehelp(void)
" of the remote document (if no file name part is specified in the URL, this\n"
" will fail):\n"
"\n"
+, stdout);
+ fputs(
" curl -O http://www.netscape.com/index.html\n"
"\n"
" Fetch two files and store them with their remote names:\n"
@@ -4223,8 +4267,6 @@ void hugehelp(void)
"\n"
" FTP\n"
"\n"
-, stdout);
- fputs(
" To ftp files using name+passwd, include them in the URL like:\n"
"\n"
" curl ftp://name:passwd@machine.domain:port/full/path/to/file\n"
@@ -4235,12 +4277,12 @@ void hugehelp(void)
"\n"
" FTPS\n"
"\n"
+, stdout);
+ fputs(
" It is just like for FTP, but you may also want to specify and use\n"
" SSL-specific options for certificates etc.\n"
"\n"
" Note that using FTPS:// as prefix is the \"implicit\" way as described in the\n"
-, stdout);
- fputs(
" standards while the recommended \"explicit\" way is done by using FTP:// and\n"
" the --ftp-ssl option.\n"
"\n"
@@ -4248,11 +4290,11 @@ void hugehelp(void)
"\n"
" This is similar to FTP, but you can use the --key option to specify a\n"
" private key to use instead of a password. Note that the private key may\n"
+, stdout);
+ fputs(
" itself be protected by a password that is unrelated to the login password\n"
" of the remote system; this password is specified using the --pass option.\n"
" Typically, curl will automatically extract the public key from the private\n"
-, stdout);
- fputs(
" key file, but in cases where curl does not have the proper library support,\n"
" a matching public key file must be specified using the --pubkey option.\n"
"\n"
@@ -4261,24 +4303,24 @@ void hugehelp(void)
" Curl also supports user and password in HTTP URLs, thus you can pick a file\n"
" like:\n"
"\n"
+, stdout);
+ fputs(
" curl http://name:passwd@machine.domain/full/path/to/file\n"
"\n"
" or specify user and password separately like in\n"
"\n"
" curl -u name:passwd http://machine.domain/full/path/to/file\n"
"\n"
-, stdout);
- fputs(
" HTTP offers many different methods of authentication and curl supports\n"
" several: Basic, Digest, NTLM and Negotiate (SPNEGO). Without telling which\n"
" method to use, curl defaults to Basic. You can also ask curl to pick the\n"
" most secure ones out of the ones that the server accepts for the given URL,\n"
+, stdout);
+ fputs(
" by using --anyauth.\n"
"\n"
" NOTE! According to the URL specification, HTTP URLs can not contain a user\n"
" and password, so that style will not work when using curl via a proxy, even\n"
-, stdout);
- fputs(
" though curl allows it at other times. When using a proxy, you _must_ use\n"
" the -u style for user and password.\n"
"\n"
@@ -4289,10 +4331,10 @@ void hugehelp(void)
"PROXY\n"
"\n"
" curl supports both HTTP and SOCKS proxy servers, with optional authentication.\n"
-" It does not have special support for FTP proxy servers since there are no\n"
-" standards for those, but it can still be made to work with many of them. You\n"
, stdout);
fputs(
+" It does not have special support for FTP proxy servers since there are no\n"
+" standards for those, but it can still be made to work with many of them. You\n"
" can also use both HTTP and SOCKS proxies to transfer files to and from FTP\n"
" servers.\n"
"\n"
@@ -4303,12 +4345,12 @@ void hugehelp(void)
" Get a file from an HTTP server that requires user and password, using the\n"
" same proxy as above:\n"
"\n"
+, stdout);
+ fputs(
" curl -u user:passwd -x my-proxy:888 http://www.get.this/\n"
"\n"
" Some proxies require special authentication. Specify by using -U as above:\n"
"\n"
-, stdout);
- fputs(
" curl -U user:passwd -x my-proxy:888 http://www.get.this/\n"
"\n"
" A comma-separated list of hosts and domains which do not use the proxy can\n"
@@ -4317,24 +4359,24 @@ void hugehelp(void)
" curl --noproxy localhost,get.this -x my-proxy:888 http://www.get.this/\n"
"\n"
" If the proxy is specified with --proxy1.0 instead of --proxy or -x, then\n"
+, stdout);
+ fputs(
" curl will use HTTP/1.0 instead of HTTP/1.1 for any CONNECT attempts.\n"
"\n"
" curl also supports SOCKS4 and SOCKS5 proxies with --socks4 and --socks5.\n"
"\n"
-, stdout);
- fputs(
" See also the environment variables Curl supports that offer further proxy\n"
" control.\n"
"\n"
" Most FTP proxy servers are set up to appear as a normal FTP server from the\n"
" client's perspective, with special commands to select the remote FTP server.\n"
" curl supports the -u, -Q and --ftp-account options that can be used to\n"
+, stdout);
+ fputs(
" set up transfers through many FTP proxies. For example, a file can be\n"
" uploaded to a remote FTP server using a Blue Coat FTP proxy with the\n"
" options:\n"
"\n"
-, stdout);
- fputs(
" curl -u \"Remote-FTP-Username@remote.ftp.server Proxy-Username:Remote-Pass\" \\\n"
" --ftp-account Proxy-Password --upload-file local-file \\\n"
" ftp://my-ftp.proxy.server:21/remote/upload/path/\n"
@@ -4342,12 +4384,12 @@ void hugehelp(void)
" See the manual for your FTP proxy to determine the form it expects to set up\n"
" transfers, and curl's -v option to see exactly what curl is sending.\n"
"\n"
+, stdout);
+ fputs(
"RANGES\n"
"\n"
" HTTP 1.1 introduced byte-ranges. Using this, a client can request\n"
" to get only one or more subparts of a specified document. Curl supports\n"
-, stdout);
- fputs(
" this with the -r flag.\n"
"\n"
" Get the first 100 bytes of a document:\n"
@@ -4361,6 +4403,8 @@ void hugehelp(void)
" Curl also supports simple ranges for FTP files as well. Then you can only\n"
" specify start and stop position.\n"
"\n"
+, stdout);
+ fputs(
" Get the first 100 bytes of a document using FTP:\n"
"\n"
" curl -r 0-99 ftp://www.get.this/README\n"
@@ -4371,8 +4415,6 @@ void hugehelp(void)
"\n"
" Upload all data on stdin to a specified server:\n"
"\n"
-, stdout);
- fputs(
" curl -T - ftp://ftp.upload.com/myfile\n"
"\n"
" Upload data from a specified file, login with user and password:\n"
@@ -4382,14 +4424,14 @@ void hugehelp(void)
" Upload a local file to the remote site, and use the local file name at the remote\n"
" site too:\n"
"\n"
+, stdout);
+ fputs(
" curl -T uploadfile -u user:passwd ftp://ftp.upload.com/\n"
"\n"
" Upload a local file to get appended to the remote file:\n"
"\n"
" curl -T localfile -a ftp://ftp.upload.com/remotefile\n"
"\n"
-, stdout);
- fputs(
" Curl also supports ftp upload through a proxy, but only if the proxy is\n"
" configured to allow that kind of tunneling. If it does, you can run curl in\n"
" a fashion similar to:\n"
@@ -4399,6 +4441,8 @@ void hugehelp(void)
"SMB / SMBS\n"
"\n"
" curl -T file.txt -u \"domain\\username:passwd\" \n"
+, stdout);
+ fputs(
" smb://server.example.com/share/\n"
"\n"
" HTTP\n"
@@ -4407,8 +4451,6 @@ void hugehelp(void)
"\n"
" curl -T - http://www.upload.com/myfile\n"
"\n"
-, stdout);
- fputs(
" Note that the HTTP server must have been configured to accept PUT before\n"
" this can be done successfully.\n"
"\n"
@@ -4418,10 +4460,10 @@ void hugehelp(void)
"\n"
" If curl fails where it isn't supposed to, if the servers don't let you in,\n"
" if you can't understand the responses: use the -v flag to get verbose\n"
-" fetching. Curl will output lots of info and what it sends and receives in\n"
-" order to let the user see all client-server interaction (but it won't show\n"
, stdout);
fputs(
+" fetching. Curl will output lots of info and what it sends and receives in\n"
+" order to let the user see all client-server interaction (but it won't show\n"
" you the actual data).\n"
"\n"
" curl -v ftp://ftp.upload.com/\n"
@@ -4435,21 +4477,21 @@ void hugehelp(void)
"\n"
"DETAILED INFORMATION\n"
"\n"
-" Different protocols provide different ways of getting detailed information\n"
-" about specific files/documents. To get curl to show detailed information\n"
, stdout);
fputs(
+" Different protocols provide different ways of getting detailed information\n"
+" about specific files/documents. To get curl to show detailed information\n"
" about a single file, you should use -I/--head option. It displays all\n"
" available info on a single file for HTTP and FTP. The HTTP information is a\n"
" lot more extensive.\n"
"\n"
" For HTTP, you can get the header information (the same as -I would show)\n"
" shown before the data by using -i/--include. Curl understands the\n"
+, stdout);
+ fputs(
" -D/--dump-header option when getting files from both FTP and HTTP, and it\n"
" will then store the headers in the specified file.\n"
"\n"
-, stdout);
- fputs(
" Store the HTTP headers in a separate file (headers.txt in the example):\n"
"\n"
" curl --dump-header headers.txt curl.haxx.se\n"
@@ -4460,13 +4502,13 @@ void hugehelp(void)
"\n"
"POST (HTTP)\n"
"\n"
+, stdout);
+ fputs(
" It's easy to post data using curl. This is done using the -d <data>\n"
" option. The post data must be urlencoded.\n"
"\n"
" Post a simple \"name\" and \"phone\" guestbook.\n"
"\n"
-, stdout);
- fputs(
" curl -d \"name=Rafael%20Sagula&phone=3320780\" \\\n"
" http://www.where.com/guest.cgi\n"
"\n"
@@ -4477,11 +4519,11 @@ void hugehelp(void)
" If there's a \"normal\" post, you use -d to post. -d takes a full \"post\n"
" string\", which is in the format\n"
"\n"
+, stdout);
+ fputs(
" <variable1>=<data1>&<variable2>=<data2>&...\n"
"\n"
" The 'variable' names are the names set with \"name=\" in the <input> tags, and\n"
-, stdout);
- fputs(
" the data is the contents you want to fill in for the inputs. The data *must*\n"
" be properly URL encoded. That means you replace space with + and that you\n"
" replace weird letters with %XX where XX is the hexadecimal representation of\n"
@@ -4491,11 +4533,11 @@ void hugehelp(void)
"\n"
" (page located at http://www.formpost.com/getthis/\n"
"\n"
+, stdout);
+ fputs(
" <form action=\"post.cgi\" method=\"post\">\n"
" <input name=user size=10>\n"
" <input name=pass type=password size=10>\n"
-, stdout);
- fputs(
" <input name=id type=hidden value=\"blablabla\">\n"
" <input name=ding value=\"submit\">\n"
" </form>\n"
@@ -4508,18 +4550,18 @@ void hugehelp(void)
" http://www.formpost.com/getthis/post.cgi\n"
"\n"
"\n"
-" While -d uses the application/x-www-form-urlencoded mime-type, generally\n"
, stdout);
fputs(
+" While -d uses the application/x-www-form-urlencoded mime-type, generally\n"
" understood by CGI's and similar, curl also supports the more capable\n"
" multipart/form-data type. This latter type supports things like file upload.\n"
"\n"
" -F accepts parameters like -F \"name=contents\". If you want the contents to\n"
" be read from a file, use <@filename> as contents. When specifying a file,\n"
" you can also specify the file content type by appending ';type=<mime type>'\n"
-" to the file name. You can also post the contents of several files in one\n"
, stdout);
fputs(
+" to the file name. You can also post the contents of several files in one\n"
" field. For example, the field name 'coolfiles' is used to send three files,\n"
" with different content types using the following syntax:\n"
"\n"
@@ -4528,18 +4570,18 @@ void hugehelp(void)
"\n"
" If the content-type is not specified, curl will try to guess from the file\n"
" extension (it only knows a few), or use the previously specified type (from\n"
-" an earlier file if several files are specified in a list) or else it will\n"
, stdout);
fputs(
+" an earlier file if several files are specified in a list) or else it will\n"
" use the default type 'application/octet-stream'.\n"
"\n"
" Emulate a fill-in form with -F. Let's say you fill in three fields in a\n"
" form. One field is a file name which to post, one field is your name and one\n"
" field is a file description. We want to post the file we have written named\n"
" \"cooltext.txt\". To let curl do the posting of this data instead of your\n"
-" favourite browser, you have to read the HTML source of the form page and\n"
, stdout);
fputs(
+" favourite browser, you have to read the HTML source of the form page and\n"
" find the names of the input fields. In our example, the input field names\n"
" are 'file', 'yourname' and 'filedescription'.\n"
"\n"
@@ -4549,12 +4591,12 @@ void hugehelp(void)
"\n"
" To send two files in one post you can do it in two ways:\n"
"\n"
+, stdout);
+ fputs(
" 1. Send multiple files in a single \"field\" with a single field name:\n"
"\n"
" curl -F \"pictures=@dog.gif,cat.gif\"\n"
"\n"
-, stdout);
- fputs(
" 2. Send two fields with two field names:\n"
"\n"
" curl -F \"docpicture=@dog.gif\" -F \"catpicture=@cat.gif\"\n"
@@ -4563,13 +4605,13 @@ void hugehelp(void)
" or '<', or an embedded ';type=', use --form-string instead of\n"
" -F. This is recommended when the value is obtained from a user or\n"
" some other unpredictable source. Under these circumstances, using\n"
+, stdout);
+ fputs(
" -F instead of --form-string would allow a user to trick curl into\n"
" uploading a file.\n"
"\n"
"REFERRER\n"
"\n"
-, stdout);
- fputs(
" An HTTP request has the option to include information about which address\n"
" referred it to the actual page. Curl allows you to specify the\n"
" referrer to be used on the command line. It is especially useful to\n"
@@ -4578,12 +4620,12 @@ void hugehelp(void)
"\n"
" curl -e www.coolsite.com http://www.showme.com/\n"
"\n"
+, stdout);
+ fputs(
" NOTE: The Referer: [sic] field is defined in the HTTP spec to be a full URL.\n"
"\n"
"USER AGENT\n"
"\n"
-, stdout);
- fputs(
" An HTTP request has the option to include information about the browser\n"
" that generated the request. Curl allows it to be specified on the command\n"
" line. It is especially useful to fool or trick stupid servers or CGI\n"
@@ -4594,9 +4636,9 @@ void hugehelp(void)
" curl -A 'Mozilla/3.0 (Win95; I)' http://www.nationsbank.com/\n"
"\n"
" Other common strings:\n"
-" 'Mozilla/3.0 (Win95; I)' Netscape Version 3 for Windows 95\n"
, stdout);
fputs(
+" 'Mozilla/3.0 (Win95; I)' Netscape Version 3 for Windows 95\n"
" 'Mozilla/3.04 (Win95; U)' Netscape Version 3 for Windows 95\n"
" 'Mozilla/2.02 (OS/2; U)' Netscape Version 2 for OS/2\n"
" 'Mozilla/4.04 [en] (X11; U; AIX 4.2; Nav)' NS for AIX\n"
@@ -4605,9 +4647,9 @@ void hugehelp(void)
" Note that Internet Explorer tries hard to be compatible in every way:\n"
" 'Mozilla/4.0 (compatible; MSIE 4.01; Windows 95)' MSIE for W95\n"
"\n"
-" Mozilla is not the only possible User-Agent name:\n"
, stdout);
fputs(
+" Mozilla is not the only possible User-Agent name:\n"
" 'Konqueror/1.0' KDE File Manager desktop client\n"
" 'Lynx/2.7.1 libwww-FM/2.14' Lynx command line browser\n"
"\n"
@@ -5377,4896 +5419,4939 @@ void hugehelp(void) {}
#include "memdebug.h" /* keep this as LAST include */
static const unsigned char hugehelpgz[] = {
/* This mumbo-jumbo is the huge help text compressed with gzip.
- Thanks to this operation, the size of this data shrank from 199742
- to 58638 bytes. You can disable the use of compressed help
+ Thanks to this operation, the size of this data shrank from 201045
+ to 59151 bytes. You can disable the use of compressed help
texts by NOT passing -c to the mkhelp.pl tool. */
0x1f, 0x8b, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0xed, 0xfd,
- 0x6b, 0x7b, 0xdc, 0x46, 0x92, 0x26, 0x80, 0x7e, 0xe7, 0xaf, 0x40, 0xb3,
- 0x4f, 0x0f, 0xc9, 0xee, 0xaa, 0xe2, 0x45, 0x17, 0x4b, 0xb4, 0xe4, 0x31,
- 0x4d, 0x51, 0x36, 0xc7, 0x94, 0xc8, 0x65, 0x51, 0xb6, 0x7b, 0x6d, 0x3f,
- 0x7a, 0x50, 0x55, 0x20, 0x89, 0x56, 0x15, 0x50, 0x0d, 0xa0, 0x78, 0xe9,
- 0xd9, 0xd9, 0xdf, 0x7e, 0x32, 0xde, 0x88, 0xc8, 0x4c, 0x20, 0xb3, 0x8a,
- 0xb4, 0xdb, 0xee, 0x9d, 0x73, 0x76, 0x67, 0xb7, 0x2d, 0x89, 0x04, 0x12,
- 0x79, 0x8d, 0x8c, 0xcb, 0x1b, 0x6f, 0x24, 0xc9, 0x43, 0xff, 0xf7, 0x11,
- 0xff, 0xfb, 0x68, 0xfe, 0xcf, 0xfc, 0xb9, 0x96, 0x24, 0x67, 0x55, 0xf9,
- 0xb7, 0x6c, 0xdc, 0xc4, 0x9f, 0xfd, 0xf8, 0xf1, 0x7f, 0x25, 0xfc, 0xff,
- 0xcc, 0x3b, 0x3f, 0x99, 0x3f, 0xd7, 0x56, 0xb6, 0xbd, 0x9d, 0xb8, 0x17,
- 0xfe, 0xd7, 0xc7, 0xad, 0xe4, 0xa1, 0x17, 0xfe, 0x57, 0xb2, 0x89, 0x17,
- 0x3e, 0xca, 0x17, 0x5e, 0xd1, 0xdf, 0x3f, 0x7e, 0x5c, 0xfd, 0x91, 0x9f,
- 0xa8, 0x57, 0xf4, 0x9f, 0x6d, 0x7a, 0xef, 0xa7, 0x8f, 0xf4, 0x57, 0xf3,
- 0x93, 0xb5, 0xb5, 0xf7, 0x07, 0xef, 0x8e, 0xf4, 0xd5, 0xf1, 0xa2, 0x9a,
- 0x26, 0xfd, 0xa4, 0xa9, 0xd2, 0xa2, 0xbe, 0xcc, 0xaa, 0x24, 0x4d, 0x3e,
- 0x9c, 0x9f, 0xac, 0xad, 0x0d, 0xff, 0xfa, 0xfe, 0xf4, 0x6c, 0x78, 0x3c,
- 0x6c, 0x3d, 0xf6, 0x63, 0x39, 0x6f, 0xf2, 0xb2, 0xa8, 0x4d, 0xf7, 0xcd,
- 0x43, 0xf5, 0xcf, 0x6b, 0x6b, 0x6f, 0x8e, 0x86, 0x87, 0xe7, 0xc7, 0x67,
- 0x17, 0xc7, 0xa7, 0xef, 0x5b, 0x4f, 0x26, 0x79, 0x9d, 0x98, 0xa6, 0x9a,
- 0xb2, 0x9c, 0x9a, 0xff, 0xb8, 0xd6, 0x27, 0x69, 0x93, 0x26, 0x97, 0x55,
- 0x39, 0x4b, 0xca, 0x8a, 0x7e, 0x91, 0x26, 0x75, 0x56, 0xdd, 0x64, 0x55,
- 0x2f, 0x59, 0xd4, 0x79, 0x71, 0x95, 0x94, 0x45, 0x96, 0x94, 0x97, 0x49,
- 0x73, 0x9d, 0x69, 0x73, 0xf5, 0x62, 0x3e, 0x2f, 0xab, 0x26, 0x9b, 0x24,
- 0xf3, 0xaa, 0x6c, 0xca, 0x71, 0x39, 0xad, 0x93, 0xcd, 0x37, 0xc7, 0x87,
- 0x17, 0xbd, 0xe4, 0xed, 0xf1, 0xc9, 0x91, 0xf9, 0xef, 0xc5, 0x19, 0xfe,
- 0x33, 0xec, 0x25, 0x5f, 0x9f, 0x9e, 0x7d, 0x73, 0x74, 0xde, 0x4b, 0xbe,
- 0xb9, 0xa0, 0x9f, 0xd1, 0x7f, 0xcd, 0x0f, 0x93, 0xe3, 0x77, 0x07, 0x67,
- 0x3d, 0x6d, 0x8e, 0xfe, 0x41, 0x3f, 0x3c, 0x79, 0x63, 0x7e, 0xc8, 0x7f,
- 0xd0, 0x3f, 0xcf, 0x4e, 0xcf, 0x9e, 0xc8, 0x1f, 0xf4, 0xcf, 0xf3, 0x8b,
- 0x77, 0xe6, 0xb7, 0xe7, 0x17, 0x43, 0xf3, 0xdf, 0xe1, 0x21, 0xfd, 0x07,
- 0x5f, 0x19, 0xbe, 0xfb, 0x0a, 0xff, 0x19, 0xda, 0xe6, 0x86, 0xef, 0xf8,
- 0xe7, 0xf8, 0xd2, 0xc5, 0xd1, 0xc9, 0xfb, 0xa3, 0x8b, 0x24, 0x2d, 0x26,
- 0xc9, 0x85, 0x79, 0x7e, 0x6b, 0x90, 0x5c, 0x5c, 0x67, 0xc9, 0xb8, 0x9c,
- 0xcd, 0xe8, 0x47, 0x66, 0x46, 0x26, 0x59, 0x9d, 0x5f, 0x15, 0x66, 0x28,
- 0x66, 0xe4, 0xb7, 0x65, 0xf5, 0x29, 0x49, 0x6e, 0xf3, 0xe6, 0xba, 0x5c,
- 0x34, 0xda, 0xdc, 0xc2, 0xcc, 0x46, 0x92, 0x17, 0x4d, 0x56, 0xa5, 0x63,
- 0x9a, 0xe9, 0xc1, 0x5a, 0x6b, 0x56, 0xcb, 0x4b, 0x33, 0x87, 0xb5, 0x99,
- 0xb4, 0xd1, 0xa2, 0x9e, 0x96, 0xe9, 0x84, 0xa6, 0xca, 0xbc, 0x72, 0xb9,
- 0x30, 0x93, 0x5c, 0xe5, 0xe3, 0x4f, 0x75, 0x32, 0xcd, 0x3f, 0x65, 0x34,
- 0x51, 0x77, 0xf7, 0x3a, 0x71, 0x3d, 0x6e, 0x34, 0x5d, 0x98, 0x39, 0x2d,
- 0xfa, 0xda, 0x5c, 0x93, 0x8f, 0x53, 0xfa, 0x00, 0x66, 0x2e, 0x59, 0xcc,
- 0xa9, 0x35, 0x9e, 0xb1, 0x64, 0x5e, 0xd6, 0xe6, 0xa5, 0xe1, 0xf0, 0xc4,
- 0xf4, 0xbc, 0x28, 0x32, 0xf4, 0xa3, 0xee, 0x99, 0x7f, 0x94, 0x9f, 0xf2,
- 0xcc, 0xfc, 0xe5, 0x32, 0x9f, 0x66, 0x09, 0xaf, 0xa8, 0x6d, 0x8e, 0x96,
- 0x36, 0xa9, 0xb2, 0x7a, 0x31, 0xcb, 0xcc, 0xec, 0xbd, 0xcb, 0x9a, 0x74,
- 0x9a, 0x17, 0x9f, 0xcc, 0x5f, 0x69, 0xe0, 0xb3, 0xb2, 0xca, 0x06, 0xc9,
- 0x41, 0x9d, 0xdc, 0x97, 0x0b, 0x33, 0xe0, 0xe9, 0xd4, 0xac, 0x79, 0x96,
- 0x8c, 0xb2, 0x69, 0x79, 0xdb, 0xa3, 0x95, 0x4e, 0x8a, 0xc5, 0x6c, 0x64,
- 0x1a, 0x28, 0x2f, 0x5d, 0x73, 0x69, 0xb3, 0x30, 0xcd, 0xf1, 0xd3, 0xb3,
- 0xd4, 0x8c, 0xc9, 0xbc, 0x5b, 0x25, 0xd7, 0x99, 0x19, 0x73, 0x3d, 0xcf,
- 0x8b, 0x3f, 0xb4, 0xe7, 0xc5, 0x4c, 0xed, 0xbc, 0xbc, 0xcd, 0x2a, 0x33,
- 0xb3, 0xa3, 0xfb, 0xc4, 0x4c, 0xc2, 0x88, 0x37, 0xe1, 0xa5, 0xd9, 0x64,
- 0x49, 0x6a, 0x9a, 0xb0, 0x1b, 0xb0, 0x5f, 0x65, 0xd3, 0x94, 0x36, 0x93,
- 0xfd, 0xc6, 0xc0, 0x2c, 0x62, 0x66, 0x77, 0x9b, 0xbc, 0xba, 0xf9, 0x64,
- 0x0b, 0x2f, 0x4f, 0xcc, 0x48, 0xf2, 0x69, 0x6d, 0x96, 0x81, 0x0e, 0x85,
- 0x3c, 0x43, 0x8b, 0x4a, 0xfb, 0xdf, 0xec, 0xcd, 0xfb, 0xa2, 0x49, 0xef,
- 0xf0, 0x79, 0xd9, 0x9b, 0xfd, 0x49, 0x36, 0xcf, 0x8a, 0x49, 0x56, 0x34,
- 0x83, 0xe4, 0xaf, 0xe5, 0x62, 0xc3, 0x7c, 0xfb, 0x32, 0x37, 0x73, 0x90,
- 0x4a, 0x53, 0xe6, 0xcb, 0x66, 0x13, 0x8c, 0xab, 0x7c, 0xee, 0x2d, 0x45,
- 0x59, 0x98, 0x35, 0x4f, 0xce, 0xdf, 0x1e, 0x26, 0x4f, 0x5e, 0xbe, 0x78,
- 0xee, 0xd6, 0xdc, 0x34, 0x90, 0x8c, 0xd3, 0xc2, 0x8c, 0x38, 0x1b, 0xe7,
- 0x97, 0xf7, 0xc9, 0x6c, 0x31, 0x6d, 0xf2, 0xb9, 0x99, 0x7d, 0x3a, 0x7c,
- 0x74, 0x80, 0xe6, 0x69, 0xd5, 0xd4, 0xb4, 0x09, 0xf0, 0x03, 0x8c, 0xfd,
- 0xb6, 0xca, 0x1b, 0x3a, 0x48, 0xf8, 0x9d, 0xe9, 0x61, 0xd6, 0xd4, 0xda,
- 0x1c, 0xed, 0x35, 0xf3, 0x9d, 0x91, 0xd9, 0x5b, 0x66, 0x6a, 0xd3, 0xda,
- 0x7c, 0x74, 0x7f, 0xcd, 0x49, 0x90, 0xeb, 0xa6, 0x99, 0xef, 0x6f, 0x6f,
- 0xd7, 0x79, 0x93, 0x0d, 0xfe, 0xd3, 0x9c, 0xc3, 0x5e, 0x73, 0x5b, 0xf6,
- 0x9a, 0xeb, 0x2a, 0xcb, 0xfe, 0x6b, 0x60, 0xf6, 0xb0, 0x7d, 0xd2, 0x7c,
- 0xf7, 0x5e, 0x3a, 0x76, 0x95, 0x35, 0xe6, 0x0b, 0x7f, 0x5f, 0x64, 0x05,
- 0xb5, 0x68, 0xfa, 0x91, 0x4e, 0xe7, 0xd7, 0xa9, 0x59, 0xce, 0xcc, 0xec,
- 0x46, 0x3a, 0xd9, 0x66, 0xc3, 0x50, 0xaf, 0xf8, 0x6c, 0xff, 0xf8, 0x73,
- 0xf8, 0xd1, 0x4b, 0x7c, 0xd3, 0xfc, 0x77, 0x90, 0xdd, 0xa5, 0x33, 0x33,
- 0x36, 0xfa, 0xd4, 0x36, 0x6d, 0xb1, 0x1f, 0x77, 0xfb, 0xbb, 0x3b, 0x3b,
- 0x3f, 0x0f, 0x9a, 0xbb, 0xe6, 0x71, 0xcf, 0xef, 0xec, 0xb8, 0x37, 0xe8,
- 0xd1, 0x4d, 0x1a, 0x6f, 0x32, 0x35, 0x5b, 0x86, 0x3e, 0xfe, 0x8f, 0xac,
- 0x2a, 0xeb, 0xad, 0xc7, 0xb5, 0x94, 0xf6, 0xff, 0xd1, 0xfe, 0xee, 0xfb,
- 0xac, 0xc6, 0x9e, 0x71, 0x63, 0x4d, 0xd2, 0xca, 0xec, 0xdb, 0xb2, 0x71,
- 0xe2, 0xa9, 0x67, 0x0e, 0x65, 0x63, 0x67, 0xc6, 0x9c, 0x39, 0xf3, 0xb4,
- 0x11, 0x6c, 0xe9, 0x94, 0x64, 0x5a, 0x9d, 0x14, 0xd9, 0x9d, 0x3d, 0xe5,
- 0xe6, 0xf4, 0x67, 0xe9, 0xf8, 0x3a, 0x29, 0xcd, 0xe6, 0xaf, 0x22, 0x4b,
- 0xe0, 0x77, 0x28, 0xad, 0xc6, 0xd7, 0xf9, 0x8d, 0x99, 0x8d, 0x97, 0x2f,
- 0x9f, 0xf7, 0xcd, 0x7f, 0x5e, 0xfe, 0xbc, 0x7d, 0x53, 0x4e, 0xcd, 0xe4,
- 0x3c, 0xfd, 0x79, 0x9b, 0x96, 0xf8, 0x3f, 0xd3, 0xde, 0xa8, 0x37, 0xfe,
- 0xaf, 0xc1, 0x75, 0x33, 0x9b, 0x2e, 0xdd, 0x38, 0x69, 0x61, 0xfe, 0x37,
- 0x2b, 0x17, 0x45, 0x63, 0x37, 0x8b, 0xd9, 0x73, 0x8d, 0x27, 0x9c, 0xcc,
- 0x71, 0x35, 0x67, 0x94, 0xb6, 0x36, 0xed, 0x21, 0x3a, 0x75, 0xe6, 0x80,
- 0xba, 0xe3, 0xd8, 0x8c, 0xaf, 0x69, 0xfc, 0x66, 0xf7, 0xa4, 0x32, 0x09,
- 0x4d, 0x9e, 0xd2, 0xc9, 0x34, 0x02, 0x82, 0x04, 0x16, 0xda, 0xe2, 0xaf,
- 0xe5, 0xe6, 0xc1, 0xb2, 0x9a, 0x64, 0xd5, 0xa0, 0xdb, 0x0d, 0x7b, 0x64,
- 0xbd, 0x6f, 0x26, 0x7a, 0xa3, 0xd0, 0x0f, 0xd0, 0xb1, 0x59, 0x7e, 0x67,
- 0x5a, 0x80, 0xc0, 0x2c, 0xd0, 0x71, 0x6e, 0x2d, 0xa1, 0x1e, 0xe3, 0x33,
- 0xfa, 0xbe, 0x3b, 0xb2, 0xa6, 0xeb, 0xad, 0xa1, 0xe3, 0xa3, 0x6e, 0xf0,
- 0x89, 0x59, 0xbc, 0xb9, 0x79, 0x6b, 0x41, 0x72, 0x15, 0xc7, 0x9a, 0x9a,
- 0x31, 0x02, 0xe1, 0xca, 0xac, 0x8b, 0x59, 0x0b, 0xda, 0xc5, 0xb4, 0x54,
- 0xf7, 0xc9, 0x7b, 0xb3, 0x61, 0x58, 0x18, 0x79, 0x9b, 0x7d, 0x9a, 0x35,
- 0xcd, 0x83, 0xcb, 0xe4, 0x76, 0xec, 0xfe, 0x6e, 0xb0, 0x69, 0x97, 0x3d,
- 0x6f, 0xf6, 0xd9, 0xfe, 0x5e, 0xfb, 0xe1, 0xef, 0x8d, 0x90, 0x76, 0xc7,
- 0xc5, 0x7c, 0xfd, 0x3f, 0xff, 0xcb, 0xdb, 0x75, 0xb7, 0xf4, 0xdb, 0xbc,
- 0xb8, 0x29, 0x3f, 0x99, 0x29, 0xc2, 0x2d, 0x9a, 0xb6, 0x67, 0x93, 0xe4,
- 0xd0, 0x6c, 0xde, 0xd8, 0xeb, 0x89, 0xb6, 0xa3, 0xf9, 0xd1, 0x28, 0x1d,
- 0x4d, 0xef, 0x93, 0xeb, 0xf4, 0x26, 0xa3, 0xf1, 0xce, 0xcd, 0x3e, 0xa5,
- 0x19, 0x30, 0xd7, 0xc6, 0x14, 0x72, 0x4c, 0x04, 0xc3, 0xa4, 0x5c, 0x8c,
- 0x8c, 0x70, 0xf9, 0xfb, 0xa2, 0x6c, 0x78, 0x62, 0xd2, 0x9b, 0x32, 0x9f,
- 0xb4, 0xee, 0xe2, 0xeb, 0x8c, 0x04, 0x1a, 0x7d, 0x18, 0x97, 0x94, 0x11,
- 0xa8, 0xd4, 0x53, 0x1c, 0xb4, 0xbc, 0xa1, 0xeb, 0xce, 0x88, 0xc2, 0x74,
- 0x5a, 0x97, 0x49, 0x72, 0x55, 0xd2, 0x29, 0x81, 0x00, 0xc6, 0x36, 0x37,
- 0x8b, 0x72, 0x9d, 0xd2, 0xad, 0x66, 0x2e, 0x30, 0x7b, 0x0e, 0xaa, 0x0c,
- 0xb2, 0x18, 0x2b, 0x95, 0x4e, 0x7b, 0x7c, 0x7b, 0xd1, 0x3b, 0x32, 0x55,
- 0xc9, 0xc6, 0xbf, 0x6d, 0xf4, 0x92, 0x8d, 0x7f, 0xdf, 0xc0, 0x7e, 0xd8,
- 0xf8, 0xf3, 0x86, 0x5b, 0x67, 0xa3, 0x8c, 0xdd, 0xe4, 0x93, 0x8c, 0xb7,
- 0xc4, 0xf1, 0xd9, 0xcd, 0xf3, 0xe4, 0x1f, 0xa4, 0x3b, 0x18, 0x59, 0x9b,
- 0xdd, 0xe9, 0x86, 0xd4, 0xb1, 0x99, 0xb7, 0x13, 0x23, 0x74, 0xd3, 0x39,
- 0x29, 0x11, 0x59, 0x35, 0x36, 0xbb, 0x37, 0xbd, 0x32, 0xfb, 0xd5, 0xdc,
- 0xc5, 0xda, 0x1c, 0xb5, 0x4f, 0xaf, 0xf0, 0xb0, 0x8c, 0x80, 0x4c, 0x8a,
- 0x74, 0x66, 0x4e, 0xc4, 0x09, 0xf5, 0x28, 0x2f, 0xc2, 0xc5, 0xfc, 0xf1,
- 0x32, 0x7b, 0xb1, 0xb3, 0xbf, 0xff, 0xe4, 0x4f, 0x7b, 0xcf, 0xb2, 0xe6,
- 0x7a, 0xe7, 0xe7, 0x6d, 0xfb, 0xc8, 0xf1, 0x25, 0xa6, 0x5d, 0xb7, 0x9f,
- 0x76, 0xc2, 0xdc, 0xf2, 0xf6, 0x96, 0x30, 0xef, 0x9b, 0xbf, 0x67, 0x97,
- 0xf9, 0x5d, 0x4f, 0xf5, 0x25, 0x3e, 0x73, 0xa9, 0xd9, 0x6a, 0x66, 0xfd,
- 0x48, 0x44, 0x68, 0x73, 0x57, 0x8b, 0xac, 0x36, 0x33, 0x79, 0x7b, 0x9d,
- 0x36, 0x89, 0x6d, 0x80, 0x57, 0x76, 0x96, 0x5f, 0x5d, 0x37, 0xc9, 0x6d,
- 0x4a, 0x97, 0xcd, 0x71, 0xc3, 0x4d, 0xd0, 0x2d, 0x6f, 0xae, 0x98, 0xcb,
- 0xd4, 0xdc, 0x15, 0xb4, 0x86, 0xb8, 0xd2, 0x47, 0x4e, 0xc3, 0x68, 0xcc,
- 0x36, 0xe7, 0x05, 0x71, 0xea, 0xd4, 0x28, 0xad, 0xe9, 0xd0, 0x16, 0x46,
- 0x38, 0x34, 0x46, 0x47, 0x58, 0xd0, 0xbf, 0xae, 0x8d, 0x16, 0x80, 0x39,
- 0x90, 0x8e, 0xe2, 0xa2, 0x7c, 0x4b, 0xcb, 0x49, 0x6b, 0x63, 0x2f, 0x2f,
- 0xb3, 0x48, 0x3d, 0x59, 0x66, 0xfb, 0x46, 0x6d, 0x0e, 0x9c, 0x91, 0x4c,
- 0x76, 0x67, 0xac, 0x93, 0x90, 0x5d, 0xe7, 0x71, 0xa2, 0x8f, 0x69, 0x4d,
- 0x8a, 0x02, 0xab, 0x03, 0xa6, 0xf3, 0xde, 0x60, 0xcd, 0xa4, 0xa5, 0x9f,
- 0x48, 0x25, 0xe9, 0x28, 0x3e, 0x78, 0x6d, 0x52, 0x9a, 0x4d, 0x66, 0x7a,
- 0x6b, 0x84, 0x31, 0x8d, 0x8c, 0x44, 0x2c, 0x66, 0x05, 0x9b, 0xdc, 0xb4,
- 0x49, 0x3f, 0xcc, 0x1b, 0xba, 0x63, 0xa0, 0xc3, 0x9a, 0xfe, 0x9a, 0x49,
- 0x81, 0x22, 0x6a, 0x04, 0xb5, 0x37, 0x7e, 0x5c, 0x8f, 0xe6, 0xd9, 0xe4,
- 0xc6, 0x68, 0x29, 0x46, 0x21, 0xcd, 0xec, 0x5b, 0xb8, 0xcf, 0xc7, 0xa4,
- 0x1b, 0x4d, 0xcd, 0x79, 0x19, 0x97, 0x55, 0x45, 0xfa, 0x3e, 0xad, 0xe0,
- 0x88, 0x85, 0xe8, 0x2c, 0x33, 0x6a, 0x84, 0x3f, 0x9d, 0x39, 0x5d, 0x68,
- 0x46, 0xbe, 0x18, 0xbd, 0x04, 0x12, 0xc4, 0xe8, 0x0f, 0x90, 0xf9, 0x18,
- 0x38, 0x7a, 0x47, 0x6d, 0x8f, 0xc7, 0xd9, 0xbc, 0xa9, 0x63, 0x63, 0xd2,
- 0x05, 0x37, 0xdd, 0xa9, 0x32, 0x9a, 0x79, 0x5f, 0xe9, 0xc2, 0xbc, 0xda,
- 0x4b, 0x1f, 0x7a, 0x97, 0xea, 0x31, 0x46, 0x0f, 0xab, 0xed, 0xac, 0x35,
- 0xd8, 0x1b, 0x46, 0x8c, 0x61, 0xce, 0x67, 0xd4, 0x51, 0x7a, 0xb8, 0xe6,
- 0x93, 0x0a, 0xd1, 0x4c, 0x0b, 0xc9, 0x9a, 0x36, 0x7f, 0x97, 0xae, 0x2e,
- 0x33, 0x9f, 0xb6, 0x71, 0xf3, 0x55, 0xbb, 0xa6, 0xf4, 0x79, 0x52, 0xf1,
- 0xcd, 0x4d, 0x3e, 0xa9, 0xaf, 0x8d, 0xf2, 0x55, 0xcb, 0xc9, 0xce, 0x67,
- 0x66, 0xcf, 0xdc, 0xd0, 0xfa, 0xce, 0xb3, 0x6c, 0x32, 0x48, 0x4e, 0x2f,
- 0x49, 0xaa, 0x56, 0xa6, 0xd3, 0x0d, 0x7e, 0x4d, 0xb7, 0x8a, 0x99, 0xb7,
- 0x09, 0x94, 0x78, 0x7b, 0xb4, 0xb8, 0x2b, 0xde, 0xed, 0x00, 0x49, 0x9e,
- 0x9a, 0x9f, 0x98, 0xde, 0x4e, 0xdb, 0x57, 0x10, 0xce, 0xa1, 0x91, 0xde,
- 0xd4, 0xbd, 0x51, 0x96, 0x60, 0x27, 0x8e, 0xb2, 0xe6, 0x36, 0xcb, 0x6c,
- 0x73, 0x75, 0x66, 0xae, 0x3d, 0x5a, 0x34, 0xd6, 0xfc, 0x20, 0x0c, 0x69,
- 0x6a, 0xcf, 0xce, 0x4f, 0xbf, 0x3e, 0x3f, 0x1a, 0x0e, 0x93, 0x77, 0x47,
- 0x17, 0x47, 0xe7, 0xad, 0x99, 0x2e, 0xca, 0x6a, 0x86, 0x15, 0x9d, 0xe4,
- 0xf5, 0x7c, 0x9a, 0xde, 0xd3, 0x52, 0x9b, 0x91, 0x5c, 0x55, 0x74, 0xb2,
- 0x66, 0x19, 0xdd, 0x0a, 0x93, 0x05, 0x24, 0x99, 0xb9, 0x8e, 0xcc, 0xf2,
- 0x89, 0xc6, 0x4b, 0xc2, 0x04, 0x6a, 0x72, 0x71, 0xe5, 0x66, 0xda, 0x48,
- 0x1c, 0xb9, 0x49, 0xe9, 0x2a, 0xb5, 0xeb, 0x41, 0xaa, 0x27, 0x8c, 0x9b,
- 0x9e, 0xfb, 0x19, 0x4f, 0x13, 0x5f, 0x6d, 0x66, 0xcf, 0xe6, 0x33, 0x08,
- 0x3b, 0xf3, 0xa7, 0xd3, 0x36, 0xb3, 0x4b, 0xa3, 0x6a, 0x9b, 0xdb, 0x95,
- 0x2d, 0x85, 0x6e, 0x9f, 0xb4, 0xb7, 0x56, 0x3f, 0x36, 0xdb, 0x90, 0x44,
- 0x33, 0x35, 0xc8, 0x5d, 0xe1, 0x2f, 0x58, 0x21, 0x66, 0x74, 0x12, 0x92,
- 0x7d, 0xf2, 0xd8, 0x9c, 0xba, 0x90, 0x99, 0x95, 0x9d, 0x70, 0xf3, 0xf5,
- 0xe2, 0x12, 0x07, 0x39, 0xd9, 0x34, 0x9a, 0xf9, 0x3b, 0x63, 0x2d, 0x19,
- 0x8b, 0xa5, 0x97, 0x9c, 0x6d, 0xe1, 0xbd, 0xdd, 0x9d, 0xbd, 0xa7, 0x2c,
- 0x08, 0x06, 0xda, 0xdc, 0x5b, 0x4f, 0x10, 0xef, 0x7e, 0xa2, 0xe5, 0xe5,
- 0x87, 0xa8, 0xf1, 0x41, 0xb2, 0xfb, 0x8e, 0x7f, 0xf2, 0xf4, 0xc5, 0xb3,
- 0xcf, 0x9e, 0xcb, 0x0f, 0xdb, 0x1b, 0xdc, 0xf6, 0x1f, 0xbb, 0x03, 0x96,
- 0x1f, 0x99, 0x82, 0xa6, 0x27, 0x66, 0x74, 0xb3, 0xbc, 0x30, 0xc7, 0xc4,
- 0x1c, 0x2b, 0x91, 0x55, 0xb4, 0x9f, 0x4d, 0xe7, 0x2f, 0x59, 0xb2, 0xc9,
- 0xba, 0xb6, 0x4d, 0x4a, 0xf3, 0xb2, 0xd9, 0xb2, 0x46, 0x96, 0xdb, 0x45,
- 0x62, 0x35, 0xa1, 0xa1, 0x8e, 0xa4, 0x23, 0x12, 0xb0, 0x64, 0x57, 0x19,
- 0x05, 0x38, 0x8b, 0x7e, 0xcd, 0xde, 0x8a, 0xe6, 0x0d, 0xd3, 0x37, 0x73,
- 0x27, 0xd2, 0x35, 0x17, 0xce, 0xbb, 0x11, 0x05, 0x90, 0x90, 0xb7, 0x79,
- 0x0d, 0xd1, 0x70, 0x5b, 0x2e, 0xa6, 0xc6, 0x8a, 0xa1, 0x07, 0x16, 0x73,
- 0xbc, 0x60, 0x3e, 0x35, 0x77, 0x32, 0xc0, 0x68, 0x2c, 0xb4, 0x77, 0xba,
- 0xad, 0x98, 0xae, 0x99, 0x7f, 0xce, 0xcd, 0x56, 0xe2, 0xee, 0x0c, 0xba,
- 0x37, 0x04, 0x64, 0x5f, 0xb0, 0x13, 0xe9, 0xcc, 0x43, 0x68, 0x9f, 0x9d,
- 0x0e, 0x2f, 0x48, 0x03, 0x38, 0xfb, 0x70, 0x61, 0x1a, 0x32, 0x2a, 0x40,
- 0xdd, 0x98, 0x4d, 0x49, 0x2f, 0x16, 0x19, 0x4c, 0x48, 0x6d, 0xce, 0xec,
- 0xbd, 0x1c, 0x82, 0x0a, 0x6a, 0x8d, 0x7e, 0x92, 0xfb, 0xc8, 0x36, 0x36,
- 0x1d, 0x41, 0xb5, 0xb0, 0xf9, 0x0e, 0xb7, 0xef, 0x24, 0x9b, 0x5f, 0x6c,
- 0x99, 0x3d, 0xdb, 0x2f, 0xed, 0xec, 0xf4, 0xfb, 0xf2, 0xaa, 0xf9, 0x76,
- 0x9d, 0xcf, 0xf2, 0x69, 0x5a, 0x79, 0x5d, 0x67, 0x89, 0x4a, 0xe7, 0xd3,
- 0xca, 0x95, 0xb1, 0xd9, 0x35, 0xe8, 0xb6, 0x33, 0x25, 0x69, 0x0e, 0x21,
- 0x95, 0xdc, 0x52, 0x4d, 0x48, 0x21, 0x80, 0xc6, 0x3c, 0xcf, 0xed, 0xd4,
- 0xd1, 0x9a, 0x91, 0xb8, 0x6a, 0x4d, 0x54, 0x77, 0xdd, 0x82, 0x89, 0xa3,
- 0x1b, 0x09, 0x9e, 0x0a, 0x3b, 0x75, 0xc9, 0xfa, 0x28, 0xad, 0xd6, 0x13,
- 0x2b, 0x8b, 0xf9, 0x6c, 0xd2, 0x09, 0xa9, 0xb2, 0xab, 0x85, 0x19, 0x41,
- 0xc2, 0xb3, 0x4b, 0x23, 0xfd, 0xa3, 0x37, 0x52, 0x6d, 0xa0, 0x3f, 0xa2,
- 0x47, 0xf2, 0x9a, 0xcd, 0xcc, 0x4b, 0x63, 0xb7, 0xd0, 0xa1, 0x51, 0xfd,
- 0x15, 0x1a, 0x8d, 0xec, 0x98, 0xc8, 0x86, 0xf1, 0xf4, 0x5a, 0x73, 0x54,
- 0x9a, 0xcc, 0x08, 0x1a, 0x88, 0x7f, 0x7a, 0xb2, 0x6f, 0x96, 0xac, 0xdf,
- 0xaf, 0xcd, 0xfc, 0x93, 0xee, 0x3d, 0x17, 0x9b, 0xfe, 0x14, 0x0e, 0x13,
- 0xeb, 0x5b, 0x39, 0x15, 0x1d, 0x18, 0xd7, 0x26, 0xbf, 0x0b, 0x11, 0x6a,
- 0x14, 0xd5, 0x5b, 0xf3, 0xe1, 0xd4, 0x2c, 0x99, 0x39, 0x70, 0xef, 0x68,
- 0xa2, 0xd8, 0x37, 0x92, 0x58, 0xb5, 0x19, 0x3b, 0x23, 0xa7, 0x73, 0x9f,
- 0x3a, 0x5d, 0x66, 0x32, 0xc9, 0xe9, 0xb7, 0xe6, 0x7c, 0x99, 0x1b, 0x6e,
- 0x91, 0xc1, 0xf6, 0x90, 0x49, 0x9d, 0xb9, 0xc9, 0x84, 0x19, 0x5b, 0x5f,
- 0x97, 0x64, 0x26, 0xae, 0xb3, 0x2c, 0xee, 0xd3, 0xb7, 0xd6, 0x71, 0x9f,
- 0xcf, 0x12, 0xfd, 0x96, 0x7c, 0xca, 0x8c, 0x63, 0xe2, 0xeb, 0x66, 0x3d,
- 0x73, 0xd1, 0xdc, 0x7b, 0x46, 0x02, 0x64, 0x35, 0xf7, 0xbd, 0xb2, 0x0a,
- 0x8f, 0xb9, 0x52, 0xe7, 0xa4, 0x4c, 0x89, 0x0c, 0xc7, 0x65, 0x88, 0x23,
- 0x5b, 0x73, 0xd7, 0x7a, 0x66, 0x6e, 0xe9, 0xc9, 0xab, 0x6b, 0x7d, 0xd4,
- 0xbb, 0x58, 0x53, 0x33, 0x38, 0xba, 0x1c, 0xc8, 0x9e, 0x9e, 0xa8, 0xdc,
- 0x2f, 0x2b, 0x16, 0x66, 0xd3, 0xd2, 0xec, 0xe5, 0x75, 0x56, 0x59, 0xa5,
- 0xdb, 0xd4, 0x6b, 0xea, 0x25, 0xcd, 0x38, 0xfb, 0x99, 0x4a, 0xbb, 0x36,
- 0xb6, 0xd3, 0x32, 0x5f, 0xf5, 0x83, 0x5d, 0x73, 0x13, 0x35, 0xc4, 0x1c,
- 0x99, 0xab, 0xb3, 0xa6, 0x7d, 0xac, 0x33, 0x8f, 0xed, 0x6d, 0xae, 0xba,
- 0x8d, 0x86, 0xcf, 0x23, 0x6c, 0xac, 0xce, 0xcc, 0xd7, 0xd8, 0x3e, 0x72,
- 0x91, 0xd9, 0x91, 0x99, 0x11, 0x4d, 0xf2, 0x14, 0xfb, 0x84, 0x97, 0x06,
- 0xca, 0x88, 0xb3, 0x08, 0x23, 0x7a, 0xf0, 0x7d, 0xd7, 0xa0, 0x9b, 0x4e,
- 0xfd, 0x2b, 0x49, 0xfb, 0xd4, 0x3f, 0x35, 0x63, 0x3f, 0xc1, 0x38, 0xfa,
- 0x37, 0x09, 0x1d, 0x3f, 0x63, 0x36, 0xd0, 0x59, 0xec, 0x9f, 0x9e, 0xdc,
- 0x78, 0xc7, 0x88, 0x2c, 0xf7, 0x82, 0xf4, 0x94, 0x1e, 0xbc, 0x23, 0xa3,
- 0xb2, 0x34, 0x66, 0xb2, 0x1b, 0x1a, 0xdd, 0x07, 0x59, 0x41, 0xbb, 0x5d,
- 0x56, 0xd4, 0x88, 0x84, 0xb9, 0x95, 0xb7, 0xf7, 0xc6, 0x5c, 0x4a, 0xaf,
- 0xd2, 0xdc, 0xee, 0x37, 0x39, 0x19, 0x93, 0x44, 0x1f, 0x2e, 0x4a, 0x79,
- 0x9e, 0x96, 0x8a, 0x54, 0x20, 0x91, 0x5b, 0x8b, 0x9a, 0x8f, 0x8f, 0x19,
- 0x95, 0x91, 0x3c, 0x90, 0x1d, 0xd2, 0x2e, 0xa9, 0x8d, 0xda, 0xdc, 0x08,
- 0x8a, 0x32, 0xe9, 0x9c, 0x10, 0xbe, 0xd0, 0x20, 0x4d, 0x8b, 0xeb, 0x83,
- 0xe4, 0x9b, 0xf2, 0x36, 0x83, 0xaf, 0x10, 0xfa, 0x7d, 0x4e, 0xde, 0x2e,
- 0xa3, 0x0a, 0xde, 0x66, 0xc9, 0xcc, 0xa8, 0x9e, 0x66, 0x36, 0xa1, 0x7d,
- 0xe0, 0x67, 0x9e, 0x79, 0x68, 0x76, 0xf8, 0x2d, 0xcf, 0x92, 0x1d, 0x85,
- 0x5d, 0xca, 0x4b, 0x3e, 0x12, 0xc9, 0x26, 0xd4, 0x9b, 0x31, 0xcd, 0xd6,
- 0xbc, 0x71, 0xa3, 0xb0, 0x13, 0x72, 0x9b, 0xd6, 0xde, 0xe1, 0xca, 0x60,
- 0x9a, 0x26, 0x9f, 0x0d, 0x76, 0x5f, 0x0e, 0x76, 0x06, 0x64, 0x8a, 0x64,
- 0x37, 0x79, 0xb9, 0xa8, 0x69, 0x3d, 0xa9, 0x27, 0xde, 0xe9, 0x24, 0x9f,
- 0x14, 0x2d, 0xef, 0xd5, 0xd5, 0x94, 0x15, 0x9f, 0xed, 0xf2, 0xf2, 0x32,
- 0xf1, 0x94, 0xa3, 0x2a, 0x9b, 0xb3, 0x0d, 0x44, 0x73, 0x23, 0x07, 0x8e,
- 0x85, 0x6a, 0x68, 0x24, 0x0f, 0x9c, 0xfb, 0xa2, 0xdf, 0x4f, 0x47, 0x75,
- 0x43, 0xe6, 0x54, 0x7f, 0x51, 0xe4, 0x77, 0xfd, 0xba, 0x1c, 0x7f, 0x32,
- 0xcb, 0xf2, 0x6a, 0x9e, 0x36, 0xd7, 0x5f, 0x74, 0x9c, 0xc2, 0x9b, 0x74,
- 0x9b, 0x6c, 0x25, 0xc9, 0x21, 0x2b, 0x96, 0x34, 0x17, 0x15, 0x9f, 0x38,
- 0xb3, 0x9e, 0xd2, 0x4a, 0xf2, 0xc1, 0xb4, 0x62, 0x76, 0xf3, 0xcc, 0x2c,
- 0x6b, 0xc2, 0x8d, 0xf5, 0x54, 0x98, 0x76, 0x9a, 0x83, 0xcb, 0x91, 0x2e,
- 0x12, 0x78, 0xee, 0xcc, 0xe1, 0x29, 0xab, 0x4f, 0x03, 0xf2, 0x91, 0x18,
- 0xab, 0x71, 0x9f, 0x36, 0x74, 0x63, 0xc4, 0x58, 0xc3, 0xf3, 0x5e, 0x8b,
- 0x10, 0xa6, 0x6e, 0xb1, 0x4c, 0x76, 0x52, 0x4a, 0xe7, 0x53, 0x7b, 0x20,
- 0x9f, 0x4d, 0xd4, 0xde, 0x90, 0xad, 0xb7, 0xf1, 0xa5, 0xb1, 0x00, 0xaf,
- 0x79, 0xe1, 0xd1, 0x18, 0x8f, 0xd1, 0xec, 0xd1, 0x2b, 0x63, 0x43, 0x14,
- 0x4d, 0xa7, 0x39, 0xf3, 0x55, 0xba, 0xac, 0xe9, 0x9e, 0x61, 0x73, 0x17,
- 0xdb, 0x44, 0x7c, 0x40, 0xd6, 0x02, 0x1d, 0xac, 0x75, 0x5e, 0x3b, 0xd0,
- 0x55, 0xfd, 0x6c, 0xf0, 0xec, 0x89, 0x59, 0x54, 0x7f, 0xa2, 0x8b, 0x7b,
- 0xf2, 0x9d, 0xc6, 0x27, 0xf5, 0xc2, 0xdc, 0xa5, 0x35, 0xab, 0x27, 0xe6,
- 0x0c, 0x5f, 0xe6, 0x57, 0x8b, 0x2a, 0xe3, 0x4b, 0x0d, 0xee, 0x56, 0xf5,
- 0xb2, 0xd2, 0x3d, 0x71, 0x5d, 0xc2, 0x39, 0x69, 0xe4, 0x4b, 0x36, 0xbd,
- 0xec, 0x75, 0x67, 0x81, 0x34, 0x3a, 0xda, 0x02, 0x18, 0x22, 0x36, 0x91,
- 0xd1, 0xdc, 0xd0, 0x58, 0x91, 0xc9, 0xbd, 0x3e, 0x33, 0x13, 0x9c, 0x90,
- 0x77, 0x2e, 0x19, 0x4f, 0xd3, 0x7c, 0x06, 0x73, 0x47, 0xbc, 0x4f, 0x83,
- 0x4e, 0x73, 0x17, 0xa2, 0x8e, 0x43, 0x13, 0x1f, 0x91, 0x35, 0x50, 0xd5,
- 0x24, 0xac, 0x68, 0x12, 0x52, 0x55, 0x26, 0x58, 0xd7, 0xbe, 0xce, 0xc6,
- 0x9f, 0x74, 0x35, 0xf5, 0x16, 0xee, 0x77, 0x9a, 0x23, 0xb7, 0x2b, 0x4c,
- 0x0e, 0xf3, 0xd4, 0xc2, 0xac, 0xe9, 0xbc, 0xac, 0xeb, 0x9c, 0x3c, 0x0a,
- 0xa4, 0x21, 0x2f, 0xc6, 0x50, 0x9c, 0xc9, 0xc4, 0xbe, 0x33, 0x2b, 0xa9,
- 0x5b, 0x22, 0x31, 0x7b, 0xac, 0x98, 0xf4, 0x9b, 0x2a, 0x9f, 0x2f, 0xeb,
- 0x1d, 0x5f, 0x19, 0xed, 0x3b, 0xbb, 0x16, 0x23, 0x06, 0xf6, 0x01, 0x5b,
- 0x0c, 0xe3, 0xa4, 0x33, 0x9b, 0x9d, 0xe6, 0x78, 0x6e, 0x7b, 0x64, 0x22,
- 0xe7, 0x46, 0x84, 0xb2, 0xfe, 0x08, 0x0f, 0x90, 0xd1, 0x16, 0xe5, 0x2c,
- 0x1b, 0xc5, 0x36, 0x1f, 0xe3, 0x5e, 0xc8, 0xaf, 0x32, 0x72, 0x6f, 0x9b,
- 0xe3, 0xdd, 0x4c, 0xcd, 0x6d, 0xe1, 0x09, 0x0a, 0xbb, 0xe2, 0x45, 0x76,
- 0x55, 0x36, 0x24, 0xa0, 0x83, 0x6d, 0xf2, 0x01, 0x1b, 0xdf, 0xee, 0x09,
- 0xd5, 0x84, 0xfc, 0x6b, 0x2a, 0x67, 0x15, 0xc5, 0x7c, 0x9a, 0x35, 0x21,
- 0x31, 0xc2, 0xea, 0xc6, 0xec, 0xc0, 0xee, 0xaa, 0x9b, 0xd6, 0xc6, 0x19,
- 0xd4, 0x51, 0xdc, 0xa5, 0x7a, 0x95, 0xab, 0x0e, 0x34, 0x22, 0x93, 0x8d,
- 0xcc, 0xe3, 0xdb, 0x7c, 0x9c, 0xa9, 0x87, 0x42, 0xdc, 0x76, 0xd3, 0x3c,
- 0xdc, 0xfb, 0xb3, 0x45, 0x0d, 0xab, 0x89, 0xd5, 0x14, 0x32, 0x28, 0x6f,
- 0x73, 0x52, 0x63, 0x8e, 0x2f, 0xe5, 0xac, 0xd2, 0x2d, 0xca, 0xe7, 0x23,
- 0xad, 0x72, 0x58, 0xcf, 0xa6, 0x39, 0xe9, 0xa7, 0x67, 0xe4, 0xa8, 0xdd,
- 0xe6, 0xfa, 0x8d, 0xf7, 0x45, 0xb3, 0x73, 0x1a, 0x1d, 0x0c, 0xc9, 0xcb,
- 0x34, 0x9f, 0x46, 0xe6, 0x09, 0x0a, 0xaa, 0xb1, 0x48, 0xaf, 0xb3, 0x4a,
- 0xd6, 0x60, 0x41, 0x93, 0x4e, 0xa1, 0x88, 0xe0, 0xe9, 0x61, 0x96, 0xb1,
- 0x8a, 0x05, 0x7d, 0xec, 0xee, 0xde, 0x4e, 0x2f, 0xee, 0x31, 0x5e, 0x3b,
- 0xf9, 0x3b, 0x2f, 0x9f, 0x77, 0x3c, 0x53, 0x6a, 0x35, 0x9d, 0x93, 0xcf,
- 0xbd, 0x7b, 0x42, 0x49, 0x1b, 0xa5, 0xb0, 0xcd, 0x96, 0x3a, 0xd5, 0x32,
- 0x71, 0x29, 0xda, 0x70, 0x07, 0x84, 0x03, 0x45, 0x17, 0xe4, 0x08, 0x73,
- 0x3b, 0xa2, 0x29, 0x75, 0x9a, 0x33, 0xaa, 0x19, 0xf9, 0x09, 0x61, 0x84,
- 0xb7, 0x76, 0xac, 0x31, 0x88, 0x2b, 0xeb, 0x74, 0x27, 0x27, 0x18, 0xcd,
- 0xb7, 0xea, 0x9e, 0x38, 0xb3, 0x78, 0xa9, 0xd3, 0x1c, 0x69, 0xc3, 0xa4,
- 0x3a, 0x98, 0x43, 0x93, 0xd3, 0x7e, 0xc4, 0x26, 0x50, 0xbf, 0xab, 0xd9,
- 0xbe, 0xec, 0x19, 0x53, 0xb9, 0xca, 0xca, 0x06, 0xba, 0x7b, 0x39, 0x4d,
- 0xaf, 0xcc, 0xbe, 0xeb, 0x34, 0x97, 0x5f, 0x19, 0x1b, 0x97, 0xa3, 0x1f,
- 0x75, 0x69, 0x6e, 0x0f, 0x1a, 0xb7, 0xd8, 0xfb, 0xc6, 0xdc, 0x33, 0xdb,
- 0x6c, 0xba, 0x80, 0x04, 0x3c, 0x35, 0x03, 0x1c, 0x0e, 0xbf, 0xd9, 0xf2,
- 0x05, 0x1c, 0xe6, 0xf7, 0x31, 0xe2, 0x0d, 0xf2, 0x09, 0xa6, 0x49, 0xf2,
- 0x15, 0xd6, 0xa4, 0x2b, 0xe5, 0x78, 0xa5, 0x23, 0x93, 0xa7, 0x13, 0x41,
- 0x2e, 0xa2, 0x81, 0x08, 0x00, 0x48, 0x00, 0x4c, 0x93, 0x7a, 0xab, 0x78,
- 0x87, 0x93, 0x17, 0x81, 0xaf, 0x69, 0xf3, 0xb7, 0x45, 0xbd, 0x20, 0xc3,
- 0xbd, 0xd3, 0xdc, 0xdc, 0x08, 0xb2, 0xc6, 0x18, 0x6f, 0x46, 0x22, 0x2d,
- 0x0a, 0xfa, 0xd3, 0x6a, 0x17, 0x39, 0xf4, 0x5c, 0x5a, 0x92, 0x8a, 0x9c,
- 0x83, 0x64, 0x21, 0xd8, 0xbb, 0xd9, 0x88, 0x16, 0x69, 0xb9, 0xbb, 0xb4,
- 0x70, 0x9f, 0x50, 0xa4, 0x04, 0x62, 0x67, 0x92, 0x53, 0x94, 0x8d, 0x0e,
- 0xde, 0x12, 0x29, 0xbe, 0x59, 0x2f, 0x8c, 0x9c, 0x21, 0xad, 0x8a, 0x85,
- 0x48, 0x20, 0x40, 0x54, 0xc8, 0x18, 0x05, 0xce, 0x93, 0x26, 0x5b, 0xbf,
- 0xf5, 0x31, 0xc1, 0xc2, 0xf9, 0x2b, 0x39, 0x36, 0xfa, 0xac, 0xd1, 0x54,
- 0x5f, 0xd1, 0x7e, 0x0b, 0xb4, 0x80, 0x8b, 0x93, 0x61, 0x6c, 0x41, 0xdb,
- 0x8e, 0x7b, 0x7a, 0x9f, 0x44, 0x2e, 0xf9, 0x57, 0xd8, 0xdf, 0x54, 0x92,
- 0xb6, 0xe4, 0x39, 0xef, 0x7d, 0x47, 0xc8, 0x3c, 0x23, 0x2f, 0x3f, 0x1b,
- 0x12, 0x1c, 0x15, 0x24, 0x31, 0x66, 0xd4, 0xa8, 0x86, 0xd4, 0x08, 0xeb,
- 0x5b, 0x3a, 0x3c, 0xf0, 0xdb, 0x85, 0x33, 0xa9, 0xbb, 0x41, 0xbc, 0xdf,
- 0x6f, 0xd6, 0x5b, 0x56, 0x92, 0x99, 0x56, 0xce, 0x8e, 0xde, 0x41, 0xb1,
- 0x4f, 0xcd, 0xc6, 0x79, 0xaf, 0x7e, 0x1c, 0x0d, 0xfa, 0x8d, 0x16, 0xf9,
- 0xb4, 0xe5, 0x2c, 0x75, 0xb6, 0x08, 0x22, 0x6e, 0xbc, 0xaf, 0xd0, 0x35,
- 0x76, 0xfb, 0xe7, 0xf0, 0x9b, 0x75, 0x77, 0x59, 0x73, 0x3f, 0x17, 0x97,
- 0xdf, 0xa2, 0x6e, 0x59, 0xd6, 0x7a, 0x3b, 0x4f, 0x1b, 0x28, 0x1f, 0xa4,
- 0xf0, 0x7b, 0x6d, 0x06, 0x2b, 0x84, 0x6e, 0xd1, 0x65, 0x70, 0x55, 0xe4,
- 0xff, 0x10, 0xdf, 0x42, 0x56, 0xdc, 0xe4, 0x55, 0x59, 0x90, 0xaa, 0x62,
- 0x6c, 0x82, 0x2a, 0x87, 0x70, 0x26, 0x75, 0xd7, 0x88, 0x8f, 0x8d, 0xc3,
- 0x0f, 0xe7, 0x27, 0x1f, 0x0f, 0x0f, 0x3e, 0x7e, 0xf5, 0xe1, 0xfd, 0x9b,
- 0x93, 0xa3, 0x8d, 0xee, 0xa1, 0xbe, 0x64, 0xb1, 0x40, 0x07, 0xa5, 0x26,
- 0x85, 0x0c, 0x27, 0xc4, 0x74, 0x91, 0x5b, 0xbe, 0xca, 0x6f, 0x8c, 0x58,
- 0x83, 0x6a, 0x05, 0xe7, 0x25, 0xfe, 0x06, 0x73, 0x5f, 0x26, 0xbc, 0xd3,
- 0xdc, 0xc8, 0xdc, 0xc7, 0xa6, 0xd3, 0x7c, 0xfa, 0x64, 0xf0, 0x7a, 0x52,
- 0xc4, 0x9c, 0xd1, 0x0e, 0x06, 0x23, 0xa3, 0x25, 0xa6, 0xcb, 0x84, 0x54,
- 0x3a, 0x4f, 0x7b, 0xf6, 0xfc, 0x98, 0x8b, 0xc6, 0x28, 0x8f, 0xea, 0x39,
- 0x35, 0xd6, 0x59, 0xf9, 0x49, 0xc3, 0xaf, 0x46, 0xf3, 0x3c, 0x88, 0x2c,
- 0x77, 0xcd, 0xeb, 0xc2, 0x53, 0xb1, 0x41, 0x2d, 0x99, 0xfd, 0xdb, 0x97,
- 0x4e, 0x8e, 0xab, 0xc6, 0xa8, 0x7d, 0x59, 0x8e, 0x83, 0xa1, 0xe1, 0x25,
- 0x52, 0x8b, 0xe1, 0xb5, 0xe8, 0xea, 0x27, 0xc6, 0x28, 0xbc, 0xa7, 0x39,
- 0xa0, 0x46, 0x06, 0xd9, 0x5d, 0x86, 0x93, 0x27, 0x6f, 0x1d, 0x2e, 0x2a,
- 0x9c, 0xe5, 0xef, 0x8d, 0x4e, 0x42, 0x12, 0xf0, 0x0d, 0xdc, 0x1e, 0xe6,
- 0x05, 0x7d, 0xc8, 0x5c, 0x36, 0xdd, 0x8b, 0xaf, 0x9c, 0x52, 0xc0, 0x29,
- 0x85, 0x89, 0x09, 0x87, 0xc0, 0xd9, 0xc1, 0xc5, 0x37, 0xc1, 0x9c, 0x90,
- 0x98, 0x77, 0x58, 0x07, 0xd9, 0x8a, 0x30, 0x8c, 0xea, 0x46, 0x0e, 0xc8,
- 0xfb, 0xe1, 0x30, 0x41, 0x24, 0x7d, 0x9a, 0x8f, 0xaa, 0x94, 0xbe, 0x49,
- 0x3f, 0xa6, 0x9f, 0x9a, 0x6d, 0xdd, 0x69, 0xee, 0xec, 0xdb, 0xc3, 0xe1,
- 0x1f, 0x77, 0x77, 0x8d, 0xf2, 0x37, 0x59, 0x98, 0x79, 0xd9, 0x34, 0xaf,
- 0x14, 0xb5, 0x39, 0x99, 0xb3, 0x41, 0x5d, 0x6e, 0xe1, 0xf2, 0x86, 0xc6,
- 0x87, 0xeb, 0x21, 0xbd, 0x31, 0xb7, 0x2e, 0x76, 0x12, 0xcf, 0x31, 0xed,
- 0xe7, 0xae, 0x9a, 0xce, 0x0b, 0xac, 0x40, 0x03, 0x23, 0x31, 0xcc, 0xbd,
- 0x3d, 0xbd, 0x0f, 0x46, 0xb1, 0x99, 0x9f, 0x0e, 0x25, 0x4c, 0x9f, 0x8e,
- 0xcd, 0x5f, 0xc9, 0x86, 0xda, 0xa2, 0xb1, 0xb5, 0xcf, 0x98, 0x8e, 0x6b,
- 0xc8, 0x5a, 0xe9, 0x05, 0xb9, 0x38, 0x81, 0x2e, 0x08, 0xe5, 0x42, 0xd1,
- 0x3d, 0x5e, 0x0e, 0xc1, 0x81, 0xce, 0x8e, 0xd2, 0xf1, 0xa7, 0xdb, 0xb4,
- 0x9a, 0xb0, 0xc3, 0xc4, 0xec, 0x99, 0x51, 0x3e, 0xcd, 0x9b, 0x7b, 0xbe,
- 0x3d, 0xba, 0xa3, 0xe0, 0xd0, 0x11, 0x4d, 0xa1, 0x39, 0x49, 0x57, 0xc6,
- 0x16, 0x22, 0x2d, 0x94, 0x2c, 0x44, 0x73, 0x30, 0x3c, 0x5d, 0x1f, 0xaa,
- 0x52, 0x63, 0x55, 0x1d, 0xfb, 0xed, 0x4e, 0x73, 0x70, 0x3f, 0xd1, 0x49,
- 0x42, 0x37, 0xdd, 0xee, 0x55, 0x41, 0xe8, 0x8b, 0x29, 0xdd, 0x40, 0x49,
- 0x7d, 0x6f, 0x6e, 0xfb, 0x59, 0x12, 0x51, 0x15, 0x01, 0xac, 0x48, 0xbe,
- 0xcd, 0xee, 0x8d, 0x61, 0x91, 0x17, 0x4e, 0x56, 0xb2, 0x8f, 0x28, 0x23,
- 0x4b, 0x95, 0x75, 0xd2, 0x5c, 0xfd, 0x8c, 0x99, 0xb8, 0x8a, 0xf9, 0x26,
- 0x09, 0x2d, 0x2b, 0x7e, 0x5f, 0xf5, 0x71, 0x6a, 0x62, 0xa3, 0x6e, 0x09,
- 0x65, 0x7c, 0x29, 0x5c, 0xc4, 0xa1, 0xf9, 0xb9, 0xb1, 0xee, 0xa6, 0xdb,
- 0xdf, 0xe7, 0x05, 0x4d, 0x16, 0xaf, 0xe2, 0xc5, 0xb2, 0x75, 0xe0, 0x85,
- 0x90, 0x67, 0x93, 0xbc, 0x7b, 0x21, 0x7e, 0x2f, 0x27, 0x3d, 0xf9, 0x0c,
- 0x01, 0xd0, 0x84, 0x10, 0x13, 0x72, 0x3f, 0x29, 0xb4, 0xe2, 0xb3, 0xc1,
- 0xf3, 0x1d, 0x04, 0x47, 0xe9, 0x57, 0x83, 0xce, 0x97, 0xba, 0x6a, 0x6e,
- 0x6b, 0xfd, 0xed, 0xf2, 0x47, 0x56, 0x3f, 0xba, 0xe0, 0x9f, 0x77, 0xc5,
- 0xa2, 0x68, 0x5f, 0xec, 0xf7, 0xf5, 0x75, 0x6f, 0xb9, 0xd2, 0xa4, 0xfb,
- 0x1b, 0x46, 0x79, 0x2d, 0x2b, 0x58, 0xd5, 0x55, 0x69, 0x16, 0x5e, 0xa6,
- 0xb1, 0x2b, 0x3c, 0x78, 0xb1, 0x37, 0x69, 0xbe, 0xad, 0x70, 0x37, 0xdd,
- 0xe4, 0xc9, 0xd9, 0x8a, 0x9d, 0xfa, 0x40, 0x47, 0x81, 0x77, 0x8a, 0x63,
- 0xfd, 0xe4, 0xdd, 0xaf, 0xf9, 0x98, 0x4f, 0xd3, 0xba, 0x81, 0xf9, 0x86,
- 0x2d, 0x26, 0x4e, 0xa0, 0xf6, 0x75, 0x0d, 0x91, 0xfd, 0xca, 0xc8, 0xb4,
- 0x7f, 0xfe, 0xb6, 0x66, 0xc9, 0x08, 0x49, 0x18, 0x5e, 0x60, 0xb2, 0x2d,
- 0x5b, 0xb7, 0xf6, 0x3b, 0xbd, 0x9e, 0xa9, 0x13, 0xd6, 0x51, 0x35, 0xe7,
- 0xb0, 0x2a, 0x6b, 0x92, 0xec, 0x71, 0x0b, 0x2d, 0x03, 0x72, 0x9a, 0x88,
- 0x63, 0x66, 0x7f, 0x3d, 0xd9, 0xcc, 0x06, 0x57, 0xa6, 0xbd, 0x75, 0x6a,
- 0x67, 0x77, 0x9f, 0xfe, 0xbb, 0x87, 0xff, 0x3e, 0x59, 0x57, 0x00, 0x94,
- 0x7f, 0xaa, 0xe8, 0x6a, 0xef, 0x5e, 0x4c, 0x12, 0xb5, 0xa0, 0xab, 0x5e,
- 0xee, 0x7a, 0xb9, 0xeb, 0xe8, 0x0a, 0x8c, 0xcb, 0x21, 0x56, 0x64, 0x4f,
- 0x7a, 0x11, 0x65, 0xd3, 0x4d, 0x04, 0xd4, 0x08, 0xb8, 0x01, 0x46, 0xe4,
- 0xe1, 0x33, 0x63, 0x1b, 0x1b, 0x65, 0x11, 0xce, 0x16, 0x8e, 0x01, 0x02,
- 0x4d, 0xf0, 0xb1, 0xca, 0xae, 0xd3, 0xda, 0xec, 0xbd, 0x45, 0x83, 0xad,
- 0x18, 0xd9, 0xbd, 0xd3, 0xdc, 0x7a, 0xb7, 0xe4, 0xc3, 0x03, 0x6b, 0x0b,
- 0xca, 0x2a, 0xb2, 0x9f, 0x78, 0x5a, 0xde, 0xea, 0x13, 0x7d, 0x41, 0x24,
- 0xc5, 0x74, 0x04, 0xb3, 0x9a, 0x00, 0x35, 0xd1, 0x63, 0x7e, 0xbc, 0x6f,
- 0x46, 0x8a, 0x25, 0xc1, 0xa5, 0xcc, 0xe6, 0xbf, 0x34, 0x33, 0x46, 0x46,
- 0xde, 0x14, 0xeb, 0x46, 0xe6, 0x2c, 0x7a, 0x1d, 0x28, 0x9b, 0xa2, 0xf4,
- 0xe5, 0x97, 0xe2, 0xe3, 0x92, 0x7f, 0xe3, 0x72, 0x15, 0x55, 0xac, 0xe6,
- 0x98, 0x60, 0x57, 0x0f, 0x7b, 0x78, 0x6b, 0xab, 0xac, 0xb4, 0x27, 0x43,
- 0x06, 0xcb, 0x6e, 0x65, 0xdd, 0xd7, 0x62, 0x7c, 0xc4, 0x7c, 0x1a, 0xa6,
- 0x57, 0x7c, 0x4c, 0x7f, 0xfd, 0x21, 0x31, 0x3d, 0xee, 0x93, 0x47, 0x69,
- 0x51, 0x3f, 0xe2, 0x8c, 0x78, 0xf2, 0x97, 0xdf, 0xb1, 0x3e, 0x35, 0x8e,
- 0x7d, 0xfa, 0x13, 0xd0, 0xdd, 0x85, 0xf7, 0x9e, 0x5f, 0xeb, 0xd0, 0x3b,
- 0x59, 0x43, 0x6e, 0xe8, 0x5c, 0xbc, 0x26, 0x9b, 0xe9, 0xa7, 0x74, 0x90,
- 0x9c, 0x1e, 0x0e, 0xcf, 0xe8, 0x13, 0x66, 0x6b, 0x14, 0x57, 0xa6, 0x17,
- 0x27, 0xc3, 0x4e, 0x73, 0xd9, 0x5d, 0x93, 0x15, 0x75, 0x0b, 0xc2, 0xb7,
- 0x74, 0x9a, 0xd5, 0xd7, 0xaa, 0x20, 0x04, 0xe9, 0xac, 0x31, 0xfe, 0x11,
- 0x3d, 0xa4, 0x60, 0x18, 0x45, 0xaa, 0x13, 0x3e, 0x6a, 0xc1, 0x87, 0xe6,
- 0x66, 0xc3, 0x4f, 0xb6, 0xac, 0xf7, 0xa6, 0xa7, 0x7b, 0xc1, 0x06, 0x55,
- 0xea, 0xc5, 0x15, 0x19, 0x24, 0xb5, 0x9a, 0x91, 0xf6, 0x0b, 0x66, 0x36,
- 0x02, 0x5d, 0x4a, 0x87, 0x6d, 0xce, 0x04, 0x1f, 0x1b, 0x63, 0x41, 0x11,
- 0xde, 0x04, 0xfa, 0x52, 0x51, 0xba, 0x56, 0xc9, 0x68, 0x02, 0xb6, 0x2e,
- 0x47, 0x18, 0x62, 0x9c, 0x19, 0x7d, 0x74, 0x12, 0xd1, 0x07, 0x78, 0x51,
- 0xd4, 0x86, 0xba, 0x14, 0x3c, 0x5d, 0xc4, 0x25, 0x84, 0x86, 0xc6, 0xac,
- 0xaf, 0xd1, 0xae, 0x87, 0x3b, 0x37, 0x27, 0xff, 0x37, 0x69, 0xcf, 0x6c,
- 0xbd, 0x53, 0x7b, 0xf6, 0xec, 0x7f, 0x5d, 0x2c, 0xcc, 0xc4, 0x47, 0x2e,
- 0x66, 0xd2, 0xb0, 0xe8, 0x9e, 0xa1, 0x09, 0x5c, 0xe5, 0xeb, 0x7b, 0xba,
- 0xdb, 0xf6, 0xf5, 0x61, 0xb3, 0x19, 0x6b, 0x20, 0x4b, 0x5e, 0xd1, 0x7f,
- 0x1f, 0x94, 0xca, 0x08, 0xf0, 0xfb, 0x52, 0x18, 0xef, 0x4a, 0x84, 0x88,
- 0xe5, 0xe8, 0x8a, 0x1d, 0x07, 0xec, 0xc0, 0x80, 0xc4, 0x5e, 0x2f, 0x79,
- 0x73, 0x74, 0x8e, 0xe5, 0x3f, 0x7a, 0xff, 0x35, 0xdc, 0xef, 0xd6, 0x8a,
- 0x98, 0xa0, 0xcd, 0x9a, 0xdd, 0x0a, 0x1c, 0x3e, 0x13, 0xf1, 0xdf, 0x9d,
- 0x6a, 0x12, 0x9f, 0x14, 0x35, 0x01, 0xb8, 0x62, 0xf2, 0xfb, 0x5d, 0x5c,
- 0x81, 0x39, 0x7a, 0xd4, 0x93, 0xa9, 0x13, 0x27, 0xcd, 0xa7, 0xec, 0xde,
- 0xfd, 0x0d, 0xd3, 0xe9, 0xcd, 0xb1, 0x7b, 0xf8, 0x95, 0x37, 0x33, 0x3f,
- 0xee, 0x13, 0x80, 0xc3, 0x68, 0xaa, 0x93, 0x9f, 0x7f, 0xdd, 0x55, 0x28,
- 0x1e, 0xb1, 0xa4, 0x7d, 0x27, 0x46, 0x1c, 0x2f, 0xf0, 0x79, 0x29, 0x54,
- 0x82, 0x23, 0xa3, 0x2c, 0xd8, 0x05, 0x2d, 0x4c, 0x40, 0x62, 0xda, 0xe9,
- 0x69, 0xc1, 0xaa, 0x08, 0x89, 0x68, 0xc6, 0xc7, 0x00, 0x2f, 0x13, 0x68,
- 0x0f, 0xe5, 0x34, 0xb8, 0xe4, 0x5a, 0xe6, 0x2b, 0xb4, 0xfa, 0x3d, 0xb9,
- 0xd6, 0x60, 0xd2, 0xc9, 0xe5, 0xc3, 0x9a, 0x74, 0xf7, 0x1c, 0x58, 0xbd,
- 0x9a, 0x35, 0x2f, 0xef, 0x4a, 0x4c, 0xbc, 0x97, 0x11, 0x09, 0x44, 0xf7,
- 0x58, 0x47, 0x1a, 0xc8, 0xf2, 0x66, 0x51, 0x23, 0xc0, 0xac, 0xae, 0xce,
- 0xae, 0x59, 0x76, 0xf2, 0x3a, 0xb9, 0x3d, 0xc4, 0x21, 0x16, 0x5e, 0x66,
- 0x23, 0xdf, 0xaa, 0x5c, 0xb4, 0x34, 0x86, 0x07, 0x76, 0x0f, 0xb3, 0x06,
- 0x64, 0xc5, 0x2b, 0x25, 0x9e, 0x13, 0x6c, 0x2b, 0xdd, 0x57, 0xbc, 0xfd,
- 0xc8, 0x1e, 0x5d, 0xf7, 0xa6, 0x64, 0x3d, 0xb6, 0x14, 0x0d, 0xc7, 0x86,
- 0xe4, 0xbc, 0xe4, 0x37, 0x34, 0x75, 0xba, 0x77, 0x9c, 0x93, 0xb3, 0xad,
- 0xfe, 0x96, 0x05, 0xfd, 0x59, 0x90, 0x73, 0xec, 0x0f, 0x91, 0x0d, 0x19,
- 0xdd, 0x8b, 0xe4, 0x27, 0x97, 0xb8, 0x19, 0x34, 0x17, 0xc2, 0x88, 0x09,
- 0x48, 0x37, 0x62, 0x10, 0xc5, 0xcc, 0x3a, 0xd5, 0x3a, 0xd4, 0x7a, 0xf3,
- 0x4c, 0xba, 0xc0, 0xe2, 0x09, 0xd4, 0x4b, 0xf3, 0x5b, 0x8a, 0xb8, 0xf3,
- 0xde, 0x25, 0x3f, 0x6c, 0x3e, 0xfe, 0x04, 0x60, 0x95, 0x5c, 0x4d, 0x2d,
- 0xf9, 0x21, 0xb0, 0x26, 0x06, 0xe4, 0x45, 0x96, 0x00, 0x16, 0x25, 0x39,
- 0x88, 0x69, 0x4f, 0xd2, 0xb5, 0x9c, 0x17, 0xac, 0xac, 0x2d, 0xf5, 0x35,
- 0x98, 0xbe, 0x7e, 0x7c, 0x73, 0x7c, 0x9e, 0x6c, 0x92, 0xee, 0xdd, 0x55,
- 0x6e, 0xf4, 0x5e, 0xdf, 0xce, 0x9a, 0xf1, 0xf6, 0xfc, 0x53, 0xbe, 0x6d,
- 0x4c, 0xce, 0xc9, 0x68, 0xcb, 0x1a, 0x52, 0xf8, 0x1c, 0x36, 0xa1, 0x9a,
- 0xa7, 0x6a, 0x9f, 0xc2, 0x40, 0xed, 0x9e, 0x06, 0xcf, 0x60, 0xe5, 0x04,
- 0x00, 0x67, 0xa7, 0x62, 0x9a, 0xd8, 0x9b, 0x03, 0x3c, 0x10, 0x07, 0x8f,
- 0x13, 0x72, 0xc4, 0x66, 0xec, 0xa3, 0x36, 0x96, 0x76, 0xf7, 0xac, 0x32,
- 0x38, 0x4c, 0xdc, 0x39, 0xec, 0xc6, 0x51, 0x44, 0x93, 0xdc, 0x13, 0x4e,
- 0xdb, 0xeb, 0x11, 0x16, 0x8d, 0x26, 0x65, 0x4e, 0x77, 0xd1, 0x84, 0x7c,
- 0x81, 0xdd, 0xe6, 0x60, 0x61, 0xac, 0x0f, 0xb6, 0xd7, 0x13, 0x8b, 0xbe,
- 0x33, 0xb3, 0xcc, 0xf0, 0x52, 0x0b, 0x77, 0x34, 0x5b, 0xec, 0x72, 0x51,
- 0xb3, 0x7f, 0x9b, 0x5c, 0x2b, 0x76, 0xbd, 0x06, 0x31, 0x81, 0xea, 0x2d,
- 0xa7, 0x55, 0xb6, 0x8c, 0x52, 0x8c, 0x73, 0x65, 0x6d, 0xf6, 0x91, 0xed,
- 0x14, 0x96, 0x6a, 0xfd, 0xa7, 0xf5, 0xc4, 0x43, 0x6f, 0xb5, 0xbc, 0x90,
- 0xb9, 0xc3, 0x57, 0x78, 0x57, 0x80, 0xb9, 0x8a, 0xed, 0x09, 0x9e, 0x64,
- 0xd3, 0x7c, 0x96, 0xc3, 0xea, 0xf2, 0xbb, 0x10, 0x2c, 0x45, 0xbb, 0x4b,
- 0x3f, 0x85, 0x5d, 0x52, 0x44, 0x64, 0x4a, 0xbf, 0x36, 0x5d, 0x82, 0x5f,
- 0x8c, 0x01, 0x6b, 0x71, 0xcb, 0xb9, 0xdd, 0x21, 0x8b, 0xa9, 0x5c, 0x11,
- 0x56, 0xfb, 0x7d, 0x9c, 0x0b, 0xed, 0x23, 0x53, 0x37, 0x40, 0x6e, 0xd1,
- 0x39, 0x13, 0x7f, 0xd1, 0x88, 0x2f, 0x07, 0x3d, 0x63, 0xe9, 0x2a, 0xcb,
- 0x6f, 0x5b, 0x05, 0x0f, 0x24, 0x8f, 0x7a, 0x9a, 0xd8, 0xe2, 0x37, 0x07,
- 0x06, 0x16, 0xfe, 0x27, 0x31, 0xf0, 0xa1, 0x01, 0x41, 0x58, 0xb1, 0xa7,
- 0xad, 0xab, 0xef, 0xaa, 0xb0, 0xef, 0x67, 0xc5, 0xb8, 0x9c, 0x74, 0xec,
- 0x33, 0x9a, 0x04, 0x4f, 0xc8, 0x61, 0xc7, 0x73, 0xa8, 0x0a, 0xbb, 0x3c,
- 0xee, 0xc3, 0x24, 0xe7, 0x19, 0x3b, 0x56, 0x7f, 0xd1, 0xbe, 0x8f, 0x79,
- 0x52, 0xb0, 0xed, 0x7f, 0xd5, 0xae, 0x7f, 0x9c, 0xaf, 0xe1, 0x30, 0x10,
- 0xd6, 0xb5, 0xbd, 0x07, 0xbd, 0x6b, 0x3a, 0x90, 0x40, 0xa9, 0x46, 0x87,
- 0x8d, 0x1e, 0x4b, 0x90, 0x1a, 0xc4, 0x11, 0xe0, 0xc5, 0x6c, 0x2f, 0x32,
- 0x72, 0x48, 0x36, 0x4f, 0x38, 0x52, 0x95, 0x9c, 0xbd, 0xfd, 0x41, 0x8e,
- 0xc9, 0x32, 0x5f, 0xc3, 0xe7, 0x16, 0x33, 0x61, 0x34, 0x48, 0xc2, 0x6f,
- 0xe4, 0x82, 0x85, 0x12, 0xaf, 0x00, 0xc7, 0x44, 0x8d, 0xa4, 0xf3, 0x10,
- 0xe3, 0x66, 0xca, 0xbb, 0xb3, 0xf6, 0x4a, 0x9e, 0x9e, 0x96, 0xac, 0xbf,
- 0x7e, 0xf1, 0x93, 0xfc, 0x84, 0xe6, 0xc6, 0xfc, 0xa3, 0xb9, 0x5e, 0xcc,
- 0x46, 0x66, 0x5d, 0x8b, 0xe6, 0x8b, 0x75, 0x8e, 0xb9, 0x5d, 0xca, 0xb4,
- 0xae, 0x54, 0xae, 0xdb, 0x1b, 0xad, 0x35, 0x69, 0x68, 0xbe, 0xd7, 0x46,
- 0xda, 0xac, 0xb3, 0x17, 0x33, 0x68, 0xee, 0x83, 0xd9, 0x9e, 0x3f, 0xbd,
- 0xfb, 0xeb, 0x4f, 0x2f, 0x9f, 0x3c, 0x4d, 0x3f, 0x4b, 0xc7, 0xcf, 0x2f,
- 0x5f, 0xa4, 0xcf, 0x26, 0xcf, 0x3e, 0x7b, 0xb9, 0xf7, 0xe2, 0x59, 0xfa,
- 0xd9, 0xd3, 0xcb, 0xf4, 0xf9, 0x6e, 0xb6, 0xfb, 0xf2, 0x72, 0xef, 0xc9,
- 0x64, 0x72, 0x99, 0xbd, 0x98, 0x7c, 0x96, 0xae, 0x0f, 0xa0, 0x6b, 0x6b,
- 0x97, 0x43, 0x7d, 0x54, 0xe2, 0x2d, 0xa6, 0xf7, 0xc3, 0x6f, 0x0e, 0xfa,
- 0xbb, 0xc9, 0x75, 0x76, 0xa7, 0x07, 0x8c, 0x3d, 0x59, 0x16, 0x88, 0x92,
- 0x89, 0xd1, 0xbe, 0x5c, 0xbd, 0xd5, 0xdc, 0x19, 0x02, 0x12, 0x92, 0x61,
- 0x0c, 0xad, 0x87, 0x27, 0x4f, 0x67, 0x93, 0xa1, 0x26, 0x76, 0xcd, 0xf6,
- 0xd5, 0x5b, 0x4b, 0xe3, 0xea, 0x1e, 0xfe, 0x13, 0xf3, 0xce, 0xf4, 0x5d,
- 0x3a, 0x36, 0x17, 0xa3, 0x99, 0x11, 0x79, 0x70, 0x68, 0xec, 0x98, 0x7c,
- 0x6c, 0xfe, 0x2d, 0x7f, 0x21, 0xef, 0xa0, 0xd7, 0xc6, 0xd7, 0x55, 0xb9,
- 0x98, 0x9f, 0x95, 0xd3, 0x7c, 0x7c, 0xbf, 0xaa, 0x39, 0xff, 0xb1, 0xd6,
- 0x2f, 0x8e, 0x08, 0x0d, 0x3e, 0xa7, 0x58, 0xe9, 0xbf, 0x50, 0x9d, 0xf6,
- 0xac, 0x90, 0x47, 0xe8, 0xd3, 0xfd, 0x71, 0x3e, 0xbf, 0xa6, 0x28, 0xdf,
- 0x2b, 0x00, 0x5f, 0xc8, 0x29, 0xcf, 0x3f, 0x88, 0xeb, 0xd1, 0x43, 0x39,
- 0x8a, 0xb5, 0xac, 0xa7, 0xbe, 0x2d, 0xb7, 0x6c, 0xae, 0x59, 0x21, 0xea,
- 0x93, 0x10, 0xb0, 0x55, 0x1e, 0x38, 0x6d, 0xdc, 0x87, 0xf8, 0x98, 0xab,
- 0x86, 0xc5, 0x96, 0xaa, 0xfc, 0x6a, 0x60, 0xac, 0x66, 0x8a, 0x93, 0x2e,
- 0xe6, 0x0c, 0xfa, 0x85, 0x5b, 0x8f, 0x7f, 0xd7, 0x69, 0x0e, 0x9d, 0x97,
- 0x1d, 0xc3, 0xca, 0xa7, 0x99, 0xd1, 0x0f, 0xe7, 0x27, 0xfb, 0xdd, 0x79,
- 0x02, 0xfe, 0xbe, 0xde, 0xdf, 0xde, 0x86, 0xb3, 0xff, 0x3a, 0xbd, 0xbb,
- 0x1b, 0xd4, 0xd9, 0xf6, 0xa4, 0x1c, 0xd7, 0xdb, 0x75, 0x3d, 0xd5, 0xd9,
- 0x68, 0xa7, 0xc3, 0xfc, 0x0e, 0xae, 0xbb, 0x72, 0x06, 0x69, 0x95, 0x4d,
- 0xfa, 0x75, 0x1d, 0x60, 0x43, 0x86, 0x87, 0x1a, 0x79, 0x3e, 0x2a, 0x18,
- 0x65, 0x8a, 0x7b, 0xae, 0x6f, 0x66, 0x77, 0x38, 0xfc, 0x26, 0xd1, 0x97,
- 0x31, 0xbd, 0x16, 0x0d, 0x61, 0x71, 0x19, 0xbd, 0xc8, 0xd5, 0x9b, 0x8a,
- 0xc0, 0xfe, 0xdc, 0xb7, 0xde, 0x49, 0x85, 0x2a, 0xf9, 0x0f, 0x81, 0x73,
- 0xe7, 0xcd, 0x4a, 0x64, 0xcb, 0xf3, 0x8e, 0xb5, 0x6b, 0x07, 0x11, 0x8f,
- 0xfe, 0xaa, 0xc7, 0x23, 0x4d, 0xdc, 0x93, 0xce, 0xfc, 0xef, 0xe6, 0x6b,
- 0x9a, 0xdd, 0x7b, 0x55, 0x56, 0xe6, 0xf2, 0x98, 0xd5, 0x31, 0x97, 0x97,
- 0x9e, 0xf2, 0x5a, 0x5d, 0x7b, 0x35, 0xf9, 0xe5, 0xd8, 0x05, 0xb7, 0x28,
- 0xbc, 0x0f, 0x98, 0xa5, 0x04, 0xb0, 0x67, 0x60, 0x17, 0x2c, 0x1e, 0xd9,
- 0xd0, 0xe5, 0xeb, 0x38, 0x4d, 0xc4, 0x6b, 0x92, 0x40, 0x9e, 0x17, 0x9e,
- 0xcb, 0x1b, 0x97, 0xb2, 0xe9, 0x72, 0x2f, 0xd6, 0x3b, 0xac, 0x73, 0x95,
- 0xe1, 0xa2, 0x20, 0x45, 0xa2, 0xaa, 0x4a, 0x4f, 0x9b, 0xe9, 0x7f, 0x0b,
- 0xab, 0xc2, 0x5c, 0x91, 0xf9, 0x95, 0x46, 0x57, 0xbb, 0xc7, 0x57, 0xb6,
- 0x3f, 0x5d, 0x30, 0x0d, 0x30, 0x7d, 0x92, 0x26, 0x49, 0x57, 0x82, 0x39,
- 0x02, 0x8c, 0x2f, 0x10, 0xcc, 0x12, 0x63, 0x42, 0x5a, 0xd9, 0xa1, 0xc1,
- 0x71, 0x20, 0x2c, 0xbc, 0x7b, 0x9c, 0xb0, 0x34, 0x7a, 0x38, 0xd1, 0xbc,
- 0xd8, 0xad, 0x6e, 0x77, 0x26, 0xa4, 0x93, 0xc1, 0x44, 0x34, 0xcf, 0x74,
- 0x2f, 0x59, 0xc0, 0xd0, 0xac, 0x4b, 0x22, 0x96, 0xfa, 0xd5, 0x1d, 0x8f,
- 0x42, 0x52, 0x75, 0x7a, 0x73, 0x24, 0x1b, 0xa6, 0xc0, 0xbb, 0xc6, 0x2e,
- 0xf6, 0xd2, 0x8b, 0xd1, 0x51, 0x83, 0x81, 0xcf, 0x9e, 0x33, 0x8e, 0x80,
- 0x43, 0x56, 0x04, 0x3f, 0x94, 0x61, 0x23, 0x86, 0xcc, 0xad, 0x47, 0x48,
- 0x4c, 0x4a, 0x31, 0x9d, 0x96, 0x4e, 0xcb, 0x32, 0xbb, 0xcf, 0x08, 0x44,
- 0x64, 0xe9, 0x0c, 0x02, 0xe1, 0xcd, 0x58, 0x7d, 0x46, 0x1d, 0x70, 0xce,
- 0x09, 0x5f, 0xe1, 0x6a, 0xf1, 0x4e, 0x61, 0x5d, 0x70, 0x88, 0xd4, 0x09,
- 0x35, 0x5a, 0xbf, 0x98, 0x4f, 0x40, 0xd0, 0xaa, 0x9c, 0x00, 0x94, 0x23,
- 0xb5, 0x4d, 0x92, 0xa1, 0x18, 0x7c, 0xab, 0xbe, 0xcc, 0xba, 0xec, 0x49,
- 0x53, 0x53, 0x0a, 0x80, 0x56, 0xd2, 0xc7, 0xee, 0x8e, 0xb2, 0x89, 0x4e,
- 0x3e, 0xfc, 0x93, 0xd6, 0xc7, 0x62, 0x58, 0xeb, 0x30, 0x54, 0xe5, 0x26,
- 0x33, 0x66, 0xb6, 0x04, 0x78, 0x60, 0x74, 0xa4, 0xca, 0xf4, 0x0b, 0x45,
- 0xd9, 0xed, 0x94, 0xf6, 0xa3, 0x1f, 0x1a, 0xf1, 0x16, 0xf3, 0xea, 0x75,
- 0x40, 0xb1, 0xaf, 0x76, 0x95, 0xe3, 0x37, 0x5e, 0xe6, 0x1e, 0x80, 0xe9,
- 0x5e, 0xda, 0x70, 0xbf, 0xbf, 0x90, 0xed, 0xe7, 0x64, 0xb7, 0x74, 0xfd,
- 0x96, 0xc5, 0x78, 0x5a, 0x2a, 0x66, 0xd8, 0xbc, 0xcf, 0x69, 0x67, 0x03,
- 0x8a, 0x3e, 0xb1, 0xf1, 0x2b, 0x2b, 0x20, 0xbf, 0xe8, 0x89, 0xac, 0xb8,
- 0x54, 0x5d, 0xa2, 0xdb, 0x1c, 0xdb, 0x22, 0xdd, 0x14, 0x4d, 0x67, 0x82,
- 0xee, 0x27, 0xc9, 0x4f, 0x3f, 0xf5, 0x12, 0x32, 0x84, 0x7e, 0x6a, 0xcc,
- 0xff, 0xcc, 0x46, 0xfb, 0x89, 0x51, 0xfa, 0x3f, 0xdd, 0x0c, 0x92, 0x6e,
- 0x84, 0x9a, 0xbc, 0x87, 0xf5, 0x94, 0xc2, 0x02, 0xac, 0x56, 0xb7, 0xbd,
- 0x2e, 0x9c, 0x12, 0x08, 0x07, 0x1e, 0xfb, 0xbe, 0x7d, 0xd4, 0x0f, 0x14,
- 0xcb, 0xd0, 0x4d, 0xb4, 0x98, 0x15, 0x62, 0x8d, 0xf0, 0x3e, 0xc4, 0x11,
- 0x87, 0xdc, 0xdf, 0xf8, 0xe3, 0x86, 0xdb, 0x33, 0x3d, 0x75, 0xdd, 0x36,
- 0x2a, 0x57, 0x23, 0xc7, 0x49, 0x0f, 0xbe, 0x26, 0xd0, 0x21, 0xfe, 0xcf,
- 0x71, 0x30, 0x23, 0x37, 0x4f, 0xc9, 0x6f, 0xca, 0x69, 0x10, 0xa5, 0x05,
- 0x8f, 0x22, 0x1b, 0x64, 0x7e, 0x7d, 0x5f, 0x53, 0x88, 0x3e, 0x26, 0x6d,
- 0xc2, 0x53, 0x32, 0x58, 0x2a, 0xe4, 0x1a, 0x45, 0x7c, 0xc0, 0xc6, 0xa2,
- 0x5d, 0xd0, 0x12, 0x91, 0xa6, 0x3b, 0x1b, 0xfd, 0x0d, 0x1b, 0xe5, 0x10,
- 0x58, 0x44, 0x80, 0x24, 0x55, 0x89, 0xe0, 0x21, 0xcd, 0x82, 0x4f, 0x7a,
- 0xe8, 0xa7, 0xd2, 0xc7, 0xb6, 0xb9, 0xe4, 0x4e, 0xca, 0xce, 0xd2, 0x50,
- 0xad, 0x7c, 0x5f, 0xe4, 0x4c, 0xc4, 0xa3, 0x00, 0x0c, 0x1c, 0xc2, 0xe8,
- 0xda, 0x00, 0xcc, 0x5d, 0xe7, 0xf8, 0xef, 0xf7, 0x91, 0x67, 0x3f, 0xe7,
- 0xdc, 0x78, 0xda, 0x1d, 0x08, 0x2f, 0xdf, 0x53, 0x26, 0xc4, 0x3c, 0x00,
- 0x22, 0x29, 0xee, 0x4b, 0x93, 0x0d, 0xe9, 0x20, 0x53, 0x42, 0xf6, 0x6d,
- 0x21, 0x09, 0xb5, 0xc3, 0x12, 0x66, 0xf7, 0x18, 0x81, 0x6a, 0x41, 0x45,
- 0x48, 0x4e, 0x45, 0xc4, 0xe4, 0xa3, 0xcb, 0x2e, 0x50, 0x78, 0xa8, 0x3f,
- 0xaf, 0x93, 0xf5, 0xe5, 0x6a, 0xcf, 0x7a, 0xf7, 0x0d, 0xc0, 0xdd, 0x9c,
- 0x0f, 0x4b, 0xf2, 0x45, 0xd1, 0x91, 0x4d, 0xc1, 0x4b, 0xf5, 0xff, 0xce,
- 0x60, 0x48, 0x4e, 0x69, 0x90, 0xab, 0x74, 0x8b, 0xd1, 0xa0, 0x75, 0x00,
- 0x87, 0xa8, 0x3c, 0x30, 0x8d, 0xb7, 0x3f, 0x1c, 0x1c, 0x25, 0x87, 0x67,
- 0x13, 0xb7, 0x14, 0xdf, 0x6a, 0xde, 0xd3, 0x5d, 0xf9, 0x63, 0xdf, 0x26,
- 0xc4, 0x35, 0x7d, 0x4f, 0x3c, 0x8e, 0x7a, 0x45, 0x58, 0x5b, 0x61, 0x3e,
- 0x45, 0x9e, 0xba, 0x62, 0xbd, 0xa1, 0xff, 0x04, 0xb3, 0xb3, 0xbb, 0x65,
- 0xb3, 0x83, 0x90, 0x6c, 0xce, 0x30, 0x5c, 0x51, 0x09, 0xd6, 0xaf, 0x4b,
- 0x86, 0x8c, 0xac, 0xef, 0x53, 0xe2, 0x0a, 0xa3, 0x60, 0x79, 0x8c, 0x9a,
- 0x06, 0xdc, 0x69, 0x0e, 0x80, 0x9c, 0x6f, 0x4e, 0xdf, 0x1d, 0xb5, 0xe1,
- 0x96, 0xf8, 0x49, 0xcc, 0xbb, 0x66, 0xe4, 0xd5, 0x5b, 0x23, 0x5f, 0x78,
- 0x0f, 0xa4, 0x81, 0xea, 0xc6, 0x7b, 0xcb, 0x74, 0xeb, 0x2a, 0x6b, 0xe6,
- 0xb7, 0x8b, 0x7c, 0xb2, 0xb9, 0x45, 0x7b, 0x84, 0xc0, 0xd6, 0x7d, 0x60,
- 0xfc, 0xd9, 0x00, 0xac, 0x93, 0x4d, 0xd6, 0xc6, 0xab, 0xac, 0x59, 0x54,
- 0x05, 0x7b, 0x44, 0xa9, 0xef, 0x61, 0x64, 0x53, 0xae, 0x34, 0xdf, 0x13,
- 0x20, 0x9c, 0x11, 0x8c, 0x54, 0xe1, 0x06, 0xb7, 0x48, 0x08, 0x68, 0x1c,
- 0x1c, 0x0b, 0x8f, 0xb1, 0x04, 0xf7, 0x94, 0x3f, 0x13, 0xc9, 0xc1, 0xd9,
- 0xd9, 0x9b, 0x83, 0x8b, 0x03, 0x3b, 0x36, 0x5c, 0xc4, 0x90, 0x2c, 0x50,
- 0x87, 0x8d, 0x48, 0x22, 0xed, 0x88, 0x9e, 0xdc, 0xf8, 0xd3, 0x87, 0xe1,
- 0xd1, 0x79, 0x77, 0x61, 0xcf, 0xce, 0x4f, 0x89, 0x90, 0xe3, 0x4f, 0x3f,
- 0x1d, 0x50, 0xc0, 0x54, 0xc2, 0x3d, 0x6f, 0xd2, 0x26, 0xdd, 0x08, 0x4e,
- 0xf5, 0xde, 0x16, 0xf5, 0xef, 0xd6, 0xf6, 0xef, 0x52, 0x2e, 0x33, 0x98,
- 0xf4, 0xc9, 0x47, 0x5a, 0xd0, 0x6a, 0xac, 0x58, 0x4b, 0x3b, 0x1b, 0x98,
- 0x00, 0x40, 0x25, 0x97, 0x0f, 0xa4, 0x74, 0x92, 0x4c, 0xf1, 0x42, 0x3a,
- 0x59, 0x53, 0x63, 0x4f, 0x67, 0xe3, 0x45, 0xa3, 0x5b, 0x1e, 0xfb, 0x8b,
- 0xb2, 0x18, 0xbb, 0xf3, 0x12, 0x2c, 0x8f, 0xf3, 0x92, 0xb3, 0x14, 0x40,
- 0x12, 0xad, 0xd9, 0x68, 0xc0, 0xc3, 0x0e, 0xa4, 0xb7, 0x2c, 0xc5, 0x62,
- 0xf1, 0xe8, 0x8c, 0xfd, 0xe6, 0x48, 0xaa, 0xe5, 0x2e, 0x05, 0x13, 0xf2,
- 0x47, 0x73, 0x1a, 0xfb, 0xc9, 0x91, 0x64, 0x7b, 0x60, 0xe0, 0xe6, 0x07,
- 0xc1, 0x43, 0x8d, 0xb5, 0x15, 0x44, 0xd8, 0xc7, 0x65, 0x85, 0x97, 0x68,
- 0xbe, 0xde, 0x55, 0x9e, 0x39, 0xb5, 0xcb, 0x3c, 0x44, 0xdd, 0xa6, 0x49,
- 0x87, 0xa9, 0xb4, 0x1e, 0x41, 0xb6, 0xf4, 0xd3, 0x2b, 0xda, 0x5e, 0xe6,
- 0x51, 0xa3, 0x45, 0x1b, 0x0b, 0x89, 0xfe, 0xb5, 0xbd, 0x3b, 0xd8, 0x59,
- 0x0f, 0x3b, 0x4f, 0x87, 0x05, 0x24, 0x01, 0x36, 0x6c, 0x42, 0xd2, 0xb0,
- 0x29, 0xcb, 0x07, 0xfb, 0xc7, 0x22, 0xcc, 0xe8, 0xa1, 0x73, 0xd3, 0x7e,
- 0xb4, 0x2b, 0xfd, 0xd3, 0x00, 0x4c, 0x4a, 0xf0, 0xcc, 0x4a, 0x85, 0xa2,
- 0x91, 0x89, 0x45, 0x79, 0x4b, 0x23, 0x31, 0x5b, 0x6d, 0x3a, 0x6d, 0xb1,
- 0x39, 0xac, 0xc7, 0xa7, 0xb9, 0x00, 0x71, 0x4a, 0xd6, 0x9d, 0xed, 0x68,
- 0x4c, 0x52, 0x95, 0x4c, 0x5f, 0x93, 0xb3, 0xc8, 0x46, 0x98, 0x8c, 0x76,
- 0x27, 0xf8, 0xc9, 0xb4, 0x46, 0xca, 0x05, 0x72, 0x6f, 0xea, 0xc7, 0xdc,
- 0xfb, 0x1a, 0xf8, 0xef, 0x53, 0x23, 0xa4, 0x7d, 0xbe, 0xe2, 0x5c, 0xcd,
- 0xc0, 0x70, 0x7f, 0x97, 0xde, 0xe5, 0xb3, 0xc5, 0x0c, 0x1f, 0xa3, 0xbd,
- 0x2d, 0x8f, 0x89, 0xc3, 0x18, 0x2e, 0x44, 0x06, 0x1e, 0x60, 0x93, 0x6f,
- 0xd4, 0x89, 0x67, 0xbe, 0xc7, 0x2e, 0x19, 0x73, 0x25, 0x0f, 0xdc, 0xf0,
- 0x0a, 0xc0, 0xf5, 0xc8, 0xa3, 0x5c, 0x77, 0x4c, 0x7f, 0xa3, 0x2d, 0xa4,
- 0x14, 0x4d, 0xae, 0x4b, 0x0b, 0xc3, 0x88, 0x88, 0x73, 0x4e, 0x16, 0x16,
- 0x1d, 0xce, 0x83, 0x25, 0x66, 0x55, 0x5e, 0x4e, 0xec, 0xb9, 0x21, 0x25,
- 0x31, 0x2f, 0x16, 0x66, 0x9e, 0xa9, 0x2d, 0xba, 0x52, 0x15, 0xef, 0x1c,
- 0x44, 0xb3, 0x01, 0xa1, 0x1e, 0x02, 0x19, 0xaf, 0x48, 0xc3, 0xcf, 0x06,
- 0x4f, 0xf6, 0x06, 0x3b, 0xbd, 0x96, 0xf5, 0x2e, 0x39, 0xd5, 0xe6, 0x74,
- 0x8d, 0xf3, 0x99, 0xcd, 0xb7, 0x1a, 0xfc, 0xcb, 0xbc, 0x34, 0x94, 0x69,
- 0xd6, 0x9f, 0xa5, 0x77, 0x58, 0xbe, 0xe8, 0xb2, 0x96, 0xc9, 0xab, 0x6f,
- 0x4e, 0x87, 0x17, 0xbb, 0xfb, 0x67, 0xa7, 0xe7, 0xe6, 0xbf, 0xf4, 0xf7,
- 0x3d, 0xfc, 0x7d, 0x2f, 0xb0, 0x1e, 0xdf, 0x0a, 0x50, 0x52, 0x33, 0x33,
- 0xa0, 0xa1, 0x40, 0xa3, 0xe1, 0xd9, 0x4c, 0xbc, 0x86, 0xc8, 0x5f, 0x0a,
- 0x31, 0x38, 0xb6, 0xf9, 0x3c, 0xdd, 0x25, 0xf6, 0x3e, 0xa5, 0x68, 0x29,
- 0x75, 0x34, 0xf8, 0x68, 0xb0, 0xbc, 0x51, 0x6d, 0x4a, 0x72, 0x41, 0x35,
- 0xcb, 0xb4, 0xeb, 0xa2, 0xe5, 0x3c, 0x3e, 0x49, 0xc6, 0x50, 0xbe, 0x26,
- 0xa0, 0x7e, 0xda, 0xbf, 0x1a, 0x4f, 0x8d, 0xa6, 0x9f, 0x11, 0x4a, 0x60,
- 0x92, 0x31, 0x57, 0x08, 0xfd, 0x24, 0x66, 0x80, 0x98, 0xe3, 0x27, 0xe8,
- 0xf4, 0x2e, 0x76, 0x8c, 0x77, 0xa4, 0xe0, 0x70, 0x29, 0x6d, 0xda, 0xf4,
- 0x31, 0xaf, 0xaf, 0x65, 0x3a, 0x8a, 0xac, 0xe9, 0x36, 0xc7, 0x3c, 0x4a,
- 0xbe, 0xc7, 0x0a, 0x49, 0xaa, 0x48, 0x37, 0x7d, 0x7f, 0x7a, 0x91, 0xa4,
- 0x97, 0x97, 0x9a, 0x1b, 0x4b, 0xf0, 0x73, 0xd2, 0x58, 0xb7, 0xe7, 0x7c,
- 0x93, 0x21, 0xfc, 0x18, 0x4a, 0x3e, 0xd6, 0x47, 0x2e, 0x4e, 0x86, 0xdb,
- 0xe4, 0xaf, 0x62, 0x78, 0xd3, 0xf0, 0xfd, 0x71, 0xaf, 0xe5, 0x91, 0xf6,
- 0x41, 0x0d, 0x5b, 0x74, 0x53, 0xc6, 0x15, 0x8a, 0xd4, 0xbb, 0x0b, 0x1d,
- 0xe3, 0x02, 0xc1, 0xa5, 0xb0, 0xa4, 0xeb, 0xe2, 0x0c, 0x59, 0xc7, 0xd2,
- 0xae, 0x27, 0x1a, 0x16, 0x83, 0xfd, 0x3b, 0x9b, 0x87, 0x60, 0x24, 0xf8,
- 0x62, 0x7b, 0xe0, 0x21, 0x20, 0xa5, 0x63, 0x9d, 0x6c, 0x12, 0x1a, 0x16,
- 0x86, 0xb4, 0x3e, 0xe0, 0x66, 0xf7, 0xd6, 0xd1, 0x2a, 0x1a, 0x35, 0x7f,
- 0xa7, 0x36, 0xb1, 0x69, 0x47, 0x59, 0x0c, 0xc5, 0xcd, 0x1f, 0xf2, 0x1a,
- 0x4f, 0x6c, 0xf3, 0xa6, 0x63, 0x36, 0x29, 0x49, 0x77, 0x07, 0x09, 0x98,
- 0xb2, 0xca, 0xaf, 0x28, 0x10, 0xdc, 0xcd, 0x13, 0x72, 0x1d, 0x09, 0xdc,
- 0x50, 0xa4, 0x8c, 0xd5, 0xcd, 0xba, 0xe7, 0x32, 0x68, 0x02, 0x1c, 0x36,
- 0x10, 0x81, 0x95, 0xda, 0x33, 0xda, 0x1d, 0x92, 0x3f, 0x4d, 0x44, 0x8f,
- 0x67, 0x65, 0xcf, 0x8c, 0x8e, 0xee, 0x1d, 0x17, 0xf1, 0xd1, 0x3c, 0x0f,
- 0x3d, 0x4b, 0x60, 0x82, 0x38, 0x6e, 0x54, 0x80, 0x73, 0x8c, 0xa8, 0xdb,
- 0x1c, 0x33, 0x16, 0x19, 0x89, 0xa0, 0xd0, 0xfe, 0xf5, 0xdd, 0xbd, 0xcf,
- 0x06, 0x3b, 0xe6, 0xff, 0x99, 0x45, 0x11, 0xfd, 0x88, 0xf9, 0x52, 0x98,
- 0xe6, 0x82, 0x3f, 0xc5, 0x4f, 0x27, 0x69, 0x77, 0x0f, 0xd9, 0x0b, 0xae,
- 0xac, 0xae, 0xd6, 0xe3, 0x58, 0x17, 0x19, 0x74, 0xeb, 0x56, 0xa1, 0xb5,
- 0xb4, 0x37, 0x4a, 0x3a, 0x91, 0x9f, 0xe8, 0x31, 0xaf, 0x16, 0xd3, 0x08,
- 0x66, 0xcb, 0x73, 0x1b, 0x93, 0x82, 0x36, 0xbd, 0x11, 0xa7, 0xf1, 0x37,
- 0x24, 0x9e, 0x38, 0x6f, 0x6b, 0xd0, 0x42, 0xbc, 0xbc, 0x6c, 0xf9, 0x00,
- 0x0f, 0xc5, 0x6a, 0x83, 0x70, 0xee, 0x9b, 0xf3, 0xf0, 0xaa, 0xbc, 0xbc,
- 0xac, 0xb3, 0xa6, 0x7b, 0x07, 0x1d, 0xca, 0x23, 0xdb, 0xe7, 0xe0, 0xf8,
- 0xe2, 0xb0, 0x8d, 0xa4, 0x56, 0x24, 0x6d, 0x66, 0x8a, 0x44, 0x20, 0x46,
- 0x2c, 0xb9, 0xb8, 0xb9, 0x41, 0x04, 0x4e, 0xee, 0xff, 0x5e, 0x51, 0x00,
- 0x9c, 0x18, 0xaa, 0x7c, 0x07, 0x48, 0xaf, 0x61, 0x2a, 0x03, 0xb9, 0xec,
- 0xba, 0xc4, 0x44, 0x7a, 0x2a, 0x3e, 0xe5, 0xf3, 0x39, 0x59, 0x38, 0x4c,
- 0xf2, 0x83, 0x9d, 0x6b, 0x03, 0x66, 0xa3, 0xcc, 0x6c, 0x55, 0xec, 0x66,
- 0x85, 0x82, 0x19, 0x3d, 0x79, 0x2c, 0xd7, 0xfe, 0x28, 0x33, 0xc7, 0x36,
- 0x0b, 0xb5, 0x76, 0xea, 0x8f, 0xc7, 0xec, 0x20, 0x09, 0xe9, 0x13, 0x62,
- 0x71, 0x28, 0x52, 0x95, 0x32, 0x97, 0x5e, 0xce, 0xb3, 0x24, 0x7b, 0xc5,
- 0xf0, 0x88, 0x2e, 0x15, 0xc7, 0xba, 0xdc, 0x86, 0xc7, 0xff, 0xf3, 0xc8,
- 0xf1, 0x70, 0x58, 0xa2, 0x0b, 0x4e, 0x6c, 0x88, 0xa5, 0x89, 0x98, 0x3d,
- 0xd5, 0x3f, 0x34, 0xeb, 0x85, 0x18, 0x93, 0x07, 0x27, 0x28, 0x3b, 0xc0,
- 0x7b, 0x98, 0x3e, 0xa4, 0x4c, 0x40, 0x21, 0xda, 0xa6, 0xd4, 0xd7, 0xe0,
- 0x76, 0x60, 0x9a, 0x36, 0x76, 0x25, 0xca, 0x18, 0x71, 0x40, 0x1a, 0xc9,
- 0x92, 0xf2, 0xb3, 0x0b, 0x44, 0x5f, 0xdc, 0xce, 0x0b, 0xd2, 0x1a, 0x59,
- 0x87, 0x09, 0xc0, 0xf7, 0x9a, 0xf7, 0xc8, 0x09, 0xff, 0x8b, 0xe6, 0x5f,
- 0x18, 0x2b, 0xa9, 0x68, 0xff, 0x82, 0xc9, 0xc9, 0xdb, 0xd4, 0x63, 0xde,
- 0xd4, 0x44, 0x57, 0xd7, 0xff, 0x9b, 0x31, 0xb4, 0x5f, 0xa9, 0xa7, 0x62,
- 0x59, 0x66, 0xac, 0xfa, 0x35, 0x08, 0x2c, 0x0f, 0x3b, 0x0c, 0x7b, 0xc3,
- 0x52, 0x34, 0xe8, 0x54, 0xb3, 0x4b, 0x25, 0x85, 0x3a, 0x03, 0x2e, 0xbc,
- 0xae, 0xac, 0xbf, 0x04, 0xef, 0x83, 0xe5, 0x01, 0xf0, 0x72, 0xe5, 0x06,
- 0x14, 0x95, 0x9a, 0x72, 0x0b, 0x35, 0xa3, 0xe6, 0xa4, 0x0d, 0xb5, 0x1b,
- 0xf2, 0xe0, 0xda, 0xcd, 0x8b, 0xfe, 0x2c, 0x9b, 0x01, 0xd0, 0xcb, 0xcf,
- 0x22, 0x78, 0x46, 0xc4, 0x45, 0xb2, 0x1d, 0x79, 0x89, 0xd8, 0x12, 0x6f,
- 0x04, 0x00, 0x02, 0xcd, 0x16, 0x9f, 0x0d, 0x63, 0x8f, 0x65, 0xc1, 0x6e,
- 0x47, 0xf8, 0x0a, 0xf9, 0xe3, 0xe4, 0x22, 0xfb, 0x64, 0xd4, 0xe7, 0xa2,
- 0x47, 0x3f, 0x45, 0xe2, 0xa1, 0x97, 0x85, 0x46, 0xdd, 0x6d, 0x32, 0x0e,
- 0x52, 0x64, 0x11, 0x75, 0xd6, 0x7b, 0x56, 0x1e, 0xf5, 0x3c, 0x29, 0xef,
- 0xb3, 0x46, 0xe0, 0x01, 0xdc, 0x79, 0xcd, 0xc2, 0x41, 0x26, 0xcf, 0xf1,
- 0x65, 0xa7, 0x39, 0x30, 0x26, 0x65, 0x8d, 0xf3, 0x09, 0x41, 0xc0, 0x32,
- 0x41, 0x24, 0xd3, 0xc4, 0x90, 0xdb, 0xb3, 0x67, 0x8e, 0xc1, 0xba, 0xba,
- 0x60, 0x79, 0x04, 0xb2, 0x51, 0x22, 0x8e, 0x19, 0xea, 0x0e, 0x79, 0x8a,
- 0x9a, 0x49, 0x6c, 0x4f, 0xb2, 0xfa, 0xab, 0x07, 0x52, 0xd8, 0xb3, 0x64,
- 0x83, 0x72, 0x46, 0x8b, 0xd1, 0x26, 0x10, 0xad, 0x77, 0x5f, 0x13, 0xb4,
- 0x15, 0x36, 0x7a, 0x37, 0xf7, 0xd2, 0x65, 0x11, 0x12, 0x4c, 0xa2, 0x9a,
- 0xa8, 0x73, 0x44, 0x3b, 0x6a, 0xa4, 0xb0, 0x98, 0x46, 0xb7, 0x29, 0x76,
- 0x9a, 0x6d, 0x3f, 0x8f, 0x68, 0x21, 0x1e, 0xc6, 0xad, 0x3f, 0x72, 0xdb,
- 0xd9, 0x31, 0x48, 0x44, 0x5d, 0xb3, 0xf2, 0x10, 0xed, 0x79, 0x73, 0xb1,
- 0x6c, 0x40, 0xb2, 0x48, 0x26, 0x21, 0x48, 0x19, 0xec, 0xa4, 0xf0, 0x14,
- 0xde, 0x5e, 0x97, 0x53, 0xb6, 0x8c, 0x83, 0x08, 0x8b, 0x4d, 0xf1, 0x04,
- 0xbf, 0x01, 0x61, 0x36, 0xe1, 0x58, 0xbe, 0x01, 0x1c, 0xb4, 0x15, 0x25,
- 0x31, 0x2a, 0x5e, 0x96, 0x52, 0x62, 0x89, 0x00, 0xa2, 0x93, 0xfe, 0x4d,
- 0x98, 0x10, 0x67, 0xce, 0xf9, 0xa8, 0xac, 0xed, 0x7e, 0xa1, 0x44, 0x4a,
- 0xba, 0x41, 0x6e, 0xd3, 0x0a, 0x82, 0x59, 0x88, 0x62, 0x94, 0x43, 0xcf,
- 0xc7, 0x85, 0x91, 0x36, 0xd8, 0x05, 0xb3, 0xe7, 0x94, 0x7c, 0x6c, 0xb6,
- 0x89, 0xd1, 0x01, 0xc8, 0x4d, 0x8b, 0xbd, 0x43, 0x4d, 0x0a, 0x05, 0xcc,
- 0x35, 0xd8, 0x20, 0x25, 0x43, 0xd9, 0x9c, 0xc3, 0x6b, 0xba, 0xd6, 0xf3,
- 0x66, 0x91, 0x36, 0x8f, 0x43, 0xe3, 0x2e, 0x93, 0x4d, 0x2c, 0x9c, 0x7c,
- 0x30, 0x43, 0x24, 0x94, 0x80, 0x6d, 0xbb, 0x24, 0x6a, 0xe8, 0x2f, 0xe4,
- 0x2b, 0x3a, 0x6b, 0x4b, 0xe4, 0xd1, 0x19, 0xb8, 0xac, 0xae, 0xdb, 0x64,
- 0x28, 0xc8, 0xbb, 0x94, 0x6b, 0x44, 0x53, 0x9b, 0xb8, 0x29, 0xbd, 0xe5,
- 0x8f, 0x23, 0xf1, 0x7c, 0xc4, 0xbf, 0x4c, 0x2f, 0xa6, 0xf7, 0xae, 0x41,
- 0x2f, 0x25, 0x52, 0x51, 0xbb, 0x1e, 0x51, 0x94, 0xfd, 0x42, 0x92, 0x76,
- 0xb5, 0x9a, 0xa1, 0x51, 0xbe, 0xf9, 0x9b, 0xfb, 0xeb, 0xca, 0xbb, 0x67,
- 0x89, 0x44, 0x44, 0x78, 0x48, 0x4e, 0x8e, 0xc5, 0xf4, 0x8b, 0xcf, 0x9e,
- 0x4e, 0x7d, 0xb7, 0x39, 0x22, 0xa1, 0xdd, 0x7d, 0xfd, 0xdd, 0xc1, 0xc9,
- 0x87, 0xa3, 0xdd, 0xcf, 0x13, 0xfa, 0xd7, 0x1e, 0xff, 0x6b, 0x6f, 0x3d,
- 0xb6, 0x4a, 0x46, 0x3e, 0x6d, 0xbc, 0xde, 0x48, 0xea, 0xfb, 0xd9, 0xa8,
- 0x9c, 0xda, 0x75, 0x92, 0xa9, 0xd0, 0x50, 0x59, 0x4f, 0x2e, 0x6f, 0x9b,
- 0xa1, 0x2b, 0x1e, 0xf2, 0xae, 0xa4, 0xae, 0x05, 0x4f, 0xa6, 0x52, 0x06,
- 0x31, 0x3a, 0x3f, 0x57, 0xb4, 0x41, 0x3a, 0xad, 0x8a, 0x2e, 0x89, 0xd6,
- 0x2d, 0xc3, 0xf8, 0xe1, 0x2e, 0xd2, 0xf3, 0x5c, 0x47, 0x04, 0x86, 0x64,
- 0xa6, 0xf3, 0xee, 0x87, 0x4f, 0x5c, 0x9c, 0x96, 0x2c, 0x2b, 0x02, 0xc1,
- 0x6f, 0xc4, 0x12, 0xce, 0x92, 0xe5, 0x5c, 0xd5, 0x16, 0x48, 0x95, 0xa7,
- 0xb9, 0x25, 0x6a, 0xae, 0x7b, 0xc9, 0x35, 0xdf, 0xa8, 0x32, 0x2b, 0x76,
- 0x31, 0xf4, 0x20, 0xf6, 0x30, 0x1b, 0x89, 0xd6, 0xe2, 0xf1, 0xd2, 0x9c,
- 0xd0, 0x66, 0x54, 0x1c, 0x86, 0x4d, 0x07, 0xac, 0x90, 0x34, 0xef, 0x3c,
- 0x19, 0x89, 0x47, 0x7b, 0x6a, 0x09, 0xd4, 0x84, 0x81, 0xcc, 0x63, 0x64,
- 0x84, 0xab, 0x4d, 0x1c, 0xcd, 0x0e, 0x96, 0xe6, 0xe4, 0x38, 0x61, 0xdc,
- 0x49, 0xb5, 0x23, 0x64, 0x49, 0x57, 0x70, 0x1a, 0xb5, 0xb2, 0x4e, 0x36,
- 0x8d, 0x5c, 0xdf, 0xea, 0x79, 0xb1, 0x58, 0x5d, 0x40, 0x71, 0x49, 0x34,
- 0x36, 0x6a, 0xba, 0x24, 0x4e, 0x70, 0x71, 0xdd, 0xba, 0x61, 0x54, 0xd7,
- 0xd3, 0x1c, 0x56, 0x8e, 0xc1, 0xca, 0x95, 0xc1, 0xcd, 0xf0, 0x46, 0x25,
- 0x68, 0xde, 0x34, 0x0d, 0xe6, 0x8c, 0xb3, 0x9c, 0x85, 0xf7, 0x80, 0x22,
- 0xfa, 0x76, 0xeb, 0x9b, 0xef, 0xdf, 0x4f, 0xb3, 0x2d, 0x35, 0x0a, 0xf4,
- 0x96, 0xdb, 0x7e, 0x57, 0xfe, 0xc3, 0xf4, 0x3b, 0x95, 0x8f, 0xc4, 0x2e,
- 0x4b, 0xb9, 0xfb, 0x96, 0xf6, 0xdc, 0x09, 0x16, 0xce, 0x04, 0xf6, 0xc5,
- 0x45, 0xcb, 0x2e, 0x46, 0xa0, 0x97, 0x14, 0x32, 0xe0, 0x70, 0x83, 0xd5,
- 0x16, 0xb5, 0x22, 0xb8, 0x9a, 0x45, 0x90, 0x20, 0xb2, 0x93, 0x5c, 0x94,
- 0x02, 0xc5, 0xb1, 0x5b, 0x4c, 0xee, 0x9b, 0xae, 0xec, 0xee, 0x2a, 0x53,
- 0x4b, 0x6e, 0xa0, 0xa3, 0xbb, 0xac, 0x1a, 0x13, 0xa7, 0xc0, 0xd8, 0x28,
- 0xa4, 0x10, 0xa4, 0x97, 0xe2, 0x9a, 0xa2, 0x20, 0x9c, 0xcd, 0xb7, 0xf1,
- 0x3d, 0x6a, 0xb8, 0x77, 0x75, 0xa7, 0x2d, 0xdd, 0x64, 0x00, 0x39, 0x8c,
- 0xcd, 0xc6, 0x18, 0x58, 0xfa, 0x27, 0xbd, 0x19, 0xdb, 0x02, 0x44, 0x13,
- 0x87, 0x10, 0x4a, 0x08, 0x40, 0x66, 0x98, 0x61, 0x7d, 0xd1, 0x5b, 0x4d,
- 0xd9, 0x2e, 0xe8, 0x0b, 0x93, 0xf9, 0xb8, 0xc8, 0x10, 0xe5, 0x82, 0x83,
- 0x11, 0x65, 0x39, 0x0e, 0xd1, 0xae, 0x0e, 0x88, 0x1a, 0x10, 0x29, 0x29,
- 0xee, 0x95, 0x47, 0x65, 0x13, 0xf7, 0x25, 0x6b, 0x85, 0xca, 0xb7, 0x05,
- 0x95, 0x2b, 0xcc, 0x37, 0x9d, 0x96, 0xb7, 0x14, 0x7f, 0x69, 0xb3, 0xdf,
- 0xcd, 0xca, 0x09, 0xef, 0x87, 0xd1, 0xbd, 0xe5, 0xc9, 0xee, 0x93, 0x92,
- 0xc4, 0x9f, 0x1d, 0x68, 0xc8, 0x31, 0xba, 0x03, 0x34, 0x7d, 0xae, 0x9b,
- 0x5f, 0x92, 0xba, 0xec, 0x92, 0x86, 0x1d, 0xc9, 0xac, 0x58, 0x38, 0xea,
- 0x99, 0xd8, 0x8d, 0x86, 0x11, 0x8f, 0x4a, 0xe2, 0x34, 0x94, 0xbb, 0x0d,
- 0x03, 0x26, 0x3f, 0x9c, 0x31, 0x8b, 0x1b, 0x68, 0xff, 0x6a, 0xff, 0x35,
- 0x82, 0x23, 0x15, 0x47, 0x51, 0x10, 0x6b, 0xfc, 0xc4, 0xc4, 0x47, 0x65,
- 0xa3, 0xa4, 0x96, 0x42, 0xf8, 0xd6, 0x20, 0x89, 0x8f, 0x94, 0x4d, 0x58,
- 0xbf, 0xe0, 0xd7, 0x32, 0xdf, 0x25, 0x54, 0x52, 0x5d, 0x13, 0x97, 0x12,
- 0x0d, 0x3d, 0x0d, 0x78, 0x14, 0x30, 0xd5, 0x84, 0xac, 0x71, 0x8b, 0xba,
- 0xc9, 0x4c, 0x27, 0xe8, 0x85, 0x48, 0x13, 0x22, 0x40, 0x80, 0xc1, 0x3e,
- 0xd2, 0x77, 0xea, 0x2d, 0xf2, 0x63, 0x44, 0x40, 0x97, 0x2d, 0xe5, 0x75,
- 0xc9, 0xa1, 0xfd, 0xa7, 0x2d, 0x9a, 0xc0, 0xc2, 0xab, 0x6a, 0x26, 0x90,
- 0x04, 0x05, 0xa7, 0x45, 0x3e, 0x63, 0xca, 0x43, 0xe1, 0x95, 0xba, 0xf8,
- 0x1b, 0x4c, 0x8a, 0xee, 0x28, 0xe6, 0x13, 0xe8, 0x7c, 0xfa, 0x0e, 0xb4,
- 0x24, 0x8f, 0x08, 0xae, 0x2e, 0xe5, 0x44, 0xa2, 0x79, 0x12, 0x34, 0x4e,
- 0xd2, 0xc4, 0x18, 0x51, 0xba, 0x32, 0xc0, 0x0f, 0xb0, 0xb4, 0x78, 0x8a,
- 0xd8, 0x87, 0x33, 0xf3, 0xe5, 0x83, 0x79, 0x11, 0x57, 0x70, 0xdf, 0xec,
- 0xff, 0x3a, 0x16, 0xa8, 0xd4, 0x6b, 0xdc, 0x48, 0xf9, 0xbf, 0x2d, 0x8a,
- 0x71, 0xe7, 0x9a, 0x2a, 0x7b, 0x1e, 0x1f, 0x9d, 0x44, 0x65, 0xed, 0x2d,
- 0xd1, 0xdd, 0xf8, 0xf8, 0x90, 0x70, 0x9d, 0x50, 0xa6, 0x1f, 0xc1, 0xf3,
- 0xe9, 0x8a, 0x9b, 0x7a, 0x39, 0x81, 0xd7, 0xb9, 0x59, 0xa1, 0x6a, 0x7c,
- 0x8d, 0x84, 0x71, 0xf8, 0x91, 0x32, 0x75, 0x8e, 0xc6, 0x71, 0x46, 0xd2,
- 0xac, 0x68, 0x64, 0x39, 0x89, 0x24, 0xa2, 0x84, 0x28, 0x0b, 0x15, 0xd4,
- 0xcb, 0xfa, 0x19, 0xc2, 0xb8, 0xae, 0x69, 0xce, 0xb3, 0x69, 0x9d, 0x59,
- 0xf4, 0x87, 0x7d, 0xc7, 0xdd, 0x95, 0xb0, 0xc0, 0x0b, 0xf8, 0x64, 0x39,
- 0x07, 0x24, 0x8f, 0x9e, 0x72, 0xf4, 0xc4, 0x28, 0x3b, 0xd2, 0x19, 0x32,
- 0x2a, 0x69, 0x9f, 0xdc, 0x2b, 0xa1, 0x88, 0xb4, 0xa0, 0xbb, 0x4e, 0x09,
- 0x45, 0x82, 0xdb, 0xa7, 0xb4, 0xf3, 0x26, 0x24, 0x1d, 0x3a, 0x55, 0xb9,
- 0xf2, 0x0d, 0xf3, 0x56, 0x21, 0x2f, 0x86, 0xe9, 0x0d, 0xf3, 0xe0, 0x53,
- 0xfc, 0xab, 0xdf, 0xbf, 0x6c, 0xe6, 0xfd, 0xe8, 0x12, 0x60, 0xad, 0xdb,
- 0x5b, 0x60, 0x7a, 0x29, 0x84, 0x2c, 0xef, 0x94, 0x8b, 0xea, 0x86, 0x92,
- 0x34, 0x92, 0x93, 0xb7, 0xec, 0xc5, 0x3b, 0x3c, 0xa7, 0xbf, 0xe5, 0x96,
- 0x8e, 0x66, 0x80, 0x43, 0x41, 0xc4, 0xf6, 0x9c, 0xab, 0xfc, 0xee, 0xbb,
- 0x6e, 0x82, 0xdd, 0xe6, 0xe9, 0x70, 0xfb, 0xc9, 0xcb, 0x9d, 0xad, 0x08,
- 0x40, 0xd9, 0x7c, 0xc3, 0xf1, 0x74, 0x7d, 0x36, 0x78, 0xba, 0x33, 0xd8,
- 0xd9, 0xea, 0xf4, 0x86, 0xa6, 0x7b, 0x05, 0x4f, 0x86, 0xb2, 0x0b, 0xdb,
- 0x8b, 0x03, 0xa0, 0x63, 0x4b, 0x45, 0xa1, 0x20, 0x69, 0x3f, 0x4d, 0xf0,
- 0x3c, 0xbb, 0x31, 0x5b, 0x2d, 0x66, 0x75, 0x27, 0x27, 0x79, 0x2d, 0x56,
- 0x0d, 0xdd, 0x66, 0x7a, 0xbf, 0x50, 0x1e, 0x6e, 0x1b, 0xfa, 0x8b, 0x47,
- 0xe8, 0xc2, 0x64, 0xac, 0x43, 0x24, 0xda, 0x52, 0x9b, 0x4e, 0x55, 0x40,
- 0xe1, 0x21, 0xa6, 0xff, 0xbb, 0x7b, 0x5a, 0x3c, 0xcf, 0xe1, 0xee, 0xcb,
- 0xc1, 0x67, 0xfe, 0x9a, 0x92, 0xbe, 0xdf, 0x4f, 0xeb, 0x71, 0x9e, 0xaf,
- 0x34, 0x66, 0x14, 0xde, 0xf8, 0xb7, 0x05, 0x18, 0xa7, 0xcc, 0x36, 0xcd,
- 0x53, 0x0e, 0xd5, 0x3a, 0xa2, 0xbe, 0xa0, 0x59, 0xd2, 0x57, 0xcd, 0x16,
- 0x5b, 0xd5, 0xae, 0x18, 0xf0, 0x54, 0xac, 0x40, 0xb8, 0x45, 0xad, 0x86,
- 0x59, 0x77, 0x55, 0x29, 0x73, 0x16, 0x98, 0x9b, 0x6a, 0x5e, 0x85, 0x09,
- 0x5c, 0x04, 0xc4, 0x04, 0xbc, 0x39, 0x6d, 0xea, 0x92, 0xe6, 0x29, 0x36,
- 0xa9, 0x70, 0x4f, 0x80, 0x9d, 0xd1, 0x9a, 0x51, 0xf6, 0xec, 0x0b, 0x18,
- 0xe8, 0x4b, 0x0f, 0xb9, 0xd3, 0x32, 0x83, 0xd2, 0x88, 0x32, 0xc8, 0xe4,
- 0xd2, 0x09, 0xc2, 0xe3, 0x9c, 0x2a, 0x43, 0x03, 0x11, 0x8a, 0x75, 0xf8,
- 0x3c, 0x18, 0x23, 0x22, 0x04, 0xeb, 0xc4, 0x35, 0x63, 0x67, 0x2b, 0xc2,
- 0x24, 0xd4, 0x33, 0xe3, 0x03, 0x75, 0x1d, 0x76, 0x50, 0x91, 0xdd, 0x92,
- 0x34, 0xae, 0x45, 0x9d, 0xa8, 0xaa, 0x9c, 0x9c, 0x46, 0x16, 0x5c, 0xc0,
- 0x2a, 0x19, 0xc1, 0x2d, 0xe9, 0x82, 0x9e, 0x44, 0xb2, 0x76, 0xc7, 0x38,
- 0x9d, 0xb5, 0x05, 0x68, 0x17, 0x20, 0x5f, 0x23, 0x32, 0xb1, 0x68, 0xb6,
- 0x54, 0x5b, 0xad, 0xb3, 0xc4, 0x5e, 0x91, 0x4d, 0x07, 0x26, 0x7c, 0x87,
- 0xf0, 0x68, 0x22, 0x5e, 0x25, 0x82, 0x68, 0xb0, 0xff, 0x85, 0xc9, 0x98,
- 0x30, 0xd7, 0x69, 0x2d, 0x55, 0x13, 0x46, 0xbc, 0x1b, 0x57, 0x6c, 0x9d,
- 0x2a, 0xbd, 0x7d, 0x78, 0x3f, 0x7a, 0xbb, 0x46, 0x66, 0x7a, 0x0a, 0x9f,
- 0x8c, 0xc7, 0x1d, 0x49, 0x8e, 0x08, 0x0b, 0x0c, 0x8c, 0xf4, 0x54, 0x38,
- 0xcb, 0x99, 0x30, 0xdc, 0x4c, 0x66, 0x23, 0x86, 0x14, 0xcb, 0xf5, 0x2f,
- 0x57, 0x24, 0xc5, 0x38, 0xef, 0xa5, 0x1b, 0x45, 0xcb, 0x45, 0xdf, 0x21,
- 0xa0, 0xc3, 0xb0, 0xcc, 0x95, 0xc7, 0x59, 0x25, 0x8f, 0x38, 0x14, 0x6e,
- 0x74, 0x3d, 0xbb, 0x91, 0x44, 0xf9, 0x67, 0x0f, 0x94, 0x37, 0x4c, 0x61,
- 0x2a, 0x8c, 0x41, 0x0e, 0xd9, 0x21, 0x4f, 0xdb, 0x0a, 0x44, 0x22, 0x96,
- 0x81, 0x6a, 0x9e, 0x55, 0x24, 0x05, 0x01, 0xcf, 0xee, 0x2b, 0xaa, 0x36,
- 0x76, 0xb1, 0x98, 0xcd, 0x7f, 0xf8, 0xf5, 0x31, 0x60, 0xc6, 0xe6, 0xd0,
- 0x17, 0x92, 0x4a, 0xce, 0xfd, 0xe7, 0xf2, 0x14, 0xd6, 0x08, 0xbb, 0xca,
- 0x2d, 0x7b, 0x54, 0x9a, 0xb4, 0xd8, 0x20, 0x3b, 0x3a, 0x72, 0xa2, 0xca,
- 0xb0, 0x00, 0x29, 0x45, 0xa7, 0x15, 0x13, 0xd1, 0x86, 0x22, 0x53, 0x87,
- 0x5d, 0x8f, 0xce, 0x17, 0xbe, 0xae, 0x94, 0x07, 0x69, 0x2d, 0xd1, 0x46,
- 0x28, 0x16, 0x01, 0xae, 0xd9, 0xed, 0x57, 0x2e, 0xf7, 0x91, 0x85, 0x18,
- 0x2d, 0xf9, 0x7c, 0xbc, 0x1a, 0x0f, 0xd6, 0xc4, 0x15, 0x32, 0xc1, 0x47,
- 0xec, 0xd4, 0x65, 0xbe, 0x85, 0xcb, 0x49, 0x42, 0xe4, 0xfd, 0x89, 0xb9,
- 0x18, 0x55, 0x2d, 0x21, 0x7f, 0xec, 0x7f, 0x90, 0x34, 0xc5, 0x1d, 0x61,
- 0xce, 0x27, 0xdd, 0x92, 0x9a, 0xbc, 0xe5, 0xb7, 0xa6, 0x1c, 0x63, 0x82,
- 0xd0, 0x8c, 0x37, 0x47, 0xf6, 0xca, 0x6b, 0xba, 0xd9, 0xbf, 0x14, 0xd7,
- 0x8a, 0x39, 0xaa, 0x4a, 0xde, 0xcb, 0x26, 0x24, 0x67, 0xee, 0xb1, 0xd7,
- 0x42, 0x08, 0x51, 0x68, 0x1a, 0xe2, 0xcd, 0x71, 0x34, 0xce, 0x9b, 0x3d,
- 0xde, 0x71, 0x44, 0x11, 0x5c, 0x73, 0xc9, 0x97, 0x3f, 0x74, 0x27, 0xef,
- 0xf5, 0xc3, 0xb3, 0xf7, 0x4b, 0xa7, 0x6f, 0xf5, 0xec, 0x31, 0xd5, 0xb6,
- 0xa2, 0x3a, 0x5f, 0x7b, 0x2e, 0x25, 0x00, 0x13, 0xd8, 0x56, 0xb0, 0xae,
- 0xa5, 0xb6, 0x94, 0xf1, 0x8c, 0xa2, 0xd7, 0xbf, 0xd5, 0xaa, 0x63, 0x33,
- 0xc2, 0x02, 0xa5, 0xce, 0xc7, 0x9b, 0xe3, 0xf8, 0x17, 0xd6, 0xde, 0x27,
- 0x84, 0x13, 0x9d, 0x11, 0x2d, 0xc0, 0xc9, 0x62, 0xf6, 0x7f, 0xc3, 0x9b,
- 0x79, 0x04, 0x48, 0x62, 0x3f, 0xde, 0x9c, 0x66, 0xa8, 0x89, 0xd2, 0x18,
- 0x8c, 0xef, 0x4b, 0xbd, 0xa4, 0x1e, 0x1a, 0x5c, 0xcb, 0x9b, 0x05, 0x14,
- 0x8c, 0x38, 0x02, 0x2d, 0x1a, 0xca, 0x62, 0x18, 0x22, 0xde, 0x52, 0x9b,
- 0x26, 0x68, 0x09, 0xea, 0xb8, 0xe2, 0x87, 0xde, 0x60, 0x5b, 0xbd, 0xf6,
- 0x9c, 0x11, 0x01, 0x17, 0xee, 0x03, 0x59, 0xe8, 0x78, 0x73, 0x39, 0x0c,
- 0x53, 0x59, 0x3e, 0x62, 0xd1, 0x8e, 0x2e, 0xdf, 0xff, 0x9f, 0x0d, 0x91,
- 0xbd, 0xb0, 0x1c, 0x96, 0xe6, 0xd2, 0x3f, 0x57, 0x4c, 0x68, 0x67, 0xba,
- 0x05, 0x40, 0x78, 0xd2, 0xaa, 0x77, 0x11, 0xa0, 0x14, 0x60, 0x7c, 0xf7,
- 0x10, 0x1c, 0x9c, 0x22, 0x82, 0x9a, 0x33, 0x2b, 0xef, 0x6b, 0x7b, 0xf3,
- 0x4c, 0xfa, 0x34, 0xbc, 0xbe, 0xec, 0xda, 0x01, 0xf6, 0xe1, 0x8a, 0xcd,
- 0x6a, 0x37, 0x67, 0x7c, 0x5f, 0x06, 0x3b, 0x70, 0xf9, 0xed, 0xa8, 0xdc,
- 0x8f, 0x72, 0xbd, 0xb7, 0x2e, 0xcb, 0xdd, 0x17, 0xad, 0xcb, 0xd2, 0xbd,
- 0xb3, 0xea, 0x9a, 0x1c, 0x66, 0x8c, 0x9f, 0xf2, 0x7d, 0x6e, 0x78, 0x09,
- 0x98, 0x15, 0xf0, 0xae, 0x87, 0x48, 0x1c, 0x7a, 0xb5, 0xab, 0x03, 0x08,
- 0x14, 0xc6, 0x79, 0xba, 0xd9, 0x11, 0x4a, 0x11, 0x1e, 0x51, 0xe6, 0x93,
- 0x51, 0x55, 0xde, 0xd6, 0xd0, 0x9e, 0xd4, 0x9e, 0x4a, 0x19, 0xb1, 0x79,
- 0x1d, 0xc0, 0x06, 0xcc, 0xf4, 0x4e, 0x2d, 0x47, 0xe5, 0x37, 0x17, 0xef,
- 0x4e, 0x98, 0x87, 0x9b, 0x33, 0x47, 0x29, 0x39, 0x46, 0xfa, 0xbc, 0x18,
- 0xcd, 0xcc, 0xfa, 0x1b, 0x05, 0xa5, 0x61, 0x69, 0xa6, 0x02, 0x32, 0x48,
- 0x6f, 0x45, 0xf8, 0x49, 0x82, 0x97, 0xf3, 0x58, 0x50, 0x41, 0x5c, 0x41,
- 0x2e, 0x68, 0x27, 0x8b, 0x8b, 0x24, 0xb3, 0xe5, 0x48, 0x96, 0xed, 0xbb,
- 0xfe, 0xed, 0xed, 0x6d, 0x9f, 0x7a, 0xe7, 0x14, 0x13, 0x32, 0xd9, 0x0e,
- 0x19, 0xc0, 0x01, 0x55, 0xea, 0x2d, 0x2d, 0x05, 0x3d, 0x12, 0x9c, 0x3e,
- 0x4f, 0x53, 0x43, 0xb9, 0x18, 0xd0, 0xdd, 0x5a, 0x87, 0x02, 0x29, 0x5e,
- 0x96, 0x2b, 0x1e, 0xe4, 0x3d, 0x69, 0x5b, 0xd9, 0xea, 0x8a, 0x34, 0xa7,
- 0x7c, 0x39, 0xd6, 0x77, 0x5f, 0xff, 0x22, 0x55, 0x84, 0x54, 0x22, 0x89,
- 0x7e, 0x2c, 0x2a, 0xf2, 0x3f, 0xb1, 0x85, 0xd1, 0x8b, 0x40, 0xc4, 0x45,
- 0x27, 0x51, 0x07, 0xb4, 0x0d, 0xc3, 0xb5, 0x2c, 0x13, 0xa5, 0xb7, 0xa6,
- 0xb6, 0xbd, 0xe3, 0x1b, 0xd1, 0x13, 0x99, 0x2a, 0x07, 0xc0, 0x7f, 0xac,
- 0xa6, 0xd9, 0x6c, 0xa6, 0x75, 0x54, 0x6f, 0x49, 0xe1, 0xcf, 0x0d, 0x34,
- 0xbc, 0xa8, 0x8e, 0xed, 0xb8, 0xdf, 0x6b, 0x47, 0xf7, 0xad, 0xe6, 0x1d,
- 0x18, 0x83, 0xc0, 0x11, 0x04, 0xbe, 0xef, 0xb2, 0xed, 0x9e, 0xe9, 0x07,
- 0xa1, 0x4a, 0x71, 0xd7, 0xf4, 0xbc, 0x98, 0x50, 0x4e, 0x0e, 0x13, 0x3f,
- 0xb6, 0xe5, 0xa2, 0xc0, 0xb3, 0xac, 0xba, 0x62, 0xd4, 0x3c, 0x13, 0x55,
- 0x46, 0xb3, 0xea, 0xd3, 0xc4, 0xa3, 0x8b, 0x4a, 0x92, 0x7f, 0xeb, 0xf3,
- 0xa5, 0x0a, 0xcf, 0xca, 0x82, 0x02, 0x18, 0xe2, 0x02, 0xde, 0xe8, 0x4f,
- 0x58, 0xac, 0x4c, 0xd2, 0xc2, 0xcc, 0x84, 0x39, 0xb1, 0x21, 0x96, 0x63,
- 0x3a, 0x7d, 0x3d, 0x2d, 0x17, 0xf5, 0xfd, 0x46, 0x22, 0xa5, 0x17, 0x84,
- 0xad, 0xbc, 0x11, 0xdc, 0x09, 0x00, 0x38, 0xe3, 0xeb, 0x45, 0xf1, 0x49,
- 0xef, 0x45, 0x02, 0xd6, 0xd7, 0xec, 0x5b, 0xec, 0x34, 0xb7, 0xe1, 0x7d,
- 0xec, 0xdf, 0xfc, 0xb6, 0xa3, 0xb3, 0x0c, 0x4f, 0x24, 0xdb, 0x79, 0x8f,
- 0x33, 0xf4, 0x5c, 0x14, 0x21, 0x66, 0xe5, 0x25, 0xad, 0xf0, 0x92, 0x6d,
- 0x90, 0xee, 0x0d, 0x26, 0x07, 0x55, 0x2f, 0xb9, 0x83, 0x19, 0x40, 0xde,
- 0x2c, 0xc9, 0x95, 0x70, 0xb5, 0x13, 0x39, 0x06, 0xe2, 0x28, 0xbc, 0x98,
- 0x52, 0xc1, 0x96, 0x2a, 0xf0, 0x33, 0xb3, 0x06, 0xc9, 0x99, 0x99, 0xaf,
- 0x7e, 0x10, 0x62, 0xba, 0xf2, 0x9a, 0x4b, 0x7d, 0x2a, 0x46, 0xb9, 0xd6,
- 0x6c, 0xe6, 0x39, 0x80, 0xd0, 0x8c, 0x6e, 0x4f, 0xac, 0x35, 0x19, 0x40,
- 0x4a, 0xd8, 0xb4, 0x44, 0xbe, 0x84, 0x5a, 0x9f, 0xd6, 0x53, 0x4c, 0x1c,
- 0xd0, 0x44, 0x34, 0x40, 0x61, 0x78, 0x35, 0xa6, 0xd9, 0xd7, 0xce, 0x6e,
- 0xce, 0xe0, 0xcc, 0x78, 0xa7, 0x97, 0xe6, 0x03, 0x42, 0xc0, 0x12, 0x42,
- 0xd3, 0x4d, 0xd6, 0x31, 0xba, 0x38, 0x57, 0xde, 0x89, 0x95, 0x38, 0x61,
- 0xdc, 0x2a, 0xec, 0x94, 0x7f, 0xb6, 0xbd, 0xdb, 0xc6, 0x59, 0x5d, 0xdd,
- 0x2b, 0x68, 0xb9, 0xbf, 0xd0, 0x51, 0x6a, 0x3a, 0x11, 0xc8, 0xaf, 0x1f,
- 0x2b, 0x26, 0x4b, 0x5a, 0x13, 0x4f, 0x97, 0x6f, 0xea, 0x65, 0xd3, 0xec,
- 0x8a, 0xc7, 0xf4, 0xea, 0xe4, 0xe8, 0xbb, 0xa3, 0x93, 0xe0, 0x02, 0xfb,
- 0x7a, 0x38, 0xdc, 0xfe, 0x94, 0x55, 0x23, 0x54, 0xb3, 0x23, 0x9f, 0x77,
- 0x82, 0xe7, 0x2c, 0x2c, 0xc8, 0x93, 0xea, 0xb7, 0x8e, 0xcc, 0x41, 0x10,
- 0xc2, 0x81, 0xb1, 0x4f, 0xd0, 0x4f, 0xfe, 0xa4, 0x90, 0x41, 0x23, 0x57,
- 0x45, 0x10, 0x68, 0xb8, 0xa5, 0xc6, 0x55, 0x36, 0xe1, 0x62, 0x6f, 0x21,
- 0xf6, 0xac, 0x20, 0x35, 0x3f, 0x49, 0xde, 0x60, 0x29, 0x19, 0x82, 0x8c,
- 0xe8, 0x87, 0x1d, 0x44, 0xf0, 0xc6, 0x1c, 0x39, 0xd6, 0xc9, 0x1b, 0xf9,
- 0xa6, 0x24, 0x2c, 0xd2, 0x6c, 0x30, 0xd7, 0x13, 0x9b, 0x0c, 0xa7, 0xdf,
- 0xf6, 0x0f, 0x86, 0xfd, 0x37, 0x47, 0x27, 0x47, 0x5f, 0x1f, 0x5c, 0x1c,
- 0x29, 0xe3, 0x31, 0xb9, 0xff, 0x97, 0x28, 0x43, 0x2c, 0xef, 0xbe, 0x95,
- 0x69, 0xc1, 0xf8, 0x89, 0x31, 0xbb, 0xc9, 0x99, 0xc7, 0x5e, 0x83, 0xa7,
- 0x5c, 0x92, 0x94, 0x4c, 0x94, 0x86, 0xd1, 0x65, 0xf1, 0xe6, 0xcc, 0xe9,
- 0x9b, 0xce, 0xa4, 0xab, 0xc1, 0x08, 0xd2, 0xe9, 0x2d, 0x55, 0xb4, 0xf9,
- 0x50, 0x10, 0x06, 0x3b, 0xb7, 0xb9, 0x86, 0x3c, 0x7a, 0x6f, 0xf2, 0xbd,
- 0x99, 0x6d, 0x2d, 0x30, 0x98, 0x81, 0x97, 0x18, 0xef, 0x9a, 0x2c, 0x8c,
- 0xe0, 0xe3, 0x1b, 0x3c, 0xd9, 0x61, 0x20, 0x1e, 0xb8, 0x6c, 0xe1, 0xc2,
- 0xfe, 0x2a, 0x42, 0x6b, 0x41, 0x1b, 0xa8, 0x1e, 0x5f, 0x67, 0x33, 0xd1,
- 0x28, 0x29, 0xb2, 0x8d, 0x08, 0x2a, 0x27, 0xe6, 0x09, 0x93, 0x08, 0x1f,
- 0xf4, 0x51, 0xc6, 0x89, 0xf9, 0x60, 0x4f, 0xa2, 0xcd, 0x1b, 0xc3, 0x88,
- 0xde, 0x12, 0x2f, 0x39, 0x39, 0xe9, 0x09, 0xec, 0x81, 0x0c, 0xd4, 0x01,
- 0x60, 0x69, 0x12, 0x71, 0x8e, 0xc7, 0x98, 0xb9, 0xec, 0x52, 0xf7, 0xf2,
- 0xb7, 0x04, 0xc7, 0x1e, 0x45, 0x29, 0x45, 0x76, 0xf0, 0x23, 0x08, 0x4c,
- 0x55, 0x7d, 0xa9, 0x93, 0xbf, 0xd2, 0xc3, 0x29, 0xb8, 0x76, 0x97, 0x8f,
- 0x97, 0xc0, 0x26, 0x8d, 0xc3, 0x7d, 0xa3, 0x82, 0x41, 0xca, 0xd8, 0x51,
- 0x77, 0xb5, 0xbf, 0x6c, 0xa3, 0x29, 0xfb, 0x32, 0x2f, 0x65, 0x22, 0x67,
- 0x59, 0x28, 0xcb, 0x1f, 0x29, 0x18, 0x5a, 0x9c, 0xe6, 0xc4, 0x21, 0xad,
- 0x7f, 0x0d, 0x99, 0xe7, 0x6d, 0x96, 0x56, 0x3f, 0x9b, 0x07, 0x94, 0xbe,
- 0x9b, 0x6f, 0x95, 0xa5, 0xdb, 0xea, 0x79, 0x7e, 0x99, 0x1a, 0xaf, 0xa6,
- 0xc4, 0xd1, 0xd9, 0x39, 0x17, 0xa6, 0x3d, 0xa1, 0xbf, 0x48, 0xd0, 0xa6,
- 0x8e, 0x71, 0x63, 0x49, 0x95, 0x00, 0x42, 0x33, 0x64, 0xf0, 0xfa, 0xdb,
- 0x58, 0xac, 0x82, 0xd8, 0x18, 0xb7, 0x28, 0x54, 0xcc, 0x72, 0x20, 0x62,
- 0x49, 0x8f, 0x5e, 0x6d, 0x33, 0xea, 0x09, 0x75, 0x41, 0x98, 0x57, 0xd1,
- 0x09, 0xc6, 0x5e, 0xaa, 0x6f, 0xfd, 0x94, 0x7e, 0x49, 0xba, 0x9f, 0x72,
- 0x88, 0x2f, 0x99, 0xc6, 0x16, 0x55, 0x3a, 0x35, 0x4b, 0x6f, 0x26, 0x15,
- 0x2a, 0xe1, 0xa5, 0xa6, 0x2b, 0x83, 0xce, 0x50, 0x51, 0xcb, 0x84, 0xb8,
- 0xf8, 0x42, 0x57, 0x3a, 0xaa, 0xb8, 0x88, 0x5f, 0x4c, 0x00, 0xcd, 0x18,
- 0xb0, 0xc2, 0xb4, 0x7b, 0x12, 0xa2, 0x4e, 0x6d, 0xb8, 0x12, 0x50, 0x73,
- 0xc4, 0xae, 0x03, 0x6d, 0x5b, 0xe0, 0xec, 0x8a, 0x60, 0xca, 0xee, 0x25,
- 0xea, 0xca, 0xca, 0xd9, 0xa5, 0x44, 0xb6, 0x52, 0x70, 0x9d, 0xc2, 0xcc,
- 0x18, 0xb1, 0x36, 0x01, 0x34, 0xd8, 0x75, 0x5a, 0x44, 0x4e, 0x9d, 0x99,
- 0x78, 0x5b, 0x4e, 0x06, 0xa3, 0x94, 0x65, 0x8b, 0x28, 0xd4, 0xb4, 0x37,
- 0x5a, 0x60, 0x62, 0xc2, 0xce, 0xdf, 0x91, 0xc2, 0x9e, 0x93, 0x4b, 0x5c,
- 0xba, 0xc2, 0x33, 0x43, 0x64, 0x3b, 0xba, 0xdf, 0xca, 0xd8, 0xae, 0x12,
- 0xf1, 0xe2, 0x1c, 0xf5, 0xad, 0x2d, 0xb8, 0xc4, 0x05, 0x9c, 0x25, 0x16,
- 0x3b, 0x54, 0x23, 0x39, 0xc3, 0x23, 0xda, 0xa4, 0xf2, 0x8c, 0xed, 0xec,
- 0x0d, 0x2c, 0x1f, 0xee, 0xf5, 0xa2, 0x0b, 0x60, 0xc8, 0x18, 0xaf, 0x6f,
- 0xbe, 0x8d, 0xee, 0x92, 0x57, 0xc6, 0x06, 0xf3, 0x68, 0xf3, 0x04, 0xdf,
- 0x7f, 0x83, 0xce, 0xd1, 0x77, 0xf0, 0x02, 0x4e, 0x3e, 0x51, 0xd4, 0x5c,
- 0x89, 0xbd, 0x24, 0x5b, 0x79, 0x94, 0x99, 0xef, 0xe5, 0x54, 0x3e, 0xc8,
- 0x2f, 0xbf, 0x15, 0xc2, 0x63, 0x6b, 0xb3, 0x01, 0x01, 0x28, 0x2f, 0xd9,
- 0x1f, 0x43, 0xef, 0x52, 0x28, 0x3e, 0x4b, 0xfc, 0xda, 0x5b, 0xd8, 0x10,
- 0xd0, 0xde, 0xcf, 0x7a, 0x12, 0x0a, 0x03, 0x2c, 0x2e, 0x88, 0x28, 0x9b,
- 0x09, 0x1c, 0x5b, 0x4e, 0x1e, 0x7d, 0x32, 0xad, 0x6f, 0xe2, 0x27, 0xbc,
- 0xbe, 0x89, 0x9e, 0xf0, 0x47, 0x9c, 0x73, 0x67, 0xfb, 0x1c, 0x9d, 0x0d,
- 0xbf, 0x4b, 0x96, 0xf0, 0x0a, 0x70, 0xc5, 0x07, 0x3e, 0xe2, 0x6e, 0x74,
- 0xb4, 0xe9, 0xfd, 0x63, 0xbe, 0xfc, 0x9c, 0x47, 0xdd, 0xf5, 0xc1, 0x39,
- 0x37, 0xdf, 0x97, 0xc3, 0x7d, 0x76, 0x30, 0xfc, 0xce, 0x3b, 0xd6, 0xde,
- 0x16, 0x88, 0xe5, 0xf1, 0x59, 0x44, 0x34, 0xc5, 0x17, 0x79, 0xeb, 0x50,
- 0x63, 0xd1, 0xfd, 0x5e, 0xdf, 0x3c, 0x66, 0xbf, 0x9b, 0x9e, 0x04, 0xfb,
- 0x3d, 0x98, 0xe3, 0x55, 0xfb, 0xdd, 0x5f, 0xa8, 0x36, 0xd8, 0xd2, 0xdb,
- 0xed, 0x05, 0x17, 0x20, 0xbd, 0x46, 0xe1, 0xec, 0xf8, 0x36, 0xa7, 0x18,
- 0x94, 0x6c, 0xed, 0x10, 0x8b, 0x86, 0x7e, 0xfe, 0xb2, 0x8d, 0x6e, 0x5e,
- 0x08, 0x36, 0xba, 0xae, 0x67, 0x7c, 0xa7, 0x2f, 0xdb, 0xe8, 0x0a, 0x45,
- 0xcd, 0x78, 0x93, 0xfb, 0x7b, 0x3c, 0xdc, 0xdf, 0xde, 0xae, 0xf5, 0x33,
- 0x88, 0xc3, 0x19, 0x52, 0xa0, 0x12, 0x23, 0x8e, 0x68, 0x97, 0x38, 0x3e,
- 0x80, 0x08, 0xff, 0x84, 0x66, 0xf7, 0x73, 0x2e, 0x65, 0xe8, 0x5d, 0xb7,
- 0x59, 0xdd, 0x2d, 0xd4, 0x7c, 0xa5, 0xba, 0x34, 0x6e, 0x71, 0x5c, 0xdb,
- 0x30, 0xd5, 0xfd, 0x5c, 0xf4, 0xcb, 0xe0, 0x44, 0xb6, 0x58, 0x66, 0xb2,
- 0x68, 0x62, 0x73, 0x9d, 0x11, 0x44, 0x00, 0xc4, 0x54, 0xad, 0x73, 0x5a,
- 0xd4, 0x7d, 0x57, 0x20, 0xf6, 0x95, 0xfd, 0x6b, 0xa0, 0xa5, 0xbf, 0x79,
- 0x3f, 0xec, 0x1c, 0xd7, 0x3a, 0x63, 0x60, 0xfe, 0x15, 0x8e, 0x9e, 0xf9,
- 0xbd, 0xcd, 0xa7, 0xa9, 0x5d, 0x41, 0x26, 0x69, 0x32, 0xc8, 0x98, 0xa6,
- 0x4f, 0x0c, 0x3a, 0x09, 0x89, 0x92, 0x05, 0x8a, 0x9a, 0xc6, 0xf0, 0xf7,
- 0x91, 0xcf, 0xc5, 0xeb, 0x9d, 0x64, 0x14, 0x93, 0x27, 0x25, 0xc6, 0x27,
- 0xc3, 0x42, 0x96, 0xfa, 0xa9, 0xb5, 0x21, 0x85, 0xe5, 0x58, 0xd8, 0x9e,
- 0x6c, 0x2d, 0x99, 0x22, 0xf1, 0x6a, 0xe2, 0xc6, 0x22, 0x33, 0x9b, 0xc2,
- 0x4f, 0x23, 0x90, 0x9d, 0xad, 0x95, 0xda, 0x14, 0x4f, 0xe1, 0xfc, 0xe6,
- 0x69, 0x9f, 0x1e, 0x57, 0xe5, 0x49, 0x7e, 0xf8, 0x1c, 0x3f, 0x1c, 0x74,
- 0x27, 0x3a, 0xb0, 0x35, 0xa5, 0x80, 0x9b, 0xf5, 0x32, 0x2e, 0x8a, 0x09,
- 0x51, 0xdb, 0x53, 0xb7, 0x95, 0x9e, 0xfc, 0x36, 0x75, 0x94, 0xfc, 0xc8,
- 0xf6, 0x67, 0x1e, 0x18, 0xb3, 0x97, 0xba, 0x93, 0x9b, 0xa2, 0x04, 0xbc,
- 0xe7, 0x51, 0x7c, 0xd2, 0x0d, 0xbf, 0xb5, 0x7a, 0xfc, 0x4a, 0x86, 0x19,
- 0x5f, 0x72, 0x5e, 0x73, 0xcf, 0x92, 0x1f, 0xe5, 0x5c, 0x4f, 0xe6, 0x55,
- 0x3e, 0xef, 0xeb, 0x9b, 0x2c, 0x84, 0x67, 0xe9, 0x27, 0xb9, 0x1a, 0x9f,
- 0xd2, 0x32, 0x44, 0x06, 0xc9, 0xf5, 0x1e, 0xfd, 0xc0, 0x0e, 0x6d, 0x1b,
- 0xbb, 0x6b, 0x44, 0x65, 0x69, 0x2c, 0x27, 0x22, 0xcc, 0x1b, 0xfe, 0x46,
- 0x2c, 0xdf, 0x46, 0x21, 0xb2, 0xbe, 0xcf, 0x42, 0xb1, 0xf5, 0xe8, 0x85,
- 0x7d, 0xf7, 0xc1, 0xf5, 0x73, 0xfb, 0x61, 0xd5, 0xfa, 0xe9, 0x9c, 0xfd,
- 0xf7, 0x58, 0xbf, 0xe7, 0xbf, 0xdb, 0xfa, 0x3d, 0xff, 0x6f, 0xb1, 0x7e,
- 0xcf, 0xff, 0xf9, 0xf5, 0x7b, 0xda, 0x5d, 0xbf, 0xe7, 0xff, 0x5d, 0xd6,
- 0x4f, 0x2b, 0x19, 0xe9, 0xea, 0x65, 0xc1, 0xfa, 0x91, 0x27, 0x44, 0x50,
- 0xfa, 0x79, 0x2d, 0xb5, 0x79, 0x69, 0xba, 0xf5, 0x4d, 0x0e, 0x3c, 0x08,
- 0xd6, 0x8c, 0x3d, 0xbb, 0x0a, 0x79, 0x44, 0x8e, 0x7f, 0x9c, 0x17, 0x55,
- 0x8a, 0xdb, 0x28, 0xb3, 0xda, 0xf1, 0x59, 0x62, 0x3b, 0xe0, 0x2d, 0x83,
- 0xe3, 0x33, 0x82, 0x92, 0x13, 0x75, 0xb9, 0xd6, 0xe4, 0x87, 0x33, 0x13,
- 0xc0, 0xa9, 0x6d, 0xb5, 0xcb, 0xc9, 0x8c, 0x11, 0x16, 0x99, 0xc9, 0xdb,
- 0x7f, 0x45, 0xf3, 0xd5, 0xe7, 0xc7, 0xbf, 0x88, 0x26, 0x1a, 0xa1, 0x60,
- 0xa4, 0xeb, 0x52, 0xcc, 0xcd, 0xee, 0x4d, 0xdd, 0xa3, 0x97, 0x6d, 0x59,
- 0x4d, 0x1d, 0x5d, 0xc2, 0x71, 0xff, 0xa1, 0x25, 0x7b, 0x03, 0xcd, 0x60,
- 0x31, 0x9b, 0x4b, 0x02, 0xe2, 0x03, 0x09, 0x58, 0xd0, 0x3f, 0xb7, 0x92,
- 0xef, 0x91, 0x5d, 0xc5, 0x9e, 0x55, 0xc9, 0x4a, 0xb0, 0xd5, 0xce, 0x15,
- 0x88, 0xad, 0x61, 0x8b, 0x25, 0x4c, 0x49, 0x51, 0xd2, 0x9a, 0x4e, 0x7a,
- 0x31, 0x23, 0xe7, 0x6d, 0xf9, 0xf0, 0xac, 0xf0, 0x35, 0x24, 0xe5, 0x86,
- 0xc4, 0x46, 0x92, 0x8f, 0x46, 0x69, 0x5a, 0xe9, 0x5a, 0xe4, 0x8c, 0x0c,
- 0xea, 0x34, 0x53, 0x8e, 0x99, 0xd7, 0x4d, 0x53, 0x03, 0x49, 0xcb, 0xf0,
- 0x8a, 0x6f, 0x6b, 0xef, 0xc1, 0x02, 0x13, 0x83, 0x12, 0xab, 0x2a, 0x03,
- 0xbb, 0x50, 0xf2, 0xfb, 0x2d, 0x81, 0x4b, 0x71, 0xa3, 0x20, 0x7d, 0x82,
- 0x3e, 0xb4, 0x4a, 0x17, 0xf4, 0x47, 0x61, 0xaa, 0x8d, 0xc2, 0x38, 0x79,
- 0xc4, 0x7f, 0xc0, 0xfe, 0x5d, 0x02, 0xe2, 0x66, 0x1d, 0xc2, 0xb7, 0x43,
- 0x83, 0x35, 0xf7, 0x21, 0xe2, 0x83, 0xb5, 0x55, 0xf0, 0x4d, 0xc6, 0x05,
- 0x5e, 0x67, 0x7e, 0xba, 0xa3, 0xe5, 0x8a, 0x63, 0x87, 0x30, 0x03, 0x8f,
- 0xcc, 0xe0, 0x04, 0xc5, 0x16, 0x94, 0x81, 0x40, 0x46, 0xb3, 0xcc, 0xd6,
- 0xba, 0x30, 0xb0, 0x2c, 0x84, 0x23, 0x32, 0xa5, 0x0d, 0x01, 0x96, 0x90,
- 0x7f, 0x61, 0x7a, 0xa1, 0x87, 0xea, 0xf4, 0x45, 0x52, 0x76, 0xc5, 0xb1,
- 0xd0, 0x55, 0x08, 0xc2, 0x0e, 0x59, 0x12, 0x73, 0x9c, 0x5a, 0xba, 0x24,
- 0xb8, 0x64, 0x8a, 0xa6, 0x2a, 0xe7, 0xf7, 0xc9, 0xd7, 0x29, 0x0d, 0x0b,
- 0x6a, 0x61, 0x9a, 0xcd, 0x82, 0xe4, 0x12, 0x2e, 0x8b, 0x29, 0x5a, 0x1a,
- 0x97, 0xc8, 0xd4, 0x11, 0x42, 0xaf, 0xe4, 0x69, 0x31, 0x72, 0xd9, 0xcc,
- 0x17, 0xf9, 0xf3, 0x04, 0xf6, 0xcd, 0xb0, 0xc9, 0xe1, 0xf0, 0x24, 0x54,
- 0xa6, 0xb5, 0xdc, 0xc4, 0xca, 0x64, 0x62, 0xb4, 0xd6, 0x6f, 0x9f, 0x28,
- 0x33, 0x72, 0x6e, 0xfc, 0x55, 0xf4, 0x30, 0xcb, 0xb8, 0xb3, 0xa9, 0xe6,
- 0xdb, 0x0b, 0x51, 0x7f, 0x32, 0xae, 0xee, 0xe7, 0x64, 0xa0, 0x49, 0xf6,
- 0x1c, 0x9f, 0x3d, 0xea, 0x1f, 0xb3, 0x35, 0xae, 0xcc, 0x57, 0xfc, 0x80,
- 0x08, 0x99, 0xbc, 0x0a, 0x41, 0x4c, 0xc1, 0x4c, 0x62, 0x2f, 0x25, 0x62,
- 0x1a, 0x11, 0xcc, 0x24, 0xb3, 0x26, 0x60, 0x62, 0x70, 0x64, 0xa2, 0x01,
- 0xdd, 0x18, 0x8a, 0xc9, 0x74, 0xa8, 0xcb, 0xe1, 0xd6, 0x41, 0x3a, 0x26,
- 0xd1, 0x63, 0xc3, 0xa3, 0xbd, 0xa5, 0x17, 0x83, 0xbc, 0xd1, 0x29, 0x73,
- 0xac, 0x22, 0xd8, 0x32, 0x5b, 0xa7, 0x94, 0x9a, 0x5d, 0x04, 0x34, 0x10,
- 0x1c, 0xf2, 0xde, 0xdd, 0xd9, 0x79, 0x90, 0xdf, 0x43, 0xdc, 0xbf, 0x2b,
- 0x69, 0x3e, 0x48, 0x46, 0xb1, 0x8f, 0xd9, 0x26, 0xa3, 0xa6, 0xb9, 0x24,
- 0x1c, 0x74, 0x19, 0x91, 0xcc, 0x27, 0x2d, 0xdd, 0x86, 0x3b, 0x82, 0x2c,
- 0xeb, 0x98, 0x06, 0x07, 0x64, 0x1f, 0x46, 0x84, 0x1d, 0xa1, 0x8f, 0xf5,
- 0x7e, 0xeb, 0x9d, 0x68, 0xed, 0x4f, 0xea, 0x10, 0xbd, 0x24, 0xda, 0xcb,
- 0x20, 0xf9, 0xea, 0xde, 0x19, 0x4e, 0x90, 0x53, 0xec, 0x90, 0x43, 0xaf,
- 0xd8, 0xd5, 0x2a, 0x95, 0xe7, 0x57, 0x91, 0xaa, 0xc4, 0x39, 0x3c, 0xfe,
- 0xc0, 0x82, 0x05, 0xcd, 0x1a, 0x01, 0x34, 0xaf, 0xd1, 0x2a, 0xa8, 0x00,
- 0xe2, 0x1e, 0x03, 0x3b, 0x5a, 0x73, 0x7b, 0x75, 0x4b, 0x5f, 0x78, 0x55,
- 0x2c, 0xf8, 0x52, 0x59, 0x49, 0xbc, 0xda, 0x66, 0x64, 0x69, 0xa3, 0xf2,
- 0x3e, 0x6b, 0xab, 0x25, 0x94, 0x13, 0xd9, 0x47, 0xe6, 0x63, 0x37, 0xdd,
- 0x9b, 0x92, 0x25, 0x49, 0x76, 0x11, 0x95, 0x89, 0x1a, 0x99, 0x52, 0x80,
- 0xd5, 0x98, 0xbf, 0x0c, 0x83, 0xd0, 0x5c, 0x89, 0x0e, 0xd1, 0xa4, 0x2f,
- 0x58, 0x95, 0x22, 0x5b, 0x4f, 0xfa, 0xa4, 0xf4, 0x78, 0x67, 0x6c, 0x7a,
- 0x4c, 0xc7, 0x96, 0x66, 0x63, 0x3a, 0xc2, 0x42, 0xc5, 0xcb, 0xa3, 0x9e,
- 0x1a, 0xe8, 0x64, 0x9c, 0xe5, 0x89, 0x70, 0x31, 0x54, 0x09, 0xd6, 0x3d,
- 0x3e, 0x9c, 0x9f, 0xf4, 0x12, 0x29, 0x1b, 0x4b, 0x80, 0x4f, 0xb3, 0xd2,
- 0x71, 0xdd, 0xc8, 0x91, 0x22, 0x31, 0x07, 0x1e, 0x8f, 0xa5, 0x76, 0x64,
- 0x4e, 0x24, 0xb6, 0xe1, 0xfc, 0x34, 0x4d, 0xd6, 0x8a, 0x90, 0x09, 0x5d,
- 0x52, 0x5e, 0x6a, 0xa5, 0x79, 0x90, 0xd8, 0x25, 0xea, 0x05, 0xdc, 0x87,
- 0xda, 0x69, 0xcb, 0x9f, 0x24, 0xcf, 0x4a, 0xda, 0x29, 0x39, 0x2b, 0x22,
- 0xb9, 0xab, 0x12, 0x8a, 0x24, 0xea, 0xb5, 0x04, 0xcb, 0x83, 0xec, 0xd5,
- 0x45, 0xe5, 0x05, 0x24, 0xd7, 0xaf, 0x73, 0xb3, 0xae, 0xc5, 0x3a, 0xee,
- 0xd3, 0x7a, 0x31, 0x62, 0xca, 0xc0, 0x06, 0x1f, 0x8e, 0xc1, 0x83, 0x09,
- 0x5f, 0xe7, 0xbc, 0x63, 0xf1, 0x9a, 0xb0, 0x2d, 0x10, 0x6c, 0x2f, 0x69,
- 0x1d, 0x0a, 0x55, 0x38, 0xb9, 0x6b, 0x2e, 0x73, 0x36, 0x5a, 0x63, 0x81,
- 0x77, 0x8a, 0x4b, 0xa6, 0xa1, 0xd3, 0x8f, 0x9a, 0x29, 0x3d, 0xbf, 0x6e,
- 0x81, 0xf3, 0xf6, 0xa5, 0x33, 0xf2, 0x01, 0xb0, 0xc2, 0x4b, 0x13, 0x1d,
- 0x57, 0x57, 0x2a, 0xcb, 0xb7, 0x10, 0xe1, 0xfe, 0x14, 0xac, 0x53, 0x7a,
- 0x8f, 0xac, 0x01, 0xfb, 0x69, 0xec, 0xf0, 0x80, 0xc0, 0x89, 0xc8, 0xcc,
- 0x4a, 0xe8, 0x8e, 0xb2, 0x97, 0x89, 0x1b, 0x6f, 0x5c, 0xe5, 0xf3, 0x86,
- 0xc3, 0xbf, 0x02, 0x38, 0x7d, 0x48, 0x0d, 0xbb, 0x9a, 0x96, 0xa3, 0x94,
- 0xcf, 0x89, 0x05, 0x7b, 0xa8, 0xdb, 0xa9, 0x45, 0x2c, 0x0a, 0x1e, 0x6c,
- 0xb3, 0x3d, 0x23, 0x89, 0x3a, 0x66, 0xc8, 0xfd, 0x7d, 0x94, 0xf2, 0xa5,
- 0x78, 0xd4, 0xaa, 0x0f, 0xda, 0x4f, 0x30, 0x7d, 0x57, 0xff, 0xb2, 0x27,
- 0x27, 0x58, 0x0b, 0xb4, 0x01, 0x2b, 0x53, 0x7b, 0xe7, 0x2a, 0x50, 0x85,
- 0x90, 0x03, 0x3d, 0x59, 0x64, 0x6d, 0xe8, 0xcc, 0x86, 0x44, 0xeb, 0xa4,
- 0xd8, 0x10, 0xe0, 0x1b, 0x20, 0x14, 0x07, 0x19, 0x29, 0x47, 0xc5, 0xa2,
- 0xb0, 0x10, 0x22, 0xf2, 0x14, 0x18, 0x87, 0x2b, 0x6f, 0x5d, 0xd0, 0xcd,
- 0xe4, 0x3a, 0xa7, 0x88, 0x44, 0x6f, 0xae, 0x38, 0x2b, 0xba, 0x0a, 0x2a,
- 0x34, 0x5f, 0xb2, 0x9e, 0x06, 0x9c, 0x27, 0xaf, 0xc9, 0x8a, 0x99, 0xf1,
- 0x29, 0x81, 0xf7, 0x5a, 0x52, 0xcd, 0x7e, 0x3a, 0x7e, 0x45, 0x41, 0xb4,
- 0xd5, 0xa4, 0xcb, 0x93, 0x93, 0x75, 0x93, 0x0a, 0xa4, 0x73, 0xf6, 0x4a,
- 0x8a, 0xf8, 0x2f, 0xb8, 0xed, 0x94, 0x86, 0x97, 0xa5, 0x41, 0x3c, 0xb3,
- 0x86, 0x4e, 0x8a, 0x94, 0x6c, 0x47, 0x85, 0x6a, 0xac, 0x39, 0xb4, 0x50,
- 0x71, 0xdc, 0xea, 0x86, 0xca, 0x9a, 0xb1, 0xf7, 0xcb, 0x49, 0x96, 0x4e,
- 0x63, 0xd4, 0xf6, 0xd4, 0x61, 0xf2, 0x36, 0xb2, 0x70, 0x23, 0x8e, 0x83,
- 0x42, 0xfc, 0xd6, 0x82, 0x3b, 0x65, 0xd8, 0x55, 0x21, 0x59, 0x9d, 0xda,
- 0x43, 0x9c, 0xaa, 0x88, 0xa1, 0x43, 0x05, 0x16, 0xf0, 0x00, 0xf2, 0xff,
- 0xc6, 0x92, 0x57, 0x0c, 0x29, 0xea, 0x20, 0xf4, 0xd0, 0xff, 0xdf, 0x9d,
- 0xd8, 0x07, 0xb0, 0x03, 0x80, 0x11, 0xee, 0x36, 0x27, 0x8e, 0x38, 0xce,
- 0xeb, 0xc2, 0x45, 0xa3, 0x50, 0x76, 0xea, 0x18, 0xc3, 0x0d, 0x48, 0x4c,
- 0x6e, 0xc9, 0x39, 0x44, 0xb8, 0x5b, 0x24, 0xc7, 0x3c, 0x5c, 0xe9, 0x9b,
- 0x4c, 0xa1, 0x22, 0xb0, 0x2f, 0x78, 0x01, 0x1a, 0x9b, 0xee, 0x46, 0xad,
- 0x89, 0x9c, 0x61, 0x21, 0xb3, 0xb7, 0xb7, 0x84, 0xfa, 0x40, 0x8a, 0xd9,
- 0xca, 0x1e, 0xc3, 0x61, 0xaf, 0xd3, 0x4b, 0x5b, 0x67, 0x5a, 0x04, 0x78,
- 0x39, 0x36, 0x53, 0x88, 0x48, 0x19, 0x18, 0x45, 0x48, 0x43, 0x0a, 0x02,
- 0x69, 0x2c, 0xae, 0x49, 0x4a, 0xda, 0x6b, 0x97, 0x0e, 0x82, 0xc2, 0x27,
- 0xeb, 0x69, 0x3e, 0xb7, 0x3e, 0xce, 0x1e, 0x31, 0xb5, 0x32, 0x8c, 0x83,
- 0x02, 0xb4, 0xb7, 0x21, 0x2b, 0x61, 0xa7, 0xe6, 0xae, 0x10, 0x58, 0x4e,
- 0x49, 0xfd, 0xdf, 0xec, 0xb4, 0xff, 0x74, 0x67, 0x17, 0xdd, 0x7d, 0xba,
- 0xf3, 0xd9, 0x56, 0xfb, 0x6e, 0x9e, 0xd6, 0x59, 0x1f, 0x38, 0x9e, 0xb8,
- 0x8e, 0xca, 0xd5, 0x84, 0x9c, 0x9f, 0x07, 0xfa, 0x28, 0xbd, 0x24, 0xe0,
- 0x9f, 0xc9, 0xa2, 0x52, 0x44, 0x1c, 0x15, 0x98, 0x22, 0x9b, 0xb1, 0xbe,
- 0x26, 0xde, 0xb4, 0xe0, 0xae, 0x77, 0xef, 0xc0, 0x98, 0x82, 0x0b, 0x9d,
- 0x67, 0xca, 0xec, 0x1e, 0x7a, 0xd7, 0x16, 0x26, 0x92, 0xc9, 0x60, 0x70,
- 0x11, 0x59, 0x8c, 0x21, 0x87, 0xad, 0x4f, 0x16, 0xc5, 0x49, 0x08, 0x1c,
- 0x45, 0x69, 0x57, 0x85, 0xb4, 0x92, 0xe7, 0x6d, 0x5e, 0xe4, 0xf5, 0x35,
- 0xaa, 0x49, 0xd6, 0x75, 0x7a, 0x95, 0x85, 0x69, 0xaa, 0x46, 0x24, 0x19,
- 0xc3, 0x49, 0xaa, 0xbe, 0x83, 0x43, 0x9a, 0xb0, 0x38, 0x7c, 0x1e, 0x04,
- 0xc6, 0x2f, 0x65, 0x90, 0x16, 0x08, 0x54, 0xd8, 0x61, 0x2e, 0xa9, 0xd8,
- 0xee, 0x8a, 0x73, 0x2d, 0xab, 0xcd, 0x45, 0x05, 0x63, 0xc0, 0x70, 0xc3,
- 0xa5, 0x3c, 0xb8, 0x96, 0x47, 0x80, 0xd8, 0x23, 0x3f, 0xc2, 0x26, 0x2d,
- 0xee, 0xe9, 0xd0, 0x08, 0x21, 0x57, 0x48, 0x12, 0xa8, 0x28, 0xf3, 0xb3,
- 0x1f, 0x8c, 0x46, 0x3a, 0x78, 0x69, 0x7f, 0xbc, 0xf5, 0xb8, 0x62, 0x5e,
- 0x7b, 0x1d, 0x0d, 0x8d, 0xe0, 0x89, 0xe2, 0xce, 0x86, 0xc1, 0xf2, 0x9a,
- 0xff, 0xb1, 0xc4, 0x09, 0x81, 0xac, 0xb1, 0xe4, 0xf8, 0xdd, 0x01, 0x18,
- 0x61, 0x1c, 0x47, 0xab, 0x0f, 0xe3, 0xf1, 0xb3, 0x6c, 0x50, 0xd9, 0x8c,
- 0x14, 0xd6, 0x28, 0x45, 0x97, 0x65, 0xd5, 0x64, 0x50, 0x55, 0x8b, 0x34,
- 0x99, 0xe9, 0xba, 0xa7, 0x54, 0xc3, 0x85, 0x4e, 0x81, 0x91, 0x91, 0x27,
- 0x19, 0x97, 0xb5, 0x48, 0x36, 0xbe, 0xdc, 0x88, 0xe4, 0xe3, 0x6c, 0xbc,
- 0xf2, 0x08, 0x82, 0xeb, 0x9e, 0xa5, 0x3c, 0xdf, 0xf8, 0x9c, 0x70, 0x9a,
- 0x44, 0x8a, 0xc0, 0xdf, 0x94, 0x35, 0x60, 0xc8, 0x61, 0x3c, 0xba, 0xaa,
- 0x10, 0x2a, 0x61, 0xf8, 0x6a, 0xa3, 0x38, 0xb8, 0x3e, 0x29, 0xb1, 0x27,
- 0x77, 0xc6, 0xad, 0x3a, 0xdd, 0x46, 0x40, 0x79, 0x43, 0x50, 0x66, 0x26,
- 0xdb, 0x90, 0x32, 0x9e, 0xae, 0xc4, 0x1c, 0xf7, 0x89, 0x3b, 0x03, 0x77,
- 0xd7, 0x78, 0x9c, 0x93, 0xee, 0x82, 0x93, 0x6f, 0x7e, 0x79, 0x75, 0x15,
- 0xc5, 0x9a, 0x98, 0x29, 0xa0, 0x85, 0xa7, 0x31, 0x5f, 0x66, 0x69, 0x03,
- 0x8d, 0x83, 0x6e, 0xfa, 0xe5, 0x78, 0x52, 0xa7, 0xc1, 0x47, 0x9e, 0xf1,
- 0x46, 0xf1, 0xca, 0x47, 0xed, 0xc7, 0x77, 0x01, 0x36, 0x01, 0xef, 0x01,
- 0xe2, 0xe4, 0xc3, 0xcf, 0xac, 0x17, 0xea, 0x32, 0x35, 0x9b, 0xe2, 0x5e,
- 0x22, 0x7c, 0x53, 0xa0, 0xab, 0x59, 0x82, 0x64, 0xb3, 0x45, 0x77, 0x8b,
- 0x4f, 0x15, 0xad, 0xc8, 0xa0, 0x5e, 0xa2, 0xfe, 0x67, 0xfc, 0x67, 0xc2,
- 0x54, 0xd9, 0xc4, 0x32, 0x66, 0x71, 0xc0, 0x89, 0x72, 0xdf, 0x3b, 0x78,
- 0x6f, 0x50, 0xbb, 0xd9, 0x03, 0xfb, 0x8a, 0xb2, 0xa2, 0x96, 0x20, 0xf0,
- 0xca, 0x02, 0x49, 0xf7, 0xbd, 0x43, 0x87, 0x82, 0xe5, 0xbd, 0x08, 0xb1,
- 0xbc, 0x6c, 0x48, 0x18, 0x49, 0xb4, 0x8d, 0x43, 0xc2, 0x20, 0xeb, 0x31,
- 0x51, 0x51, 0x40, 0xc8, 0x94, 0xc9, 0xf9, 0xdb, 0xc3, 0x64, 0xef, 0xc9,
- 0x8b, 0x17, 0x83, 0x28, 0x53, 0x21, 0x27, 0x58, 0x9a, 0x4d, 0x48, 0x33,
- 0xe5, 0x58, 0xed, 0x7a, 0x96, 0x9f, 0x94, 0xbe, 0x4f, 0x3b, 0x8c, 0xf9,
- 0xc1, 0x67, 0x44, 0x41, 0x42, 0xc2, 0x71, 0x31, 0x0d, 0x8d, 0x7c, 0xc4,
- 0xae, 0x66, 0xa4, 0x58, 0x88, 0x14, 0x83, 0x82, 0x45, 0x52, 0x63, 0x96,
- 0x2f, 0x51, 0xea, 0x32, 0xc1, 0x49, 0x31, 0x7e, 0x4e, 0x98, 0xbd, 0x04,
- 0xbc, 0xc7, 0x48, 0x48, 0xa3, 0x37, 0x00, 0xf6, 0xcb, 0xc1, 0x77, 0x9e,
- 0x8e, 0x8d, 0x48, 0x3a, 0x25, 0xcd, 0xcf, 0x46, 0xa2, 0xe1, 0xb3, 0x51,
- 0x66, 0x33, 0xa4, 0xb9, 0x50, 0x4e, 0x87, 0xc5, 0x82, 0x93, 0x3e, 0x0b,
- 0xca, 0x94, 0x21, 0x4e, 0x7a, 0xf3, 0x81, 0x4e, 0x73, 0xc8, 0x71, 0xbc,
- 0xca, 0x9a, 0x30, 0xbb, 0xc3, 0x83, 0x59, 0xae, 0x68, 0x3c, 0x66, 0x19,
- 0x49, 0x72, 0x4a, 0xf2, 0x4a, 0x0b, 0xad, 0x6b, 0x79, 0x7a, 0x1a, 0x98,
- 0xf2, 0xb8, 0x7f, 0x89, 0xd5, 0x78, 0x25, 0x53, 0x2f, 0xc9, 0x5a, 0x5f,
- 0x46, 0x29, 0x8a, 0x04, 0xeb, 0x09, 0xbe, 0x9c, 0xa6, 0x31, 0x8a, 0xb5,
- 0x93, 0xdd, 0x00, 0xd6, 0x82, 0x1a, 0x45, 0xa0, 0x9f, 0x3c, 0xc1, 0x0c,
- 0xa0, 0x9b, 0xc6, 0xb8, 0x03, 0x5f, 0xd9, 0x46, 0xa5, 0x28, 0x01, 0x61,
- 0x9b, 0xa9, 0x2b, 0xb1, 0x99, 0x50, 0xa6, 0x61, 0x92, 0x0f, 0xe6, 0xe9,
- 0xc0, 0xee, 0xa1, 0x77, 0xbd, 0x79, 0x0a, 0xd7, 0xde, 0x8f, 0xa7, 0x4a,
- 0x4e, 0x3c, 0x4f, 0xb1, 0xc3, 0xc4, 0xfa, 0xce, 0x7d, 0x19, 0xa9, 0x75,
- 0x9a, 0x76, 0x5d, 0xa5, 0x34, 0x54, 0x97, 0x8b, 0x89, 0x9d, 0x75, 0x55,
- 0x66, 0xdc, 0x4b, 0x24, 0xc6, 0xeb, 0xac, 0x92, 0xc7, 0xb2, 0xa9, 0x16,
- 0x63, 0x52, 0x2d, 0x61, 0x9a, 0xe3, 0x53, 0xb1, 0xe2, 0x39, 0x94, 0x41,
- 0xd1, 0x1a, 0x31, 0x4a, 0x5c, 0x61, 0xbd, 0x30, 0xcb, 0xca, 0xe7, 0x25,
- 0x90, 0x34, 0xea, 0x9a, 0xea, 0x20, 0xcb, 0x48, 0x83, 0xc1, 0x0c, 0x46,
- 0x68, 0xa5, 0x7f, 0x48, 0xb8, 0x46, 0xc9, 0x5e, 0x53, 0x25, 0x39, 0x82,
- 0xb7, 0x23, 0x23, 0xe6, 0xed, 0xe4, 0x0d, 0xd5, 0x83, 0xc3, 0x8d, 0x1e,
- 0xc9, 0x77, 0xdb, 0xa8, 0x5b, 0x90, 0x5f, 0xbe, 0x98, 0x48, 0x9f, 0xab,
- 0xb2, 0xab, 0x05, 0x5d, 0x76, 0x98, 0xae, 0x4d, 0x65, 0x40, 0xd4, 0x27,
- 0x92, 0x79, 0x1e, 0xc8, 0x0f, 0x12, 0x02, 0x62, 0xe8, 0x71, 0xa5, 0xb7,
- 0x45, 0x61, 0x66, 0xad, 0x59, 0x50, 0x38, 0x6b, 0xca, 0xd5, 0x48, 0x8c,
- 0x18, 0xfb, 0x1b, 0xfc, 0x80, 0xa5, 0xcc, 0x00, 0x33, 0xe8, 0x4f, 0x62,
- 0x99, 0x0a, 0x44, 0xcb, 0x88, 0x80, 0xb4, 0xd1, 0xbb, 0xc1, 0x4a, 0x44,
- 0x61, 0xfd, 0x46, 0xa5, 0x00, 0xd7, 0x84, 0x22, 0x9f, 0xcc, 0xe7, 0x14,
- 0xef, 0x1a, 0x73, 0x90, 0x00, 0x1a, 0x0b, 0x66, 0x25, 0xc4, 0xf4, 0x15,
- 0xa0, 0x34, 0x4b, 0x54, 0x7d, 0xf2, 0x99, 0xee, 0x58, 0x01, 0xa3, 0xb8,
- 0x1c, 0x0d, 0x93, 0x93, 0x3e, 0x84, 0xbd, 0x83, 0x0a, 0xc8, 0x13, 0xa8,
- 0xbc, 0x0e, 0x0b, 0xc3, 0xe2, 0x1e, 0x60, 0xd5, 0xfa, 0x6f, 0xd6, 0xea,
- 0x25, 0xe1, 0x17, 0xe1, 0x41, 0x01, 0xf3, 0xe3, 0x3e, 0x07, 0xfc, 0x51,
- 0x7d, 0x4a, 0x64, 0x9a, 0xda, 0x1f, 0x9a, 0x34, 0xc2, 0x5a, 0xe2, 0x86,
- 0x91, 0x9e, 0x34, 0xef, 0x1b, 0x72, 0x76, 0x63, 0xe4, 0x1b, 0xce, 0xd8,
- 0x87, 0xb4, 0xe6, 0x93, 0x62, 0xb9, 0xea, 0xac, 0x18, 0x21, 0xad, 0xaa,
- 0x4a, 0x8d, 0xd0, 0xfc, 0xdb, 0xfc, 0x6a, 0x09, 0x2d, 0x1a, 0x17, 0xb8,
- 0x30, 0x06, 0x43, 0x58, 0x56, 0x07, 0xfb, 0xb0, 0xff, 0x36, 0x91, 0xfe,
- 0xbc, 0xfe, 0xb2, 0xd5, 0x9c, 0xb2, 0xcf, 0xfb, 0xe4, 0xca, 0x02, 0x5f,
- 0x1e, 0x5f, 0xe5, 0x0f, 0x4c, 0x02, 0x33, 0x93, 0x5b, 0x68, 0x67, 0x7d,
- 0x5d, 0x66, 0xb2, 0x72, 0x05, 0xec, 0x60, 0x5b, 0x30, 0xc5, 0x8c, 0xab,
- 0x8e, 0xd2, 0xe2, 0xab, 0xd2, 0xbb, 0xbc, 0xdb, 0xb8, 0xda, 0xff, 0xa3,
- 0xbc, 0x2e, 0xe8, 0x1f, 0xf4, 0x05, 0xfa, 0xc0, 0xeb, 0xdd, 0xdd, 0x68,
- 0xcf, 0x97, 0xf6, 0x97, 0x3b, 0xac, 0x3d, 0xa6, 0xfb, 0x48, 0xc0, 0x7a,
- 0x9e, 0x78, 0x6b, 0xd9, 0xff, 0x03, 0xe4, 0x12, 0x85, 0xfe, 0x36, 0x9c,
- 0x1f, 0x10, 0x0b, 0x79, 0xaf, 0x32, 0x10, 0x2a, 0x90, 0x8a, 0xec, 0xa9,
- 0x27, 0xf3, 0x52, 0x90, 0xf7, 0x5d, 0x55, 0x02, 0x0c, 0x16, 0xb4, 0x28,
- 0xcb, 0x87, 0xbf, 0x4e, 0x91, 0x9a, 0xfb, 0xd7, 0xaf, 0xae, 0x17, 0x57,
- 0x19, 0x84, 0x67, 0x73, 0xd7, 0xac, 0x3f, 0x6a, 0xec, 0xae, 0xfa, 0x19,
- 0x87, 0x88, 0x1b, 0x2f, 0x02, 0xce, 0xf4, 0x2c, 0xbe, 0x1e, 0xc1, 0x9e,
- 0x43, 0x32, 0x97, 0xb4, 0x5c, 0x72, 0x37, 0xdf, 0x82, 0x35, 0xd2, 0x1e,
- 0x4f, 0x9b, 0xa4, 0xaf, 0xbb, 0x24, 0xe4, 0x15, 0x23, 0xb8, 0xcd, 0x46,
- 0xaf, 0xbf, 0x24, 0x17, 0xd7, 0x1d, 0x68, 0xc0, 0x59, 0xb5, 0xa5, 0xc9,
- 0xdb, 0x06, 0x2b, 0x78, 0xe2, 0x0d, 0x62, 0x2d, 0x10, 0x47, 0xcb, 0x9b,
- 0xf5, 0xf2, 0x3f, 0xbc, 0x26, 0x2f, 0xcb, 0x72, 0x65, 0x8b, 0xea, 0xc2,
- 0xc1, 0x9c, 0x78, 0xc0, 0x32, 0x86, 0x5b, 0xb9, 0xdc, 0x36, 0xde, 0x12,
- 0xb8, 0x6c, 0x5a, 0x77, 0x66, 0x2c, 0xdd, 0x18, 0x15, 0xd5, 0xd9, 0x54,
- 0xd7, 0x6b, 0xe7, 0x75, 0x8f, 0xd3, 0x2b, 0xa2, 0x85, 0x1f, 0xdc, 0x18,
- 0xf8, 0x40, 0x62, 0x1f, 0xd0, 0x5f, 0x3f, 0xb7, 0xaf, 0xd3, 0x7f, 0xcc,
- 0x79, 0x06, 0xb1, 0xee, 0x8a, 0xd1, 0x10, 0x42, 0x53, 0xdf, 0xd9, 0xe6,
- 0x6a, 0xe5, 0x5a, 0x18, 0x72, 0xa3, 0xc7, 0xda, 0xf6, 0xe7, 0x1b, 0xf0,
- 0xe7, 0x2a, 0xec, 0x07, 0x35, 0x57, 0x20, 0xe5, 0x26, 0x65, 0xa0, 0xdb,
- 0x12, 0x32, 0x8e, 0x8b, 0xb2, 0xa0, 0xf7, 0x4b, 0x3a, 0x4e, 0x3d, 0xd7,
- 0xae, 0xff, 0xb4, 0x6e, 0x3b, 0xff, 0xd3, 0xba, 0xeb, 0xfe, 0x4f, 0xeb,
- 0x6e, 0x00, 0x3f, 0xad, 0x13, 0xa7, 0x1c, 0x0d, 0x22, 0xb0, 0x16, 0x7f,
- 0xf1, 0xa2, 0x6f, 0xf0, 0x57, 0xdd, 0x47, 0xbd, 0x6f, 0x7a, 0x9f, 0x5c,
- 0xdf, 0x58, 0x35, 0x69, 0x7e, 0x98, 0x08, 0x59, 0x0a, 0xdd, 0x39, 0x34,
- 0x02, 0xbb, 0x35, 0x4d, 0x6e, 0x5a, 0xc8, 0x42, 0x0b, 0xbc, 0xe6, 0xde,
- 0x03, 0x34, 0xe3, 0xae, 0xc0, 0x8c, 0xc7, 0x9d, 0x6e, 0x29, 0xe9, 0x74,
- 0x1d, 0xb4, 0x46, 0x67, 0x50, 0x36, 0xd1, 0xbe, 0x1e, 0xdc, 0x40, 0xff,
- 0xc3, 0x7c, 0x01, 0x46, 0x00, 0xda, 0x90, 0x53, 0x0d, 0x1e, 0x0a, 0x41,
- 0x78, 0x01, 0xbc, 0x5a, 0x70, 0x00, 0x93, 0x2f, 0xc0, 0x4b, 0xce, 0xfb,
- 0xe0, 0x2d, 0x11, 0xe0, 0x9a, 0x67, 0x39, 0x2a, 0x0b, 0x99, 0x51, 0x4d,
- 0xd9, 0x4c, 0xdd, 0xa6, 0x7b, 0x01, 0x38, 0x44, 0x94, 0xfb, 0xa9, 0x61,
- 0xa7, 0x8b, 0x05, 0x2b, 0x45, 0x7b, 0x78, 0x1e, 0x96, 0x6f, 0x69, 0xd2,
- 0xc6, 0xa7, 0x65, 0x55, 0xbf, 0x5e, 0xaf, 0xa8, 0x54, 0x63, 0x72, 0x55,
- 0x19, 0x35, 0xf6, 0x73, 0xda, 0x5a, 0x0b, 0xb3, 0x58, 0xee, 0x9c, 0xde,
- 0xf5, 0x67, 0xf7, 0xa6, 0xdf, 0x1b, 0xbf, 0x68, 0x67, 0x78, 0x22, 0x6d,
- 0x82, 0x38, 0xba, 0x11, 0x8e, 0xb3, 0xa4, 0x0b, 0x22, 0xe0, 0xa3, 0xeb,
- 0x1d, 0x4a, 0xf9, 0xfd, 0xeb, 0x18, 0x63, 0x55, 0x30, 0x10, 0x4f, 0xf2,
- 0xc2, 0x5e, 0x7b, 0x7d, 0xfa, 0xed, 0xe7, 0xda, 0xc0, 0x4f, 0xeb, 0x3f,
- 0xf4, 0xf9, 0xa7, 0xc8, 0xa3, 0xdc, 0x4f, 0x4e, 0xbf, 0xa5, 0xdd, 0xfd,
- 0xcb, 0x04, 0xd8, 0xaa, 0x0f, 0x7c, 0xc9, 0x7f, 0xc1, 0xce, 0x5e, 0xd5,
- 0xec, 0x85, 0x03, 0x1f, 0xbc, 0xa6, 0xa2, 0xa3, 0xc8, 0xfa, 0x80, 0x29,
- 0x3e, 0x9f, 0x53, 0x1e, 0x87, 0xe6, 0x0d, 0x36, 0x9c, 0x37, 0xc8, 0xda,
- 0xe5, 0xa8, 0x64, 0xb8, 0x6a, 0x13, 0xf2, 0xdb, 0x82, 0x5f, 0x13, 0x6b,
- 0xcb, 0x79, 0xcc, 0x66, 0x43, 0x91, 0xf7, 0x02, 0x3a, 0xb1, 0xce, 0x2e,
- 0x17, 0x2f, 0x4f, 0x27, 0x6d, 0x93, 0xe7, 0x28, 0xc2, 0x65, 0xee, 0x38,
- 0x4a, 0xf8, 0x6f, 0xd0, 0xcc, 0x40, 0xc5, 0x42, 0x76, 0x16, 0x15, 0x45,
- 0x4a, 0xab, 0x4c, 0x0b, 0x5d, 0x48, 0x09, 0x2e, 0xae, 0xb6, 0xf4, 0x79,
- 0x2c, 0x22, 0x20, 0x81, 0x4a, 0x01, 0x05, 0x5f, 0x96, 0x53, 0xa9, 0xb6,
- 0x5b, 0x9b, 0x5d, 0xcf, 0x0b, 0x6c, 0xab, 0x5e, 0x19, 0x9d, 0x83, 0xa6,
- 0x42, 0x02, 0x16, 0xf2, 0xd9, 0x88, 0xd2, 0x21, 0x81, 0x45, 0x76, 0xc8,
- 0x81, 0xe0, 0x4a, 0x78, 0x7f, 0x78, 0xe3, 0x7f, 0x4e, 0x96, 0xff, 0x28,
- 0x9b, 0x70, 0x99, 0x77, 0xc9, 0x8c, 0xeb, 0x8b, 0x8f, 0x38, 0xe2, 0xc6,
- 0x49, 0xec, 0xb9, 0xd1, 0x83, 0xc3, 0x88, 0x08, 0x4d, 0x90, 0x23, 0x42,
- 0x98, 0x6f, 0x48, 0x29, 0x14, 0x50, 0xb1, 0x16, 0xa8, 0xa0, 0xeb, 0x25,
- 0x3e, 0x58, 0x9c, 0x61, 0x55, 0x24, 0xc2, 0xd3, 0x96, 0xfc, 0x51, 0x5c,
- 0xca, 0xfa, 0x58, 0x2a, 0x1a, 0x97, 0x2c, 0xd6, 0x20, 0x78, 0xe1, 0x07,
- 0x81, 0xec, 0xf4, 0x77, 0xf7, 0xbd, 0x62, 0x23, 0xfc, 0xb3, 0x78, 0xf3,
- 0x3e, 0x3f, 0x86, 0xc6, 0x8a, 0x6b, 0x99, 0xfe, 0x15, 0xed, 0xef, 0xd9,
- 0xf6, 0xd7, 0x22, 0x94, 0x14, 0x4c, 0x1a, 0x11, 0xff, 0x2c, 0x31, 0x17,
- 0x2a, 0x9a, 0x4c, 0xdc, 0xa8, 0x9e, 0x43, 0x23, 0x61, 0x5f, 0x82, 0x3a,
- 0x13, 0x6c, 0xd9, 0x30, 0xe6, 0xac, 0x88, 0x24, 0x00, 0x21, 0x37, 0x64,
- 0xc2, 0x60, 0x65, 0x1e, 0x89, 0x99, 0xc8, 0xae, 0xa5, 0x28, 0xd5, 0x94,
- 0x79, 0x6b, 0x95, 0x33, 0xe2, 0x53, 0x9c, 0xec, 0xbb, 0x22, 0x75, 0xf0,
- 0x07, 0xa8, 0xdf, 0x43, 0xab, 0x0c, 0x69, 0x02, 0x63, 0x90, 0x66, 0xd6,
- 0xe2, 0x2b, 0x0d, 0x3e, 0x65, 0x84, 0x31, 0xf3, 0xd2, 0xc0, 0x4e, 0x91,
- 0xb3, 0xb0, 0xb9, 0x21, 0xbe, 0x15, 0xfa, 0x10, 0xd5, 0x76, 0x03, 0x54,
- 0x09, 0xc3, 0x4d, 0x41, 0x25, 0x20, 0x33, 0xd0, 0x8f, 0xe8, 0x1d, 0xfb,
- 0x10, 0xee, 0xf6, 0x54, 0x30, 0x8b, 0x0a, 0x48, 0x54, 0xd4, 0x7c, 0x46,
- 0xa9, 0xd1, 0x36, 0x73, 0x4a, 0x68, 0x2b, 0x7b, 0x53, 0x2c, 0x8d, 0x49,
- 0x35, 0x78, 0x8b, 0x7b, 0x4b, 0x93, 0x8d, 0xd7, 0x5b, 0x1b, 0x76, 0x68,
- 0xcb, 0x4d, 0xa3, 0x4e, 0x21, 0x37, 0xc7, 0xc2, 0xcc, 0x38, 0x2a, 0xd3,
- 0x3a, 0x1c, 0x4c, 0x33, 0x02, 0x42, 0x64, 0x7d, 0xac, 0x67, 0x94, 0x0a,
- 0xab, 0x56, 0x9e, 0x02, 0x32, 0xb3, 0x0a, 0x9c, 0x4f, 0x26, 0xc2, 0xe0,
- 0x4d, 0x9e, 0x4e, 0x4d, 0x0f, 0x29, 0x27, 0xed, 0x46, 0x69, 0xfc, 0xea,
- 0x7d, 0x4f, 0x27, 0x8f, 0x1c, 0x50, 0x8a, 0xe8, 0x80, 0x0a, 0x5d, 0x3c,
- 0x23, 0x9e, 0x63, 0x63, 0x95, 0xf2, 0xbd, 0xf1, 0x7a, 0x93, 0xaf, 0x2c,
- 0xe7, 0x56, 0xf3, 0xbe, 0xbd, 0x91, 0xfc, 0x14, 0xcf, 0x33, 0x4c, 0xf8,
- 0x5d, 0xcf, 0x4a, 0x90, 0x4d, 0xfb, 0xd0, 0x1b, 0xc9, 0xab, 0x51, 0x39,
- 0xb9, 0xff, 0x02, 0xf1, 0x27, 0x79, 0xe5, 0xd5, 0x36, 0x7e, 0xd4, 0x51,
- 0x9a, 0x97, 0x35, 0x84, 0x56, 0xcc, 0x52, 0xe1, 0xcf, 0x2f, 0xe9, 0x71,
- 0xb5, 0x19, 0x36, 0x92, 0xc1, 0xc0, 0x88, 0xa1, 0x7a, 0x86, 0xba, 0x3a,
- 0x2b, 0xae, 0x16, 0x26, 0xae, 0xc2, 0x25, 0x3b, 0xca, 0x1c, 0x9f, 0x08,
- 0xdb, 0x32, 0xd6, 0xd8, 0x16, 0x7f, 0x24, 0xff, 0xb6, 0x7a, 0x3d, 0x48,
- 0x0e, 0x14, 0x36, 0xb3, 0x16, 0xe1, 0x23, 0x31, 0x8f, 0xf2, 0xfd, 0xe1,
- 0x25, 0xe2, 0xbe, 0x18, 0xe5, 0xe2, 0x6f, 0x9f, 0x94, 0x2d, 0x0a, 0xbd,
- 0x84, 0x13, 0xde, 0xe9, 0x8a, 0x8f, 0x0b, 0x6f, 0xb3, 0x67, 0x2a, 0x8e,
- 0x17, 0xb1, 0x88, 0xb0, 0x66, 0x8c, 0x74, 0xae, 0x7f, 0x24, 0xdf, 0x54,
- 0x69, 0xda, 0x4b, 0x3e, 0xd3, 0x8f, 0x75, 0xaf, 0xe7, 0x02, 0x5e, 0x89,
- 0xbf, 0x81, 0xbf, 0xf3, 0x45, 0x9f, 0x9e, 0xf2, 0x6a, 0x3c, 0xda, 0x04,
- 0x78, 0x37, 0x6c, 0x84, 0xde, 0x7a, 0x52, 0xba, 0x70, 0x12, 0x12, 0x16,
- 0xe4, 0x05, 0x97, 0x5e, 0xe1, 0x6b, 0x61, 0x94, 0xd6, 0xd9, 0xf3, 0xa7,
- 0x3c, 0x4a, 0x9e, 0x2a, 0xf1, 0xd4, 0xb4, 0x5c, 0xb2, 0x7c, 0x21, 0x55,
- 0x61, 0x44, 0xd0, 0x0e, 0x91, 0x33, 0x3e, 0x49, 0x4f, 0xa3, 0x72, 0x3e,
- 0x8c, 0xeb, 0xa4, 0x8b, 0xd5, 0xe8, 0x94, 0x57, 0x28, 0x58, 0x9e, 0x7c,
- 0xf6, 0xdc, 0xeb, 0xf8, 0x03, 0xbe, 0x0b, 0x77, 0xde, 0x71, 0x02, 0xe5,
- 0x88, 0xcb, 0x88, 0xbc, 0x21, 0xb0, 0xf1, 0x6e, 0xbe, 0x1b, 0xf4, 0x8b,
- 0x1c, 0x1f, 0x4c, 0xcf, 0x24, 0x23, 0xb4, 0x0e, 0xc7, 0x87, 0xce, 0x93,
- 0x7f, 0x1a, 0x3e, 0xd7, 0xdd, 0xd3, 0xfd, 0xf4, 0xca, 0xdd, 0xed, 0x59,
- 0x4b, 0xfa, 0x3e, 0x77, 0x82, 0x77, 0xf8, 0xc3, 0x1b, 0x9c, 0x82, 0x0a,
- 0x97, 0x8b, 0x0a, 0x17, 0x91, 0x3c, 0xc6, 0xfa, 0x82, 0xa6, 0x8f, 0x88,
- 0xca, 0xfe, 0xee, 0xe0, 0xfd, 0x87, 0x83, 0x93, 0xc7, 0x17, 0xf9, 0x68,
- 0x95, 0x8e, 0x5a, 0xf9, 0x9a, 0x97, 0x2f, 0xda, 0xa1, 0x42, 0x79, 0x38,
- 0x91, 0x9c, 0xf2, 0x75, 0x68, 0xf7, 0x10, 0x34, 0x24, 0xce, 0x84, 0xc2,
- 0x98, 0x5b, 0x09, 0x8c, 0x7b, 0x98, 0xcd, 0xb4, 0x96, 0x4a, 0x6a, 0xeb,
- 0xfa, 0x3e, 0xbd, 0xbe, 0x2e, 0x98, 0x63, 0x9b, 0xa4, 0x1b, 0x91, 0x9e,
- 0x36, 0xaf, 0xd8, 0x62, 0xae, 0xb4, 0xe2, 0xac, 0x5c, 0x5e, 0x2d, 0x6f,
- 0x5b, 0x79, 0x79, 0xe9, 0x45, 0x2b, 0xba, 0x51, 0xbd, 0xc3, 0xc3, 0xe5,
- 0xd9, 0x8e, 0xbf, 0x27, 0xc7, 0x61, 0x07, 0x7b, 0x8e, 0x69, 0x74, 0xa2,
- 0xbc, 0xdf, 0x94, 0x9c, 0x09, 0xfc, 0x4a, 0xfa, 0x16, 0x9f, 0x55, 0x26,
- 0xec, 0xf0, 0xc2, 0xd8, 0xaa, 0xd3, 0xa2, 0x4c, 0xe4, 0xf0, 0xe8, 0x1c,
- 0xd3, 0x75, 0x76, 0x30, 0x1c, 0xda, 0x44, 0x5c, 0x81, 0xf8, 0x04, 0xb6,
- 0x17, 0x02, 0x7d, 0x5e, 0xa1, 0x82, 0x41, 0x62, 0xcb, 0x3b, 0x0a, 0x8e,
- 0x13, 0x13, 0x68, 0x2c, 0xbc, 0x8b, 0xc5, 0xcc, 0x9c, 0x09, 0xa3, 0xdf,
- 0x4e, 0x08, 0x42, 0xc5, 0xe1, 0xd7, 0xee, 0xe6, 0x22, 0xf9, 0xa4, 0x8a,
- 0x13, 0x63, 0x20, 0x4a, 0xfc, 0xd7, 0xf4, 0x7a, 0xa8, 0xb2, 0x3a, 0xd5,
- 0x80, 0xb5, 0xc7, 0x4c, 0xd9, 0x8b, 0xba, 0x7a, 0xd6, 0x87, 0xc7, 0x17,
- 0x47, 0xc9, 0xc1, 0x87, 0x8b, 0x6f, 0xd6, 0x79, 0x82, 0xbb, 0x04, 0x04,
- 0x70, 0xd3, 0x53, 0x59, 0xc6, 0x9b, 0x4c, 0xea, 0x3c, 0xd7, 0x34, 0x93,
- 0xe4, 0xd1, 0x24, 0xe3, 0x20, 0xa6, 0x70, 0xbb, 0x6f, 0x0e, 0x56, 0xac,
- 0xd2, 0xb3, 0xc1, 0xb3, 0xee, 0x2a, 0x2d, 0x27, 0x99, 0x05, 0xed, 0xa8,
- 0x94, 0xe3, 0x96, 0xb9, 0x93, 0x1d, 0x2f, 0x74, 0xa6, 0x04, 0x9b, 0xda,
- 0x76, 0x25, 0x0f, 0x10, 0x5b, 0x4b, 0x19, 0xb0, 0x1b, 0xb9, 0x0b, 0x2c,
- 0xa9, 0x9a, 0x0d, 0x85, 0x83, 0x70, 0xd5, 0x92, 0xae, 0x88, 0x77, 0x97,
- 0x23, 0xa0, 0x66, 0xc5, 0xd2, 0x6a, 0x62, 0x13, 0xf2, 0x22, 0x9c, 0x03,
- 0x8a, 0xf2, 0xa3, 0x2a, 0x2a, 0x66, 0x0b, 0x68, 0x15, 0x85, 0x56, 0xa2,
- 0x64, 0xc8, 0x8a, 0xee, 0x32, 0x2e, 0xe3, 0x14, 0xb8, 0x70, 0x9a, 0xa3,
- 0xb0, 0x82, 0xe5, 0x72, 0x5d, 0x89, 0x7b, 0x8c, 0xb3, 0xb6, 0xd2, 0xbc,
- 0x0a, 0x4a, 0xe4, 0x15, 0xff, 0x19, 0xdf, 0xef, 0x74, 0xb3, 0x56, 0xe5,
- 0x94, 0xdd, 0x85, 0xf2, 0x02, 0xa3, 0x37, 0x39, 0x45, 0x02, 0x14, 0x3a,
- 0x08, 0xd9, 0x20, 0xea, 0x09, 0x6b, 0x84, 0x09, 0xc0, 0xc3, 0x4a, 0x39,
- 0x9b, 0x04, 0xcf, 0x50, 0xdf, 0xea, 0x05, 0xc2, 0x88, 0x68, 0x2f, 0x92,
- 0xfd, 0x12, 0x50, 0xf4, 0xc5, 0x48, 0x4e, 0xbc, 0xd3, 0x1b, 0x1a, 0x48,
- 0x10, 0xc6, 0xe3, 0xdb, 0x49, 0x5c, 0xdb, 0xc2, 0x10, 0x80, 0x1c, 0xb3,
- 0x79, 0x36, 0x87, 0xdf, 0xbf, 0xf1, 0x8a, 0x63, 0x28, 0x34, 0x4d, 0xd1,
- 0xdd, 0x6c, 0x7f, 0x2c, 0x23, 0xda, 0xf3, 0x78, 0xc2, 0x50, 0x92, 0x8a,
- 0x22, 0xa9, 0x93, 0x2c, 0x9b, 0x5b, 0x46, 0xe2, 0x1c, 0xc9, 0x19, 0x79,
- 0x8d, 0xc8, 0xa9, 0xb0, 0x41, 0xcf, 0x42, 0x47, 0x92, 0xc5, 0x71, 0xb3,
- 0xe4, 0x70, 0x94, 0x10, 0x54, 0xec, 0x87, 0xe2, 0xb6, 0xbb, 0x9f, 0x3d,
- 0x79, 0x61, 0x2e, 0xdf, 0x7b, 0xd0, 0x03, 0xb7, 0x98, 0x48, 0x99, 0xc1,
- 0x73, 0x39, 0xdd, 0x99, 0x58, 0x30, 0x0a, 0xec, 0x95, 0x4c, 0xf6, 0xa4,
- 0x26, 0x9b, 0x01, 0xfe, 0x28, 0xc9, 0x2b, 0x0d, 0x89, 0x40, 0xcc, 0x24,
- 0xaa, 0xdb, 0x0f, 0x33, 0x86, 0x74, 0x57, 0x9a, 0x2d, 0x46, 0x86, 0x0d,
- 0xbc, 0x3d, 0x6c, 0xf4, 0x38, 0x2a, 0x7f, 0xd4, 0x4b, 0xce, 0x8f, 0x2e,
- 0xce, 0x7b, 0xc9, 0xf0, 0xe2, 0xf4, 0x7c, 0x09, 0x47, 0x5d, 0xc3, 0x0c,
- 0x09, 0x34, 0x67, 0x0a, 0x51, 0xe1, 0x53, 0xd9, 0x22, 0xaf, 0x02, 0x06,
- 0x9a, 0x05, 0x4f, 0x1d, 0xe5, 0x3b, 0xf2, 0x68, 0x8f, 0xbc, 0xd9, 0xc2,
- 0xb6, 0x31, 0xf7, 0xc3, 0xca, 0x81, 0xf1, 0xb2, 0x3f, 0x62, 0x87, 0xd0,
- 0x5e, 0xa4, 0xe1, 0x5a, 0x31, 0x8f, 0xde, 0x1a, 0x0b, 0x8d, 0xbc, 0xfd,
- 0x8e, 0x7c, 0x5a, 0x8b, 0xca, 0x2e, 0xe1, 0x26, 0x64, 0x40, 0x6e, 0xed,
- 0x40, 0xc3, 0x66, 0xcb, 0xad, 0x6b, 0x06, 0xf6, 0xba, 0x39, 0x6e, 0xcc,
- 0xc5, 0x63, 0xd9, 0xc6, 0x1e, 0xd8, 0xbf, 0x46, 0xdf, 0xd9, 0xb2, 0x69,
- 0xa3, 0xf4, 0xbf, 0xba, 0x9c, 0x65, 0xec, 0xd3, 0x87, 0xe7, 0x47, 0xe5,
- 0x13, 0x17, 0x5e, 0x03, 0x45, 0x67, 0x8c, 0x8a, 0xc0, 0x32, 0x29, 0xd1,
- 0x2a, 0x6f, 0xd8, 0x64, 0x6e, 0x2d, 0x98, 0xce, 0xeb, 0x92, 0x19, 0xb3,
- 0xb4, 0x01, 0x45, 0xd5, 0x86, 0xf6, 0xca, 0xa3, 0x58, 0x6a, 0x0b, 0xef,
- 0xdd, 0xae, 0x90, 0xa1, 0x7c, 0xf8, 0xa8, 0x64, 0x21, 0x70, 0x8a, 0x66,
- 0x35, 0x03, 0x5a, 0xa5, 0xa8, 0x1a, 0xa8, 0x12, 0x7e, 0xcd, 0xbf, 0x33,
- 0xcd, 0x65, 0xcf, 0xeb, 0x98, 0x42, 0x81, 0x94, 0x37, 0xe2, 0x51, 0x70,
- 0x9b, 0x5b, 0xd6, 0x9c, 0x83, 0x32, 0x8b, 0xae, 0xd4, 0xed, 0x24, 0x97,
- 0x77, 0x0d, 0x02, 0x51, 0xcd, 0x12, 0x57, 0x4d, 0x25, 0x20, 0x02, 0x98,
- 0xff, 0x13, 0xe5, 0x66, 0x7e, 0x19, 0x7d, 0x09, 0x55, 0xac, 0x95, 0x94,
- 0x7e, 0xb0, 0xfd, 0x15, 0x80, 0x3d, 0x4c, 0xec, 0xcc, 0x11, 0xa1, 0x0d,
- 0xa1, 0xb5, 0x70, 0x6f, 0x4d, 0x4a, 0xa8, 0xed, 0x34, 0xe8, 0x90, 0xfb,
- 0x0c, 0x2e, 0x63, 0x20, 0x08, 0xf4, 0xa6, 0x91, 0xc6, 0x9c, 0xf5, 0x31,
- 0x6e, 0xba, 0x23, 0x45, 0x82, 0x7d, 0x30, 0xd0, 0x33, 0x7f, 0xd9, 0x58,
- 0xa2, 0xc1, 0xc0, 0x71, 0x82, 0xa0, 0xe1, 0x3c, 0x77, 0x4e, 0x66, 0x57,
- 0x17, 0x80, 0x30, 0x0a, 0x14, 0xd1, 0x3c, 0x29, 0x66, 0x13, 0xd0, 0x12,
- 0xd6, 0xad, 0x2c, 0x7d, 0x9d, 0xc9, 0xc1, 0x0a, 0x8e, 0x27, 0x3f, 0xa9,
- 0xbf, 0xb5, 0x25, 0x77, 0x5b, 0x5a, 0x5f, 0x7b, 0x74, 0x4b, 0x13, 0x46,
- 0x59, 0xa1, 0x38, 0xa7, 0x85, 0xab, 0xb9, 0x42, 0x5d, 0xe6, 0x76, 0x57,
- 0x5e, 0xe4, 0xc4, 0xe3, 0x52, 0x56, 0xdb, 0x94, 0xa2, 0x42, 0xec, 0x65,
- 0x89, 0xb9, 0x21, 0x15, 0x8a, 0xba, 0xa4, 0x8c, 0xaa, 0xd5, 0x13, 0x4d,
- 0xd3, 0xed, 0xb2, 0x98, 0x5e, 0x75, 0x29, 0xba, 0x4c, 0x25, 0x5f, 0x1f,
- 0x73, 0x3b, 0x48, 0x62, 0x28, 0x78, 0xe6, 0x6c, 0x6d, 0x00, 0x73, 0x6c,
- 0x6b, 0x64, 0x5a, 0x4e, 0x50, 0x6b, 0x02, 0x60, 0x61, 0xa1, 0xf1, 0x6d,
- 0xd4, 0x4b, 0x13, 0xeb, 0xb4, 0x1c, 0x03, 0xd4, 0x7c, 0x33, 0x2b, 0x3d,
- 0x46, 0x84, 0xb4, 0xcf, 0x26, 0x2c, 0x87, 0xf6, 0xc7, 0xea, 0xac, 0x59,
- 0xcc, 0xc3, 0x7b, 0xfe, 0xf8, 0xcc, 0x35, 0x29, 0xc4, 0xa7, 0x34, 0xd5,
- 0xa8, 0x02, 0xde, 0xf8, 0x9d, 0x6c, 0xca, 0x81, 0x5b, 0x00, 0x77, 0xf5,
- 0x07, 0xe6, 0x39, 0x29, 0x02, 0xc1, 0xed, 0xbe, 0x2c, 0x81, 0x5c, 0xaf,
- 0x17, 0x2a, 0xeb, 0xb9, 0x6e, 0xb4, 0x8b, 0x9d, 0x75, 0xbf, 0xa0, 0x3c,
- 0x07, 0xd5, 0xed, 0xbb, 0x66, 0x52, 0x5a, 0xbd, 0x0d, 0xcf, 0x8c, 0x66,
- 0xa2, 0x48, 0x06, 0x21, 0xad, 0xcf, 0x26, 0x55, 0x90, 0xc6, 0x19, 0xde,
- 0x5a, 0x0b, 0x87, 0x2e, 0x6d, 0xad, 0xea, 0xd5, 0xee, 0xcb, 0xbd, 0xc1,
- 0xee, 0xf3, 0x17, 0x83, 0x5d, 0xd4, 0x9f, 0xf4, 0x7a, 0xe7, 0x8a, 0x24,
- 0x7a, 0x0d, 0x45, 0xaa, 0x70, 0x26, 0xcb, 0x89, 0x4d, 0xf9, 0x0b, 0xb3,
- 0xfb, 0x01, 0x3d, 0x37, 0xe0, 0x5a, 0x18, 0xc1, 0x37, 0x66, 0x46, 0xad,
- 0xc9, 0x8b, 0x20, 0xec, 0xd1, 0x77, 0x48, 0x22, 0xbd, 0xee, 0xe7, 0x39,
- 0xed, 0x23, 0xa5, 0x1b, 0x74, 0xbd, 0xb2, 0x55, 0xbc, 0xb4, 0x2e, 0x01,
- 0x9d, 0xce, 0x78, 0x8f, 0x54, 0xa8, 0x8f, 0x45, 0x8f, 0x74, 0x72, 0xdd,
- 0x7e, 0xff, 0x9f, 0xb0, 0xf9, 0x54, 0x46, 0xbe, 0xc9, 0x9d, 0x87, 0x42,
- 0x3c, 0x17, 0x62, 0x93, 0x00, 0x60, 0x01, 0x82, 0x9d, 0x2e, 0x47, 0x8b,
- 0x50, 0x6e, 0xb0, 0xf8, 0xeb, 0xd0, 0x9c, 0x78, 0x97, 0xcc, 0x91, 0xc7,
- 0xa9, 0xe4, 0x23, 0x90, 0xd0, 0xa6, 0x06, 0xca, 0xbb, 0x34, 0x3a, 0xf2,
- 0x1a, 0x2e, 0x2c, 0x96, 0xd0, 0xda, 0x1c, 0xbd, 0xf6, 0x97, 0xbf, 0x38,
- 0x89, 0xc4, 0xc5, 0x90, 0x99, 0x82, 0xff, 0x59, 0x4f, 0x58, 0x0a, 0x39,
- 0xbe, 0xc5, 0x1c, 0xe9, 0xc9, 0xfa, 0xfe, 0x8f, 0x70, 0x07, 0xff, 0xdc,
- 0xff, 0xd1, 0xfc, 0xfb, 0xe7, 0x75, 0x9b, 0x63, 0xc8, 0xbc, 0x48, 0xac,
- 0x25, 0xaf, 0xb5, 0x0f, 0x73, 0xaf, 0x5d, 0x4a, 0x12, 0x7a, 0xc1, 0xc5,
- 0xe1, 0x19, 0x1f, 0xc5, 0x8a, 0xc3, 0xdc, 0x18, 0x29, 0x89, 0x22, 0x28,
- 0xf6, 0x24, 0xc3, 0x99, 0x21, 0xd1, 0xec, 0x14, 0x3b, 0x97, 0x5a, 0x2a,
- 0x87, 0x0d, 0x4b, 0xbc, 0xd8, 0x73, 0x24, 0x82, 0xa4, 0x3a, 0x56, 0x5c,
- 0x7b, 0xe4, 0xda, 0xf4, 0x85, 0xbc, 0x07, 0x48, 0x69, 0x36, 0x02, 0x58,
- 0x95, 0x6a, 0xfe, 0x81, 0x36, 0x47, 0x1c, 0x4b, 0x35, 0x39, 0xe3, 0x6f,
- 0x4d, 0xd7, 0x7a, 0xc2, 0x06, 0xca, 0x99, 0x11, 0x8d, 0x10, 0xda, 0x99,
- 0xe9, 0x30, 0x13, 0xa6, 0x74, 0xa8, 0x55, 0x5e, 0x7f, 0xa2, 0x11, 0x4a,
- 0x9a, 0x4f, 0xc2, 0x18, 0xa1, 0x35, 0x4f, 0xeb, 0x46, 0xcf, 0x28, 0xec,
- 0x25, 0xb4, 0x21, 0x36, 0x77, 0xcf, 0x9b, 0x62, 0x77, 0x4d, 0xe8, 0xe2,
- 0x6b, 0x6e, 0x7c, 0x94, 0xfa, 0x48, 0x1e, 0xab, 0xb2, 0x38, 0x23, 0x97,
- 0xcf, 0x23, 0xa0, 0xe4, 0x1f, 0x69, 0x72, 0x66, 0x34, 0x5e, 0xbb, 0x4d,
- 0x3c, 0x82, 0x9c, 0x64, 0x93, 0x7e, 0x40, 0xd7, 0xe0, 0x56, 0xf7, 0xfa,
- 0xa2, 0x02, 0x13, 0x69, 0xee, 0x3b, 0x68, 0xcc, 0xba, 0xd1, 0x89, 0xa5,
- 0xd4, 0x89, 0xca, 0xf4, 0x81, 0xd0, 0x79, 0x92, 0xda, 0xad, 0x39, 0x48,
- 0x14, 0xdc, 0x55, 0xd5, 0x6e, 0x2d, 0x6a, 0x34, 0x88, 0x9b, 0xd6, 0xe9,
- 0xa5, 0x48, 0xa4, 0x64, 0xf7, 0x2b, 0x4f, 0x3c, 0xfd, 0x09, 0xc9, 0x4d,
- 0xe9, 0x39, 0xb7, 0x05, 0x6a, 0x9b, 0x86, 0x96, 0x0d, 0x3a, 0x3f, 0x8b,
- 0x51, 0x96, 0x7a, 0xb7, 0xeb, 0xde, 0x4e, 0xe8, 0x53, 0xa1, 0x82, 0xad,
- 0x98, 0xe4, 0x7e, 0x3e, 0x7f, 0x98, 0xd2, 0x4c, 0xa9, 0x96, 0x68, 0x2d,
- 0x5b, 0x02, 0xc6, 0x5e, 0x35, 0xf5, 0xe2, 0xea, 0x0a, 0xa4, 0x0a, 0x21,
- 0x2c, 0xaf, 0xa9, 0xbd, 0x24, 0x48, 0xe1, 0x78, 0x37, 0x42, 0x1d, 0x5d,
- 0xd7, 0xe9, 0x70, 0xa9, 0x91, 0x22, 0x7a, 0x1c, 0x53, 0xee, 0xd2, 0xec,
- 0x59, 0xca, 0x32, 0xe1, 0x83, 0xee, 0x34, 0x9a, 0x2a, 0xeb, 0xbb, 0x72,
- 0xc9, 0x4c, 0x05, 0xdc, 0xba, 0x3c, 0x02, 0x58, 0xaf, 0x27, 0x1b, 0xeb,
- 0x15, 0x62, 0x70, 0xb0, 0xb2, 0x34, 0x3d, 0xb9, 0xdb, 0xa8, 0xc2, 0x05,
- 0x53, 0xba, 0xe4, 0x97, 0xc2, 0xa5, 0xc6, 0x64, 0x58, 0x95, 0x25, 0x17,
- 0xf2, 0xb9, 0x0f, 0xba, 0x17, 0xe8, 0x25, 0xe6, 0x63, 0x95, 0x8b, 0xc0,
- 0x89, 0x44, 0x5f, 0x71, 0x7a, 0x3a, 0xd8, 0x0b, 0x96, 0xb6, 0x9e, 0xf6,
- 0xc7, 0xe3, 0x71, 0x1f, 0x2a, 0xc1, 0x2b, 0xd6, 0x54, 0xb6, 0x45, 0x4f,
- 0x88, 0xeb, 0x50, 0xc3, 0x4c, 0xe6, 0xfb, 0xf0, 0xf0, 0x50, 0x54, 0x9a,
- 0x8b, 0xeb, 0x8e, 0x6e, 0x61, 0x59, 0x7f, 0x44, 0xb1, 0x8a, 0xe6, 0x54,
- 0xd5, 0xd7, 0x8b, 0x66, 0x82, 0x5a, 0xa6, 0x24, 0x35, 0x54, 0x0e, 0xdb,
- 0x44, 0xd9, 0x0e, 0x3b, 0x23, 0x55, 0x95, 0xee, 0x59, 0x44, 0x22, 0x35,
- 0x1e, 0x64, 0x12, 0xce, 0xb9, 0x2a, 0x04, 0x5e, 0x94, 0xb6, 0xbb, 0x95,
- 0x12, 0xb9, 0xaf, 0x3e, 0x81, 0x92, 0xf6, 0xb0, 0x8e, 0xa1, 0xd8, 0xb4,
- 0x15, 0x7c, 0x36, 0xcd, 0x05, 0x13, 0x9b, 0xca, 0xb7, 0xba, 0x6d, 0x3f,
- 0xb0, 0x1e, 0x32, 0xd5, 0xed, 0x25, 0x79, 0xbe, 0x74, 0x49, 0xe2, 0x92,
- 0x0a, 0xc5, 0x85, 0x69, 0xe6, 0x93, 0xcd, 0x43, 0x90, 0x3b, 0x12, 0x89,
- 0x33, 0x4e, 0xc5, 0xe1, 0x35, 0xa1, 0xb7, 0xa6, 0x66, 0x81, 0x4c, 0xaf,
- 0x6b, 0xc8, 0x01, 0xae, 0x9e, 0x36, 0x3c, 0xd9, 0xbe, 0x38, 0x19, 0x06,
- 0x80, 0xf7, 0x7b, 0xf2, 0x1e, 0x73, 0x09, 0xdc, 0x96, 0xef, 0x93, 0xa7,
- 0x08, 0x74, 0xb9, 0xe5, 0x65, 0x7b, 0x87, 0xf3, 0x17, 0xa2, 0x8c, 0x19,
- 0x8b, 0xc2, 0x96, 0x4d, 0xb7, 0xde, 0xdb, 0x22, 0x2b, 0x90, 0x4a, 0x4e,
- 0xf7, 0x39, 0x8e, 0x00, 0xa0, 0xb0, 0x75, 0xf2, 0xfe, 0xe0, 0x82, 0xd2,
- 0x5b, 0x1a, 0x41, 0x77, 0x5c, 0x96, 0x01, 0xce, 0x5c, 0xd9, 0x39, 0x2d,
- 0x9f, 0x61, 0x3a, 0x76, 0x15, 0x22, 0x54, 0x69, 0xe7, 0xe5, 0xab, 0x75,
- 0xe7, 0xad, 0x9a, 0x7e, 0x33, 0xa5, 0x72, 0x3f, 0x74, 0xf7, 0x7c, 0x77,
- 0x35, 0x76, 0xa3, 0xab, 0xc1, 0x13, 0x10, 0x5d, 0x91, 0x73, 0x91, 0xe6,
- 0x32, 0xcd, 0x76, 0xeb, 0xc2, 0x8d, 0x39, 0x2d, 0xaf, 0x72, 0xa4, 0x97,
- 0xf2, 0x52, 0xb5, 0xa2, 0x6d, 0x81, 0xc7, 0x94, 0x27, 0x87, 0x12, 0xb1,
- 0x71, 0x2f, 0xb6, 0x13, 0xab, 0xf8, 0x90, 0xd0, 0x5d, 0x61, 0x27, 0x55,
- 0xa8, 0xc1, 0x35, 0x07, 0x32, 0x4c, 0x31, 0x24, 0x19, 0x93, 0x8f, 0x8d,
- 0xad, 0x30, 0x26, 0xd8, 0xc7, 0x5b, 0x84, 0x41, 0x5a, 0xe0, 0xda, 0xbc,
- 0x45, 0x8d, 0x66, 0x7d, 0xa5, 0x14, 0xb0, 0x8f, 0xe6, 0x00, 0xc9, 0x18,
- 0x57, 0xba, 0xe4, 0x9f, 0xb7, 0xae, 0x8f, 0xaf, 0xc9, 0x38, 0xbb, 0x0a,
- 0xae, 0x5d, 0xf6, 0xeb, 0x32, 0x00, 0xbb, 0x53, 0x8f, 0xc6, 0xd5, 0x60,
- 0x20, 0x2f, 0x11, 0xc7, 0xd6, 0x3b, 0x95, 0x16, 0x27, 0xbd, 0x28, 0x43,
- 0x79, 0xaf, 0x4b, 0xfa, 0x5d, 0x85, 0xbc, 0xc0, 0x2d, 0x5e, 0x19, 0x4b,
- 0x0b, 0xd2, 0x69, 0xee, 0x6b, 0x73, 0xef, 0x5b, 0x46, 0xf9, 0x0e, 0xfd,
- 0x4c, 0x8b, 0x6d, 0x9e, 0xb1, 0x38, 0x14, 0x73, 0xba, 0xa5, 0x5a, 0x8a,
- 0xb7, 0x71, 0x7b, 0x87, 0x15, 0xda, 0x0b, 0xc7, 0x4f, 0xcd, 0xc7, 0x43,
- 0x49, 0xfc, 0x55, 0x64, 0x7d, 0x38, 0x3f, 0xb1, 0x81, 0xf9, 0x7f, 0xdf,
- 0x70, 0x25, 0x53, 0x06, 0x4b, 0xd8, 0xda, 0x62, 0x34, 0xae, 0x88, 0x35,
- 0x49, 0xb0, 0x49, 0xa1, 0x14, 0x7e, 0xbe, 0x49, 0x04, 0xcc, 0xad, 0xe3,
- 0x5b, 0xdd, 0xa3, 0x6f, 0x8e, 0x0e, 0xde, 0x58, 0x36, 0x81, 0x5f, 0x50,
- 0x54, 0xa8, 0xab, 0xf2, 0xc3, 0x51, 0xe2, 0x60, 0x17, 0x65, 0x91, 0x2d,
- 0x73, 0x92, 0xa8, 0xe3, 0x6f, 0x94, 0x31, 0x31, 0xfe, 0x42, 0x7c, 0x26,
- 0x29, 0x96, 0x47, 0xb7, 0x2a, 0x36, 0x8a, 0xd1, 0xd7, 0xea, 0x8c, 0x0f,
- 0xc8, 0x72, 0x82, 0xf8, 0xa5, 0x6e, 0x12, 0x1f, 0x77, 0x20, 0xde, 0x6b,
- 0xd2, 0x9a, 0x39, 0xb9, 0xca, 0xdb, 0xca, 0x57, 0xd8, 0xca, 0xd3, 0x72,
- 0x54, 0x5e, 0x5e, 0xae, 0x08, 0x03, 0x32, 0x4d, 0x1f, 0x92, 0xa0, 0x78,
- 0xc7, 0xac, 0xd3, 0x34, 0xd2, 0x7b, 0x23, 0xea, 0xbe, 0x59, 0x54, 0x73,
- 0xdc, 0xd6, 0x25, 0x33, 0x41, 0xca, 0x68, 0x07, 0x57, 0x8f, 0x17, 0x4d,
- 0xb8, 0x17, 0x68, 0xab, 0x9a, 0x7b, 0xc8, 0xce, 0x67, 0xd7, 0x8c, 0x22,
- 0x84, 0x2c, 0xd7, 0xb9, 0x99, 0xf5, 0xff, 0xfc, 0xaf, 0x1f, 0x7f, 0x8e,
- 0x30, 0xbe, 0x03, 0x09, 0x76, 0xcd, 0xb9, 0x85, 0xe6, 0xf9, 0x99, 0xb0,
- 0xb7, 0x58, 0x62, 0x6e, 0x57, 0xce, 0x9e, 0x54, 0xb0, 0x6c, 0x7a, 0x39,
- 0x70, 0x75, 0x4b, 0xc2, 0x8b, 0xb1, 0x76, 0x1f, 0x44, 0xbd, 0x29, 0x4a,
- 0x06, 0xe7, 0x04, 0x5e, 0xa2, 0x50, 0x46, 0xe1, 0x14, 0x87, 0x97, 0xb6,
- 0x04, 0xab, 0xb2, 0x12, 0x91, 0x64, 0x02, 0xad, 0x2d, 0xd1, 0x8d, 0x9f,
- 0x7f, 0x38, 0x3f, 0xb6, 0x5e, 0x4f, 0x5f, 0x2e, 0x5f, 0x9b, 0x9d, 0x7a,
- 0xdf, 0xcf, 0xee, 0xb3, 0x91, 0x91, 0x11, 0xb5, 0xf2, 0x3f, 0xf4, 0x67,
- 0x75, 0xf2, 0x6a, 0x66, 0x76, 0x78, 0xbe, 0x84, 0xb9, 0xe3, 0x1b, 0x7a,
- 0xcd, 0x58, 0xd4, 0xf2, 0x9e, 0x25, 0x92, 0xbc, 0x2a, 0x2b, 0x33, 0x45,
- 0x33, 0xc9, 0xc8, 0x95, 0xb4, 0xe4, 0xb6, 0x5f, 0x03, 0x19, 0x26, 0x81,
- 0x6f, 0x80, 0x58, 0xd8, 0x28, 0xad, 0xca, 0xa3, 0xf3, 0x12, 0xc5, 0x70,
- 0xb2, 0x48, 0xa7, 0xa4, 0xd5, 0x1b, 0x63, 0x1b, 0x06, 0x3e, 0x39, 0x09,
- 0x79, 0x47, 0x21, 0xb1, 0x02, 0xaf, 0x44, 0x99, 0x04, 0x6c, 0x1e, 0x22,
- 0xac, 0x2c, 0x92, 0x3a, 0xfe, 0x88, 0x6c, 0x21, 0x42, 0xff, 0x93, 0x52,
- 0x82, 0x34, 0x9c, 0x57, 0xe9, 0x3e, 0x1f, 0x68, 0x0b, 0x5b, 0xa5, 0x4c,
- 0x8d, 0x5c, 0x6b, 0x84, 0xa6, 0xbe, 0x8e, 0xec, 0x11, 0x4e, 0x04, 0x87,
- 0x72, 0x96, 0x4e, 0x6c, 0x2e, 0xbd, 0x4f, 0x3f, 0x87, 0x3c, 0xc4, 0x94,
- 0x12, 0x23, 0xb3, 0xe9, 0x40, 0x8a, 0xe3, 0x02, 0x50, 0xe5, 0x5a, 0x85,
- 0xcc, 0xed, 0x02, 0x48, 0x6a, 0xc2, 0x04, 0x70, 0x3a, 0xac, 0x2d, 0x1d,
- 0x9e, 0x59, 0x27, 0x44, 0x34, 0xf0, 0x0b, 0xb5, 0x04, 0x86, 0xae, 0x99,
- 0x15, 0x31, 0x21, 0xc0, 0x59, 0x8b, 0x8a, 0x4a, 0x4c, 0x46, 0x42, 0x2f,
- 0x03, 0x4e, 0x41, 0x22, 0x44, 0xd6, 0xfb, 0x48, 0xd6, 0xbb, 0xd3, 0x1c,
- 0xc5, 0x5e, 0x92, 0xe7, 0xcf, 0x9e, 0x3d, 0x4b, 0x38, 0xfa, 0x92, 0xac,
- 0x1f, 0x33, 0xf9, 0xfa, 0xf9, 0xd1, 0xe1, 0xe9, 0xbb, 0x77, 0x47, 0xef,
- 0xdf, 0x1c, 0xbd, 0xb1, 0x07, 0x4d, 0xc7, 0x62, 0x77, 0x47, 0x30, 0x22,
- 0x42, 0x08, 0x4e, 0x92, 0xdd, 0x67, 0x3b, 0xfd, 0xbd, 0x67, 0x3b, 0x89,
- 0xd9, 0x8a, 0xa9, 0xcd, 0x53, 0x4b, 0xa7, 0x29, 0x79, 0x04, 0xae, 0x17,
- 0x46, 0x4f, 0x23, 0x76, 0xc8, 0x86, 0x78, 0x37, 0xe0, 0x86, 0x25, 0x4f,
- 0x71, 0x91, 0x35, 0x64, 0x44, 0x07, 0x1a, 0x50, 0x3a, 0x19, 0xac, 0x27,
- 0x96, 0xea, 0xcb, 0xc5, 0x2f, 0x45, 0xfd, 0xc1, 0x06, 0xdd, 0xdb, 0xa1,
- 0x4f, 0x0d, 0x92, 0xb7, 0x46, 0x03, 0xb9, 0x2c, 0xef, 0x12, 0xd6, 0x03,
- 0x8d, 0x5a, 0x9a, 0x85, 0x71, 0xcb, 0xf6, 0xeb, 0xf4, 0xf6, 0x13, 0x7e,
- 0xfb, 0x5f, 0x18, 0xb0, 0x7f, 0xf6, 0xb2, 0x6d, 0x5c, 0x9a, 0x83, 0x0c,
- 0x72, 0x6e, 0xcd, 0x49, 0x5c, 0x5e, 0xff, 0x85, 0xee, 0xa0, 0x83, 0x33,
- 0x7a, 0xd8, 0xd8, 0xe5, 0xa7, 0x3f, 0xfc, 0xb5, 0x4b, 0x36, 0x96, 0x48,
- 0x1a, 0x2b, 0x6a, 0x93, 0x21, 0xa7, 0x2a, 0x8e, 0xe4, 0x6b, 0x99, 0x84,
- 0x7a, 0xc7, 0x60, 0x7c, 0x84, 0x3d, 0x35, 0x13, 0xc7, 0x25, 0x83, 0x64,
- 0xcd, 0xaa, 0x5a, 0xd2, 0x88, 0xe0, 0x35, 0x0e, 0x70, 0x41, 0xe5, 0x5d,
- 0xce, 0xdc, 0xfb, 0x79, 0x31, 0xe1, 0xaa, 0x92, 0x2d, 0xf7, 0x6c, 0x53,
- 0x2d, 0x5a, 0x16, 0xb0, 0xba, 0x63, 0x1f, 0x22, 0xdb, 0x98, 0x57, 0xf9,
- 0x2c, 0xad, 0x72, 0xae, 0x1f, 0x4d, 0x7b, 0x1b, 0x06, 0xaf, 0x82, 0x27,
- 0x11, 0x02, 0xb3, 0xb4, 0x84, 0x84, 0x25, 0x48, 0x23, 0xdc, 0xd6, 0x20,
- 0xd4, 0x07, 0x42, 0x89, 0x49, 0x83, 0x78, 0x49, 0xa5, 0xf6, 0xfc, 0x8a,
- 0x15, 0x7a, 0xde, 0x36, 0xff, 0x2d, 0x74, 0x25, 0x9a, 0x7e, 0x4b, 0x3a,
- 0xee, 0xdb, 0xe3, 0x93, 0xa3, 0xad, 0xe4, 0x6d, 0xd6, 0x48, 0x6e, 0x93,
- 0x02, 0x8b, 0xe9, 0xa6, 0xff, 0x03, 0xb4, 0x2b, 0xcb, 0x69, 0x27, 0xf9,
- 0xc1, 0xd1, 0x1a, 0xc8, 0x6c, 0xc3, 0x40, 0xcd, 0xd0, 0x3c, 0x29, 0x5e,
- 0x18, 0x0c, 0x91, 0xc2, 0x72, 0x8a, 0x26, 0xd3, 0x30, 0xa7, 0xac, 0x3b,
- 0x25, 0x5b, 0x85, 0x35, 0x16, 0x99, 0xe5, 0x61, 0xe0, 0x6b, 0x9a, 0x60,
- 0x02, 0x77, 0x50, 0x02, 0xea, 0xb7, 0xa0, 0x9d, 0x39, 0x2e, 0x98, 0xd7,
- 0xf3, 0x29, 0xc9, 0x81, 0x18, 0xc7, 0xcb, 0x54, 0x32, 0xa0, 0x80, 0x7e,
- 0xa6, 0x4d, 0xcf, 0xb5, 0x9e, 0xc5, 0xe2, 0x81, 0x38, 0xa5, 0xf1, 0x7a,
- 0x13, 0xf7, 0x8d, 0x4e, 0x1c, 0xc1, 0x4f, 0xf8, 0xcf, 0xed, 0x2f, 0xa3,
- 0xf4, 0x63, 0xbc, 0xc7, 0x8f, 0x50, 0xf0, 0x52, 0x5e, 0xc0, 0x8e, 0xe2,
- 0x12, 0xc8, 0x72, 0xbf, 0xab, 0xc6, 0xd9, 0xda, 0x09, 0x31, 0xdd, 0x15,
- 0xfb, 0xc1, 0x85, 0xe4, 0xff, 0x2a, 0x85, 0x6b, 0x54, 0x7b, 0xa0, 0x04,
- 0x70, 0x77, 0xb5, 0x64, 0xde, 0x47, 0xeb, 0x68, 0x85, 0x28, 0x16, 0xc8,
- 0x52, 0x50, 0x93, 0x15, 0x29, 0x02, 0xe9, 0xa7, 0x8a, 0xd2, 0xd7, 0x0e,
- 0xd3, 0x63, 0xd7, 0xc2, 0x1f, 0x0c, 0x4f, 0x0a, 0xa7, 0x8f, 0xd5, 0x11,
- 0xd7, 0xbf, 0x4b, 0x8f, 0x73, 0x51, 0x3e, 0x14, 0x9a, 0x64, 0xc7, 0x8c,
- 0x42, 0x10, 0x7a, 0x92, 0xd4, 0x75, 0xc7, 0xcf, 0x4c, 0xef, 0x23, 0x8a,
- 0x92, 0x7c, 0xdd, 0x97, 0x3e, 0x5d, 0x7d, 0xdd, 0x7e, 0xa3, 0xb4, 0xcc,
- 0x39, 0x62, 0x85, 0x86, 0x9a, 0x22, 0xcd, 0x1d, 0xfb, 0xca, 0x51, 0x09,
- 0x9c, 0x92, 0xde, 0xc7, 0x9f, 0x72, 0xb2, 0x8c, 0xea, 0x66, 0x01, 0x6d,
- 0x2e, 0x2d, 0xfc, 0x5e, 0x5a, 0xb2, 0xed, 0x49, 0x89, 0x99, 0x8e, 0x2b,
- 0x9e, 0xa4, 0x1d, 0x91, 0xbf, 0x80, 0x08, 0x3c, 0xb5, 0x37, 0x3c, 0x1a,
- 0x7b, 0x56, 0xac, 0x86, 0x46, 0x89, 0x90, 0xcc, 0xf5, 0x1d, 0xa1, 0x15,
- 0xce, 0x50, 0x2e, 0x15, 0xee, 0xbe, 0x5b, 0x21, 0x19, 0xdb, 0x30, 0xa7,
- 0x09, 0x6a, 0xf1, 0xc0, 0xd8, 0xa1, 0x33, 0xca, 0x04, 0x00, 0xb6, 0x56,
- 0x86, 0x2c, 0xd3, 0x63, 0x04, 0xdb, 0x55, 0x7e, 0x13, 0x45, 0x5b, 0x68,
- 0xc7, 0x00, 0xd5, 0xd0, 0x5e, 0x28, 0xce, 0x18, 0xa0, 0x0f, 0xe6, 0xaa,
- 0x83, 0x5b, 0x1a, 0xd5, 0x6c, 0xed, 0xf2, 0x05, 0x27, 0x78, 0x4a, 0xda,
- 0x2a, 0x51, 0x7a, 0x15, 0xfb, 0x66, 0xfb, 0x27, 0xeb, 0xdf, 0x18, 0xb5,
- 0x67, 0x7f, 0xdd, 0x92, 0x5a, 0x0b, 0x38, 0x2a, 0xeb, 0xec, 0x1c, 0x29,
- 0xf8, 0xda, 0x8f, 0x96, 0x61, 0x62, 0x9d, 0xbd, 0x51, 0xb9, 0x65, 0xd3,
- 0x6c, 0x42, 0x28, 0xb3, 0x4d, 0x7b, 0xe9, 0x81, 0xe0, 0xe4, 0x3a, 0x24,
- 0xed, 0xa6, 0x2e, 0xfd, 0xd0, 0x3f, 0xc4, 0xc7, 0xfb, 0xdf, 0xa0, 0xbd,
- 0xcf, 0xd7, 0xad, 0xb7, 0xb7, 0xfb, 0x2b, 0xd3, 0xf1, 0xb5, 0x18, 0xf4,
- 0xa7, 0x55, 0x62, 0xae, 0x5e, 0x54, 0x9a, 0x72, 0x04, 0x5c, 0x89, 0xf4,
- 0x12, 0xe4, 0x6f, 0x93, 0xc9, 0xb6, 0x5d, 0x74, 0x86, 0xd0, 0x2d, 0xab,
- 0xd9, 0x69, 0xae, 0x91, 0x39, 0xa8, 0x74, 0x26, 0xfd, 0xf2, 0xb2, 0x0f,
- 0x58, 0xb4, 0x91, 0xfe, 0x9f, 0x08, 0x95, 0xe4, 0x9d, 0x3a, 0x90, 0x83,
- 0x80, 0xba, 0x79, 0x32, 0x89, 0x69, 0xe5, 0x9c, 0xc1, 0x48, 0x1a, 0x87,
- 0x6c, 0x7c, 0xcd, 0xaf, 0xe0, 0xc5, 0xdc, 0x17, 0xaf, 0x3c, 0x5e, 0xb7,
- 0x25, 0x7f, 0x88, 0x97, 0x6b, 0x65, 0x85, 0xa0, 0x1e, 0x6b, 0xee, 0x18,
- 0x34, 0x4c, 0xb7, 0x19, 0x7b, 0x72, 0xe1, 0x7b, 0x5e, 0xcc, 0xa1, 0xad,
- 0x12, 0x89, 0x66, 0xe0, 0x7a, 0xd1, 0xdc, 0x10, 0xbe, 0xf5, 0x9f, 0x0d,
- 0x76, 0x7a, 0x41, 0xb4, 0xbe, 0x81, 0x8d, 0x5f, 0x38, 0xa8, 0x10, 0x80,
- 0x12, 0x90, 0x91, 0xfd, 0x68, 0x5a, 0x6d, 0xdd, 0xdc, 0x93, 0xb4, 0xb6,
- 0x69, 0xb4, 0xe0, 0xb0, 0x76, 0xf9, 0x0e, 0x0e, 0xdf, 0xc3, 0xb5, 0xcd,
- 0x0b, 0x97, 0x3e, 0x1b, 0xe3, 0x1d, 0x15, 0xe4, 0xd6, 0x97, 0xfd, 0x6e,
- 0xd5, 0x47, 0x5b, 0xfc, 0xc9, 0x4f, 0xda, 0xf0, 0xca, 0x38, 0x2d, 0x75,
- 0x33, 0x81, 0xcb, 0xfc, 0x40, 0xcb, 0xa5, 0xf4, 0xcd, 0xa4, 0x4a, 0x8d,
- 0xcb, 0x7e, 0x46, 0x3f, 0x64, 0xb2, 0x0e, 0x25, 0xf3, 0xac, 0x1f, 0x98,
- 0xb3, 0x27, 0x9f, 0xd1, 0x9c, 0x59, 0x76, 0x77, 0xad, 0x62, 0xe2, 0x2e,
+ 0x6b, 0x7b, 0xdc, 0x46, 0x92, 0x26, 0x0c, 0x7f, 0xe7, 0xaf, 0x40, 0xb3,
+ 0xdf, 0x1e, 0x92, 0xdd, 0x55, 0xc5, 0x83, 0x0e, 0xb6, 0x68, 0xc9, 0x63,
+ 0x9a, 0xa2, 0x2c, 0x8e, 0x29, 0x91, 0xcb, 0xa2, 0x6c, 0xf7, 0xda, 0xbe,
+ 0x74, 0xa1, 0xaa, 0x40, 0x12, 0xad, 0x2a, 0xa0, 0x1a, 0x40, 0xf1, 0xd0,
+ 0xb3, 0xb3, 0xbf, 0xfd, 0xc9, 0xb8, 0x23, 0x22, 0x33, 0x81, 0xcc, 0x2a,
+ 0xd2, 0x6e, 0xbb, 0x77, 0xde, 0x67, 0x9f, 0xd9, 0x6d, 0x4b, 0x22, 0x81,
+ 0x44, 0x1e, 0x23, 0xe3, 0x70, 0xc7, 0x1d, 0x49, 0xf2, 0xd0, 0xff, 0x7d,
+ 0xc4, 0xff, 0x3e, 0x9a, 0xff, 0x33, 0x7f, 0xae, 0x25, 0xc9, 0x59, 0x55,
+ 0xfe, 0x2d, 0x1b, 0x37, 0xf1, 0x67, 0x3f, 0x7e, 0xfc, 0x5f, 0x09, 0xff,
+ 0x3f, 0xf3, 0xce, 0x4f, 0xe6, 0xcf, 0xb5, 0x95, 0x6d, 0x6f, 0x27, 0xee,
+ 0x85, 0xff, 0xf5, 0x71, 0x2b, 0x79, 0xe8, 0x85, 0xff, 0x95, 0x6c, 0xe2,
+ 0x85, 0x8f, 0xf2, 0x85, 0x97, 0xf4, 0xf7, 0x8f, 0x1f, 0x57, 0x7f, 0xe4,
+ 0x27, 0xea, 0x15, 0xfd, 0x67, 0x9b, 0xde, 0xfb, 0xe9, 0x23, 0xfd, 0xd5,
+ 0xfc, 0x64, 0x6d, 0xed, 0xfd, 0xc1, 0xbb, 0x23, 0x7d, 0x75, 0xbc, 0xa8,
+ 0xa6, 0x49, 0x3f, 0x69, 0xaa, 0xb4, 0xa8, 0x2f, 0xb3, 0x2a, 0x49, 0x93,
+ 0x0f, 0xe7, 0x27, 0x6b, 0x6b, 0xc3, 0xbf, 0xbe, 0x3f, 0x3d, 0x1b, 0x1e,
+ 0x0f, 0x5b, 0x8f, 0xfd, 0x58, 0xce, 0x9b, 0xbc, 0x2c, 0x6a, 0xd3, 0x7d,
+ 0xf3, 0x50, 0xfd, 0xf3, 0xda, 0xda, 0xeb, 0xa3, 0xe1, 0xe1, 0xf9, 0xf1,
+ 0xd9, 0xc5, 0xf1, 0xe9, 0xfb, 0xd6, 0x93, 0x49, 0x5e, 0x27, 0xa6, 0xa9,
+ 0xa6, 0x2c, 0xa7, 0xe6, 0x3f, 0xae, 0xf5, 0x49, 0xda, 0xa4, 0xc9, 0x65,
+ 0x55, 0xce, 0x92, 0xb2, 0xa2, 0x5f, 0xa4, 0x49, 0x9d, 0x55, 0x37, 0x59,
+ 0xd5, 0x4b, 0x16, 0x75, 0x5e, 0x5c, 0x25, 0x65, 0x91, 0x25, 0xe5, 0x65,
+ 0xd2, 0x5c, 0x67, 0xda, 0x5c, 0xbd, 0x98, 0xcf, 0xcb, 0xaa, 0xc9, 0x26,
+ 0xc9, 0xbc, 0x2a, 0x9b, 0x72, 0x5c, 0x4e, 0xeb, 0x64, 0xf3, 0xf5, 0xf1,
+ 0xe1, 0x45, 0x2f, 0x79, 0x73, 0x7c, 0x72, 0x64, 0xfe, 0x7b, 0x71, 0x86,
+ 0xff, 0x0c, 0x7b, 0xc9, 0x37, 0xa7, 0x67, 0x6f, 0x8f, 0xce, 0x7b, 0xc9,
+ 0xdb, 0x0b, 0xfa, 0x19, 0xfd, 0xd7, 0xfc, 0x30, 0x39, 0x7e, 0x77, 0x70,
+ 0xd6, 0xd3, 0xe6, 0xe8, 0x1f, 0xf4, 0xc3, 0x93, 0xd7, 0xe6, 0x87, 0xfc,
+ 0x07, 0xfd, 0xf3, 0xec, 0xf4, 0xec, 0x89, 0xfc, 0x41, 0xff, 0x3c, 0xbf,
+ 0x78, 0x67, 0x7e, 0x7b, 0x7e, 0x31, 0x34, 0xff, 0x1d, 0x1e, 0xd2, 0x7f,
+ 0xf0, 0x95, 0xe1, 0xbb, 0xaf, 0xf1, 0x9f, 0xa1, 0x6d, 0x6e, 0xf8, 0x8e,
+ 0x7f, 0x8e, 0x2f, 0x5d, 0x1c, 0x9d, 0xbc, 0x3f, 0xba, 0x48, 0xd2, 0x62,
+ 0x92, 0x5c, 0x98, 0xe7, 0xb7, 0x06, 0xc9, 0xc5, 0x75, 0x96, 0x8c, 0xcb,
+ 0xd9, 0x8c, 0x7e, 0x64, 0x66, 0x64, 0x92, 0xd5, 0xf9, 0x55, 0x61, 0x86,
+ 0x62, 0x46, 0x7e, 0x5b, 0x56, 0x9f, 0x92, 0xe4, 0x36, 0x6f, 0xae, 0xcb,
+ 0x45, 0xa3, 0xcd, 0x2d, 0xcc, 0x6c, 0x24, 0x79, 0xd1, 0x64, 0x55, 0x3a,
+ 0xa6, 0x99, 0x1e, 0xac, 0xb5, 0x66, 0xb5, 0xbc, 0x34, 0x73, 0x58, 0x9b,
+ 0x49, 0x1b, 0x2d, 0xea, 0x69, 0x99, 0x4e, 0x68, 0xaa, 0xcc, 0x2b, 0x97,
+ 0x0b, 0x33, 0xc9, 0x55, 0x3e, 0xfe, 0x54, 0x27, 0xd3, 0xfc, 0x53, 0x46,
+ 0x13, 0x75, 0x77, 0xaf, 0x13, 0xd7, 0xe3, 0x46, 0xd3, 0x85, 0x99, 0xd3,
+ 0xa2, 0xaf, 0xcd, 0x35, 0xf9, 0x38, 0xa5, 0x0f, 0x60, 0xe6, 0x92, 0xc5,
+ 0x9c, 0x5a, 0xe3, 0x19, 0x4b, 0xe6, 0x65, 0x6d, 0x5e, 0x1a, 0x0e, 0x4f,
+ 0x4c, 0xcf, 0x8b, 0x22, 0x43, 0x3f, 0xea, 0x9e, 0xf9, 0x47, 0xf9, 0x29,
+ 0xcf, 0xcc, 0x5f, 0x2e, 0xf3, 0x69, 0x96, 0xf0, 0x8a, 0xda, 0xe6, 0x68,
+ 0x69, 0x93, 0x2a, 0xab, 0x17, 0xb3, 0xcc, 0xcc, 0xde, 0xbb, 0xac, 0x49,
+ 0xa7, 0x79, 0xf1, 0xc9, 0xfc, 0x95, 0x06, 0x3e, 0x2b, 0xab, 0x6c, 0x90,
+ 0x1c, 0xd4, 0xc9, 0x7d, 0xb9, 0x30, 0x03, 0x9e, 0x4e, 0xcd, 0x9a, 0x67,
+ 0xc9, 0x28, 0x9b, 0x96, 0xb7, 0x3d, 0x5a, 0xe9, 0xa4, 0x58, 0xcc, 0x46,
+ 0xa6, 0x81, 0xf2, 0xd2, 0x35, 0x97, 0x36, 0x0b, 0xd3, 0x1c, 0x3f, 0x3d,
+ 0x4b, 0xcd, 0x98, 0xcc, 0xbb, 0x55, 0x72, 0x9d, 0x99, 0x31, 0xd7, 0xf3,
+ 0xbc, 0xf8, 0x43, 0x7b, 0x5e, 0xcc, 0xd4, 0xce, 0xcb, 0xdb, 0xac, 0x32,
+ 0x33, 0x3b, 0xba, 0x4f, 0xcc, 0x24, 0x8c, 0x78, 0x13, 0x5e, 0x9a, 0x4d,
+ 0x96, 0xa4, 0xa6, 0x09, 0xbb, 0x01, 0xfb, 0x55, 0x36, 0x4d, 0x69, 0x33,
+ 0xd9, 0x6f, 0x0c, 0xcc, 0x22, 0x66, 0x76, 0xb7, 0xc9, 0xab, 0x9b, 0x4f,
+ 0xb6, 0xf0, 0xf2, 0xc4, 0x8c, 0x24, 0x9f, 0xd6, 0x66, 0x19, 0xe8, 0x50,
+ 0xc8, 0x33, 0xb4, 0xa8, 0xb4, 0xff, 0xcd, 0xde, 0xbc, 0x2f, 0x9a, 0xf4,
+ 0x0e, 0x9f, 0x97, 0xbd, 0xd9, 0x9f, 0x64, 0xf3, 0xac, 0x98, 0x64, 0x45,
+ 0x33, 0x48, 0xfe, 0x5a, 0x2e, 0x36, 0xcc, 0xb7, 0x2f, 0x73, 0x33, 0x07,
+ 0xa9, 0x34, 0x65, 0xbe, 0x6c, 0x36, 0xc1, 0xb8, 0xca, 0xe7, 0xde, 0x52,
+ 0x94, 0x85, 0x59, 0xf3, 0xe4, 0xfc, 0xcd, 0x61, 0xf2, 0xe4, 0xc5, 0xe7,
+ 0xcf, 0xdd, 0x9a, 0x9b, 0x06, 0x92, 0x71, 0x5a, 0x98, 0x11, 0x67, 0xe3,
+ 0xfc, 0xf2, 0x3e, 0x99, 0x2d, 0xa6, 0x4d, 0x3e, 0x37, 0xb3, 0x4f, 0x87,
+ 0x8f, 0x0e, 0xd0, 0x3c, 0xad, 0x9a, 0x9a, 0x36, 0x01, 0x7e, 0x80, 0xb1,
+ 0xdf, 0x56, 0x79, 0x43, 0x07, 0x09, 0xbf, 0x33, 0x3d, 0xcc, 0x9a, 0x5a,
+ 0x9b, 0xa3, 0xbd, 0x66, 0xbe, 0x33, 0x32, 0x7b, 0xcb, 0x4c, 0x6d, 0x5a,
+ 0x9b, 0x8f, 0xee, 0xaf, 0x39, 0x09, 0x72, 0xdd, 0x34, 0xf3, 0xfd, 0xed,
+ 0xed, 0x3a, 0x6f, 0xb2, 0xc1, 0x7f, 0x9a, 0x73, 0xd8, 0x6b, 0x6e, 0xcb,
+ 0x5e, 0x73, 0x5d, 0x65, 0xd9, 0x7f, 0x0d, 0xcc, 0x1e, 0xb6, 0x4f, 0x9a,
+ 0xef, 0xde, 0x4b, 0xc7, 0xae, 0xb2, 0xc6, 0x7c, 0xe1, 0xef, 0x8b, 0xac,
+ 0xa0, 0x16, 0x4d, 0x3f, 0xd2, 0xe9, 0xfc, 0x3a, 0x35, 0xcb, 0x99, 0x99,
+ 0xdd, 0x48, 0x27, 0xdb, 0x6c, 0x18, 0xea, 0x15, 0x9f, 0xed, 0x1f, 0x7f,
+ 0x0e, 0x3f, 0x7a, 0x89, 0x6f, 0x9a, 0xff, 0x0e, 0xb2, 0xbb, 0x74, 0x66,
+ 0xc6, 0x46, 0x9f, 0xda, 0xa6, 0x2d, 0xf6, 0xe3, 0x6e, 0x7f, 0x77, 0x67,
+ 0xe7, 0xe7, 0x41, 0x73, 0xd7, 0x3c, 0xee, 0xf9, 0x9d, 0x1d, 0xf7, 0x06,
+ 0x3d, 0xba, 0x49, 0xe3, 0x4d, 0xa6, 0x66, 0xcb, 0xd0, 0xc7, 0xff, 0x91,
+ 0x55, 0x65, 0xbd, 0xf5, 0xb8, 0x96, 0xd2, 0xfe, 0x3f, 0xda, 0xdf, 0x7d,
+ 0x9f, 0xd5, 0xd8, 0x33, 0x6e, 0xac, 0x49, 0x5a, 0x99, 0x7d, 0x5b, 0x36,
+ 0x4e, 0x3c, 0xf5, 0xcc, 0xa1, 0x6c, 0xec, 0xcc, 0x98, 0x33, 0x67, 0x9e,
+ 0x36, 0x82, 0x2d, 0x9d, 0x92, 0x4c, 0xab, 0x93, 0x22, 0xbb, 0xb3, 0xa7,
+ 0xdc, 0x9c, 0xfe, 0x2c, 0x1d, 0x5f, 0x27, 0xa5, 0xd9, 0xfc, 0x55, 0x64,
+ 0x09, 0xfc, 0x0e, 0xa5, 0xd5, 0xf8, 0x3a, 0xbf, 0x31, 0xb3, 0xf1, 0xe2,
+ 0xc5, 0xf3, 0xbe, 0xf9, 0xcf, 0x8b, 0x9f, 0xb7, 0x6f, 0xca, 0xa9, 0x99,
+ 0x9c, 0xa7, 0x3f, 0x6f, 0xd3, 0x12, 0xff, 0x67, 0xda, 0x1b, 0xf5, 0xc6,
+ 0xff, 0x35, 0xb8, 0x6e, 0x66, 0xd3, 0xa5, 0x1b, 0x27, 0x2d, 0xcc, 0xff,
+ 0x66, 0xe5, 0xa2, 0x68, 0xec, 0x66, 0x31, 0x7b, 0xae, 0xf1, 0x84, 0x93,
+ 0x39, 0xae, 0xe6, 0x8c, 0xd2, 0xd6, 0xa6, 0x3d, 0x44, 0xa7, 0xce, 0x1c,
+ 0x50, 0x77, 0x1c, 0x9b, 0xf1, 0x35, 0x8d, 0xdf, 0xec, 0x9e, 0x54, 0x26,
+ 0xa1, 0xc9, 0x53, 0x3a, 0x99, 0x46, 0x40, 0x90, 0xc0, 0x42, 0x5b, 0xfc,
+ 0xb5, 0xdc, 0x3c, 0x58, 0x56, 0x93, 0xac, 0x1a, 0x74, 0xbb, 0x61, 0x8f,
+ 0xac, 0xf7, 0xcd, 0x44, 0x6f, 0x14, 0xfa, 0x01, 0x3a, 0x36, 0xcb, 0xef,
+ 0x4c, 0x0b, 0x10, 0x98, 0x05, 0x3a, 0xce, 0xad, 0x25, 0xd4, 0x63, 0x7c,
+ 0x46, 0xdf, 0x77, 0x47, 0xd6, 0x74, 0xbd, 0x35, 0x74, 0x7c, 0xd4, 0x0d,
+ 0x3e, 0x31, 0x8b, 0x37, 0x37, 0x6f, 0x2d, 0x48, 0xae, 0xe2, 0x58, 0x53,
+ 0x33, 0x46, 0x20, 0x5c, 0x99, 0x75, 0x31, 0x6b, 0x41, 0xbb, 0x98, 0x96,
+ 0xea, 0x3e, 0x79, 0x6f, 0x36, 0x0c, 0x0b, 0x23, 0x6f, 0xb3, 0x4f, 0xb3,
+ 0xa6, 0x79, 0x70, 0x99, 0xdc, 0x8e, 0xdd, 0xdf, 0x0d, 0x36, 0xed, 0xb2,
+ 0xe7, 0xcd, 0x3e, 0xdb, 0xdf, 0x6b, 0x3f, 0xfc, 0xbd, 0x11, 0xd2, 0xee,
+ 0xb8, 0x98, 0xaf, 0xff, 0xe7, 0x7f, 0x79, 0xbb, 0xee, 0x96, 0x7e, 0x9b,
+ 0x17, 0x37, 0xe5, 0x27, 0x33, 0x45, 0xb8, 0x45, 0xd3, 0xf6, 0x6c, 0x92,
+ 0x1c, 0x9a, 0xcd, 0x1b, 0x7b, 0x3d, 0xd1, 0x76, 0x34, 0x3f, 0x1a, 0xa5,
+ 0xa3, 0xe9, 0x7d, 0x72, 0x9d, 0xde, 0x64, 0x34, 0xde, 0xb9, 0xd9, 0xa7,
+ 0x34, 0x03, 0xe6, 0xda, 0x98, 0x42, 0x8e, 0x89, 0x60, 0x98, 0x94, 0x8b,
+ 0x91, 0x11, 0x2e, 0x7f, 0x5f, 0x94, 0x0d, 0x4f, 0x4c, 0x7a, 0x53, 0xe6,
+ 0x93, 0xd6, 0x5d, 0x7c, 0x9d, 0x91, 0x40, 0xa3, 0x0f, 0xe3, 0x92, 0x32,
+ 0x02, 0x95, 0x7a, 0x8a, 0x83, 0x96, 0x37, 0x74, 0xdd, 0x19, 0x51, 0x98,
+ 0x4e, 0xeb, 0x32, 0x49, 0xae, 0x4a, 0x3a, 0x25, 0x10, 0xc0, 0xd8, 0xe6,
+ 0x66, 0x51, 0xae, 0x53, 0xba, 0xd5, 0xcc, 0x05, 0x66, 0xcf, 0x41, 0x95,
+ 0x41, 0x16, 0x63, 0xa5, 0xd2, 0x69, 0x8f, 0x6f, 0x2f, 0x7a, 0x47, 0xa6,
+ 0x2a, 0xd9, 0xf8, 0xb7, 0x8d, 0x5e, 0xb2, 0xf1, 0xef, 0x1b, 0xd8, 0x0f,
+ 0x1b, 0x7f, 0xde, 0x70, 0xeb, 0x6c, 0x94, 0xb1, 0x9b, 0x7c, 0x92, 0xf1,
+ 0x96, 0x38, 0x3e, 0xbb, 0x79, 0x9e, 0xfc, 0x83, 0x74, 0x07, 0x23, 0x6b,
+ 0xb3, 0x3b, 0xdd, 0x90, 0x3a, 0x36, 0xf3, 0x76, 0x62, 0x84, 0x6e, 0x3a,
+ 0x27, 0x25, 0x22, 0xab, 0xc6, 0x66, 0xf7, 0xa6, 0x57, 0x66, 0xbf, 0x9a,
+ 0xbb, 0x58, 0x9b, 0xa3, 0xf6, 0xe9, 0x15, 0x1e, 0x96, 0x11, 0x90, 0x49,
+ 0x91, 0xce, 0xcc, 0x89, 0x38, 0xa1, 0x1e, 0xe5, 0x45, 0xb8, 0x98, 0x3f,
+ 0x5e, 0x66, 0x9f, 0xef, 0xec, 0xef, 0x3f, 0xf9, 0xd3, 0xde, 0xb3, 0xac,
+ 0xb9, 0xde, 0xf9, 0x79, 0xdb, 0x3e, 0x72, 0x7c, 0x89, 0x69, 0xd7, 0xed,
+ 0xa7, 0x9d, 0x30, 0xb7, 0xbc, 0xbd, 0x25, 0xcc, 0xfb, 0xe6, 0xef, 0xd9,
+ 0x65, 0x7e, 0xd7, 0x53, 0x7d, 0x89, 0xcf, 0x5c, 0x6a, 0xb6, 0x9a, 0x59,
+ 0x3f, 0x12, 0x11, 0xda, 0xdc, 0xd5, 0x22, 0xab, 0xcd, 0x4c, 0xde, 0x5e,
+ 0xa7, 0x4d, 0x62, 0x1b, 0xe0, 0x95, 0x9d, 0xe5, 0x57, 0xd7, 0x4d, 0x72,
+ 0x9b, 0xd2, 0x65, 0x73, 0xdc, 0x70, 0x13, 0x74, 0xcb, 0x9b, 0x2b, 0xe6,
+ 0x32, 0x35, 0x77, 0x05, 0xad, 0x21, 0xae, 0xf4, 0x91, 0xd3, 0x30, 0x1a,
+ 0xb3, 0xcd, 0x79, 0x41, 0x9c, 0x3a, 0x35, 0x4a, 0x6b, 0x3a, 0xb4, 0x85,
+ 0x11, 0x0e, 0x8d, 0xd1, 0x11, 0x16, 0xf4, 0xaf, 0x6b, 0xa3, 0x05, 0x60,
+ 0x0e, 0xa4, 0xa3, 0xb8, 0x28, 0xdf, 0xd0, 0x72, 0xd2, 0xda, 0xd8, 0xcb,
+ 0xcb, 0x2c, 0x52, 0x4f, 0x96, 0xd9, 0xbe, 0x51, 0x9b, 0x03, 0x67, 0x24,
+ 0x93, 0xdd, 0x19, 0xeb, 0x24, 0x64, 0xd7, 0x79, 0x9c, 0xe8, 0x63, 0x5a,
+ 0x93, 0xa2, 0xc0, 0xea, 0x80, 0xe9, 0xbc, 0x37, 0x58, 0x33, 0x69, 0xe9,
+ 0x27, 0x52, 0x49, 0x3a, 0x8a, 0x0f, 0x5e, 0x9b, 0x94, 0x66, 0x93, 0x99,
+ 0xde, 0x1a, 0x61, 0x4c, 0x23, 0x23, 0x11, 0x8b, 0x59, 0xc1, 0x26, 0x37,
+ 0x6d, 0xd2, 0x0f, 0xf3, 0x86, 0xee, 0x18, 0xe8, 0xb0, 0xa6, 0xbf, 0x66,
+ 0x52, 0xa0, 0x88, 0x1a, 0x41, 0xed, 0x8d, 0x1f, 0xd7, 0xa3, 0x79, 0x36,
+ 0xb9, 0x31, 0x5a, 0x8a, 0x51, 0x48, 0x33, 0xfb, 0x16, 0xee, 0xf3, 0x31,
+ 0xe9, 0x46, 0x53, 0x73, 0x5e, 0xc6, 0x65, 0x55, 0x91, 0xbe, 0x4f, 0x2b,
+ 0x38, 0x62, 0x21, 0x3a, 0xcb, 0x8c, 0x1a, 0xe1, 0x4f, 0x67, 0x4e, 0x17,
+ 0x9a, 0x91, 0x2f, 0x46, 0x2f, 0x81, 0x04, 0x31, 0xfa, 0x03, 0x64, 0x3e,
+ 0x06, 0x8e, 0xde, 0x51, 0xdb, 0xe3, 0x71, 0x36, 0x6f, 0xea, 0xd8, 0x98,
+ 0x74, 0xc1, 0x4d, 0x77, 0xaa, 0x8c, 0x66, 0xde, 0x57, 0xba, 0x30, 0xaf,
+ 0xf6, 0xd2, 0x87, 0xde, 0xa5, 0x7a, 0x8c, 0xd1, 0xc3, 0x6a, 0x3b, 0x6b,
+ 0x0d, 0xf6, 0x86, 0x11, 0x63, 0x98, 0xf3, 0x19, 0x75, 0x94, 0x1e, 0xae,
+ 0xf9, 0xa4, 0x42, 0x34, 0xd3, 0x42, 0xb2, 0xa6, 0xcd, 0xdf, 0xa5, 0xab,
+ 0xcb, 0xcc, 0xa7, 0x6d, 0xdc, 0x7c, 0xd5, 0xae, 0x29, 0x7d, 0x9e, 0x54,
+ 0x7c, 0x73, 0x93, 0x4f, 0xea, 0x6b, 0xa3, 0x7c, 0xd5, 0x72, 0xb2, 0xf3,
+ 0x99, 0xd9, 0x33, 0x37, 0xb4, 0xbe, 0xf3, 0x2c, 0x9b, 0x0c, 0x92, 0xd3,
+ 0x4b, 0x92, 0xaa, 0x95, 0xe9, 0x74, 0x83, 0x5f, 0xd3, 0xad, 0x62, 0xe6,
+ 0x6d, 0x02, 0x25, 0xde, 0x1e, 0x2d, 0xee, 0x8a, 0x77, 0x3b, 0x40, 0x92,
+ 0xa7, 0xe6, 0x27, 0xa6, 0xb7, 0xd3, 0xf6, 0x15, 0x84, 0x73, 0x68, 0xa4,
+ 0x37, 0x75, 0x6f, 0x94, 0x25, 0xd8, 0x89, 0xa3, 0xac, 0xb9, 0xcd, 0x32,
+ 0xdb, 0x5c, 0x9d, 0x99, 0x6b, 0x8f, 0x16, 0x8d, 0x35, 0x3f, 0x08, 0x43,
+ 0x9a, 0xda, 0xb3, 0xf3, 0xd3, 0x6f, 0xce, 0x8f, 0x86, 0xc3, 0xe4, 0xdd,
+ 0xd1, 0xc5, 0xd1, 0x79, 0x6b, 0xa6, 0x8b, 0xb2, 0x9a, 0x61, 0x45, 0x27,
+ 0x79, 0x3d, 0x9f, 0xa6, 0xf7, 0xb4, 0xd4, 0x66, 0x24, 0x57, 0x15, 0x9d,
+ 0xac, 0x59, 0x46, 0xb7, 0xc2, 0x64, 0x01, 0x49, 0x66, 0xae, 0x23, 0xb3,
+ 0x7c, 0xa2, 0xf1, 0x92, 0x30, 0x81, 0x9a, 0x5c, 0x5c, 0xb9, 0x99, 0x36,
+ 0x12, 0x47, 0x6e, 0x52, 0xba, 0x4a, 0xed, 0x7a, 0x90, 0xea, 0x09, 0xe3,
+ 0xa6, 0xe7, 0x7e, 0xc6, 0xd3, 0xc4, 0x57, 0x9b, 0xd9, 0xb3, 0xf9, 0x0c,
+ 0xc2, 0xce, 0xfc, 0xe9, 0xb4, 0xcd, 0xec, 0xd2, 0xa8, 0xda, 0xe6, 0x76,
+ 0x65, 0x4b, 0xa1, 0xdb, 0x27, 0xed, 0xad, 0xd5, 0x8f, 0xcd, 0x36, 0x24,
+ 0xd1, 0x4c, 0x0d, 0x72, 0x57, 0xf8, 0x0b, 0x56, 0x88, 0x19, 0x9d, 0x84,
+ 0x64, 0x9f, 0x3c, 0x36, 0xa7, 0x2e, 0x64, 0x66, 0x65, 0x27, 0xdc, 0x7c,
+ 0xbd, 0xb8, 0xc4, 0x41, 0x4e, 0x36, 0x8d, 0x66, 0xfe, 0xce, 0x58, 0x4b,
+ 0xc6, 0x62, 0xe9, 0x25, 0x67, 0x5b, 0x78, 0x6f, 0x77, 0x67, 0xef, 0x29,
+ 0x0b, 0x82, 0x81, 0x36, 0xf7, 0xc6, 0x13, 0xc4, 0xbb, 0x9f, 0x68, 0x79,
+ 0xf9, 0x21, 0x6a, 0x7c, 0x90, 0xec, 0xbe, 0xe3, 0x9f, 0x3c, 0xfd, 0xfc,
+ 0xd9, 0x67, 0xcf, 0xe5, 0x87, 0xed, 0x0d, 0x6e, 0xfb, 0x8f, 0xdd, 0x01,
+ 0xcb, 0x8f, 0x4c, 0x41, 0xd3, 0x13, 0x33, 0xba, 0x59, 0x5e, 0x98, 0x63,
+ 0x62, 0x8e, 0x95, 0xc8, 0x2a, 0xda, 0xcf, 0xa6, 0xf3, 0x97, 0x2c, 0xd9,
+ 0x64, 0x5d, 0xdb, 0x26, 0xa5, 0x79, 0xd9, 0x6c, 0x59, 0x23, 0xcb, 0xed,
+ 0x22, 0xb1, 0x9a, 0xd0, 0x50, 0x47, 0xd2, 0x11, 0x09, 0x58, 0xb2, 0xab,
+ 0x8c, 0x02, 0x9c, 0x45, 0xbf, 0x66, 0x6f, 0x45, 0xf3, 0x86, 0xe9, 0x9b,
+ 0xb9, 0x13, 0xe9, 0x9a, 0x0b, 0xe7, 0xdd, 0x88, 0x02, 0x48, 0xc8, 0xdb,
+ 0xbc, 0x86, 0x68, 0xb8, 0x2d, 0x17, 0x53, 0x63, 0xc5, 0xd0, 0x03, 0x8b,
+ 0x39, 0x5e, 0x30, 0x9f, 0x9a, 0x3b, 0x19, 0x60, 0x34, 0x16, 0xda, 0x3b,
+ 0xdd, 0x56, 0x4c, 0xd7, 0xcc, 0x3f, 0xe7, 0x66, 0x2b, 0x71, 0x77, 0x06,
+ 0xdd, 0x1b, 0x02, 0xb2, 0x2f, 0xd8, 0x89, 0x74, 0xe6, 0x21, 0xb4, 0xcf,
+ 0x4e, 0x87, 0x17, 0xa4, 0x01, 0x9c, 0x7d, 0xb8, 0x30, 0x0d, 0x19, 0x15,
+ 0xa0, 0x6e, 0xcc, 0xa6, 0xa4, 0x17, 0x8b, 0x0c, 0x26, 0xa4, 0x36, 0x67,
+ 0xf6, 0x5e, 0x0e, 0x41, 0x05, 0xb5, 0x46, 0x3f, 0xc9, 0x7d, 0x64, 0x1b,
+ 0x9b, 0x8e, 0xa0, 0x5a, 0xd8, 0x7c, 0x87, 0xdb, 0x77, 0x92, 0xcd, 0x2f,
+ 0xb7, 0xcc, 0x9e, 0xed, 0x97, 0x76, 0x76, 0xfa, 0x7d, 0x79, 0xd5, 0x7c,
+ 0xbb, 0xce, 0x67, 0xf9, 0x34, 0xad, 0xbc, 0xae, 0xb3, 0x44, 0xa5, 0xf3,
+ 0x69, 0xe5, 0xca, 0xd8, 0xec, 0x1a, 0x74, 0xdb, 0x99, 0x92, 0x34, 0x87,
+ 0x90, 0x4a, 0x6e, 0xa9, 0x26, 0xa4, 0x10, 0x40, 0x63, 0x9e, 0xe7, 0x76,
+ 0xea, 0x68, 0xcd, 0x48, 0x5c, 0xb5, 0x26, 0xaa, 0xbb, 0x6e, 0xc1, 0xc4,
+ 0xd1, 0x8d, 0x04, 0x4f, 0x85, 0x9d, 0xba, 0x64, 0x7d, 0x94, 0x56, 0xeb,
+ 0x89, 0x95, 0xc5, 0x7c, 0x36, 0xe9, 0x84, 0x54, 0xd9, 0xd5, 0xc2, 0x8c,
+ 0x20, 0xe1, 0xd9, 0xa5, 0x91, 0xfe, 0xd1, 0x1b, 0xa9, 0x36, 0xd0, 0x1f,
+ 0xd1, 0x23, 0x79, 0xcd, 0x66, 0xe6, 0xa5, 0xb1, 0x5b, 0xe8, 0xd0, 0xa8,
+ 0xfe, 0x0a, 0x8d, 0x46, 0x76, 0x4c, 0x64, 0xc3, 0x78, 0x7a, 0xad, 0x39,
+ 0x2a, 0x4d, 0x66, 0x04, 0x0d, 0xc4, 0x3f, 0x3d, 0xd9, 0x37, 0x4b, 0xd6,
+ 0xef, 0xd7, 0x66, 0xfe, 0x49, 0xf7, 0x9e, 0x8b, 0x4d, 0x7f, 0x0a, 0x87,
+ 0x89, 0xf5, 0xad, 0x9c, 0x8a, 0x0e, 0x8c, 0x6b, 0x93, 0xdf, 0x85, 0x08,
+ 0x35, 0x8a, 0xea, 0xad, 0xf9, 0x70, 0x6a, 0x96, 0xcc, 0x1c, 0xb8, 0x77,
+ 0x34, 0x51, 0xec, 0x1b, 0x49, 0xac, 0xda, 0x8c, 0x9d, 0x91, 0xd3, 0xb9,
+ 0x4f, 0x9d, 0x2e, 0x33, 0x99, 0xe4, 0xf4, 0x5b, 0x73, 0xbe, 0xcc, 0x0d,
+ 0xb7, 0xc8, 0x60, 0x7b, 0xc8, 0xa4, 0xce, 0xdc, 0x64, 0xc2, 0x8c, 0xad,
+ 0xaf, 0x4b, 0x32, 0x13, 0xd7, 0x59, 0x16, 0xf7, 0xe9, 0x5b, 0xeb, 0xb8,
+ 0xcf, 0x67, 0x89, 0x7e, 0x4b, 0x3e, 0x65, 0xc6, 0x31, 0xf1, 0x75, 0xb3,
+ 0x9e, 0xb9, 0x68, 0xee, 0x3d, 0x23, 0x01, 0xb2, 0x9a, 0xfb, 0x5e, 0x59,
+ 0x85, 0xc7, 0x5c, 0xa9, 0x73, 0x52, 0xa6, 0x44, 0x86, 0xe3, 0x32, 0xc4,
+ 0x91, 0xad, 0xb9, 0x6b, 0x3d, 0x33, 0xb7, 0xf4, 0xe4, 0xd5, 0xb5, 0x3e,
+ 0xea, 0x5d, 0xac, 0xa9, 0x19, 0x1c, 0x5d, 0x0e, 0x64, 0x4f, 0x4f, 0x54,
+ 0xee, 0x97, 0x15, 0x0b, 0xb3, 0x69, 0x69, 0xf6, 0xf2, 0x3a, 0xab, 0xac,
+ 0xd2, 0x6d, 0xea, 0x35, 0xf5, 0x92, 0x66, 0x9c, 0xfd, 0x4c, 0xa5, 0x5d,
+ 0x1b, 0xdb, 0x69, 0x99, 0xaf, 0xfa, 0xc1, 0xae, 0xb9, 0x89, 0x1a, 0x62,
+ 0x8e, 0xcc, 0xd5, 0x59, 0xd3, 0x3e, 0xd6, 0x99, 0xc7, 0xf6, 0x36, 0x57,
+ 0xdd, 0x46, 0xc3, 0xe7, 0x11, 0x36, 0x56, 0x67, 0xe6, 0x6b, 0x6c, 0x1f,
+ 0xb9, 0xc8, 0xec, 0xc8, 0xcc, 0x88, 0x26, 0x79, 0x8a, 0x7d, 0xc2, 0x4b,
+ 0x03, 0x65, 0xc4, 0x59, 0x84, 0x11, 0x3d, 0xf8, 0xbe, 0x6b, 0xd0, 0x4d,
+ 0xa7, 0xfe, 0x95, 0xa4, 0x7d, 0xea, 0x9f, 0x9a, 0xb1, 0x9f, 0x60, 0x1c,
+ 0xfd, 0x9b, 0x84, 0x8e, 0x9f, 0x31, 0x1b, 0xe8, 0x2c, 0xf6, 0x4f, 0x4f,
+ 0x6e, 0xbc, 0x63, 0x44, 0x96, 0x7b, 0x41, 0x7a, 0x4a, 0x0f, 0xde, 0x91,
+ 0x51, 0x59, 0x1a, 0x33, 0xd9, 0x0d, 0x8d, 0xee, 0x83, 0xac, 0xa0, 0xdd,
+ 0x2e, 0x2b, 0x6a, 0x44, 0xc2, 0xdc, 0xca, 0xdb, 0x7b, 0x63, 0x2e, 0xa5,
+ 0x57, 0x69, 0x6e, 0xf7, 0x9b, 0x9c, 0x8c, 0x49, 0xa2, 0x0f, 0x17, 0xa5,
+ 0x3c, 0x4f, 0x4b, 0x45, 0x2a, 0x90, 0xc8, 0xad, 0x45, 0xcd, 0xc7, 0xc7,
+ 0x8c, 0xca, 0x48, 0x1e, 0xc8, 0x0e, 0x69, 0x97, 0xd4, 0x46, 0x6d, 0x6e,
+ 0x04, 0x45, 0x99, 0x74, 0x4e, 0x08, 0x5f, 0x68, 0x90, 0xa6, 0xc5, 0xf5,
+ 0x41, 0xf2, 0xb6, 0xbc, 0xcd, 0xe0, 0x2b, 0x84, 0x7e, 0x9f, 0x93, 0xb7,
+ 0xcb, 0xa8, 0x82, 0xb7, 0x59, 0x32, 0x33, 0xaa, 0xa7, 0x99, 0x4d, 0x68,
+ 0x1f, 0xf8, 0x99, 0x67, 0x1e, 0x9a, 0x1d, 0x7e, 0xcb, 0xb3, 0x64, 0x47,
+ 0x61, 0x97, 0xf2, 0x92, 0x8f, 0x44, 0xb2, 0x09, 0xf5, 0x66, 0x4c, 0xb3,
+ 0x35, 0x6f, 0xdc, 0x28, 0xec, 0x84, 0xdc, 0xa6, 0xb5, 0x77, 0xb8, 0x32,
+ 0x98, 0xa6, 0xc9, 0x67, 0x83, 0xdd, 0x17, 0x83, 0x9d, 0x01, 0x99, 0x22,
+ 0xd9, 0x4d, 0x5e, 0x2e, 0x6a, 0x5a, 0x4f, 0xea, 0x89, 0x77, 0x3a, 0xc9,
+ 0x27, 0x45, 0xcb, 0x7b, 0x75, 0x35, 0x65, 0xc5, 0x67, 0xbb, 0xbc, 0xbc,
+ 0x4c, 0x3c, 0xe5, 0xa8, 0xca, 0xe6, 0x6c, 0x03, 0xd1, 0xdc, 0xc8, 0x81,
+ 0x63, 0xa1, 0x1a, 0x1a, 0xc9, 0x03, 0xe7, 0xbe, 0xe8, 0xf7, 0xd3, 0x51,
+ 0xdd, 0x90, 0x39, 0xd5, 0x5f, 0x14, 0xf9, 0x5d, 0xbf, 0x2e, 0xc7, 0x9f,
+ 0xcc, 0xb2, 0xbc, 0x9c, 0xa7, 0xcd, 0xf5, 0x97, 0x1d, 0xa7, 0xf0, 0x26,
+ 0xdd, 0x26, 0x5b, 0x49, 0x72, 0xc8, 0x8a, 0x25, 0xcd, 0x45, 0xc5, 0x27,
+ 0xce, 0xac, 0xa7, 0xb4, 0x92, 0x7c, 0x30, 0xad, 0x98, 0xdd, 0x3c, 0x33,
+ 0xcb, 0x9a, 0x70, 0x63, 0x3d, 0x15, 0xa6, 0x9d, 0xe6, 0xe0, 0x72, 0xa4,
+ 0x8b, 0x04, 0x9e, 0x3b, 0x73, 0x78, 0xca, 0xea, 0xd3, 0x80, 0x7c, 0x24,
+ 0xc6, 0x6a, 0xdc, 0xa7, 0x0d, 0xdd, 0x18, 0x31, 0xd6, 0xf0, 0xbc, 0xd7,
+ 0x22, 0x84, 0xa9, 0x5b, 0x2c, 0x93, 0x9d, 0x94, 0xd2, 0xf9, 0xd4, 0x1e,
+ 0xc8, 0x67, 0x13, 0xb5, 0x37, 0x64, 0xeb, 0x6d, 0x7c, 0x65, 0x2c, 0xc0,
+ 0x6b, 0x5e, 0x78, 0x34, 0xc6, 0x63, 0x34, 0x7b, 0xf4, 0xca, 0xd8, 0x10,
+ 0x45, 0xd3, 0x69, 0xce, 0x7c, 0x95, 0x2e, 0x6b, 0xba, 0x67, 0xd8, 0xdc,
+ 0xc5, 0x36, 0x11, 0x1f, 0x90, 0xb5, 0x40, 0x07, 0x6b, 0x9d, 0xd7, 0x0e,
+ 0x74, 0x55, 0x3f, 0x1b, 0x3c, 0x7b, 0x62, 0x16, 0xd5, 0x9f, 0xe8, 0xe2,
+ 0x9e, 0x7c, 0xa7, 0xf1, 0x49, 0xbd, 0x30, 0x77, 0x69, 0xcd, 0xea, 0x89,
+ 0x39, 0xc3, 0x97, 0xf9, 0xd5, 0xa2, 0xca, 0xf8, 0x52, 0x83, 0xbb, 0x55,
+ 0xbd, 0xac, 0x74, 0x4f, 0x5c, 0x97, 0x70, 0x4e, 0x1a, 0xf9, 0x92, 0x4d,
+ 0x2f, 0x7b, 0xdd, 0x59, 0x20, 0x8d, 0x8e, 0xb6, 0x00, 0x86, 0x88, 0x4d,
+ 0x64, 0x34, 0x37, 0x34, 0x56, 0x64, 0x72, 0xaf, 0xcf, 0xcc, 0x04, 0x27,
+ 0xe4, 0x9d, 0x4b, 0xc6, 0xd3, 0x34, 0x9f, 0xc1, 0xdc, 0x11, 0xef, 0xd3,
+ 0xa0, 0xd3, 0xdc, 0x85, 0xa8, 0xe3, 0xd0, 0xc4, 0x47, 0x64, 0x0d, 0x54,
+ 0x35, 0x09, 0x2b, 0x9a, 0x84, 0x54, 0x95, 0x09, 0xd6, 0xb5, 0xaf, 0xb3,
+ 0xf1, 0x27, 0x5d, 0x4d, 0xbd, 0x85, 0xfb, 0x9d, 0xe6, 0xc8, 0xed, 0x0a,
+ 0x93, 0xc3, 0x3c, 0xb5, 0x30, 0x6b, 0x3a, 0x2f, 0xeb, 0x3a, 0x27, 0x8f,
+ 0x02, 0x69, 0xc8, 0x8b, 0x31, 0x14, 0x67, 0x32, 0xb1, 0xef, 0xcc, 0x4a,
+ 0xea, 0x96, 0x48, 0xcc, 0x1e, 0x2b, 0x26, 0xfd, 0xa6, 0xca, 0xe7, 0xcb,
+ 0x7a, 0xc7, 0x57, 0x46, 0xfb, 0xce, 0xae, 0xc5, 0x88, 0x81, 0x7d, 0xc0,
+ 0x16, 0xc3, 0x38, 0xe9, 0xcc, 0x66, 0xa7, 0x39, 0x9e, 0xdb, 0x1e, 0x99,
+ 0xc8, 0xb9, 0x11, 0xa1, 0xac, 0x3f, 0xc2, 0x03, 0x64, 0xb4, 0x45, 0x39,
+ 0xcb, 0x46, 0xb1, 0xcd, 0xc7, 0xb8, 0x17, 0xf2, 0xab, 0x8c, 0xdc, 0xdb,
+ 0xe6, 0x78, 0x37, 0x53, 0x73, 0x5b, 0x78, 0x82, 0xc2, 0xae, 0x78, 0x91,
+ 0x5d, 0x95, 0x0d, 0x09, 0xe8, 0x60, 0x9b, 0x7c, 0xc0, 0xc6, 0xb7, 0x7b,
+ 0x42, 0x35, 0x21, 0xff, 0x9a, 0xca, 0x59, 0x45, 0x31, 0x9f, 0x66, 0x4d,
+ 0x48, 0x8c, 0xb0, 0xba, 0x31, 0x3b, 0xb0, 0xbb, 0xea, 0xa6, 0xb5, 0x71,
+ 0x06, 0x75, 0x14, 0x77, 0xa9, 0x5e, 0xe5, 0xaa, 0x03, 0x8d, 0xc8, 0x64,
+ 0x23, 0xf3, 0xf8, 0x36, 0x1f, 0x67, 0xea, 0xa1, 0x10, 0xb7, 0xdd, 0x34,
+ 0x0f, 0xf7, 0xfe, 0x6c, 0x51, 0xc3, 0x6a, 0x62, 0x35, 0x85, 0x0c, 0xca,
+ 0xdb, 0x9c, 0xd4, 0x98, 0xe3, 0x4b, 0x39, 0xab, 0x74, 0x8b, 0xf2, 0xf9,
+ 0x48, 0xab, 0x1c, 0xd6, 0xb3, 0x69, 0x4e, 0xfa, 0xe9, 0x19, 0x39, 0x6a,
+ 0xb7, 0xb9, 0x7e, 0xe3, 0x7d, 0xd1, 0xec, 0x9c, 0x46, 0x07, 0x43, 0xf2,
+ 0x32, 0xcd, 0xa7, 0x91, 0x79, 0x82, 0x82, 0x6a, 0x2c, 0xd2, 0xeb, 0xac,
+ 0x92, 0x35, 0x58, 0xd0, 0xa4, 0x53, 0x28, 0x22, 0x78, 0x7a, 0x98, 0x65,
+ 0xac, 0x62, 0x41, 0x1f, 0xbb, 0xbb, 0xb7, 0xd3, 0x8b, 0x7b, 0x8c, 0xd7,
+ 0x4e, 0xfe, 0xce, 0xcb, 0xe7, 0x1d, 0xcf, 0x94, 0x5a, 0x4d, 0xe7, 0xe4,
+ 0x73, 0xef, 0x9e, 0x50, 0xd2, 0x46, 0x29, 0x6c, 0xb3, 0xa5, 0x4e, 0xb5,
+ 0x4c, 0x5c, 0x8a, 0x36, 0xdc, 0x01, 0xe1, 0x40, 0xd1, 0x05, 0x39, 0xc2,
+ 0xdc, 0x8e, 0x68, 0x4a, 0x9d, 0xe6, 0x8c, 0x6a, 0x46, 0x7e, 0x42, 0x18,
+ 0xe1, 0xad, 0x1d, 0x6b, 0x0c, 0xe2, 0xca, 0x3a, 0xdd, 0xc9, 0x09, 0x46,
+ 0xf3, 0xad, 0xba, 0x27, 0xce, 0x2c, 0x5e, 0xea, 0x34, 0x47, 0xda, 0x30,
+ 0xa9, 0x0e, 0xe6, 0xd0, 0xe4, 0xb4, 0x1f, 0xb1, 0x09, 0xd4, 0xef, 0x6a,
+ 0xb6, 0x2f, 0x7b, 0xc6, 0x54, 0xae, 0xb2, 0xb2, 0x81, 0xee, 0x5e, 0x4e,
+ 0xd3, 0x2b, 0xb3, 0xef, 0x3a, 0xcd, 0xe5, 0x57, 0xc6, 0xc6, 0xe5, 0xe8,
+ 0x47, 0x5d, 0x9a, 0xdb, 0x83, 0xc6, 0x2d, 0xf6, 0xbe, 0x31, 0xf7, 0xcc,
+ 0x36, 0x9b, 0x2e, 0x20, 0x01, 0x4f, 0xcd, 0x00, 0x87, 0xc3, 0xb7, 0x5b,
+ 0xbe, 0x80, 0xc3, 0xfc, 0x3e, 0x46, 0xbc, 0x41, 0x3e, 0xc1, 0x34, 0x49,
+ 0xbe, 0xc6, 0x9a, 0x74, 0xa5, 0x1c, 0xaf, 0x74, 0x64, 0xf2, 0x74, 0x22,
+ 0xc8, 0x45, 0x34, 0x10, 0x01, 0x00, 0x09, 0x80, 0x69, 0x52, 0x6f, 0x15,
+ 0xef, 0x70, 0xf2, 0x22, 0xf0, 0x35, 0x6d, 0xfe, 0xb6, 0xa8, 0x17, 0x64,
+ 0xb8, 0x77, 0x9a, 0x9b, 0x1b, 0x41, 0xd6, 0x18, 0xe3, 0xcd, 0x48, 0xa4,
+ 0x45, 0x41, 0x7f, 0x5a, 0xed, 0x22, 0x87, 0x9e, 0x4b, 0x4b, 0x52, 0x91,
+ 0x73, 0x90, 0x2c, 0x04, 0x7b, 0x37, 0x1b, 0xd1, 0x22, 0x2d, 0x77, 0x97,
+ 0x16, 0xee, 0x13, 0x8a, 0x94, 0x40, 0xec, 0x4c, 0x72, 0x8a, 0xb2, 0xd1,
+ 0xc1, 0x5b, 0x22, 0xc5, 0x37, 0xeb, 0x85, 0x91, 0x33, 0xa4, 0x55, 0xb1,
+ 0x10, 0x09, 0x04, 0x88, 0x0a, 0x19, 0xa3, 0xc0, 0x79, 0xd2, 0x64, 0xeb,
+ 0xb7, 0x3e, 0x26, 0x58, 0x38, 0x7f, 0x25, 0xc7, 0x46, 0x9f, 0x35, 0x9a,
+ 0xea, 0x4b, 0xda, 0x6f, 0x81, 0x16, 0x70, 0x71, 0x32, 0x8c, 0x2d, 0x68,
+ 0xdb, 0x71, 0x4f, 0xef, 0x93, 0xc8, 0x25, 0xff, 0x0a, 0xfb, 0x9b, 0x4a,
+ 0xd2, 0x96, 0x3c, 0xe7, 0xbd, 0xef, 0x08, 0x99, 0x67, 0xe4, 0xe5, 0x67,
+ 0x43, 0x82, 0xa3, 0x82, 0x24, 0xc6, 0x8c, 0x1a, 0xd5, 0x90, 0x1a, 0x61,
+ 0x7d, 0x4b, 0x87, 0x07, 0x7e, 0xbb, 0x70, 0x26, 0x75, 0x37, 0x88, 0xf7,
+ 0xfb, 0xcd, 0x7a, 0xcb, 0x4a, 0x32, 0xd3, 0xca, 0xd9, 0xd1, 0x3b, 0x28,
+ 0xf6, 0xa9, 0xd9, 0x38, 0xef, 0xd5, 0x8f, 0xa3, 0x41, 0xbf, 0xd1, 0x22,
+ 0x9f, 0xb6, 0x9c, 0xa5, 0xce, 0x16, 0x41, 0xc4, 0x8d, 0xf7, 0x15, 0xba,
+ 0xc6, 0x6e, 0xff, 0x1c, 0x7e, 0xb3, 0xee, 0x2e, 0x6b, 0xee, 0xe7, 0xe2,
+ 0xf2, 0x5b, 0xd4, 0x2d, 0xcb, 0x5a, 0x6f, 0xe7, 0x69, 0x03, 0xe5, 0x83,
+ 0x14, 0x7e, 0xaf, 0xcd, 0x60, 0x85, 0xd0, 0x2d, 0xba, 0x0c, 0xae, 0x8a,
+ 0xfc, 0x1f, 0xe2, 0x5b, 0xc8, 0x8a, 0x9b, 0xbc, 0x2a, 0x0b, 0x52, 0x55,
+ 0x8c, 0x4d, 0x50, 0xe5, 0x10, 0xce, 0xa4, 0xee, 0x1a, 0xf1, 0xb1, 0x71,
+ 0xf8, 0xe1, 0xfc, 0xe4, 0xe3, 0xe1, 0xc1, 0xc7, 0xaf, 0x3f, 0xbc, 0x7f,
+ 0x7d, 0x72, 0xb4, 0xd1, 0x3d, 0xd4, 0x97, 0x2c, 0x16, 0xe8, 0xa0, 0xd4,
+ 0xa4, 0x90, 0xe1, 0x84, 0x98, 0x2e, 0x72, 0xcb, 0x57, 0xf9, 0x8d, 0x11,
+ 0x6b, 0x50, 0xad, 0xe0, 0xbc, 0xc4, 0xdf, 0x60, 0xee, 0xcb, 0x84, 0x77,
+ 0x9a, 0x1b, 0x99, 0xfb, 0xd8, 0x74, 0x9a, 0x4f, 0x9f, 0x0c, 0x5e, 0x4f,
+ 0x8a, 0x98, 0x33, 0xda, 0xc1, 0x60, 0x64, 0xb4, 0xc4, 0x74, 0x99, 0x90,
+ 0x4a, 0xe7, 0x69, 0xcf, 0x9e, 0x1f, 0x73, 0xd1, 0x18, 0xe5, 0x51, 0x3d,
+ 0xa7, 0xc6, 0x3a, 0x2b, 0x3f, 0x69, 0xf8, 0xd5, 0x68, 0x9e, 0x07, 0x91,
+ 0xe5, 0xae, 0x79, 0x5d, 0x78, 0x2a, 0x36, 0xa8, 0x25, 0xb3, 0x7f, 0xfb,
+ 0xd2, 0xc9, 0x71, 0xd5, 0x18, 0xb5, 0x2f, 0xcb, 0x71, 0x30, 0x34, 0xbc,
+ 0x44, 0x6a, 0x31, 0xbc, 0x16, 0x5d, 0xfd, 0xc4, 0x18, 0x85, 0xf7, 0x34,
+ 0x07, 0xd4, 0xc8, 0x20, 0xbb, 0xcb, 0x70, 0xf2, 0xe4, 0xad, 0xc3, 0x45,
+ 0x85, 0xb3, 0xfc, 0xbd, 0xd1, 0x49, 0x48, 0x02, 0xbe, 0x86, 0xdb, 0xc3,
+ 0xbc, 0xa0, 0x0f, 0x99, 0xcb, 0xa6, 0x7b, 0xf1, 0x95, 0x53, 0x0a, 0x38,
+ 0xa5, 0x30, 0x31, 0xe1, 0x10, 0x38, 0x3b, 0xb8, 0x78, 0x1b, 0xcc, 0x09,
+ 0x89, 0x79, 0x87, 0x75, 0x90, 0xad, 0x08, 0xc3, 0xa8, 0x6e, 0xe4, 0x80,
+ 0xbc, 0x1f, 0x0e, 0x13, 0x44, 0xd2, 0xa7, 0xf9, 0xa8, 0x4a, 0xe9, 0x9b,
+ 0xf4, 0x63, 0xfa, 0xa9, 0xd9, 0xd6, 0x9d, 0xe6, 0xce, 0xbe, 0x3d, 0x1c,
+ 0xfe, 0x71, 0x77, 0xd7, 0x28, 0x7f, 0x93, 0x85, 0x99, 0x97, 0x4d, 0xf3,
+ 0x4a, 0x51, 0x9b, 0x93, 0x39, 0x1b, 0xd4, 0xe5, 0x16, 0x2e, 0x6f, 0x68,
+ 0x7c, 0xb8, 0x1e, 0xd2, 0x1b, 0x73, 0xeb, 0x62, 0x27, 0xf1, 0x1c, 0xd3,
+ 0x7e, 0xee, 0xaa, 0xe9, 0xbc, 0xc0, 0x0a, 0x34, 0x30, 0x12, 0xc3, 0xdc,
+ 0xdb, 0xd3, 0xfb, 0x60, 0x14, 0x9b, 0xf9, 0xe9, 0x50, 0xc2, 0xf4, 0xe9,
+ 0xd8, 0xfc, 0x95, 0x6c, 0xa8, 0x2d, 0x1a, 0x5b, 0xfb, 0x8c, 0xe9, 0xb8,
+ 0x86, 0xac, 0x95, 0x5e, 0x90, 0x8b, 0x13, 0xe8, 0x82, 0x50, 0x2e, 0x14,
+ 0xdd, 0xe3, 0xe5, 0x10, 0x1c, 0xe8, 0xec, 0x28, 0x1d, 0x7f, 0xba, 0x4d,
+ 0xab, 0x09, 0x3b, 0x4c, 0xcc, 0x9e, 0x19, 0xe5, 0xd3, 0xbc, 0xb9, 0xe7,
+ 0xdb, 0xa3, 0x3b, 0x0a, 0x0e, 0x1d, 0xd1, 0x14, 0x9a, 0x93, 0x74, 0x65,
+ 0x6c, 0x21, 0xd2, 0x42, 0xc9, 0x42, 0x34, 0x07, 0xc3, 0xd3, 0xf5, 0xa1,
+ 0x2a, 0x35, 0x56, 0xd5, 0xb1, 0xdf, 0xee, 0x34, 0x07, 0xf7, 0x13, 0x9d,
+ 0x24, 0x74, 0xd3, 0xed, 0x5e, 0x15, 0x84, 0xbe, 0x98, 0xd2, 0x0d, 0x94,
+ 0xd4, 0xf7, 0xe6, 0xb6, 0x9f, 0x25, 0x11, 0x55, 0x11, 0xc0, 0x8a, 0xe4,
+ 0xdb, 0xec, 0xde, 0x18, 0x16, 0x79, 0xe1, 0x64, 0x25, 0xfb, 0x88, 0x32,
+ 0xb2, 0x54, 0x59, 0x27, 0xcd, 0xd5, 0xcf, 0x98, 0x89, 0xab, 0x98, 0x6f,
+ 0x92, 0xd0, 0xb2, 0xe2, 0xf7, 0x55, 0x1f, 0xa7, 0x26, 0x36, 0xea, 0x96,
+ 0x50, 0xc6, 0x97, 0xc2, 0x45, 0x1c, 0x9a, 0x9f, 0x1b, 0xeb, 0x6e, 0xba,
+ 0xfd, 0x7d, 0x5e, 0xd0, 0x64, 0xf1, 0x2a, 0x5e, 0x2c, 0x5b, 0x07, 0x5e,
+ 0x08, 0x79, 0x36, 0xc9, 0xbb, 0x17, 0xe2, 0xf7, 0x72, 0xd2, 0x93, 0xcf,
+ 0x10, 0x00, 0x4d, 0x08, 0x31, 0x21, 0xf7, 0x93, 0x42, 0x2b, 0x3e, 0x1b,
+ 0x3c, 0xdf, 0x41, 0x70, 0x94, 0x7e, 0x35, 0xe8, 0x7c, 0xa9, 0xab, 0xe6,
+ 0xb6, 0xd6, 0xdf, 0x2e, 0x7f, 0x64, 0xf5, 0xa3, 0x0b, 0xfe, 0x45, 0x57,
+ 0x2c, 0x8a, 0xf6, 0xc5, 0x7e, 0x5f, 0x5f, 0xf7, 0x96, 0x2b, 0x4d, 0xba,
+ 0xbf, 0x61, 0x94, 0xd7, 0xb2, 0x82, 0x55, 0x5d, 0x95, 0x66, 0xe1, 0x65,
+ 0x1a, 0xbb, 0xc2, 0x83, 0x17, 0x7b, 0x93, 0xe6, 0xdb, 0x0a, 0x77, 0xd3,
+ 0x4d, 0x9e, 0x9c, 0xad, 0xd8, 0xa9, 0x0f, 0x74, 0x14, 0x78, 0xa7, 0x38,
+ 0xd6, 0x4f, 0xde, 0xfd, 0x9a, 0x8f, 0xf9, 0x34, 0xad, 0x1b, 0x98, 0x6f,
+ 0xd8, 0x62, 0xe2, 0x04, 0x6a, 0x5f, 0xd7, 0x10, 0xd9, 0x2f, 0x8d, 0x4c,
+ 0xfb, 0xe7, 0x6f, 0x6b, 0x96, 0x8c, 0x90, 0x84, 0xe1, 0x05, 0x26, 0xdb,
+ 0xb2, 0x75, 0x6b, 0xbf, 0xd3, 0xeb, 0x99, 0x3a, 0x61, 0x1d, 0x55, 0x73,
+ 0x0e, 0xab, 0xb2, 0x26, 0xc9, 0x1e, 0xb7, 0xd0, 0x32, 0x20, 0xa7, 0x89,
+ 0x38, 0x66, 0xf6, 0xd7, 0x93, 0xcd, 0x6c, 0x70, 0x65, 0xda, 0x5b, 0xa7,
+ 0x76, 0x76, 0xf7, 0xe9, 0xbf, 0x7b, 0xf8, 0xef, 0x93, 0x75, 0x05, 0x40,
+ 0xf9, 0xa7, 0x8a, 0xae, 0xf6, 0xee, 0xc5, 0x24, 0x51, 0x0b, 0xba, 0xea,
+ 0xe5, 0xae, 0x97, 0xbb, 0x8e, 0xae, 0xc0, 0xb8, 0x1c, 0x62, 0x45, 0xf6,
+ 0xa4, 0x17, 0x51, 0x36, 0xdd, 0x44, 0x40, 0x8d, 0x80, 0x1b, 0x60, 0x44,
+ 0x1e, 0x3e, 0x33, 0xb6, 0xb1, 0x51, 0x16, 0xe1, 0x6c, 0xe1, 0x18, 0x20,
+ 0xd0, 0x04, 0x1f, 0xab, 0xec, 0x3a, 0xad, 0xcd, 0xde, 0x5b, 0x34, 0xd8,
+ 0x8a, 0x91, 0xdd, 0x3b, 0xcd, 0xad, 0x77, 0x4b, 0x3e, 0x3c, 0xb0, 0xb6,
+ 0xa0, 0xac, 0x22, 0xfb, 0x89, 0xa7, 0xe5, 0xad, 0x3e, 0xd1, 0x17, 0x44,
+ 0x52, 0x4c, 0x47, 0x30, 0xab, 0x09, 0x50, 0x13, 0x3d, 0xe6, 0xc7, 0xfb,
+ 0x66, 0xa4, 0x58, 0x12, 0x5c, 0xca, 0x6c, 0xfe, 0x4b, 0x33, 0x63, 0x64,
+ 0xe4, 0x4d, 0xb1, 0x6e, 0x64, 0xce, 0xa2, 0xd7, 0x81, 0xb2, 0x29, 0x4a,
+ 0x5f, 0x7e, 0x29, 0x3e, 0x2e, 0xf9, 0x37, 0x2e, 0x57, 0x51, 0xc5, 0x6a,
+ 0x8e, 0x09, 0x76, 0xf5, 0xb0, 0x87, 0xb7, 0xb6, 0xca, 0x4a, 0x7b, 0x32,
+ 0x64, 0xb0, 0xec, 0x56, 0xd6, 0x7d, 0x2d, 0xc6, 0x47, 0xcc, 0xa7, 0x61,
+ 0x7a, 0xc5, 0xc7, 0xf4, 0xd7, 0x1f, 0x12, 0xd3, 0xe3, 0x3e, 0x79, 0x94,
+ 0x16, 0xf5, 0x23, 0xce, 0x88, 0x27, 0x7f, 0xf9, 0x1d, 0xeb, 0x53, 0xe3,
+ 0xd8, 0xa7, 0x3f, 0x01, 0xdd, 0x5d, 0x78, 0xef, 0xf9, 0xb5, 0x0e, 0xbd,
+ 0x93, 0x35, 0xe4, 0x86, 0xce, 0xc5, 0x6b, 0xb2, 0x99, 0x7e, 0x4a, 0x07,
+ 0xc9, 0xe9, 0xe1, 0xf0, 0x8c, 0x3e, 0x61, 0xb6, 0x46, 0x71, 0x65, 0x7a,
+ 0x71, 0x32, 0xec, 0x34, 0x97, 0xdd, 0x35, 0x59, 0x51, 0xb7, 0x20, 0x7c,
+ 0x4b, 0xa7, 0x59, 0x7d, 0xad, 0x0a, 0x42, 0x90, 0xce, 0x1a, 0xe3, 0x1f,
+ 0xd1, 0x43, 0x0a, 0x86, 0x51, 0xa4, 0x3a, 0xe1, 0xa3, 0x16, 0x7c, 0x68,
+ 0x6e, 0x36, 0xfc, 0x64, 0xcb, 0x7a, 0x6f, 0x7a, 0xba, 0x17, 0x6c, 0x50,
+ 0xa5, 0x5e, 0x5c, 0x91, 0x41, 0x52, 0xab, 0x19, 0x69, 0xbf, 0x60, 0x66,
+ 0x23, 0xd0, 0xa5, 0x74, 0xd8, 0xe6, 0x4c, 0xf0, 0xb1, 0x31, 0x16, 0x14,
+ 0xe1, 0x4d, 0xa0, 0x2f, 0x15, 0xa5, 0x6b, 0x95, 0x8c, 0x26, 0x60, 0xeb,
+ 0x72, 0x84, 0x21, 0xc6, 0x99, 0xd1, 0x47, 0x27, 0x11, 0x7d, 0x80, 0x17,
+ 0x45, 0x6d, 0xa8, 0x4b, 0xc1, 0xd3, 0x45, 0x5c, 0x42, 0x68, 0x68, 0xcc,
+ 0xfa, 0x1a, 0xed, 0x7a, 0xb8, 0x73, 0x73, 0xf2, 0x7f, 0x93, 0xf6, 0xcc,
+ 0xd6, 0x3b, 0xb5, 0x67, 0xcf, 0xfe, 0x37, 0xc5, 0xc2, 0x4c, 0x7c, 0xe4,
+ 0x62, 0x26, 0x0d, 0x8b, 0xee, 0x19, 0x9a, 0xc0, 0x55, 0xbe, 0xbe, 0xa7,
+ 0xbb, 0x6d, 0x5f, 0x1f, 0x36, 0x9b, 0xb1, 0x06, 0xb2, 0xe4, 0x25, 0xfd,
+ 0xf7, 0x41, 0xa9, 0x8c, 0x00, 0x3f, 0x9e, 0x97, 0xa8, 0x10, 0xcb, 0x4e,
+ 0x71, 0xcf, 0x24, 0x6d, 0x01, 0x1d, 0xdc, 0x8b, 0xd8, 0x6e, 0x03, 0x12,
+ 0x7b, 0xbd, 0xe4, 0x35, 0xc1, 0x56, 0x8f, 0xde, 0x7f, 0x83, 0x3d, 0x70,
+ 0xb6, 0xbb, 0x07, 0x1f, 0xbc, 0x35, 0x25, 0x26, 0xf8, 0x48, 0xcd, 0xbe,
+ 0x05, 0x8e, 0xa1, 0x85, 0x5a, 0x30, 0xee, 0x84, 0x1e, 0xa4, 0x28, 0x05,
+ 0x4f, 0x80, 0xb1, 0x98, 0xfc, 0x7e, 0xf7, 0x57, 0x60, 0x95, 0x1e, 0xf5,
+ 0x64, 0x06, 0xc5, 0x57, 0xf3, 0x29, 0xbb, 0x77, 0x7f, 0xc3, 0xac, 0x7a,
+ 0x53, 0xed, 0x1e, 0x7e, 0xe9, 0x4d, 0xd2, 0x8f, 0xfb, 0x84, 0xe3, 0x30,
+ 0x0a, 0xeb, 0xe4, 0xe7, 0x5f, 0x77, 0x23, 0xc6, 0x67, 0x3e, 0xe2, 0x7f,
+ 0x81, 0xeb, 0x4b, 0x11, 0x13, 0x1c, 0x20, 0x65, 0xf9, 0x2e, 0xa0, 0x61,
+ 0xc2, 0x13, 0xd3, 0x86, 0x4f, 0x0b, 0xd6, 0x48, 0x48, 0x52, 0x33, 0x4c,
+ 0x06, 0xb0, 0x99, 0x40, 0x89, 0x28, 0xa7, 0xc1, 0x5d, 0xd7, 0xb2, 0x62,
+ 0xa1, 0xdc, 0xef, 0xc9, 0xed, 0x06, 0xcb, 0x4e, 0xee, 0x20, 0x56, 0xa8,
+ 0xbb, 0xc7, 0xc1, 0xaa, 0xd7, 0xac, 0x80, 0x79, 0x37, 0x63, 0xe2, 0xbd,
+ 0x8c, 0x80, 0x20, 0xba, 0xc7, 0xaa, 0xd2, 0x40, 0x96, 0x37, 0x8b, 0xda,
+ 0x02, 0x66, 0x75, 0x75, 0x76, 0xcd, 0xb2, 0x93, 0xf3, 0xc9, 0xce, 0x5b,
+ 0x8f, 0x23, 0x2d, 0xbc, 0xcc, 0x46, 0xcc, 0x55, 0xb9, 0x28, 0x6b, 0x8c,
+ 0x12, 0xec, 0x9e, 0x69, 0x8d, 0xcb, 0x8a, 0x73, 0x4a, 0x1c, 0x28, 0xd8,
+ 0x56, 0xba, 0xaf, 0x78, 0xfb, 0x91, 0x59, 0xba, 0xee, 0x4d, 0xc9, 0x7a,
+ 0x6c, 0x29, 0x1a, 0x0e, 0x11, 0xc9, 0x11, 0xca, 0x6f, 0x68, 0xea, 0x74,
+ 0xef, 0x38, 0x5f, 0x67, 0x5b, 0x0b, 0x2e, 0x0b, 0xfa, 0xb3, 0x20, 0x1f,
+ 0xd9, 0x1f, 0x22, 0x1b, 0x32, 0xba, 0x17, 0xc9, 0x5d, 0x2e, 0xe1, 0x33,
+ 0x28, 0x30, 0x04, 0x15, 0x13, 0xac, 0x6e, 0xc4, 0x2e, 0x8a, 0x59, 0x77,
+ 0xaa, 0x7c, 0xa8, 0x11, 0xe7, 0x59, 0x76, 0x81, 0xe1, 0x13, 0x68, 0x99,
+ 0xe6, 0xb7, 0x14, 0x78, 0xe7, 0xbd, 0x4b, 0xee, 0xd8, 0x7c, 0xfc, 0x09,
+ 0xf8, 0x2a, 0xb9, 0xa1, 0xfc, 0xf1, 0x29, 0xba, 0x89, 0x71, 0x79, 0x91,
+ 0x25, 0x80, 0x61, 0x49, 0x7e, 0x62, 0xda, 0x93, 0x74, 0x3b, 0xe7, 0x05,
+ 0xeb, 0x6c, 0x4b, 0x5d, 0x0e, 0xa6, 0xaf, 0x1f, 0x5f, 0x1f, 0x9f, 0x27,
+ 0x9b, 0xa4, 0x82, 0x77, 0x75, 0x1c, 0xbd, 0xde, 0xb7, 0xb3, 0x66, 0xbc,
+ 0x3d, 0xff, 0x94, 0x6f, 0x1b, 0xcb, 0x73, 0x32, 0xda, 0xb2, 0xf6, 0x14,
+ 0x3e, 0x87, 0x4d, 0xa8, 0x56, 0xaa, 0x9a, 0xa9, 0xb0, 0x53, 0xbb, 0xa7,
+ 0xc1, 0xb3, 0x5b, 0x39, 0x0f, 0xc0, 0x99, 0xab, 0x98, 0x26, 0x76, 0xea,
+ 0x00, 0x16, 0xc4, 0x31, 0xe4, 0x84, 0xfc, 0xb1, 0x19, 0xbb, 0xaa, 0x8d,
+ 0xc1, 0xdd, 0x3d, 0xab, 0x8c, 0x11, 0x13, 0xaf, 0x0e, 0x7b, 0x73, 0x14,
+ 0xd8, 0x24, 0xd7, 0x85, 0x53, 0xfa, 0x7a, 0x04, 0x49, 0xa3, 0x49, 0x99,
+ 0xd3, 0x95, 0x34, 0x21, 0x97, 0x60, 0xb7, 0x39, 0x18, 0x1a, 0xeb, 0x83,
+ 0xed, 0xf5, 0xc4, 0x82, 0xf0, 0xcc, 0x2c, 0x33, 0xca, 0xd4, 0xa2, 0x1e,
+ 0xcd, 0x16, 0xbb, 0x5c, 0xd4, 0xec, 0xe6, 0x26, 0x0f, 0x8b, 0x5d, 0xaf,
+ 0x41, 0x4c, 0xa0, 0x7a, 0xcb, 0x69, 0x75, 0x2e, 0xa3, 0x1b, 0xe3, 0x5c,
+ 0x59, 0xd3, 0x7d, 0x64, 0x3b, 0x85, 0xa5, 0x5a, 0xff, 0x69, 0x3d, 0xf1,
+ 0x40, 0x5c, 0x2d, 0x67, 0x64, 0xee, 0x60, 0x16, 0xde, 0x25, 0x60, 0x6e,
+ 0x64, 0x7b, 0x82, 0x27, 0xd9, 0x34, 0x9f, 0xe5, 0x30, 0xbe, 0xfc, 0x2e,
+ 0x04, 0x4b, 0xd1, 0xee, 0xd2, 0x4f, 0x61, 0x97, 0x14, 0x18, 0x99, 0xd2,
+ 0xaf, 0x4d, 0x97, 0xe0, 0x1e, 0x63, 0xdc, 0x5a, 0xdc, 0x80, 0x6e, 0x77,
+ 0xc8, 0x42, 0x2b, 0x57, 0x44, 0xd7, 0x7e, 0x1f, 0x1f, 0x43, 0xfb, 0xc8,
+ 0xd4, 0x0d, 0x00, 0x5c, 0x74, 0xce, 0xc4, 0x6d, 0x34, 0xe2, 0xcb, 0x41,
+ 0xcf, 0x58, 0xba, 0xca, 0x00, 0xdc, 0x56, 0xc1, 0x03, 0xc9, 0xa3, 0x0e,
+ 0x27, 0x36, 0xfc, 0xcd, 0x81, 0x81, 0xa1, 0xff, 0x49, 0xec, 0x7c, 0x28,
+ 0x42, 0x10, 0x56, 0xec, 0x70, 0xeb, 0xaa, 0xbd, 0x2a, 0xec, 0xfb, 0x59,
+ 0x31, 0x2e, 0x27, 0x1d, 0x33, 0x8d, 0x26, 0xc1, 0x13, 0x72, 0xd8, 0xf1,
+ 0x1c, 0xb1, 0xc2, 0x2e, 0x8f, 0xbb, 0x32, 0xc9, 0x87, 0xc6, 0xfe, 0xd5,
+ 0x5f, 0xb4, 0xef, 0x63, 0x0e, 0x15, 0x6c, 0xfb, 0x5f, 0xb5, 0xeb, 0x1f,
+ 0xe7, 0x72, 0x38, 0x0c, 0x84, 0x75, 0x6d, 0xef, 0x41, 0xef, 0x9a, 0x0e,
+ 0x24, 0x50, 0xaa, 0x41, 0x62, 0xa3, 0xce, 0x12, 0xb2, 0x06, 0xe1, 0x04,
+ 0x38, 0x33, 0xdb, 0x8b, 0x8c, 0x54, 0x92, 0xcd, 0x13, 0x0e, 0x58, 0x25,
+ 0x67, 0x6f, 0x7e, 0x90, 0x63, 0xb2, 0xcc, 0xe5, 0xf0, 0x85, 0x85, 0x4e,
+ 0x18, 0x45, 0x92, 0x60, 0x1c, 0xb9, 0x40, 0xa2, 0xc4, 0x39, 0xc0, 0xa1,
+ 0x51, 0x23, 0xe9, 0x3c, 0xe0, 0xb8, 0x99, 0xf2, 0xee, 0xac, 0xbd, 0x94,
+ 0xa7, 0xa7, 0x25, 0xab, 0xb1, 0x5f, 0xfe, 0x24, 0x3f, 0xa1, 0xb9, 0x31,
+ 0xff, 0x68, 0xae, 0x17, 0xb3, 0x91, 0x59, 0xd7, 0xa2, 0xf9, 0x72, 0x9d,
+ 0x43, 0x6f, 0x97, 0x32, 0xad, 0x2b, 0x75, 0xec, 0xf6, 0x46, 0x6b, 0x4d,
+ 0x1a, 0x9a, 0xef, 0xb5, 0x01, 0x37, 0xeb, 0xec, 0xcc, 0x0c, 0x9a, 0xfb,
+ 0x60, 0xb6, 0xe7, 0x4f, 0xef, 0xfe, 0xfa, 0xd3, 0x8b, 0x27, 0x4f, 0xd3,
+ 0xcf, 0xd2, 0xf1, 0xf3, 0xcb, 0xcf, 0xd3, 0x67, 0x93, 0x67, 0x9f, 0xbd,
+ 0xd8, 0xfb, 0xfc, 0x59, 0xfa, 0xd9, 0xd3, 0xcb, 0xf4, 0xf9, 0x6e, 0xb6,
+ 0xfb, 0xe2, 0x72, 0xef, 0xc9, 0x64, 0x72, 0x99, 0x7d, 0x3e, 0xf9, 0x2c,
+ 0x5d, 0x1f, 0x40, 0xe5, 0xd6, 0x2e, 0x77, 0xf5, 0x48, 0x1b, 0x76, 0x31,
+ 0xbd, 0x1f, 0xbe, 0x3d, 0xe8, 0xef, 0x26, 0xd7, 0xd9, 0x9d, 0x1e, 0x30,
+ 0x76, 0x68, 0x59, 0x3c, 0x4a, 0x26, 0xb6, 0xfb, 0x72, 0xbb, 0x4a, 0x53,
+ 0x68, 0x08, 0x4f, 0x48, 0xf6, 0x31, 0xb4, 0x1e, 0x9e, 0x3c, 0x9d, 0x4d,
+ 0x46, 0x9c, 0xd8, 0x35, 0xdb, 0x57, 0xa7, 0x2d, 0x8d, 0xab, 0x7b, 0xf8,
+ 0x4f, 0xcc, 0x3b, 0xd3, 0x77, 0xe9, 0xd8, 0x5c, 0x8c, 0x66, 0x46, 0xe4,
+ 0xc1, 0xa1, 0x31, 0x67, 0xf2, 0xb1, 0xf9, 0xb7, 0xfc, 0x85, 0x9c, 0x84,
+ 0x5e, 0x1b, 0xdf, 0x54, 0xe5, 0x62, 0x7e, 0x56, 0x4e, 0xf3, 0xf1, 0xfd,
+ 0xaa, 0xe6, 0xfc, 0xc7, 0x5a, 0xbf, 0x38, 0x22, 0x50, 0xf8, 0x9c, 0x42,
+ 0xa6, 0xff, 0x42, 0x75, 0xda, 0x33, 0x46, 0x1e, 0xa1, 0x4f, 0xf7, 0xc7,
+ 0xf9, 0xfc, 0x9a, 0x82, 0x7d, 0x2f, 0x81, 0x7f, 0x21, 0xdf, 0x3c, 0xff,
+ 0x20, 0xae, 0x47, 0x0f, 0xe5, 0x28, 0xd6, 0xb2, 0x9e, 0xfa, 0xb6, 0xdc,
+ 0xb2, 0xb9, 0x26, 0x87, 0xa8, 0x6b, 0x42, 0x30, 0x57, 0x79, 0xe0, 0xbb,
+ 0x71, 0x1f, 0xe2, 0x63, 0xae, 0x1a, 0x16, 0x1b, 0xac, 0xf2, 0xab, 0x81,
+ 0x31, 0x9e, 0x29, 0x5c, 0xba, 0x98, 0x33, 0xf6, 0x17, 0xde, 0x3d, 0xfe,
+ 0x5d, 0xa7, 0x39, 0x74, 0x5e, 0x76, 0x0c, 0x2b, 0x9f, 0x66, 0x46, 0x3f,
+ 0x9c, 0x9f, 0xec, 0x77, 0xe7, 0x09, 0x30, 0xfc, 0x7a, 0x7f, 0x7b, 0x1b,
+ 0x3e, 0xff, 0xeb, 0xf4, 0xee, 0x6e, 0x50, 0x67, 0xdb, 0x93, 0x72, 0x5c,
+ 0x6f, 0xd7, 0xf5, 0x54, 0x67, 0xa3, 0x9d, 0x15, 0xf3, 0x3b, 0x78, 0xf0,
+ 0xca, 0x19, 0xa4, 0x55, 0x36, 0xe9, 0xd7, 0x75, 0x00, 0x11, 0x19, 0x1e,
+ 0x6a, 0x00, 0xfa, 0xa8, 0x60, 0xb0, 0x29, 0xee, 0xb9, 0xbe, 0x99, 0xdd,
+ 0xe1, 0xf0, 0x6d, 0xa2, 0x2f, 0x63, 0x7a, 0x2d, 0x28, 0xc2, 0xc2, 0x33,
+ 0x7a, 0x91, 0xab, 0x37, 0x15, 0x81, 0xfd, 0x85, 0x6f, 0xc4, 0x93, 0x0a,
+ 0x55, 0xf2, 0x1f, 0x82, 0xea, 0xce, 0x9b, 0x95, 0x00, 0x97, 0xe7, 0x1d,
+ 0xa3, 0xd7, 0x0e, 0x22, 0x1e, 0x04, 0x56, 0xc7, 0x47, 0x9a, 0xb8, 0x27,
+ 0x9d, 0x17, 0xa0, 0x9b, 0xb6, 0x69, 0x76, 0xef, 0x55, 0x59, 0x99, 0xcb,
+ 0x63, 0x56, 0xc7, 0x3c, 0x5f, 0x7a, 0xca, 0x6b, 0xf5, 0xf0, 0xd5, 0xe4,
+ 0x9e, 0x63, 0x4f, 0xdc, 0xa2, 0xf0, 0x3e, 0x60, 0x96, 0x12, 0xf8, 0x9e,
+ 0x81, 0x5d, 0xb0, 0x78, 0x80, 0x43, 0x97, 0xaf, 0xe3, 0x3b, 0x11, 0xe7,
+ 0x49, 0x02, 0x79, 0x5e, 0x78, 0x9e, 0x6f, 0x5c, 0xca, 0xa6, 0xcb, 0xbd,
+ 0x58, 0xef, 0xb0, 0xce, 0x55, 0x86, 0x8b, 0x82, 0x14, 0x89, 0xaa, 0x2a,
+ 0x3d, 0x6d, 0xa6, 0xff, 0x2d, 0xac, 0x0a, 0x73, 0x45, 0xe6, 0x57, 0x1a,
+ 0x64, 0xed, 0x1e, 0x5f, 0xd9, 0xfe, 0x74, 0xc1, 0x34, 0x80, 0xf6, 0x49,
+ 0xb6, 0x24, 0x5d, 0x09, 0xe6, 0x08, 0x30, 0xcc, 0x40, 0xa0, 0x4b, 0x0c,
+ 0x0d, 0x69, 0x25, 0x89, 0x06, 0xc7, 0x81, 0x20, 0xf1, 0xee, 0x71, 0x82,
+ 0xd4, 0xe8, 0xe1, 0x44, 0xf3, 0x62, 0xb7, 0xba, 0xdd, 0x99, 0x90, 0x4e,
+ 0x06, 0x13, 0xd1, 0x3c, 0xd3, 0xbd, 0x64, 0x81, 0x46, 0xb3, 0x5e, 0x8a,
+ 0x58, 0x06, 0x58, 0x77, 0x3c, 0x8a, 0x4c, 0xd5, 0xe9, 0xcd, 0x91, 0x73,
+ 0x98, 0x02, 0xf6, 0x1a, 0xbb, 0xd8, 0x4b, 0x2f, 0x54, 0x47, 0x0d, 0x06,
+ 0xae, 0x7b, 0x4e, 0x3c, 0x02, 0x1c, 0x59, 0x81, 0xfc, 0x50, 0x86, 0x8d,
+ 0x18, 0x32, 0xb7, 0x1e, 0x01, 0x32, 0x29, 0xd3, 0x74, 0x5a, 0x3a, 0x2d,
+ 0xcb, 0xec, 0x3e, 0x23, 0x10, 0x91, 0xac, 0x33, 0x08, 0x84, 0x37, 0x43,
+ 0xf6, 0x19, 0x7c, 0xc0, 0xa9, 0x27, 0x7c, 0x85, 0xab, 0xc5, 0x3b, 0x85,
+ 0x75, 0xc1, 0x91, 0x52, 0x27, 0xd4, 0x68, 0xfd, 0x62, 0x3e, 0x01, 0x01,
+ 0xad, 0x72, 0x1e, 0x50, 0x8e, 0x0c, 0x37, 0xc9, 0x89, 0x62, 0x0c, 0xae,
+ 0xba, 0x34, 0xeb, 0xb2, 0x27, 0x4d, 0x4d, 0x29, 0x0e, 0x5a, 0x49, 0x1f,
+ 0xbb, 0x3b, 0xca, 0xe6, 0x3b, 0xf9, 0x28, 0x50, 0x5a, 0x1f, 0x0b, 0x65,
+ 0xad, 0xc3, 0x88, 0x95, 0x9b, 0xcc, 0x98, 0xd9, 0x12, 0xc0, 0x82, 0xd1,
+ 0x91, 0x2a, 0xd3, 0x2f, 0x14, 0x65, 0xb7, 0x53, 0xda, 0x8f, 0x7e, 0x68,
+ 0xc4, 0x5b, 0xe8, 0xab, 0xd7, 0x01, 0x85, 0xc0, 0xda, 0x55, 0x8e, 0xdf,
+ 0x78, 0x99, 0x7b, 0x00, 0xa6, 0x7b, 0x69, 0xa3, 0xfe, 0xfe, 0x42, 0xb6,
+ 0x9f, 0x93, 0xdd, 0xd2, 0x75, 0x5f, 0x16, 0xe3, 0x69, 0xa9, 0xd0, 0x61,
+ 0xf3, 0x3e, 0x67, 0x9f, 0x0d, 0x28, 0x08, 0xc5, 0xc6, 0xaf, 0xac, 0x80,
+ 0xfc, 0xa2, 0x27, 0xb2, 0xe2, 0x52, 0x75, 0x89, 0x6e, 0x73, 0x6c, 0x8b,
+ 0x74, 0x33, 0x35, 0x9d, 0x09, 0xba, 0x9f, 0x24, 0x3f, 0xfd, 0xd4, 0x4b,
+ 0xc8, 0x10, 0xfa, 0xa9, 0x31, 0xff, 0x33, 0x1b, 0xed, 0x27, 0x06, 0xeb,
+ 0xff, 0x74, 0x33, 0x48, 0xba, 0x81, 0x6a, 0x72, 0x22, 0xd6, 0x53, 0x8a,
+ 0x0e, 0xb0, 0x5a, 0xdd, 0xf6, 0xba, 0x70, 0x66, 0x20, 0x72, 0x80, 0xd8,
+ 0x05, 0xee, 0x83, 0x7f, 0xa0, 0x58, 0x86, 0x6e, 0xa2, 0xc5, 0xac, 0x10,
+ 0x6b, 0x84, 0xf7, 0x21, 0x8e, 0x38, 0xe4, 0xfe, 0xc6, 0x1f, 0x37, 0xdc,
+ 0x9e, 0xe9, 0xa9, 0x07, 0xb7, 0x51, 0xb9, 0x1a, 0x39, 0x4e, 0x7a, 0xf0,
+ 0x35, 0x8f, 0x0e, 0x30, 0x00, 0x0e, 0x87, 0x19, 0xb9, 0x79, 0x4a, 0xee,
+ 0x53, 0xce, 0x86, 0x28, 0x2d, 0x86, 0x14, 0x49, 0x21, 0xf3, 0xeb, 0xfb,
+ 0x9a, 0x22, 0xf5, 0x31, 0x69, 0x13, 0x9e, 0x92, 0xc1, 0x52, 0x21, 0xd7,
+ 0x28, 0xf0, 0x03, 0x36, 0x16, 0xed, 0x82, 0x96, 0x88, 0x34, 0xdd, 0xd9,
+ 0xe8, 0x6f, 0xd8, 0x60, 0x87, 0xa0, 0x23, 0x02, 0x40, 0xa9, 0x4a, 0x04,
+ 0x0f, 0x70, 0x16, 0x7c, 0xd2, 0x03, 0x41, 0x95, 0x3e, 0xc4, 0xcd, 0xe5,
+ 0x78, 0x52, 0x92, 0x96, 0x46, 0x6c, 0xe5, 0xfb, 0x22, 0x67, 0x22, 0x1e,
+ 0x05, 0x40, 0xe1, 0x10, 0x4d, 0xd7, 0x06, 0x60, 0xee, 0x3a, 0xff, 0x7f,
+ 0xbf, 0x8f, 0x74, 0xfb, 0x39, 0xa7, 0xc8, 0xd3, 0xee, 0x40, 0x94, 0xf9,
+ 0x9e, 0x12, 0x22, 0xe6, 0x01, 0x1e, 0x49, 0xe1, 0x5f, 0x9a, 0x73, 0x48,
+ 0x07, 0x99, 0xf2, 0xb2, 0x6f, 0x0b, 0xc9, 0xab, 0x1d, 0x96, 0x30, 0xbb,
+ 0xc7, 0x88, 0x57, 0x0b, 0x38, 0x42, 0x52, 0x2b, 0x22, 0x26, 0x1f, 0x5d,
+ 0x76, 0x81, 0xc2, 0x43, 0xfd, 0x79, 0x95, 0xac, 0x2f, 0x57, 0x7b, 0xd6,
+ 0xbb, 0x6f, 0x00, 0xf5, 0xe6, 0x7c, 0x58, 0x92, 0x36, 0x8a, 0x8e, 0x6c,
+ 0x0a, 0x6c, 0xaa, 0xff, 0x77, 0xc6, 0x44, 0x72, 0x66, 0x83, 0x5c, 0xa5,
+ 0x5b, 0x0c, 0x0a, 0xad, 0x03, 0x54, 0x44, 0xe5, 0x61, 0x6a, 0xbc, 0xfd,
+ 0xe1, 0x50, 0x29, 0x39, 0x3c, 0x9b, 0xb8, 0xa5, 0xf8, 0x56, 0xf3, 0x9e,
+ 0xee, 0xca, 0x1f, 0xfb, 0x36, 0x01, 0xaf, 0xe9, 0x7b, 0xe2, 0x71, 0xd4,
+ 0x2b, 0xc2, 0xda, 0x0a, 0xf3, 0x29, 0xd2, 0xd5, 0x15, 0xf2, 0x0d, 0xfd,
+ 0x27, 0x98, 0x9d, 0xdd, 0x2d, 0x9b, 0x24, 0x84, 0x9c, 0x73, 0x46, 0xe3,
+ 0x8a, 0x4a, 0xb0, 0x7e, 0x5d, 0x32, 0x72, 0x64, 0x7d, 0x9f, 0xf2, 0x57,
+ 0x18, 0x0c, 0xcb, 0x63, 0xd4, 0x6c, 0xe0, 0x4e, 0x73, 0xc0, 0xe5, 0xbc,
+ 0x3d, 0x7d, 0x77, 0xd4, 0x46, 0x5d, 0xe2, 0x27, 0x31, 0xef, 0x9a, 0x91,
+ 0x57, 0x6f, 0x8c, 0x7c, 0xe1, 0x3d, 0x90, 0x06, 0xaa, 0x1b, 0xef, 0x2d,
+ 0xd3, 0xad, 0xab, 0xac, 0x99, 0xdf, 0x2e, 0xf2, 0xc9, 0xe6, 0x16, 0xed,
+ 0x11, 0xc2, 0x5c, 0xf7, 0x01, 0xf5, 0x67, 0x03, 0xb0, 0x4e, 0x36, 0x59,
+ 0x1b, 0xaf, 0xb2, 0x66, 0x51, 0x15, 0xec, 0x11, 0xa5, 0xbe, 0x87, 0x01,
+ 0x4e, 0xb9, 0xd2, 0x7c, 0x4f, 0x80, 0x50, 0x47, 0x30, 0x60, 0x85, 0x1b,
+ 0xdc, 0x22, 0x21, 0xa0, 0xe1, 0x70, 0x2c, 0x3c, 0xc6, 0x12, 0xdc, 0x53,
+ 0xfe, 0x4c, 0x24, 0x07, 0x67, 0x67, 0xaf, 0x0f, 0x2e, 0x0e, 0xec, 0xd8,
+ 0x70, 0x11, 0x43, 0xb2, 0x40, 0x1d, 0x36, 0x22, 0x89, 0xb4, 0x23, 0x7a,
+ 0x72, 0xe3, 0x4f, 0x1f, 0x86, 0x47, 0xe7, 0xdd, 0x85, 0x3d, 0x3b, 0x3f,
+ 0x25, 0x5e, 0x8e, 0x3f, 0xfd, 0x74, 0x40, 0x71, 0x53, 0x89, 0xfa, 0xbc,
+ 0x4e, 0x9b, 0x74, 0x23, 0x38, 0xd5, 0x7b, 0x5b, 0xd4, 0xbf, 0x5b, 0xdb,
+ 0xbf, 0x4b, 0xb9, 0xcc, 0x60, 0xd2, 0x27, 0x1f, 0x69, 0x41, 0xab, 0xb1,
+ 0x42, 0x2e, 0xed, 0x6c, 0x60, 0x02, 0x80, 0x98, 0x5c, 0x3e, 0x90, 0xd2,
+ 0x49, 0x32, 0x85, 0x0d, 0xe9, 0x64, 0x4d, 0x8d, 0x3d, 0x9d, 0x8d, 0x17,
+ 0x8d, 0x6e, 0x79, 0xec, 0x2f, 0x4a, 0x66, 0xec, 0xce, 0x4b, 0xb0, 0x3c,
+ 0xce, 0x4b, 0xce, 0x52, 0x00, 0xb9, 0xb4, 0x66, 0xa3, 0x01, 0x16, 0x3b,
+ 0x90, 0xde, 0xb2, 0x14, 0x8b, 0x85, 0xa5, 0x33, 0xf6, 0x9b, 0x23, 0xb7,
+ 0x96, 0xbb, 0x14, 0x4c, 0xc8, 0x1f, 0xcd, 0x69, 0xec, 0x27, 0x47, 0x92,
+ 0xf4, 0x81, 0x81, 0x9b, 0x1f, 0x04, 0x0f, 0x35, 0xd6, 0x56, 0x10, 0x61,
+ 0x1f, 0x97, 0x15, 0x5e, 0xbe, 0xf9, 0x7a, 0x57, 0x79, 0xe6, 0x0c, 0x2f,
+ 0xf3, 0x10, 0x75, 0x9b, 0x26, 0x1d, 0xa6, 0xd2, 0x7a, 0x04, 0xe0, 0xd2,
+ 0x4f, 0xaf, 0x68, 0x7b, 0x99, 0x47, 0x8d, 0x16, 0x6d, 0x2c, 0x24, 0xfa,
+ 0xd7, 0xf6, 0xee, 0x60, 0x67, 0x3d, 0xec, 0x3c, 0x1d, 0x16, 0x70, 0x05,
+ 0xd8, 0xb0, 0x09, 0x49, 0xc3, 0xa6, 0x2c, 0x1f, 0xec, 0x1f, 0x8b, 0x30,
+ 0xa3, 0x87, 0xce, 0x4d, 0xfb, 0xd1, 0xae, 0xf4, 0x4f, 0x03, 0x4c, 0x29,
+ 0xa1, 0x34, 0x2b, 0x15, 0x8a, 0x46, 0x26, 0x16, 0xe5, 0x2d, 0x8d, 0xc4,
+ 0x6c, 0xb5, 0xe9, 0xb4, 0x45, 0xea, 0xb0, 0x1e, 0x9f, 0xe6, 0x02, 0xfc,
+ 0x29, 0x59, 0x77, 0xb6, 0xa3, 0xa1, 0x49, 0x55, 0x32, 0x7d, 0x4d, 0xce,
+ 0x02, 0x1c, 0x61, 0x32, 0xda, 0x9d, 0xe0, 0xe7, 0xd4, 0x1a, 0x29, 0x17,
+ 0xc8, 0xbd, 0xa9, 0x1f, 0x7a, 0xef, 0x6b, 0xfc, 0xbf, 0x4f, 0x8d, 0x90,
+ 0xf6, 0xf9, 0x92, 0x53, 0x36, 0x03, 0xc3, 0xfd, 0x5d, 0x7a, 0x97, 0xcf,
+ 0x16, 0x33, 0x7c, 0x8c, 0xf6, 0xb6, 0x3c, 0x26, 0x0e, 0x63, 0xb8, 0x10,
+ 0x19, 0x7f, 0x80, 0x4d, 0xbe, 0x51, 0x27, 0x9e, 0xf9, 0x1e, 0xbb, 0x64,
+ 0xcc, 0x95, 0x3c, 0x70, 0xc3, 0x2b, 0x80, 0xda, 0x23, 0x8f, 0x72, 0xdd,
+ 0x31, 0xfd, 0x8d, 0xb6, 0x90, 0x52, 0x50, 0xb9, 0x2e, 0x2d, 0x1a, 0x23,
+ 0x22, 0xce, 0x39, 0x67, 0x58, 0x74, 0x38, 0x0f, 0x9d, 0x98, 0x55, 0x79,
+ 0x39, 0xb1, 0xe7, 0x86, 0x94, 0xc4, 0xbc, 0x58, 0x98, 0x79, 0xa6, 0xb6,
+ 0xe8, 0x4a, 0x55, 0xd8, 0x73, 0x10, 0xd4, 0x06, 0x92, 0x7a, 0x08, 0x80,
+ 0xbc, 0x02, 0x0e, 0x3f, 0x1b, 0x3c, 0xd9, 0x1b, 0xec, 0xf4, 0x5a, 0xd6,
+ 0xbb, 0xa4, 0x56, 0x9b, 0xd3, 0x35, 0xce, 0x67, 0x36, 0xed, 0x6a, 0xf0,
+ 0x2f, 0xf3, 0xd2, 0x50, 0xc2, 0x59, 0x7f, 0x96, 0xde, 0x61, 0xf9, 0xa2,
+ 0xcb, 0x5a, 0x26, 0x2f, 0xdf, 0x9e, 0x0e, 0x2f, 0x76, 0xf7, 0xcf, 0x4e,
+ 0xcf, 0xcd, 0x7f, 0xe9, 0xef, 0x7b, 0xf8, 0xfb, 0x5e, 0x60, 0x3d, 0xbe,
+ 0x11, 0xbc, 0xa4, 0x26, 0x68, 0x40, 0x43, 0x81, 0x46, 0xc3, 0xb3, 0x99,
+ 0x78, 0x0d, 0x91, 0xbf, 0x14, 0x62, 0x70, 0x6c, 0xd3, 0x7a, 0xba, 0x4b,
+ 0xec, 0x7d, 0x4a, 0x41, 0x53, 0xea, 0x68, 0xf0, 0x41, 0x61, 0x79, 0xa3,
+ 0xda, 0x94, 0xa4, 0x84, 0x6a, 0xb2, 0x69, 0xd7, 0x45, 0xcb, 0xe9, 0x7c,
+ 0x92, 0x93, 0xa1, 0xb4, 0x4d, 0x00, 0xff, 0xb4, 0x7f, 0x35, 0x9e, 0x1a,
+ 0x4d, 0x3f, 0x23, 0xb0, 0xc0, 0x24, 0x63, 0xca, 0x10, 0xfa, 0x49, 0xcc,
+ 0x00, 0x31, 0xc7, 0x4f, 0x40, 0xea, 0x5d, 0x08, 0x19, 0xef, 0x48, 0x81,
+ 0xe3, 0x52, 0xf6, 0xb4, 0xe9, 0x63, 0x5e, 0x5f, 0xcb, 0x74, 0x14, 0x59,
+ 0xd3, 0x6d, 0x8e, 0xe9, 0x94, 0x7c, 0x8f, 0x15, 0x72, 0x55, 0x91, 0x75,
+ 0xfa, 0xfe, 0xf4, 0x22, 0x49, 0x2f, 0x2f, 0x35, 0x45, 0x96, 0x50, 0xe8,
+ 0xa4, 0xb1, 0x6e, 0xcf, 0xf9, 0x26, 0x43, 0xf8, 0x31, 0x94, 0x7c, 0xac,
+ 0x8f, 0x5c, 0x9c, 0x0c, 0xb7, 0xc9, 0x5f, 0xc5, 0x28, 0xa7, 0xe1, 0xfb,
+ 0xe3, 0x5e, 0xcb, 0x23, 0xed, 0x63, 0x1b, 0xb6, 0xe8, 0xa6, 0x8c, 0x2b,
+ 0x14, 0xa9, 0x77, 0x17, 0x3a, 0xe2, 0x05, 0x42, 0x4d, 0x61, 0x49, 0xd7,
+ 0xc5, 0x19, 0xb2, 0x8e, 0xa5, 0x5d, 0x4f, 0x34, 0x2c, 0x06, 0xfb, 0x77,
+ 0x36, 0x0f, 0x31, 0x49, 0xf0, 0xc5, 0xf6, 0x40, 0x47, 0x40, 0x4a, 0xc7,
+ 0x3a, 0xd9, 0x24, 0x34, 0x2c, 0x0c, 0x69, 0x7d, 0xc0, 0xcd, 0xee, 0xad,
+ 0xa3, 0x55, 0x34, 0x6a, 0xfe, 0x4e, 0x6d, 0x62, 0xd3, 0x8e, 0xb2, 0x18,
+ 0x98, 0x9b, 0x3f, 0xe4, 0x35, 0x9e, 0xd8, 0xe6, 0x4d, 0xc7, 0x6c, 0x6e,
+ 0x92, 0xee, 0x0e, 0x12, 0x30, 0x65, 0x95, 0x5f, 0x51, 0x20, 0xb8, 0x9b,
+ 0x2e, 0xe4, 0x3a, 0x12, 0xb8, 0xa1, 0x48, 0x19, 0xab, 0x9b, 0x75, 0xcf,
+ 0x65, 0xd0, 0x04, 0x70, 0x6c, 0x00, 0x03, 0x2b, 0xb5, 0x67, 0xb4, 0x3b,
+ 0x24, 0x7f, 0x9a, 0x88, 0x1e, 0xcf, 0xca, 0x9e, 0x19, 0x1d, 0xdd, 0x3b,
+ 0x2e, 0xe2, 0xa3, 0xe9, 0x1e, 0x7a, 0x96, 0x40, 0x08, 0x71, 0xdc, 0xa8,
+ 0x00, 0xe7, 0x18, 0x51, 0xb7, 0x39, 0x26, 0x2e, 0x32, 0x12, 0x41, 0x11,
+ 0xfe, 0xeb, 0xbb, 0x7b, 0x9f, 0x0d, 0x76, 0xcc, 0xff, 0x33, 0x8b, 0x22,
+ 0xfa, 0x11, 0xd3, 0xa6, 0x30, 0xdb, 0x05, 0x7f, 0x8a, 0x9f, 0x4e, 0xd2,
+ 0xee, 0x1e, 0xb2, 0x17, 0x5c, 0x59, 0x5d, 0xad, 0xc7, 0x21, 0x2f, 0x32,
+ 0xe8, 0xd6, 0xad, 0x42, 0x6b, 0x69, 0x6f, 0x94, 0x74, 0x22, 0x3f, 0xd1,
+ 0x63, 0x5e, 0x2d, 0xa6, 0x11, 0xe8, 0x96, 0xe7, 0x36, 0x26, 0x05, 0x6d,
+ 0x7a, 0x23, 0x4e, 0xe3, 0xb7, 0x24, 0x9e, 0x38, 0x7d, 0x6b, 0xd0, 0x02,
+ 0xbe, 0xbc, 0x68, 0xf9, 0x00, 0x0f, 0xc5, 0x6a, 0x83, 0x70, 0xee, 0x9b,
+ 0xf3, 0xf0, 0xb2, 0xbc, 0xbc, 0xac, 0xb3, 0xa6, 0x7b, 0x07, 0x1d, 0xca,
+ 0x23, 0xdb, 0xe7, 0xa0, 0xfa, 0xe2, 0xb0, 0x8d, 0x64, 0x58, 0x24, 0x6d,
+ 0x82, 0x8a, 0x44, 0x90, 0x46, 0x2c, 0xb9, 0xb8, 0xb9, 0x41, 0x04, 0x55,
+ 0xee, 0xff, 0x5e, 0x51, 0x00, 0x9c, 0x1f, 0xaa, 0xb4, 0x07, 0xc8, 0xb2,
+ 0x61, 0x46, 0x03, 0xb9, 0xec, 0xba, 0xfc, 0x44, 0x7a, 0x2a, 0x3e, 0xe5,
+ 0xf3, 0x39, 0x59, 0x38, 0xcc, 0xf5, 0x83, 0x9d, 0x6b, 0x03, 0x66, 0xa3,
+ 0xcc, 0x6c, 0x55, 0xec, 0x66, 0x45, 0x84, 0x19, 0x3d, 0x79, 0x2c, 0xd7,
+ 0xfe, 0x28, 0x33, 0xc7, 0x36, 0x0b, 0xb5, 0x76, 0xea, 0x8f, 0x47, 0xf0,
+ 0x20, 0x79, 0xe9, 0x13, 0x22, 0x73, 0x28, 0x52, 0x95, 0x32, 0x97, 0x5e,
+ 0xea, 0xb3, 0xe4, 0x7c, 0xc5, 0x60, 0x89, 0x2e, 0x23, 0xc7, 0xba, 0xdc,
+ 0x86, 0xc7, 0xff, 0xf3, 0xc8, 0xd1, 0x71, 0x58, 0xbe, 0x0b, 0xce, 0x6f,
+ 0x88, 0x65, 0x8b, 0x98, 0x3d, 0xd5, 0x3f, 0x34, 0xeb, 0x85, 0x18, 0x93,
+ 0x07, 0x27, 0x28, 0x3b, 0xf8, 0x7b, 0x98, 0x3e, 0xa4, 0x4c, 0x40, 0x21,
+ 0xda, 0xa6, 0x0c, 0xd8, 0xe0, 0x76, 0x60, 0xb6, 0x36, 0x76, 0x25, 0xca,
+ 0x18, 0x71, 0x40, 0x1a, 0x49, 0x96, 0xf2, 0x93, 0x0c, 0x44, 0x5f, 0xdc,
+ 0xce, 0x0b, 0xd2, 0x1a, 0x59, 0x87, 0x09, 0x30, 0xf8, 0x9a, 0xfe, 0xc8,
+ 0x79, 0xff, 0x8b, 0xe6, 0x5f, 0x18, 0x2b, 0xa9, 0x68, 0xff, 0x82, 0xd0,
+ 0xc9, 0xdb, 0xd4, 0x63, 0xde, 0xd4, 0xc4, 0x5a, 0xd7, 0xff, 0x9b, 0x31,
+ 0xb4, 0x5f, 0xaa, 0xa7, 0x62, 0x59, 0x82, 0xac, 0xfa, 0x35, 0x08, 0x33,
+ 0x0f, 0x3b, 0x0c, 0x7b, 0xc3, 0x32, 0x35, 0xe8, 0x54, 0xb3, 0x4b, 0x25,
+ 0x85, 0x3a, 0x03, 0x4a, 0xbc, 0xae, 0xac, 0xbf, 0x04, 0xfd, 0x83, 0xa5,
+ 0x03, 0xf0, 0x52, 0xe6, 0x06, 0x14, 0x95, 0x9a, 0x72, 0x0b, 0x35, 0x83,
+ 0xe7, 0xa4, 0x0d, 0xb5, 0x1b, 0xf2, 0xe0, 0xda, 0xcd, 0x8b, 0xfe, 0x2c,
+ 0x9b, 0x01, 0xd7, 0xcb, 0xcf, 0x22, 0x78, 0x46, 0xfc, 0x45, 0xb2, 0x1d,
+ 0x79, 0x89, 0xd8, 0x12, 0x6f, 0x04, 0x00, 0x02, 0xcd, 0x16, 0x9f, 0x0d,
+ 0x63, 0x8f, 0x65, 0xc1, 0x6e, 0x47, 0xf8, 0x0a, 0xf9, 0xe3, 0xe4, 0x22,
+ 0xfb, 0x64, 0xd4, 0xe7, 0xa2, 0x47, 0x3f, 0x45, 0xfe, 0xa1, 0x97, 0x8c,
+ 0x46, 0xdd, 0x6d, 0x32, 0x0e, 0x52, 0x64, 0x11, 0x75, 0xd6, 0x7b, 0x56,
+ 0x1e, 0xf5, 0x3c, 0x29, 0xef, 0xb3, 0x46, 0xe0, 0x01, 0xdc, 0x79, 0x4d,
+ 0xc6, 0x41, 0x42, 0xcf, 0xf1, 0x65, 0xa7, 0x39, 0x10, 0x27, 0x65, 0x8d,
+ 0xf3, 0x09, 0x41, 0xc0, 0x32, 0x4f, 0x24, 0xb3, 0xc5, 0x90, 0xdb, 0xb3,
+ 0x67, 0x8e, 0xc1, 0xba, 0xba, 0x60, 0x79, 0x04, 0xb2, 0x51, 0x22, 0x8e,
+ 0x19, 0xea, 0x0e, 0x79, 0x8a, 0x9a, 0x49, 0x6c, 0x4f, 0xb2, 0xfa, 0xab,
+ 0x07, 0x52, 0x48, 0xb4, 0x64, 0x83, 0x72, 0x62, 0x8b, 0xd1, 0x26, 0x10,
+ 0xad, 0x77, 0x5f, 0x13, 0xb4, 0x15, 0x36, 0x7a, 0x37, 0x05, 0xd3, 0x25,
+ 0x13, 0x12, 0x4c, 0xa2, 0x9a, 0xa8, 0x73, 0x44, 0x3b, 0x6a, 0xa4, 0xb0,
+ 0x98, 0x46, 0xb7, 0x29, 0x76, 0x9a, 0x6d, 0x3f, 0x8f, 0x68, 0x21, 0x1e,
+ 0xc6, 0xad, 0x3f, 0x72, 0xdb, 0xd9, 0x11, 0x49, 0x44, 0x5d, 0xb3, 0xf2,
+ 0x10, 0xed, 0x79, 0x73, 0xb1, 0x6c, 0x40, 0xb2, 0x48, 0x42, 0x21, 0xb8,
+ 0x19, 0xec, 0xa4, 0xf0, 0x14, 0xde, 0x5e, 0x97, 0x53, 0xb6, 0x8c, 0x83,
+ 0x08, 0x8b, 0xcd, 0xf4, 0x04, 0xcd, 0x01, 0x41, 0x37, 0xe1, 0x58, 0xbe,
+ 0x01, 0x2a, 0xb4, 0x15, 0x25, 0x31, 0x2a, 0x5e, 0x96, 0x52, 0x7e, 0x89,
+ 0xe0, 0xa2, 0x93, 0xfe, 0x4d, 0x98, 0x17, 0x67, 0xce, 0xf9, 0xa8, 0xac,
+ 0xed, 0x7e, 0xa1, 0x7c, 0x4a, 0xba, 0x41, 0x6e, 0xd3, 0x0a, 0x82, 0x59,
+ 0xf8, 0x62, 0x94, 0x4a, 0xcf, 0xc7, 0x85, 0x91, 0x36, 0xd8, 0xc5, 0xb4,
+ 0xe7, 0x94, 0x83, 0x6c, 0xb6, 0x89, 0xd1, 0x01, 0xc8, 0x4d, 0x8b, 0xbd,
+ 0x43, 0x4d, 0x0a, 0x13, 0xcc, 0x35, 0x48, 0x21, 0x25, 0x51, 0xd9, 0x9c,
+ 0xc3, 0x6b, 0xba, 0xd6, 0xf3, 0x66, 0x91, 0x36, 0x8f, 0x03, 0xe5, 0x2e,
+ 0x93, 0x4d, 0x2c, 0x9c, 0x7c, 0x30, 0x43, 0x24, 0x94, 0x80, 0x6d, 0xbb,
+ 0x24, 0x6a, 0xe8, 0x2f, 0xe4, 0x4b, 0x3a, 0x6b, 0x4b, 0xe4, 0xd1, 0x19,
+ 0x28, 0xad, 0xae, 0xdb, 0x9c, 0x28, 0x48, 0xbf, 0x94, 0x6b, 0x44, 0x33,
+ 0x9c, 0xb8, 0x29, 0xbd, 0xe5, 0x8f, 0x23, 0xf1, 0x7c, 0xc4, 0xbf, 0x4c,
+ 0x2f, 0xa6, 0xf7, 0xae, 0x41, 0x2f, 0x33, 0x52, 0xc1, 0xbb, 0x1e, 0x5f,
+ 0x94, 0xfd, 0x42, 0x92, 0x76, 0xb5, 0x9a, 0xa1, 0x51, 0xbe, 0xf9, 0x9b,
+ 0xfb, 0xeb, 0x4a, 0xbf, 0x67, 0xf9, 0x44, 0x44, 0x78, 0x48, 0x6a, 0x8e,
+ 0x85, 0xf6, 0x8b, 0xcf, 0x9e, 0x4e, 0x7d, 0xb7, 0x39, 0xe2, 0xa2, 0xdd,
+ 0x7d, 0xf5, 0xdd, 0xc1, 0xc9, 0x87, 0xa3, 0xdd, 0x2f, 0x12, 0xfa, 0xd7,
+ 0x1e, 0xff, 0x6b, 0x6f, 0x3d, 0xb6, 0x4a, 0x46, 0x3e, 0x6d, 0xbc, 0xda,
+ 0x48, 0xea, 0xfb, 0xd9, 0xa8, 0x9c, 0xda, 0x75, 0x92, 0xa9, 0xd0, 0x50,
+ 0x59, 0x4f, 0x2e, 0x6f, 0x9b, 0xa8, 0x2b, 0x1e, 0xf2, 0xae, 0xa4, 0xae,
+ 0x05, 0x4f, 0xa6, 0x52, 0x06, 0x31, 0x3a, 0x3f, 0x65, 0xb4, 0x41, 0x56,
+ 0xad, 0x8a, 0x2e, 0x89, 0xd6, 0x2d, 0xc3, 0xf8, 0xe1, 0x2e, 0xd2, 0xf3,
+ 0x5c, 0x47, 0x04, 0x86, 0x24, 0xa8, 0xf3, 0xee, 0x87, 0x4f, 0x5c, 0x9c,
+ 0x96, 0x2c, 0x2b, 0x02, 0xc1, 0x6f, 0xc4, 0x12, 0xce, 0x92, 0xa5, 0x5e,
+ 0xd5, 0x16, 0x48, 0x95, 0xa7, 0xb9, 0x25, 0x86, 0xae, 0x7b, 0x49, 0x39,
+ 0xdf, 0xa8, 0x32, 0x2b, 0x76, 0x31, 0xf4, 0x20, 0xf6, 0x30, 0x1b, 0x89,
+ 0xd6, 0xe2, 0xd1, 0xd3, 0x9c, 0xd0, 0x66, 0x54, 0x1c, 0x86, 0xcd, 0x0a,
+ 0xac, 0x90, 0x3b, 0xef, 0x3c, 0x19, 0x89, 0xc7, 0x7e, 0x6a, 0x79, 0xd4,
+ 0x84, 0x88, 0xcc, 0x23, 0x66, 0x84, 0xab, 0x4d, 0x1c, 0xcd, 0x0e, 0x96,
+ 0xe6, 0xe4, 0x38, 0x41, 0xdd, 0x49, 0xb5, 0x23, 0x64, 0x49, 0x57, 0x70,
+ 0x1a, 0xb5, 0xb2, 0x4e, 0x36, 0x8d, 0x5c, 0xdf, 0xea, 0x79, 0xb1, 0x58,
+ 0x5d, 0x40, 0x71, 0x49, 0x34, 0x36, 0x6a, 0xba, 0x24, 0x4e, 0x70, 0x71,
+ 0xdd, 0xba, 0x61, 0x54, 0xd7, 0xd3, 0x54, 0x56, 0x8e, 0xc1, 0xca, 0x95,
+ 0xc1, 0xcd, 0xf0, 0x46, 0x25, 0x68, 0xde, 0x34, 0x0d, 0xe6, 0x8c, 0x93,
+ 0x9d, 0x85, 0xfe, 0x80, 0x22, 0xfa, 0x76, 0xeb, 0x9b, 0xef, 0xdf, 0x4f,
+ 0xb3, 0x2d, 0x35, 0x0a, 0xf4, 0x96, 0xdb, 0x7e, 0x57, 0xfe, 0xc3, 0xf4,
+ 0x3b, 0x95, 0x8f, 0xc4, 0x2e, 0x4b, 0xb9, 0xfb, 0x96, 0xf6, 0xdc, 0x09,
+ 0x16, 0x4e, 0x08, 0xf6, 0xc5, 0x45, 0xcb, 0x2e, 0x46, 0xa0, 0x97, 0x14,
+ 0x32, 0xe0, 0x70, 0x83, 0xd5, 0x16, 0xb5, 0x22, 0xb8, 0x9a, 0x45, 0x90,
+ 0x20, 0xb2, 0x93, 0x5c, 0x94, 0x02, 0xc5, 0xb1, 0x5b, 0x4c, 0xee, 0x9b,
+ 0xae, 0xec, 0xee, 0x2a, 0x53, 0x4b, 0x6e, 0xa0, 0xa3, 0xbb, 0xac, 0x1a,
+ 0x13, 0xb5, 0xc0, 0xd8, 0x28, 0xa4, 0x10, 0xa4, 0x97, 0xe2, 0x9a, 0xa2,
+ 0x20, 0x9c, 0x4d, 0xbb, 0xf1, 0x3d, 0x6a, 0xb8, 0x77, 0x75, 0xa7, 0x2d,
+ 0xdd, 0x64, 0x00, 0x39, 0x8c, 0xcd, 0xc6, 0x18, 0x58, 0x16, 0x28, 0xbd,
+ 0x19, 0xdb, 0x02, 0x44, 0xf3, 0x87, 0x10, 0x4a, 0x08, 0x40, 0x66, 0x98,
+ 0x61, 0x7d, 0xd1, 0x5b, 0x4d, 0xd9, 0x2e, 0xe8, 0x0b, 0x73, 0xfa, 0xb8,
+ 0xc8, 0x10, 0xa5, 0x84, 0x83, 0x18, 0x65, 0x39, 0x0e, 0xd1, 0xae, 0x0e,
+ 0xf8, 0x1a, 0x10, 0x29, 0x29, 0xee, 0x95, 0x4e, 0x65, 0x13, 0xf7, 0x25,
+ 0x6b, 0x85, 0x4a, 0xbb, 0x05, 0x95, 0x2b, 0x4c, 0x3b, 0x9d, 0x96, 0xb7,
+ 0x14, 0x7f, 0x69, 0x93, 0xe0, 0xcd, 0xca, 0x09, 0xef, 0x87, 0xd1, 0xbd,
+ 0xa5, 0xcb, 0xee, 0x93, 0x92, 0xc4, 0x9f, 0x1d, 0x68, 0xc8, 0x31, 0xba,
+ 0x03, 0x34, 0x8b, 0xae, 0x9b, 0x66, 0x92, 0xba, 0x24, 0x93, 0x86, 0x1d,
+ 0xc9, 0xac, 0x58, 0x38, 0x06, 0x9a, 0xd8, 0x8d, 0x86, 0x11, 0x8f, 0x4a,
+ 0xa2, 0x36, 0x94, 0xbb, 0x0d, 0x03, 0x26, 0x3f, 0x9c, 0x31, 0x8b, 0x1b,
+ 0x68, 0xff, 0x6a, 0xff, 0x35, 0x82, 0x23, 0x15, 0x47, 0x51, 0x10, 0x6b,
+ 0xfc, 0xc4, 0xfc, 0x47, 0x65, 0xa3, 0xdc, 0x96, 0xc2, 0xfb, 0xd6, 0x20,
+ 0x97, 0x8f, 0x94, 0x4d, 0x58, 0xbf, 0xa0, 0xd9, 0x32, 0xdf, 0x25, 0x54,
+ 0x52, 0x5d, 0x13, 0xa5, 0x12, 0x0d, 0x3d, 0x0d, 0xe8, 0x14, 0x30, 0xd5,
+ 0x84, 0xac, 0x71, 0x8b, 0xba, 0xc9, 0x84, 0x27, 0xe8, 0x85, 0x48, 0x13,
+ 0xe2, 0x41, 0x80, 0xc1, 0x3e, 0xd2, 0x77, 0xea, 0x2d, 0xf2, 0x63, 0x44,
+ 0x40, 0x97, 0x2d, 0xe5, 0x75, 0xc9, 0xa1, 0xfd, 0xa7, 0x2d, 0x9a, 0xc0,
+ 0xc2, 0xab, 0x6a, 0xe6, 0x91, 0x04, 0x13, 0xa7, 0x45, 0x3e, 0x63, 0xca,
+ 0x43, 0xe1, 0x95, 0xba, 0xf8, 0x1b, 0x4c, 0x8a, 0xee, 0x28, 0xe6, 0x13,
+ 0xe8, 0x7c, 0xfa, 0x0e, 0xb4, 0x24, 0x8f, 0x0f, 0xae, 0x2e, 0xe5, 0x44,
+ 0xa2, 0x79, 0x12, 0x34, 0x4e, 0xd2, 0xc4, 0x88, 0x51, 0xba, 0x32, 0xc0,
+ 0x0f, 0xb0, 0xb4, 0xe8, 0x8a, 0xd8, 0x87, 0x33, 0xf3, 0xe5, 0x83, 0x79,
+ 0x11, 0x57, 0x70, 0xdf, 0xec, 0xff, 0x3a, 0x16, 0xa8, 0xd4, 0x6b, 0xdc,
+ 0x48, 0xf9, 0xbf, 0x2d, 0x8a, 0x71, 0xe7, 0x9a, 0x2a, 0x7b, 0x1e, 0x2d,
+ 0x9d, 0x44, 0x65, 0xed, 0x2d, 0xd1, 0xdd, 0xf8, 0xf8, 0x90, 0x50, 0x9e,
+ 0x50, 0xc2, 0x1f, 0xc1, 0xf3, 0xe9, 0x8a, 0x9b, 0x7a, 0xa9, 0x81, 0xd7,
+ 0xb9, 0x59, 0xa1, 0x6a, 0x7c, 0x8d, 0xbc, 0x71, 0xf8, 0x91, 0x32, 0x75,
+ 0x8e, 0xc6, 0x71, 0x46, 0xd2, 0xac, 0x68, 0x64, 0x39, 0x89, 0x24, 0x62,
+ 0x86, 0x28, 0x0b, 0x15, 0xd4, 0xcb, 0xfa, 0x19, 0xc2, 0xb8, 0xae, 0x69,
+ 0xce, 0xb3, 0x69, 0x9d, 0x59, 0xf4, 0x87, 0x7d, 0xc7, 0xdd, 0x95, 0xb0,
+ 0xc0, 0x0b, 0xf8, 0x64, 0x39, 0x07, 0x24, 0x8f, 0x9e, 0x72, 0xf4, 0xc4,
+ 0x28, 0x3b, 0xd2, 0x19, 0x32, 0x2a, 0x69, 0x9f, 0xdc, 0x2b, 0xaf, 0x88,
+ 0xb4, 0xa0, 0xbb, 0x4e, 0x79, 0x45, 0x82, 0xdb, 0xa7, 0xb4, 0xf3, 0x26,
+ 0x5c, 0x1d, 0x3a, 0x55, 0xb9, 0xd2, 0x0e, 0xf3, 0x56, 0x21, 0x2f, 0x86,
+ 0xe9, 0x0d, 0xd3, 0xe1, 0x53, 0xfc, 0xab, 0xdf, 0xbf, 0x6c, 0xe6, 0xfd,
+ 0xe8, 0x12, 0x60, 0xad, 0xdb, 0x5b, 0x60, 0x7a, 0x29, 0xbc, 0x2c, 0xef,
+ 0x94, 0x92, 0xea, 0x86, 0x92, 0x34, 0x92, 0x93, 0x37, 0xec, 0xc5, 0x3b,
+ 0x3c, 0xa7, 0xbf, 0xe5, 0x96, 0x95, 0x66, 0x80, 0x43, 0x41, 0xfc, 0xf6,
+ 0x9c, 0xb2, 0xfc, 0xee, 0xbb, 0x6e, 0x9e, 0xdd, 0xe6, 0xe9, 0x70, 0xfb,
+ 0xc9, 0x8b, 0x9d, 0xad, 0x08, 0x40, 0xd9, 0x7c, 0xc3, 0xd1, 0x75, 0x7d,
+ 0x36, 0x78, 0xba, 0x33, 0xd8, 0xd9, 0xea, 0xf4, 0x86, 0xa6, 0x7b, 0x05,
+ 0x5d, 0x86, 0x92, 0x0c, 0xdb, 0x8b, 0x03, 0xa0, 0x63, 0xcb, 0x48, 0xa1,
+ 0x20, 0x69, 0x3f, 0x5b, 0xf0, 0x3c, 0xbb, 0x31, 0x5b, 0x2d, 0x66, 0x75,
+ 0x27, 0x27, 0x79, 0x2d, 0x56, 0x0d, 0xdd, 0x66, 0x7a, 0xbf, 0x50, 0x3a,
+ 0x6e, 0x1b, 0xfa, 0x8b, 0x47, 0xe8, 0xc2, 0x64, 0xac, 0x43, 0x24, 0xda,
+ 0x52, 0x9b, 0x4e, 0x55, 0x40, 0xe1, 0x21, 0xa6, 0xff, 0xbb, 0x7b, 0x5a,
+ 0x3c, 0xcf, 0xe1, 0xee, 0x8b, 0xc1, 0x67, 0xfe, 0x9a, 0x92, 0xbe, 0xdf,
+ 0x4f, 0xeb, 0x71, 0x9e, 0xaf, 0x34, 0x66, 0x14, 0xde, 0xf8, 0xb7, 0x05,
+ 0x88, 0xa7, 0xcc, 0x36, 0xcd, 0x53, 0x0e, 0xd5, 0x3a, 0xbe, 0xbe, 0xa0,
+ 0x59, 0xd2, 0x57, 0xcd, 0x16, 0x5b, 0xd5, 0xae, 0x18, 0xf0, 0x54, 0xb3,
+ 0x40, 0x28, 0x46, 0xad, 0x86, 0x59, 0x77, 0x55, 0x29, 0x73, 0x16, 0x98,
+ 0xa2, 0x6a, 0x5e, 0x85, 0x09, 0x5c, 0x04, 0xc4, 0x04, 0xbc, 0x39, 0x6d,
+ 0xea, 0x92, 0xe6, 0x29, 0x36, 0xa9, 0x70, 0x4f, 0x80, 0xa4, 0xd1, 0x9a,
+ 0x51, 0xf6, 0xec, 0x0b, 0x18, 0xe8, 0x2b, 0x0f, 0xb9, 0xd3, 0x32, 0x83,
+ 0xd2, 0x88, 0x32, 0xc8, 0x1c, 0xd3, 0x09, 0xc2, 0xe3, 0x9c, 0x2a, 0x43,
+ 0x03, 0x11, 0xa6, 0x75, 0xf8, 0x3c, 0x18, 0x23, 0x22, 0x3c, 0xeb, 0x44,
+ 0x39, 0x63, 0x67, 0x2b, 0x42, 0x28, 0xd4, 0x33, 0xe3, 0x03, 0x83, 0x1d,
+ 0x76, 0x50, 0x91, 0xdd, 0x92, 0x34, 0xae, 0x45, 0x9d, 0xa8, 0xaa, 0x9c,
+ 0x9c, 0x46, 0x16, 0x5c, 0xc0, 0x2a, 0x19, 0xc1, 0x2d, 0xe9, 0x82, 0x9e,
+ 0x44, 0x92, 0x77, 0xc7, 0x38, 0x9d, 0xb5, 0x05, 0x68, 0x17, 0xe0, 0x60,
+ 0x23, 0x4e, 0xb1, 0x68, 0xb6, 0x54, 0x5b, 0xad, 0xb3, 0xfc, 0x5e, 0x91,
+ 0x4d, 0x07, 0x42, 0x7c, 0x87, 0xf0, 0x68, 0x22, 0x5e, 0x25, 0x82, 0x68,
+ 0xb0, 0xff, 0x85, 0x39, 0x99, 0x30, 0xd7, 0x69, 0x2d, 0xc5, 0x13, 0x46,
+ 0xbc, 0x1b, 0x57, 0x6c, 0x9d, 0x2a, 0xbd, 0x7d, 0x78, 0x3f, 0x7a, 0xbb,
+ 0x46, 0x66, 0x7a, 0x0a, 0x9f, 0x8c, 0x47, 0x21, 0x49, 0x8e, 0x08, 0x0b,
+ 0x0c, 0x8c, 0xf4, 0x54, 0xa8, 0xcb, 0x99, 0x37, 0xdc, 0x4c, 0x66, 0x23,
+ 0x86, 0x14, 0xcb, 0xf5, 0xaf, 0x56, 0x24, 0xc5, 0x38, 0xef, 0xa5, 0x1b,
+ 0x45, 0xcb, 0x45, 0xdf, 0xe1, 0xa1, 0xc3, 0xb0, 0xcc, 0x95, 0xc7, 0x59,
+ 0x25, 0x8f, 0x38, 0x14, 0x6e, 0x74, 0x3d, 0xbb, 0x91, 0x44, 0xf9, 0x67,
+ 0x0f, 0x94, 0x37, 0x4c, 0x21, 0x2c, 0x8c, 0x41, 0x0e, 0xd9, 0x21, 0x4f,
+ 0xdb, 0x0a, 0x7c, 0x22, 0x96, 0x88, 0x6a, 0x9e, 0x55, 0x24, 0x05, 0x01,
+ 0xcf, 0xee, 0x2b, 0xaa, 0x36, 0x76, 0xb1, 0x98, 0xcd, 0x7f, 0xf8, 0xcd,
+ 0x31, 0x60, 0xc6, 0xe6, 0xd0, 0x17, 0x92, 0x51, 0xce, 0xfd, 0xe7, 0x2a,
+ 0x15, 0xd6, 0x08, 0xbb, 0xca, 0x2d, 0x89, 0x54, 0x9a, 0xb4, 0x48, 0x21,
+ 0x3b, 0x3a, 0x72, 0xa2, 0xca, 0xb0, 0x00, 0x29, 0x45, 0xa7, 0x15, 0x13,
+ 0xd1, 0x86, 0x22, 0x53, 0x87, 0x5d, 0x8f, 0xce, 0x17, 0xbe, 0xae, 0xcc,
+ 0x07, 0x69, 0x2d, 0xd1, 0x46, 0x28, 0x16, 0x01, 0xae, 0xd9, 0xed, 0x57,
+ 0xae, 0xfa, 0x91, 0x85, 0x18, 0x2d, 0xf9, 0x7c, 0xbc, 0x28, 0x0f, 0xd6,
+ 0xc4, 0xd5, 0x33, 0xc1, 0x47, 0xec, 0xd4, 0x65, 0xbe, 0x85, 0xcb, 0x49,
+ 0x42, 0xe4, 0xfd, 0x89, 0xb9, 0x18, 0x55, 0x2d, 0x21, 0x7f, 0xec, 0x7f,
+ 0x90, 0x34, 0xc5, 0x1d, 0x61, 0xce, 0x27, 0xdd, 0x92, 0x9a, 0xbc, 0xe5,
+ 0xb7, 0xa6, 0x54, 0x63, 0x82, 0xd0, 0x8c, 0x37, 0x47, 0xf6, 0xca, 0x2b,
+ 0xba, 0xd9, 0xbf, 0x12, 0xd7, 0x8a, 0x39, 0xaa, 0xca, 0xe1, 0xcb, 0x26,
+ 0x24, 0x67, 0xee, 0xb1, 0xd7, 0x42, 0x78, 0x51, 0x68, 0x1a, 0xe2, 0xcd,
+ 0x71, 0x34, 0xce, 0x9b, 0x3d, 0xde, 0x71, 0xc4, 0x14, 0x5c, 0x73, 0xe5,
+ 0x97, 0x3f, 0x74, 0x27, 0xef, 0xd5, 0xc3, 0xb3, 0xf7, 0x4b, 0xa7, 0x6f,
+ 0xf5, 0xec, 0x31, 0xe3, 0xb6, 0xa2, 0x3a, 0x5f, 0x79, 0x2e, 0x25, 0x00,
+ 0x13, 0xd8, 0x56, 0xb0, 0xae, 0xa5, 0xb6, 0x94, 0xf1, 0x8c, 0xa2, 0x57,
+ 0xbf, 0xd5, 0xaa, 0x63, 0x33, 0xc2, 0x02, 0xa5, 0xce, 0xc7, 0x9b, 0xe3,
+ 0xf8, 0x17, 0xd6, 0xde, 0xe7, 0x85, 0x13, 0x9d, 0x11, 0x2d, 0xc0, 0xc9,
+ 0x62, 0xf6, 0x7f, 0xc3, 0x9b, 0x79, 0x04, 0x48, 0x62, 0x3f, 0xde, 0x9c,
+ 0x66, 0xa8, 0x89, 0xd2, 0x18, 0x8c, 0xef, 0x2b, 0xbd, 0xa4, 0x1e, 0x1a,
+ 0x5c, 0xcb, 0x9b, 0x05, 0x14, 0x8c, 0x38, 0x02, 0x2d, 0x1a, 0xca, 0x62,
+ 0x18, 0x22, 0xde, 0x52, 0x9b, 0x26, 0x68, 0x79, 0xea, 0xb8, 0xf0, 0x87,
+ 0xde, 0x60, 0x5b, 0xbd, 0xf6, 0x9c, 0x11, 0x0f, 0x17, 0xee, 0x03, 0x59,
+ 0xe8, 0x78, 0x73, 0x39, 0x0c, 0x53, 0x59, 0x3e, 0x22, 0xd3, 0x8e, 0x2e,
+ 0xdf, 0xff, 0xcb, 0x86, 0xc8, 0x5e, 0x58, 0x0e, 0x4b, 0x73, 0x05, 0xa0,
+ 0x2b, 0xe6, 0xb5, 0x33, 0xdd, 0x02, 0x20, 0x3c, 0x69, 0x95, 0xbd, 0x08,
+ 0x50, 0x0a, 0x30, 0xbe, 0x7b, 0x08, 0x0e, 0x4e, 0x11, 0x41, 0xcd, 0x99,
+ 0x9c, 0xf7, 0x95, 0xbd, 0x79, 0x26, 0x7d, 0x1a, 0x5e, 0x5f, 0x76, 0xed,
+ 0x00, 0xfb, 0x70, 0xc5, 0x66, 0xb5, 0x9b, 0x33, 0xbe, 0x2f, 0x83, 0x1d,
+ 0xb8, 0xfc, 0x76, 0x54, 0x0a, 0x48, 0xb9, 0xde, 0x5b, 0x97, 0xe5, 0xee,
+ 0xe7, 0xad, 0xcb, 0xd2, 0xbd, 0xb3, 0xea, 0x9a, 0x1c, 0x66, 0x8c, 0x9f,
+ 0xf2, 0x7d, 0x6e, 0x78, 0x09, 0x98, 0x15, 0xd0, 0xaf, 0x87, 0x48, 0x1c,
+ 0x7a, 0xb5, 0xab, 0x03, 0x08, 0x14, 0xc6, 0x79, 0xba, 0xd9, 0x11, 0x4a,
+ 0x11, 0x1e, 0x51, 0xe6, 0x93, 0x51, 0x55, 0xde, 0xd6, 0xd0, 0x9e, 0xd4,
+ 0x9e, 0x4a, 0x19, 0xb1, 0x79, 0x1d, 0xc0, 0x06, 0xcc, 0xf4, 0x4e, 0x2d,
+ 0x55, 0xe5, 0xdb, 0x8b, 0x77, 0x27, 0x4c, 0xc7, 0xcd, 0x99, 0xa3, 0x94,
+ 0x1c, 0x23, 0x7d, 0x5e, 0x8c, 0x66, 0x66, 0xfd, 0x8d, 0x82, 0xd2, 0xb0,
+ 0x34, 0x53, 0x01, 0x19, 0xa4, 0xb7, 0x22, 0xfc, 0x24, 0xc1, 0xcb, 0x79,
+ 0x2c, 0xa8, 0x20, 0xae, 0x20, 0x17, 0xb4, 0x93, 0xc5, 0x45, 0x92, 0xd9,
+ 0x72, 0x24, 0xcb, 0xf6, 0x5d, 0xff, 0xf6, 0xf6, 0xb6, 0x4f, 0xbd, 0x73,
+ 0x8a, 0x09, 0x99, 0x6c, 0x87, 0x0c, 0xe0, 0x80, 0x2a, 0xf5, 0x86, 0x96,
+ 0x82, 0x1e, 0x09, 0x4e, 0x9f, 0xa7, 0xa9, 0xa1, 0x6a, 0x0c, 0x58, 0x6f,
+ 0xad, 0x43, 0x81, 0x14, 0x2f, 0x4b, 0x19, 0x0f, 0x0e, 0x9f, 0xb4, 0xad,
+ 0x6c, 0x75, 0x45, 0x9a, 0x53, 0xbe, 0x1c, 0xf9, 0xbb, 0xaf, 0x7f, 0x91,
+ 0x2a, 0x42, 0x2a, 0x91, 0x44, 0x3f, 0x16, 0x15, 0xf9, 0x9f, 0xd8, 0xc2,
+ 0xe8, 0x45, 0x20, 0xe2, 0xa2, 0x93, 0xa8, 0x03, 0xda, 0x86, 0xe1, 0x5a,
+ 0x96, 0x89, 0xb2, 0x5c, 0x53, 0xdb, 0xde, 0xf1, 0x8d, 0xe8, 0x89, 0xcc,
+ 0x98, 0x03, 0xe0, 0x3f, 0x56, 0xd3, 0x6c, 0x36, 0xd3, 0x3a, 0x8a, 0xb8,
+ 0xa4, 0xf0, 0xe7, 0x06, 0x1a, 0x5e, 0x54, 0xc7, 0x76, 0x14, 0xf0, 0xb5,
+ 0x63, 0xfd, 0x56, 0xf3, 0x0e, 0xc4, 0x41, 0xa0, 0x0a, 0x02, 0xed, 0x77,
+ 0xd9, 0x76, 0xcf, 0xf4, 0x83, 0x50, 0xa5, 0xb8, 0x6b, 0x7a, 0x5e, 0x4c,
+ 0x28, 0x27, 0x87, 0x89, 0x1f, 0xdb, 0x72, 0x51, 0xe0, 0x59, 0x56, 0x5d,
+ 0x31, 0x6a, 0x9e, 0xf9, 0x2a, 0xa3, 0x59, 0xf5, 0x69, 0xe2, 0xb1, 0x46,
+ 0x25, 0xc9, 0xbf, 0xf5, 0xf9, 0x52, 0x85, 0x67, 0x65, 0x41, 0x01, 0x0c,
+ 0x71, 0x01, 0x6f, 0xf4, 0x27, 0x2c, 0x56, 0x26, 0x69, 0x61, 0x66, 0xc2,
+ 0x9c, 0xd8, 0x10, 0xcb, 0x31, 0x9d, 0xbe, 0x9a, 0x96, 0x8b, 0xfa, 0x7e,
+ 0x23, 0x91, 0x0a, 0x0c, 0x42, 0x5a, 0xde, 0x08, 0xee, 0x04, 0x00, 0x9c,
+ 0xf1, 0xf5, 0xa2, 0xf8, 0xa4, 0xf7, 0x22, 0x01, 0xeb, 0x6b, 0xf6, 0x2d,
+ 0x76, 0x9a, 0xdb, 0xf0, 0x3e, 0xf6, 0x6f, 0x7e, 0xdb, 0xd1, 0x59, 0x86,
+ 0x27, 0x92, 0xed, 0xbc, 0xc7, 0x19, 0x7a, 0x2e, 0x8a, 0x10, 0xb3, 0xf2,
+ 0x92, 0x56, 0x78, 0xc9, 0x36, 0x48, 0xf7, 0x06, 0x73, 0x84, 0xaa, 0x97,
+ 0xdc, 0xc1, 0x0c, 0x20, 0x6f, 0x96, 0xe4, 0x4a, 0xb8, 0x12, 0x8a, 0x1c,
+ 0x03, 0x71, 0x4c, 0x5e, 0x4c, 0xa9, 0x60, 0x2b, 0x16, 0xf8, 0x99, 0x59,
+ 0x83, 0xe4, 0xcc, 0xcc, 0x57, 0x40, 0x19, 0x43, 0x51, 0x57, 0xdb, 0x5c,
+ 0xea, 0x33, 0x32, 0xca, 0xb5, 0x66, 0x33, 0xcf, 0x01, 0x84, 0x66, 0x74,
+ 0x7b, 0x62, 0xad, 0xc9, 0x00, 0x52, 0xc2, 0xa6, 0x25, 0xf2, 0x25, 0xd4,
+ 0xfa, 0xb4, 0x9e, 0x62, 0xa2, 0x82, 0x26, 0xa2, 0x01, 0x0a, 0xc3, 0xab,
+ 0x31, 0xcd, 0xbe, 0x76, 0x76, 0x73, 0x06, 0x67, 0xc6, 0x3b, 0xbd, 0x34,
+ 0x1f, 0x10, 0x02, 0x96, 0x17, 0x9a, 0x6e, 0xb2, 0x8e, 0xd1, 0xc5, 0xb9,
+ 0xf2, 0x4e, 0xac, 0xc4, 0x79, 0xe3, 0x56, 0x61, 0xa7, 0xfc, 0xb3, 0xed,
+ 0xdd, 0x36, 0xce, 0xea, 0xea, 0x5e, 0x41, 0xcb, 0xfd, 0x85, 0x8e, 0x59,
+ 0xd3, 0x89, 0x40, 0x7e, 0xfd, 0x18, 0x7e, 0x56, 0x94, 0x32, 0x64, 0x75,
+ 0xaf, 0x7f, 0x81, 0x9f, 0xb0, 0xc7, 0xab, 0x1f, 0xd9, 0x40, 0x2d, 0x33,
+ 0x30, 0x9b, 0x66, 0x57, 0x3c, 0xde, 0x97, 0x27, 0x47, 0xdf, 0x1d, 0x9d,
+ 0x04, 0x97, 0xdb, 0x37, 0xc3, 0xe1, 0xf6, 0xa7, 0xac, 0x1a, 0xa1, 0xe0,
+ 0x1d, 0x0d, 0x8f, 0xfc, 0x6b, 0xf4, 0xa4, 0x05, 0x0d, 0x79, 0x32, 0x5f,
+ 0x4b, 0x14, 0x41, 0x02, 0xc3, 0xb4, 0x0a, 0x21, 0x08, 0xf2, 0x49, 0xe1,
+ 0x8b, 0x46, 0x1e, 0x8b, 0xa0, 0xd3, 0x70, 0x83, 0x8d, 0xab, 0x6c, 0xc2,
+ 0xf5, 0xe0, 0x42, 0x5c, 0x5a, 0x41, 0x26, 0x40, 0x92, 0xbc, 0xc6, 0x32,
+ 0x33, 0x3c, 0x19, 0x91, 0x11, 0x3b, 0x88, 0xe0, 0x8d, 0x39, 0xf2, 0xaf,
+ 0x93, 0xd7, 0xf2, 0xcd, 0x9a, 0xce, 0x06, 0xcd, 0x12, 0x93, 0x41, 0xb1,
+ 0x31, 0x71, 0xfa, 0x6d, 0xff, 0x60, 0xd8, 0x7f, 0x7d, 0x74, 0x72, 0xf4,
+ 0xcd, 0xc1, 0xc5, 0x11, 0x53, 0x22, 0x2b, 0x4b, 0xea, 0x12, 0x45, 0x49,
+ 0x6f, 0xe6, 0x6f, 0x65, 0x62, 0xf8, 0xd6, 0x26, 0x5e, 0x6d, 0x2a, 0x85,
+ 0x09, 0xba, 0x7b, 0xc7, 0xd5, 0x98, 0x92, 0xfd, 0xd2, 0xb4, 0x2a, 0x52,
+ 0x76, 0x37, 0xba, 0xb9, 0xae, 0xa4, 0xab, 0xc1, 0x08, 0xd2, 0xe9, 0x2d,
+ 0x15, 0xbd, 0xf9, 0x50, 0x10, 0x3e, 0x3b, 0xb7, 0x79, 0x88, 0x3c, 0x7a,
+ 0x6f, 0xea, 0xbd, 0x99, 0x6d, 0x2d, 0x30, 0xc8, 0x83, 0xe3, 0x1a, 0x8b,
+ 0xe6, 0x11, 0x23, 0x2e, 0xf9, 0x1a, 0x0f, 0x76, 0x38, 0x8a, 0x07, 0x2e,
+ 0x91, 0xb8, 0x70, 0xfc, 0xc5, 0x11, 0xca, 0x0b, 0x1c, 0x98, 0x7a, 0x7c,
+ 0x9d, 0xcd, 0x2c, 0x81, 0x0f, 0x05, 0xbe, 0x11, 0x60, 0xe5, 0xbc, 0x3d,
+ 0x21, 0x1a, 0x81, 0x1c, 0x18, 0x65, 0x30, 0x7c, 0x11, 0xec, 0xb9, 0x09,
+ 0x64, 0x3f, 0x50, 0x24, 0xc4, 0x5c, 0x4e, 0xfe, 0x7b, 0xc2, 0x81, 0x20,
+ 0x39, 0x75, 0x00, 0xc4, 0x9a, 0x04, 0xa3, 0xe3, 0xe1, 0x67, 0xa9, 0xcc,
+ 0xd4, 0x55, 0x0c, 0x2c, 0x07, 0xb2, 0xc7, 0x62, 0x4a, 0x51, 0x1f, 0xfc,
+ 0x08, 0xc2, 0x54, 0xd5, 0x62, 0xea, 0xe1, 0x2f, 0x71, 0x46, 0x75, 0xbd,
+ 0x51, 0xd8, 0x55, 0x1c, 0x0e, 0xad, 0xc4, 0x11, 0x1a, 0x85, 0x02, 0xaf,
+ 0x10, 0x1a, 0x0b, 0x3e, 0xbc, 0xa0, 0x02, 0xe5, 0xe3, 0x2c, 0xf4, 0xcc,
+ 0xbc, 0x90, 0xf6, 0x87, 0x42, 0x6a, 0xbe, 0x32, 0xc8, 0xe0, 0x09, 0x8d,
+ 0x16, 0xed, 0x39, 0xd1, 0x4c, 0xeb, 0x5f, 0x43, 0x72, 0x7a, 0x9b, 0xc1,
+ 0xd5, 0xcf, 0xe6, 0x01, 0xeb, 0xef, 0xe6, 0x1b, 0x25, 0xf2, 0xb6, 0x3a,
+ 0xa0, 0x5f, 0xc9, 0xc6, 0x2b, 0x3b, 0x71, 0x74, 0x76, 0xce, 0xb5, 0x6b,
+ 0x4f, 0xe8, 0x2f, 0x12, 0xd0, 0xa9, 0x63, 0xbc, 0x59, 0x52, 0x48, 0x80,
+ 0x90, 0x0e, 0x19, 0x22, 0x02, 0x36, 0x4e, 0xab, 0x00, 0x37, 0xc6, 0x34,
+ 0x0a, 0x5b, 0xb3, 0x1c, 0x88, 0x58, 0x42, 0xa4, 0x57, 0xef, 0x0e, 0x5d,
+ 0xa1, 0x3e, 0x08, 0x3b, 0x2b, 0x7a, 0xc1, 0xc0, 0x4c, 0x75, 0xbc, 0x9f,
+ 0xd2, 0x2f, 0x49, 0x31, 0x94, 0x0d, 0xb4, 0x64, 0x1a, 0x5d, 0x9e, 0x0e,
+ 0x35, 0x49, 0x6f, 0x25, 0x15, 0x2a, 0xe5, 0xa5, 0xa6, 0x1f, 0x03, 0x37,
+ 0x4e, 0xfe, 0x04, 0xfb, 0x41, 0x41, 0xd7, 0x17, 0xba, 0xd9, 0x91, 0xfb,
+ 0x6c, 0x75, 0x7f, 0xc5, 0x3b, 0x33, 0x98, 0xd3, 0xe2, 0xb8, 0x7b, 0x42,
+ 0x6d, 0xc3, 0xf9, 0xf7, 0x00, 0xa2, 0x97, 0x85, 0x5f, 0xa2, 0xa5, 0x65,
+ 0x27, 0xd4, 0x8a, 0x6e, 0xca, 0xee, 0x25, 0x22, 0xcb, 0x8a, 0xdb, 0xa5,
+ 0x44, 0xbd, 0x52, 0xd0, 0xa1, 0xc2, 0x04, 0x19, 0xb1, 0xa6, 0x01, 0xa4,
+ 0xd8, 0x75, 0x5a, 0x44, 0x4e, 0x9d, 0x99, 0x78, 0x5b, 0x71, 0x06, 0x03,
+ 0x95, 0x65, 0x8b, 0x28, 0xdb, 0xb4, 0x37, 0x5a, 0x40, 0x63, 0xc2, 0xd5,
+ 0xdf, 0x91, 0x32, 0x9f, 0x93, 0xbb, 0x5c, 0xba, 0xc2, 0x93, 0x43, 0x44,
+ 0x3c, 0xba, 0xdf, 0xca, 0xd8, 0xae, 0x62, 0xf9, 0xe2, 0x39, 0xf1, 0x5b,
+ 0x5b, 0x70, 0x19, 0x30, 0x4d, 0x51, 0x45, 0x35, 0xd2, 0x36, 0x3c, 0x26,
+ 0x4e, 0xaa, 0xdf, 0xd8, 0xce, 0xeb, 0x60, 0xbd, 0x93, 0xaf, 0xfc, 0xa2,
+ 0x0b, 0x6e, 0xc8, 0x18, 0xcb, 0x6f, 0xbe, 0x8d, 0xee, 0x92, 0xc7, 0xc6,
+ 0x06, 0xfa, 0x68, 0xef, 0x04, 0xdf, 0x7f, 0x8d, 0xce, 0x41, 0xf3, 0xc4,
+ 0x1b, 0x38, 0xf6, 0xc4, 0x5f, 0x73, 0x25, 0xc6, 0x94, 0xec, 0xe5, 0x51,
+ 0x66, 0xbe, 0x98, 0x53, 0x89, 0x21, 0xbf, 0x44, 0x57, 0x00, 0x9d, 0xad,
+ 0xcd, 0xfe, 0x1b, 0x5f, 0xab, 0x39, 0x45, 0x2f, 0xce, 0x48, 0x39, 0xf0,
+ 0x4a, 0x73, 0x71, 0x5c, 0x9b, 0xf5, 0x91, 0x33, 0x08, 0x08, 0x8a, 0x92,
+ 0x01, 0x31, 0x17, 0x46, 0x9b, 0xcd, 0x04, 0x8e, 0x2d, 0x5f, 0x8f, 0x3e,
+ 0x9a, 0xd6, 0x37, 0xf1, 0x13, 0x5e, 0xdf, 0x44, 0x4f, 0xb8, 0xfe, 0x81,
+ 0x93, 0xee, 0x15, 0x4c, 0x5b, 0x76, 0xd6, 0x87, 0xdf, 0x2d, 0xe1, 0x1c,
+ 0xf0, 0x4e, 0xb8, 0x8e, 0x0e, 0xbb, 0xdd, 0x3b, 0xe3, 0x7c, 0xc8, 0x65,
+ 0x8d, 0xec, 0x31, 0x97, 0x73, 0x1e, 0x75, 0xe5, 0xfb, 0x75, 0x0e, 0xf9,
+ 0x9c, 0x9b, 0xef, 0xcb, 0xe1, 0x3e, 0x3b, 0x18, 0x7e, 0xd7, 0x39, 0xd6,
+ 0xde, 0x41, 0x8e, 0xa5, 0x3c, 0xa3, 0xfa, 0x58, 0xa5, 0x7c, 0x9d, 0xd4,
+ 0x56, 0x74, 0xbf, 0xd7, 0x37, 0x8f, 0xd9, 0xef, 0xa6, 0x23, 0xc1, 0x7e,
+ 0x0f, 0xe6, 0x78, 0xd5, 0x7e, 0xf7, 0x17, 0xaa, 0x75, 0x03, 0x65, 0x89,
+ 0xbf, 0xe3, 0x0b, 0xae, 0x52, 0x7a, 0x8d, 0xea, 0xda, 0xc1, 0x56, 0xc7,
+ 0x4e, 0xa7, 0x00, 0x15, 0xb6, 0x76, 0x88, 0x53, 0x43, 0x3f, 0x7f, 0xc9,
+ 0x46, 0xc7, 0x0b, 0xc1, 0x3e, 0xd7, 0x15, 0xfd, 0xc5, 0x1b, 0x5d, 0x0e,
+ 0x48, 0xb0, 0xcf, 0x61, 0xb9, 0x9e, 0xf5, 0xbc, 0x0d, 0xee, 0xed, 0x5a,
+ 0x3f, 0xbb, 0x38, 0x32, 0x43, 0x96, 0xaf, 0xc2, 0x5d, 0xc0, 0x8e, 0x2d,
+ 0x20, 0xc2, 0x4e, 0xd1, 0xb3, 0x29, 0x9c, 0xd5, 0x38, 0xf4, 0xbc, 0xdb,
+ 0x84, 0x62, 0x1f, 0x50, 0x0f, 0x8b, 0x4b, 0x20, 0xb8, 0xc6, 0x06, 0xa2,
+ 0x5b, 0x1b, 0x56, 0xbc, 0x9f, 0xa6, 0xee, 0x97, 0x09, 0x6b, 0x73, 0x16,
+ 0x69, 0x27, 0x62, 0x49, 0xcf, 0x75, 0x46, 0xf0, 0x01, 0x90, 0x56, 0x75,
+ 0xcf, 0x29, 0x29, 0x7a, 0x50, 0x08, 0x48, 0x55, 0xe9, 0xe7, 0x45, 0x3f,
+ 0x84, 0xd6, 0xb6, 0xa3, 0x97, 0x0d, 0x58, 0x2d, 0x3d, 0xcb, 0x8f, 0xd2,
+ 0xdf, 0x48, 0xd9, 0x95, 0x98, 0x44, 0x9a, 0x48, 0xd6, 0x1d, 0xf9, 0xef,
+ 0x71, 0xf5, 0x46, 0xf2, 0x34, 0xa3, 0x2c, 0x5d, 0xed, 0x9a, 0x11, 0x4d,
+ 0xd9, 0x72, 0x9a, 0x3d, 0xef, 0xb0, 0x9f, 0x4e, 0x8a, 0xba, 0xef, 0xea,
+ 0xdf, 0xbe, 0xb4, 0x7f, 0x0d, 0x2c, 0x8c, 0xd7, 0xef, 0x87, 0x1d, 0x95,
+ 0xa2, 0xce, 0x38, 0xe1, 0xe0, 0x0a, 0x72, 0xc3, 0xfc, 0xde, 0xe6, 0x09,
+ 0xd5, 0xae, 0xde, 0x94, 0x34, 0x19, 0x58, 0x38, 0xf4, 0x89, 0x41, 0x27,
+ 0xd1, 0x52, 0xb2, 0x5b, 0x51, 0xb2, 0x19, 0x7e, 0x4c, 0xf2, 0x25, 0x79,
+ 0xbd, 0x93, 0x4c, 0x69, 0xf2, 0x10, 0xc5, 0x78, 0x72, 0xf8, 0x82, 0xa0,
+ 0x7e, 0x6a, 0xe9, 0x4b, 0x21, 0x71, 0x16, 0x16, 0x2b, 0x5b, 0x2a, 0xa7,
+ 0x48, 0xbc, 0x92, 0xbf, 0xb1, 0x88, 0xd3, 0xa6, 0xf0, 0xee, 0x08, 0x14,
+ 0x69, 0x2b, 0x3a, 0xc5, 0x52, 0xf3, 0x58, 0xa6, 0x70, 0x7e, 0xf3, 0xb4,
+ 0x4f, 0x8f, 0x27, 0x6a, 0x2e, 0xf2, 0x0f, 0x9f, 0xe3, 0x87, 0x83, 0xee,
+ 0x44, 0x07, 0x36, 0xb4, 0xd4, 0xa7, 0xb3, 0xde, 0xd3, 0x45, 0x31, 0x21,
+ 0xe6, 0x7e, 0xea, 0xb6, 0xb2, 0xaf, 0xdf, 0xa6, 0xae, 0xe2, 0x00, 0x58,
+ 0x0c, 0x98, 0xdf, 0xc6, 0x6c, 0xa1, 0xee, 0xe4, 0xa6, 0xa8, 0x70, 0xef,
+ 0x2d, 0xfa, 0x93, 0x27, 0x91, 0x45, 0xb7, 0x3d, 0x7e, 0x29, 0xc3, 0x8c,
+ 0x2f, 0x79, 0xf7, 0x72, 0x21, 0xf7, 0x19, 0xa4, 0xc0, 0xcb, 0x7c, 0xde,
+ 0xd7, 0x37, 0xf9, 0x02, 0x99, 0xa5, 0x9f, 0xe4, 0x62, 0x7f, 0x4a, 0xcb,
+ 0x10, 0x19, 0x24, 0x97, 0xb3, 0xf4, 0x03, 0x56, 0xb4, 0x6d, 0xec, 0xae,
+ 0x11, 0x5d, 0xab, 0xb1, 0x5c, 0x8f, 0x20, 0x92, 0xe4, 0x6f, 0xc4, 0xf2,
+ 0x88, 0x14, 0xfa, 0xeb, 0xfb, 0x62, 0x34, 0x67, 0x00, 0xbd, 0xb0, 0xef,
+ 0x3e, 0xb8, 0x7e, 0x6e, 0x3f, 0xac, 0x5a, 0x3f, 0x9d, 0xb3, 0xff, 0x1e,
+ 0xeb, 0xf7, 0xfc, 0x77, 0x5b, 0xbf, 0xe7, 0xff, 0x2d, 0xd6, 0xef, 0xf9,
+ 0x3f, 0xbf, 0x7e, 0x4f, 0xbb, 0xeb, 0xf7, 0xfc, 0xbf, 0xcb, 0xfa, 0x69,
+ 0xa1, 0x26, 0x5d, 0xbd, 0x2c, 0x58, 0x3f, 0x38, 0x71, 0x38, 0xfb, 0x20,
+ 0xaf, 0xa5, 0xf4, 0x30, 0x4d, 0xb7, 0xbe, 0xc9, 0x01, 0x15, 0xc1, 0xd0,
+ 0xb1, 0xc7, 0x5a, 0xa1, 0x9c, 0xe0, 0x2e, 0x88, 0xf3, 0xbd, 0x4a, 0xed,
+ 0x1e, 0x65, 0x8c, 0x3b, 0x3e, 0x4b, 0x6c, 0x07, 0xbc, 0x65, 0x70, 0x3c,
+ 0x4d, 0xd0, 0xcf, 0xa2, 0xae, 0xe4, 0x9a, 0xfc, 0x8b, 0x66, 0x02, 0x38,
+ 0x65, 0xaf, 0x76, 0xb9, 0xa6, 0x31, 0x22, 0x26, 0x33, 0x79, 0xfb, 0x2f,
+ 0x69, 0xbe, 0xfa, 0xfc, 0xf8, 0x97, 0xd1, 0x04, 0x2a, 0xd4, 0xc3, 0x74,
+ 0x5d, 0x8a, 0x85, 0x0f, 0xbc, 0xa9, 0x7b, 0xf4, 0xb2, 0x2d, 0x2b, 0x19,
+ 0xa4, 0x4b, 0x38, 0xee, 0x3f, 0xb4, 0x64, 0xaf, 0xa1, 0xd5, 0x2c, 0x66,
+ 0x73, 0x49, 0xac, 0x7c, 0x20, 0xb1, 0x0c, 0xc6, 0xe2, 0x56, 0xf2, 0x3d,
+ 0xb2, 0xc6, 0xd8, 0x63, 0x2c, 0xd9, 0x16, 0xb6, 0x98, 0xbb, 0x02, 0xcc,
+ 0x35, 0x1c, 0xb3, 0x84, 0x01, 0x2a, 0x4a, 0xc6, 0xd3, 0x49, 0x9b, 0xe6,
+ 0x8c, 0x00, 0x5b, 0x1d, 0x3d, 0x2b, 0x7c, 0xed, 0x4e, 0x39, 0x2f, 0xb1,
+ 0x91, 0xe4, 0xa3, 0x51, 0xfa, 0x59, 0xba, 0x16, 0x39, 0xd3, 0x84, 0x3a,
+ 0xcd, 0x54, 0x6a, 0xe6, 0x75, 0xd3, 0xd4, 0x40, 0xd2, 0x4d, 0xbc, 0xda,
+ 0xe2, 0xda, 0x7b, 0xb0, 0xdb, 0xc4, 0x20, 0xd2, 0xaa, 0x87, 0xc1, 0xa6,
+ 0x15, 0xde, 0x02, 0x4b, 0x4c, 0x53, 0xdc, 0x68, 0xf2, 0x01, 0x41, 0x3a,
+ 0x5a, 0x95, 0x19, 0xfa, 0xa3, 0x30, 0x85, 0x48, 0xe1, 0xa9, 0x3c, 0xe2,
+ 0x3f, 0x60, 0xff, 0x2e, 0x01, 0xa7, 0xb3, 0x0e, 0xe1, 0xdb, 0xd0, 0xc1,
+ 0x9a, 0xfb, 0xd0, 0xf7, 0xc1, 0xda, 0x2a, 0x58, 0x2a, 0xe3, 0x1d, 0xaf,
+ 0x33, 0x3f, 0x8d, 0xd3, 0x72, 0xe0, 0xb1, 0xa3, 0x9b, 0x1d, 0x09, 0x66,
+ 0x70, 0x82, 0xce, 0x0b, 0xaa, 0x5c, 0x20, 0x53, 0x5b, 0x66, 0x6b, 0x5d,
+ 0x98, 0x65, 0x16, 0xc2, 0x7d, 0x99, 0xd2, 0x86, 0x00, 0xfb, 0xc9, 0xbf,
+ 0x30, 0x6d, 0xd2, 0x43, 0xab, 0xfa, 0x22, 0x29, 0xbb, 0xe2, 0x18, 0xef,
+ 0x2a, 0x64, 0x64, 0x87, 0x04, 0x8a, 0xb9, 0x5b, 0x2d, 0x0d, 0x14, 0x4c,
+ 0xcc, 0xa2, 0xa9, 0xca, 0xf9, 0x7d, 0xf2, 0x4d, 0x4a, 0xc3, 0x82, 0x5a,
+ 0x98, 0x66, 0xb3, 0x20, 0x69, 0x86, 0xab, 0x7e, 0x8a, 0x96, 0xc6, 0x15,
+ 0x40, 0x75, 0x84, 0xd0, 0x2b, 0x79, 0x5a, 0x8c, 0x5c, 0x36, 0xf3, 0x45,
+ 0x01, 0x09, 0x81, 0xb3, 0x33, 0x1c, 0x74, 0x38, 0x3c, 0x09, 0x0d, 0x01,
+ 0xad, 0xa6, 0xb1, 0x32, 0x49, 0x1a, 0xad, 0xf5, 0xbb, 0xce, 0x75, 0x69,
+ 0xfc, 0x65, 0xf4, 0x30, 0xcb, 0xb8, 0xb3, 0xa9, 0xf2, 0x08, 0x48, 0x1d,
+ 0x82, 0x64, 0x5c, 0xdd, 0xcf, 0xc9, 0xb8, 0x94, 0xac, 0x40, 0x3e, 0x7b,
+ 0xd4, 0x3f, 0x66, 0xa1, 0x5c, 0x99, 0x87, 0xf9, 0x01, 0x91, 0x3f, 0x79,
+ 0x15, 0x82, 0x98, 0xbc, 0x0a, 0xc4, 0xca, 0x4a, 0x84, 0x3b, 0x22, 0x98,
+ 0x49, 0x66, 0x4d, 0xc0, 0x30, 0xe1, 0x48, 0x52, 0x03, 0x1a, 0x35, 0xd4,
+ 0xca, 0xe9, 0x50, 0xb2, 0xc3, 0x0b, 0x81, 0x34, 0x53, 0xa2, 0xfd, 0x86,
+ 0x37, 0x7e, 0x4b, 0x2f, 0x06, 0x79, 0xa3, 0x53, 0xc5, 0x59, 0x45, 0xb0,
+ 0x65, 0xec, 0x4e, 0x29, 0xe5, 0xbc, 0x08, 0xe8, 0x2d, 0x38, 0x94, 0xbf,
+ 0xbb, 0xb3, 0xf3, 0x20, 0x6f, 0x89, 0x98, 0x3a, 0x2b, 0xe9, 0x4b, 0x48,
+ 0x46, 0xb1, 0x7f, 0xdc, 0x26, 0xd9, 0xa6, 0xb9, 0x24, 0x52, 0x74, 0x99,
+ 0x9e, 0xcc, 0x27, 0x2d, 0x8d, 0x88, 0x3b, 0x82, 0x2c, 0xeb, 0x98, 0xde,
+ 0x07, 0x24, 0x26, 0x46, 0x84, 0x1d, 0xa1, 0x8f, 0xf5, 0x7e, 0xeb, 0x9d,
+ 0x68, 0x69, 0x53, 0xea, 0x10, 0xbd, 0x24, 0xda, 0xcb, 0x20, 0xf9, 0xfa,
+ 0xde, 0x19, 0x7d, 0x9e, 0xaf, 0x03, 0xbd, 0xc2, 0x09, 0x93, 0xfe, 0x0f,
+ 0x56, 0x91, 0xc5, 0xc4, 0xb9, 0x49, 0xfe, 0xc0, 0x82, 0x05, 0xcd, 0x1a,
+ 0x01, 0x34, 0xaf, 0xd1, 0x2a, 0x28, 0x0e, 0xe2, 0xde, 0x0e, 0x3b, 0xda,
+ 0xb4, 0x0e, 0x2a, 0x7b, 0x78, 0x45, 0x3a, 0xf8, 0x52, 0x59, 0x49, 0x28,
+ 0xdb, 0x66, 0x9a, 0x69, 0xa3, 0x0d, 0x3f, 0x6b, 0xab, 0x25, 0x94, 0xeb,
+ 0xd9, 0x47, 0x46, 0x67, 0x37, 0x8d, 0x9d, 0x92, 0x40, 0x49, 0x76, 0xc1,
+ 0x46, 0x2d, 0x0b, 0xcf, 0x78, 0x27, 0x86, 0x23, 0x86, 0x77, 0x68, 0x0e,
+ 0x48, 0x87, 0x40, 0xd3, 0x17, 0xac, 0x4a, 0xfd, 0xad, 0x27, 0x7d, 0x52,
+ 0x7a, 0x7c, 0x3a, 0x36, 0xed, 0xa7, 0xe3, 0x05, 0x60, 0x37, 0x40, 0x84,
+ 0x5d, 0x8b, 0x97, 0xc7, 0xf7, 0x26, 0x4b, 0xf6, 0x2a, 0xc2, 0xe0, 0x50,
+ 0x25, 0x58, 0xf7, 0xf8, 0x70, 0x7e, 0xd2, 0x4b, 0xa4, 0x2a, 0x2e, 0x01,
+ 0x59, 0xcd, 0x4a, 0xc7, 0x75, 0x23, 0xe7, 0x44, 0x66, 0x6e, 0x3f, 0x1e,
+ 0x4b, 0xed, 0x48, 0xaa, 0x48, 0x6c, 0xc3, 0x71, 0x6b, 0x9a, 0xac, 0x15,
+ 0xf9, 0x13, 0xba, 0xd3, 0xbc, 0x94, 0x51, 0xf3, 0x20, 0xb1, 0x66, 0xd4,
+ 0x0b, 0x38, 0x3f, 0xb5, 0xd3, 0x96, 0x17, 0x4a, 0x9e, 0x95, 0x74, 0x5a,
+ 0x72, 0xb4, 0x44, 0x72, 0x72, 0x25, 0xc4, 0x4a, 0x94, 0x72, 0x09, 0x96,
+ 0x07, 0x59, 0xb9, 0x8b, 0xca, 0x0b, 0xb4, 0xae, 0x5f, 0xe7, 0x66, 0x5d,
+ 0x8b, 0x75, 0xdc, 0xa7, 0xf5, 0x62, 0xc4, 0x54, 0x88, 0x0d, 0x3e, 0x1c,
+ 0x83, 0x3d, 0x13, 0x6e, 0xd0, 0x39, 0xf7, 0xe2, 0x25, 0x6f, 0x5b, 0xf1,
+ 0x94, 0x5e, 0xd2, 0x3a, 0x14, 0xaa, 0x70, 0x72, 0xd7, 0x5c, 0x46, 0x70,
+ 0xb4, 0x76, 0x04, 0xef, 0x14, 0x97, 0x24, 0x44, 0xa7, 0x1f, 0x25, 0x61,
+ 0x7a, 0x7e, 0x3d, 0x06, 0x87, 0xe0, 0x48, 0x67, 0xe4, 0x03, 0x60, 0x85,
+ 0x97, 0x26, 0x3a, 0xae, 0xae, 0x54, 0x96, 0x47, 0x22, 0xc2, 0x69, 0x2a,
+ 0x18, 0xae, 0xf4, 0x1e, 0xd9, 0x10, 0xf6, 0xd3, 0xd8, 0xe1, 0x01, 0x31,
+ 0x15, 0x91, 0xb4, 0x95, 0xd0, 0x1d, 0x65, 0x2f, 0x13, 0xe7, 0xdf, 0xb8,
+ 0xca, 0xe7, 0x0d, 0x87, 0xb5, 0x05, 0x48, 0xfb, 0x90, 0x1a, 0x76, 0x35,
+ 0x2d, 0x47, 0x29, 0x9f, 0x13, 0x0b, 0x62, 0x51, 0x97, 0x59, 0x8b, 0x30,
+ 0x15, 0xfc, 0xde, 0x66, 0x7b, 0x46, 0x12, 0x90, 0xcc, 0x90, 0xfb, 0xfb,
+ 0xa8, 0x54, 0x4c, 0xc1, 0xb4, 0x55, 0x1f, 0xb4, 0x9f, 0x60, 0x5a, 0xb2,
+ 0xfe, 0x65, 0x4f, 0x4e, 0xb0, 0xd6, 0x9f, 0x03, 0x06, 0xa8, 0xf6, 0xce,
+ 0x55, 0xa0, 0x0a, 0x21, 0xb7, 0x7b, 0xb2, 0xc8, 0xda, 0x90, 0xa0, 0x0d,
+ 0x09, 0x35, 0x4a, 0x2d, 0x25, 0xc0, 0x52, 0x40, 0x94, 0x0e, 0x92, 0x55,
+ 0x0e, 0xe9, 0x45, 0xe1, 0x2e, 0x44, 0x50, 0x2a, 0xf0, 0x14, 0x57, 0xbd,
+ 0xbb, 0xa0, 0x9b, 0xc9, 0x75, 0x4e, 0x91, 0x96, 0xde, 0x5c, 0x71, 0xb6,
+ 0x77, 0x15, 0x14, 0xa0, 0xbe, 0x64, 0x3d, 0x0d, 0xfe, 0x2f, 0x5e, 0x93,
+ 0x15, 0x33, 0xe3, 0x53, 0x1d, 0xef, 0xb5, 0xa4, 0x9a, 0xfd, 0x74, 0xfc,
+ 0x8a, 0x82, 0x68, 0xab, 0x49, 0x97, 0x27, 0x07, 0xf1, 0x26, 0xd5, 0x7f,
+ 0xe7, 0xac, 0x9c, 0x14, 0xb1, 0x6b, 0x70, 0xf6, 0x29, 0xbd, 0x30, 0x4b,
+ 0x83, 0x78, 0x30, 0x8f, 0x4e, 0x8a, 0x54, 0xa4, 0x47, 0x01, 0x6e, 0xac,
+ 0x39, 0xb4, 0x50, 0x71, 0x3a, 0xeb, 0x86, 0xca, 0x9a, 0xb1, 0xf7, 0xcb,
+ 0x49, 0x96, 0x4e, 0x63, 0x94, 0xfd, 0xd4, 0x61, 0x72, 0x02, 0xb2, 0x70,
+ 0x23, 0xee, 0x86, 0x42, 0x9c, 0xee, 0x82, 0xa7, 0x65, 0x38, 0x59, 0x21,
+ 0xd9, 0xaa, 0xda, 0x43, 0x9c, 0xaa, 0x88, 0xa1, 0x43, 0x85, 0x23, 0xf0,
+ 0x00, 0xf2, 0x1a, 0xc7, 0x92, 0x2f, 0x0d, 0x29, 0xea, 0x52, 0x03, 0xa0,
+ 0xff, 0xbf, 0x3b, 0xb1, 0x0f, 0x60, 0x07, 0x20, 0x04, 0xdc, 0x6d, 0x4e,
+ 0x1c, 0x71, 0x9c, 0xaf, 0x86, 0x8b, 0x46, 0x21, 0xfa, 0xd4, 0x31, 0x86,
+ 0x51, 0x90, 0x98, 0xdc, 0x92, 0x73, 0xc8, 0xc1, 0x7a, 0x96, 0x1c, 0xf3,
+ 0x70, 0xa5, 0x6f, 0x32, 0x85, 0xc0, 0xc0, 0xbe, 0xe0, 0x05, 0x68, 0x6c,
+ 0x1a, 0x1f, 0xb5, 0x26, 0x72, 0x86, 0x85, 0xcc, 0xde, 0xde, 0x12, 0x4a,
+ 0x07, 0xa9, 0xd5, 0x2b, 0x7b, 0x0c, 0x87, 0xbd, 0x4e, 0x2f, 0x6d, 0x19,
+ 0x6d, 0x11, 0xe0, 0xe5, 0xd8, 0x4c, 0x21, 0xa2, 0x7c, 0x60, 0x4a, 0x21,
+ 0x0d, 0x29, 0x08, 0x02, 0xb2, 0xb8, 0x26, 0x29, 0x69, 0xaf, 0x5d, 0x3a,
+ 0x08, 0x0a, 0x0b, 0xad, 0xa7, 0xf9, 0xdc, 0xfa, 0x38, 0x7b, 0xc4, 0x40,
+ 0xcb, 0xf0, 0x14, 0x8a, 0x88, 0xdc, 0x86, 0x6c, 0x8b, 0x9d, 0x92, 0xc2,
+ 0x42, 0xcc, 0x39, 0x25, 0xf5, 0x7f, 0xb3, 0xd3, 0xfe, 0xd3, 0x9d, 0x5d,
+ 0x74, 0xf7, 0xe9, 0xce, 0x67, 0x5b, 0xed, 0xbb, 0x79, 0x5a, 0x67, 0x7d,
+ 0xe0, 0x93, 0xe2, 0x3a, 0xea, 0x45, 0xc7, 0x9f, 0x0c, 0x7d, 0x94, 0x5e,
+ 0x12, 0x50, 0xd3, 0x64, 0x51, 0x29, 0xd2, 0x8f, 0xea, 0x67, 0x91, 0xcd,
+ 0x58, 0x5f, 0x13, 0x1f, 0x5c, 0x70, 0xd7, 0xbb, 0x77, 0x18, 0x16, 0x41,
+ 0xb7, 0x12, 0xcf, 0x94, 0xd9, 0x3d, 0xf4, 0xae, 0x2d, 0xb8, 0x24, 0x93,
+ 0xc1, 0xa0, 0x29, 0xb2, 0x18, 0x43, 0x6e, 0x5e, 0x9f, 0x04, 0x8b, 0x93,
+ 0x2b, 0x38, 0x00, 0xd4, 0x2e, 0x7a, 0x69, 0x25, 0xcf, 0x9b, 0xbc, 0xc8,
+ 0xeb, 0x6b, 0x14, 0xcb, 0xac, 0xeb, 0xf4, 0x2a, 0x0b, 0xd3, 0x6f, 0x8d,
+ 0x48, 0x32, 0x86, 0x93, 0x14, 0xb5, 0x07, 0x37, 0x36, 0x61, 0x8c, 0xf8,
+ 0x3c, 0x48, 0x7a, 0x82, 0x94, 0x77, 0x5a, 0x20, 0xc4, 0x62, 0x87, 0xb9,
+ 0xa4, 0x20, 0xbd, 0xab, 0x3d, 0xb6, 0xac, 0xf4, 0x18, 0x15, 0xc2, 0x01,
+ 0x73, 0x0f, 0x97, 0x28, 0xe1, 0x1a, 0x25, 0x01, 0x12, 0x91, 0xfc, 0x08,
+ 0x9b, 0xb4, 0xb8, 0xa7, 0x43, 0x23, 0x84, 0x5c, 0x9d, 0x4c, 0xa0, 0xbd,
+ 0xcc, 0xcf, 0x7e, 0x30, 0x1a, 0xe9, 0xe0, 0x85, 0xfd, 0xf1, 0xd6, 0xe3,
+ 0x6a, 0x95, 0xed, 0x75, 0x34, 0x34, 0x82, 0x5d, 0x8a, 0x3b, 0x1b, 0x06,
+ 0xcb, 0x2b, 0xfe, 0xc7, 0x12, 0x27, 0x04, 0xb2, 0xe1, 0x92, 0xe3, 0x77,
+ 0x07, 0x60, 0xba, 0x71, 0xdc, 0xb3, 0x3e, 0x3c, 0xc9, 0xcf, 0x1e, 0x42,
+ 0xe1, 0x36, 0x52, 0x58, 0xa3, 0xd4, 0x63, 0x96, 0x2d, 0x94, 0xc1, 0x62,
+ 0x2d, 0x32, 0x68, 0x0e, 0xeb, 0x4c, 0xa9, 0x36, 0x0d, 0x9d, 0x02, 0x23,
+ 0x23, 0x4f, 0x32, 0x2e, 0xd7, 0x91, 0x6c, 0x7c, 0xb5, 0x11, 0xc9, 0x33,
+ 0xda, 0x78, 0xe9, 0x11, 0x1f, 0xd7, 0x3d, 0x4b, 0xe5, 0xbe, 0xf1, 0x05,
+ 0xe1, 0x4f, 0x89, 0xec, 0x81, 0xbf, 0x29, 0x6b, 0xc0, 0x50, 0x4a, 0x09,
+ 0x98, 0x2d, 0x49, 0xc7, 0x11, 0xe6, 0xb2, 0x36, 0x04, 0x85, 0xcb, 0xaf,
+ 0x12, 0x2b, 0x74, 0x67, 0xdc, 0xaa, 0xd3, 0x6d, 0x04, 0x54, 0x3e, 0x04,
+ 0xd1, 0x66, 0x12, 0x11, 0xa9, 0x52, 0xea, 0x2a, 0xe8, 0x71, 0x9f, 0xb8,
+ 0x33, 0x70, 0x77, 0x8d, 0xc7, 0x39, 0xe9, 0x2e, 0x38, 0xf9, 0xe6, 0x97,
+ 0x57, 0x57, 0x51, 0x9c, 0x8c, 0x99, 0x02, 0x5a, 0x78, 0x1a, 0xf3, 0x65,
+ 0x96, 0x36, 0xd0, 0x38, 0xe8, 0xa6, 0x5f, 0x8e, 0x93, 0x75, 0x1a, 0x7c,
+ 0xe4, 0x19, 0x6f, 0x14, 0x2f, 0xfd, 0x6c, 0x84, 0xf8, 0x2e, 0xc0, 0x26,
+ 0xe0, 0x3d, 0x40, 0x5c, 0x83, 0xf8, 0x99, 0xf5, 0x42, 0x5d, 0xa6, 0x66,
+ 0x53, 0xdc, 0x4b, 0x6c, 0x72, 0x0a, 0xd4, 0x38, 0x4b, 0x90, 0x6c, 0xb6,
+ 0xe8, 0x6e, 0xf1, 0xa9, 0xa2, 0x30, 0x19, 0xac, 0x4c, 0x25, 0x0d, 0x18,
+ 0xd7, 0x9a, 0x30, 0x05, 0x38, 0xb1, 0xa7, 0x59, 0x7c, 0x73, 0xa2, 0x9c,
+ 0xfe, 0x0e, 0xb6, 0x1c, 0x94, 0xa6, 0xf6, 0x40, 0xcc, 0xa2, 0xac, 0xa8,
+ 0x25, 0x08, 0x1c, 0xb6, 0x40, 0xed, 0x7d, 0xef, 0xd0, 0xa1, 0x60, 0x94,
+ 0x2f, 0x42, 0x8c, 0x32, 0x1b, 0x12, 0x46, 0x12, 0x6d, 0xe3, 0x90, 0x30,
+ 0x78, 0x7c, 0x4c, 0x14, 0x1b, 0x10, 0x32, 0x65, 0x72, 0xfe, 0xe6, 0x30,
+ 0xd9, 0x7b, 0xf2, 0xf9, 0xe7, 0x83, 0x28, 0x03, 0x23, 0x27, 0x8e, 0x9a,
+ 0x4d, 0x48, 0x33, 0xe5, 0xd8, 0xfa, 0x7a, 0x96, 0x77, 0x95, 0xbe, 0x4f,
+ 0x3b, 0x8c, 0x79, 0xcf, 0x67, 0x44, 0xad, 0x42, 0xc2, 0x71, 0x31, 0x0d,
+ 0x8d, 0x7c, 0xc4, 0xae, 0x66, 0xa4, 0x58, 0x88, 0x14, 0x83, 0x82, 0x45,
+ 0x52, 0x63, 0x96, 0x2f, 0x51, 0xea, 0x32, 0x01, 0x79, 0x31, 0x1e, 0x50,
+ 0x18, 0xcb, 0x04, 0x94, 0xc8, 0x08, 0x4f, 0xa3, 0x37, 0x00, 0xce, 0xcc,
+ 0xc0, 0x01, 0x9e, 0x8e, 0x8d, 0x48, 0x9a, 0x28, 0xcd, 0xcf, 0x46, 0xa2,
+ 0xe1, 0xb3, 0x51, 0x66, 0x33, 0xbf, 0xb9, 0x00, 0x50, 0x87, 0x9d, 0x83,
+ 0x93, 0x59, 0x0b, 0xca, 0x00, 0x22, 0xae, 0x7d, 0xf3, 0x81, 0x4e, 0x73,
+ 0xc8, 0xdd, 0xbc, 0xca, 0x9a, 0x30, 0x6b, 0xc5, 0x83, 0x8f, 0xae, 0x68,
+ 0x3c, 0x66, 0x19, 0x49, 0xd2, 0x4d, 0xf2, 0x52, 0xeb, 0xc8, 0x4f, 0xf2,
+ 0x4b, 0x3d, 0xa4, 0x96, 0x9f, 0xfe, 0x2b, 0xac, 0xc6, 0x4b, 0x99, 0x7a,
+ 0x49, 0x42, 0xfb, 0x2a, 0x4a, 0xbd, 0x24, 0x18, 0x56, 0xf0, 0x00, 0x35,
+ 0x8d, 0x51, 0xac, 0x9d, 0xec, 0x06, 0x60, 0x18, 0x94, 0x2f, 0x02, 0x69,
+ 0xe5, 0x09, 0x66, 0xe0, 0xdf, 0x34, 0xc6, 0x89, 0xf8, 0xd2, 0x36, 0x2a,
+ 0xc5, 0x16, 0x08, 0xb3, 0x4d, 0x5d, 0x89, 0xcd, 0x84, 0x32, 0x28, 0x93,
+ 0x7c, 0x30, 0x4f, 0x07, 0x76, 0x0f, 0xbd, 0xeb, 0xcd, 0x53, 0xb8, 0xf6,
+ 0x7e, 0x3c, 0x55, 0x72, 0xfd, 0x79, 0x8a, 0x1d, 0xd6, 0xd7, 0x77, 0xee,
+ 0xcb, 0x48, 0xad, 0xd3, 0xb4, 0xeb, 0x2a, 0xa5, 0xa1, 0xba, 0x1c, 0x53,
+ 0xec, 0xac, 0xab, 0x32, 0xe3, 0x5e, 0x22, 0xe1, 0x5f, 0x67, 0x95, 0x3c,
+ 0x96, 0x4d, 0xb5, 0x18, 0x93, 0x6a, 0x09, 0xd3, 0x1c, 0x9f, 0x8a, 0x15,
+ 0x05, 0xa2, 0xcc, 0x90, 0xd6, 0x88, 0x51, 0xba, 0x0b, 0xeb, 0x85, 0x59,
+ 0x56, 0x9e, 0x32, 0xc1, 0x7c, 0x50, 0xd7, 0x54, 0x07, 0x59, 0x46, 0x86,
+ 0x0c, 0xc6, 0x33, 0x42, 0x5a, 0xfd, 0x43, 0xc2, 0x35, 0x4a, 0x62, 0x9b,
+ 0x2a, 0x79, 0x13, 0xbc, 0x1d, 0x19, 0x31, 0x8a, 0x27, 0xaf, 0xa9, 0xce,
+ 0x5d, 0x2c, 0xfe, 0x4d, 0x9b, 0x70, 0xa3, 0x6e, 0x41, 0x99, 0xf9, 0x62,
+ 0x22, 0x7d, 0xae, 0xca, 0xae, 0x16, 0x74, 0xd9, 0x61, 0xba, 0x36, 0x95,
+ 0xd9, 0x51, 0x9f, 0x48, 0xe6, 0x79, 0x20, 0x3f, 0x48, 0x08, 0x88, 0xa1,
+ 0xc7, 0x15, 0xec, 0x16, 0x85, 0x99, 0xb5, 0x66, 0x41, 0xe1, 0xac, 0x29,
+ 0xa3, 0xbc, 0x8c, 0x18, 0xfb, 0x1b, 0xfc, 0x80, 0xa5, 0xcc, 0x00, 0x57,
+ 0x06, 0x98, 0xc4, 0x32, 0x30, 0x88, 0x6e, 0x12, 0x01, 0x69, 0xa3, 0x77,
+ 0x83, 0x6d, 0x89, 0x30, 0x09, 0x8d, 0x4a, 0x01, 0xae, 0x75, 0x45, 0x3e,
+ 0x99, 0x2f, 0x28, 0xde, 0x35, 0xe6, 0x20, 0x01, 0x34, 0x16, 0xcc, 0x4a,
+ 0x88, 0x47, 0x2c, 0x40, 0xd5, 0x96, 0xa8, 0xfa, 0xe4, 0x33, 0xf8, 0xb1,
+ 0x02, 0x46, 0x71, 0x39, 0x1a, 0x26, 0x27, 0xb3, 0x08, 0x2b, 0x49, 0x5a,
+ 0x33, 0x58, 0xbe, 0x0e, 0xeb, 0xde, 0xe2, 0x1e, 0x60, 0xd5, 0xfa, 0x6f,
+ 0xd6, 0xea, 0x25, 0xe1, 0x17, 0xe1, 0x77, 0x01, 0xa3, 0xe5, 0x3e, 0x07,
+ 0xfc, 0x51, 0x55, 0x4b, 0x64, 0x9a, 0xda, 0x1f, 0x9a, 0x0c, 0xc3, 0x5a,
+ 0xe2, 0x86, 0x91, 0x9e, 0x34, 0xef, 0x1b, 0x72, 0x76, 0x63, 0xa4, 0x22,
+ 0xce, 0xd8, 0x87, 0xb4, 0xe6, 0x93, 0x62, 0x39, 0xf8, 0xac, 0x18, 0x21,
+ 0xad, 0xaa, 0x4a, 0x8d, 0xd0, 0xfc, 0xdb, 0xfc, 0x6a, 0x09, 0xdd, 0x1b,
+ 0x17, 0xee, 0x30, 0x06, 0x43, 0x58, 0x2e, 0x08, 0xfb, 0xb0, 0xff, 0x26,
+ 0x91, 0xfe, 0xbc, 0xfa, 0xaa, 0xd5, 0x9c, 0xb2, 0xea, 0xfb, 0xa4, 0xd1,
+ 0x42, 0x40, 0x30, 0xbe, 0xca, 0x1f, 0x98, 0x04, 0x66, 0x5c, 0xb7, 0xb0,
+ 0xd4, 0xfa, 0xba, 0xcc, 0x64, 0xe5, 0x0a, 0xd8, 0xc1, 0xb6, 0x10, 0x8c,
+ 0x19, 0x57, 0x1d, 0xa5, 0xfb, 0x57, 0xa5, 0x77, 0x79, 0xb7, 0x71, 0xb5,
+ 0xff, 0x47, 0x79, 0x5d, 0xd0, 0x3f, 0xe8, 0x0b, 0xf4, 0x81, 0x57, 0xbb,
+ 0xbb, 0xd1, 0x9e, 0x2f, 0xed, 0x2f, 0x77, 0x58, 0x7b, 0x4c, 0xf7, 0x91,
+ 0x00, 0x0d, 0x3d, 0xf1, 0xd6, 0xb2, 0xff, 0x07, 0xc8, 0x91, 0x0a, 0xfd,
+ 0x6d, 0x38, 0x3f, 0x20, 0x4c, 0xf2, 0x5e, 0x65, 0x0c, 0x57, 0x20, 0x15,
+ 0xd9, 0x53, 0x4f, 0xe6, 0xa5, 0x64, 0x14, 0x74, 0x55, 0x09, 0x30, 0x73,
+ 0xd0, 0xa2, 0x2c, 0x1f, 0xfe, 0x3a, 0x45, 0x6a, 0xee, 0x5f, 0xbd, 0xbc,
+ 0x5e, 0x5c, 0x65, 0x10, 0x9e, 0xcd, 0x5d, 0xb3, 0xfe, 0xa8, 0xb1, 0xbb,
+ 0xaa, 0x6e, 0x1c, 0x22, 0x6e, 0xbc, 0x08, 0x38, 0xd3, 0xce, 0xf8, 0x7a,
+ 0x04, 0x7b, 0x0e, 0xc9, 0x5c, 0xd2, 0x6a, 0xd0, 0xdd, 0x3c, 0x12, 0xd6,
+ 0x48, 0x7b, 0x3c, 0x6d, 0x92, 0x96, 0xef, 0x92, 0xab, 0x57, 0x8c, 0xe0,
+ 0x36, 0x1b, 0xbd, 0xfa, 0x8a, 0x5c, 0x5c, 0x77, 0xa0, 0x37, 0x67, 0xd5,
+ 0x96, 0x26, 0x6f, 0x1b, 0x6c, 0xe7, 0x89, 0x37, 0x88, 0xb5, 0x40, 0x1c,
+ 0x2d, 0x6f, 0xd6, 0xcb, 0x6b, 0xf1, 0x9a, 0xbc, 0x2c, 0xcb, 0x95, 0x2d,
+ 0xaa, 0x0b, 0x07, 0x73, 0xe2, 0x81, 0xe2, 0x18, 0x2a, 0xe6, 0x72, 0xf6,
+ 0x78, 0x4b, 0xe0, 0xb2, 0x69, 0xdd, 0x99, 0xb1, 0x34, 0x6a, 0x14, 0x8c,
+ 0x67, 0x53, 0x5d, 0xaf, 0x9d, 0x57, 0x3d, 0x4e, 0x1b, 0x89, 0x16, 0xb4,
+ 0x70, 0x63, 0xe0, 0x03, 0x89, 0x7d, 0x40, 0x7f, 0xfd, 0xc2, 0xbe, 0x4e,
+ 0xff, 0x31, 0xe7, 0x19, 0x84, 0xc1, 0x2b, 0x46, 0x43, 0x58, 0x32, 0x7d,
+ 0x67, 0x9b, 0x8b, 0xb1, 0x6b, 0xc1, 0xcb, 0x8d, 0x1e, 0x6b, 0xdb, 0x5f,
+ 0x6c, 0xc0, 0x9f, 0xab, 0xb0, 0x1f, 0xd4, 0x92, 0x81, 0x94, 0x9b, 0x94,
+ 0x81, 0x6e, 0x4b, 0xa8, 0x3e, 0x2e, 0x36, 0x83, 0xde, 0x2f, 0xe9, 0x38,
+ 0xf5, 0x5c, 0xbb, 0xfe, 0xd3, 0xba, 0xed, 0xfc, 0x4f, 0xeb, 0xae, 0xfb,
+ 0x3f, 0xad, 0xbb, 0x01, 0xfc, 0xb4, 0x4e, 0x5c, 0x79, 0x34, 0x88, 0xc0,
+ 0x5a, 0xfc, 0xc5, 0x8b, 0xbe, 0xc1, 0x5f, 0x75, 0x1f, 0xf5, 0xbe, 0xe9,
+ 0x7d, 0x72, 0x7d, 0x63, 0xd5, 0xa4, 0xf9, 0x61, 0x22, 0xa2, 0x96, 0x49,
+ 0xbb, 0x73, 0x68, 0x04, 0x76, 0x6b, 0x9a, 0xdc, 0xb4, 0x90, 0x85, 0x16,
+ 0x78, 0xcd, 0xbd, 0x07, 0x68, 0xc6, 0x5d, 0xe1, 0x1c, 0x8f, 0x13, 0xde,
+ 0x52, 0xed, 0xe9, 0x3a, 0x68, 0xed, 0xd1, 0xa0, 0x1c, 0xa4, 0x7d, 0x3d,
+ 0xb8, 0x81, 0xfe, 0x87, 0xf9, 0x02, 0x8c, 0x00, 0xb4, 0x21, 0xa7, 0x1a,
+ 0xfc, 0x1a, 0x82, 0xf0, 0x02, 0xf8, 0xb6, 0xe0, 0x00, 0x26, 0x5f, 0x80,
+ 0x97, 0x9c, 0xb3, 0xc2, 0x5b, 0x22, 0xc0, 0x64, 0xcf, 0x72, 0x54, 0x4c,
+ 0x32, 0xa3, 0x9a, 0xb2, 0x99, 0xba, 0x4d, 0xf7, 0x02, 0x30, 0x94, 0x28,
+ 0x63, 0x54, 0xc3, 0x4e, 0x17, 0x0b, 0x56, 0x8a, 0x11, 0xf1, 0x3c, 0x2c,
+ 0xdf, 0xd2, 0xa4, 0x8d, 0x4f, 0xcb, 0xaa, 0x7e, 0xb5, 0x5e, 0x51, 0x09,
+ 0xca, 0xe4, 0xaa, 0x32, 0x6a, 0xec, 0x17, 0xb4, 0xb5, 0x16, 0x66, 0xb1,
+ 0xdc, 0x39, 0xbd, 0xeb, 0xcf, 0xee, 0x4d, 0xbf, 0x37, 0x7e, 0xd1, 0xce,
+ 0xf0, 0x44, 0xda, 0x04, 0x71, 0x74, 0x23, 0x1c, 0x67, 0x49, 0x17, 0x44,
+ 0xc0, 0x47, 0xd7, 0x3b, 0x94, 0xf2, 0xfb, 0x57, 0x31, 0x26, 0xae, 0x60,
+ 0x20, 0x9e, 0xe4, 0x85, 0xbd, 0xf6, 0xea, 0xf4, 0xdb, 0x2f, 0xb4, 0x81,
+ 0x9f, 0xd6, 0x7f, 0xe8, 0xf3, 0x4f, 0x91, 0x1f, 0xba, 0x9f, 0x9c, 0x7e,
+ 0x4b, 0xbb, 0xfb, 0x97, 0x09, 0xb0, 0x55, 0x1f, 0xf8, 0x8a, 0xff, 0x82,
+ 0x9d, 0xbd, 0xaa, 0xd9, 0x0b, 0x07, 0x3e, 0x78, 0x45, 0xc5, 0x54, 0x91,
+ 0xae, 0x02, 0x53, 0x7c, 0x3e, 0xa7, 0x24, 0x14, 0xcd, 0x87, 0x6c, 0x38,
+ 0x1f, 0x92, 0xb5, 0xcb, 0x51, 0xc9, 0x90, 0xf2, 0x26, 0xe4, 0xed, 0x05,
+ 0x6f, 0x28, 0xd6, 0x96, 0xf3, 0xb3, 0xcd, 0x86, 0x22, 0xef, 0x05, 0x74,
+ 0x62, 0x9d, 0x5d, 0x2e, 0xcb, 0x9e, 0x4e, 0xda, 0x26, 0xcf, 0x51, 0x84,
+ 0xa3, 0xdd, 0x71, 0xaf, 0xf0, 0xdf, 0xa0, 0x99, 0x81, 0x62, 0x86, 0xec,
+ 0x2c, 0x2a, 0xf6, 0x94, 0x56, 0x99, 0x16, 0xf0, 0x90, 0xd2, 0x62, 0x5c,
+ 0x45, 0xea, 0x8b, 0x58, 0x44, 0x40, 0x02, 0x95, 0x02, 0x68, 0xbe, 0x2c,
+ 0xa7, 0x52, 0x45, 0xb8, 0x36, 0xbb, 0x9e, 0x17, 0xd8, 0x56, 0xf3, 0x32,
+ 0x3a, 0x07, 0x4d, 0x85, 0x04, 0x2c, 0xe4, 0xb3, 0x11, 0xa5, 0x43, 0x02,
+ 0x8b, 0xec, 0x90, 0x03, 0x71, 0x97, 0xf0, 0x19, 0xf1, 0xc6, 0xff, 0x82,
+ 0x2c, 0xff, 0x51, 0x36, 0xe1, 0x8a, 0xf6, 0x92, 0xf1, 0xd7, 0x17, 0x1f,
+ 0x71, 0xc4, 0x8d, 0x93, 0xd8, 0x73, 0xa3, 0x07, 0x87, 0x11, 0x11, 0x9a,
+ 0xf8, 0x47, 0x44, 0x37, 0x6f, 0x49, 0x29, 0x14, 0x38, 0xb4, 0x16, 0xde,
+ 0xa0, 0xeb, 0x25, 0x3e, 0x58, 0x9c, 0x61, 0x55, 0x24, 0xc2, 0xd3, 0x96,
+ 0xfc, 0x51, 0x5c, 0xca, 0xfa, 0x58, 0x2a, 0x1a, 0x97, 0x2c, 0xd6, 0x20,
+ 0x78, 0xe1, 0x07, 0x81, 0xec, 0xf4, 0x77, 0xf7, 0xbd, 0x22, 0x2a, 0xfc,
+ 0xb3, 0x78, 0xf3, 0x3e, 0xef, 0x87, 0xc6, 0x8a, 0x6b, 0x99, 0xfe, 0x15,
+ 0xed, 0xef, 0xd9, 0xf6, 0xd7, 0x22, 0x54, 0x1b, 0x4c, 0x86, 0x11, 0xff,
+ 0x2c, 0x31, 0x32, 0x2a, 0x9a, 0x4c, 0xdc, 0xa8, 0x9e, 0x43, 0x23, 0x61,
+ 0x5f, 0x82, 0x3a, 0x13, 0x6c, 0x39, 0x34, 0xe6, 0xe2, 0x88, 0x14, 0x6c,
+ 0x46, 0x5e, 0xcb, 0x84, 0xd9, 0x22, 0x79, 0x24, 0x66, 0x22, 0xbb, 0x96,
+ 0xa2, 0x54, 0x89, 0xe6, 0xad, 0x55, 0xce, 0x88, 0x27, 0x72, 0xb2, 0xef,
+ 0x8a, 0xef, 0xc1, 0x1f, 0xa0, 0x7e, 0x0f, 0xad, 0x9e, 0xa4, 0x89, 0x99,
+ 0x41, 0x8a, 0x5c, 0x8b, 0x87, 0x35, 0xf8, 0x94, 0x11, 0xc6, 0xcc, 0xb7,
+ 0x03, 0x3b, 0x45, 0xce, 0xc2, 0xe6, 0x86, 0xf8, 0x56, 0xe8, 0x43, 0x54,
+ 0xb3, 0x0e, 0x50, 0x25, 0x0c, 0x37, 0x05, 0x45, 0x82, 0xcc, 0x40, 0x3f,
+ 0xa2, 0x77, 0xec, 0x43, 0xb8, 0xdb, 0x53, 0xc1, 0xec, 0x30, 0x20, 0x87,
+ 0x51, 0xf3, 0x19, 0x25, 0x54, 0xdb, 0x8c, 0x30, 0xa1, 0xad, 0xec, 0x4d,
+ 0xb1, 0x34, 0x26, 0x55, 0xee, 0x2d, 0xee, 0x2d, 0x4d, 0x36, 0x5e, 0x6d,
+ 0x6d, 0xd8, 0xa1, 0x2d, 0x37, 0x8d, 0x3a, 0x05, 0xea, 0x1c, 0xbb, 0x34,
+ 0xe3, 0xa8, 0x4c, 0xeb, 0x70, 0x30, 0xcd, 0x08, 0x08, 0x91, 0xf5, 0xb1,
+ 0x9e, 0x51, 0x8a, 0xaf, 0x5a, 0xf9, 0x17, 0xc8, 0xcc, 0x2a, 0x70, 0x3e,
+ 0x99, 0xe0, 0x83, 0x37, 0x79, 0x3a, 0x6d, 0x08, 0xf4, 0x0d, 0x58, 0x3e,
+ 0xd3, 0x91, 0xd5, 0xfb, 0x9e, 0x4e, 0x1e, 0x39, 0xa0, 0x14, 0xd1, 0x01,
+ 0xc5, 0xbb, 0x78, 0x46, 0x3c, 0xc7, 0xc6, 0x2a, 0xe5, 0x7b, 0xe3, 0xd5,
+ 0x26, 0x5f, 0x59, 0xce, 0xad, 0xe6, 0x7d, 0x7b, 0x23, 0xf9, 0x29, 0x9e,
+ 0x23, 0x99, 0xf0, 0xbb, 0x9e, 0x95, 0x20, 0x9b, 0xf6, 0xa1, 0x37, 0x92,
+ 0x97, 0xa3, 0x72, 0x72, 0xff, 0x25, 0xe2, 0x4f, 0xf2, 0xca, 0xcb, 0x6d,
+ 0xfc, 0xa8, 0xa3, 0x34, 0x2f, 0x6b, 0x08, 0xad, 0x98, 0xa5, 0xc2, 0x9f,
+ 0x5f, 0xd1, 0xe3, 0x6a, 0x33, 0x6c, 0x24, 0x83, 0x81, 0x11, 0x43, 0xf5,
+ 0x0c, 0xf5, 0x82, 0x56, 0x5c, 0x2d, 0x4c, 0xc8, 0x85, 0x4b, 0x76, 0x94,
+ 0x39, 0x9e, 0x14, 0xb6, 0x65, 0xac, 0xb1, 0x2d, 0xfe, 0x48, 0xfe, 0x6d,
+ 0xf5, 0x6a, 0x90, 0x1c, 0x28, 0x6c, 0x66, 0x2d, 0xc2, 0xb3, 0x62, 0x1e,
+ 0xe5, 0xfb, 0xc3, 0x4b, 0x30, 0xfe, 0x7c, 0x94, 0x8b, 0xbf, 0x7d, 0x52,
+ 0xb6, 0xa8, 0x01, 0x13, 0x4e, 0xe4, 0xa7, 0x2b, 0x3e, 0x2e, 0xbc, 0xcd,
+ 0x9e, 0xa9, 0x38, 0x5e, 0xc4, 0x22, 0xc2, 0x9a, 0x31, 0xd2, 0xb9, 0xfe,
+ 0x91, 0x7c, 0x53, 0xa5, 0x69, 0x2f, 0xf9, 0x4c, 0x3f, 0xd6, 0xbd, 0x9e,
+ 0x0b, 0x78, 0x25, 0xfe, 0x06, 0x5e, 0xd2, 0xcf, 0xfb, 0xf4, 0x94, 0x57,
+ 0xbb, 0xd2, 0x26, 0xf6, 0xbb, 0x61, 0x23, 0xf4, 0xd6, 0x93, 0x92, 0x8c,
+ 0x93, 0x90, 0x88, 0x21, 0x2f, 0xb8, 0xa4, 0x0c, 0x5f, 0x0b, 0xa3, 0xb4,
+ 0xce, 0x9e, 0x3f, 0xe5, 0x51, 0xf2, 0x54, 0x89, 0xa7, 0xa6, 0xe5, 0x92,
+ 0xe5, 0x0b, 0xa9, 0x0a, 0x23, 0x82, 0x76, 0x88, 0x9c, 0xac, 0x4a, 0x7a,
+ 0x1a, 0x95, 0x29, 0x62, 0x5c, 0x27, 0x5d, 0xac, 0x46, 0xa7, 0xbc, 0x42,
+ 0x21, 0xf6, 0xe4, 0xb3, 0xe7, 0x5e, 0xc7, 0x1f, 0xf0, 0x5d, 0xb8, 0xf3,
+ 0x8e, 0x13, 0x28, 0x47, 0x5c, 0x46, 0xe4, 0x0d, 0x81, 0x8d, 0x77, 0xf3,
+ 0xdd, 0xa0, 0x5f, 0xe4, 0xf8, 0x60, 0xda, 0x29, 0x19, 0xa1, 0x75, 0x38,
+ 0x3e, 0x74, 0x9e, 0xfc, 0xd3, 0xf0, 0x85, 0xee, 0x9e, 0xee, 0xa7, 0x57,
+ 0xee, 0x6e, 0xcf, 0x5a, 0xd2, 0xf7, 0xb9, 0x13, 0xbc, 0xc3, 0x1f, 0xde,
+ 0xe0, 0x14, 0x54, 0xb8, 0x5c, 0x54, 0xb8, 0x88, 0xe4, 0x31, 0xd6, 0x17,
+ 0x34, 0xf5, 0x45, 0x54, 0xf6, 0x77, 0x07, 0xef, 0x3f, 0x1c, 0x9c, 0x3c,
+ 0xbe, 0x78, 0x49, 0xab, 0x24, 0xd6, 0x60, 0x75, 0x2d, 0x2d, 0x97, 0xed,
+ 0x0a, 0xc6, 0x16, 0xa5, 0x6c, 0x91, 0x84, 0xd9, 0x58, 0x9a, 0x7c, 0x00,
+ 0x07, 0x95, 0x9c, 0xf9, 0x2e, 0x8e, 0x8f, 0x72, 0x91, 0x68, 0x77, 0x11,
+ 0x74, 0x24, 0xce, 0x00, 0xc3, 0x98, 0x5c, 0x09, 0x9c, 0x7b, 0x98, 0xce,
+ 0xb4, 0x96, 0x0a, 0x72, 0xeb, 0xfa, 0x3e, 0xbd, 0xbe, 0x2e, 0x98, 0x64,
+ 0x9b, 0x80, 0x1c, 0x53, 0x7f, 0x6c, 0xc6, 0xb4, 0x05, 0x65, 0x69, 0xa9,
+ 0x5d, 0xb9, 0xdd, 0x5a, 0xee, 0xb8, 0xf2, 0xf2, 0xd2, 0x11, 0xae, 0x74,
+ 0xa3, 0x7e, 0x87, 0x87, 0xcb, 0x33, 0x39, 0x7f, 0x4f, 0x6e, 0xc7, 0x0e,
+ 0x36, 0x1d, 0xd3, 0xe8, 0x44, 0x7d, 0xbf, 0x29, 0x39, 0xcf, 0xf9, 0xa5,
+ 0xf4, 0x2d, 0x3e, 0xab, 0xa6, 0x83, 0x7e, 0x90, 0x5b, 0x35, 0x5e, 0x14,
+ 0xc7, 0x1c, 0x1e, 0x9d, 0x63, 0xb2, 0xce, 0x0e, 0x86, 0x43, 0x7b, 0x31,
+ 0xd6, 0x02, 0x56, 0xe8, 0x05, 0xb6, 0x19, 0xb4, 0x4a, 0xbf, 0x42, 0xc3,
+ 0x20, 0xb1, 0x75, 0x2d, 0x05, 0xe8, 0x89, 0x78, 0x90, 0x31, 0x01, 0x2f,
+ 0x16, 0x33, 0x73, 0x68, 0x8c, 0x02, 0x3c, 0xd9, 0xa8, 0x25, 0x3c, 0xdb,
+ 0xdd, 0x7c, 0x24, 0xbf, 0xa0, 0x58, 0xc9, 0x5a, 0xd3, 0xfe, 0xa3, 0xb5,
+ 0x1f, 0x6a, 0x5c, 0x29, 0x75, 0xe1, 0x6c, 0x8f, 0x90, 0xb3, 0x17, 0x77,
+ 0xb0, 0xaf, 0x0f, 0x8f, 0x2f, 0x8e, 0xcc, 0xf4, 0x7d, 0xb8, 0x78, 0xbb,
+ 0x2e, 0xe1, 0xef, 0x2e, 0xb9, 0x02, 0x1c, 0xf9, 0x54, 0x90, 0xf2, 0xc6,
+ 0x26, 0x60, 0x56, 0xec, 0x57, 0x31, 0xc6, 0x43, 0x4c, 0x21, 0x77, 0x1f,
+ 0x1d, 0xac, 0x58, 0xa5, 0x67, 0x83, 0x67, 0xdd, 0x55, 0x5a, 0x4e, 0xae,
+ 0xcb, 0x74, 0xab, 0xc1, 0x76, 0x17, 0x0e, 0x57, 0xc2, 0x54, 0x6d, 0xbb,
+ 0x3a, 0x0f, 0x08, 0xbc, 0x81, 0x5c, 0x05, 0x78, 0xde, 0xc8, 0x5d, 0xa1,
+ 0x64, 0x72, 0x5e, 0xac, 0x1c, 0x4c, 0xb3, 0x96, 0x6d, 0x46, 0xdc, 0xbf,
+ 0x1c, 0x22, 0x35, 0x2b, 0x96, 0x56, 0x13, 0x9b, 0x6d, 0x18, 0x2a, 0x8b,
+ 0x8a, 0x02, 0xa4, 0xea, 0x31, 0x66, 0x0b, 0x68, 0xf5, 0x88, 0x56, 0x0e,
+ 0x68, 0xc8, 0x06, 0xef, 0x92, 0x49, 0xe3, 0xd4, 0xbf, 0x70, 0xaa, 0xa3,
+ 0xa0, 0x84, 0xe5, 0xb0, 0x5d, 0x89, 0x8b, 0x8c, 0xb3, 0xd5, 0xd2, 0xbc,
+ 0x0a, 0x8a, 0xe4, 0x25, 0xff, 0x19, 0xdf, 0xef, 0xb8, 0x7a, 0xab, 0x72,
+ 0xca, 0xfe, 0x44, 0x79, 0x83, 0xe1, 0x9d, 0x9c, 0x43, 0x01, 0xee, 0x20,
+ 0xc4, 0x74, 0x10, 0x16, 0x85, 0xb9, 0x82, 0x52, 0xcb, 0x61, 0x85, 0xa0,
+ 0xcd, 0xe1, 0x96, 0x75, 0xbd, 0x5e, 0x20, 0xca, 0x88, 0xd6, 0x22, 0xc9,
+ 0x31, 0x1e, 0xb7, 0x9e, 0xe8, 0x9a, 0x31, 0x72, 0x17, 0xef, 0xf4, 0x86,
+ 0x06, 0x14, 0x84, 0xf5, 0xf8, 0x76, 0x12, 0xd7, 0xc6, 0xd8, 0xcb, 0x05,
+ 0x68, 0x19, 0x4c, 0x42, 0x4e, 0xc5, 0x39, 0xfc, 0xfe, 0xb5, 0x57, 0x17,
+ 0x44, 0xd1, 0x6b, 0xbc, 0x5f, 0x44, 0x3b, 0x5d, 0x46, 0x06, 0x96, 0x39,
+ 0x08, 0xe6, 0x00, 0x81, 0xd6, 0x49, 0x96, 0xcd, 0x2d, 0x11, 0x73, 0x8e,
+ 0xdc, 0x8d, 0xbc, 0x46, 0x60, 0x55, 0x48, 0xb0, 0x51, 0xf9, 0x6a, 0x49,
+ 0xef, 0x44, 0x74, 0xd8, 0xbc, 0x41, 0xfa, 0x1f, 0xd5, 0x39, 0xa2, 0xd0,
+ 0xee, 0xee, 0x67, 0x4f, 0x3e, 0x37, 0xf7, 0xf3, 0x3d, 0x98, 0x91, 0xdd,
+ 0x94, 0x31, 0x73, 0xe9, 0x72, 0x9a, 0x37, 0xb1, 0x70, 0x14, 0xf8, 0x2b,
+ 0x59, 0xfa, 0x49, 0x4d, 0x36, 0x05, 0xfc, 0x55, 0x92, 0x33, 0x1b, 0x92,
+ 0x9c, 0x98, 0x49, 0x94, 0x09, 0x13, 0x28, 0x1e, 0xe6, 0x89, 0x61, 0x63,
+ 0x03, 0x6f, 0x03, 0x53, 0x51, 0x05, 0x2a, 0xfa, 0x64, 0x44, 0xca, 0xf9,
+ 0xd1, 0xc5, 0xb9, 0xf9, 0x63, 0x78, 0x71, 0x7a, 0xbe, 0x84, 0x9b, 0xaf,
+ 0x61, 0xf6, 0x07, 0x9a, 0x34, 0x85, 0xb0, 0x60, 0x9a, 0xdb, 0xa4, 0x5d,
+ 0xc0, 0x48, 0xb3, 0xd8, 0xa9, 0xa3, 0x3c, 0x4f, 0x1e, 0xdd, 0x53, 0x3d,
+ 0x68, 0x0d, 0xf4, 0xd2, 0xdc, 0x0f, 0x2b, 0x07, 0xc6, 0x6b, 0xbe, 0x7a,
+ 0x87, 0x60, 0xc0, 0xb4, 0x19, 0x69, 0xc4, 0x56, 0xd0, 0xa3, 0xb7, 0xc6,
+ 0x82, 0xa3, 0x68, 0x80, 0x23, 0xdd, 0xd6, 0x62, 0xba, 0x4b, 0x38, 0x19,
+ 0x19, 0xb0, 0xeb, 0x17, 0x94, 0x60, 0x9f, 0xf3, 0xba, 0xa6, 0x98, 0xaf,
+ 0x27, 0x9b, 0xf0, 0x27, 0x8b, 0x6e, 0xf2, 0xc0, 0xfe, 0x35, 0xfa, 0xd0,
+ 0x96, 0x1b, 0x70, 0x5d, 0xce, 0x32, 0x76, 0xf8, 0xc3, 0x2d, 0x64, 0x85,
+ 0x13, 0xdf, 0x2d, 0xcc, 0x4c, 0x9a, 0xc4, 0x68, 0x16, 0x2c, 0x83, 0x14,
+ 0xad, 0xf2, 0x86, 0xcd, 0x53, 0xd7, 0x42, 0xf1, 0xbc, 0x2e, 0x99, 0x31,
+ 0x5b, 0x1b, 0x50, 0x73, 0x6d, 0x68, 0xaf, 0x3c, 0x6a, 0xa9, 0xb6, 0xf0,
+ 0xde, 0xed, 0x0a, 0x19, 0xca, 0xf5, 0x8f, 0x4b, 0x16, 0x94, 0xfc, 0x6a,
+ 0x71, 0x0c, 0x28, 0xee, 0x06, 0xba, 0x84, 0x5f, 0xed, 0xf0, 0x4c, 0x9e,
+ 0x8a, 0xc6, 0xd9, 0x90, 0x12, 0x47, 0x1c, 0x11, 0x76, 0x6f, 0xcb, 0x92,
+ 0x73, 0xcc, 0x66, 0xd1, 0x15, 0xba, 0x2d, 0x9d, 0x2e, 0x14, 0xb3, 0xaa,
+ 0xb8, 0x25, 0xae, 0x8a, 0x4c, 0x27, 0x09, 0x7c, 0x45, 0x85, 0xa2, 0xdf,
+ 0x9c, 0x9a, 0x25, 0xf9, 0x50, 0x08, 0x21, 0x49, 0x61, 0xec, 0x0b, 0x60,
+ 0x22, 0x26, 0x76, 0xd2, 0x88, 0xa9, 0x87, 0xa0, 0x5c, 0x7c, 0x69, 0x4d,
+ 0x4a, 0x56, 0xea, 0xc1, 0xea, 0x1b, 0x72, 0xbe, 0xc1, 0xa5, 0x0c, 0x84,
+ 0x81, 0xde, 0x34, 0xd2, 0x9e, 0xb3, 0x4e, 0xc6, 0x4d, 0x77, 0xa4, 0x20,
+ 0x0f, 0x08, 0x06, 0x7a, 0xe6, 0x2f, 0x1a, 0x8b, 0x34, 0x18, 0x40, 0x4e,
+ 0x16, 0x34, 0x9c, 0xc3, 0xdf, 0xa2, 0x62, 0x90, 0xb1, 0x46, 0x51, 0xe4,
+ 0x85, 0x10, 0x25, 0x68, 0xe9, 0xee, 0x16, 0x03, 0x81, 0xaa, 0x81, 0x83,
+ 0x15, 0xdc, 0x56, 0x3e, 0x61, 0x41, 0x6b, 0x4b, 0xb6, 0xd3, 0xc0, 0xdb,
+ 0xa3, 0x5b, 0x9a, 0x50, 0x8a, 0x0d, 0x7a, 0x4e, 0x4b, 0xa6, 0x84, 0x84,
+ 0xba, 0xb7, 0xf2, 0x22, 0x27, 0x82, 0x9a, 0xb2, 0xda, 0xa6, 0xfc, 0x15,
+ 0xa2, 0x6c, 0x4b, 0x12, 0x73, 0x3d, 0xa2, 0x18, 0x89, 0xaa, 0x6e, 0xb1,
+ 0xf2, 0xb1, 0x50, 0xc1, 0xd8, 0xda, 0x34, 0x8d, 0xb7, 0x0b, 0x82, 0x7a,
+ 0x75, 0xb5, 0xe8, 0x36, 0xf5, 0xd8, 0x08, 0x06, 0x31, 0x94, 0x3c, 0xa3,
+ 0x44, 0x80, 0x82, 0x6c, 0xab, 0x63, 0x5a, 0x45, 0x51, 0x4b, 0x21, 0x60,
+ 0x5d, 0xa1, 0xf2, 0x01, 0x99, 0xbf, 0x24, 0xf1, 0x4e, 0xcb, 0x50, 0x80,
+ 0x75, 0xc8, 0xcc, 0x4a, 0x8f, 0x11, 0x23, 0xed, 0x93, 0x09, 0xcb, 0xa1,
+ 0xfd, 0xb5, 0x3a, 0x6b, 0x16, 0xf3, 0xf0, 0x9e, 0x77, 0x49, 0x8d, 0xb6,
+ 0x45, 0x2e, 0x7d, 0xde, 0xf8, 0x5d, 0xa4, 0x64, 0x7d, 0x37, 0xfd, 0x3e,
+ 0x97, 0x78, 0x60, 0xbe, 0x93, 0x26, 0x10, 0xdc, 0xee, 0xcb, 0x12, 0xcc,
+ 0xf5, 0x7a, 0xa1, 0x72, 0xa6, 0xc9, 0xba, 0xd1, 0x2f, 0x76, 0xd6, 0xa1,
+ 0x41, 0x2b, 0x1f, 0xbd, 0xb0, 0x60, 0xe9, 0xdb, 0x66, 0x5e, 0xbc, 0xfe,
+ 0x86, 0x67, 0x46, 0x33, 0x55, 0x24, 0xc3, 0x90, 0x56, 0x67, 0x93, 0x2a,
+ 0x67, 0xe3, 0xfc, 0x6e, 0xad, 0x2d, 0x1d, 0xfa, 0x8a, 0x5e, 0xad, 0xef,
+ 0xbe, 0xd8, 0x1b, 0xec, 0x3e, 0xff, 0x7c, 0xb0, 0x8b, 0xba, 0x9b, 0x5e,
+ 0xdf, 0x5c, 0x71, 0x48, 0xaf, 0xa1, 0x48, 0xf5, 0xd1, 0x64, 0x39, 0xa1,
+ 0x2b, 0x7f, 0x61, 0x76, 0x3f, 0xa0, 0xe7, 0x06, 0x5c, 0x03, 0x24, 0xf8,
+ 0xc6, 0xcc, 0xe8, 0x34, 0x79, 0x11, 0x84, 0x45, 0xfa, 0x0e, 0x69, 0xc4,
+ 0x7b, 0x71, 0x9e, 0xd3, 0x36, 0x52, 0x92, 0x45, 0x6f, 0x9e, 0xb4, 0x76,
+ 0x99, 0x2d, 0xc7, 0x80, 0xd3, 0x19, 0xef, 0x91, 0x8a, 0xf4, 0xb1, 0xa8,
+ 0x91, 0x4e, 0xaa, 0xdb, 0xef, 0x07, 0x62, 0xf3, 0x17, 0x5b, 0x7d, 0xc4,
+ 0x0c, 0x62, 0x0f, 0x5d, 0x97, 0x11, 0x06, 0xcc, 0x41, 0x5d, 0xf2, 0x19,
+ 0xe1, 0x12, 0xe1, 0x07, 0x5b, 0x99, 0x35, 0x5a, 0x0b, 0x56, 0x9b, 0x03,
+ 0xa5, 0x8e, 0xcb, 0xd1, 0xb1, 0x45, 0xb7, 0xb4, 0x65, 0x8d, 0xa5, 0x77,
+ 0x59, 0x82, 0x2c, 0x7b, 0x0f, 0x0b, 0x69, 0x6d, 0x8e, 0xde, 0xf9, 0xcb,
+ 0x5f, 0x9c, 0x44, 0xe2, 0x22, 0xd0, 0xa8, 0x3c, 0xf0, 0x0c, 0x4c, 0x9d,
+ 0x1c, 0xba, 0x66, 0x5e, 0xf8, 0x64, 0x7d, 0xff, 0x47, 0xb8, 0x8a, 0x7f,
+ 0xee, 0xff, 0x68, 0xfe, 0xfd, 0xf3, 0xba, 0x47, 0xd7, 0xc4, 0xa4, 0x4f,
+ 0x0a, 0x2f, 0x59, 0x6b, 0x1f, 0xe6, 0x5e, 0xd2, 0xae, 0xa1, 0x09, 0xdd,
+ 0xe0, 0xe2, 0xf0, 0x8c, 0x8f, 0x63, 0xc5, 0x71, 0x70, 0xec, 0x67, 0x92,
+ 0x44, 0x50, 0xec, 0x49, 0x88, 0xa3, 0x02, 0x80, 0xd9, 0x29, 0x76, 0x2e,
+ 0x69, 0xcb, 0xa4, 0xde, 0x4b, 0x3d, 0x8d, 0x0c, 0x91, 0xd6, 0x58, 0x71,
+ 0xb9, 0x15, 0xa3, 0xe4, 0x5e, 0x91, 0xa3, 0x45, 0xd2, 0xa3, 0x07, 0x54,
+ 0x07, 0x57, 0x15, 0x6a, 0xf9, 0x99, 0x36, 0x47, 0xec, 0x51, 0x35, 0x48,
+ 0x51, 0x6e, 0x4d, 0xd7, 0x7a, 0x42, 0x83, 0xca, 0xa9, 0x13, 0x8d, 0x72,
+ 0xf5, 0x15, 0x64, 0xb1, 0xa8, 0xd8, 0xad, 0xf2, 0xfa, 0x13, 0x8d, 0x51,
+ 0xf2, 0x80, 0x18, 0x43, 0xb4, 0xe6, 0x69, 0xdd, 0xe8, 0x9b, 0xb2, 0x53,
+ 0x11, 0x08, 0x50, 0x9d, 0x94, 0xde, 0x14, 0xbb, 0x6b, 0x42, 0xd7, 0x5f,
+ 0x73, 0xe7, 0xa3, 0xb4, 0x4e, 0xf2, 0x58, 0x95, 0x3d, 0x82, 0x6d, 0x4c,
+ 0x40, 0x32, 0x67, 0x46, 0xe1, 0xb5, 0x7b, 0xc4, 0x63, 0xfe, 0x31, 0xef,
+ 0x60, 0xd7, 0xd0, 0x35, 0xb8, 0xd5, 0xbd, 0xbe, 0xa8, 0xb0, 0x06, 0xb9,
+ 0x8f, 0x99, 0x81, 0xc8, 0xf2, 0x67, 0x91, 0xcb, 0x8e, 0xb4, 0x83, 0x49,
+ 0x65, 0xba, 0x01, 0xb6, 0x62, 0x24, 0x7f, 0xf3, 0x11, 0xa1, 0xe0, 0xaf,
+ 0x2a, 0x77, 0x6b, 0x51, 0xa3, 0x01, 0x27, 0xce, 0x69, 0xa5, 0x53, 0xf6,
+ 0xb4, 0xd7, 0x3a, 0xe9, 0xf4, 0xa7, 0x11, 0xdb, 0x5a, 0x0c, 0xea, 0xb6,
+ 0x40, 0x49, 0xd7, 0x24, 0xb4, 0x6c, 0xd0, 0xfd, 0x59, 0x8c, 0xaa, 0xd5,
+ 0xbb, 0x5d, 0xf7, 0x76, 0x42, 0x9f, 0x0a, 0x15, 0xaa, 0xc5, 0x24, 0xf7,
+ 0xf3, 0xf9, 0xc3, 0x13, 0x48, 0xcb, 0xa6, 0xf4, 0xb3, 0x2d, 0x11, 0x63,
+ 0xaf, 0x9a, 0x7a, 0x71, 0x75, 0x05, 0xd2, 0x85, 0x10, 0xb6, 0x87, 0xa4,
+ 0x46, 0xc9, 0x2a, 0x10, 0x6a, 0x7b, 0x23, 0xd1, 0xd1, 0x73, 0x9d, 0x0d,
+ 0x97, 0x39, 0x29, 0x92, 0x87, 0xdb, 0x4e, 0x22, 0x45, 0x26, 0xda, 0xe5,
+ 0xb5, 0xf5, 0x9c, 0xfb, 0xc9, 0x60, 0x55, 0xd6, 0xb7, 0xa5, 0xa2, 0xbb,
+ 0x42, 0x31, 0x80, 0xfd, 0xaa, 0x70, 0x84, 0xdb, 0x61, 0xb9, 0x18, 0x5c,
+ 0xe9, 0x7d, 0x24, 0x67, 0x9b, 0xe5, 0x4d, 0xa2, 0xf0, 0x12, 0xb3, 0xc4,
+ 0x31, 0xcd, 0x57, 0x65, 0x79, 0x93, 0x58, 0xc5, 0x14, 0xd1, 0xd4, 0xbd,
+ 0x40, 0x2f, 0x31, 0x21, 0xab, 0x5c, 0x04, 0x4e, 0x2a, 0xfa, 0x8a, 0xd3,
+ 0xd3, 0xc1, 0x5e, 0xb0, 0xb4, 0xf5, 0xb4, 0x3f, 0x1e, 0x8f, 0xfb, 0x50,
+ 0x09, 0x5e, 0xb2, 0x9e, 0xb2, 0x2d, 0x7a, 0xc2, 0x12, 0xf7, 0xc1, 0x30,
+ 0x93, 0x19, 0x3f, 0x3c, 0x3c, 0x14, 0x95, 0xe6, 0xe2, 0xba, 0xa3, 0x5c,
+ 0x58, 0x4e, 0x23, 0x51, 0xae, 0x62, 0x35, 0xda, 0xea, 0xeb, 0x45, 0x33,
+ 0x41, 0x0d, 0x57, 0x12, 0x1a, 0x2a, 0x85, 0x6d, 0x22, 0x6d, 0x87, 0x79,
+ 0x92, 0xaa, 0x69, 0xf7, 0x2c, 0x62, 0x91, 0xda, 0x0e, 0x32, 0x0d, 0xe7,
+ 0x5c, 0x0d, 0x03, 0x2f, 0x4a, 0xdb, 0xdd, 0x0a, 0x91, 0xdc, 0x55, 0x9f,
+ 0x1c, 0x4a, 0x3b, 0x58, 0xc7, 0x50, 0x6e, 0xda, 0x0a, 0x3e, 0x9b, 0xe6,
+ 0x82, 0x99, 0x4d, 0xe5, 0x5b, 0xdd, 0xb6, 0x1f, 0x58, 0x0f, 0x99, 0xea,
+ 0xf6, 0x92, 0x3c, 0x5f, 0xba, 0x24, 0xd1, 0xc9, 0x27, 0x03, 0x8b, 0xa6,
+ 0x7d, 0xf3, 0x10, 0xb4, 0x95, 0x87, 0x72, 0x24, 0x0e, 0xaf, 0x09, 0xd9,
+ 0x35, 0xa5, 0xc5, 0x31, 0x5d, 0xae, 0x59, 0x0c, 0xc8, 0xad, 0x32, 0x1c,
+ 0x9e, 0x6c, 0x5f, 0x9c, 0x0c, 0x03, 0x40, 0xfc, 0x3d, 0x79, 0x8f, 0xb9,
+ 0xf4, 0x6f, 0xcb, 0xfb, 0xc9, 0x53, 0x04, 0x9a, 0xe0, 0xf2, 0xb2, 0xbd,
+ 0xc3, 0xf9, 0x2b, 0x51, 0x46, 0x8d, 0x45, 0xa1, 0x99, 0x32, 0xf6, 0x1a,
+ 0x2f, 0xb2, 0x02, 0x99, 0xe6, 0x74, 0x9b, 0xe3, 0x04, 0x00, 0x29, 0x5b,
+ 0x27, 0xef, 0x0f, 0x2e, 0x28, 0xfb, 0xa5, 0x11, 0xf0, 0x07, 0x79, 0x83,
+ 0x02, 0xb8, 0xbe, 0x30, 0x8f, 0x5a, 0xae, 0xc6, 0x74, 0xec, 0x2a, 0x63,
+ 0xa8, 0xde, 0xce, 0xcb, 0x57, 0xeb, 0xc6, 0x5b, 0x35, 0xfd, 0x66, 0x4a,
+ 0xe5, 0x7e, 0xe8, 0xee, 0xf9, 0xee, 0x6a, 0xec, 0x46, 0x57, 0x83, 0x27,
+ 0x20, 0x7e, 0x1c, 0xce, 0x45, 0x98, 0xeb, 0x44, 0x6b, 0xd0, 0x4d, 0xba,
+ 0x3f, 0x2d, 0xaf, 0x72, 0x72, 0x0a, 0x62, 0xbd, 0xb0, 0xaf, 0xb5, 0x78,
+ 0x75, 0x57, 0x06, 0xf3, 0xec, 0xd4, 0x9c, 0xa9, 0xd3, 0x4e, 0xbb, 0xe2,
+ 0x23, 0x42, 0x37, 0x85, 0x9d, 0x53, 0x4d, 0x31, 0xb0, 0x39, 0x92, 0x61,
+ 0x0a, 0x22, 0x88, 0x07, 0xf3, 0xb1, 0xb1, 0x16, 0xc6, 0x84, 0x0b, 0x41,
+ 0xbe, 0x60, 0xdd, 0x86, 0xdf, 0xe6, 0x2d, 0xa2, 0x43, 0x75, 0x96, 0xd6,
+ 0x8b, 0x79, 0x34, 0x47, 0x48, 0x46, 0xb8, 0xd2, 0x25, 0xff, 0xbc, 0x75,
+ 0x7d, 0x7c, 0x43, 0xc6, 0xd9, 0x55, 0x70, 0xed, 0x5a, 0xaa, 0x8a, 0x08,
+ 0xb3, 0x1c, 0xb4, 0x55, 0x70, 0x00, 0x48, 0x69, 0x56, 0x9f, 0xdc, 0x9b,
+ 0x8c, 0xad, 0xfe, 0xa4, 0x17, 0x65, 0x66, 0xef, 0x75, 0xeb, 0x30, 0x31,
+ 0xef, 0x5d, 0x9b, 0x10, 0xb9, 0x45, 0x3c, 0xa3, 0x20, 0xe0, 0x4e, 0x73,
+ 0xdf, 0x1c, 0x39, 0x22, 0xfd, 0x0e, 0x3b, 0x4d, 0x8b, 0x64, 0x9f, 0xa1,
+ 0x3a, 0x14, 0x92, 0xba, 0xa5, 0x12, 0x92, 0xb7, 0x4b, 0xec, 0x1d, 0xd6,
+ 0x67, 0x2f, 0x1c, 0x2f, 0x37, 0x9f, 0x0f, 0x2d, 0x5e, 0xa0, 0x22, 0xeb,
+ 0xc3, 0xf9, 0x89, 0x0d, 0xdc, 0xff, 0xfb, 0x86, 0x2b, 0x15, 0x33, 0x58,
+ 0xca, 0x44, 0x97, 0x17, 0xed, 0x2a, 0xa9, 0x3a, 0x3f, 0x2e, 0x12, 0xd5,
+ 0x73, 0x9d, 0xb6, 0xdf, 0x8e, 0xb3, 0x4c, 0x3f, 0xd0, 0xa3, 0xb7, 0x47,
+ 0x07, 0xaf, 0x2d, 0xdb, 0xc0, 0xaf, 0x8b, 0xf0, 0xb0, 0x83, 0x44, 0xfd,
+ 0x64, 0x00, 0xdc, 0x83, 0x98, 0x60, 0x89, 0x93, 0xc4, 0x3a, 0xc2, 0x46,
+ 0x19, 0x57, 0x04, 0x58, 0xa8, 0xd7, 0x04, 0xeb, 0xa3, 0x5b, 0x15, 0xbb,
+ 0xc5, 0xa8, 0x6c, 0x75, 0xc6, 0x67, 0x64, 0x29, 0x31, 0xfe, 0x52, 0x37,
+ 0x89, 0x8f, 0x4b, 0x10, 0xf7, 0x35, 0x29, 0xcd, 0x9c, 0x7c, 0xe5, 0x6d,
+ 0xe5, 0x2b, 0x6c, 0xe5, 0x69, 0x39, 0x2a, 0x2f, 0x2f, 0x57, 0xdc, 0xef,
+ 0x4c, 0x41, 0x88, 0x24, 0x29, 0xde, 0x32, 0xeb, 0x34, 0x8d, 0xf4, 0xde,
+ 0x88, 0x29, 0x2a, 0x2b, 0x73, 0xd8, 0xd6, 0x25, 0x73, 0x41, 0xca, 0x87,
+ 0x07, 0x57, 0x8f, 0x9f, 0xbb, 0xae, 0x06, 0x84, 0xda, 0x7b, 0x48, 0xdf,
+ 0x67, 0xdf, 0x8c, 0x42, 0x88, 0x2c, 0xc9, 0x7b, 0x9d, 0xfc, 0xe7, 0x7f,
+ 0xfd, 0xf8, 0x73, 0x84, 0xe9, 0x9e, 0xbc, 0x7f, 0xd7, 0x9c, 0x7a, 0x68,
+ 0x9e, 0x56, 0x7e, 0x64, 0xcb, 0x47, 0xce, 0x10, 0x14, 0x0e, 0x6e, 0x34,
+ 0x75, 0x36, 0xbd, 0x1c, 0x78, 0x78, 0xcb, 0xf0, 0x62, 0x24, 0x85, 0x49,
+ 0x3f, 0x88, 0x42, 0x5b, 0x94, 0x2d, 0xce, 0x19, 0xbe, 0xc4, 0x0f, 0x8d,
+ 0x8a, 0x31, 0x0e, 0x50, 0x6d, 0xd9, 0x63, 0x79, 0x25, 0x22, 0xc9, 0x06,
+ 0x5a, 0x53, 0xa3, 0x1b, 0x5f, 0xff, 0x70, 0x7e, 0x6c, 0xfd, 0x9e, 0xbe,
+ 0x5c, 0xbe, 0x36, 0x3b, 0xf5, 0xbe, 0x9f, 0xdd, 0x67, 0x23, 0x23, 0x27,
+ 0x6a, 0xe5, 0x87, 0xe8, 0xcf, 0xea, 0xe4, 0xe5, 0xcc, 0xec, 0xf0, 0x7c,
+ 0x09, 0xb3, 0xc7, 0x5b, 0x7a, 0x2d, 0xd1, 0xd7, 0x2c, 0x47, 0xe6, 0x55,
+ 0x59, 0x99, 0x19, 0x9a, 0x49, 0xc2, 0xae, 0x64, 0x2d, 0xb7, 0x3d, 0x1b,
+ 0x09, 0x32, 0x50, 0x02, 0xdf, 0xc0, 0xcd, 0x53, 0xd1, 0xba, 0x41, 0xf8,
+ 0xe5, 0x91, 0x51, 0x41, 0x61, 0x5f, 0xa4, 0x53, 0x52, 0xec, 0x8d, 0xc5,
+ 0x4d, 0xa6, 0x7b, 0xdd, 0x93, 0x2d, 0x55, 0x29, 0x4f, 0x59, 0x94, 0x69,
+ 0xc0, 0xe6, 0x29, 0xc2, 0xca, 0x22, 0xb1, 0xe3, 0x8f, 0xc8, 0x16, 0x60,
+ 0xf4, 0x19, 0xc6, 0xa4, 0xf4, 0x6a, 0x38, 0xaf, 0x3a, 0x00, 0xf6, 0x89,
+ 0x26, 0x0e, 0xd9, 0x4a, 0xc9, 0x1c, 0xb9, 0x96, 0x47, 0xf5, 0xdd, 0xb2,
+ 0xd6, 0x6e, 0x0e, 0x0e, 0xe5, 0x2c, 0x9d, 0xd8, 0x5c, 0x7b, 0x9f, 0x9e,
+ 0x0e, 0x79, 0x8a, 0x29, 0x25, 0x4e, 0x66, 0xd3, 0x81, 0x14, 0x05, 0x06,
+ 0xe0, 0xca, 0xb5, 0x09, 0x91, 0xdb, 0x05, 0x98, 0xd4, 0x84, 0x19, 0xe0,
+ 0x74, 0x59, 0x5b, 0x32, 0x3d, 0xb3, 0x6e, 0x88, 0x68, 0xe0, 0xf7, 0x42,
+ 0x68, 0x75, 0xae, 0xe0, 0x03, 0x10, 0x1b, 0x02, 0x94, 0xbc, 0x28, 0x25,
+ 0xc5, 0x6c, 0x25, 0xf4, 0x36, 0xf0, 0x16, 0x24, 0x43, 0x78, 0xc1, 0x8f,
+ 0x64, 0xc1, 0x3b, 0xcd, 0x51, 0xe0, 0xe5, 0xf9, 0xb3, 0x67, 0xcf, 0x38,
+ 0xf0, 0xb2, 0x7e, 0x8c, 0x0f, 0x9f, 0x1f, 0x1d, 0x9e, 0xbe, 0x7b, 0x77,
+ 0xf4, 0xfe, 0xf5, 0xd1, 0x6b, 0x05, 0x1b, 0x7b, 0x23, 0x71, 0xbb, 0x23,
+ 0x1c, 0x11, 0x21, 0x08, 0xcd, 0x3c, 0xef, 0x3e, 0xdb, 0xe9, 0xef, 0x3d,
+ 0xdb, 0x49, 0xcc, 0x5e, 0x4c, 0x6d, 0x22, 0x5b, 0x3a, 0x4d, 0xc9, 0x25,
+ 0x70, 0xbd, 0x30, 0xca, 0x1a, 0xd1, 0x47, 0x36, 0x44, 0xcc, 0x01, 0x3f,
+ 0x2c, 0xb9, 0x7e, 0xb2, 0x86, 0x8c, 0xe8, 0x40, 0x03, 0x4a, 0x27, 0x83,
+ 0x75, 0xcb, 0x04, 0xe6, 0xa2, 0x97, 0xa2, 0xfd, 0x60, 0x83, 0xee, 0xed,
+ 0xd0, 0x87, 0x06, 0xc9, 0x1b, 0xa3, 0x7f, 0x5c, 0x96, 0x77, 0xbc, 0x17,
+ 0x0f, 0xaf, 0x8d, 0x5a, 0x9a, 0x85, 0x71, 0xcb, 0xf6, 0xfb, 0xf4, 0xfa,
+ 0x13, 0x7e, 0xfd, 0x5f, 0x18, 0xb0, 0x7f, 0xf6, 0xa2, 0x6d, 0x5c, 0x9a,
+ 0x83, 0x0c, 0xea, 0x71, 0xcd, 0x59, 0x5c, 0xc2, 0x3a, 0x3a, 0x64, 0x93,
+ 0xfc, 0xed, 0xc1, 0x19, 0x3d, 0x6d, 0x4c, 0xf3, 0xd3, 0x1f, 0xfe, 0xea,
+ 0xf2, 0x40, 0x6f, 0x76, 0x15, 0xe9, 0x28, 0xa9, 0xae, 0xa8, 0xcb, 0x56,
+ 0x84, 0x11, 0x70, 0xa7, 0xce, 0x5a, 0xa3, 0x50, 0x2f, 0x19, 0xb9, 0x51,
+ 0xc1, 0x40, 0x52, 0x52, 0x8e, 0x0f, 0x17, 0x4c, 0x92, 0x95, 0xab, 0xea,
+ 0x18, 0x53, 0x4a, 0xc5, 0xce, 0x64, 0xf0, 0x6a, 0xdf, 0xa1, 0x76, 0x35,
+ 0x1d, 0xb2, 0xbc, 0x98, 0x70, 0x61, 0xcd, 0xb6, 0xaf, 0xb6, 0xa9, 0x16,
+ 0x59, 0xc7, 0x91, 0x1a, 0xd1, 0xb0, 0x1e, 0xa2, 0xe9, 0x98, 0x57, 0xf9,
+ 0x2c, 0xad, 0x72, 0xae, 0xa8, 0x4d, 0x9b, 0x1e, 0xb6, 0xb0, 0xc2, 0x2e,
+ 0x11, 0x1c, 0xb3, 0x84, 0x86, 0xd4, 0x99, 0x34, 0xc2, 0xe8, 0x9d, 0x8f,
+ 0xe5, 0x9c, 0x31, 0x25, 0x92, 0x44, 0x31, 0x79, 0x06, 0x57, 0xad, 0xdd,
+ 0xf3, 0xb6, 0x63, 0xe0, 0xb8, 0x27, 0x3a, 0x46, 0x34, 0x71, 0x97, 0x34,
+ 0xdf, 0x37, 0xc7, 0x27, 0x47, 0x5b, 0xc9, 0x9b, 0xac, 0x91, 0xac, 0x28,
+ 0x85, 0x24, 0x93, 0x1e, 0xf0, 0x07, 0xe8, 0x5d, 0x96, 0x0d, 0x4f, 0x32,
+ 0x8b, 0xa3, 0x55, 0xa1, 0xd9, 0xc2, 0x81, 0x02, 0xa2, 0x19, 0x56, 0xbc,
+ 0x25, 0x31, 0x44, 0x0a, 0xd8, 0x29, 0x0e, 0x4d, 0x03, 0xa0, 0xb2, 0x1b,
+ 0xc8, 0x8f, 0x16, 0x56, 0x9d, 0x64, 0x7e, 0x08, 0x85, 0x49, 0xcb, 0xba,
+ 0x97, 0x3e, 0xce, 0x80, 0xfa, 0x2d, 0x38, 0x69, 0x8e, 0x18, 0xe6, 0xf5,
+ 0x7c, 0x4a, 0x32, 0x22, 0xc6, 0x0e, 0x33, 0x95, 0xdc, 0x29, 0xe0, 0xa6,
+ 0xe9, 0x38, 0x70, 0xf5, 0x6b, 0xb1, 0x85, 0x20, 0x65, 0x69, 0xbc, 0xde,
+ 0xc4, 0xbd, 0xd5, 0x89, 0x23, 0x60, 0x0a, 0xff, 0xb9, 0xfd, 0x55, 0x94,
+ 0xb8, 0x4c, 0x6a, 0x28, 0xa0, 0x04, 0xa8, 0xbc, 0x60, 0x46, 0xac, 0x45,
+ 0xa1, 0xe5, 0xe2, 0x57, 0x65, 0xb4, 0xb5, 0x13, 0x62, 0x5a, 0x2d, 0xf6,
+ 0x43, 0x62, 0xed, 0xe0, 0xbf, 0x4a, 0x29, 0x1f, 0x55, 0x2b, 0x28, 0x75,
+ 0xdc, 0x5d, 0x3a, 0x99, 0xf7, 0xd1, 0x3a, 0x5a, 0x33, 0x8b, 0x45, 0xb5,
+ 0x94, 0x18, 0x65, 0x15, 0x8b, 0xe0, 0xfd, 0xa9, 0xe2, 0xfb, 0xb5, 0xc3,
+ 0xf4, 0xd8, 0xb5, 0x70, 0x26, 0xc3, 0xc1, 0xc2, 0x89, 0x67, 0x75, 0x24,
+ 0x28, 0xe0, 0x12, 0xeb, 0x6c, 0xfc, 0x8f, 0x4b, 0x6f, 0xb2, 0xc3, 0x53,
+ 0xb1, 0x09, 0x3d, 0x49, 0x07, 0xbb, 0xe3, 0x67, 0xa6, 0xf7, 0x11, 0x15,
+ 0x4a, 0xbe, 0xee, 0xcb, 0xa5, 0xae, 0x2a, 0x6f, 0xbf, 0x51, 0x5a, 0xce,
+ 0x1d, 0x31, 0x50, 0x43, 0x1d, 0x92, 0xe6, 0x8e, 0xcb, 0xa9, 0xa1, 0x36,
+ 0x3a, 0xa5, 0xcb, 0x8f, 0x3f, 0xe5, 0xe4, 0x21, 0xad, 0x9b, 0x05, 0xf4,
+ 0xbc, 0xb4, 0xf0, 0x7b, 0x69, 0x39, 0xc6, 0x27, 0x25, 0x66, 0x3a, 0xae,
+ 0x92, 0x92, 0xda, 0x44, 0x9e, 0x04, 0xa2, 0xfe, 0xd4, 0xde, 0xf0, 0x68,
+ 0xec, 0x59, 0xb1, 0x95, 0x3c, 0x29, 0x85, 0x12, 0x2b, 0x3b, 0x8f, 0x10,
+ 0x12, 0x67, 0x28, 0x20, 0x0b, 0x5f, 0xe0, 0xad, 0xd0, 0x93, 0x6d, 0x54,
+ 0x19, 0x93, 0xa2, 0x0f, 0x8c, 0x81, 0x3a, 0xa3, 0x1c, 0x02, 0xa0, 0x72,
+ 0x65, 0xc8, 0x32, 0x3d, 0x46, 0xdc, 0x5d, 0xe5, 0x37, 0x51, 0x1c, 0x86,
+ 0x76, 0x0c, 0x28, 0x0e, 0xed, 0x85, 0x22, 0x94, 0x5d, 0xc0, 0x5b, 0x5c,
+ 0xd6, 0xc4, 0x20, 0x18, 0x38, 0xae, 0xed, 0x09, 0x9e, 0x92, 0x1a, 0x4b,
+ 0x64, 0x60, 0xc5, 0xbe, 0xd9, 0xfe, 0xc9, 0xfa, 0x5b, 0xa3, 0x0e, 0xed,
+ 0xaf, 0x5b, 0x2a, 0x6f, 0x38, 0x5c, 0x99, 0x29, 0xdb, 0xdf, 0x39, 0x52,
+ 0x02, 0xb7, 0x1f, 0x2d, 0x4c, 0xc5, 0xda, 0x7c, 0xa3, 0x72, 0xcb, 0x26,
+ 0xe8, 0x84, 0x20, 0x68, 0x9b, 0x30, 0xd3, 0x03, 0x35, 0xca, 0x75, 0x48,
+ 0x55, 0x4e, 0x5d, 0xfa, 0xa1, 0x7f, 0x88, 0x8f, 0xf7, 0xdf, 0xa2, 0xbd,
+ 0x2f, 0xd6, 0xad, 0x27, 0xb8, 0xfb, 0x2b, 0xd3, 0xf1, 0xb5, 0x18, 0x28,
+ 0xa8, 0x55, 0x74, 0xaf, 0x5e, 0x54, 0x9a, 0xac, 0x04, 0xb8, 0x89, 0xf4,
+ 0x12, 0xb4, 0x71, 0x93, 0xc9, 0xb6, 0x5d, 0x74, 0xc6, 0xd6, 0x2d, 0xab,
+ 0x62, 0x6a, 0xee, 0x95, 0x39, 0x48, 0x78, 0x26, 0xfd, 0xf2, 0xb2, 0x0f,
+ 0x40, 0xb5, 0x91, 0xfe, 0x9f, 0x08, 0xae, 0xe4, 0x9d, 0x3a, 0xd0, 0x8a,
+ 0x80, 0xf4, 0x79, 0x32, 0x89, 0xe9, 0xeb, 0x9c, 0xfb, 0x48, 0xaa, 0x88,
+ 0x6c, 0x7c, 0xcd, 0xcc, 0xe0, 0xc5, 0xdc, 0x17, 0x77, 0x3d, 0x5e, 0xb7,
+ 0x45, 0x90, 0x88, 0xd1, 0x6b, 0x65, 0xcd, 0xa4, 0x1e, 0xab, 0xf4, 0x18,
+ 0x34, 0x0c, 0xbb, 0x19, 0xfb, 0x78, 0xe1, 0x98, 0x5e, 0xcc, 0xa1, 0xc7,
+ 0x12, 0xfd, 0x66, 0xe0, 0x94, 0xd1, 0xac, 0x12, 0xd6, 0x07, 0x9e, 0x0d,
+ 0x76, 0x7a, 0x41, 0x20, 0xbf, 0x81, 0x07, 0xa0, 0x70, 0x28, 0x22, 0x58,
+ 0xba, 0x90, 0x91, 0xfd, 0x68, 0x42, 0x6e, 0xdd, 0xdc, 0x93, 0xb4, 0xb6,
+ 0x09, 0xb8, 0x60, 0xbf, 0x76, 0x99, 0x12, 0x0e, 0xf6, 0xc3, 0xd5, 0xde,
+ 0x0b, 0x97, 0x78, 0x1b, 0x63, 0x2c, 0x15, 0x4c, 0xd7, 0x57, 0xfd, 0x6e,
+ 0x1d, 0x4c, 0x5b, 0x0e, 0xcb, 0x4f, 0xf7, 0xf0, 0x0a, 0x5b, 0x2d, 0x75,
+ 0x40, 0x81, 0xc2, 0xfd, 0x40, 0x8b, 0xc4, 0xf4, 0xcd, 0xa4, 0x4a, 0xd5,
+ 0xcf, 0x7e, 0x46, 0x3f, 0x64, 0x9a, 0x0f, 0xa5, 0x01, 0xad, 0x1f, 0x98,
+ 0xb3, 0x27, 0x9f, 0xd1, 0x9c, 0x59, 0x4e, 0x7b, 0xad, 0xde, 0xe2, 0x2e,
0x08, 0x6c, 0x5b, 0xef, 0x2c, 0x75, 0xe7, 0x8c, 0xe4, 0x0a, 0x49, 0x02,
- 0x18, 0xf4, 0xec, 0xb5, 0x44, 0x13, 0x4b, 0x61, 0xc4, 0x4b, 0xf0, 0xbd,
- 0x38, 0x36, 0x6f, 0x49, 0xa7, 0xef, 0xbf, 0x37, 0xcb, 0xb0, 0x9f, 0xfc,
- 0x47, 0x99, 0x71, 0xaa, 0xea, 0x03, 0x99, 0xaa, 0xdf, 0x1f, 0x9c, 0xbf,
- 0x3f, 0x7e, 0xff, 0xf5, 0xbe, 0xcb, 0xe4, 0x82, 0xcc, 0xf3, 0x0a, 0x86,
- 0x74, 0x9c, 0x3e, 0x88, 0xfe, 0xd1, 0x23, 0xe4, 0x99, 0x99, 0x4e, 0x97,
- 0x50, 0x34, 0x27, 0x7d, 0x96, 0xce, 0xec, 0xba, 0xac, 0x32, 0x8e, 0x8a,
- 0xb0, 0x21, 0x6a, 0x13, 0x26, 0x7a, 0x5a, 0x07, 0x8b, 0x0b, 0x28, 0x34,
- 0x65, 0x60, 0x76, 0x8a, 0xbb, 0xe4, 0x04, 0xee, 0x92, 0x69, 0xd9, 0xaa,
- 0xd7, 0x43, 0xbb, 0x73, 0x8a, 0x5d, 0x50, 0xfa, 0x1b, 0x81, 0x4d, 0x66,
- 0xa0, 0x61, 0x43, 0x84, 0x09, 0x67, 0xc0, 0xa0, 0x92, 0x2f, 0xae, 0x89,
- 0x56, 0x95, 0x12, 0xae, 0x34, 0x50, 0x63, 0xd1, 0xea, 0x1c, 0x9e, 0x06,
- 0x37, 0x27, 0x4b, 0x8c, 0x62, 0x5c, 0x66, 0x4c, 0x50, 0x9c, 0x2e, 0xf8,
- 0xd0, 0x30, 0x3d, 0x99, 0xfc, 0xd4, 0xe5, 0x63, 0xd8, 0x39, 0x58, 0x1d,
- 0x77, 0x70, 0xe8, 0xff, 0x08, 0xb2, 0x19, 0x21, 0x3f, 0x27, 0xb3, 0xb6,
- 0x2b, 0xdc, 0x26, 0x51, 0x1a, 0x92, 0x69, 0xe6, 0xf2, 0x91, 0xac, 0xba,
- 0x73, 0xcd, 0xea, 0xce, 0x74, 0x1e, 0xb0, 0xed, 0x11, 0xaa, 0x9c, 0x7e,
- 0x21, 0x73, 0x4b, 0x91, 0x2b, 0x5c, 0xc1, 0x6a, 0x92, 0xb4, 0xb8, 0xed,
- 0x6c, 0xa9, 0x3c, 0x45, 0xe9, 0x87, 0x57, 0x2a, 0xd1, 0x3d, 0x65, 0x4c,
- 0x38, 0xe6, 0x67, 0xbe, 0x98, 0xaf, 0x9b, 0x49, 0x9e, 0x2f, 0x46, 0xb3,
- 0xc9, 0xb3, 0xe4, 0x95, 0xf9, 0x4f, 0xa0, 0x67, 0x0d, 0x19, 0x58, 0x7a,
- 0x48, 0x5e, 0x74, 0x42, 0xbb, 0xd0, 0xad, 0xc1, 0x9c, 0x37, 0xe2, 0x48,
- 0xa1, 0xbf, 0x3e, 0xd9, 0x33, 0x9d, 0xbd, 0x4b, 0x95, 0xe1, 0x72, 0x62,
- 0x16, 0xb0, 0x01, 0x0a, 0x6d, 0x09, 0x6d, 0x90, 0x83, 0x37, 0xd2, 0x82,
- 0xef, 0xee, 0xbd, 0x48, 0x28, 0xdb, 0xe0, 0xdd, 0x9b, 0x67, 0xc9, 0xf8,
- 0x3a, 0x1b, 0x7f, 0xaa, 0x17, 0x33, 0x95, 0xc7, 0x09, 0x4d, 0x29, 0x05,
- 0x42, 0xa8, 0x9f, 0x01, 0x31, 0x8f, 0xe9, 0xf8, 0x34, 0x1f, 0x53, 0xd2,
- 0x5f, 0xaf, 0x15, 0xa0, 0xba, 0xd4, 0x40, 0x9a, 0x67, 0x83, 0xda, 0x9b,
- 0x03, 0xc8, 0x01, 0x86, 0xd7, 0x44, 0x2c, 0x1d, 0x33, 0x07, 0xe6, 0xf3,
- 0x35, 0x97, 0xf8, 0x5d, 0xe9, 0xb2, 0xfd, 0xac, 0xe5, 0xf5, 0xde, 0xc1,
- 0x52, 0x9a, 0xf3, 0xbd, 0x3b, 0xd8, 0x59, 0x52, 0x93, 0x1b, 0x38, 0x15,
- 0x0d, 0xf7, 0x51, 0x0f, 0x61, 0x0d, 0x48, 0x0d, 0xf2, 0xc4, 0xbc, 0xe7,
- 0x6b, 0x61, 0x0a, 0x1b, 0x37, 0x13, 0xb9, 0x04, 0xe5, 0x65, 0xee, 0x15,
- 0xf1, 0x8d, 0x64, 0x93, 0x56, 0x53, 0x8f, 0xc5, 0xdb, 0x4b, 0x77, 0x77,
- 0xc5, 0xc7, 0x4f, 0xff, 0x6a, 0x45, 0x55, 0xe4, 0xd7, 0xbf, 0x72, 0x34,
- 0xbb, 0x0f, 0x9c, 0x2b, 0xd7, 0x11, 0x4c, 0x9e, 0x9b, 0x3d, 0x5b, 0x81,
- 0x8a, 0x3b, 0xe4, 0x26, 0xbd, 0xd3, 0x5c, 0x48, 0xa2, 0x8e, 0x17, 0x28,
- 0x75, 0xa2, 0xac, 0xfa, 0xa4, 0x13, 0x4e, 0xb3, 0x49, 0x70, 0x45, 0x47,
- 0xbb, 0x6f, 0x94, 0x8d, 0x7a, 0xa1, 0x24, 0x24, 0x14, 0x2d, 0x00, 0xa7,
- 0x19, 0x33, 0x66, 0xb9, 0x02, 0x16, 0x31, 0x78, 0x38, 0x3d, 0xb3, 0xbd,
- 0xe7, 0x79, 0x0b, 0xf1, 0x03, 0x9a, 0xd4, 0xe4, 0xc3, 0xfc, 0xaa, 0x4a,
- 0x01, 0x5d, 0x3a, 0x6e, 0x1c, 0x31, 0x39, 0x7a, 0x97, 0x2c, 0xeb, 0x9d,
- 0xe3, 0x95, 0xd2, 0x90, 0x2f, 0x72, 0x00, 0x6b, 0xfd, 0x4e, 0x4d, 0xc9,
- 0x95, 0xd0, 0x2a, 0xb9, 0x0a, 0x14, 0x7e, 0xee, 0x55, 0xd9, 0x88, 0x11,
- 0xc7, 0x9a, 0x97, 0x98, 0x61, 0xb4, 0xd4, 0x56, 0x5a, 0xb0, 0x6d, 0xa2,
- 0xc4, 0x66, 0x75, 0x52, 0xcb, 0x72, 0x39, 0x4a, 0xf2, 0x80, 0x95, 0x8f,
- 0x17, 0x57, 0x94, 0x84, 0x0e, 0x69, 0x5c, 0x10, 0x5d, 0x88, 0x2e, 0xc7,
- 0xa3, 0x29, 0xda, 0x03, 0x6e, 0xa8, 0x9c, 0xdd, 0x2f, 0x9a, 0x16, 0xc9,
- 0x63, 0x19, 0x3c, 0x6e, 0x73, 0xef, 0xf4, 0xa2, 0xbd, 0xa3, 0xdd, 0xe6,
- 0x6f, 0xfe, 0x16, 0xd1, 0xda, 0xcb, 0xc8, 0xe6, 0xfa, 0x55, 0x67, 0x61,
- 0x6f, 0x55, 0x8c, 0xcd, 0x28, 0xf1, 0xe9, 0x74, 0x5e, 0x0c, 0xf4, 0x0b,
- 0x8f, 0x9a, 0x9f, 0xee, 0x32, 0x5b, 0x42, 0xfb, 0x5f, 0x37, 0x3f, 0xdd,
- 0xb9, 0xf1, 0x65, 0x99, 0x3f, 0x3f, 0xdd, 0xb5, 0x5c, 0x59, 0xd1, 0x80,
- 0xb3, 0x98, 0xb5, 0x90, 0x72, 0x9f, 0xd3, 0xb3, 0x62, 0x59, 0x0b, 0xc2,
- 0xba, 0x29, 0x44, 0x64, 0xbd, 0xe4, 0x98, 0x89, 0x76, 0x11, 0x2b, 0x97,
- 0x97, 0x4f, 0x38, 0xb7, 0x4b, 0xfc, 0x30, 0x0e, 0xec, 0x1b, 0x49, 0x04,
- 0xcd, 0xc7, 0xc4, 0xf2, 0x33, 0x05, 0x1d, 0x12, 0xbc, 0x40, 0xd0, 0xe2,
- 0x6c, 0x7d, 0x80, 0x05, 0x7b, 0xb9, 0x0e, 0xe6, 0x94, 0xa2, 0x65, 0xa4,
- 0xd4, 0x9d, 0x6a, 0xc6, 0x91, 0x18, 0x8f, 0xb9, 0xd5, 0x4b, 0x24, 0x5a,
- 0x2a, 0x24, 0xb4, 0xd3, 0x1d, 0x6a, 0x98, 0x99, 0xb8, 0xa6, 0x04, 0x81,
- 0xae, 0x34, 0x59, 0x6f, 0x8f, 0x10, 0xf0, 0x57, 0x01, 0xd5, 0xf7, 0xe8,
- 0xbe, 0x89, 0x24, 0x28, 0x80, 0x6a, 0x8c, 0xa6, 0x61, 0x93, 0x59, 0x7f,
- 0xcc, 0xc6, 0x7b, 0x3e, 0xd8, 0xd9, 0xea, 0x51, 0x89, 0xd8, 0x39, 0x26,
- 0x81, 0x10, 0xe4, 0xf6, 0xba, 0xa7, 0xc0, 0x6f, 0x7e, 0x45, 0x16, 0x94,
- 0x20, 0x93, 0x03, 0x2c, 0xf7, 0x3f, 0x32, 0x45, 0xdd, 0x28, 0xa6, 0x45,
- 0xc8, 0x0f, 0xdb, 0x24, 0xe7, 0x79, 0x0f, 0x85, 0x74, 0xe0, 0x2e, 0xe9,
- 0x7a, 0x32, 0xc5, 0x89, 0x42, 0x1f, 0x57, 0x19, 0xa8, 0xfc, 0xda, 0x56,
- 0x01, 0xb3, 0xf0, 0x6c, 0x21, 0x8e, 0x17, 0xde, 0xae, 0x88, 0x6f, 0x25,
- 0xf2, 0xf2, 0x18, 0xf6, 0xb6, 0x7e, 0x05, 0x66, 0x11, 0x14, 0x4f, 0x91,
- 0x7a, 0x64, 0xb8, 0xf4, 0x94, 0x90, 0xbf, 0x7b, 0x72, 0x27, 0x60, 0x73,
- 0x66, 0xed, 0xc0, 0x11, 0x97, 0xb6, 0x0e, 0x9c, 0x92, 0x8d, 0x0e, 0x06,
- 0x83, 0x48, 0x5e, 0xf5, 0x4d, 0x9e, 0xdd, 0xb6, 0xbc, 0x43, 0xd2, 0xad,
- 0x9e, 0x25, 0xed, 0x67, 0x9b, 0xe4, 0x86, 0x66, 0xc8, 0x34, 0x39, 0x2a,
- 0x6d, 0x31, 0xe2, 0x15, 0x07, 0xd9, 0x7f, 0xda, 0x9b, 0xe6, 0x4f, 0x3c,
- 0xcd, 0x75, 0x2c, 0x53, 0x89, 0x69, 0x3a, 0x1d, 0xc7, 0x78, 0x8f, 0x54,
- 0xf4, 0xea, 0x3e, 0x01, 0x99, 0xbc, 0x53, 0x5c, 0x20, 0x57, 0x18, 0x1b,
- 0x9b, 0xd7, 0xcc, 0x92, 0x99, 0xc7, 0xe0, 0xda, 0x6c, 0x07, 0xd0, 0x77,
- 0x06, 0xed, 0x2b, 0x5f, 0x3c, 0x37, 0xb6, 0x46, 0x76, 0x55, 0x8e, 0xc9,
- 0x38, 0x42, 0x41, 0x52, 0x61, 0xc7, 0x26, 0xdb, 0x20, 0x12, 0x09, 0x97,
- 0xf5, 0xf0, 0xd8, 0xf4, 0xbd, 0xb8, 0xad, 0x2b, 0x71, 0x90, 0xe8, 0x00,
- 0xa3, 0xc1, 0x87, 0xa0, 0x91, 0xd6, 0x30, 0x46, 0xf7, 0x5a, 0x64, 0xc6,
- 0x3a, 0x06, 0x6c, 0x91, 0xbd, 0x40, 0xdf, 0xf3, 0x32, 0xa7, 0x12, 0xc7,
- 0xee, 0xe2, 0x7b, 0x5b, 0x2c, 0xff, 0x92, 0x7c, 0xa0, 0xf6, 0x88, 0x5b,
- 0x03, 0x12, 0x73, 0xaf, 0x22, 0xb8, 0x69, 0x98, 0xeb, 0x40, 0x44, 0x97,
- 0x98, 0x8d, 0x70, 0x4e, 0xbe, 0x36, 0xdb, 0xb9, 0x5c, 0x50, 0x14, 0x14,
- 0xc7, 0x5f, 0x72, 0x27, 0x25, 0x5d, 0xb2, 0x9b, 0x53, 0x6f, 0xb9, 0x89,
- 0x68, 0xee, 0x07, 0xd7, 0xe9, 0xdd, 0xdd, 0xa0, 0xce, 0xb6, 0xcd, 0xae,
- 0xad, 0xb7, 0xeb, 0x7a, 0x4a, 0x1f, 0xad, 0x41, 0x03, 0xb4, 0xfc, 0x7a,
- 0x60, 0xfb, 0x55, 0xe7, 0x57, 0x84, 0xf1, 0x38, 0xa5, 0x57, 0x5b, 0xc2,
- 0xd6, 0xd5, 0xeb, 0xe2, 0xa2, 0x05, 0x5d, 0x0c, 0x1b, 0xd3, 0xa0, 0x92,
- 0xe3, 0xc0, 0xcf, 0x01, 0x63, 0xc9, 0xe0, 0x80, 0x02, 0xb6, 0x19, 0x8f,
- 0xde, 0x99, 0x88, 0x4f, 0xab, 0x65, 0xa0, 0xe3, 0x44, 0xce, 0xaa, 0xef,
- 0xaf, 0x2f, 0x2b, 0x07, 0xce, 0x35, 0x37, 0x84, 0x63, 0x78, 0x40, 0x65,
- 0x10, 0x54, 0xb1, 0x8e, 0x70, 0x8f, 0x2c, 0x33, 0xa4, 0xbd, 0xa1, 0x11,
- 0x8a, 0x79, 0xdf, 0x71, 0x5d, 0xdd, 0xde, 0xde, 0x0e, 0x56, 0x59, 0xd2,
- 0xff, 0x74, 0x40, 0xa6, 0xdd, 0xdc, 0x69, 0x91, 0x9c, 0xe4, 0xc5, 0xe2,
- 0xce, 0x23, 0x1a, 0xb0, 0xe5, 0x29, 0xd4, 0x4d, 0x9c, 0x7c, 0x77, 0xfe,
- 0xd6, 0xd6, 0xc6, 0x4c, 0x34, 0xc3, 0x1b, 0xbe, 0x88, 0x3a, 0xe2, 0x35,
- 0xcd, 0x72, 0x6c, 0x1e, 0x26, 0x31, 0x3d, 0x3c, 0x38, 0xfb, 0xf8, 0xfe,
- 0xe8, 0xe2, 0xe3, 0xf9, 0xc1, 0xf7, 0x34, 0x85, 0x0c, 0xb9, 0x30, 0xf7,
- 0x15, 0xf9, 0xa8, 0xaa, 0xb2, 0x34, 0x12, 0xf6, 0x5d, 0x89, 0xf2, 0xb4,
- 0xc8, 0xf2, 0x8f, 0xd5, 0x91, 0xb0, 0xdc, 0x25, 0xdc, 0x4f, 0xea, 0xcc,
- 0xbe, 0xb7, 0x07, 0x69, 0xbe, 0x3e, 0x19, 0xcb, 0x21, 0x9b, 0x0e, 0xca,
- 0xea, 0x8a, 0x76, 0xe1, 0xf6, 0x1b, 0x91, 0x9f, 0xd1, 0xe6, 0xb6, 0x25,
- 0xc4, 0x46, 0x5c, 0x38, 0x37, 0xd5, 0x25, 0x25, 0xce, 0xaf, 0xaa, 0x2d,
- 0xed, 0x97, 0x5c, 0xf2, 0xb6, 0xe6, 0x53, 0x08, 0xc0, 0xf9, 0xcd, 0xd3,
- 0x55, 0xc6, 0x40, 0xd3, 0x52, 0xa0, 0xe8, 0x84, 0x4d, 0x6f, 0xd8, 0x19,
- 0x0e, 0x13, 0xdb, 0x8f, 0x9c, 0x66, 0x1c, 0x23, 0xe9, 0x45, 0x52, 0x73,
- 0xc1, 0xf0, 0x5c, 0xda, 0x44, 0x66, 0xa4, 0x5e, 0x50, 0xc4, 0x77, 0xb9,
- 0xd4, 0xf6, 0xd4, 0xa0, 0xae, 0xd1, 0xb1, 0xdc, 0x58, 0x79, 0x1e, 0xea,
- 0x92, 0x54, 0x45, 0xca, 0x1b, 0xf3, 0x73, 0x19, 0xf3, 0xf3, 0x7f, 0x6e,
- 0xcc, 0xcf, 0x7f, 0xfd, 0x98, 0x9f, 0xfe, 0xcb, 0xc7, 0xfc, 0x37, 0x1a,
- 0xf3, 0xdf, 0x16, 0xc5, 0xa7, 0xbe, 0xe9, 0x2e, 0xdd, 0xc2, 0x52, 0x89,
- 0xa7, 0x8e, 0xab, 0xcc, 0xad, 0xe2, 0x0f, 0xe4, 0x68, 0xf2, 0xe8, 0x2e,
- 0xbd, 0xc2, 0x42, 0xa9, 0xe4, 0x12, 0x72, 0xc4, 0x69, 0x69, 0xb9, 0x5c,
- 0xcf, 0x19, 0x99, 0x53, 0x26, 0x5a, 0x3d, 0x26, 0xcb, 0x06, 0x15, 0x4f,
- 0xd6, 0xa5, 0x3b, 0x89, 0x36, 0xbc, 0x6e, 0x07, 0x1a, 0xe3, 0x68, 0xa4,
- 0x8a, 0xc5, 0x4c, 0xda, 0xcd, 0x05, 0x2d, 0x6d, 0x64, 0xc6, 0x15, 0x6c,
- 0xcd, 0x89, 0x07, 0x8d, 0xd8, 0x48, 0xb4, 0xe5, 0x5c, 0x58, 0x7d, 0x42,
- 0x99, 0x71, 0x71, 0x3f, 0xa7, 0xe6, 0x92, 0x51, 0x65, 0x2e, 0x60, 0x84,
- 0x45, 0xb9, 0x8e, 0xb0, 0xf6, 0x30, 0xe9, 0x76, 0xce, 0xba, 0xde, 0xae,
- 0xb3, 0xfb, 0x8d, 0x40, 0x61, 0x18, 0x4f, 0x4b, 0x92, 0x38, 0xa4, 0xd7,
- 0xad, 0xd0, 0x44, 0x46, 0xae, 0x0c, 0x12, 0xdf, 0x17, 0x9d, 0xba, 0x48,
- 0xfe, 0xbd, 0xf1, 0x29, 0xcb, 0xe6, 0xe9, 0x14, 0x49, 0xdf, 0x14, 0x8d,
- 0x5b, 0x56, 0xbc, 0xa5, 0xbd, 0x31, 0xea, 0xac, 0xd1, 0x4b, 0x17, 0x6f,
- 0x25, 0x7e, 0x92, 0x1a, 0x0b, 0x3b, 0x5e, 0x4d, 0x82, 0x70, 0x27, 0xf9,
- 0x24, 0xe0, 0xc1, 0x10, 0xfd, 0x54, 0x03, 0x72, 0xb6, 0x13, 0xa4, 0x9a,
- 0x8c, 0x84, 0x80, 0x00, 0x88, 0x3b, 0x6a, 0x5d, 0xf9, 0x8c, 0x10, 0x2d,
- 0xbe, 0xc9, 0x09, 0x22, 0xd2, 0x69, 0xae, 0xfb, 0x3e, 0xc8, 0x4d, 0x5a,
- 0x3c, 0xde, 0x96, 0x77, 0x93, 0x82, 0x33, 0x72, 0x01, 0x92, 0x1b, 0x0a,
- 0x45, 0xd1, 0x82, 0x2d, 0xa5, 0x3c, 0x9e, 0x3c, 0xc4, 0x8b, 0xc3, 0xb3,
- 0x8f, 0xdf, 0x1e, 0x1d, 0x9d, 0x1d, 0xbf, 0x39, 0x39, 0x92, 0x13, 0x63,
- 0x7f, 0xf4, 0xfe, 0xe2, 0xbb, 0x13, 0xad, 0x5d, 0xa4, 0xf3, 0x13, 0x6c,
- 0x78, 0x21, 0xa1, 0x16, 0xb1, 0xdc, 0x43, 0x8d, 0x96, 0xa2, 0x49, 0x0e,
- 0x8e, 0x7f, 0x30, 0x6a, 0xeb, 0x59, 0xff, 0xc3, 0x0f, 0x01, 0x39, 0x7e,
- 0x0b, 0xf2, 0x1c, 0x2f, 0x1c, 0x6c, 0x36, 0x21, 0x6c, 0x47, 0x37, 0xf6,
- 0x65, 0xf8, 0x8f, 0xdf, 0xf8, 0x1a, 0x24, 0x1c, 0x5d, 0x61, 0x35, 0x06,
- 0x7e, 0x51, 0xeb, 0x4f, 0x78, 0x10, 0x8b, 0xe7, 0x3b, 0x5a, 0xda, 0x67,
- 0xa5, 0x0f, 0xed, 0x45, 0xdb, 0x66, 0xfc, 0x94, 0xdd, 0x83, 0x4c, 0x2c,
- 0x79, 0x45, 0xff, 0x5d, 0x52, 0x7a, 0xe9, 0xac, 0xca, 0x6f, 0x48, 0x01,
- 0x34, 0x0f, 0x73, 0x94, 0x81, 0x9e, 0x1d, 0xd8, 0x4a, 0x54, 0x12, 0xe8,
- 0xa0, 0x56, 0x10, 0x0a, 0x45, 0xab, 0xb4, 0x33, 0x82, 0x60, 0x19, 0x91,
- 0x36, 0x90, 0x3f, 0xc6, 0xb6, 0x96, 0x9b, 0xad, 0xf3, 0xe6, 0xe8, 0xbc,
- 0x97, 0x9c, 0x1d, 0xbd, 0x63, 0xd0, 0xf4, 0xd1, 0xfb, 0xaf, 0x85, 0xbd,
- 0x4a, 0x0b, 0x2e, 0x0d, 0x18, 0xb8, 0x17, 0x22, 0x87, 0xbc, 0x39, 0x31,
- 0xaf, 0x03, 0x25, 0x55, 0xd7, 0xe6, 0x76, 0xfd, 0x1d, 0xa9, 0x1d, 0x78,
- 0x68, 0xaf, 0xcc, 0x7f, 0x62, 0x53, 0x65, 0xec, 0x88, 0x6f, 0xb6, 0xc2,
- 0xd9, 0x12, 0xb5, 0xcc, 0x46, 0x73, 0xc5, 0x24, 0xa0, 0xd9, 0xe0, 0x09,
- 0x33, 0x33, 0x12, 0xc6, 0x15, 0x75, 0x86, 0x0a, 0x61, 0x68, 0x92, 0x62,
- 0x80, 0x12, 0x14, 0x22, 0x23, 0xd6, 0x7c, 0xad, 0x47, 0xdb, 0x12, 0xb4,
- 0xb8, 0x6e, 0x2e, 0xa2, 0x79, 0x7b, 0x55, 0x2e, 0x69, 0x2d, 0xce, 0x1d,
- 0x6f, 0x54, 0xaa, 0x49, 0x3e, 0x41, 0x62, 0xb0, 0xf9, 0x48, 0x59, 0x4d,
- 0x22, 0x3c, 0xa8, 0xbf, 0xe5, 0xc4, 0x55, 0xa3, 0xe4, 0xd5, 0xd4, 0xbc,
- 0x38, 0x5d, 0x92, 0xf2, 0x78, 0xc4, 0x35, 0x3a, 0xbe, 0x35, 0x16, 0x5d,
- 0x56, 0x95, 0x75, 0xb7, 0x60, 0x83, 0xd4, 0xe3, 0x65, 0xec, 0x16, 0xda,
- 0xd1, 0x30, 0x6b, 0xc0, 0xf9, 0xd3, 0xc0, 0x44, 0x12, 0x4e, 0xd8, 0x76,
- 0x56, 0xff, 0x06, 0x10, 0xce, 0x1b, 0xbd, 0x64, 0x83, 0x8a, 0x52, 0xd0,
- 0x9f, 0xa8, 0xcf, 0x4b, 0xfc, 0xf1, 0x79, 0x3a, 0xdd, 0xe8, 0x85, 0x85,
- 0xb6, 0x37, 0x64, 0xbf, 0x6e, 0x98, 0x7d, 0x38, 0x94, 0xa4, 0x77, 0x64,
- 0x2b, 0x21, 0x25, 0x23, 0x4d, 0xa4, 0x2f, 0x8a, 0x08, 0xa3, 0xc5, 0x70,
- 0x0c, 0x02, 0x75, 0x50, 0x3c, 0xc1, 0x36, 0xd7, 0x66, 0x5e, 0x58, 0x86,
- 0x49, 0xfa, 0x8d, 0x65, 0x09, 0x2f, 0xc3, 0x2f, 0xac, 0xd9, 0xe8, 0x15,
- 0xda, 0xec, 0x34, 0xa7, 0x6b, 0xe5, 0xaf, 0xb3, 0xbe, 0x1f, 0xad, 0x61,
- 0x77, 0x20, 0x89, 0x65, 0xed, 0xa8, 0x1a, 0x58, 0x8c, 0x09, 0x07, 0x3d,
- 0x61, 0xf5, 0x5d, 0x52, 0x66, 0xfc, 0x32, 0xce, 0xf4, 0xb7, 0x10, 0x08,
- 0x81, 0xa1, 0x82, 0x72, 0x5c, 0xbb, 0xdd, 0x67, 0x13, 0xeb, 0x30, 0x11,
- 0x93, 0x11, 0x60, 0xea, 0xdb, 0x8a, 0x98, 0xd5, 0x0a, 0xc7, 0xd0, 0x38,
- 0x95, 0x70, 0x78, 0x84, 0x83, 0x43, 0xd9, 0xd7, 0xcc, 0x22, 0x4d, 0xa5,
- 0x20, 0x92, 0x82, 0x18, 0x2a, 0xed, 0x53, 0x5f, 0x42, 0x40, 0x6a, 0xd6,
- 0xd1, 0x7b, 0x7f, 0x78, 0x10, 0x6c, 0xfc, 0xd0, 0xda, 0x39, 0xbd, 0x2b,
- 0x96, 0x65, 0xf9, 0x68, 0xaa, 0x99, 0x4e, 0x6a, 0x00, 0x40, 0x86, 0x7d,
- 0x48, 0x8e, 0x57, 0x46, 0x48, 0x64, 0x01, 0xd7, 0xc6, 0xb0, 0x95, 0x9e,
- 0x29, 0xb5, 0xe2, 0x14, 0x78, 0x8f, 0xf7, 0x6c, 0x21, 0x4b, 0x57, 0xbf,
- 0x16, 0x7b, 0xbf, 0x9f, 0x44, 0xaa, 0x60, 0x83, 0xe1, 0xdc, 0xe5, 0x76,
- 0xe1, 0xd4, 0x82, 0x46, 0x48, 0x39, 0x12, 0x14, 0x5c, 0xc5, 0xd3, 0x41,
- 0xfe, 0x42, 0x81, 0xed, 0x40, 0xfd, 0x0b, 0x48, 0x8a, 0x19, 0x23, 0x09,
- 0xb2, 0x70, 0xdd, 0x04, 0x1b, 0x13, 0xf6, 0x5d, 0x61, 0x49, 0x6c, 0x57,
- 0x51, 0xdf, 0x9d, 0x7d, 0xc1, 0x0c, 0xc8, 0x31, 0x27, 0x3a, 0xd0, 0xe7,
- 0x46, 0xa6, 0x89, 0xdb, 0x7c, 0xd2, 0x5c, 0x83, 0xc6, 0x5f, 0xd5, 0xd7,
- 0x5a, 0xb2, 0x09, 0xc9, 0x97, 0x98, 0xc7, 0x80, 0xf2, 0x51, 0x2f, 0x8b,
- 0x2c, 0x18, 0x26, 0x35, 0x61, 0x7a, 0x0d, 0xf2, 0xa7, 0x60, 0x1d, 0xe0,
- 0x79, 0xdc, 0xe6, 0xfb, 0xd8, 0x66, 0x96, 0x1b, 0xbb, 0x7f, 0x71, 0x49,
- 0x0c, 0xfd, 0x81, 0x4e, 0xad, 0x80, 0xf6, 0x81, 0x9e, 0x10, 0xda, 0xc3,
- 0x1b, 0x9f, 0x98, 0x42, 0xf7, 0xdb, 0x0d, 0x2d, 0x47, 0xb7, 0x28, 0x1a,
- 0x1f, 0x73, 0x4b, 0xaa, 0x71, 0xf2, 0x29, 0x9f, 0x96, 0x51, 0xbf, 0xa7,
- 0xb9, 0x08, 0x36, 0x66, 0xdc, 0xc2, 0xbb, 0x0d, 0xf5, 0x66, 0x51, 0xba,
- 0xe5, 0x55, 0x2a, 0xbf, 0xe7, 0x5c, 0xeb, 0x8d, 0x2b, 0x7e, 0xe8, 0x6b,
- 0xf7, 0x50, 0xa7, 0x39, 0x72, 0xad, 0xb2, 0x2b, 0x55, 0x63, 0xf0, 0xf5,
- 0x3e, 0x21, 0x3a, 0xbf, 0xed, 0x25, 0x4f, 0x66, 0x58, 0x94, 0xdd, 0xaf,
- 0x63, 0x82, 0x8b, 0x8b, 0x0b, 0xd6, 0x36, 0xad, 0x35, 0xe9, 0xff, 0x95,
- 0xf4, 0x62, 0x4c, 0x18, 0xef, 0x4b, 0x0b, 0x1e, 0x67, 0x3a, 0x5c, 0x3f,
- 0xca, 0xde, 0xbd, 0xc0, 0x68, 0xa9, 0xe6, 0xa4, 0xc8, 0x4d, 0x32, 0xe5,
- 0x14, 0x9d, 0xc1, 0xff, 0x44, 0x11, 0xd6, 0xb9, 0xa4, 0xd2, 0xd2, 0x76,
- 0xed, 0x5b, 0x96, 0xb2, 0x7a, 0x4a, 0x0f, 0xa0, 0xb2, 0x46, 0x19, 0x00,
- 0xb2, 0xa6, 0x73, 0x68, 0xb1, 0xb6, 0xf8, 0x8d, 0xd7, 0x29, 0x4a, 0x86,
- 0x19, 0x27, 0x62, 0x88, 0xff, 0x8e, 0xba, 0xc4, 0xb4, 0x87, 0xf3, 0x59,
- 0x37, 0x7d, 0xb2, 0x35, 0x63, 0x8e, 0xfa, 0xb3, 0xd3, 0xb3, 0x27, 0x5b,
- 0x3e, 0xa7, 0x96, 0xe4, 0x53, 0x32, 0x21, 0x03, 0xe2, 0xc4, 0x36, 0xd9,
- 0xd2, 0x26, 0xa8, 0x30, 0xb0, 0x3f, 0xf4, 0x2d, 0x32, 0x31, 0x28, 0xfb,
- 0x8f, 0xf0, 0x45, 0xf8, 0x65, 0x1d, 0xb8, 0xd4, 0xab, 0x9f, 0xe4, 0x0e,
- 0x26, 0x2e, 0x87, 0x3a, 0x70, 0x47, 0x91, 0x38, 0x80, 0xd6, 0x29, 0x09,
- 0xdd, 0x7d, 0xa4, 0x0b, 0xb4, 0xf9, 0xc7, 0x89, 0x5e, 0x34, 0xe8, 0x65,
- 0x27, 0x8d, 0xd6, 0x0b, 0x03, 0x0b, 0x30, 0xdf, 0x3d, 0x09, 0xaf, 0xb1,
- 0xe6, 0x4f, 0x80, 0x9e, 0xc0, 0x85, 0xd0, 0xc8, 0xa5, 0x45, 0xbb, 0x96,
- 0xf9, 0x17, 0x07, 0x4b, 0x0b, 0xc8, 0x5a, 0x16, 0xec, 0x96, 0xda, 0x2c,
- 0x85, 0x4e, 0xd2, 0xe4, 0xfd, 0xc9, 0xf0, 0xc2, 0x77, 0xf4, 0xa3, 0xe8,
- 0x72, 0x80, 0x80, 0x6a, 0xf3, 0xc2, 0x78, 0x11, 0xe3, 0x93, 0xe3, 0xe1,
- 0xc5, 0x20, 0xc6, 0xef, 0xbc, 0x6f, 0xc4, 0x2a, 0x41, 0x74, 0x79, 0xf0,
- 0x1a, 0x0a, 0xd1, 0x12, 0xd2, 0x34, 0xf5, 0x1c, 0xc5, 0xe0, 0xb0, 0x5e,
- 0x5e, 0xf9, 0x99, 0xa4, 0xdd, 0xe6, 0x4c, 0x17, 0x3f, 0x67, 0x74, 0x93,
- 0x20, 0xa3, 0xd4, 0x8d, 0x5f, 0x2f, 0x46, 0x7d, 0x8f, 0x88, 0x89, 0xf5,
- 0x1d, 0x54, 0xf5, 0x30, 0xbb, 0xd7, 0xdc, 0x50, 0x9f, 0x42, 0x43, 0x60,
- 0x93, 0x37, 0x14, 0xe6, 0x47, 0x28, 0xb4, 0x5a, 0x0e, 0xc9, 0x71, 0x92,
- 0x81, 0x94, 0x0f, 0x9e, 0x00, 0x7a, 0xf6, 0xd1, 0x9b, 0x8a, 0xa6, 0xa2,
- 0x33, 0x93, 0x52, 0x08, 0xaa, 0x0d, 0x75, 0xa4, 0xd0, 0x8a, 0xdd, 0x72,
- 0xab, 0x82, 0x49, 0xe1, 0x16, 0x74, 0x9b, 0xae, 0x36, 0x96, 0x37, 0x7c,
- 0x02, 0xb6, 0xdb, 0x4b, 0x79, 0x02, 0xf3, 0x09, 0xf3, 0x68, 0xd5, 0x6d,
- 0x22, 0x2d, 0x4e, 0x94, 0x24, 0xa1, 0xc3, 0x05, 0x03, 0x48, 0x75, 0x5b,
- 0xb6, 0x92, 0xec, 0x38, 0x69, 0x61, 0x5a, 0xfa, 0x3f, 0x30, 0x50, 0x0a,
- 0xd1, 0x8c, 0xde, 0x32, 0x7e, 0x97, 0x70, 0x1b, 0x69, 0xf1, 0x86, 0x0f,
- 0xc6, 0xb4, 0xed, 0x26, 0xf6, 0x4b, 0x49, 0x77, 0x19, 0x2b, 0x61, 0x61,
- 0x55, 0x6c, 0x62, 0x4d, 0x36, 0xc2, 0x6a, 0x14, 0xf9, 0xdf, 0x11, 0x41,
- 0x87, 0xee, 0x7a, 0x09, 0xf8, 0x67, 0x95, 0xb2, 0x7b, 0x93, 0xa3, 0x62,
- 0x39, 0x61, 0xbb, 0x6d, 0xf9, 0x1b, 0x9a, 0x0a, 0x3e, 0xb1, 0x9f, 0x62,
- 0xc8, 0xe6, 0x65, 0x39, 0x53, 0x7e, 0xc6, 0xf5, 0x6e, 0x9b, 0x1f, 0x0d,
- 0x54, 0x88, 0xc2, 0x66, 0x62, 0xae, 0xa4, 0x6d, 0xe4, 0x3c, 0xc4, 0x0a,
- 0xa8, 0xa7, 0x1e, 0x6c, 0xa2, 0x95, 0x9c, 0x4f, 0x47, 0x98, 0x33, 0x25,
- 0x36, 0xdf, 0x9e, 0x9f, 0xbe, 0xeb, 0x5f, 0x9c, 0xa2, 0x4a, 0xae, 0x94,
- 0x26, 0x48, 0x22, 0x1a, 0xa7, 0xd6, 0x39, 0xf7, 0x8a, 0xfd, 0xb6, 0x51,
- 0x27, 0x9b, 0xf5, 0x96, 0xd6, 0xe2, 0xc5, 0xa5, 0x32, 0xf7, 0xab, 0xa3,
- 0x07, 0x74, 0xe7, 0x05, 0xeb, 0x22, 0x29, 0xea, 0xaa, 0x91, 0x87, 0x68,
- 0xec, 0x85, 0x1b, 0xf0, 0xbe, 0xca, 0xee, 0xd1, 0xa2, 0xbe, 0x4f, 0x24,
- 0x25, 0xa5, 0xa6, 0xa5, 0x22, 0xa7, 0x4c, 0xe8, 0xc4, 0xb5, 0x25, 0x3b,
- 0x2d, 0xd3, 0x01, 0x61, 0xf5, 0x19, 0x10, 0xde, 0x94, 0xe6, 0x00, 0xa7,
- 0x55, 0x55, 0xde, 0xea, 0xd5, 0x25, 0x09, 0x63, 0xa6, 0xeb, 0xb4, 0x48,
- 0xd5, 0xfd, 0xd2, 0xac, 0x70, 0x61, 0x3c, 0xd1, 0x92, 0xa3, 0x2b, 0x15,
- 0xc0, 0x67, 0xed, 0x4c, 0x5d, 0xc5, 0x8c, 0xf5, 0x9b, 0x6a, 0x51, 0x87,
- 0xf5, 0x8b, 0xc5, 0x3b, 0x78, 0x42, 0x82, 0x92, 0x50, 0x66, 0xee, 0x85,
- 0x9e, 0x50, 0x32, 0x51, 0xd6, 0x3e, 0x4a, 0xc3, 0x58, 0x38, 0x37, 0xbc,
- 0x34, 0x8c, 0x75, 0xfc, 0x4b, 0x70, 0x86, 0x85, 0xac, 0x91, 0x74, 0xfa,
- 0xe9, 0xd4, 0x21, 0xcd, 0x04, 0x64, 0x41, 0x65, 0xcd, 0x69, 0x6f, 0x2b,
- 0x16, 0x0c, 0x54, 0x2c, 0x10, 0x07, 0xf4, 0xd3, 0x40, 0x9b, 0x54, 0x76,
- 0x85, 0x9c, 0xf2, 0x5a, 0x27, 0x8b, 0x31, 0x96, 0x89, 0x02, 0x33, 0x54,
- 0x13, 0x6c, 0xc4, 0xcc, 0x6f, 0x9a, 0x1c, 0x4a, 0x4d, 0x3b, 0x98, 0x1d,
- 0xdb, 0xd9, 0x5d, 0x3d, 0x2b, 0xe1, 0xc7, 0x5c, 0x95, 0x13, 0x52, 0x27,
- 0xa9, 0xe0, 0x4b, 0xc6, 0xaa, 0x65, 0x15, 0x94, 0x09, 0x2c, 0x2e, 0x4b,
- 0x2d, 0xb5, 0x18, 0x0a, 0x2c, 0xa2, 0xd8, 0x05, 0xa7, 0xa8, 0xe0, 0x33,
- 0x88, 0x1a, 0x8b, 0x36, 0x30, 0x62, 0xa3, 0x5f, 0x91, 0x67, 0xb3, 0xd3,
- 0xde, 0xd6, 0x0a, 0x2f, 0xe2, 0x42, 0x11, 0x99, 0xde, 0xea, 0xb5, 0x16,
- 0x24, 0xbe, 0x72, 0xc7, 0xad, 0xdc, 0x58, 0x8e, 0xa0, 0x7b, 0x33, 0x2e,
- 0xe7, 0x1a, 0xb4, 0x4d, 0x24, 0x05, 0xc8, 0xc5, 0x95, 0x10, 0x66, 0x2e,
- 0x22, 0x9e, 0x52, 0x5b, 0x04, 0xaa, 0x49, 0xf4, 0xa3, 0xc9, 0xa6, 0xe6,
- 0x8c, 0x58, 0x0c, 0xf3, 0x89, 0xfc, 0x6a, 0xdf, 0xa6, 0xb4, 0x90, 0x54,
- 0xeb, 0x34, 0xf7, 0xe4, 0x87, 0x1f, 0xda, 0x65, 0x1b, 0xb7, 0xda, 0x72,
- 0x32, 0x00, 0xb3, 0x4e, 0x4a, 0x85, 0x9f, 0xa1, 0xc3, 0x01, 0x20, 0x5f,
- 0xb7, 0x1d, 0x91, 0x52, 0x03, 0xfb, 0x37, 0x70, 0x29, 0xa6, 0x4d, 0x69,
- 0x8c, 0xc0, 0x6b, 0x45, 0x69, 0xb7, 0x22, 0xed, 0xc8, 0xae, 0x3d, 0x8e,
- 0x80, 0x51, 0x20, 0x72, 0x35, 0x3e, 0xce, 0xae, 0x6f, 0x20, 0xd9, 0xfc,
- 0xe9, 0xaa, 0x5b, 0x88, 0xcf, 0x6b, 0xf2, 0x02, 0xf3, 0x7d, 0xb0, 0xba,
- 0xb6, 0xa4, 0x4d, 0x2b, 0x15, 0x8c, 0x1c, 0x6e, 0x7c, 0x26, 0xa1, 0x26,
- 0xbc, 0xd3, 0xb8, 0xca, 0xc4, 0xdf, 0xa0, 0x45, 0x03, 0x82, 0x60, 0x1f,
- 0xa5, 0xfa, 0xf3, 0xe1, 0x01, 0x2e, 0x3d, 0xf5, 0xce, 0x8b, 0xa3, 0x6c,
- 0xea, 0xac, 0x98, 0xa0, 0x37, 0x23, 0xc5, 0xac, 0x4b, 0x24, 0x4b, 0xa3,
- 0x56, 0x03, 0x48, 0x67, 0x4a, 0x0e, 0x27, 0x4a, 0xcd, 0x41, 0xbe, 0x71,
- 0xfe, 0xa2, 0x27, 0x77, 0xe0, 0xc7, 0x98, 0x68, 0x17, 0xc4, 0x22, 0x55,
- 0x2a, 0x4c, 0x68, 0x5d, 0x88, 0x1f, 0x90, 0x72, 0x10, 0xb5, 0x84, 0x09,
- 0xf9, 0xf4, 0x34, 0x96, 0xc9, 0x0a, 0x35, 0xb2, 0x57, 0x6d, 0x3d, 0xe1,
- 0xe0, 0xe2, 0xd1, 0x23, 0xcb, 0x29, 0xf6, 0x24, 0x69, 0x2c, 0xb7, 0x0d,
- 0xac, 0x86, 0xbe, 0x31, 0x4b, 0xfb, 0x78, 0xac, 0x5e, 0x86, 0x0a, 0x10,
- 0xee, 0x52, 0x94, 0x2f, 0x65, 0xb2, 0x75, 0x7f, 0xce, 0xd4, 0xbb, 0x6d,
- 0x53, 0xa5, 0x05, 0xa1, 0x2e, 0xac, 0xdd, 0x5f, 0x1f, 0x5d, 0x74, 0x8f,
- 0x96, 0x1f, 0xe0, 0x41, 0x5e, 0xb2, 0xf9, 0xf7, 0xd9, 0x87, 0x8b, 0x2d,
- 0x57, 0x9c, 0x5a, 0xb6, 0xab, 0x8f, 0x6e, 0x95, 0xcc, 0x97, 0xb0, 0xe0,
- 0x1a, 0xa7, 0x02, 0x8b, 0x9c, 0x82, 0x6c, 0xb0, 0x27, 0x83, 0xbc, 0x2c,
- 0x4f, 0x76, 0x76, 0x8d, 0x25, 0xb5, 0xb3, 0x87, 0x2a, 0x95, 0x4f, 0x76,
- 0x9e, 0xd8, 0xe4, 0x49, 0x7d, 0x2a, 0xb8, 0x16, 0x26, 0xfc, 0x22, 0x9c,
- 0x26, 0xd8, 0xf7, 0x4f, 0xee, 0xee, 0xf0, 0xe3, 0x5e, 0x0b, 0xfd, 0x5f,
- 0x65, 0xfd, 0x5a, 0xdc, 0x2d, 0x3e, 0x31, 0x7a, 0xfc, 0xe6, 0xf7, 0x66,
- 0x1c, 0xe1, 0x97, 0x45, 0xc1, 0xb9, 0x43, 0xa8, 0x03, 0x4a, 0xd9, 0xc6,
- 0x83, 0xe5, 0xf5, 0x30, 0x9a, 0x16, 0x2d, 0x0d, 0xcd, 0xad, 0x5f, 0xd0,
- 0xc6, 0x6c, 0x17, 0x1a, 0xbf, 0x7e, 0x47, 0x72, 0x97, 0x03, 0xe1, 0x4c,
- 0xcf, 0x08, 0xcf, 0x83, 0x99, 0x85, 0x3b, 0x37, 0x47, 0xb6, 0xd2, 0x9a,
- 0x25, 0x43, 0x53, 0x81, 0xe4, 0x60, 0xb8, 0xa1, 0x23, 0x82, 0x24, 0xe0,
- 0x3e, 0xc5, 0xf3, 0xcd, 0xa9, 0xc0, 0x0c, 0xeb, 0x5f, 0xf7, 0x24, 0xa6,
- 0xcf, 0xff, 0x7a, 0xd2, 0xbe, 0x2b, 0xaf, 0xf2, 0xa2, 0xaf, 0x8d, 0xbe,
- 0x92, 0xbf, 0x04, 0xfe, 0x4a, 0x94, 0x27, 0x84, 0x7e, 0x0c, 0x46, 0xf9,
- 0xad, 0x96, 0x0f, 0x05, 0x6d, 0xd8, 0x8e, 0x89, 0x9e, 0x22, 0x85, 0x5f,
- 0x59, 0x48, 0xaf, 0x14, 0x1e, 0x83, 0x65, 0x25, 0x83, 0x54, 0x1b, 0x94,
- 0x0f, 0xb8, 0xa1, 0xc3, 0x3d, 0x27, 0x1d, 0x70, 0xd9, 0x86, 0x56, 0x37,
- 0x8e, 0x86, 0xef, 0x6a, 0x01, 0x3e, 0xd2, 0xfd, 0xaa, 0x61, 0x75, 0xe9,
- 0x63, 0xa7, 0x3b, 0xc9, 0x41, 0x83, 0x32, 0x92, 0xf0, 0x85, 0x85, 0x66,
- 0x2a, 0x4d, 0x45, 0x8f, 0xa7, 0x02, 0xe5, 0x59, 0x89, 0x60, 0x5f, 0xf1,
- 0x70, 0xad, 0x99, 0x60, 0x97, 0x35, 0xf8, 0x21, 0x35, 0xa2, 0x1e, 0xb9,
- 0xd3, 0x24, 0x9c, 0xee, 0x8d, 0x53, 0xfb, 0x6b, 0x4e, 0x22, 0x5d, 0xae,
- 0xa4, 0xfa, 0x4b, 0x11, 0xc9, 0xa7, 0x3d, 0xfc, 0xed, 0xd9, 0xce, 0x4b,
- 0x5e, 0xd1, 0xe3, 0xa3, 0x8b, 0xb7, 0x5d, 0x87, 0x5e, 0x65, 0x36, 0x14,
- 0xff, 0xb7, 0x9f, 0xa5, 0xd5, 0xb5, 0x31, 0x30, 0x88, 0x63, 0xa1, 0x4f,
- 0x34, 0xdd, 0xfd, 0x9d, 0x9d, 0x58, 0x80, 0xfd, 0x77, 0x4c, 0x2a, 0x7d,
- 0xf2, 0xb4, 0x1d, 0x7b, 0x21, 0xb5, 0xbe, 0x4f, 0xd3, 0xbd, 0x9c, 0x0c,
- 0xb0, 0xbd, 0xbd, 0x2c, 0x5f, 0xac, 0x3c, 0xae, 0x15, 0xd6, 0x7d, 0x46,
- 0xb2, 0xd6, 0x7e, 0x88, 0xe5, 0x95, 0x76, 0xef, 0x2a, 0xcb, 0x22, 0xb4,
- 0xc9, 0x96, 0x44, 0x73, 0xbf, 0x95, 0x70, 0xe5, 0x29, 0x2e, 0x10, 0xd3,
- 0xb8, 0x42, 0xc0, 0xd1, 0x9c, 0xbb, 0x5a, 0xf2, 0x0d, 0xaa, 0x8c, 0xa8,
- 0x5a, 0x58, 0xf1, 0x93, 0x42, 0x1b, 0x0f, 0xd3, 0xcd, 0x60, 0x0a, 0xaa,
- 0xf1, 0x5c, 0xf2, 0x4f, 0xf8, 0xdf, 0x74, 0x19, 0xb7, 0x80, 0x8e, 0x7b,
- 0xcf, 0x22, 0x13, 0x87, 0x2b, 0xfb, 0x57, 0x4e, 0x9c, 0x53, 0x8f, 0xd8,
- 0x87, 0xc7, 0xb5, 0x3d, 0x94, 0xd2, 0x36, 0xa4, 0x01, 0xa9, 0xb5, 0x1a,
- 0xe4, 0x2f, 0x1e, 0x0b, 0xcd, 0xf6, 0x60, 0x15, 0x6d, 0x95, 0x7b, 0xeb,
- 0x57, 0x8e, 0xa5, 0xe7, 0xc8, 0xd3, 0xe9, 0xfe, 0x98, 0x49, 0x29, 0x18,
- 0xf8, 0x1a, 0x10, 0x79, 0xea, 0xa6, 0x93, 0x67, 0xf3, 0x0c, 0x83, 0xf7,
- 0xa8, 0x20, 0xfc, 0xcd, 0x6d, 0xed, 0x54, 0xb2, 0x15, 0x35, 0x91, 0xc2,
- 0x5c, 0xa3, 0xf9, 0x9c, 0xb2, 0x85, 0xeb, 0xa8, 0xaf, 0xa5, 0x55, 0xf3,
- 0x19, 0x93, 0xa9, 0x6e, 0xd9, 0x9e, 0x5c, 0x64, 0xf2, 0xba, 0xce, 0xb1,
- 0x95, 0x57, 0x69, 0x98, 0x4f, 0x47, 0x26, 0x3b, 0xda, 0xb0, 0x8b, 0x55,
- 0xba, 0xa4, 0x3c, 0x6e, 0xbc, 0x5c, 0xa2, 0x00, 0x78, 0xfd, 0x48, 0x52,
- 0x7f, 0x6f, 0x33, 0x36, 0x4d, 0xb7, 0xfc, 0xe6, 0x77, 0xe7, 0x6f, 0xff,
- 0xaa, 0xf6, 0x37, 0xf4, 0xd2, 0xd0, 0x1a, 0xee, 0x74, 0x78, 0x94, 0x79,
- 0xa0, 0x2d, 0xc9, 0x1f, 0x6d, 0xcd, 0xbb, 0xfb, 0x47, 0x04, 0xdf, 0xcb,
- 0x6c, 0x88, 0xc9, 0x26, 0x95, 0xe4, 0x35, 0x8f, 0x0d, 0xc5, 0xa8, 0x7b,
- 0x32, 0x78, 0x06, 0x9f, 0xc8, 0xdb, 0xc3, 0x67, 0x4f, 0xf6, 0x76, 0x8d,
- 0xdd, 0xba, 0xd9, 0x91, 0x16, 0x5b, 0x6b, 0x8f, 0x9a, 0x6d, 0xbb, 0xde,
- 0xd9, 0xdd, 0x9c, 0xf6, 0xde, 0xe6, 0xd1, 0x0f, 0x67, 0xef, 0xdb, 0xe3,
- 0xe3, 0x11, 0x05, 0xb9, 0x95, 0xcb, 0x46, 0xe8, 0x74, 0x81, 0x56, 0xfb,
- 0x8a, 0x3d, 0x43, 0x91, 0xcb, 0x30, 0x6b, 0x76, 0xfd, 0x6d, 0x95, 0x93,
- 0x96, 0xbb, 0x4e, 0x13, 0xb2, 0x7e, 0x52, 0x16, 0x13, 0x73, 0xf5, 0x9f,
- 0x12, 0xb7, 0x4f, 0x46, 0x18, 0x90, 0x07, 0x47, 0xb7, 0xfc, 0x98, 0xbc,
- 0xeb, 0xe1, 0xa8, 0x14, 0x21, 0x14, 0xe1, 0x1d, 0x7e, 0x08, 0x46, 0x45,
- 0x4a, 0x8b, 0xe6, 0x7c, 0x93, 0x85, 0xe4, 0xf2, 0xa0, 0x88, 0x44, 0xfb,
- 0xb4, 0xdd, 0xa1, 0x40, 0x19, 0xbc, 0x3e, 0xaf, 0xe0, 0xd4, 0x5e, 0x16,
- 0x0f, 0x11, 0x2a, 0x64, 0x89, 0x88, 0xb0, 0x9f, 0x68, 0x53, 0x5d, 0xfb,
- 0x5b, 0x5e, 0x21, 0x58, 0x90, 0x7e, 0x71, 0xbc, 0x83, 0x34, 0xb7, 0x88,
+ 0x98, 0xfa, 0xec, 0xcf, 0x44, 0x13, 0x4b, 0x01, 0xc8, 0x4b, 0x90, 0xc1,
+ 0x38, 0x36, 0x6f, 0x48, 0xdb, 0xef, 0xbf, 0x37, 0xcb, 0xb0, 0x9f, 0xfc,
+ 0x47, 0x99, 0x71, 0x92, 0xeb, 0x03, 0x39, 0xae, 0xdf, 0x1f, 0x9c, 0xbf,
+ 0x3f, 0x7e, 0xff, 0xcd, 0xbe, 0xcb, 0x01, 0x83, 0xcc, 0x13, 0xf7, 0x45,
+ 0x1b, 0x6e, 0xe1, 0xea, 0xb9, 0xd1, 0x23, 0x79, 0xac, 0x4c, 0x89, 0xd5,
+ 0x78, 0xfa, 0x2c, 0x9d, 0xd9, 0xa9, 0x59, 0x65, 0x1c, 0x31, 0x61, 0x0b,
+ 0xd5, 0xa6, 0x5a, 0xf4, 0xb4, 0x32, 0x18, 0x87, 0xf6, 0x9b, 0x32, 0x30,
+ 0x48, 0xc5, 0x89, 0x72, 0x02, 0x27, 0xca, 0xb4, 0x6c, 0x95, 0x29, 0xa2,
+ 0xdd, 0x39, 0xc5, 0x2e, 0x28, 0xfd, 0x8d, 0xe0, 0x55, 0x1b, 0x0a, 0xb1,
+ 0x27, 0x9c, 0x3b, 0x83, 0xda, 0xc6, 0xb8, 0x26, 0x60, 0xeb, 0x68, 0x61,
+ 0x16, 0xae, 0xae, 0x50, 0x63, 0xd1, 0xea, 0x1c, 0x3e, 0x08, 0x37, 0x27,
+ 0x4b, 0xcc, 0x65, 0x5c, 0x66, 0x4c, 0x6d, 0x9c, 0x2e, 0xf8, 0xd0, 0x30,
+ 0xb1, 0x99, 0xfc, 0xd4, 0x65, 0x72, 0xd8, 0x39, 0x78, 0x00, 0xd8, 0x6c,
+ 0xf3, 0x06, 0x22, 0x98, 0x68, 0x44, 0x04, 0x9d, 0xcc, 0x32, 0x7f, 0xd2,
+ 0x6d, 0x12, 0x25, 0x30, 0x99, 0x66, 0x2e, 0x93, 0xc9, 0xaa, 0x3b, 0xd7,
+ 0xac, 0xee, 0x4c, 0xe7, 0x01, 0x4f, 0x1f, 0xe1, 0xd1, 0xe9, 0x17, 0x32,
+ 0xb7, 0x14, 0xd6, 0xc2, 0x15, 0xac, 0xc6, 0x4a, 0x8b, 0x15, 0xcf, 0x16,
+ 0x0f, 0x54, 0x7c, 0x7f, 0x78, 0xa5, 0x12, 0x51, 0x54, 0xc6, 0x54, 0x65,
+ 0x7e, 0xce, 0x8c, 0xf9, 0xba, 0x99, 0xe4, 0xf9, 0x62, 0x34, 0x9b, 0x3c,
+ 0x4b, 0x5e, 0x9a, 0xff, 0x04, 0x7a, 0x16, 0x80, 0xa5, 0xc9, 0xf0, 0x90,
+ 0x4c, 0x0d, 0xc2, 0xc1, 0xd0, 0xad, 0xc1, 0x6c, 0x39, 0x5e, 0x09, 0x83,
+ 0x27, 0x7b, 0xa6, 0xb3, 0x77, 0xa9, 0x72, 0x63, 0x4e, 0xcc, 0x02, 0x36,
+ 0xc0, 0xa7, 0x2d, 0x21, 0x1c, 0x72, 0x30, 0x3e, 0x5a, 0xf0, 0xdd, 0xbd,
+ 0xcf, 0x13, 0xca, 0x53, 0x78, 0xf7, 0xfa, 0x59, 0x32, 0xbe, 0xce, 0xc6,
+ 0x9f, 0xea, 0xc5, 0xcc, 0xc2, 0x21, 0x69, 0x4a, 0xc9, 0x60, 0xa0, 0x7e,
+ 0x06, 0x94, 0x3e, 0xa6, 0xe3, 0xd3, 0x7c, 0x4c, 0xe9, 0x82, 0x3e, 0xb2,
+ 0x94, 0xaa, 0x27, 0xd7, 0x59, 0xc7, 0x9c, 0x71, 0x37, 0x07, 0x30, 0x05,
+ 0x0c, 0xbc, 0x89, 0x84, 0x35, 0xcc, 0x1c, 0x98, 0xcf, 0xd7, 0x5c, 0xf4,
+ 0x78, 0xa5, 0x33, 0xf7, 0xb3, 0x96, 0x3f, 0x7c, 0x07, 0x4b, 0x69, 0xce,
+ 0xf7, 0xee, 0x60, 0x67, 0x49, 0x95, 0x72, 0x40, 0x58, 0x34, 0x10, 0x48,
+ 0x3d, 0x84, 0x35, 0x20, 0x55, 0xd9, 0x13, 0xf3, 0x9e, 0xaf, 0x85, 0x29,
+ 0x8c, 0xd9, 0x4c, 0xe4, 0x12, 0xfc, 0x97, 0xb9, 0x57, 0xc4, 0x69, 0x92,
+ 0x4d, 0x5a, 0x4d, 0xad, 0x34, 0x94, 0xfc, 0xaa, 0x54, 0xdc, 0xdd, 0x5d,
+ 0xf1, 0xfe, 0xd3, 0xbf, 0x5a, 0xf1, 0x16, 0xf9, 0xf5, 0xaf, 0x1c, 0xcd,
+ 0xee, 0x2f, 0x48, 0x18, 0xd8, 0xe9, 0xb9, 0xef, 0xed, 0xd8, 0x22, 0x5b,
+ 0xdc, 0x21, 0x37, 0xe9, 0x9d, 0xe6, 0x42, 0xfa, 0x75, 0xbc, 0x40, 0x49,
+ 0x17, 0x65, 0xd5, 0x27, 0x9d, 0x70, 0x9a, 0x4d, 0x82, 0x2b, 0x3a, 0xda,
+ 0x7d, 0xa3, 0x6c, 0xd4, 0x0b, 0xa5, 0x2f, 0xa1, 0x48, 0x02, 0x42, 0x15,
+ 0xcc, 0xb5, 0xe5, 0x4a, 0x5f, 0xc4, 0x80, 0xe3, 0xf4, 0xcc, 0xf6, 0x9e,
+ 0x57, 0x55, 0x1e, 0x3f, 0xa0, 0x49, 0x4d, 0x3e, 0xcc, 0xaf, 0xaa, 0x94,
+ 0x82, 0x28, 0x94, 0xa5, 0x65, 0x29, 0xcd, 0xd1, 0xbb, 0x64, 0x59, 0xef,
+ 0x1c, 0x23, 0x95, 0x06, 0x83, 0x91, 0x3d, 0x58, 0xeb, 0x77, 0x6a, 0x4a,
+ 0xcb, 0x84, 0x56, 0xc9, 0xe5, 0xaf, 0xf0, 0x73, 0xaf, 0x3e, 0x47, 0x8c,
+ 0x72, 0xd6, 0xbc, 0xc4, 0xdc, 0xa4, 0xa5, 0xb6, 0xd2, 0xc2, 0x73, 0x13,
+ 0x99, 0x36, 0xab, 0x93, 0x5a, 0x8c, 0xcc, 0x91, 0x99, 0x07, 0x7c, 0x7e,
+ 0xbc, 0xb8, 0xa2, 0x24, 0x74, 0xe8, 0xe6, 0x82, 0xb8, 0x43, 0x74, 0x39,
+ 0x1e, 0x4d, 0xee, 0x1e, 0xb0, 0x4a, 0xe5, 0xec, 0x98, 0xd1, 0x84, 0x4a,
+ 0x1e, 0xcb, 0xe0, 0x71, 0x9b, 0x7b, 0xa7, 0x17, 0xed, 0x1d, 0xed, 0x36,
+ 0x7f, 0xf3, 0xb7, 0x28, 0xda, 0x5e, 0x44, 0x36, 0xd7, 0xaf, 0x3a, 0x0b,
+ 0x7b, 0xab, 0xa2, 0x6f, 0x46, 0x89, 0x4f, 0xa7, 0xf3, 0x62, 0xa0, 0x5f,
+ 0x78, 0xd4, 0xfc, 0x74, 0x97, 0xd9, 0x52, 0xe1, 0xff, 0xba, 0xf9, 0xe9,
+ 0xce, 0x8d, 0x2f, 0xcb, 0xfc, 0xf9, 0xe9, 0xae, 0xe5, 0xca, 0x5a, 0x08,
+ 0x9c, 0xff, 0xac, 0xa5, 0xa5, 0xfb, 0x9c, 0xd8, 0x15, 0xcb, 0x67, 0x10,
+ 0xbe, 0x4e, 0xa1, 0x30, 0xeb, 0x25, 0xc7, 0x4c, 0xd1, 0x8b, 0x20, 0xba,
+ 0xbc, 0x7c, 0xc2, 0x59, 0x61, 0xe2, 0x87, 0x71, 0x28, 0xf1, 0x48, 0x0a,
+ 0x69, 0x3e, 0x26, 0x7e, 0xa0, 0x29, 0x83, 0xb4, 0xc8, 0x0b, 0x04, 0x2d,
+ 0xce, 0x56, 0x16, 0x58, 0xc0, 0xf7, 0x95, 0x1c, 0xcc, 0x29, 0xb9, 0xcb,
+ 0x48, 0xa9, 0x3b, 0xd5, 0x8c, 0x23, 0xd1, 0x1f, 0x73, 0xab, 0x97, 0x00,
+ 0xc1, 0x2b, 0x58, 0xb4, 0xd3, 0x1d, 0x6a, 0x98, 0x39, 0xbc, 0xa6, 0x04,
+ 0x8e, 0xae, 0x34, 0xcd, 0x6f, 0x8f, 0x6a, 0x87, 0x5f, 0x05, 0x24, 0xe1,
+ 0xa3, 0xfb, 0x26, 0x92, 0xba, 0x00, 0x92, 0x32, 0x9a, 0x86, 0xcd, 0x5a,
+ 0xa0, 0x51, 0x4f, 0x9f, 0x0f, 0x76, 0xb6, 0x7a, 0x54, 0x34, 0x77, 0x8e,
+ 0x49, 0x20, 0x70, 0xb9, 0xbd, 0xee, 0x29, 0xb7, 0x22, 0xbf, 0x22, 0x0b,
+ 0x4a, 0x30, 0xcb, 0x01, 0xca, 0xfb, 0x1f, 0x99, 0x22, 0x72, 0x14, 0xee,
+ 0x22, 0xb4, 0x89, 0xed, 0xb4, 0xaa, 0xbc, 0x87, 0x12, 0x3c, 0x70, 0x97,
+ 0x74, 0x7d, 0x9c, 0xe2, 0x44, 0xa1, 0x8f, 0xab, 0x0c, 0x54, 0x66, 0x6e,
+ 0xab, 0x80, 0xd9, 0x22, 0x9c, 0x42, 0x39, 0x2f, 0x2e, 0xe8, 0x88, 0x6f,
+ 0x25, 0xf2, 0xf2, 0x18, 0xf6, 0xb6, 0x7e, 0x05, 0x66, 0x11, 0x14, 0x4f,
+ 0x91, 0x7a, 0x64, 0xb8, 0xf4, 0x94, 0xca, 0xbf, 0x7b, 0x72, 0x27, 0xe0,
+ 0x81, 0x66, 0xed, 0xc0, 0x51, 0x9e, 0xb6, 0x0e, 0x9c, 0xd2, 0x94, 0x0e,
+ 0x06, 0x83, 0x48, 0x46, 0xf6, 0x4d, 0x9e, 0xdd, 0xb6, 0xbc, 0x43, 0xd2,
+ 0xad, 0x9e, 0xa5, 0xfb, 0x67, 0x9b, 0xe4, 0x86, 0x66, 0xc8, 0x34, 0x39,
+ 0x2a, 0x6d, 0x79, 0xe6, 0x15, 0x07, 0xd9, 0x7f, 0xda, 0x9b, 0xe6, 0x4f,
+ 0x3c, 0xcd, 0x75, 0x2c, 0x87, 0x89, 0x09, 0x3e, 0x1d, 0x3b, 0x79, 0x8f,
+ 0x54, 0xf4, 0xea, 0x3e, 0x01, 0x0d, 0xbd, 0x53, 0x5c, 0x20, 0x57, 0x18,
+ 0x33, 0x9b, 0xd7, 0xcc, 0xaf, 0xc9, 0xd4, 0x18, 0x91, 0xa0, 0x06, 0x7f,
+ 0x67, 0xd0, 0xbe, 0xf2, 0xc5, 0x73, 0x63, 0xab, 0x86, 0x57, 0xe5, 0x98,
+ 0x8c, 0x23, 0x14, 0x62, 0x15, 0x5e, 0x6d, 0xb2, 0x0d, 0x22, 0x31, 0x72,
+ 0x59, 0x0f, 0x8f, 0x87, 0xdf, 0x0b, 0xe9, 0xba, 0xe2, 0x08, 0x89, 0x0e,
+ 0x30, 0x1a, 0x96, 0x08, 0x1a, 0x69, 0x0d, 0x63, 0x74, 0xaf, 0xe5, 0x69,
+ 0xac, 0x63, 0xc0, 0x96, 0x5a, 0x0b, 0xf4, 0x3d, 0x2f, 0xa7, 0x2a, 0x71,
+ 0xbc, 0x30, 0xbe, 0xb7, 0xc5, 0x32, 0x37, 0xc9, 0x07, 0x6a, 0x8f, 0xf2,
+ 0x35, 0xa0, 0x3f, 0xf7, 0x6a, 0xa4, 0x67, 0x94, 0x49, 0x46, 0x15, 0x24,
+ 0xa2, 0x4b, 0xcc, 0x46, 0x38, 0xa7, 0x6d, 0x9b, 0xed, 0x5c, 0x2e, 0x28,
+ 0x3e, 0x8a, 0xe3, 0x2f, 0x59, 0x97, 0x92, 0x68, 0xd9, 0xcd, 0xc6, 0xb7,
+ 0xac, 0x46, 0x34, 0xf7, 0x83, 0xeb, 0xf4, 0xee, 0x6e, 0x50, 0x67, 0xdb,
+ 0x66, 0xd7, 0xd6, 0xdb, 0x75, 0x3d, 0xa5, 0x8f, 0xd6, 0x20, 0x10, 0x5a,
+ 0x59, 0xe8, 0xcb, 0xd8, 0xaf, 0x3a, 0xbf, 0x22, 0x8c, 0xc7, 0x29, 0xbd,
+ 0xda, 0x12, 0xb6, 0xae, 0xd2, 0x17, 0x97, 0x3b, 0xe8, 0xa2, 0xdb, 0x98,
+ 0x40, 0x95, 0x1c, 0x07, 0x7e, 0x82, 0x18, 0x4b, 0x06, 0x07, 0x22, 0xb0,
+ 0xcd, 0x78, 0xc4, 0xd0, 0x44, 0x99, 0x5a, 0x2d, 0x83, 0x23, 0x27, 0x72,
+ 0x56, 0x7d, 0xef, 0x7d, 0x59, 0x39, 0xd8, 0xae, 0xb9, 0x21, 0x1c, 0x37,
+ 0x04, 0x6a, 0x8a, 0xa0, 0xae, 0x77, 0x84, 0xb5, 0x64, 0x99, 0x21, 0xed,
+ 0x0d, 0x8d, 0xe0, 0xcd, 0xfb, 0x8e, 0x25, 0xeb, 0xf6, 0xf6, 0x76, 0xb0,
+ 0xca, 0x92, 0xfe, 0xa7, 0x43, 0x35, 0xed, 0xe6, 0x4e, 0x8b, 0xe4, 0x24,
+ 0x2f, 0x16, 0x77, 0x1e, 0x45, 0x81, 0x2d, 0x6c, 0xa1, 0x6e, 0xe2, 0xe4,
+ 0xbb, 0xf3, 0x37, 0xb6, 0x22, 0x68, 0xa2, 0xb9, 0xe1, 0xf0, 0x45, 0xd4,
+ 0x11, 0xaf, 0x69, 0x96, 0x63, 0xf3, 0x30, 0xfd, 0xe9, 0xe1, 0xc1, 0xd9,
+ 0xc7, 0xf7, 0x47, 0x17, 0x1f, 0xcf, 0x0f, 0xbe, 0xa7, 0x29, 0x64, 0x2c,
+ 0x86, 0xb9, 0xaf, 0xc8, 0x47, 0x55, 0x95, 0xa5, 0x91, 0xb0, 0xef, 0x4a,
+ 0x54, 0xe5, 0x05, 0x3f, 0x40, 0xac, 0x02, 0x85, 0x65, 0x3d, 0xe1, 0x7e,
+ 0x52, 0x67, 0xf6, 0xbd, 0x3d, 0x48, 0xf3, 0xf5, 0xc9, 0x58, 0x0e, 0xd9,
+ 0x74, 0x50, 0x56, 0x57, 0xb4, 0x0b, 0xb7, 0x5f, 0x8b, 0xfc, 0x8c, 0x36,
+ 0xb7, 0x2d, 0xc1, 0x37, 0x62, 0xd1, 0xb9, 0xa9, 0x2e, 0x29, 0xe5, 0x7e,
+ 0x55, 0xb5, 0x6d, 0xbf, 0x58, 0x93, 0xb7, 0x35, 0x9f, 0x42, 0x00, 0xce,
+ 0x6f, 0x9e, 0xae, 0x32, 0x06, 0x9a, 0x96, 0x02, 0x45, 0x27, 0x6c, 0x7a,
+ 0xc3, 0xce, 0x70, 0x98, 0xd8, 0x7e, 0x4c, 0x35, 0xe3, 0x18, 0x49, 0x2f,
+ 0x92, 0xb4, 0x0b, 0x6e, 0xe8, 0xd2, 0xa6, 0x40, 0x23, 0x29, 0x83, 0x62,
+ 0xc1, 0xcb, 0xa5, 0xb6, 0xa7, 0x06, 0x75, 0x8d, 0x8e, 0xe5, 0xc6, 0xca,
+ 0xf3, 0x50, 0x97, 0xa4, 0xfa, 0x53, 0xde, 0x98, 0x9f, 0xcb, 0x98, 0x9f,
+ 0xff, 0x73, 0x63, 0x7e, 0xfe, 0xeb, 0xc7, 0xfc, 0xf4, 0x5f, 0x3e, 0xe6,
+ 0xbf, 0xd1, 0x98, 0xff, 0xb6, 0x28, 0x3e, 0xf5, 0x4d, 0x77, 0xe9, 0x16,
+ 0x96, 0x1a, 0x3e, 0x75, 0x5c, 0x65, 0x6e, 0x95, 0x8d, 0x20, 0x47, 0x93,
+ 0x47, 0x94, 0xe9, 0x95, 0x24, 0x4a, 0x25, 0xcd, 0x90, 0x23, 0x4e, 0x4b,
+ 0x8b, 0x04, 0x7b, 0xce, 0xc8, 0x9c, 0x72, 0xd4, 0xea, 0x31, 0x59, 0x36,
+ 0xc0, 0x49, 0xad, 0x4b, 0x77, 0x12, 0x6d, 0x78, 0xdd, 0x0e, 0x34, 0xc6,
+ 0xee, 0x48, 0x75, 0x9a, 0x99, 0xee, 0x9b, 0xcb, 0xd5, 0xda, 0xc8, 0x8c,
+ 0x2b, 0x53, 0x4b, 0x35, 0xcc, 0xc1, 0x63, 0xa2, 0x2d, 0xe7, 0xc2, 0x07,
+ 0x14, 0xca, 0x8c, 0x8b, 0xfb, 0x39, 0x35, 0x97, 0x8c, 0x2a, 0x73, 0x01,
+ 0x03, 0x10, 0xc2, 0xd5, 0x93, 0xb5, 0x87, 0x49, 0xb7, 0x73, 0xd6, 0xf5,
+ 0x76, 0x9d, 0xdd, 0x6f, 0x04, 0x0a, 0xc3, 0x78, 0x5a, 0x92, 0xc4, 0x21,
+ 0xbd, 0x6e, 0x85, 0x26, 0x32, 0x72, 0x05, 0x94, 0xf8, 0xbe, 0xe8, 0x54,
+ 0x54, 0xf2, 0xef, 0x8d, 0x4f, 0x59, 0x36, 0x4f, 0xa7, 0x48, 0x07, 0xa7,
+ 0x68, 0xdc, 0xb2, 0xb2, 0x2f, 0xed, 0x8d, 0x51, 0x67, 0x8d, 0x5e, 0xba,
+ 0x78, 0xab, 0x8d, 0x92, 0x80, 0xb0, 0xe3, 0xd5, 0x24, 0x64, 0x77, 0x92,
+ 0x4f, 0x02, 0x06, 0x0d, 0xd1, 0x4f, 0x35, 0x20, 0x67, 0x3b, 0x41, 0xaa,
+ 0xc9, 0x48, 0xa8, 0x0b, 0x80, 0xc4, 0xa3, 0xd6, 0x95, 0x09, 0x09, 0xc1,
+ 0xe3, 0x9b, 0x9c, 0x90, 0x23, 0x9d, 0xe6, 0xba, 0xef, 0x83, 0x16, 0xa5,
+ 0xc5, 0x00, 0x6e, 0x19, 0x3b, 0x29, 0x38, 0x23, 0x17, 0x20, 0xb9, 0xa1,
+ 0x50, 0x4e, 0x2d, 0xd8, 0x52, 0xca, 0x00, 0xca, 0x43, 0xbc, 0x38, 0x3c,
+ 0xfb, 0xf8, 0xed, 0xd1, 0xd1, 0xd9, 0xf1, 0xeb, 0x93, 0x23, 0x39, 0x31,
+ 0xf6, 0x47, 0xef, 0x2f, 0xbe, 0x3b, 0xd1, 0xaa, 0x47, 0x3a, 0x3f, 0xc1,
+ 0x86, 0x17, 0xfa, 0x6a, 0x11, 0xcb, 0x3d, 0x54, 0x77, 0x29, 0x9a, 0xe4,
+ 0xe0, 0xf8, 0x07, 0xa3, 0xb6, 0x9e, 0xf5, 0x3f, 0xfc, 0x10, 0xd0, 0xea,
+ 0xb7, 0xd0, 0xd0, 0xf1, 0x72, 0xc9, 0x66, 0x13, 0xc2, 0x76, 0x74, 0x63,
+ 0x5f, 0x86, 0x0c, 0xf9, 0x8d, 0xaf, 0x41, 0xd3, 0xdc, 0xa2, 0xb0, 0x1a,
+ 0x03, 0xbf, 0xa8, 0x95, 0x2b, 0x3c, 0xf4, 0xc5, 0xf3, 0x1d, 0x2d, 0x0a,
+ 0xb4, 0xd2, 0x87, 0xf6, 0x79, 0xdb, 0x66, 0xfc, 0x94, 0xdd, 0x83, 0x86,
+ 0x2c, 0x79, 0x49, 0xff, 0x5d, 0x52, 0xb4, 0xe9, 0xac, 0xca, 0x6f, 0x48,
+ 0x01, 0x34, 0x0f, 0x73, 0x94, 0x81, 0x9e, 0x1d, 0xd8, 0x1a, 0x56, 0x12,
+ 0xe8, 0xa0, 0x56, 0x10, 0x0a, 0x45, 0xab, 0xb4, 0x33, 0x82, 0x60, 0x19,
+ 0xb1, 0x39, 0x90, 0x3f, 0xc6, 0xb6, 0x96, 0x9b, 0xad, 0xf3, 0xfa, 0xe8,
+ 0xbc, 0x97, 0x9c, 0x1d, 0xbd, 0x63, 0x38, 0xf5, 0xd1, 0xfb, 0x6f, 0x84,
+ 0xf7, 0x4a, 0x4b, 0x35, 0x0d, 0x18, 0x64, 0x18, 0x62, 0x8a, 0xbc, 0x39,
+ 0x31, 0xaf, 0x03, 0x40, 0x55, 0xd7, 0xe6, 0x76, 0xfd, 0x1d, 0x49, 0x1f,
+ 0x78, 0x68, 0x2f, 0xcd, 0x7f, 0x62, 0x53, 0x65, 0xec, 0x88, 0xb7, 0x5b,
+ 0xe1, 0x6c, 0x89, 0x5a, 0x66, 0xa3, 0xb9, 0x62, 0x12, 0xd0, 0x6c, 0xf0,
+ 0x84, 0x99, 0x19, 0x09, 0xe3, 0x8a, 0x3a, 0x43, 0x85, 0x70, 0x3b, 0x49,
+ 0x19, 0x41, 0x09, 0x0a, 0x91, 0x11, 0x6b, 0xbe, 0xd6, 0xa3, 0x6d, 0x09,
+ 0x42, 0x5d, 0x37, 0x17, 0xd1, 0x8c, 0xbe, 0x2a, 0x97, 0x7c, 0x17, 0xe7,
+ 0x8e, 0x37, 0x2a, 0xd5, 0x24, 0x9f, 0x20, 0x65, 0xd8, 0x7c, 0xa4, 0xac,
+ 0x26, 0x11, 0x06, 0xd5, 0xdf, 0x72, 0xe2, 0xaa, 0x51, 0xf2, 0x72, 0x6a,
+ 0x5e, 0x9c, 0x2e, 0x01, 0xf2, 0x1f, 0x71, 0x75, 0x8f, 0x6f, 0x8d, 0x45,
+ 0x97, 0x55, 0x65, 0xdd, 0x2d, 0xf5, 0x20, 0x65, 0x88, 0x19, 0xd5, 0x85,
+ 0x76, 0x34, 0xcc, 0x1a, 0xb0, 0x05, 0x35, 0x30, 0x91, 0x84, 0x4d, 0xb6,
+ 0x9d, 0xf0, 0xbf, 0x01, 0xe4, 0xf3, 0x46, 0x2f, 0xd9, 0xa0, 0x72, 0x16,
+ 0xf4, 0x27, 0xaa, 0x12, 0x13, 0xf3, 0x7c, 0x9e, 0x4e, 0x37, 0x7a, 0x61,
+ 0x79, 0xf1, 0x0d, 0xd9, 0xaf, 0x1b, 0x03, 0x82, 0xb3, 0x33, 0xa8, 0x96,
+ 0x16, 0x91, 0xf3, 0xb8, 0xd2, 0x44, 0xfa, 0xa2, 0x58, 0x31, 0x5a, 0x0c,
+ 0x47, 0x2e, 0x50, 0x07, 0x65, 0x17, 0x6c, 0x73, 0x6d, 0x4e, 0x86, 0x65,
+ 0x68, 0xa5, 0xdf, 0x58, 0x96, 0xf0, 0x32, 0xfc, 0xc2, 0x6a, 0x8f, 0x5e,
+ 0x89, 0xce, 0x4e, 0x73, 0xba, 0x56, 0xfe, 0x3a, 0xeb, 0xfb, 0xd1, 0xea,
+ 0x77, 0x07, 0x92, 0x76, 0xd6, 0x8e, 0xaa, 0x81, 0xff, 0x98, 0x00, 0xd2,
+ 0x13, 0x56, 0xdf, 0x25, 0x9b, 0xc6, 0x2f, 0x5d, 0x4d, 0x7f, 0x0b, 0x81,
+ 0x10, 0x18, 0x2a, 0xc8, 0xca, 0xb5, 0xdb, 0x7d, 0x36, 0xb1, 0x0e, 0x13,
+ 0x31, 0x19, 0x81, 0xb2, 0xbe, 0xad, 0x88, 0x93, 0xad, 0x70, 0xdc, 0x8e,
+ 0xd3, 0x6c, 0x29, 0x3b, 0x87, 0xf2, 0xb6, 0x99, 0x45, 0x9a, 0x4a, 0x29,
+ 0x25, 0x05, 0x31, 0x54, 0xda, 0xa7, 0xbe, 0x84, 0x80, 0xd4, 0xac, 0xa3,
+ 0xf7, 0xfe, 0xf0, 0x60, 0xae, 0xf6, 0x43, 0x6b, 0xe7, 0xf4, 0xae, 0x58,
+ 0xfe, 0xe5, 0xa3, 0x49, 0x68, 0x3a, 0x49, 0x03, 0x40, 0x1f, 0xf6, 0x21,
+ 0x39, 0x5e, 0x1a, 0x21, 0x91, 0x05, 0x2c, 0x1c, 0xc3, 0x56, 0xe2, 0xa6,
+ 0x54, 0x99, 0x53, 0x40, 0x3e, 0xde, 0xb3, 0x25, 0x30, 0x5d, 0xe5, 0x5b,
+ 0xec, 0xfd, 0x7e, 0xac, 0xf6, 0x37, 0xb8, 0xd1, 0x5d, 0xda, 0x17, 0x4e,
+ 0x2d, 0x58, 0x86, 0x94, 0x3d, 0x41, 0xc1, 0x55, 0x3c, 0x1d, 0xe4, 0x2f,
+ 0x14, 0xd8, 0x0e, 0xd4, 0xbf, 0x80, 0xde, 0x98, 0xc1, 0x93, 0xa0, 0x19,
+ 0xd7, 0x4d, 0xb0, 0x31, 0x61, 0xdf, 0x15, 0x96, 0xc4, 0x76, 0x15, 0x55,
+ 0xed, 0xd9, 0x17, 0xcc, 0x80, 0x1c, 0x73, 0xa2, 0x03, 0x7d, 0x6e, 0x64,
+ 0x9a, 0xb8, 0xcd, 0x27, 0xcd, 0x35, 0x0a, 0x00, 0xa8, 0xfa, 0x5a, 0x4b,
+ 0xb2, 0x21, 0xf9, 0x12, 0xf3, 0x10, 0x43, 0x3f, 0x8a, 0x7b, 0x59, 0x64,
+ 0xc1, 0x30, 0xa9, 0x09, 0x33, 0x6f, 0x90, 0x3f, 0x05, 0xeb, 0x00, 0xcf,
+ 0xe3, 0x36, 0xdf, 0xc7, 0x36, 0xe7, 0xdc, 0xd8, 0xfd, 0x8b, 0x4b, 0xe2,
+ 0xf6, 0x0f, 0x74, 0x6a, 0x85, 0xba, 0x0f, 0xf4, 0x84, 0xd0, 0x1e, 0xde,
+ 0xf8, 0xc4, 0xe4, 0xbb, 0xdf, 0x6e, 0x68, 0x21, 0x3b, 0xe2, 0x53, 0xf2,
+ 0xd0, 0xb8, 0xa4, 0x1a, 0x27, 0x9f, 0xf2, 0x69, 0x19, 0xf5, 0x7b, 0x9a,
+ 0x8b, 0x60, 0x63, 0xc6, 0x2d, 0xbc, 0xdb, 0x50, 0x6f, 0x16, 0xe5, 0x61,
+ 0x5e, 0xa5, 0xf2, 0x7b, 0xce, 0xc2, 0xde, 0xb8, 0xe2, 0x87, 0xbe, 0x71,
+ 0x0f, 0x75, 0x9a, 0x23, 0xd7, 0x2a, 0xbb, 0x52, 0x35, 0x06, 0x5f, 0xef,
+ 0x13, 0xd8, 0xf3, 0xdb, 0x5e, 0xf2, 0x64, 0x86, 0x45, 0xd9, 0xfd, 0x26,
+ 0x26, 0xb8, 0xb8, 0x2c, 0x61, 0x5d, 0xda, 0xf4, 0xbb, 0xfe, 0x5f, 0x49,
+ 0x2f, 0xc6, 0x84, 0xf1, 0xbe, 0xb4, 0xa8, 0x72, 0xc6, 0xb6, 0xfa, 0x51,
+ 0xf6, 0xee, 0x05, 0x46, 0x4b, 0x35, 0x27, 0x45, 0x6e, 0x92, 0x29, 0x1b,
+ 0xe9, 0x0c, 0xfe, 0x27, 0x8a, 0xb0, 0xce, 0x25, 0xcf, 0x96, 0xb6, 0x6b,
+ 0xdf, 0xf2, 0x9b, 0xd5, 0x53, 0x7a, 0x00, 0x35, 0x39, 0xca, 0x00, 0x90,
+ 0x35, 0x9d, 0x43, 0x8b, 0xb5, 0x65, 0x73, 0xbc, 0x4e, 0x51, 0x8e, 0xcc,
+ 0x38, 0x11, 0x43, 0xfc, 0x77, 0xd4, 0x25, 0xa6, 0x3d, 0x9c, 0xcf, 0xba,
+ 0xe9, 0x93, 0xad, 0x19, 0x73, 0xd4, 0x9f, 0x9d, 0x9e, 0x3d, 0xd9, 0xf2,
+ 0xd9, 0xb6, 0x24, 0xd9, 0x92, 0x4b, 0x4c, 0x21, 0x4e, 0x6c, 0x13, 0x31,
+ 0x7b, 0x2a, 0x6e, 0x18, 0xf2, 0x1f, 0xfa, 0x16, 0xc7, 0x42, 0x45, 0x43,
+ 0xc2, 0x05, 0x5f, 0x84, 0x5f, 0xd6, 0x81, 0x4e, 0xbd, 0xca, 0x4b, 0xee,
+ 0x60, 0x2a, 0xef, 0xd2, 0x5a, 0x98, 0xaf, 0x0e, 0xad, 0x53, 0x52, 0xbd,
+ 0xfb, 0x48, 0x24, 0x68, 0x33, 0x97, 0x13, 0x31, 0x69, 0xd0, 0xcb, 0xa4,
+ 0x9d, 0x60, 0xeb, 0x85, 0x81, 0x05, 0xb1, 0xef, 0x9e, 0x84, 0xd7, 0x58,
+ 0x13, 0x2b, 0x40, 0x5b, 0xe0, 0x42, 0x68, 0xe4, 0xd2, 0xa2, 0x5d, 0xcb,
+ 0xcc, 0x8d, 0x83, 0xa5, 0xa5, 0x67, 0x2d, 0x7f, 0x76, 0x4b, 0x6d, 0x96,
+ 0x12, 0x29, 0x69, 0xf2, 0xfe, 0x64, 0x78, 0xe1, 0x3b, 0xfa, 0x51, 0xae,
+ 0x39, 0x40, 0x40, 0xb5, 0x19, 0x63, 0xbc, 0x88, 0xf1, 0xc9, 0xf1, 0xf0,
+ 0x62, 0x10, 0x63, 0x86, 0xde, 0x37, 0x62, 0x15, 0xb8, 0x5d, 0x3f, 0xf1,
+ 0xd6, 0x16, 0x9f, 0xa6, 0xa9, 0xe7, 0x28, 0x06, 0x87, 0xf5, 0xf2, 0xca,
+ 0x4f, 0x32, 0xed, 0x36, 0x67, 0xba, 0xf8, 0x05, 0xa3, 0x9b, 0x04, 0x19,
+ 0xa5, 0x6e, 0xfc, 0x7a, 0x31, 0xea, 0x7b, 0x14, 0x4d, 0xac, 0xef, 0xa0,
+ 0x1e, 0x88, 0xd9, 0xbd, 0xe6, 0x86, 0xfa, 0x14, 0x1a, 0x02, 0x9b, 0xbc,
+ 0xa1, 0x30, 0x3f, 0x42, 0xad, 0xd5, 0x72, 0x48, 0x8e, 0x93, 0x0c, 0x74,
+ 0x7e, 0xf0, 0x04, 0xd0, 0xb3, 0x8f, 0xde, 0x54, 0x34, 0x15, 0x9d, 0x99,
+ 0x94, 0x12, 0x52, 0x6d, 0xa8, 0x23, 0x85, 0x56, 0xec, 0x96, 0x5b, 0x15,
+ 0x4c, 0x0a, 0xb7, 0xa0, 0xdb, 0x74, 0xb5, 0xb1, 0xbc, 0xe1, 0x13, 0xb0,
+ 0xdd, 0x5e, 0xca, 0x30, 0x98, 0x4f, 0x98, 0x60, 0xab, 0x6e, 0x33, 0x6c,
+ 0x71, 0x0a, 0x25, 0x09, 0x1d, 0x2e, 0x35, 0x40, 0xaa, 0xdb, 0xb2, 0x95,
+ 0x64, 0xc7, 0x49, 0x0b, 0xd3, 0xd2, 0xff, 0x81, 0x81, 0x52, 0x88, 0x66,
+ 0xf4, 0x96, 0x51, 0xbf, 0x84, 0xdb, 0x48, 0xcb, 0x3e, 0x7c, 0x30, 0xa6,
+ 0xad, 0x9d, 0x2d, 0x99, 0x1d, 0x29, 0x06, 0x2f, 0x63, 0x25, 0x2c, 0xac,
+ 0x8a, 0x4d, 0xac, 0xc9, 0x46, 0x58, 0xc7, 0x22, 0xff, 0x3b, 0x22, 0xe8,
+ 0xd0, 0x5d, 0x2f, 0x01, 0xff, 0xac, 0x52, 0x76, 0x6f, 0x72, 0x54, 0x2c,
+ 0x07, 0x2b, 0x87, 0x16, 0xce, 0xa1, 0xa9, 0xe0, 0x13, 0xfb, 0x29, 0x86,
+ 0x6c, 0x5e, 0x96, 0x4d, 0xe5, 0xe7, 0x62, 0xef, 0xb6, 0x99, 0xd3, 0x40,
+ 0xa2, 0x28, 0x3c, 0x27, 0xe6, 0x4a, 0xda, 0x46, 0x32, 0x44, 0xac, 0xf4,
+ 0x7a, 0xea, 0xc1, 0x26, 0x24, 0x6f, 0x5f, 0xb1, 0xbd, 0x95, 0xa4, 0x50,
+ 0x6c, 0xbe, 0x39, 0x3f, 0x7d, 0xd7, 0xbf, 0x38, 0x45, 0x7d, 0x5d, 0x29,
+ 0x6a, 0x90, 0x44, 0x34, 0x4e, 0xad, 0x90, 0xee, 0x95, 0x09, 0x6e, 0xa3,
+ 0x4e, 0x36, 0xeb, 0x2d, 0xad, 0xe2, 0x8b, 0x4b, 0x65, 0xee, 0xd7, 0x55,
+ 0x0f, 0x88, 0xd2, 0x0b, 0xd6, 0x45, 0x52, 0x54, 0x64, 0x23, 0x0f, 0xd1,
+ 0xd8, 0x0b, 0x37, 0xe0, 0x7d, 0x95, 0xdd, 0xa3, 0x45, 0x7d, 0x9f, 0x48,
+ 0xa6, 0x0a, 0xd1, 0x21, 0xc1, 0x29, 0x13, 0x3a, 0x71, 0x6d, 0xb1, 0x4f,
+ 0x4b, 0x81, 0x40, 0x00, 0x7e, 0x06, 0x84, 0x37, 0xa5, 0x39, 0xc0, 0x69,
+ 0x55, 0x95, 0xb7, 0x7a, 0x75, 0x49, 0x26, 0x99, 0xe9, 0x3a, 0x2d, 0x52,
+ 0x75, 0xbf, 0x34, 0x5f, 0x5c, 0xb8, 0x50, 0xb4, 0x58, 0xe9, 0x4a, 0x05,
+ 0xf0, 0x59, 0x3b, 0x87, 0x57, 0x31, 0x63, 0xfd, 0xa6, 0x5a, 0xd4, 0x61,
+ 0xe5, 0x63, 0xf1, 0x0e, 0x9e, 0x90, 0xa0, 0x24, 0x94, 0x99, 0x7b, 0xa1,
+ 0x27, 0x64, 0x4d, 0x94, 0xd2, 0x8f, 0xa2, 0x32, 0x16, 0xce, 0x0d, 0x2f,
+ 0x0d, 0x63, 0x1d, 0xff, 0x12, 0x9c, 0x61, 0x61, 0x71, 0x24, 0x9d, 0x7e,
+ 0x3a, 0x75, 0x48, 0x33, 0x01, 0x59, 0x50, 0x41, 0x74, 0xda, 0xdb, 0x8a,
+ 0x05, 0x03, 0x4f, 0x0b, 0xc4, 0x01, 0xfd, 0x34, 0xd0, 0x26, 0x95, 0x77,
+ 0x21, 0xa7, 0x8c, 0xd7, 0xc9, 0x62, 0x8c, 0x65, 0xa2, 0xc0, 0x0c, 0x55,
+ 0x13, 0x1b, 0x31, 0x25, 0x9c, 0x26, 0x8d, 0x52, 0xd3, 0x0e, 0x66, 0xc7,
+ 0x76, 0x76, 0x57, 0xcf, 0x4a, 0xf8, 0x31, 0x57, 0x1f, 0x85, 0xd4, 0x49,
+ 0x2a, 0x15, 0x93, 0xb1, 0x6a, 0x59, 0x05, 0x05, 0x06, 0x8b, 0xcb, 0x52,
+ 0x8b, 0x34, 0x86, 0x02, 0x8b, 0xc8, 0x79, 0xc1, 0x46, 0x2a, 0xf8, 0x0c,
+ 0x22, 0xcd, 0xa2, 0x0d, 0x8c, 0xd8, 0xe8, 0xd7, 0xe4, 0xd9, 0xec, 0xb4,
+ 0xb7, 0xb5, 0xc2, 0x8b, 0xb8, 0x50, 0x44, 0xa6, 0xb7, 0x7a, 0xad, 0x05,
+ 0x89, 0xaf, 0xdc, 0x71, 0x2b, 0x67, 0x96, 0x23, 0xe8, 0xde, 0x8c, 0xcb,
+ 0xb9, 0x06, 0xa7, 0x13, 0x49, 0x01, 0x72, 0x71, 0x25, 0x84, 0x99, 0x8b,
+ 0x88, 0xa7, 0xd4, 0x96, 0x8f, 0x6a, 0x12, 0xfd, 0x68, 0xb2, 0xa9, 0x29,
+ 0x24, 0x16, 0xc3, 0x7c, 0x22, 0xbf, 0xda, 0xb7, 0x89, 0x2e, 0x24, 0xd5,
+ 0x3a, 0xcd, 0x3d, 0xf9, 0xe1, 0x87, 0x76, 0xc1, 0xc7, 0xad, 0x65, 0xc9,
+ 0xb5, 0x02, 0x66, 0x9d, 0x94, 0x0a, 0x3f, 0x43, 0x87, 0x03, 0x40, 0xbe,
+ 0x6e, 0x3b, 0xa2, 0xb3, 0x06, 0xf6, 0x8f, 0xfd, 0x42, 0x12, 0x11, 0x32,
+ 0x46, 0xe0, 0xb5, 0xa2, 0xb4, 0x5b, 0x91, 0x76, 0xa4, 0xdd, 0x1e, 0x47,
+ 0xc0, 0x28, 0x10, 0xb9, 0x1a, 0x1f, 0x67, 0xd7, 0x37, 0x90, 0x6c, 0xfe,
+ 0x74, 0xd5, 0x2d, 0xc4, 0xe7, 0x35, 0x79, 0x81, 0xf9, 0x3e, 0x58, 0x5d,
+ 0x95, 0xd2, 0xa6, 0xf0, 0x08, 0x46, 0x0e, 0x37, 0x3e, 0xd3, 0x57, 0x13,
+ 0xde, 0x69, 0x5c, 0x65, 0xe2, 0x6f, 0xd0, 0x72, 0x03, 0x41, 0xb0, 0x8f,
+ 0x48, 0x00, 0xf8, 0xf0, 0x00, 0x97, 0x9e, 0x7a, 0xe7, 0xc5, 0x51, 0x39,
+ 0x75, 0x56, 0x4c, 0xd0, 0x9b, 0x91, 0x32, 0xd8, 0x25, 0xd8, 0xbb, 0x50,
+ 0xe5, 0x01, 0x8c, 0x34, 0x25, 0x87, 0x13, 0xa5, 0x5a, 0x21, 0xdf, 0x38,
+ 0x7f, 0xd1, 0x93, 0x3b, 0xf0, 0x63, 0x4c, 0xb4, 0x0b, 0x62, 0x91, 0x2a,
+ 0x15, 0x26, 0xb4, 0x2e, 0x44, 0x1b, 0x48, 0xe9, 0x89, 0x5a, 0xfc, 0x84,
+ 0x7c, 0x7a, 0x1a, 0xcb, 0x64, 0x85, 0x1a, 0x79, 0xad, 0xb6, 0x12, 0x71,
+ 0x70, 0xf1, 0xe8, 0x91, 0x25, 0xa4, 0x05, 0xbc, 0x53, 0x8e, 0xf2, 0x06,
+ 0x56, 0x43, 0xdf, 0x98, 0xa5, 0x7d, 0x3c, 0x56, 0x2f, 0x43, 0x05, 0x08,
+ 0xa9, 0x29, 0x0a, 0x9f, 0x32, 0x4d, 0xbb, 0x3f, 0x67, 0xea, 0xdd, 0xb6,
+ 0x59, 0xd4, 0x82, 0x50, 0x17, 0xbe, 0xef, 0x6f, 0x8e, 0x2e, 0xba, 0x47,
+ 0xcb, 0x0f, 0xf0, 0x20, 0x5f, 0xd9, 0xfc, 0xfb, 0xec, 0xc3, 0xc5, 0x96,
+ 0x2b, 0x6b, 0x2d, 0xdb, 0xd5, 0x47, 0xb7, 0x4a, 0xe6, 0x4b, 0x58, 0xaa,
+ 0x8d, 0x73, 0x84, 0x45, 0x4e, 0x41, 0x36, 0xd8, 0x93, 0x41, 0x5e, 0x96,
+ 0x27, 0x3b, 0xbb, 0xc6, 0x92, 0xda, 0xd9, 0x43, 0x7d, 0xcb, 0x27, 0x3b,
+ 0x4f, 0x6c, 0x5a, 0xa5, 0x3e, 0x15, 0x5c, 0x0b, 0x13, 0x7e, 0x11, 0x4e,
+ 0x13, 0xec, 0xfb, 0x27, 0x77, 0x77, 0xf8, 0x71, 0xaf, 0xcb, 0x26, 0xa2,
+ 0x24, 0xb0, 0x3e, 0xa5, 0x7a, 0xfc, 0xe6, 0xf7, 0x66, 0x1c, 0xe1, 0x97,
+ 0x45, 0xc1, 0xb9, 0x43, 0xa8, 0x20, 0x4a, 0x79, 0xc8, 0x83, 0xe5, 0x95,
+ 0x34, 0xbc, 0xb2, 0x40, 0xc2, 0xb8, 0xe2, 0x97, 0xc2, 0x31, 0xdb, 0xc5,
+ 0xcf, 0x61, 0x97, 0xac, 0xe6, 0x40, 0x38, 0xd3, 0x33, 0xc2, 0x00, 0x61,
+ 0x66, 0xe1, 0xce, 0xcd, 0x91, 0xad, 0xd1, 0x26, 0x03, 0x31, 0x57, 0x9d,
+ 0x08, 0x24, 0x07, 0xc3, 0x0d, 0x1d, 0x11, 0x24, 0x01, 0xf7, 0x29, 0x9e,
+ 0x6f, 0x4e, 0x05, 0x66, 0x58, 0xff, 0xba, 0x27, 0x31, 0x7d, 0xfe, 0xd7,
+ 0x93, 0xf6, 0x5d, 0x79, 0x95, 0x17, 0x7d, 0x6d, 0xf4, 0xa5, 0xfc, 0x25,
+ 0xf0, 0x57, 0xa2, 0xb0, 0x21, 0xf4, 0x63, 0x70, 0xd1, 0x6f, 0xb5, 0x7c,
+ 0x28, 0x68, 0xc3, 0x76, 0x4c, 0xf4, 0x14, 0x29, 0x19, 0xcb, 0x42, 0x7a,
+ 0xa5, 0xf0, 0x18, 0x2c, 0x2b, 0x36, 0xa4, 0xda, 0xa0, 0x7c, 0xc0, 0x0d,
+ 0x1d, 0xee, 0x39, 0xe9, 0x80, 0x4b, 0x43, 0xb4, 0xba, 0x71, 0x34, 0x7c,
+ 0x57, 0x0b, 0xf0, 0x91, 0xee, 0x57, 0x0d, 0xab, 0x4b, 0x1f, 0x3b, 0xdd,
+ 0x49, 0x0e, 0x1a, 0x14, 0xa0, 0x84, 0x2f, 0x2c, 0x34, 0x53, 0x69, 0x2a,
+ 0x7a, 0x3c, 0x15, 0x28, 0xec, 0x4a, 0xd4, 0xfc, 0x8a, 0x87, 0x6b, 0xcd,
+ 0x04, 0xbb, 0xac, 0x99, 0x3c, 0x52, 0x22, 0xea, 0x91, 0x3b, 0x4d, 0xc2,
+ 0xe9, 0xde, 0x38, 0xb5, 0xbf, 0xe6, 0x24, 0xd2, 0xe5, 0x4a, 0xaa, 0xbf,
+ 0x94, 0x9f, 0x7c, 0xda, 0xc3, 0xdf, 0x9e, 0xed, 0xbc, 0xe0, 0x15, 0x3d,
+ 0x3e, 0xba, 0x78, 0xd3, 0x75, 0xe8, 0x55, 0x66, 0x43, 0xf1, 0x7f, 0xfb,
+ 0x59, 0x5a, 0x5d, 0x1b, 0x03, 0x83, 0xc8, 0x17, 0xfa, 0x44, 0xf0, 0xdd,
+ 0xdf, 0xd9, 0x89, 0x05, 0xd8, 0x7f, 0xc7, 0x74, 0xd3, 0x27, 0x4f, 0xdb,
+ 0xb1, 0x17, 0x52, 0xeb, 0xfb, 0x34, 0xdd, 0xcb, 0x69, 0x02, 0xdb, 0xdb,
+ 0x2b, 0x55, 0xed, 0x59, 0x1e, 0xd7, 0xda, 0xec, 0xf2, 0x7d, 0xcb, 0x37,
+ 0x69, 0xf7, 0x43, 0x8c, 0xf8, 0xbe, 0x7b, 0x57, 0x29, 0x88, 0xc4, 0x5c,
+ 0xf4, 0xb8, 0x95, 0x9a, 0xfb, 0xad, 0x84, 0x6b, 0x56, 0x71, 0x69, 0x99,
+ 0xc6, 0x95, 0x10, 0x8e, 0xe6, 0xdc, 0xd5, 0x92, 0x6f, 0x50, 0x65, 0x44,
+ 0xe2, 0xc2, 0x8a, 0x9f, 0x94, 0xe8, 0x78, 0x98, 0x88, 0x06, 0x53, 0x50,
+ 0x8d, 0xe7, 0x92, 0x7f, 0xc2, 0xff, 0xa6, 0xcb, 0xb8, 0x05, 0x74, 0xdc,
+ 0x7b, 0x16, 0x99, 0x38, 0x5c, 0xd9, 0xbf, 0x72, 0xe2, 0x9c, 0x7a, 0xc4,
+ 0x3e, 0x3c, 0xae, 0x0a, 0xa2, 0x14, 0x81, 0x21, 0x41, 0x48, 0xad, 0x75,
+ 0x24, 0x7f, 0xf1, 0x58, 0x68, 0xb6, 0x07, 0xab, 0x08, 0xad, 0xdc, 0x5b,
+ 0xbf, 0x72, 0x2c, 0x3d, 0x47, 0xab, 0x4e, 0xf7, 0xc7, 0x4c, 0x8a, 0xc8,
+ 0xc0, 0xd7, 0x80, 0xc8, 0x53, 0x37, 0xd1, 0x3c, 0x9b, 0x67, 0x18, 0xbc,
+ 0x47, 0x12, 0xe1, 0x6f, 0x6e, 0x6b, 0xa7, 0x92, 0xad, 0xa8, 0x89, 0x14,
+ 0xe6, 0x1a, 0xcd, 0xe7, 0x94, 0x3b, 0x5c, 0x47, 0x7d, 0x2d, 0xad, 0x6a,
+ 0xd1, 0x98, 0x4c, 0x75, 0xcb, 0xf6, 0xe4, 0x22, 0x93, 0xd7, 0x75, 0x8e,
+ 0xad, 0xbc, 0x4a, 0xc3, 0x7c, 0x3a, 0x32, 0xd9, 0xd1, 0x86, 0x5d, 0xac,
+ 0xd2, 0x25, 0xe5, 0x71, 0xe3, 0xe5, 0x12, 0x05, 0xc0, 0xeb, 0x47, 0x92,
+ 0xfa, 0x7b, 0x9b, 0xb1, 0x69, 0xba, 0xe5, 0x37, 0xbf, 0x3b, 0x7f, 0xf3,
+ 0x57, 0xb5, 0xbf, 0xa1, 0x97, 0x86, 0xd6, 0x70, 0xa7, 0xc3, 0xa3, 0xcc,
+ 0x03, 0x6d, 0x49, 0xfe, 0x68, 0x6b, 0xde, 0xdd, 0x3f, 0x22, 0xf8, 0x5e,
+ 0xe6, 0x49, 0x4c, 0x36, 0xa9, 0x98, 0xaf, 0x79, 0x6c, 0x28, 0x46, 0xdd,
+ 0x93, 0xc1, 0x33, 0xf8, 0x44, 0xde, 0x1c, 0x3e, 0x7b, 0xb2, 0xb7, 0x6b,
+ 0xec, 0xd6, 0xcd, 0x8e, 0xb4, 0xd8, 0x5a, 0x7b, 0xd4, 0x6c, 0xdb, 0xf5,
+ 0xce, 0xee, 0xe6, 0xb4, 0xf7, 0x36, 0x8f, 0x7e, 0x38, 0x7b, 0xdf, 0x1e,
+ 0x1f, 0x8f, 0x28, 0xc8, 0xad, 0x5c, 0x36, 0x42, 0xa7, 0x0b, 0xb4, 0xda,
+ 0x57, 0xec, 0x19, 0xca, 0x63, 0x86, 0x59, 0xb3, 0xeb, 0x6f, 0xaa, 0x9c,
+ 0xb4, 0xdc, 0x75, 0x9a, 0x90, 0xf5, 0x93, 0xb2, 0x98, 0x98, 0xab, 0xff,
+ 0x94, 0x48, 0x7f, 0x32, 0xc2, 0x80, 0x3c, 0x38, 0xba, 0xe5, 0xc7, 0xe4,
+ 0x5d, 0x0f, 0x47, 0xa5, 0x08, 0xa1, 0x08, 0xef, 0xf0, 0x43, 0xd0, 0x2d,
+ 0x52, 0x5a, 0x34, 0xe7, 0x9b, 0x2c, 0x24, 0x97, 0x07, 0xe5, 0x27, 0xda,
+ 0xa7, 0xed, 0x0e, 0xd5, 0x0e, 0xe0, 0xf5, 0x79, 0x09, 0xa7, 0xf6, 0xb2,
+ 0x78, 0x08, 0x4b, 0x4b, 0x8d, 0x88, 0xb0, 0x9f, 0x68, 0x53, 0x5d, 0xfb,
+ 0x5b, 0x5e, 0x09, 0x59, 0xd0, 0x81, 0x71, 0xbc, 0x83, 0x34, 0xb7, 0x88,
0xcc, 0xc5, 0x63, 0xce, 0xb2, 0xc8, 0x2d, 0x7c, 0x59, 0x32, 0xb0, 0x08,
- 0x9d, 0x49, 0x79, 0xa4, 0xbd, 0x36, 0xeb, 0x51, 0xcc, 0x0f, 0x8e, 0x58,
- 0x2f, 0x2a, 0xf4, 0xa4, 0x45, 0x9b, 0x22, 0x8e, 0xf2, 0x20, 0xd9, 0xfe,
- 0xc9, 0xee, 0x50, 0x76, 0xcd, 0x28, 0x89, 0xcf, 0x9f, 0x84, 0xf7, 0x91,
- 0xd6, 0x7c, 0x15, 0xed, 0xae, 0xf2, 0x75, 0x00, 0xbe, 0xa4, 0x45, 0xf1,
- 0xed, 0x45, 0x63, 0x11, 0xb1, 0xb0, 0x14, 0x47, 0x26, 0xc4, 0x3e, 0xeb,
- 0xc4, 0x26, 0xfc, 0x58, 0x04, 0xea, 0xbb, 0x52, 0x34, 0x42, 0x22, 0x0d,
- 0xa1, 0xa9, 0xe2, 0x45, 0x27, 0x96, 0x87, 0x27, 0x56, 0x04, 0x24, 0xba,
- 0x46, 0xa8, 0x0d, 0x4f, 0xb4, 0x36, 0xdf, 0xb3, 0x17, 0x91, 0xcd, 0xf7,
- 0xfe, 0xf4, 0xe2, 0x68, 0x5f, 0x88, 0x41, 0x34, 0x8d, 0x5e, 0x0d, 0x05,
- 0xc6, 0x10, 0x71, 0xf5, 0x57, 0x4e, 0x27, 0xa1, 0x4b, 0x56, 0x57, 0xbd,
- 0x17, 0x3b, 0xf2, 0x00, 0xf3, 0xd2, 0x31, 0x61, 0x4f, 0x6f, 0x13, 0xa0,
- 0x4c, 0x14, 0x57, 0x82, 0x24, 0x41, 0xb1, 0x0d, 0x78, 0x3f, 0xc5, 0x4a,
- 0xdb, 0x5f, 0x72, 0xe6, 0x2d, 0x92, 0x59, 0xf9, 0xbe, 0x0d, 0xb6, 0x10,
- 0x5f, 0x65, 0x6c, 0x72, 0x59, 0xc4, 0xd5, 0x98, 0x2a, 0xb0, 0x85, 0x65,
- 0xc3, 0x10, 0xa5, 0x7b, 0x2b, 0xc5, 0x67, 0x61, 0x91, 0x58, 0x7a, 0xae,
- 0x55, 0x57, 0x9c, 0x0b, 0x26, 0x76, 0x0f, 0x95, 0x98, 0x67, 0xe4, 0x07,
- 0x5c, 0x42, 0x1c, 0x00, 0x4f, 0xa0, 0x3b, 0x4f, 0xba, 0x4f, 0xcc, 0x39,
- 0x52, 0x3b, 0x8d, 0xec, 0x4a, 0x6b, 0xa4, 0x48, 0xfa, 0x7b, 0x18, 0xc2,
- 0x86, 0x08, 0x6c, 0x3b, 0x46, 0x5c, 0x91, 0x64, 0x55, 0xd7, 0x80, 0xb0,
- 0xa0, 0x99, 0xd5, 0xa0, 0x25, 0xf3, 0x86, 0xc6, 0x19, 0xdc, 0x70, 0x5d,
- 0x78, 0x9d, 0xa8, 0x93, 0x75, 0xca, 0xec, 0x1c, 0xd5, 0x8b, 0x6a, 0xb2,
- 0x98, 0x19, 0xc9, 0xe5, 0x03, 0xc6, 0xa1, 0xf9, 0xc1, 0xaa, 0x05, 0x28,
- 0x23, 0x12, 0x2b, 0x78, 0xb6, 0xd3, 0x6a, 0x6c, 0x80, 0x81, 0xfb, 0xeb,
- 0x6f, 0x9e, 0xe9, 0xef, 0x5a, 0x57, 0x6c, 0x8e, 0xd4, 0x38, 0xa1, 0x82,
- 0xf9, 0xfd, 0x82, 0x4d, 0xb3, 0x9e, 0xac, 0xd4, 0x4a, 0xd8, 0xd9, 0x3b,
- 0x0d, 0x00, 0xd3, 0x43, 0x79, 0xa1, 0x88, 0x22, 0xd6, 0x97, 0x38, 0x9e,
- 0xa7, 0x94, 0x77, 0xe6, 0x7c, 0x96, 0x14, 0x47, 0x77, 0x61, 0xf0, 0x48,
- 0x85, 0x5d, 0x4a, 0x53, 0x4a, 0x12, 0x9f, 0xbf, 0x84, 0x9c, 0xfa, 0x74,
- 0x36, 0x64, 0x79, 0x68, 0xee, 0xe1, 0x77, 0x1b, 0x51, 0xf6, 0x5f, 0xf2,
- 0xb7, 0x72, 0x24, 0xce, 0x18, 0xb2, 0x1f, 0x63, 0x54, 0x00, 0x97, 0x00,
- 0x3b, 0x2f, 0xcc, 0x5e, 0x9b, 0x2c, 0xd8, 0xbf, 0x4a, 0x1d, 0x12, 0xe0,
- 0x2c, 0x97, 0x8c, 0xa4, 0xd0, 0x47, 0x72, 0xc5, 0xc4, 0xe5, 0x13, 0xf6,
- 0xd9, 0x30, 0xd7, 0x6d, 0x98, 0xce, 0xb6, 0xd7, 0x4d, 0xf8, 0x4e, 0xc7,
- 0xe4, 0x15, 0x31, 0x8d, 0x4b, 0x62, 0x25, 0xb3, 0xf5, 0x38, 0x84, 0x71,
- 0x3a, 0x6e, 0x16, 0x32, 0xf1, 0xdd, 0xde, 0x95, 0xea, 0x2d, 0x35, 0xef,
- 0x82, 0x47, 0x16, 0xf9, 0xc1, 0x63, 0xb3, 0xff, 0xd2, 0xf1, 0xbd, 0xea,
- 0x0c, 0xee, 0x8a, 0x15, 0x32, 0x28, 0xc7, 0x3a, 0x1b, 0x0c, 0xd6, 0x76,
- 0x82, 0xe2, 0x9e, 0x79, 0xfd, 0xeb, 0x69, 0xdf, 0x1f, 0x6f, 0xad, 0xf8,
- 0xc5, 0x3b, 0xd8, 0xf9, 0xac, 0xa4, 0x55, 0xad, 0x03, 0x9f, 0x35, 0x29,
- 0xcd, 0xf2, 0xc3, 0x59, 0xbc, 0x8d, 0xcf, 0xb7, 0xca, 0x31, 0x42, 0x90,
- 0xcb, 0x50, 0x42, 0x04, 0x22, 0xe2, 0x5a, 0xb8, 0xe2, 0x38, 0xd4, 0x26,
- 0xde, 0xc9, 0x57, 0xa4, 0x7e, 0x38, 0x44, 0x96, 0xe6, 0x9b, 0xb0, 0xb5,
- 0xf9, 0x34, 0xd9, 0x04, 0x39, 0xd2, 0xb3, 0x17, 0xcf, 0x9e, 0x6e, 0x25,
- 0x1d, 0xd8, 0xd8, 0x56, 0xac, 0x52, 0x22, 0x4e, 0xdc, 0xa2, 0xb6, 0xe9,
- 0x2c, 0xb3, 0x9c, 0x2a, 0x6a, 0x71, 0xb6, 0xaf, 0x38, 0x38, 0x73, 0x2e,
- 0xc0, 0x41, 0xae, 0x76, 0x54, 0xb1, 0x61, 0xd1, 0x1c, 0x20, 0x09, 0xe8,
- 0x63, 0x19, 0xbf, 0x6c, 0x4b, 0x9b, 0x5b, 0x11, 0xee, 0x12, 0x39, 0x98,
- 0x1a, 0x18, 0xaa, 0x9a, 0xb2, 0x03, 0x6f, 0x21, 0x3f, 0x31, 0x9a, 0x37,
- 0xc8, 0x70, 0x61, 0x28, 0xab, 0xa2, 0x80, 0x5c, 0x53, 0x25, 0xd7, 0xd2,
- 0xbb, 0x1d, 0xd8, 0x43, 0xc2, 0xa9, 0x38, 0x7c, 0xfd, 0xc4, 0x68, 0x2e,
- 0xcd, 0x95, 0x88, 0xeb, 0x91, 0xae, 0xb3, 0xf6, 0x3c, 0x32, 0x6b, 0x1a,
- 0xed, 0x14, 0x7d, 0x5f, 0xa0, 0x52, 0xb2, 0x26, 0x64, 0x41, 0x06, 0x89,
- 0x9f, 0x52, 0x5f, 0x5e, 0xe1, 0xcf, 0x48, 0xdb, 0x98, 0xa8, 0xd3, 0xdb,
- 0xd5, 0x91, 0x16, 0x78, 0xe7, 0xb2, 0xcc, 0x7d, 0x75, 0x86, 0xa4, 0x9a,
- 0x62, 0xdc, 0xea, 0xd9, 0xd2, 0x74, 0x04, 0xdd, 0x6d, 0x9a, 0xcb, 0xdf,
- 0xcd, 0x42, 0xd0, 0xbf, 0xdb, 0x5d, 0x19, 0x26, 0x20, 0xf1, 0x57, 0x3b,
- 0x13, 0xb1, 0xa4, 0xf7, 0xb0, 0xa7, 0x98, 0x75, 0x07, 0xce, 0x94, 0x7e,
- 0x48, 0x20, 0x92, 0x6c, 0xa2, 0xc3, 0xdb, 0xdb, 0x5b, 0x0f, 0x77, 0x5a,
- 0x9e, 0x7c, 0xa8, 0x93, 0x67, 0xec, 0xde, 0xf0, 0xf8, 0xa8, 0x2f, 0xbd,
- 0x3e, 0xd0, 0x37, 0x73, 0x80, 0x98, 0x69, 0x03, 0x31, 0x06, 0x94, 0x21,
- 0x34, 0x28, 0x88, 0x62, 0xb4, 0x93, 0x48, 0xae, 0x83, 0xe0, 0xd3, 0x78,
- 0x80, 0xed, 0xb1, 0x8b, 0xf1, 0xcb, 0x7c, 0x40, 0x22, 0x42, 0x08, 0x24,
- 0x05, 0x82, 0x96, 0x03, 0xb3, 0x09, 0x43, 0xad, 0xd3, 0x75, 0xcb, 0x1b,
- 0x1c, 0x0c, 0xdd, 0xbc, 0x97, 0x78, 0xee, 0x76, 0x3e, 0x85, 0xea, 0x89,
- 0x60, 0xb7, 0x7c, 0x04, 0xca, 0xae, 0x4f, 0xab, 0x34, 0x92, 0x0a, 0xac,
- 0x21, 0x9d, 0x22, 0x3f, 0xe9, 0xd5, 0xd1, 0x0d, 0x77, 0xa7, 0xef, 0x2a,
- 0x95, 0x06, 0x8d, 0x44, 0xfd, 0xe4, 0xc6, 0xcc, 0x5c, 0x86, 0x5c, 0xe9,
- 0x55, 0x92, 0xdc, 0x6d, 0x62, 0x5c, 0x5a, 0x85, 0xde, 0x77, 0xf4, 0xcd,
- 0xee, 0x6f, 0x2e, 0x68, 0x8c, 0x54, 0xfe, 0x11, 0xff, 0xb4, 0x35, 0x99,
- 0x3d, 0x3e, 0xa3, 0x48, 0xa3, 0x8f, 0x69, 0xec, 0x28, 0xbf, 0x14, 0xa6,
- 0xea, 0xda, 0x39, 0x5c, 0x09, 0xc6, 0xb3, 0x68, 0x3c, 0xf8, 0x7b, 0x05,
- 0x8f, 0x17, 0xde, 0xb3, 0xea, 0x71, 0xd3, 0x46, 0xdb, 0x1e, 0x87, 0xcf,
- 0xda, 0x1e, 0x07, 0x9b, 0x75, 0xbc, 0x84, 0xe0, 0x09, 0x30, 0xcc, 0x3a,
- 0x79, 0xaf, 0x8f, 0x25, 0x9b, 0xc3, 0xb3, 0xf7, 0x47, 0x5f, 0x9f, 0x6e,
- 0x3d, 0xe4, 0xa9, 0x6c, 0xcb, 0x7f, 0x3b, 0x2e, 0x60, 0xf3, 0x2a, 0xc2,
- 0xf5, 0x71, 0xf7, 0x61, 0xa3, 0x7c, 0x3d, 0x1c, 0xf6, 0x0f, 0xce, 0x8e,
- 0x51, 0x2b, 0x6b, 0x68, 0xfe, 0x5c, 0xc2, 0xe4, 0x3a, 0x00, 0x8f, 0x70,
- 0xff, 0x3b, 0x49, 0xf5, 0xab, 0x15, 0x2e, 0x08, 0x3f, 0x20, 0xca, 0x67,
- 0x43, 0x79, 0x10, 0x25, 0xcf, 0xe6, 0x6e, 0xa3, 0xf9, 0xae, 0xe1, 0x73,
- 0x76, 0xbc, 0x8d, 0x4f, 0xd1, 0x27, 0x31, 0xa0, 0x25, 0x4e, 0x84, 0x45,
- 0x58, 0x29, 0x8b, 0x34, 0x1f, 0x80, 0x4d, 0x21, 0xa0, 0x15, 0xbb, 0x6b,
- 0xec, 0x3f, 0xba, 0x4e, 0x5c, 0xe0, 0x2e, 0x9e, 0x29, 0x41, 0x0e, 0x31,
- 0x82, 0xc2, 0x2b, 0xed, 0x5a, 0xc7, 0x01, 0x07, 0x43, 0x8d, 0xb9, 0x75,
- 0x50, 0xf5, 0x78, 0xa8, 0x51, 0xd6, 0xae, 0x6b, 0x64, 0xa3, 0xbf, 0x48,
- 0x92, 0xfd, 0x0d, 0x8e, 0x2e, 0x65, 0x45, 0xb9, 0xb8, 0xba, 0x66, 0x33,
- 0xab, 0xed, 0x8b, 0x68, 0x95, 0xcc, 0xb3, 0xcc, 0xcf, 0xa6, 0x93, 0xc1,
- 0x16, 0xc4, 0x3b, 0xaa, 0xf7, 0x54, 0x19, 0x05, 0x89, 0x58, 0xbd, 0x61,
- 0xf8, 0xc5, 0xe4, 0x5f, 0x52, 0x64, 0x66, 0x85, 0x06, 0x32, 0xe2, 0x00,
- 0x2a, 0x9c, 0x69, 0x45, 0x33, 0x9d, 0xc9, 0x5f, 0xd3, 0xe2, 0x1e, 0x4e,
- 0x53, 0xf1, 0xe2, 0x23, 0x5d, 0xcf, 0xee, 0xe9, 0xf6, 0x46, 0x6f, 0xaa,
- 0x31, 0xd7, 0x23, 0x7f, 0xa5, 0x15, 0xd0, 0x57, 0xe7, 0x59, 0xa0, 0x12,
- 0xee, 0xcc, 0x5c, 0xd3, 0x30, 0xf0, 0xfa, 0x45, 0x4f, 0x5b, 0xe9, 0x19,
- 0xa3, 0x58, 0xc2, 0x65, 0xa2, 0x08, 0xcb, 0x26, 0x88, 0x88, 0x22, 0xd4,
- 0x92, 0xda, 0x34, 0xe6, 0x43, 0x39, 0x5d, 0x70, 0x4d, 0x76, 0x72, 0x8d,
- 0x52, 0x2e, 0xc4, 0x16, 0xb6, 0xae, 0x84, 0x31, 0x4d, 0xab, 0x89, 0x07,
- 0x45, 0x4d, 0x92, 0xc3, 0x10, 0xb6, 0xed, 0x0a, 0x9d, 0x0d, 0x5c, 0x20,
- 0x80, 0xa3, 0x89, 0xe2, 0xa5, 0xa0, 0x99, 0xe5, 0xb6, 0xd0, 0xd4, 0x1c,
- 0x00, 0xa5, 0x9b, 0x32, 0x5e, 0x6e, 0xd7, 0xac, 0x9f, 0xae, 0x55, 0x6b,
- 0x76, 0xd4, 0xc7, 0x4e, 0xa2, 0xdb, 0xaf, 0xad, 0xe8, 0x69, 0x8d, 0xd1,
- 0xd4, 0x9d, 0x65, 0x98, 0x65, 0x45, 0x0d, 0x8c, 0xe8, 0x94, 0x8c, 0xee,
- 0xed, 0xc7, 0xf8, 0x3b, 0x29, 0x50, 0x3d, 0x56, 0x11, 0x7e, 0x2c, 0x77,
- 0x86, 0x5b, 0x8c, 0xc1, 0x2a, 0x50, 0x4a, 0xfb, 0x4b, 0x9d, 0xa6, 0xbf,
- 0xcb, 0x18, 0x81, 0xc6, 0x4b, 0x8c, 0xd5, 0x68, 0x2d, 0x32, 0x6b, 0xf9,
- 0xdd, 0xfa, 0x38, 0x34, 0x11, 0x03, 0x3c, 0x11, 0x6c, 0x60, 0x0a, 0xa9,
- 0xdb, 0x51, 0xa9, 0x7a, 0x44, 0x5e, 0xb7, 0x94, 0xeb, 0x72, 0xf1, 0xcb,
- 0xde, 0x37, 0x6c, 0xe6, 0x46, 0xb9, 0xba, 0x74, 0x9e, 0x5b, 0x9d, 0xc1,
- 0x23, 0x26, 0xc4, 0x8d, 0xdf, 0xfd, 0x30, 0xb0, 0xec, 0x6c, 0xdc, 0xb8,
- 0x1e, 0x0b, 0xef, 0xcf, 0x40, 0x76, 0xe1, 0xe6, 0x47, 0xf9, 0x0b, 0x9d,
- 0x81, 0xef, 0xf3, 0xc2, 0x68, 0x86, 0xf5, 0x96, 0x6e, 0x4e, 0x49, 0x3b,
- 0x0f, 0xcf, 0x6e, 0xb5, 0x41, 0xb5, 0xe1, 0x8c, 0xc4, 0x71, 0x90, 0x3d,
- 0x52, 0x9c, 0x39, 0x6c, 0x13, 0x88, 0x22, 0xaf, 0x42, 0xda, 0xfd, 0x3c,
- 0x48, 0x77, 0x18, 0x5b, 0xa1, 0x83, 0x36, 0x40, 0x7d, 0x68, 0xcc, 0x82,
- 0x22, 0xbf, 0x1b, 0xd8, 0x20, 0x3f, 0xee, 0x0d, 0x26, 0x2c, 0x70, 0x7e,
- 0x2f, 0x23, 0x08, 0x23, 0x65, 0x7f, 0x21, 0xd9, 0xba, 0x81, 0x2c, 0x9a,
- 0x5d, 0x8c, 0x73, 0xf3, 0xd9, 0x56, 0x72, 0xd9, 0xcc, 0x37, 0x77, 0xb7,
- 0x98, 0x02, 0x57, 0x0a, 0xaf, 0x7a, 0xd5, 0xd1, 0x42, 0x5f, 0x0e, 0xa1,
- 0x0c, 0x71, 0x42, 0x5d, 0xc9, 0x00, 0x14, 0x37, 0x43, 0xbe, 0xd5, 0xa5,
- 0x9c, 0x60, 0x9e, 0x30, 0xcb, 0x4e, 0x6e, 0xf3, 0xd9, 0xba, 0xce, 0x65,
- 0x80, 0x7f, 0xe6, 0xc4, 0x0d, 0x87, 0x5c, 0x34, 0x63, 0x41, 0xe4, 0x8d,
- 0xcf, 0xc2, 0x47, 0x54, 0xc3, 0x9c, 0xa8, 0x6a, 0x66, 0x6e, 0x3a, 0xe9,
- 0x93, 0x0c, 0xb9, 0xaa, 0x4a, 0x73, 0x45, 0x56, 0x11, 0x02, 0x2d, 0xb1,
- 0x29, 0x48, 0xd5, 0xcf, 0x8a, 0x9b, 0xbc, 0x2a, 0x0b, 0xb0, 0x94, 0xdd,
- 0xa4, 0x55, 0x8e, 0x70, 0xff, 0xfa, 0x37, 0xa7, 0xef, 0x8e, 0xd6, 0x7d,
- 0xd7, 0xc8, 0x65, 0x2e, 0xde, 0x74, 0xac, 0x5f, 0xd7, 0x57, 0xad, 0xab,
- 0x19, 0x73, 0x1d, 0x9a, 0x2b, 0x9d, 0x98, 0x82, 0x61, 0x4b, 0xdd, 0xe8,
- 0x61, 0x22, 0xd5, 0xde, 0x2f, 0x2a, 0x2f, 0x80, 0x00, 0x29, 0xd2, 0xa4,
- 0xbb, 0x2c, 0x04, 0xe3, 0xc0, 0x95, 0xa0, 0xc6, 0x21, 0x18, 0xf4, 0x4b,
- 0xbf, 0x48, 0x50, 0xe2, 0x15, 0x12, 0x22, 0x45, 0x9f, 0x37, 0x00, 0x96,
- 0x36, 0x06, 0x90, 0xdf, 0x98, 0xdd, 0x93, 0x65, 0xb3, 0xd1, 0xbe, 0x00,
- 0x37, 0x6a, 0x32, 0xc6, 0x9b, 0x0d, 0x9d, 0x5e, 0x00, 0x47, 0x9d, 0x8c,
- 0x0f, 0x4b, 0x37, 0x2e, 0xf9, 0x36, 0xef, 0x6a, 0xfe, 0x84, 0x6b, 0x9d,
- 0x1b, 0x77, 0xa7, 0x6f, 0x9f, 0x4f, 0x5f, 0x50, 0x04, 0x3c, 0xa4, 0x2b,
- 0x49, 0x5d, 0x42, 0x4f, 0xbb, 0xf0, 0x63, 0x1b, 0x54, 0x40, 0x04, 0xd5,
- 0xa1, 0x6f, 0xd1, 0x7c, 0xbe, 0x1c, 0xe7, 0xad, 0x08, 0xb8, 0x75, 0xf8,
- 0x09, 0xf5, 0x00, 0xa7, 0xa8, 0xb0, 0xa6, 0x54, 0x78, 0xf4, 0xe6, 0x09,
- 0x35, 0xb9, 0x84, 0xb1, 0xcc, 0x5c, 0xdd, 0x5c, 0x76, 0x52, 0x99, 0xcf,
- 0x08, 0x99, 0x9a, 0x90, 0xcf, 0xd3, 0xe2, 0x2c, 0xe5, 0x6b, 0x3d, 0x3f,
- 0x03, 0x36, 0xa8, 0x2e, 0x2b, 0xd6, 0xb0, 0x43, 0xa6, 0x58, 0xe5, 0x84,
- 0x99, 0xfc, 0x98, 0x0b, 0xce, 0xb2, 0xfc, 0x28, 0x1d, 0x5e, 0xa8, 0x24,
- 0xdb, 0xe9, 0x54, 0x1f, 0x37, 0x91, 0xae, 0x11, 0x4a, 0x87, 0x6d, 0x1a,
- 0x1b, 0xca, 0xc6, 0x76, 0x64, 0xad, 0x83, 0xf8, 0xcb, 0x95, 0xa8, 0x33,
- 0x6a, 0x62, 0xdb, 0x43, 0x69, 0xc6, 0x26, 0x54, 0xcc, 0xf5, 0xa2, 0xba,
- 0x41, 0xa6, 0xa2, 0x94, 0xf0, 0x60, 0xa4, 0xb0, 0x5b, 0x94, 0x38, 0x6c,
- 0x02, 0x82, 0xdd, 0xf5, 0x90, 0x50, 0x9c, 0xd5, 0x42, 0xf8, 0x7a, 0xbf,
- 0xe6, 0x5e, 0xd8, 0x0e, 0x5a, 0x73, 0x87, 0x48, 0x2b, 0x58, 0x95, 0x0d,
- 0x30, 0xfb, 0x65, 0x0d, 0xf6, 0xbd, 0xa6, 0x4a, 0xc7, 0xee, 0x2f, 0xfd,
- 0xb4, 0x1e, 0xe7, 0xb9, 0x96, 0x84, 0xa0, 0x50, 0x61, 0x46, 0xe8, 0xd8,
- 0x38, 0xa7, 0x89, 0xf5, 0xdb, 0x5b, 0x2e, 0xf6, 0x09, 0xf3, 0x81, 0x0b,
- 0x00, 0x85, 0x6b, 0x66, 0x03, 0xce, 0x42, 0x9e, 0x29, 0x8d, 0x23, 0xc6,
- 0xaa, 0x64, 0x68, 0xe2, 0xcd, 0x12, 0xfb, 0xd6, 0x98, 0xe0, 0xbb, 0xbe,
- 0x0d, 0xae, 0x93, 0xd0, 0x27, 0xde, 0xe0, 0xba, 0x61, 0x7b, 0xf2, 0xf6,
- 0x76, 0x6f, 0xb0, 0xa2, 0x10, 0xb6, 0x1f, 0x0c, 0x7a, 0xde, 0xb1, 0x50,
- 0x98, 0xa1, 0x27, 0x66, 0x9f, 0x0c, 0xb7, 0x5a, 0xb5, 0xb3, 0x0e, 0x4e,
- 0xce, 0xde, 0x27, 0xa0, 0x45, 0x02, 0x01, 0x6b, 0x01, 0x27, 0x59, 0x22,
- 0x3f, 0x66, 0x3d, 0x19, 0x16, 0x73, 0x12, 0x42, 0x3f, 0x95, 0x5f, 0x1a,
- 0x56, 0x44, 0x98, 0xf4, 0xc4, 0x58, 0xb7, 0x02, 0xd4, 0x20, 0x6a, 0xbf,
- 0x40, 0xca, 0xab, 0x91, 0xd1, 0x1d, 0x8e, 0xf9, 0xe4, 0x80, 0x3f, 0xec,
- 0x11, 0x35, 0xdb, 0xbc, 0xa4, 0xf6, 0xbb, 0x96, 0x16, 0xaa, 0x4c, 0x84,
- 0x04, 0x2a, 0x10, 0xea, 0x4d, 0x66, 0x19, 0xa8, 0xc4, 0xb8, 0xb3, 0x74,
- 0x6a, 0xe2, 0x5a, 0x12, 0xbc, 0x06, 0xc8, 0x06, 0x34, 0xad, 0x39, 0xae,
- 0x53, 0xd8, 0x34, 0x74, 0x33, 0xb1, 0xc5, 0xbc, 0x08, 0xb2, 0xd0, 0xed,
- 0x8c, 0x27, 0xa1, 0x35, 0x1a, 0xa0, 0x8e, 0x57, 0x27, 0x8a, 0x69, 0x67,
- 0xa9, 0xfa, 0xc6, 0x8a, 0x25, 0x7e, 0xdf, 0xe3, 0x8f, 0x8e, 0x16, 0x24,
- 0x23, 0x3a, 0xdf, 0x90, 0x05, 0x66, 0xdd, 0x89, 0x9f, 0xa0, 0xef, 0x89,
- 0x17, 0x8c, 0xd9, 0x6f, 0x88, 0x97, 0x2b, 0x4b, 0x67, 0x54, 0x2d, 0x49,
- 0x33, 0x07, 0xc8, 0x01, 0x4c, 0xf0, 0xce, 0xee, 0x54, 0x2e, 0x52, 0x91,
- 0x59, 0x2d, 0x6c, 0x54, 0x27, 0xa1, 0x80, 0x3f, 0x43, 0x80, 0x36, 0xbf,
- 0xf9, 0x58, 0x92, 0x18, 0x5e, 0x87, 0x14, 0x01, 0x36, 0x9b, 0x83, 0x38,
- 0x5a, 0x42, 0x8c, 0x09, 0x48, 0xb9, 0x09, 0x5b, 0x4f, 0x94, 0x0a, 0x60,
- 0x5c, 0x2f, 0x8a, 0x4f, 0xa6, 0x0b, 0x61, 0x12, 0xab, 0x62, 0x7f, 0x89,
- 0x45, 0x9b, 0x4b, 0xf0, 0xd1, 0x5f, 0x6c, 0x4e, 0x3a, 0xb7, 0x40, 0xdc,
- 0xa7, 0x37, 0xe4, 0xcf, 0x0b, 0xcb, 0x38, 0xc7, 0x7a, 0x37, 0xb1, 0x27,
- 0x24, 0x6d, 0xdc, 0x04, 0x46, 0xf1, 0xed, 0xba, 0xce, 0xae, 0x78, 0xad,
- 0xd9, 0x8f, 0xb8, 0x59, 0x44, 0xe1, 0xe4, 0x90, 0xb6, 0xd2, 0xfe, 0x20,
- 0x45, 0x49, 0x71, 0x5f, 0x81, 0x40, 0x5c, 0x60, 0xe3, 0x93, 0xe5, 0x86,
- 0x6f, 0xd2, 0x7e, 0xf0, 0x0b, 0x58, 0x44, 0x7a, 0xd2, 0xce, 0xa8, 0x5e,
- 0xb6, 0x0f, 0xda, 0x15, 0xf5, 0x5c, 0x02, 0xb6, 0xc0, 0x52, 0xac, 0xea,
- 0x46, 0x65, 0xe6, 0xfc, 0xea, 0x56, 0x11, 0xc9, 0xe5, 0x72, 0xbb, 0xb2,
- 0xc2, 0x6e, 0xb2, 0x19, 0x1d, 0x55, 0x91, 0x07, 0xff, 0xc2, 0x59, 0x72,
- 0x03, 0xf1, 0x26, 0xca, 0xfe, 0xb0, 0x33, 0x49, 0xc5, 0xa3, 0xe4, 0xe1,
- 0x7b, 0x23, 0x7e, 0x48, 0x1a, 0x7a, 0xc2, 0xf0, 0x3d, 0x4b, 0x24, 0x15,
- 0x84, 0x6e, 0xa4, 0x5d, 0xb7, 0xd7, 0xe5, 0xaf, 0x91, 0x82, 0xd4, 0x3c,
- 0xe1, 0xed, 0xcf, 0xde, 0x77, 0x9b, 0xb3, 0x95, 0x55, 0x46, 0xa8, 0xe3,
- 0xf7, 0x90, 0x1c, 0xb4, 0x16, 0xbc, 0xfc, 0x6c, 0x89, 0x87, 0xeb, 0xd7,
- 0x0b, 0xc1, 0x36, 0xfb, 0x5b, 0x5c, 0x06, 0x16, 0x2d, 0x11, 0x28, 0x5a,
- 0xfd, 0xef, 0x26, 0x04, 0xe9, 0x8b, 0xd2, 0xe5, 0x7c, 0x12, 0xcf, 0xbc,
- 0xd7, 0xb5, 0x95, 0xea, 0x72, 0x12, 0xb9, 0xa0, 0xd5, 0x50, 0xce, 0x8f,
- 0xe3, 0x37, 0x66, 0x93, 0x91, 0xce, 0x7a, 0x65, 0x06, 0xf1, 0xd5, 0xb2,
- 0xc5, 0x45, 0x21, 0x6b, 0x8d, 0xf0, 0xc2, 0xce, 0xa7, 0x9a, 0xdd, 0x3e,
- 0x1d, 0x13, 0xb1, 0xb3, 0x79, 0xb5, 0x54, 0x24, 0xfa, 0xae, 0x64, 0xf6,
- 0x71, 0xbf, 0x04, 0xd8, 0xb3, 0x80, 0x97, 0x32, 0x7a, 0xd5, 0x82, 0xca,
- 0x34, 0xd2, 0x95, 0xc7, 0x95, 0x27, 0xa4, 0x3a, 0x4a, 0x95, 0x51, 0x9f,
- 0xdb, 0x1d, 0x0e, 0x08, 0xc6, 0xd8, 0x9b, 0x5d, 0x67, 0xe6, 0x20, 0x72,
- 0xea, 0xd0, 0xa8, 0x2a, 0x3f, 0x65, 0xbc, 0xeb, 0x60, 0x5e, 0x80, 0x31,
- 0x87, 0x75, 0x29, 0x71, 0xca, 0x1a, 0x39, 0x37, 0xb1, 0x10, 0xc6, 0x88,
- 0x3e, 0x4b, 0x95, 0xae, 0x24, 0xd5, 0xde, 0x49, 0xc3, 0xdc, 0x65, 0xba,
- 0x2b, 0x23, 0x34, 0x2f, 0xd7, 0x98, 0xe8, 0xb9, 0xe2, 0x27, 0xdf, 0x6e,
- 0x02, 0x29, 0x76, 0xbd, 0xec, 0xf0, 0xfb, 0x67, 0x5f, 0x3c, 0x35, 0xcb,
- 0x4f, 0xbe, 0x5d, 0x75, 0xff, 0xe4, 0x47, 0x56, 0xf4, 0xf1, 0xf5, 0xab,
- 0xcc, 0x5e, 0x82, 0x27, 0x2c, 0x79, 0x65, 0x36, 0x15, 0xfb, 0xc4, 0x28,
- 0xa6, 0xd5, 0x75, 0x77, 0xa1, 0x06, 0x5b, 0x5f, 0x4d, 0x8f, 0x09, 0xa3,
- 0x7a, 0x60, 0xb2, 0x91, 0x26, 0xce, 0x69, 0x0e, 0x13, 0x57, 0x19, 0x51,
- 0xa8, 0x98, 0x7b, 0xac, 0x24, 0x99, 0x1d, 0x13, 0x39, 0xe4, 0xce, 0x91,
- 0xc3, 0x69, 0xb1, 0xd0, 0xc3, 0x69, 0x79, 0xc0, 0xb7, 0x92, 0x7b, 0x55,
- 0xee, 0xff, 0x4c, 0xa8, 0x60, 0xa3, 0xd5, 0x36, 0x04, 0x0b, 0xc3, 0xb7,
- 0x02, 0xb5, 0x93, 0x2b, 0x12, 0xd9, 0xc4, 0x11, 0xce, 0xfb, 0xb6, 0x5c,
- 0x22, 0xc4, 0x60, 0xef, 0xeb, 0x06, 0xcc, 0x13, 0x9d, 0x1c, 0x91, 0xd1,
- 0x12, 0xb1, 0x08, 0xd9, 0x73, 0x91, 0xdb, 0xc4, 0xbb, 0x5c, 0x38, 0x66,
- 0x19, 0xc1, 0x25, 0x16, 0x76, 0xaa, 0xe0, 0x2c, 0x1e, 0xbc, 0xa5, 0x38,
- 0x0b, 0x4f, 0x3d, 0xf5, 0x88, 0xf1, 0x4f, 0x62, 0xa6, 0xe9, 0x0f, 0x6c,
- 0x25, 0xa2, 0x16, 0x78, 0x86, 0x8d, 0x14, 0x68, 0xc7, 0x9c, 0x47, 0x1c,
- 0x1b, 0x6c, 0xe2, 0x3d, 0xe6, 0xbf, 0xb2, 0xff, 0x62, 0xa7, 0x27, 0x22,
- 0x8a, 0xc2, 0x5d, 0xfe, 0x33, 0xa8, 0x1e, 0x15, 0xea, 0x11, 0xf4, 0x98,
- 0xf9, 0xa9, 0x7d, 0x32, 0x94, 0x81, 0x42, 0x76, 0xf8, 0xec, 0x09, 0xc5,
- 0xbc, 0xe3, 0x3e, 0x25, 0xbe, 0x68, 0x7d, 0x2f, 0x82, 0x75, 0x23, 0xd4,
- 0x31, 0xf0, 0xa7, 0x77, 0xb6, 0xec, 0x6a, 0x1c, 0x4b, 0xbc, 0x74, 0x03,
- 0x45, 0x8b, 0xa2, 0x1e, 0x89, 0x49, 0x5e, 0x47, 0x9c, 0x18, 0x8c, 0x67,
- 0x93, 0x0d, 0x67, 0xab, 0x49, 0xa1, 0xa0, 0x06, 0x6f, 0x6d, 0xac, 0xa2,
- 0x39, 0x30, 0xeb, 0xa0, 0xc3, 0xb7, 0xb5, 0xd2, 0xf3, 0x95, 0x49, 0x6b,
- 0xbb, 0x2f, 0x07, 0x4f, 0x5b, 0xe7, 0xa4, 0x99, 0xce, 0xfa, 0xb7, 0xa3,
- 0x07, 0x62, 0x1f, 0x17, 0x27, 0xef, 0x92, 0xd9, 0x02, 0x05, 0x9b, 0x85,
- 0xbb, 0xf5, 0x7e, 0x9a, 0xa9, 0x1b, 0x9a, 0x1c, 0x3c, 0xec, 0x2b, 0xbc,
- 0x06, 0xa3, 0x5f, 0x08, 0xe9, 0x8e, 0x02, 0x6d, 0x6d, 0x1a, 0xa9, 0xd8,
- 0xfd, 0xc2, 0x55, 0x46, 0x4d, 0xb2, 0x3f, 0x7b, 0x3e, 0x9f, 0xe6, 0xd1,
- 0x4c, 0x1f, 0x05, 0xda, 0x66, 0x77, 0xd9, 0x78, 0x81, 0x38, 0x35, 0xa9,
- 0x87, 0x44, 0xfb, 0xb3, 0xda, 0x81, 0xee, 0x39, 0xcd, 0xc5, 0x4d, 0x6e,
- 0x7e, 0xd0, 0x9d, 0x8c, 0xee, 0xd8, 0x79, 0xf0, 0x81, 0xf7, 0x8c, 0x53,
- 0xde, 0x63, 0xbf, 0x0b, 0x62, 0xc5, 0x80, 0xf7, 0xd3, 0x85, 0x68, 0xb6,
- 0x54, 0x7e, 0x55, 0xb0, 0xd2, 0xf1, 0x2e, 0x1f, 0x57, 0x65, 0x5d, 0x5e,
- 0x32, 0x70, 0xcd, 0x33, 0x91, 0x8e, 0x8f, 0x87, 0xc9, 0x6d, 0x36, 0xd2,
- 0x2c, 0xd9, 0x41, 0xe8, 0x4c, 0x86, 0x0c, 0xa1, 0x08, 0x49, 0x95, 0x67,
- 0x0d, 0x4d, 0x99, 0xc6, 0x44, 0x7b, 0x5a, 0xf0, 0xa6, 0x9f, 0x15, 0x57,
- 0xc6, 0x5a, 0x85, 0x02, 0x4f, 0xe5, 0xc1, 0xa6, 0x7c, 0x31, 0xcd, 0xb3,
- 0x32, 0x12, 0x18, 0xe7, 0x0e, 0xe8, 0xb5, 0x22, 0x05, 0xea, 0xe8, 0x0e,
- 0x1f, 0xa5, 0x35, 0x67, 0xb4, 0xb0, 0x77, 0xc0, 0x88, 0x1d, 0xd2, 0x51,
- 0xc4, 0x71, 0xf9, 0x89, 0x7c, 0x66, 0x41, 0xf2, 0xca, 0x28, 0xa3, 0x5a,
- 0x65, 0x14, 0xee, 0x6f, 0x7b, 0xef, 0x8a, 0x49, 0x59, 0x01, 0x90, 0xe4,
- 0x55, 0x46, 0x40, 0xf9, 0xb0, 0x45, 0x85, 0x2c, 0x2c, 0xd0, 0x4e, 0x86,
- 0xf2, 0xf4, 0xf6, 0x9a, 0xe3, 0xb6, 0xba, 0x0a, 0x74, 0x39, 0x21, 0xf1,
- 0x96, 0x73, 0x7d, 0x84, 0x7c, 0x9b, 0xab, 0xe7, 0xea, 0x75, 0xe3, 0xad,
- 0x46, 0x94, 0xa2, 0x4e, 0xd6, 0xc3, 0x65, 0x99, 0x8a, 0x7b, 0xe6, 0x4d,
- 0x7e, 0xb5, 0xa4, 0x46, 0x9e, 0xe5, 0x7b, 0xc0, 0xe5, 0x84, 0x13, 0x8b,
- 0xde, 0xc8, 0x95, 0x59, 0xf1, 0x19, 0x0d, 0x0b, 0x3f, 0xa2, 0xd6, 0x41,
- 0xe8, 0x89, 0x5d, 0xb2, 0xfb, 0x96, 0xd1, 0x64, 0xfc, 0x06, 0x35, 0xf9,
- 0x56, 0x31, 0xb1, 0x79, 0x5d, 0xb1, 0x27, 0x20, 0xa6, 0xf2, 0xf9, 0x5a,
- 0x5e, 0xc0, 0x49, 0xe1, 0xc5, 0x64, 0xe3, 0x4a, 0xdf, 0x32, 0x0a, 0x60,
- 0x84, 0xb4, 0x22, 0xc0, 0x14, 0x2f, 0x2a, 0x3b, 0xb1, 0x05, 0xa2, 0x69,
- 0x7d, 0xda, 0x31, 0x2f, 0xff, 0xec, 0x96, 0xf4, 0x83, 0xbd, 0xfe, 0x28,
- 0x4b, 0xa9, 0x58, 0xc3, 0xab, 0x86, 0x34, 0xa6, 0x78, 0xa6, 0xca, 0x92,
- 0x44, 0x95, 0xaf, 0xf8, 0xcd, 0x0b, 0xa8, 0x5a, 0xb4, 0xb6, 0xa7, 0x07,
- 0x1f, 0x2e, 0xbe, 0x49, 0x92, 0x3d, 0x22, 0x04, 0x7f, 0x4c, 0xa6, 0x0a,
- 0x44, 0x42, 0xab, 0x15, 0x57, 0x0e, 0x98, 0x2e, 0xd2, 0xbf, 0x2d, 0x8a,
- 0x36, 0x11, 0x7c, 0xcc, 0x4b, 0x8f, 0x0b, 0x54, 0xee, 0x5e, 0x4e, 0x9d,
- 0x6e, 0xe1, 0xac, 0xb5, 0x52, 0x08, 0x2f, 0x49, 0xbf, 0x8f, 0x79, 0x27,
- 0x67, 0xd7, 0x03, 0x01, 0xcd, 0x3a, 0x4e, 0xd9, 0x21, 0xbd, 0x95, 0xee,
- 0x2a, 0xa7, 0x90, 0x46, 0x4e, 0xab, 0x4c, 0x5c, 0xfd, 0x4d, 0xb7, 0xc8,
- 0xdf, 0xf9, 0xdb, 0xc3, 0x4e, 0x73, 0xcf, 0x3f, 0x7b, 0xb6, 0xf3, 0x3b,
- 0xc2, 0xf5, 0x4a, 0x72, 0x90, 0x88, 0x23, 0x21, 0xca, 0xa4, 0xf3, 0x7d,
- 0x45, 0x89, 0xac, 0xea, 0x6a, 0x28, 0xe5, 0x21, 0x3f, 0xd5, 0xbe, 0x6e,
- 0x26, 0x84, 0xdb, 0xb2, 0x4c, 0x1c, 0x95, 0xea, 0xfb, 0xff, 0xf9, 0x5f,
- 0x61, 0xa2, 0xed, 0x8f, 0x3f, 0xb3, 0xb7, 0xf8, 0x12, 0xf5, 0xb1, 0x1c,
- 0xf0, 0x5f, 0xe5, 0x4c, 0xed, 0xae, 0x64, 0x3a, 0xd2, 0x1b, 0x7f, 0xdc,
- 0xb0, 0x35, 0x2c, 0xa0, 0xf4, 0x47, 0xd3, 0xb4, 0xf5, 0xf6, 0x94, 0xbe,
- 0xe9, 0xc2, 0x56, 0x52, 0xf9, 0xdd, 0xea, 0x03, 0x2e, 0xc7, 0x52, 0xca,
- 0x3a, 0x4c, 0x96, 0xd5, 0xa0, 0xd1, 0x5a, 0x0c, 0x52, 0xd5, 0x40, 0x1d,
- 0xe6, 0xe4, 0x26, 0x67, 0x94, 0x15, 0xfa, 0x4f, 0xba, 0x28, 0x12, 0x9a,
- 0xf3, 0x62, 0x89, 0x03, 0x53, 0xa0, 0x44, 0xff, 0x69, 0x56, 0xa0, 0xd7,
- 0xdc, 0x96, 0xff, 0xd5, 0x76, 0x66, 0x1a, 0x15, 0x83, 0x7a, 0xfc, 0xf1,
- 0x8f, 0xbb, 0x94, 0x21, 0xb4, 0xde, 0x6d, 0x82, 0xd1, 0xfe, 0x76, 0x55,
- 0xad, 0x86, 0xb4, 0x8a, 0x55, 0x55, 0x3f, 0x48, 0xe9, 0xc7, 0x3d, 0x52,
- 0x1c, 0xff, 0x6b, 0x40, 0xff, 0xfd, 0x71, 0xb7, 0xff, 0xec, 0x67, 0xfb,
- 0xd1, 0x3f, 0xee, 0x7e, 0xfc, 0xe3, 0xde, 0x7a, 0x34, 0xcd, 0xce, 0xf1,
- 0x01, 0x78, 0x58, 0x45, 0xd2, 0x67, 0x8b, 0x7b, 0x49, 0xdb, 0x90, 0x58,
- 0xa3, 0x2b, 0x9a, 0x85, 0x02, 0x9c, 0x21, 0x67, 0x12, 0xb9, 0xae, 0x3a,
- 0xaa, 0xaa, 0xd6, 0xcd, 0x52, 0xe1, 0x70, 0x5b, 0xf2, 0xcb, 0xe2, 0x56,
- 0x91, 0x92, 0xe3, 0x92, 0x4f, 0x10, 0x08, 0xc3, 0x22, 0x6b, 0xef, 0x0d,
- 0x62, 0x50, 0x51, 0xda, 0x8d, 0x70, 0x36, 0x04, 0x20, 0x65, 0xae, 0xb3,
- 0x34, 0xe9, 0x4c, 0xfa, 0x68, 0x64, 0x7f, 0x52, 0x64, 0x41, 0x62, 0x56,
- 0x6a, 0x13, 0x19, 0xd9, 0x80, 0xb3, 0x52, 0xc1, 0xbc, 0x69, 0x03, 0xd8,
- 0x12, 0xd7, 0x42, 0xef, 0x5d, 0xe9, 0x55, 0xaa, 0x00, 0xda, 0x95, 0x16,
- 0x7f, 0x5b, 0x68, 0x5d, 0x5c, 0x77, 0xa3, 0x98, 0x96, 0x72, 0x57, 0x2f,
- 0x9d, 0x7f, 0x26, 0x11, 0x18, 0x64, 0xfc, 0x73, 0xd5, 0xa6, 0x32, 0xe6,
- 0x12, 0x48, 0x47, 0x54, 0xd4, 0xaa, 0x55, 0x22, 0x64, 0x8c, 0x9a, 0x9d,
- 0x35, 0x0c, 0x5a, 0x65, 0xa0, 0x4a, 0xeb, 0x25, 0x13, 0xe2, 0x4f, 0x85,
- 0x37, 0x09, 0x32, 0x51, 0x98, 0x9c, 0x15, 0x9e, 0x5d, 0x4e, 0x93, 0x25,
- 0x1c, 0x69, 0x93, 0xf5, 0xbd, 0x3c, 0x59, 0xe4, 0xe5, 0xe2, 0xa7, 0x1e,
- 0xd6, 0x4d, 0x02, 0x7c, 0xfd, 0x20, 0x2a, 0x69, 0x36, 0xd1, 0xe4, 0xde,
- 0x48, 0x42, 0xe6, 0xe3, 0xb4, 0xfc, 0x7e, 0xea, 0x22, 0x10, 0x59, 0x63,
- 0xf6, 0xd9, 0x46, 0x7f, 0x23, 0xd9, 0x44, 0x2e, 0x3d, 0xec, 0xba, 0x64,
- 0x92, 0xd6, 0xd7, 0x5b, 0x31, 0x47, 0xa4, 0xf3, 0xfd, 0x39, 0x41, 0x35,
- 0x12, 0xdf, 0x03, 0x5d, 0x99, 0x2c, 0xa1, 0xa2, 0x03, 0xd3, 0x0b, 0xfb,
- 0x14, 0x01, 0x13, 0x06, 0x0c, 0xf6, 0x6d, 0x7e, 0x4d, 0xe7, 0x67, 0x7d,
- 0x10, 0x8f, 0xf2, 0xcf, 0xff, 0x23, 0xbc, 0x17, 0xe4, 0x49, 0xc6, 0x7c,
- 0xf5, 0x39, 0x29, 0xca, 0x5d, 0xa4, 0x14, 0xcd, 0x4b, 0x5e, 0xcd, 0xaf,
- 0x2b, 0xa3, 0xfe, 0x85, 0xb9, 0x57, 0xc3, 0x6f, 0x12, 0xb8, 0x62, 0xa8,
- 0x12, 0x0b, 0x3f, 0x63, 0x37, 0x88, 0x47, 0x64, 0xf8, 0x3b, 0xf2, 0xe6,
- 0x11, 0x9c, 0xa4, 0x9f, 0xd6, 0xfd, 0x40, 0xd5, 0xb9, 0xf0, 0xb1, 0xb5,
- 0xa4, 0x78, 0x92, 0x35, 0x42, 0x30, 0x46, 0x0a, 0xac, 0x15, 0x63, 0x54,
- 0xf6, 0x4d, 0xb6, 0x07, 0x83, 0x6d, 0x12, 0x58, 0xdb, 0xe6, 0x0f, 0xc7,
- 0x20, 0x0f, 0xd4, 0x6d, 0xb7, 0x02, 0x8e, 0xd9, 0xe8, 0xc0, 0xae, 0x80,
- 0x3e, 0x43, 0x0a, 0xc6, 0xb9, 0x40, 0x7b, 0xfd, 0xf7, 0x05, 0xa0, 0xa8,
- 0x95, 0x51, 0x28, 0x2b, 0xce, 0xec, 0x9d, 0xb5, 0xee, 0xc8, 0xa0, 0xee,
- 0x0c, 0x7b, 0xd6, 0x6b, 0x61, 0x91, 0x68, 0xae, 0x3b, 0x29, 0x67, 0x0c,
- 0xa3, 0x01, 0x40, 0x38, 0x6f, 0x94, 0xbd, 0x0b, 0x59, 0xd5, 0xe9, 0x4a,
- 0x83, 0xee, 0xe9, 0x5e, 0xdb, 0xf1, 0x31, 0xcf, 0x0b, 0x63, 0x62, 0x18,
- 0xd5, 0x18, 0xcc, 0x8c, 0x84, 0xc5, 0x0b, 0x73, 0x7a, 0xd8, 0x9b, 0xd6,
- 0xa9, 0x40, 0x02, 0x7f, 0x32, 0xcb, 0x37, 0xab, 0x71, 0xa8, 0x8a, 0x0d,
- 0xea, 0x45, 0x89, 0xe7, 0x6f, 0x06, 0x97, 0x25, 0x7f, 0x64, 0x8b, 0x6f,
- 0x4c, 0x41, 0xeb, 0x62, 0x43, 0x64, 0x7c, 0xb7, 0x49, 0x69, 0xa6, 0x11,
- 0x1c, 0x28, 0x84, 0x06, 0x82, 0xf6, 0x8e, 0xd6, 0x62, 0x6e, 0x0f, 0xeb,
- 0x73, 0xb0, 0x9e, 0x12, 0x57, 0x65, 0x87, 0xc6, 0x4c, 0xe4, 0x96, 0x66,
- 0xde, 0xdf, 0x1c, 0x9d, 0x8b, 0x7a, 0x02, 0x0f, 0x84, 0xab, 0x90, 0x18,
- 0xb0, 0xa9, 0xc2, 0x92, 0x79, 0xfe, 0xd4, 0xd6, 0x2b, 0xae, 0xaf, 0xd3,
- 0xbd, 0x67, 0xcf, 0xa5, 0xdb, 0xca, 0xa2, 0x85, 0x7b, 0x7b, 0x83, 0x7f,
- 0xb5, 0xbd, 0xcd, 0x61, 0x73, 0xb2, 0x4d, 0x03, 0xb9, 0x90, 0x4a, 0xd1,
- 0xe5, 0x8d, 0xcf, 0x37, 0xa2, 0x80, 0x39, 0xd5, 0x5c, 0xd9, 0x7e, 0x27,
- 0xef, 0x33, 0x40, 0x7d, 0x3e, 0xa3, 0x7e, 0xaf, 0x45, 0x32, 0x9f, 0x08,
- 0x17, 0x42, 0xa0, 0x35, 0xb4, 0xc8, 0xe6, 0x85, 0x76, 0x42, 0x4b, 0xf2,
- 0x24, 0x9a, 0x9d, 0x3a, 0x48, 0x0e, 0x5a, 0xf3, 0x53, 0x73, 0x75, 0xc8,
- 0x71, 0x48, 0x6d, 0x22, 0xe0, 0x37, 0x5a, 0x0d, 0xaf, 0x61, 0x41, 0x81,
- 0x12, 0x6b, 0x31, 0xd1, 0xfd, 0xd1, 0xc6, 0xd3, 0xb0, 0x0b, 0xbb, 0x64,
- 0xd0, 0x53, 0xf3, 0x85, 0x20, 0x53, 0x44, 0xf7, 0x85, 0x42, 0xa4, 0xd8,
- 0xa2, 0xf7, 0x60, 0x82, 0xee, 0xb4, 0x98, 0xeb, 0xa0, 0x6a, 0x3a, 0xcc,
- 0x34, 0xab, 0x29, 0x79, 0x01, 0x13, 0x1b, 0x67, 0x39, 0x13, 0x32, 0x99,
- 0xb5, 0xa5, 0xc0, 0x4f, 0x70, 0x0e, 0xcc, 0x56, 0xd8, 0xa6, 0x7d, 0x20,
- 0xc6, 0x46, 0xc0, 0x7e, 0x4f, 0x4e, 0xe6, 0x97, 0x83, 0x9d, 0xfd, 0xe4,
- 0x74, 0x9e, 0x15, 0x66, 0x0d, 0x7a, 0xc9, 0xd7, 0xc5, 0x82, 0x96, 0x84,
- 0x46, 0xfd, 0xf5, 0xf0, 0xdb, 0x20, 0xe1, 0x8a, 0xde, 0x78, 0xfa, 0x84,
- 0xde, 0x78, 0x3f, 0xe4, 0xa7, 0x6e, 0xcb, 0xe9, 0xa5, 0x79, 0x73, 0xfb,
- 0xf0, 0x3e, 0x35, 0x7f, 0xc4, 0x1e, 0xff, 0x8c, 0x1e, 0x37, 0x1b, 0x6f,
- 0xd2, 0x04, 0xb5, 0x8a, 0x13, 0x29, 0xe3, 0xb2, 0x9f, 0x9c, 0x95, 0xd3,
- 0xb4, 0x82, 0xdf, 0x97, 0x37, 0xdf, 0x8a, 0x1e, 0x3f, 0x7d, 0x1a, 0xe9,
- 0x71, 0x6f, 0x49, 0x87, 0x06, 0xff, 0x7c, 0x8f, 0x4e, 0xe1, 0xf8, 0xa3,
- 0xbf, 0x8d, 0xd2, 0xf1, 0x27, 0x6c, 0x45, 0xa0, 0xda, 0x2d, 0xe1, 0xec,
- 0xef, 0x29, 0xcd, 0x99, 0x8d, 0xe0, 0x31, 0x55, 0x6d, 0x2a, 0x10, 0xb2,
- 0x35, 0x48, 0x72, 0xff, 0x6c, 0xef, 0xc9, 0xee, 0xf6, 0xf3, 0xc1, 0xd3,
- 0xc1, 0x9e, 0x45, 0x99, 0x99, 0x8d, 0x75, 0x43, 0x35, 0x14, 0x28, 0x9e,
- 0xbf, 0xac, 0x04, 0x5d, 0x5e, 0x98, 0x76, 0x3c, 0xee, 0x85, 0x9a, 0x3d,
- 0x47, 0x0e, 0x5f, 0x42, 0x4c, 0x0b, 0xbb, 0x7e, 0xba, 0x52, 0xac, 0x84,
- 0x18, 0x11, 0x38, 0x50, 0x27, 0xc4, 0xd9, 0xb1, 0xa8, 0x30, 0x03, 0xa3,
- 0xdc, 0xd8, 0xcc, 0x4d, 0xb9, 0x80, 0x4f, 0x9d, 0x1c, 0x38, 0x4a, 0xb9,
- 0x2d, 0x3a, 0x12, 0x9b, 0xc8, 0x74, 0xc6, 0x96, 0x54, 0x37, 0xb6, 0x78,
- 0x5e, 0x0a, 0x10, 0x79, 0xd5, 0x9e, 0xc9, 0x1b, 0x8b, 0x7a, 0xf1, 0x28,
- 0x77, 0x61, 0xcc, 0x99, 0x62, 0x6c, 0x0e, 0xfd, 0x37, 0xc6, 0xd4, 0xb8,
- 0x21, 0xc7, 0x71, 0xac, 0x88, 0xb0, 0x64, 0x31, 0xaa, 0xe3, 0x5f, 0x40,
- 0x0e, 0x8e, 0x11, 0x5b, 0x7e, 0xc0, 0xb9, 0x13, 0x9a, 0xbd, 0xca, 0x39,
- 0x5f, 0xfd, 0x30, 0xf3, 0xd7, 0x3a, 0xbc, 0xda, 0xe4, 0x9d, 0xc2, 0x2a,
- 0x4d, 0x09, 0x4c, 0xec, 0xe3, 0x66, 0x96, 0x39, 0x9a, 0x46, 0x97, 0x8e,
- 0x16, 0x73, 0xc1, 0xac, 0x72, 0xd1, 0x45, 0x29, 0x29, 0xf8, 0x5f, 0xdd,
- 0x92, 0x7f, 0x72, 0x09, 0xc6, 0xca, 0x72, 0x75, 0x2a, 0xa3, 0x69, 0xab,
- 0xbf, 0x7a, 0x97, 0x3d, 0xf9, 0xed, 0x77, 0xd9, 0xde, 0x63, 0x77, 0x99,
- 0xb7, 0xcd, 0xd8, 0x15, 0xb4, 0x62, 0xa3, 0x99, 0x29, 0xe4, 0x9a, 0xc8,
- 0xf1, 0x5d, 0xe6, 0x6d, 0xb2, 0xd1, 0x7d, 0x74, 0x8b, 0xb5, 0xf7, 0x98,
- 0xdb, 0x64, 0xcb, 0x76, 0x19, 0xb6, 0x99, 0xdd, 0x67, 0x0f, 0x6c, 0x34,
- 0xf6, 0xb4, 0xad, 0xde, 0x65, 0x9d, 0x8a, 0xda, 0x2b, 0xf6, 0x98, 0xbf,
- 0x21, 0x1e, 0xbd, 0xcb, 0x9c, 0xdb, 0x8b, 0xe5, 0x4e, 0xb2, 0x64, 0xa3,
- 0xf9, 0xfb, 0x6c, 0x69, 0xf1, 0xb7, 0xdd, 0x97, 0xb1, 0x5d, 0xf6, 0xe4,
- 0x57, 0xef, 0xb2, 0xa7, 0xbf, 0xfd, 0x2e, 0x7b, 0xf2, 0xff, 0x64, 0xd9,
- 0x7f, 0x2f, 0x59, 0xb6, 0xfb, 0x8b, 0x65, 0xd9, 0x5e, 0x27, 0xb0, 0x69,
- 0xd4, 0x55, 0xf6, 0x37, 0xff, 0xa8, 0x6e, 0xff, 0xfd, 0xed, 0xed, 0x9f,
- 0xe1, 0x3c, 0xd9, 0xa7, 0xfb, 0xfa, 0xe7, 0xa0, 0x92, 0x67, 0x44, 0xad,
- 0x1f, 0x9e, 0x1e, 0x7e, 0x3b, 0x14, 0xbf, 0xb5, 0x28, 0x5e, 0xaa, 0x98,
- 0xb1, 0x83, 0xcf, 0xa8, 0xeb, 0x48, 0x83, 0x0e, 0x74, 0x7d, 0x2e, 0xf7,
- 0xd7, 0xbf, 0xeb, 0xa9, 0xef, 0x18, 0x90, 0x23, 0x39, 0xda, 0xe0, 0x7b,
- 0x93, 0x04, 0x63, 0xce, 0x74, 0x90, 0x56, 0x85, 0x96, 0x27, 0xf4, 0x13,
- 0x70, 0x47, 0xac, 0x07, 0x5d, 0x7c, 0x1a, 0x85, 0xf7, 0xe2, 0x66, 0x73,
- 0x5d, 0x21, 0xb7, 0x03, 0x8f, 0x6e, 0x69, 0xd8, 0x68, 0x55, 0xef, 0xa4,
- 0x5f, 0xdf, 0x80, 0x19, 0x77, 0x5e, 0x65, 0x4b, 0x0a, 0xe8, 0x5e, 0x5c,
- 0x7b, 0xbf, 0x0d, 0x0b, 0x83, 0xba, 0xe9, 0x12, 0x9e, 0x37, 0x6f, 0xbe,
- 0xe9, 0xbd, 0x20, 0x25, 0x3d, 0xbf, 0xeb, 0x90, 0x0f, 0xa5, 0x53, 0xd4,
- 0xc9, 0x44, 0xd9, 0x07, 0x1d, 0xa2, 0x36, 0xc2, 0xe0, 0xa5, 0x0c, 0xa5,
- 0x1b, 0xea, 0xa7, 0xa6, 0xc9, 0x00, 0x36, 0x8a, 0x5f, 0xa4, 0xf4, 0x1b,
- 0xfe, 0xfb, 0x33, 0xfa, 0x2e, 0xb9, 0x7a, 0xf9, 0x5f, 0xd7, 0xf4, 0x4f,
- 0x7c, 0x4f, 0x89, 0xa4, 0x5a, 0xab, 0x3c, 0x8e, 0x4f, 0xb4, 0x9f, 0x34,
- 0x64, 0x49, 0x0e, 0xde, 0x97, 0x2e, 0xad, 0xce, 0x1f, 0xb5, 0xcf, 0x48,
- 0xb7, 0x04, 0x2d, 0x68, 0x9a, 0x41, 0xcb, 0x4f, 0xe3, 0x4a, 0x62, 0xe6,
- 0xf3, 0x4d, 0x2a, 0x7d, 0x80, 0x5f, 0xed, 0xc9, 0x45, 0x4a, 0x65, 0x01,
- 0x40, 0xd8, 0x16, 0x49, 0x8e, 0x91, 0x52, 0x06, 0xd2, 0xef, 0xdd, 0x9d,
- 0x17, 0xa1, 0xb7, 0xf9, 0x83, 0x26, 0xb5, 0x39, 0xd2, 0x45, 0x00, 0x22,
- 0x00, 0x2f, 0x1f, 0xb9, 0x54, 0x8e, 0xd8, 0x67, 0x23, 0x79, 0x6f, 0xe4,
- 0x00, 0x98, 0x64, 0x6c, 0x31, 0x8e, 0xd8, 0xf4, 0x0f, 0x0a, 0xd1, 0x73,
- 0x1a, 0x6f, 0x0d, 0x39, 0x29, 0x74, 0xc1, 0x89, 0x44, 0xf5, 0x03, 0x69,
- 0x41, 0x48, 0x13, 0x0d, 0x36, 0x7d, 0xe9, 0x28, 0xdd, 0xfe, 0xf4, 0x74,
- 0x87, 0x56, 0x55, 0x5b, 0x49, 0xb9, 0x22, 0x3b, 0xef, 0xb9, 0x3f, 0x3d,
- 0x49, 0x07, 0xff, 0x42, 0x42, 0xa6, 0x67, 0x6d, 0x57, 0xc2, 0x1f, 0xe5,
- 0x8c, 0x5f, 0x11, 0x67, 0x4c, 0x7f, 0x94, 0x56, 0x91, 0x14, 0x0a, 0x7b,
- 0x17, 0x08, 0xdd, 0x88, 0xc7, 0xd6, 0xa1, 0x6f, 0x72, 0x89, 0x73, 0xc1,
- 0xc5, 0xdb, 0x1f, 0x86, 0xcd, 0x79, 0xae, 0x7a, 0xbf, 0x3c, 0x68, 0x8f,
- 0x49, 0xb2, 0x3c, 0x8e, 0xac, 0x74, 0xda, 0xa3, 0x28, 0x5e, 0x84, 0x49,
- 0x09, 0xab, 0xe3, 0x7f, 0x82, 0xb8, 0xae, 0x6e, 0x3d, 0x47, 0x02, 0x13,
- 0xd5, 0x5f, 0xc2, 0x5f, 0xef, 0xd0, 0x17, 0x64, 0x7a, 0x53, 0x34, 0x36,
- 0x76, 0x9b, 0xd5, 0xe3, 0x8a, 0x6a, 0xbf, 0x48, 0xf1, 0x04, 0xb4, 0x35,
- 0x27, 0xaa, 0x40, 0x73, 0x8d, 0x5d, 0x65, 0x9a, 0x3e, 0x69, 0x07, 0xad,
- 0x2c, 0x19, 0xa0, 0xc6, 0x18, 0x44, 0x40, 0xc9, 0x0e, 0x74, 0xa4, 0xf5,
- 0x5a, 0x53, 0xe1, 0xd1, 0xa0, 0x57, 0x35, 0x91, 0xd5, 0x67, 0x59, 0x9c,
- 0xa3, 0xc8, 0x59, 0x7d, 0x9d, 0x77, 0x4b, 0x34, 0x6f, 0xf6, 0x5f, 0x97,
- 0xaf, 0xfb, 0x5b, 0x1a, 0xa3, 0x23, 0x0e, 0xcb, 0x1a, 0x16, 0x1c, 0x3a,
- 0x4b, 0xb1, 0xda, 0x6b, 0xf8, 0x9a, 0xe4, 0x42, 0x43, 0xd6, 0x26, 0xe0,
- 0x97, 0xc2, 0x50, 0x15, 0x94, 0xc4, 0xe0, 0x9e, 0x55, 0x14, 0xa6, 0x15,
- 0x89, 0x47, 0x5e, 0x29, 0x33, 0x5b, 0x97, 0x8c, 0xed, 0x42, 0x5e, 0x27,
- 0x45, 0xb0, 0x85, 0x56, 0x99, 0x1d, 0xe2, 0xe5, 0xbc, 0x7d, 0x3b, 0x51,
- 0x8a, 0xb0, 0x4a, 0x87, 0x57, 0x2a, 0x56, 0xbe, 0x78, 0x30, 0x01, 0xc0,
- 0x0a, 0xa0, 0x4b, 0xf1, 0xe5, 0xd0, 0xf1, 0x43, 0x42, 0x08, 0x13, 0x32,
- 0x8f, 0xaf, 0xb3, 0x99, 0x94, 0x0e, 0xf9, 0x85, 0x85, 0xd0, 0x3b, 0x7d,
- 0x62, 0x68, 0xdc, 0x65, 0x33, 0x1f, 0xcc, 0xca, 0x7f, 0x98, 0x69, 0x4e,
- 0xa9, 0x16, 0x59, 0x70, 0x28, 0xcc, 0xed, 0x5f, 0xf0, 0xba, 0x50, 0x74,
- 0xa3, 0xb0, 0xb6, 0xb0, 0xcf, 0x28, 0x27, 0xb4, 0xd9, 0x9c, 0xf6, 0x9e,
- 0x24, 0x87, 0xa6, 0xc7, 0x47, 0x1f, 0x3f, 0xbc, 0x1f, 0x7e, 0x38, 0xeb,
- 0x9e, 0xfd, 0xb3, 0xd3, 0xf3, 0x8b, 0xa3, 0x37, 0x1f, 0xcf, 0xce, 0x4f,
- 0x2f, 0x4e, 0x0f, 0x4f, 0x4f, 0x92, 0xcd, 0xdd, 0xad, 0x95, 0x69, 0x5e,
- 0xd6, 0x13, 0xe3, 0xd1, 0x06, 0x6a, 0xff, 0x59, 0x6a, 0xd9, 0x5e, 0x6c,
- 0xd2, 0x78, 0xc2, 0xd6, 0xbe, 0xd7, 0x6a, 0xc0, 0xad, 0x58, 0x32, 0x3b,
- 0x64, 0x70, 0xc1, 0x41, 0xb0, 0xa7, 0xc9, 0xd5, 0x82, 0x4f, 0x8a, 0x8b,
- 0xf4, 0x33, 0x6d, 0x66, 0xa0, 0x88, 0x65, 0x12, 0x6c, 0xf4, 0x32, 0x84,
- 0x56, 0x7a, 0x25, 0x9f, 0x75, 0xb5, 0x16, 0x5a, 0x03, 0x28, 0xa3, 0x6e,
- 0x57, 0xd4, 0xab, 0xb7, 0x05, 0xd3, 0x8a, 0x80, 0x95, 0xda, 0xbe, 0x01,
- 0xca, 0x7e, 0x89, 0xfd, 0x94, 0x85, 0xd5, 0x6e, 0x07, 0x54, 0x94, 0x27,
- 0x70, 0xe1, 0xcb, 0x2b, 0xa6, 0xbf, 0x85, 0x14, 0x7a, 0x94, 0x8e, 0x20,
- 0xf8, 0x87, 0xca, 0x24, 0x1c, 0x8b, 0x36, 0x0f, 0xd0, 0x6f, 0x3d, 0xb9,
- 0x8a, 0xf4, 0xa8, 0xc0, 0x71, 0xce, 0x2f, 0x33, 0xe5, 0xc6, 0xad, 0xd7,
- 0x29, 0x6a, 0x8e, 0xd4, 0x32, 0xd0, 0x02, 0x46, 0x64, 0xec, 0x91, 0x46,
- 0x96, 0x38, 0xc7, 0x07, 0x27, 0x12, 0x0a, 0x8c, 0xd2, 0xcd, 0x0c, 0xfd,
- 0xc1, 0x3c, 0xb0, 0x91, 0x79, 0x12, 0xc9, 0xc5, 0xdf, 0xa3, 0xb5, 0xef,
- 0xf1, 0x86, 0x96, 0x80, 0xda, 0x8a, 0x04, 0x03, 0x07, 0x86, 0xf4, 0x1d,
- 0x73, 0xe8, 0x10, 0x85, 0x0b, 0xdc, 0x68, 0xbc, 0xae, 0x68, 0x9a, 0xa7,
- 0xb9, 0x5d, 0xba, 0x93, 0xcb, 0xe9, 0x33, 0x9a, 0x82, 0xcf, 0x04, 0x3f,
- 0x8e, 0x8b, 0x98, 0x28, 0x3c, 0x8c, 0x8a, 0xbf, 0x6f, 0x61, 0x56, 0x84,
- 0x3b, 0xe2, 0x0c, 0x7e, 0xf0, 0x22, 0x1e, 0x9e, 0x45, 0xf8, 0x23, 0x5c,
- 0x3e, 0x3f, 0xc4, 0xad, 0x56, 0xa3, 0xdd, 0x19, 0xec, 0x24, 0xc3, 0x77,
- 0x5f, 0x09, 0xa1, 0xe2, 0x57, 0x43, 0x4e, 0xa9, 0x67, 0x4b, 0x4e, 0x5f,
- 0x19, 0xc4, 0x59, 0xab, 0x38, 0x71, 0x78, 0x2a, 0x31, 0xf2, 0xbf, 0xa4,
- 0x2e, 0x43, 0xae, 0x96, 0x9f, 0xbb, 0x61, 0xfb, 0xe3, 0xee, 0x45, 0x73,
- 0xe0, 0x39, 0xf2, 0x43, 0xc5, 0x58, 0xed, 0xb0, 0xb9, 0x46, 0x29, 0x0f,
- 0x7a, 0xb0, 0x9a, 0xbf, 0x6b, 0x2f, 0x38, 0x0f, 0xbf, 0xd9, 0x49, 0xb0,
- 0x81, 0x0c, 0x15, 0xe2, 0xdd, 0xe9, 0x38, 0x73, 0xa3, 0x04, 0x51, 0x07,
- 0x65, 0xfa, 0x30, 0xe0, 0x31, 0xbb, 0x84, 0x12, 0x87, 0x1c, 0xbc, 0x1e,
- 0x7e, 0x89, 0xa0, 0x9d, 0x85, 0x65, 0xf1, 0x62, 0xc4, 0xc8, 0x3e, 0xd2,
- 0xb1, 0xaf, 0x14, 0x2b, 0xf1, 0x5b, 0x77, 0x0e, 0xfe, 0x82, 0xd2, 0x9f,
- 0xcc, 0x7a, 0xcb, 0x97, 0xb3, 0xd0, 0x37, 0x14, 0xc4, 0x46, 0x97, 0x6b,
- 0x54, 0xce, 0x3b, 0x4b, 0x53, 0x4a, 0xea, 0xbb, 0xe7, 0x7c, 0xc0, 0x20,
- 0x79, 0x01, 0x8a, 0xd4, 0x84, 0x8c, 0x02, 0x87, 0x3d, 0xd7, 0x5d, 0x8d,
- 0xd2, 0x4f, 0x8e, 0xc7, 0x4b, 0x34, 0xa3, 0x50, 0x36, 0xf6, 0x93, 0xe4,
- 0x4d, 0x56, 0xdc, 0xab, 0x6c, 0x74, 0xe8, 0x29, 0xf0, 0x70, 0xc0, 0xe1,
- 0x9c, 0x37, 0x2e, 0x55, 0x5c, 0x31, 0xa1, 0xb6, 0x8b, 0x61, 0x97, 0xda,
- 0x7d, 0x8e, 0x49, 0x80, 0xd7, 0x76, 0x1a, 0x04, 0xb5, 0xe3, 0xcf, 0xc5,
- 0x26, 0xd8, 0x1e, 0x34, 0xae, 0x88, 0xef, 0x69, 0x8b, 0x2b, 0xa7, 0x61,
- 0x0b, 0x71, 0x04, 0x4e, 0x7c, 0xaf, 0x17, 0xa3, 0xbf, 0xd1, 0x81, 0x85,
- 0x45, 0x30, 0x4d, 0x61, 0x0c, 0xf3, 0x54, 0x08, 0xde, 0xce, 0xc8, 0x37,
- 0xf3, 0x0c, 0x07, 0xc3, 0x42, 0xaf, 0x37, 0x95, 0x87, 0x41, 0xc4, 0x53,
- 0x99, 0xbb, 0xdb, 0x9b, 0x00, 0x9d, 0x8a, 0x66, 0x59, 0x65, 0x4b, 0x2e,
- 0x5f, 0xdd, 0xe2, 0xfd, 0x4b, 0x92, 0x4e, 0x0c, 0xe2, 0xea, 0x5c, 0x63,
- 0x3c, 0x9b, 0x8c, 0x1c, 0xb4, 0x38, 0x56, 0x7a, 0x7c, 0x69, 0x5b, 0x2a,
- 0xf3, 0xea, 0xde, 0x5f, 0xe8, 0x8f, 0x70, 0x14, 0xad, 0xb8, 0x0f, 0x4d,
- 0xb4, 0x1e, 0x76, 0x7a, 0x1c, 0x02, 0x04, 0xaf, 0x2f, 0xfb, 0xc0, 0x6b,
- 0x27, 0x50, 0x57, 0xb7, 0x0d, 0xe1, 0xf3, 0x98, 0x0f, 0x7c, 0x28, 0x94,
- 0x25, 0x4d, 0xf7, 0xf7, 0xdc, 0x12, 0xb7, 0xdf, 0xa6, 0x55, 0x01, 0x9c,
- 0xba, 0x6f, 0x54, 0x10, 0xad, 0xc6, 0x5c, 0xca, 0x3a, 0xa4, 0x97, 0x04,
- 0xf1, 0xad, 0x32, 0xc7, 0x32, 0x4b, 0xeb, 0xc8, 0xec, 0x39, 0x42, 0x5c,
- 0xad, 0x80, 0xd3, 0x79, 0xd9, 0x30, 0x85, 0x36, 0x61, 0x82, 0x49, 0x67,
- 0xa8, 0xc8, 0x7b, 0xe3, 0x4d, 0xb2, 0xaa, 0x9b, 0xd4, 0x9a, 0xdd, 0x4d,
- 0xd4, 0xd2, 0x62, 0x4e, 0xe1, 0x47, 0x01, 0x6b, 0x71, 0x28, 0xd7, 0x13,
- 0x33, 0xf2, 0x39, 0x46, 0x75, 0xc1, 0xe5, 0xe4, 0x8a, 0x1e, 0xa5, 0x37,
- 0x25, 0xd5, 0x50, 0x70, 0xc0, 0x6e, 0x28, 0x42, 0x6e, 0x97, 0x5c, 0xc4,
- 0xcb, 0x40, 0x38, 0x30, 0x8d, 0xd8, 0x2a, 0x0e, 0x6c, 0x9c, 0xd6, 0xad,
- 0x2c, 0xa2, 0xbc, 0x05, 0x3b, 0x06, 0xea, 0xc2, 0xd8, 0x12, 0x44, 0xe1,
- 0x66, 0xf6, 0x64, 0xc1, 0xb1, 0x30, 0x31, 0xe4, 0x54, 0x26, 0x52, 0x0f,
- 0x01, 0x84, 0x2b, 0xc8, 0x7e, 0x18, 0x5b, 0x62, 0xa3, 0x2e, 0x4f, 0x76,
- 0xbb, 0xc0, 0xb1, 0xbd, 0x55, 0x2d, 0x38, 0xd4, 0x29, 0x8c, 0x83, 0x07,
- 0xc4, 0xf8, 0xdd, 0xbd, 0xa2, 0xd1, 0x56, 0x8a, 0xf0, 0x39, 0x25, 0x0a,
- 0x13, 0x87, 0x6c, 0xde, 0x60, 0xc1, 0x3a, 0x68, 0x58, 0x45, 0x89, 0x8a,
- 0xef, 0x63, 0x36, 0x5b, 0x74, 0x8f, 0x7c, 0x61, 0xa3, 0x7f, 0x36, 0x1d,
- 0x55, 0x4b, 0x2e, 0x41, 0x95, 0x10, 0xa7, 0x07, 0xd7, 0x0e, 0xf0, 0xca,
- 0x29, 0x10, 0xe8, 0x98, 0x02, 0x82, 0x71, 0x3f, 0xe2, 0xb6, 0x25, 0x8a,
- 0x31, 0x1b, 0xa6, 0x98, 0xf4, 0x8d, 0x10, 0x98, 0xaf, 0xf0, 0x69, 0x39,
- 0xb7, 0x4f, 0x0b, 0x47, 0xeb, 0x33, 0x53, 0xf0, 0x4f, 0x18, 0xad, 0x27,
- 0x73, 0x17, 0xe2, 0xd0, 0x8d, 0x3e, 0xf0, 0x24, 0x36, 0x93, 0x31, 0x3c,
- 0x20, 0xcf, 0xa3, 0xdb, 0x77, 0x34, 0xa8, 0xa5, 0x05, 0x05, 0x78, 0x06,
- 0x31, 0x81, 0x3a, 0x61, 0xcb, 0xb0, 0x53, 0x3c, 0x77, 0x32, 0x6d, 0x1f,
- 0x38, 0x4f, 0x0b, 0x2d, 0x22, 0x01, 0xb7, 0x10, 0x04, 0xb6, 0xf7, 0x25,
- 0x36, 0x8a, 0x82, 0x79, 0x04, 0x75, 0x93, 0x70, 0xd3, 0xcb, 0x93, 0x70,
- 0xd4, 0xfb, 0xd2, 0x2e, 0xbe, 0xda, 0x11, 0xbf, 0x0a, 0xe4, 0x24, 0x3e,
- 0x44, 0x1d, 0xcb, 0x57, 0x92, 0x22, 0x2c, 0x59, 0x8c, 0x18, 0x1f, 0xc8,
- 0xa4, 0x03, 0x6e, 0xd5, 0x9f, 0x73, 0x1d, 0xef, 0x38, 0xa2, 0x6e, 0x28,
- 0xe7, 0x4d, 0xab, 0x7d, 0x43, 0x4e, 0x2b, 0x9c, 0xd1, 0x73, 0xb4, 0x71,
- 0x85, 0xa3, 0xbb, 0xe6, 0x11, 0x30, 0xd3, 0x71, 0x8a, 0xf0, 0xbf, 0x22,
- 0x56, 0xa4, 0x5d, 0xf7, 0x4f, 0xff, 0xb7, 0x77, 0xbd, 0x98, 0x90, 0xa6,
- 0xb5, 0x5a, 0xee, 0xb1, 0x68, 0x7f, 0xe6, 0x95, 0x39, 0xd1, 0xab, 0x06,
- 0x85, 0x87, 0x7e, 0xcd, 0xa0, 0x82, 0x51, 0x61, 0x18, 0x98, 0xef, 0x60,
- 0x4d, 0xf8, 0x33, 0x2b, 0xa2, 0x08, 0x4b, 0x86, 0x60, 0x5a, 0x5c, 0x51,
- 0x88, 0xd4, 0x1b, 0x86, 0x7d, 0xf0, 0x97, 0x8e, 0xe4, 0xe1, 0x69, 0xc4,
- 0xd6, 0xa0, 0xff, 0xfe, 0xb8, 0x0f, 0x97, 0xda, 0xe4, 0xe7, 0xa5, 0xfd,
- 0x38, 0xea, 0x49, 0x5f, 0x7e, 0x87, 0x6e, 0xe4, 0xf3, 0x6b, 0x72, 0x98,
- 0xbc, 0x8a, 0x25, 0xf0, 0x78, 0x13, 0x21, 0x8f, 0xfd, 0xf6, 0xdf, 0xaf,
- 0xa6, 0x8e, 0x33, 0x67, 0xc5, 0xf7, 0xe5, 0xb1, 0xdf, 0xfc, 0xfb, 0x7c,
- 0x76, 0x1f, 0x74, 0xa0, 0x40, 0x50, 0xbd, 0x11, 0x90, 0x74, 0x44, 0x26,
- 0xfe, 0x6a, 0xa1, 0x28, 0xc0, 0xeb, 0x50, 0x2a, 0xca, 0xc7, 0xa2, 0x05,
- 0x1e, 0x44, 0x2c, 0x42, 0x2a, 0xfe, 0x26, 0x12, 0x0c, 0xa2, 0x39, 0x9c,
- 0x1c, 0xa9, 0xb8, 0xf2, 0x8a, 0xff, 0xdc, 0xfe, 0x32, 0xb6, 0x46, 0x9a,
- 0xd0, 0x41, 0xb7, 0xa0, 0x96, 0x68, 0x41, 0xcd, 0x0f, 0x26, 0x21, 0x10,
- 0x8d, 0xd7, 0xd6, 0xab, 0xa0, 0xc9, 0xb2, 0xa5, 0x7d, 0xe8, 0xd5, 0x58,
- 0x61, 0x18, 0x99, 0x21, 0xc2, 0xa2, 0x92, 0x11, 0xa6, 0x2e, 0x7f, 0x07,
- 0x42, 0x22, 0xc5, 0x23, 0xf3, 0xbe, 0x58, 0x2f, 0xab, 0xf2, 0xd5, 0xad,
- 0xaf, 0xe9, 0x38, 0x51, 0xbf, 0xe9, 0x49, 0x5d, 0x16, 0xd3, 0x1a, 0xed,
- 0x2a, 0xc1, 0x62, 0x4a, 0x20, 0x41, 0x96, 0x33, 0x64, 0x8e, 0x91, 0xda,
- 0xe9, 0xa0, 0x7f, 0x00, 0xf0, 0x94, 0x46, 0x78, 0x78, 0xfa, 0xfe, 0xfd,
- 0xd1, 0x61, 0x37, 0x58, 0x68, 0x33, 0x1b, 0x9c, 0xaa, 0x1f, 0x14, 0x06,
- 0xc4, 0xe7, 0x41, 0xf8, 0x2e, 0x91, 0x17, 0xfe, 0x3e, 0x2a, 0x06, 0xa5,
- 0xc2, 0xfa, 0xca, 0xbf, 0x94, 0x34, 0x1f, 0x66, 0x04, 0x95, 0x1d, 0x10,
- 0xc9, 0x19, 0x0b, 0xf6, 0x83, 0x9f, 0x86, 0x0e, 0xb7, 0x14, 0x31, 0x50,
- 0x68, 0xa6, 0x21, 0xcc, 0x4c, 0xe9, 0x05, 0x60, 0xdb, 0x93, 0xc9, 0xb6,
- 0xa0, 0xa2, 0xf5, 0xdb, 0xcb, 0xf6, 0x32, 0x93, 0x88, 0x51, 0xf2, 0x49,
- 0xbf, 0xbc, 0xe4, 0x1a, 0xa5, 0xb3, 0xb4, 0xfa, 0x44, 0x81, 0x46, 0x2f,
- 0x0d, 0x05, 0x69, 0x88, 0x60, 0x35, 0x9e, 0x4c, 0x62, 0xf9, 0xed, 0xf0,
- 0x5e, 0x2b, 0xec, 0x1e, 0xfe, 0x31, 0xee, 0x8c, 0xd4, 0xf5, 0xdb, 0xd7,
- 0xfc, 0x40, 0x7a, 0xbd, 0xc8, 0x6e, 0xe9, 0x33, 0x4c, 0xeb, 0x41, 0x49,
- 0xea, 0x61, 0x91, 0x00, 0x26, 0xa6, 0x66, 0x0f, 0xfd, 0xbd, 0xe4, 0xc7,
- 0xd3, 0x52, 0xcd, 0x98, 0x86, 0x1f, 0x4c, 0xbf, 0x54, 0xd9, 0x8a, 0x73,
- 0x4b, 0x82, 0xb9, 0xfa, 0x46, 0x78, 0xfa, 0x3a, 0xc1, 0xa9, 0x76, 0xc6,
- 0x08, 0x4f, 0x25, 0x75, 0x0a, 0x2e, 0x64, 0x4b, 0xe0, 0x17, 0x5e, 0x3f,
- 0x76, 0x3b, 0x60, 0xae, 0xb1, 0x10, 0x64, 0xaf, 0xd4, 0x8e, 0xd5, 0x47,
- 0x4a, 0x00, 0xfa, 0xbb, 0x3e, 0x38, 0xcf, 0xc4, 0xbf, 0xcd, 0xb8, 0xb4,
- 0x02, 0x37, 0xda, 0xb3, 0x2e, 0x8b, 0x2c, 0x08, 0x96, 0xe0, 0x70, 0x24,
- 0x66, 0xb5, 0x2b, 0x20, 0xe8, 0xe9, 0x61, 0x1c, 0xd7, 0x40, 0xd1, 0x25,
- 0x91, 0x8a, 0x04, 0xb3, 0x9e, 0x96, 0xd2, 0xa6, 0xbd, 0x6a, 0xe6, 0x97,
- 0x56, 0x42, 0x66, 0x5f, 0x49, 0x52, 0xd8, 0xa3, 0x2f, 0x47, 0xd8, 0xfc,
- 0x39, 0x5f, 0x34, 0x41, 0x58, 0x8e, 0x38, 0xa3, 0x98, 0x27, 0xe0, 0xcb,
- 0x7e, 0x58, 0x67, 0x29, 0x9d, 0xf8, 0xab, 0x0a, 0x11, 0x0e, 0xd3, 0xbf,
- 0x6e, 0x8c, 0x04, 0x78, 0x80, 0xd3, 0x0f, 0x9c, 0xae, 0xb6, 0xd2, 0x44,
- 0xdb, 0xae, 0xc1, 0x8c, 0xb9, 0xcd, 0xba, 0x0d, 0xdf, 0x42, 0x77, 0x37,
- 0xd8, 0x57, 0x54, 0x48, 0xac, 0x62, 0x05, 0x01, 0x6f, 0x61, 0x47, 0xfe,
- 0x19, 0x3b, 0x87, 0xbc, 0x4f, 0xd9, 0xb2, 0x6b, 0xe9, 0x13, 0x97, 0x7e,
- 0xe2, 0x87, 0x7e, 0xfb, 0xbb, 0x69, 0x75, 0xb9, 0x74, 0x77, 0x39, 0xda,
- 0xe7, 0x7e, 0x8f, 0x1e, 0x44, 0xeb, 0x8f, 0xb7, 0xbe, 0xfd, 0xf8, 0xcf,
- 0x06, 0x04, 0x7a, 0x8f, 0xbb, 0x77, 0x1d, 0x39, 0xa4, 0x63, 0x87, 0x0c,
- 0x12, 0x1e, 0x6f, 0xc3, 0x74, 0xb0, 0xd6, 0x9d, 0xbc, 0xf2, 0x16, 0x76,
- 0x7c, 0x00, 0xfe, 0x45, 0x1c, 0x09, 0x7f, 0xc7, 0x88, 0x2a, 0x25, 0x9c,
- 0xf3, 0xb8, 0x4b, 0xf9, 0xc1, 0x4b, 0xb8, 0x95, 0x4e, 0xda, 0x45, 0x5a,
- 0xd9, 0x74, 0xb2, 0x47, 0x4e, 0x5c, 0x24, 0x81, 0x32, 0xf9, 0x27, 0x15,
- 0x16, 0xe4, 0xb0, 0xb5, 0xd4, 0x15, 0x7c, 0xa5, 0x35, 0x09, 0x8f, 0xb9,
- 0x97, 0x82, 0x29, 0x71, 0x6b, 0x10, 0xd1, 0x56, 0xc2, 0x59, 0x58, 0x05,
- 0xa4, 0x77, 0xdb, 0x13, 0x4f, 0xfd, 0xe6, 0xc7, 0xe2, 0xff, 0x30, 0x0a,
- 0xdc, 0x07, 0x81, 0x7b, 0x7e, 0x89, 0xff, 0x87, 0x02, 0xff, 0x7f, 0x28,
- 0xf0, 0xdf, 0x01, 0x05, 0xfe, 0x5b, 0xe2, 0x91, 0x71, 0x7a, 0x68, 0x45,
- 0xf2, 0xb1, 0xe4, 0xd7, 0xbc, 0x5a, 0xca, 0x93, 0xaa, 0x79, 0x67, 0x2d,
- 0x38, 0x88, 0x84, 0x6c, 0xdd, 0xd2, 0xe6, 0x63, 0x5b, 0x1d, 0x14, 0x31,
- 0x32, 0x7c, 0x22, 0x60, 0x3d, 0x92, 0xdd, 0x12, 0x41, 0x94, 0xf9, 0x51,
- 0xd5, 0x27, 0xb1, 0xb3, 0x5e, 0xd7, 0xd3, 0x3e, 0xfa, 0x40, 0xc9, 0xaf,
- 0x81, 0xa5, 0xe8, 0x24, 0x4d, 0xe7, 0xb9, 0xdf, 0x5e, 0xe8, 0x34, 0xd3,
- 0x9a, 0x24, 0xe1, 0x63, 0x14, 0x02, 0xff, 0xd1, 0xdf, 0xa3, 0x1f, 0x16,
- 0x02, 0xf4, 0x8a, 0xf1, 0x3d, 0x2b, 0x7b, 0x62, 0x1f, 0xfe, 0x3d, 0x7a,
- 0x82, 0x7c, 0xda, 0xe8, 0x1e, 0x6a, 0xf5, 0x01, 0x8f, 0xfd, 0x1e, 0xdf,
- 0xbf, 0xd9, 0x5d, 0xf6, 0x59, 0xd4, 0x00, 0xc4, 0x13, 0xbf, 0xe1, 0x87,
- 0x3f, 0x58, 0x93, 0x9e, 0xd3, 0x8f, 0x5f, 0xd1, 0x7f, 0xf7, 0x75, 0x86,
- 0x57, 0x16, 0x17, 0x5a, 0xc2, 0xd9, 0xec, 0x95, 0x36, 0x16, 0x57, 0xc1,
- 0xca, 0x04, 0xff, 0x65, 0x19, 0xfc, 0xcc, 0xdf, 0x22, 0x6c, 0xae, 0x20,
- 0xd9, 0xee, 0x5b, 0x32, 0x3c, 0xb6, 0x40, 0x85, 0x80, 0x82, 0xfd, 0x8f,
- 0xc6, 0xaa, 0x13, 0x4a, 0x94, 0x2e, 0x0b, 0x8e, 0x53, 0xf5, 0xe8, 0x34,
- 0xc7, 0x15, 0x18, 0xc6, 0x30, 0xde, 0x6b, 0x41, 0x48, 0xbf, 0xec, 0x43,
- 0x80, 0xac, 0x98, 0x32, 0x61, 0xda, 0x6a, 0xce, 0x6a, 0xf0, 0x0c, 0xf8,
- 0xe4, 0x21, 0x23, 0x76, 0x3a, 0x04, 0x25, 0x41, 0x38, 0xe6, 0xed, 0x91,
- 0x19, 0x4e, 0x5d, 0xc2, 0xb9, 0x15, 0x59, 0xfb, 0xc9, 0x7a, 0xff, 0x43,
- 0xb2, 0xbf, 0xfe, 0x3b, 0x4a, 0x52, 0xcf, 0xb5, 0xf3, 0x0b, 0x80, 0xaa,
- 0xed, 0x92, 0x20, 0xcb, 0x61, 0x9b, 0x6d, 0xec, 0x5e, 0x90, 0x28, 0x1f,
- 0x07, 0x6c, 0x5e, 0x12, 0x7b, 0xee, 0xfb, 0xee, 0x02, 0x44, 0x90, 0x8f,
- 0x84, 0xef, 0x60, 0x38, 0x85, 0x1d, 0x5d, 0x83, 0xac, 0x51, 0xa4, 0xe0,
- 0xfb, 0xd1, 0x96, 0x0f, 0x41, 0x31, 0x52, 0x87, 0xe7, 0x5c, 0x8e, 0xe0,
- 0xf4, 0x00, 0x9c, 0xc0, 0x31, 0xb3, 0xe3, 0x09, 0xe5, 0xdb, 0x03, 0x77,
- 0x0e, 0x68, 0x46, 0x19, 0xbc, 0xa9, 0xd8, 0x4d, 0x1f, 0xba, 0x69, 0x94,
- 0x38, 0x2f, 0x00, 0xe6, 0x68, 0xc1, 0xc8, 0x6b, 0x11, 0x0f, 0xbd, 0x60,
- 0x1b, 0x82, 0x27, 0xfa, 0xb3, 0xa0, 0xe6, 0x13, 0x1f, 0x7d, 0xf5, 0x30,
- 0x69, 0x63, 0xc9, 0x4d, 0x9e, 0x72, 0x58, 0x93, 0x27, 0x52, 0xbe, 0xc5,
- 0x33, 0xea, 0x3e, 0xb5, 0xcc, 0xb9, 0xcd, 0x5c, 0x0a, 0x91, 0xfc, 0xab,
- 0xf7, 0xc3, 0x61, 0x88, 0xe1, 0x2c, 0xcc, 0x7d, 0x5f, 0x5e, 0x15, 0xf9,
- 0x3f, 0x84, 0xf8, 0xa1, 0x8b, 0xbd, 0x6a, 0x61, 0x68, 0x05, 0x83, 0xc5,
- 0xc5, 0xed, 0x10, 0x7d, 0xec, 0xae, 0x06, 0x30, 0x24, 0x2a, 0xa5, 0x00,
- 0x84, 0x20, 0x76, 0x12, 0x9d, 0x4a, 0xae, 0xb2, 0xcd, 0xb5, 0x16, 0x5a,
- 0x91, 0x44, 0x65, 0x42, 0xe8, 0xaa, 0xb8, 0xb2, 0x2b, 0x04, 0xaa, 0xf8,
- 0xdf, 0x00, 0xf3, 0xda, 0xf6, 0x47, 0x78, 0xcc, 0x45, 0xd9, 0x5d, 0x5e,
- 0x43, 0x4d, 0x8c, 0x31, 0x0e, 0x89, 0xbf, 0x27, 0x52, 0xae, 0xc9, 0xf7,
- 0xef, 0x81, 0x66, 0xfd, 0x11, 0xf4, 0x45, 0xd4, 0x4e, 0x13, 0xa5, 0xe8,
- 0x8f, 0x90, 0x17, 0xd9, 0xd6, 0x1f, 0xc1, 0x5a, 0x44, 0xbe, 0x31, 0xe5,
- 0x9d, 0x95, 0x2e, 0x83, 0x92, 0x9d, 0xeb, 0xfd, 0x65, 0x4c, 0x35, 0x64,
- 0xa1, 0xea, 0xdc, 0x32, 0x0e, 0x6c, 0xb4, 0x64, 0xd8, 0x9c, 0x38, 0xfd,
- 0x49, 0xa1, 0x1d, 0x69, 0x26, 0x4c, 0xc3, 0x73, 0x4b, 0x6f, 0x0f, 0x88,
- 0x58, 0x87, 0xb2, 0x00, 0x2c, 0xe7, 0x09, 0x69, 0xc7, 0x48, 0x89, 0xd1,
- 0x3d, 0xd1, 0xdd, 0x5a, 0x8e, 0x03, 0xd8, 0x76, 0x91, 0xe3, 0xae, 0xe2,
- 0x36, 0xb3, 0x05, 0x6e, 0x1c, 0xd5, 0x37, 0xb2, 0x7a, 0xa5, 0x2e, 0x7a,
- 0x48, 0x37, 0xa8, 0xd3, 0xd4, 0x2c, 0x8c, 0x72, 0x4c, 0xcc, 0x80, 0x8c,
- 0x7b, 0xb7, 0x6b, 0xd2, 0x23, 0xe9, 0xc3, 0x22, 0x57, 0x8c, 0xdf, 0xfe,
- 0x5c, 0xa5, 0x6c, 0x77, 0xb0, 0xf7, 0xd2, 0xc8, 0x92, 0xfa, 0xd0, 0xff,
- 0x77, 0x40, 0xa5, 0xbd, 0x9b, 0x82, 0xae, 0x9d, 0xf0, 0x9e, 0x80, 0xef,
- 0x9d, 0xcc, 0x1c, 0x06, 0x17, 0xdc, 0xa6, 0x96, 0xa2, 0x3e, 0xa6, 0xa4,
- 0x47, 0x4f, 0x52, 0xaf, 0x85, 0x0d, 0xf3, 0x24, 0x88, 0xca, 0x47, 0x46,
- 0x68, 0x52, 0x71, 0x9c, 0x08, 0x81, 0x03, 0x3a, 0x40, 0x89, 0x9a, 0x93,
- 0x4c, 0x98, 0x57, 0xfe, 0xe2, 0x18, 0xe2, 0x7f, 0x6f, 0x33, 0x67, 0xd7,
- 0xc8, 0xe6, 0x57, 0xde, 0x7d, 0xfc, 0xc5, 0x63, 0x32, 0x47, 0x70, 0xd4,
- 0x12, 0x7a, 0xb5, 0x4d, 0x70, 0x16, 0x11, 0x7a, 0xf1, 0x03, 0x83, 0xb2,
- 0x74, 0x4c, 0x62, 0x25, 0xe2, 0x8d, 0xe0, 0x26, 0xf4, 0xf2, 0x12, 0x01,
- 0x27, 0x14, 0x7a, 0x4a, 0x9f, 0x6d, 0xe4, 0xf9, 0x28, 0x6b, 0x6e, 0x09,
- 0x94, 0x8d, 0xd9, 0xd0, 0x69, 0xf4, 0x64, 0x80, 0x95, 0x87, 0x4b, 0x83,
- 0xc8, 0x3d, 0xe1, 0x2e, 0x24, 0x89, 0xc2, 0xfc, 0x8c, 0xb6, 0x34, 0xb5,
- 0x46, 0x4a, 0x82, 0xe3, 0x17, 0x2b, 0xf9, 0xe0, 0xe2, 0x3e, 0xfc, 0x7d,
- 0x9a, 0x17, 0x0f, 0xe2, 0xd6, 0x02, 0xb4, 0x2b, 0x16, 0x40, 0x1e, 0xf4,
- 0xdd, 0x66, 0xf6, 0x18, 0xcb, 0xb1, 0x8d, 0x39, 0x14, 0xda, 0x62, 0x4e,
- 0x17, 0xdf, 0xd3, 0xb3, 0xda, 0x2e, 0x77, 0x09, 0x02, 0xe0, 0x7e, 0x8c,
- 0xe4, 0x7c, 0xf1, 0x32, 0x7a, 0x17, 0x29, 0x00, 0x3d, 0x3c, 0x15, 0x92,
- 0xab, 0xc3, 0x02, 0xc4, 0xce, 0xc3, 0xd2, 0x63, 0xe1, 0x0d, 0x73, 0x96,
- 0x11, 0xbc, 0x48, 0x4e, 0x6b, 0xae, 0x0c, 0x06, 0xf4, 0xad, 0x3e, 0x22,
- 0x51, 0x4e, 0x54, 0x32, 0x59, 0x12, 0x7d, 0x24, 0x70, 0xff, 0xd3, 0x47,
- 0xd3, 0xb9, 0xf9, 0x12, 0xb8, 0xd7, 0xe9, 0x7a, 0x9b, 0xa5, 0x5c, 0x1a,
- 0x49, 0xa4, 0x9e, 0x37, 0x0d, 0x9d, 0xb0, 0x56, 0x04, 0xaa, 0x18, 0x96,
- 0x13, 0x12, 0x23, 0x82, 0x05, 0x93, 0xc0, 0x5c, 0xc5, 0x1f, 0xa1, 0x21,
- 0x2e, 0x71, 0x94, 0xd2, 0xae, 0x8c, 0x13, 0xf9, 0x08, 0xc7, 0x69, 0xc1,
- 0xdb, 0xa6, 0x2b, 0xb0, 0xc3, 0x72, 0xbc, 0x17, 0x25, 0xab, 0x53, 0x5c,
- 0x7d, 0xb7, 0xdb, 0x77, 0x41, 0xe0, 0x68, 0x0d, 0x26, 0x86, 0xb0, 0xd0,
- 0x17, 0xb8, 0xa4, 0x62, 0x68, 0x34, 0x08, 0x7b, 0x88, 0xbe, 0x20, 0x24,
- 0x9a, 0xd2, 0xbe, 0xad, 0x54, 0xb7, 0x2c, 0xa6, 0x10, 0x8b, 0xbf, 0xb6,
- 0x84, 0x83, 0x78, 0x0d, 0x23, 0x5e, 0xf5, 0xcd, 0x21, 0xd5, 0x25, 0x18,
- 0x1e, 0x9e, 0x6d, 0x25, 0x67, 0xce, 0xdb, 0x04, 0x1f, 0x1e, 0xa0, 0xf9,
- 0x74, 0x67, 0xfb, 0xf2, 0x5e, 0x2a, 0x03, 0x31, 0x4b, 0x5a, 0xdc, 0x79,
- 0x24, 0xee, 0x3c, 0xec, 0x5d, 0xcb, 0x05, 0x88, 0xa0, 0xcd, 0x6f, 0x2e,
- 0xff, 0x3a, 0x63, 0x39, 0x00, 0x23, 0x08, 0x33, 0x04, 0x88, 0x9b, 0xca,
- 0x17, 0x06, 0xc6, 0xa6, 0x2b, 0x29, 0xe1, 0x84, 0x6b, 0x71, 0x88, 0x3b,
- 0x8d, 0x77, 0x10, 0x86, 0xde, 0x69, 0x0e, 0x13, 0xa1, 0x98, 0x51, 0x8f,
- 0x0a, 0x45, 0x8a, 0x62, 0xd5, 0x7c, 0xfb, 0x75, 0xd8, 0xaa, 0xb1, 0xbd,
- 0xaf, 0xb2, 0x22, 0xe4, 0xbf, 0xc7, 0x47, 0x49, 0x5f, 0x90, 0x0d, 0x3c,
- 0x19, 0x74, 0x99, 0x97, 0x3d, 0x77, 0x9f, 0x74, 0x2e, 0x07, 0x82, 0x99,
- 0xf7, 0xfb, 0x12, 0x8e, 0x36, 0x56, 0x25, 0xa9, 0x26, 0x16, 0x09, 0xde,
- 0x2b, 0x72, 0xb0, 0x36, 0xb8, 0x48, 0xe7, 0xf7, 0x34, 0x19, 0xe6, 0xb1,
- 0xba, 0xbe, 0xde, 0x33, 0xe2, 0x69, 0x6f, 0xf0, 0x82, 0x0d, 0xdc, 0x6b,
- 0xa3, 0x13, 0x44, 0x08, 0x1d, 0x39, 0xf4, 0x2b, 0xd5, 0xf3, 0x3a, 0xed,
- 0x89, 0xb2, 0x3f, 0x70, 0xf6, 0x45, 0xff, 0x7f, 0xd0, 0x4e, 0xfb, 0xfb,
- 0x22, 0xf4, 0xbc, 0x6f, 0xd2, 0x86, 0x4a, 0x68, 0x5b, 0x6d, 0x71, 0xad,
- 0x27, 0x8e, 0x11, 0x8e, 0xf2, 0x06, 0xe4, 0xca, 0xca, 0x20, 0xd4, 0x3e,
- 0x98, 0xa8, 0x87, 0x52, 0xe1, 0xad, 0x68, 0xc6, 0xe8, 0x20, 0xf9, 0x1f,
- 0xf4, 0x29, 0x7d, 0x9b, 0x01, 0xfa, 0x08, 0x63, 0x7e, 0x75, 0xf4, 0xf6,
- 0xf4, 0xfc, 0xa8, 0x9d, 0xb4, 0xd3, 0x70, 0xf1, 0x5d, 0x84, 0xe9, 0xba,
- 0xbd, 0x03, 0x2d, 0x92, 0x26, 0x97, 0x4a, 0x8c, 0x31, 0x27, 0x9c, 0x65,
- 0x72, 0xf6, 0xfd, 0x1b, 0xdb, 0xbb, 0x1c, 0xe2, 0xf9, 0xad, 0x57, 0x36,
- 0xb6, 0xc7, 0x33, 0xdd, 0xd5, 0x20, 0x48, 0xd7, 0xa0, 0xda, 0x24, 0x52,
- 0xeb, 0xd4, 0xf6, 0x0f, 0xc1, 0x51, 0x0e, 0x6a, 0xf3, 0xb7, 0x52, 0x66,
- 0xe1, 0xad, 0x6b, 0x4a, 0x49, 0xb5, 0x8d, 0x06, 0xea, 0x35, 0x6b, 0x18,
- 0xe0, 0x9e, 0x11, 0x58, 0x60, 0xca, 0xf4, 0x43, 0xc4, 0x49, 0x34, 0x48,
- 0xc2, 0x0f, 0x69, 0x38, 0x17, 0x5f, 0x89, 0xc5, 0xe1, 0xa9, 0x18, 0x2f,
- 0xbb, 0x30, 0xf9, 0x5a, 0x25, 0x16, 0x79, 0xda, 0xb4, 0xb6, 0x0c, 0x4a,
- 0x8f, 0xa9, 0xa2, 0xc4, 0x51, 0xeb, 0x4f, 0x64, 0x24, 0xb6, 0x65, 0xbe,
- 0xb9, 0x59, 0x13, 0x4c, 0xd9, 0xeb, 0xaa, 0xfd, 0x4d, 0xa2, 0x76, 0xfa,
- 0xc6, 0x5f, 0x36, 0x1c, 0xa2, 0x9b, 0xcb, 0x39, 0xc5, 0xcb, 0x9f, 0xb9,
- 0x72, 0x38, 0x5b, 0x0f, 0x61, 0x2f, 0x74, 0xc4, 0xcb, 0x6c, 0x34, 0x71,
- 0xba, 0x4b, 0x38, 0x1e, 0x55, 0xe9, 0x00, 0x3a, 0x80, 0x8b, 0x16, 0x15,
- 0x9e, 0x2c, 0xcb, 0x9e, 0x36, 0xd5, 0x8b, 0x25, 0xb0, 0x92, 0xd7, 0xa7,
- 0x6a, 0x97, 0x7d, 0xb5, 0xc9, 0x5b, 0xf0, 0x77, 0x2b, 0x01, 0x32, 0xea,
- 0xa5, 0xa1, 0xf8, 0x48, 0x7d, 0x5f, 0x34, 0x74, 0x5a, 0x21, 0x58, 0x82,
- 0x49, 0xab, 0x70, 0x21, 0xd1, 0x5e, 0x72, 0xbb, 0xb7, 0x46, 0xa2, 0xf8,
- 0xcb, 0x67, 0x2f, 0x49, 0x89, 0x00, 0xc0, 0x40, 0x2a, 0xc4, 0x08, 0x49,
- 0x68, 0x8f, 0x8f, 0x6a, 0x48, 0xa0, 0x29, 0xaa, 0x87, 0x6d, 0x49, 0xea,
- 0x7a, 0x8e, 0xb2, 0x29, 0xd7, 0xa4, 0x19, 0x7a, 0x8d, 0xac, 0xb6, 0x2d,
- 0x97, 0x03, 0x78, 0x07, 0xac, 0x9f, 0x98, 0x65, 0x48, 0x3f, 0xb9, 0xec,
- 0xe1, 0x65, 0x47, 0xb3, 0xa7, 0x5b, 0xc1, 0xeb, 0x97, 0xa5, 0x55, 0x37,
- 0x62, 0x3b, 0xab, 0xf2, 0xfa, 0x93, 0x39, 0x78, 0x7f, 0x16, 0x3a, 0xa1,
- 0x99, 0x4d, 0x32, 0x8c, 0xc4, 0x87, 0xf2, 0x62, 0xc1, 0xe4, 0xa1, 0xb6,
- 0x62, 0xb4, 0xb6, 0x78, 0x89, 0x12, 0x46, 0xc4, 0x47, 0x19, 0xcb, 0x7a,
- 0xa9, 0x9b, 0x72, 0x1e, 0x14, 0x98, 0x90, 0x94, 0x65, 0xd9, 0x09, 0xe1,
- 0xad, 0x49, 0x53, 0x05, 0xea, 0x55, 0xf1, 0x13, 0xaa, 0xf2, 0x34, 0x48,
- 0x3e, 0x14, 0xd0, 0x6e, 0x64, 0x6b, 0xca, 0x55, 0x92, 0x17, 0x66, 0x2c,
- 0x66, 0xac, 0x94, 0xfb, 0x1c, 0x11, 0x54, 0x90, 0x85, 0x6e, 0x6f, 0x25,
- 0x2a, 0x4a, 0x3b, 0x01, 0x10, 0x1c, 0x6d, 0xcb, 0x94, 0xcb, 0xb2, 0x2d,
- 0x79, 0x1b, 0x96, 0x64, 0xe2, 0x6a, 0x32, 0x52, 0xba, 0x1c, 0x6d, 0x53,
- 0x80, 0x2b, 0x9b, 0x4e, 0xfb, 0x4c, 0xd5, 0x4b, 0xd4, 0xa5, 0x64, 0x67,
- 0x70, 0x3e, 0x21, 0x00, 0x2a, 0x6a, 0x84, 0x91, 0x0d, 0x16, 0xdc, 0x3e,
- 0x48, 0x8b, 0x1c, 0x00, 0xe3, 0xaf, 0x7c, 0x02, 0x92, 0x6d, 0xa1, 0xe9,
- 0x10, 0x94, 0x3d, 0xe3, 0x5c, 0x33, 0x98, 0x9d, 0xbf, 0xab, 0xd0, 0x8d,
- 0xd5, 0x4f, 0x09, 0xb9, 0xef, 0xc6, 0xd7, 0x57, 0xd5, 0x9c, 0x0b, 0x39,
- 0xc5, 0xaa, 0x4c, 0x79, 0x06, 0x00, 0x3f, 0xa9, 0x6b, 0x5b, 0x67, 0x0d,
- 0x77, 0x85, 0x5f, 0x3d, 0x7e, 0xd3, 0x2a, 0x08, 0x4b, 0x33, 0x11, 0xab,
- 0x6f, 0xe2, 0x33, 0x14, 0x70, 0x08, 0x13, 0x47, 0xd6, 0xdd, 0x2d, 0xb6,
- 0x35, 0x67, 0xed, 0x8c, 0xee, 0xdd, 0x6f, 0xe2, 0xcd, 0x49, 0x1b, 0xac,
- 0xce, 0x72, 0x0b, 0xda, 0x2c, 0xf6, 0x8a, 0x96, 0x2c, 0xa6, 0xdd, 0x40,
- 0xe5, 0xc9, 0xf5, 0x23, 0x21, 0x08, 0xea, 0x7a, 0x56, 0x4e, 0x28, 0x63,
- 0x23, 0x7b, 0x70, 0x2e, 0xe8, 0x41, 0x9d, 0x0b, 0xc9, 0x76, 0xa9, 0xfd,
- 0x71, 0xa1, 0x11, 0xb3, 0x4b, 0x69, 0xe7, 0x89, 0x10, 0x8b, 0x37, 0xe7,
- 0x06, 0xaa, 0x85, 0xd5, 0x32, 0x7e, 0xd9, 0x1f, 0x42, 0x91, 0x94, 0xe3,
- 0xc6, 0x1b, 0x01, 0x3d, 0x10, 0x6f, 0x8e, 0x85, 0x6f, 0x64, 0x64, 0x94,
- 0x00, 0x01, 0xe3, 0xf6, 0xa1, 0x91, 0xd1, 0x83, 0xc1, 0x2a, 0x9b, 0x1f,
- 0xb2, 0x48, 0xef, 0x2c, 0x31, 0x2f, 0x4e, 0xbc, 0xb9, 0xf6, 0x02, 0xeb,
- 0x0a, 0xa3, 0x0f, 0xb1, 0x05, 0x16, 0xa2, 0xd4, 0x50, 0x0b, 0x73, 0xa6,
- 0x3a, 0xcf, 0x8e, 0x7d, 0x70, 0xe9, 0x02, 0xcb, 0x37, 0x82, 0x59, 0x98,
- 0x1a, 0x09, 0x69, 0xb4, 0xe0, 0x71, 0xf6, 0x91, 0x8b, 0xda, 0x53, 0xb5,
- 0xfa, 0xe6, 0xe3, 0xea, 0x09, 0x99, 0x4a, 0xde, 0xf1, 0xfd, 0x0c, 0x95,
- 0x51, 0xad, 0xac, 0x10, 0x0a, 0xc3, 0x54, 0xf2, 0x70, 0x8d, 0x12, 0xc8,
- 0xd5, 0x67, 0x9b, 0xe5, 0x13, 0xe2, 0x7d, 0x8f, 0x69, 0xd5, 0xf9, 0xaa,
- 0x9a, 0x97, 0x39, 0xd7, 0x1c, 0xb7, 0x32, 0xc6, 0xeb, 0x63, 0x8c, 0xf3,
- 0x62, 0x55, 0xa0, 0x65, 0xf6, 0x89, 0x52, 0x28, 0xac, 0xa2, 0xf0, 0x31,
- 0x42, 0x41, 0xef, 0x0d, 0x8e, 0x9f, 0xd6, 0xd5, 0xe6, 0x21, 0x29, 0xe3,
- 0xba, 0xab, 0xa0, 0xe7, 0x8e, 0xf3, 0x8a, 0x7d, 0xdc, 0xfe, 0xa4, 0x3d,
- 0x93, 0xdd, 0xfe, 0xcd, 0x6f, 0x27, 0x96, 0xf6, 0xe1, 0xd6, 0x1d, 0x21,
- 0x55, 0x01, 0x50, 0x8b, 0x54, 0xab, 0x54, 0x12, 0x40, 0x81, 0x1b, 0xbb,
- 0x54, 0xa2, 0xd5, 0x25, 0x53, 0x01, 0xfe, 0xd5, 0x40, 0x4b, 0x0a, 0x3e,
- 0x5e, 0x65, 0x8c, 0x6b, 0xc3, 0xfc, 0xca, 0x72, 0x2c, 0x9f, 0x1c, 0x79,
- 0xda, 0x75, 0x91, 0xe5, 0xbb, 0x5f, 0x50, 0xdb, 0xcd, 0x91, 0x1e, 0x87,
- 0x15, 0x02, 0x4f, 0x3e, 0xdb, 0x15, 0x79, 0x93, 0x8c, 0x7c, 0xc4, 0xbc,
- 0x17, 0x00, 0xc9, 0x78, 0xf8, 0x64, 0x71, 0xcf, 0x97, 0xce, 0x71, 0x35,
- 0x7b, 0xe0, 0x90, 0x9b, 0x07, 0xdc, 0xa8, 0x38, 0x67, 0xdd, 0x8e, 0x2a,
- 0x38, 0x97, 0x52, 0x8d, 0x73, 0xc9, 0xcc, 0x2f, 0xeb, 0x41, 0x6b, 0x17,
- 0x2e, 0xef, 0x89, 0x3c, 0x19, 0xed, 0x8e, 0x9b, 0x5c, 0xca, 0x8b, 0xbb,
- 0x77, 0x3d, 0x8b, 0x37, 0x27, 0xdd, 0x75, 0x6f, 0xc9, 0xf4, 0xf4, 0x3c,
- 0x47, 0x2a, 0x33, 0xd6, 0x1b, 0xe3, 0x32, 0xdc, 0x1b, 0x7a, 0xc0, 0x7f,
- 0x91, 0x80, 0x20, 0x2b, 0x7e, 0x5a, 0xf8, 0x76, 0x3b, 0x7d, 0xd1, 0xdc,
- 0xbd, 0x2b, 0xc0, 0xea, 0x1e, 0xdb, 0xb5, 0x5d, 0x6e, 0x2e, 0x80, 0x88,
- 0x50, 0x21, 0x00, 0x37, 0x00, 0xa2, 0xa1, 0xe2, 0x89, 0xd8, 0xce, 0xa0,
- 0xea, 0x99, 0x10, 0x97, 0x7c, 0x88, 0x8c, 0x4d, 0xf8, 0x9b, 0x09, 0xe3,
- 0x32, 0x30, 0xad, 0xe0, 0x18, 0x10, 0x45, 0x44, 0x0b, 0x2c, 0xd6, 0x99,
- 0x58, 0x13, 0xf2, 0x38, 0xd3, 0xd3, 0x87, 0x55, 0x25, 0x3b, 0x00, 0x99,
- 0x7a, 0xe0, 0x39, 0x2b, 0x98, 0xd3, 0x35, 0xbb, 0x9a, 0xf8, 0x35, 0x5a,
- 0xbd, 0xe1, 0x57, 0x3d, 0x9e, 0x82, 0x2b, 0x33, 0x78, 0xfc, 0x11, 0x85,
- 0x81, 0x43, 0x6b, 0x86, 0xb2, 0x42, 0xb9, 0xc8, 0x5b, 0xc9, 0x79, 0x46,
- 0x69, 0x8f, 0x37, 0x24, 0x4c, 0x47, 0xf7, 0x0d, 0x3a, 0x68, 0x1a, 0xd8,
- 0xcc, 0x07, 0xe6, 0x3a, 0x64, 0xd8, 0x2f, 0xa9, 0x48, 0xc4, 0xfa, 0x1c,
- 0xe8, 0x34, 0x66, 0x67, 0x6c, 0x09, 0x9c, 0x06, 0xf1, 0x27, 0xd4, 0xe9,
- 0xd9, 0x1d, 0xec, 0x1a, 0x65, 0x1c, 0x36, 0xad, 0x18, 0xa8, 0x6a, 0x69,
- 0x10, 0x38, 0x49, 0x18, 0x67, 0xe9, 0xd3, 0x5d, 0x6f, 0xc4, 0x39, 0x7d,
- 0xb8, 0x0e, 0x5d, 0xd4, 0xf0, 0x73, 0x3b, 0xb3, 0xe6, 0x36, 0xbd, 0x0f,
- 0x15, 0xf5, 0x9d, 0xfe, 0xd3, 0x97, 0x2f, 0x5b, 0x37, 0x7a, 0xed, 0x31,
- 0xf6, 0x3e, 0xdb, 0xd9, 0xc1, 0xd8, 0x82, 0xac, 0x47, 0xf3, 0x8b, 0xfe,
- 0x4b, 0xbc, 0xd8, 0x7e, 0xad, 0xce, 0xcc, 0x12, 0x4c, 0x96, 0xbf, 0xd7,
- 0xa7, 0xdf, 0x44, 0x3e, 0x07, 0xaf, 0xcb, 0xd2, 0xb7, 0x5e, 0xd2, 0xe7,
- 0x22, 0x6f, 0xe1, 0x61, 0x9e, 0xc6, 0xf2, 0xf2, 0x92, 0xdc, 0x5d, 0xf4,
- 0xa4, 0x72, 0x58, 0xdc, 0xa6, 0xd5, 0x24, 0x1c, 0xee, 0x4e, 0xaf, 0xbf,
- 0xbb, 0x6c, 0xb8, 0xe0, 0x1b, 0x06, 0xbc, 0x85, 0xd6, 0x93, 0xac, 0x49,
- 0x63, 0x4b, 0x70, 0x0a, 0x40, 0xb7, 0xa1, 0x5d, 0xd3, 0xa3, 0xdd, 0x97,
- 0x2f, 0x7b, 0xd4, 0xb3, 0x67, 0x2f, 0x5f, 0x2e, 0x4d, 0xf9, 0xf4, 0x3e,
- 0x73, 0x5b, 0x3a, 0x27, 0x15, 0xbd, 0xee, 0x36, 0x4d, 0x4d, 0x26, 0x4b,
- 0xfc, 0x3b, 0xf4, 0x9b, 0xd7, 0xc9, 0xfb, 0xd3, 0x8b, 0x23, 0xcf, 0x7d,
- 0x83, 0xe3, 0xc5, 0xe1, 0x4b, 0xcf, 0x1e, 0x45, 0x3c, 0x78, 0x8e, 0x8a,
- 0x31, 0x30, 0x8d, 0xc9, 0xd6, 0x0a, 0x51, 0x0e, 0x80, 0xa3, 0xab, 0xdf,
- 0xf0, 0x0f, 0xdd, 0xcf, 0x9d, 0x02, 0xfa, 0x3f, 0xc9, 0xaf, 0xf2, 0xc6,
- 0xe7, 0x38, 0xd9, 0x34, 0xab, 0xbd, 0x05, 0x4f, 0xc8, 0x4d, 0x3a, 0xcd,
- 0x6d, 0x68, 0x67, 0xa3, 0x26, 0xf8, 0x36, 0x23, 0xdd, 0x36, 0xc8, 0x30,
- 0xda, 0x08, 0x00, 0xd4, 0xd9, 0x74, 0x52, 0xeb, 0x45, 0xc8, 0x8f, 0xf7,
- 0xf1, 0xa0, 0x9c, 0x16, 0xd8, 0xb3, 0x5c, 0x98, 0x36, 0x85, 0x73, 0x99,
- 0x3f, 0xbd, 0x3c, 0xb8, 0x43, 0x92, 0x90, 0x71, 0x9b, 0x9a, 0x7b, 0x41,
- 0xed, 0xf4, 0xbc, 0x79, 0xd8, 0xa8, 0xbb, 0x15, 0xec, 0xa9, 0x0c, 0x7c,
- 0x1c, 0xf0, 0x80, 0x88, 0xc2, 0x24, 0x9b, 0x2b, 0x64, 0xac, 0x68, 0xb7,
- 0x63, 0xf6, 0xf2, 0x65, 0x7e, 0xb5, 0xa8, 0xe2, 0xe0, 0xaa, 0xbf, 0xba,
- 0x44, 0x00, 0xe5, 0xa6, 0x4e, 0x6f, 0xd3, 0x2a, 0xd3, 0x5a, 0x4a, 0xc5,
- 0xbd, 0x3d, 0xd7, 0x6a, 0x27, 0x2b, 0xe0, 0x1f, 0xcc, 0xe1, 0x81, 0x5f,
- 0x8c, 0x4c, 0xe6, 0x4b, 0xa3, 0xcb, 0xc0, 0x99, 0x20, 0x00, 0x13, 0x78,
- 0xff, 0xa4, 0x8a, 0x94, 0x64, 0x5d, 0xa8, 0xab, 0xdd, 0xac, 0x37, 0x5d,
- 0xa7, 0xa9, 0x4c, 0x41, 0x37, 0x8a, 0x57, 0x2e, 0x36, 0xa6, 0x2e, 0x90,
- 0x40, 0x4f, 0xc2, 0x27, 0x73, 0x5d, 0x7a, 0x54, 0xf4, 0x61, 0x5a, 0xb6,
- 0x10, 0x4b, 0x40, 0xfa, 0xf0, 0x12, 0x4d, 0x8c, 0x12, 0x3d, 0x2d, 0xd3,
- 0x89, 0xb8, 0x57, 0x5c, 0x68, 0x9f, 0xb5, 0x03, 0xa9, 0x59, 0x2b, 0x6b,
- 0x1b, 0x30, 0x17, 0xd3, 0x52, 0xcb, 0x2a, 0x13, 0xf0, 0x53, 0xea, 0x3b,
- 0xeb, 0x26, 0x2d, 0x0b, 0xab, 0x25, 0xb1, 0x9c, 0x32, 0x1f, 0xe1, 0x2c,
- 0xf8, 0xad, 0x41, 0xc4, 0x0d, 0x40, 0x1b, 0x9e, 0x57, 0xcb, 0x12, 0xaa,
- 0xa3, 0x3a, 0x1b, 0x5d, 0x92, 0x9e, 0xd7, 0x23, 0x19, 0x1e, 0xff, 0xcf,
- 0xa3, 0xdf, 0x33, 0x04, 0x56, 0xa5, 0xb7, 0x36, 0x35, 0xe8, 0x7b, 0xa6,
- 0x7b, 0x93, 0xd0, 0x94, 0xcd, 0x45, 0x4f, 0xa7, 0x62, 0xc6, 0x53, 0x35,
- 0x6b, 0xdc, 0x1e, 0x08, 0x72, 0x4a, 0xf1, 0x45, 0xb3, 0xb1, 0xc2, 0xbd,
- 0x4d, 0x25, 0x82, 0xc8, 0x15, 0xe3, 0x68, 0x90, 0x00, 0x37, 0x45, 0x5a,
- 0x07, 0x03, 0x8b, 0x74, 0x31, 0x6d, 0x2d, 0xed, 0x19, 0x1c, 0xc3, 0xe0,
- 0x5f, 0x09, 0xea, 0xaa, 0x81, 0x41, 0x8c, 0xba, 0x65, 0x7a, 0xfb, 0x40,
- 0xf5, 0x2b, 0x3f, 0x9b, 0x16, 0x05, 0x53, 0xab, 0x8c, 0xe2, 0x65, 0x55,
- 0xf2, 0xea, 0xc3, 0xf9, 0xc9, 0x92, 0x94, 0xa8, 0x21, 0x56, 0x81, 0xa6,
- 0x6b, 0xfd, 0x3c, 0x03, 0xf7, 0x4f, 0x95, 0x9c, 0xa5, 0x57, 0xd9, 0xba,
- 0x4f, 0xb7, 0xd4, 0x62, 0x5c, 0x13, 0x1f, 0x44, 0xcc, 0x53, 0xe4, 0xf3,
- 0xbb, 0x93, 0x18, 0x77, 0x51, 0x6a, 0x3f, 0x91, 0xe9, 0x72, 0x9a, 0xca,
- 0xec, 0x2d, 0x2a, 0x94, 0x71, 0xff, 0x3e, 0x5a, 0x24, 0x45, 0x7c, 0x42,
- 0x6d, 0x2e, 0x46, 0x07, 0xa8, 0xa2, 0x00, 0x11, 0xea, 0xf8, 0xae, 0x7f,
- 0x4e, 0x6e, 0xfa, 0xf5, 0xc4, 0xe5, 0x1f, 0xf5, 0xb3, 0x18, 0xe1, 0x39,
- 0x4f, 0x05, 0x93, 0x7a, 0x5b, 0xb7, 0x12, 0xbb, 0xfc, 0x5b, 0x6e, 0xfe,
- 0x3a, 0xd3, 0x20, 0x51, 0x46, 0x74, 0x88, 0x75, 0xa4, 0x3c, 0x30, 0xce,
- 0x30, 0x11, 0x44, 0x94, 0x1c, 0xeb, 0x48, 0x93, 0x13, 0xe9, 0xdf, 0xbe,
- 0x44, 0x64, 0x58, 0x11, 0xb2, 0x5d, 0x93, 0xb0, 0xb9, 0x66, 0x8b, 0xc4,
- 0x06, 0x9b, 0x4e, 0xa9, 0xf2, 0x82, 0xf5, 0x64, 0xd1, 0x38, 0x27, 0x25,
- 0x91, 0xf5, 0xa3, 0xc2, 0x6f, 0x61, 0x9d, 0xce, 0xad, 0x95, 0xfd, 0xdd,
- 0xa9, 0xc1, 0x5c, 0xa0, 0xe8, 0xa0, 0x27, 0xe5, 0x44, 0xfa, 0x66, 0x77,
- 0x14, 0x92, 0xeb, 0xea, 0x2d, 0xab, 0xb7, 0xf7, 0xfe, 0xa3, 0x17, 0x65,
- 0x98, 0x5f, 0xc2, 0x8a, 0xe9, 0x75, 0xb7, 0x01, 0x10, 0x1d, 0x1b, 0xe6,
- 0xb4, 0xd7, 0xe1, 0xb8, 0x77, 0x59, 0x71, 0x72, 0x5f, 0x46, 0x7d, 0x8b,
- 0x7d, 0x2f, 0x4e, 0x9d, 0x1c, 0x72, 0x7e, 0x56, 0xff, 0x4d, 0x6e, 0xee,
- 0x91, 0x9a, 0x89, 0x46, 0xd8, 0x31, 0xc0, 0x58, 0x5c, 0x7b, 0x10, 0x93,
- 0xb0, 0x8c, 0x91, 0xc6, 0x53, 0x80, 0xa4, 0xb3, 0xaf, 0xd8, 0xe8, 0x8e,
- 0xd9, 0x13, 0x4b, 0xea, 0xf6, 0xf8, 0x68, 0x6e, 0xab, 0x34, 0xa4, 0xce,
- 0x6b, 0x21, 0x35, 0x87, 0x19, 0xf4, 0xce, 0xe7, 0xc3, 0xdc, 0x0a, 0x91,
- 0xf9, 0x51, 0xfe, 0x0f, 0xc0, 0x78, 0x1c, 0x2b, 0x87, 0x94, 0xfb, 0x08,
- 0xcc, 0x4d, 0x5b, 0x6b, 0x55, 0xb3, 0xbe, 0xba, 0x7e, 0x60, 0xd3, 0x25,
- 0x5b, 0x73, 0x81, 0x63, 0x2c, 0xcc, 0x5a, 0xc5, 0x09, 0x68, 0x63, 0xd3,
- 0xf0, 0xa0, 0xe3, 0x19, 0xd7, 0x72, 0x11, 0x4b, 0x50, 0x86, 0xad, 0x51,
- 0x01, 0xee, 0xe8, 0x6f, 0x3d, 0x8a, 0x22, 0x14, 0xa5, 0xf0, 0x38, 0xc4,
- 0x62, 0xfa, 0x00, 0x14, 0x99, 0x27, 0xbc, 0x7b, 0x90, 0x01, 0x24, 0xc9,
- 0x9f, 0xfa, 0x8e, 0xb0, 0x7f, 0xf3, 0x3e, 0x33, 0x3a, 0xb6, 0x65, 0xb7,
- 0x51, 0x63, 0x2a, 0x92, 0xe1, 0x95, 0x70, 0x25, 0xba, 0xba, 0x85, 0x3d,
- 0x87, 0x19, 0xe2, 0xc5, 0x20, 0x79, 0xca, 0x8d, 0x26, 0x40, 0x7c, 0xd7,
- 0x8b, 0x22, 0xbb, 0x23, 0x0e, 0xd6, 0xe5, 0xcd, 0x85, 0x8a, 0xf6, 0xf7,
- 0x07, 0xe7, 0xef, 0x8f, 0xdf, 0x7f, 0xbd, 0x9f, 0x1c, 0xdd, 0x65, 0xd5,
- 0x98, 0xaa, 0xa6, 0xfe, 0x6d, 0x31, 0xc9, 0xc7, 0x10, 0x14, 0x52, 0x8b,
- 0xd2, 0xcf, 0xc4, 0xa3, 0x02, 0xe2, 0xe2, 0x65, 0xa5, 0x4b, 0x37, 0x90,
- 0xef, 0x02, 0x46, 0x1d, 0xa0, 0x94, 0x7c, 0x55, 0x5e, 0x2d, 0xbc, 0xed,
- 0x33, 0xe6, 0x1a, 0x59, 0x08, 0x18, 0x20, 0x9a, 0x7a, 0x2d, 0x73, 0x4d,
- 0xae, 0xd7, 0xe4, 0xcd, 0xc9, 0x49, 0x48, 0x7e, 0x89, 0x5a, 0xae, 0xdc,
- 0x7d, 0x4e, 0xe7, 0x43, 0x13, 0x66, 0xf3, 0xd7, 0xf9, 0x88, 0x61, 0x4f,
- 0xa4, 0x02, 0x70, 0x85, 0x2c, 0x4f, 0xe4, 0xc1, 0xb7, 0x62, 0xba, 0xd2,
- 0x5d, 0x64, 0xe0, 0x64, 0x81, 0x56, 0xc4, 0x0a, 0xe7, 0xd5, 0x04, 0xf6,
- 0x90, 0x91, 0x91, 0xe5, 0x65, 0x43, 0x3a, 0x52, 0xeb, 0x36, 0x6d, 0x17,
- 0x9f, 0x58, 0x19, 0x49, 0xb8, 0x66, 0x53, 0xa7, 0xc5, 0x8f, 0x30, 0xb6,
- 0x05, 0xdf, 0xe9, 0xd2, 0x65, 0xe5, 0x10, 0x55, 0x4b, 0x62, 0x61, 0xb4,
- 0x49, 0x96, 0xda, 0x5a, 0xac, 0x35, 0xc9, 0xcb, 0x50, 0x60, 0xdc, 0x66,
- 0x95, 0x98, 0x9f, 0x36, 0x53, 0xd0, 0x88, 0xbb, 0x41, 0x32, 0x2c, 0xcd,
- 0xf3, 0xa1, 0x96, 0x65, 0xeb, 0x7b, 0xb5, 0x4a, 0x05, 0xa3, 0x3b, 0x0e,
- 0xe8, 0x85, 0xd2, 0x27, 0x88, 0xce, 0xb5, 0xc7, 0x1b, 0xa9, 0x2d, 0x4a,
- 0xfb, 0x7f, 0x94, 0x59, 0xa5, 0xe2, 0x5e, 0xe3, 0x3f, 0xb4, 0x49, 0xd6,
- 0xfb, 0x46, 0xa0, 0xae, 0xd3, 0xcc, 0xa2, 0xe2, 0xa9, 0xd7, 0xd2, 0x03,
- 0x75, 0xfb, 0x7c, 0x98, 0x75, 0x77, 0xc0, 0x0f, 0x54, 0x43, 0x52, 0xcb,
- 0xd3, 0x73, 0x9f, 0x4a, 0x4d, 0x1a, 0x1b, 0x53, 0x65, 0x99, 0x94, 0xa1,
- 0x7c, 0x69, 0x10, 0x2a, 0x67, 0x93, 0xc2, 0xba, 0x64, 0xfc, 0x74, 0x58,
- 0xff, 0x75, 0xb9, 0x71, 0x7a, 0xce, 0xc3, 0x40, 0x7a, 0x41, 0x90, 0x92,
- 0x69, 0xec, 0xbc, 0xc1, 0x56, 0x0c, 0xe8, 0x23, 0x72, 0x91, 0xaf, 0xa4,
- 0xda, 0xa8, 0xd7, 0x93, 0x07, 0x25, 0x1f, 0xc4, 0x56, 0xa4, 0xac, 0x0f,
- 0x16, 0xd4, 0xf7, 0x8a, 0x73, 0x73, 0x10, 0x26, 0xa9, 0x05, 0x13, 0x35,
- 0x7e, 0x5c, 0x13, 0x3a, 0x01, 0x52, 0x8f, 0xc3, 0xe6, 0x3c, 0x22, 0xbe,
- 0xe5, 0x42, 0x58, 0x62, 0x37, 0x79, 0x71, 0x53, 0x7e, 0xe2, 0x1b, 0x5f,
- 0x32, 0x9b, 0x83, 0x04, 0x79, 0x9f, 0x69, 0x2e, 0x8a, 0x5a, 0x53, 0x5a,
- 0x11, 0xee, 0x3b, 0xdf, 0x58, 0x1e, 0x10, 0xde, 0x0c, 0x46, 0x42, 0x32,
- 0x36, 0xcd, 0xc7, 0x5e, 0x4f, 0x9d, 0xe6, 0xec, 0x59, 0xea, 0x69, 0xf1,
- 0xda, 0x24, 0x9b, 0xd6, 0x59, 0xcf, 0x4b, 0xf9, 0xb1, 0x64, 0x53, 0x72,
- 0xdb, 0x00, 0x8d, 0xaa, 0x51, 0xcc, 0xe5, 0x37, 0xc9, 0x20, 0xd1, 0xb9,
- 0xf7, 0xa7, 0xdb, 0x19, 0xb2, 0x88, 0x80, 0x72, 0xec, 0x69, 0x7c, 0x5d,
- 0x96, 0xd1, 0x8b, 0xdb, 0xdd, 0x21, 0x50, 0x6a, 0x90, 0xf7, 0xbe, 0x44,
- 0x83, 0x68, 0x57, 0x45, 0x93, 0x6c, 0x85, 0xee, 0xd9, 0x53, 0x4a, 0x31,
- 0xd1, 0x07, 0x3d, 0x3e, 0xbf, 0xf6, 0xed, 0xc6, 0x1d, 0x0a, 0xee, 0xe6,
- 0x18, 0xcc, 0x81, 0x7f, 0xd7, 0xb9, 0x8f, 0x9b, 0x56, 0x86, 0xb4, 0x3f,
- 0x29, 0xd1, 0xcb, 0x8e, 0x11, 0x71, 0x0e, 0x27, 0x89, 0x7d, 0x03, 0xc3,
- 0xa9, 0x68, 0x87, 0x35, 0xd0, 0xcf, 0xbc, 0x81, 0x00, 0xf9, 0xd3, 0xde,
- 0xce, 0x32, 0x21, 0xcf, 0x8a, 0xac, 0x66, 0xb2, 0xd1, 0x71, 0xb4, 0x06,
- 0x3a, 0x5f, 0x84, 0x2e, 0xbb, 0x9c, 0x2e, 0x90, 0xc5, 0x3c, 0x41, 0xc5,
- 0x1c, 0xaa, 0xb7, 0xb4, 0x64, 0xfe, 0xa3, 0x96, 0xf1, 0xaf, 0xad, 0xb2,
- 0xb5, 0xac, 0xcc, 0x96, 0x93, 0x5f, 0xe7, 0xde, 0x1a, 0x53, 0x4b, 0x31,
- 0xc4, 0x9b, 0xc8, 0x12, 0xcf, 0x5d, 0xe2, 0x69, 0xed, 0x4e, 0x6f, 0x80,
- 0x75, 0x0f, 0x61, 0xc7, 0x68, 0x84, 0x3c, 0x14, 0xc9, 0xc6, 0xae, 0x9d,
- 0xcd, 0x23, 0x02, 0xcb, 0x1e, 0x02, 0xc1, 0xfc, 0xd2, 0x2d, 0x65, 0x61,
- 0xbb, 0x1a, 0x7b, 0x0e, 0x37, 0xad, 0x27, 0x4b, 0xd9, 0x24, 0x4f, 0x05,
- 0x40, 0x8a, 0x39, 0xa1, 0x6f, 0xb5, 0xaf, 0x46, 0x60, 0xd3, 0xfa, 0x51,
- 0x9f, 0xbf, 0xe8, 0xc1, 0x91, 0xf4, 0x58, 0x58, 0x53, 0x8e, 0x3f, 0x7a,
- 0x9d, 0x5f, 0x5f, 0x4f, 0x36, 0x49, 0xae, 0x6e, 0xa9, 0xf6, 0x1a, 0xc6,
- 0xfb, 0x5d, 0x0d, 0x6b, 0x08, 0xe0, 0xb4, 0x0e, 0xc0, 0xbc, 0xd0, 0x5f,
- 0x13, 0x63, 0xe8, 0x55, 0x46, 0x05, 0x58, 0x4c, 0xd3, 0x8a, 0x64, 0xbb,
- 0xf9, 0xe4, 0xe5, 0x62, 0x1a, 0x33, 0x75, 0x70, 0xb6, 0x35, 0x46, 0x64,
- 0xa6, 0xa8, 0x26, 0x35, 0x05, 0xc6, 0xa0, 0x23, 0x93, 0x10, 0x72, 0xb1,
- 0xa9, 0xe9, 0x11, 0x48, 0xb4, 0xa7, 0x5c, 0x1b, 0x29, 0xba, 0x77, 0xe1,
- 0x20, 0xc6, 0x9c, 0xa9, 0x8a, 0xc9, 0x96, 0x14, 0xf7, 0xad, 0xca, 0xae,
- 0xa8, 0x4b, 0xae, 0xfe, 0x12, 0x4d, 0x41, 0x8f, 0x99, 0x2c, 0x3a, 0xcd,
- 0xad, 0x9f, 0x9e, 0x5d, 0x1c, 0x9f, 0xbe, 0x1f, 0x26, 0x7f, 0x5e, 0x5f,
- 0x99, 0xa0, 0xd4, 0xa6, 0x22, 0xfd, 0xa1, 0xe7, 0xd6, 0x24, 0x79, 0x25,
- 0xde, 0x86, 0x65, 0xf6, 0xb1, 0xa7, 0xc3, 0x8f, 0xcd, 0xfd, 0x6d, 0x04,
- 0xac, 0xbe, 0x29, 0x14, 0x4e, 0xb2, 0x58, 0x1d, 0xd6, 0xa9, 0x40, 0x5f,
- 0xf6, 0x93, 0xbb, 0x7d, 0x3b, 0x9a, 0xa5, 0xbd, 0x33, 0x5b, 0x3a, 0xad,
- 0x2f, 0x91, 0xc1, 0x5c, 0x0d, 0xd4, 0xda, 0x2f, 0x16, 0xa8, 0x22, 0x6f,
- 0x61, 0x9a, 0x6f, 0x49, 0x3b, 0xc5, 0x83, 0x9b, 0x52, 0xc6, 0x9a, 0x55,
- 0xad, 0x3a, 0x44, 0x13, 0x7e, 0x7d, 0x74, 0xb1, 0x35, 0x48, 0xce, 0x95,
- 0x09, 0x41, 0xf1, 0xa9, 0x56, 0xf1, 0x49, 0xad, 0x6e, 0x26, 0xc4, 0xaf,
- 0xe2, 0xc9, 0x30, 0xfa, 0xf3, 0x34, 0x2d, 0xa2, 0x49, 0x58, 0xa4, 0xd3,
- 0x52, 0x6d, 0x6d, 0x92, 0xc4, 0x2a, 0x93, 0xd5, 0x87, 0xe2, 0x55, 0x30,
- 0x60, 0x02, 0x96, 0xb3, 0x0f, 0x17, 0x68, 0xf0, 0xcd, 0xd1, 0xc9, 0xd1,
- 0xc5, 0x51, 0xd7, 0x7a, 0x1f, 0x31, 0x69, 0x1d, 0xb2, 0x6f, 0x9a, 0x6c,
- 0x7c, 0x5d, 0x94, 0xd3, 0xf2, 0x2a, 0x97, 0xea, 0x82, 0xc9, 0xf7, 0xd9,
- 0xe8, 0xcd, 0xc1, 0x77, 0xa4, 0x51, 0x90, 0xdf, 0xe9, 0xec, 0xfc, 0xf4,
- 0xec, 0xed, 0xf1, 0xfb, 0x37, 0xbd, 0xe4, 0xf0, 0xf4, 0xec, 0xaf, 0xbd,
- 0xe4, 0xdd, 0xe9, 0x77, 0x47, 0x11, 0xd4, 0x35, 0x11, 0x4a, 0x47, 0xaa,
- 0x9b, 0x4b, 0x8d, 0x2f, 0xbe, 0xd0, 0xd8, 0xfc, 0x46, 0x51, 0xe1, 0xce,
- 0x45, 0x42, 0x69, 0x09, 0x75, 0x29, 0x12, 0xd7, 0xcc, 0x5d, 0x2f, 0xf9,
- 0xe6, 0xe8, 0xe0, 0x4d, 0x2f, 0xa0, 0xfc, 0x1d, 0xf2, 0xa8, 0x68, 0x74,
- 0x76, 0xc8, 0x20, 0x8a, 0x65, 0xfb, 0x03, 0x5a, 0x02, 0x87, 0xba, 0xf8,
- 0xc8, 0x9a, 0x0d, 0x8b, 0x5c, 0xdc, 0xc9, 0x32, 0x04, 0x85, 0xb0, 0x57,
- 0x2f, 0xad, 0xe7, 0xd9, 0xca, 0x04, 0x81, 0xc2, 0xa6, 0xaa, 0x76, 0x9b,
- 0x99, 0x05, 0x78, 0x7f, 0x9b, 0xee, 0xa7, 0x4b, 0x1e, 0x67, 0x06, 0xe9,
- 0xb5, 0x52, 0x82, 0x21, 0x90, 0xd8, 0x05, 0x99, 0x4a, 0x31, 0x34, 0x14,
- 0x8e, 0x20, 0x10, 0xd0, 0x90, 0x89, 0x71, 0x95, 0x10, 0x32, 0x4c, 0x6f,
- 0x68, 0x29, 0x0a, 0xa5, 0x12, 0x10, 0x0b, 0x49, 0x0b, 0x4d, 0xa1, 0xfb,
- 0xa6, 0x54, 0x5e, 0xf8, 0x81, 0x7f, 0x1c, 0xc1, 0x5d, 0x73, 0x7d, 0xa2,
- 0x4b, 0xb3, 0x39, 0x33, 0x46, 0x57, 0x61, 0x9d, 0x9c, 0x7b, 0x20, 0xe9,
- 0x1f, 0xab, 0x73, 0x62, 0x95, 0x9a, 0x25, 0x07, 0x46, 0x1c, 0x34, 0x20,
- 0x85, 0x51, 0xc7, 0x55, 0x5b, 0x4e, 0x38, 0x3e, 0x6e, 0x3e, 0x7b, 0x97,
- 0x81, 0x6c, 0x03, 0x99, 0xac, 0xae, 0x73, 0x2f, 0x11, 0x65, 0x45, 0x9d,
- 0x39, 0x97, 0x8e, 0x29, 0x93, 0xd1, 0xba, 0x6d, 0xbf, 0x96, 0xb9, 0x67,
- 0x03, 0x1a, 0x1f, 0x7a, 0xcc, 0x48, 0x93, 0x42, 0x5c, 0xa3, 0x14, 0x82,
- 0xeb, 0xb3, 0x3d, 0xed, 0x23, 0x84, 0x55, 0x84, 0xda, 0xb4, 0x63, 0xe9,
- 0x42, 0xbc, 0x08, 0x75, 0xab, 0x86, 0xab, 0x3d, 0xeb, 0x4f, 0x76, 0xee,
- 0x9c, 0xb7, 0x9d, 0x34, 0x8a, 0x3a, 0xe9, 0x0b, 0x03, 0xef, 0xcc, 0x5c,
- 0x85, 0xa1, 0x9f, 0x69, 0xf3, 0xed, 0x12, 0xe1, 0xe8, 0xfb, 0x6f, 0x65,
- 0x31, 0x3c, 0x74, 0xf8, 0xc9, 0xb1, 0x39, 0x12, 0x11, 0x12, 0x8c, 0x49,
- 0x89, 0x4a, 0xa5, 0x80, 0x1c, 0xe4, 0x7a, 0x9d, 0x50, 0x5b, 0xe1, 0x87,
- 0xa9, 0x74, 0x6f, 0xf4, 0xcb, 0xa8, 0xe9, 0xfb, 0xc0, 0xa7, 0x83, 0x35,
- 0x3b, 0x3f, 0xba, 0x38, 0x1f, 0x24, 0x9b, 0x3e, 0xbf, 0xe3, 0xf3, 0xc1,
- 0x4e, 0x18, 0xbe, 0xa1, 0xaa, 0xc1, 0x5b, 0x89, 0xf7, 0x59, 0xf7, 0x5d,
- 0x14, 0x14, 0x5e, 0xfd, 0xdd, 0x10, 0x77, 0xec, 0x71, 0xba, 0xec, 0xc4,
- 0xbe, 0xe7, 0xd7, 0x26, 0x6e, 0x8d, 0x92, 0x7e, 0xb1, 0xe2, 0x6b, 0xdf,
- 0x1c, 0x9d, 0x44, 0x6a, 0x62, 0x7c, 0x77, 0xfe, 0xf6, 0xaf, 0xed, 0x51,
- 0x3e, 0x79, 0x1a, 0xf9, 0xea, 0x6f, 0xe9, 0x5a, 0xcf, 0xea, 0x72, 0x6a,
- 0x74, 0x16, 0x24, 0x97, 0x20, 0xb7, 0x64, 0xdf, 0x5c, 0x02, 0x84, 0x4d,
- 0xff, 0xb1, 0x27, 0x7f, 0xf9, 0x79, 0x30, 0x18, 0x7c, 0x11, 0x92, 0x14,
- 0xc3, 0x53, 0x43, 0x61, 0x2f, 0x19, 0x70, 0x22, 0x8f, 0x0b, 0x2e, 0xd3,
- 0x33, 0xc6, 0x91, 0xd0, 0x83, 0x0c, 0x26, 0x8a, 0x63, 0xcc, 0xd3, 0x3c,
- 0x70, 0x4a, 0x7f, 0xb0, 0x60, 0x6b, 0x97, 0x81, 0x06, 0xa1, 0x23, 0x46,
- 0xdc, 0xd4, 0x1e, 0xd7, 0x4d, 0x62, 0xad, 0xe0, 0x3c, 0xc2, 0x64, 0x69,
- 0xa8, 0xdf, 0xf6, 0x04, 0x77, 0x1f, 0xf9, 0x87, 0x41, 0x8b, 0x44, 0x00,
- 0x25, 0x7b, 0xdf, 0x16, 0x7a, 0x87, 0xc8, 0x0c, 0x4c, 0xec, 0x5b, 0xc1,
- 0xa5, 0x6b, 0x33, 0x38, 0x0f, 0x25, 0xbc, 0x0e, 0x43, 0x0c, 0x17, 0x0b,
- 0xea, 0x54, 0x66, 0xcd, 0x78, 0x9b, 0xc6, 0x58, 0x87, 0x65, 0x44, 0x62,
- 0x3e, 0xb0, 0xb2, 0xe8, 0x60, 0x6b, 0xe9, 0xae, 0x60, 0x3f, 0xb4, 0x9f,
- 0x98, 0xe3, 0xaa, 0x9b, 0x78, 0x5a, 0x3b, 0xf5, 0x23, 0x12, 0x8b, 0xf7,
- 0x72, 0x71, 0xc7, 0x2e, 0xa9, 0x45, 0x19, 0xe2, 0x5b, 0x8b, 0x8f, 0x17,
- 0x06, 0x28, 0x4e, 0xcf, 0x49, 0x74, 0x11, 0x0f, 0x0b, 0x8b, 0x68, 0xdd,
- 0x4e, 0x96, 0x6e, 0xb8, 0x5d, 0x5e, 0x5d, 0x9d, 0x75, 0x3a, 0x6d, 0xd2,
- 0x8f, 0xae, 0x3a, 0x4f, 0xba, 0x36, 0x3a, 0xc1, 0xd4, 0xc1, 0x6a, 0xcb,
- 0xcf, 0x51, 0x9f, 0x3e, 0x5e, 0xe6, 0x45, 0x54, 0x60, 0x6d, 0x98, 0xe4,
- 0x7c, 0x9b, 0xf1, 0xbd, 0x3d, 0x20, 0xf5, 0xc4, 0xf7, 0x9f, 0x86, 0xd1,
- 0x84, 0x7c, 0x7e, 0xf3, 0x14, 0xee, 0x9b, 0xe7, 0x3d, 0xfe, 0xd7, 0x73,
- 0x97, 0xa8, 0xe1, 0x99, 0x28, 0xac, 0xc4, 0xb3, 0xce, 0x7b, 0x7c, 0xa6,
- 0x29, 0xa7, 0x01, 0x51, 0xb9, 0xc7, 0xbc, 0xcb, 0xbd, 0x54, 0xf5, 0xdd,
- 0xbc, 0xa3, 0xbd, 0x25, 0x81, 0x68, 0x4e, 0xee, 0x8f, 0xa3, 0x8a, 0x0a,
- 0xf4, 0x35, 0xf5, 0xcf, 0xab, 0x12, 0x7c, 0x8d, 0xc6, 0xfb, 0xd9, 0x20,
- 0x4c, 0xa4, 0x8a, 0x7f, 0xc8, 0x42, 0x79, 0xdd, 0xd7, 0x88, 0x0c, 0x05,
- 0xb4, 0x69, 0x04, 0x7c, 0xa1, 0xef, 0xac, 0xf8, 0xd0, 0xcb, 0xc1, 0xce,
- 0x2f, 0xa3, 0xc8, 0x72, 0x96, 0x23, 0xd3, 0x63, 0xf1, 0x4f, 0xb0, 0x96,
- 0x02, 0x71, 0x2a, 0x03, 0x45, 0x04, 0x47, 0x69, 0x25, 0xb9, 0xfa, 0xee,
- 0xe0, 0x49, 0x5b, 0xfe, 0x98, 0xae, 0x23, 0x0d, 0xa6, 0x32, 0x46, 0x4d,
- 0xb8, 0xbb, 0x8f, 0xdb, 0xdc, 0xe3, 0xf6, 0x0c, 0x53, 0x48, 0x8f, 0x7f,
- 0x6c, 0x44, 0x86, 0xc2, 0x5e, 0x92, 0x23, 0x4a, 0xd4, 0x39, 0x3f, 0x7a,
- 0xfb, 0x61, 0x78, 0xf4, 0x06, 0x98, 0x97, 0x34, 0x56, 0x39, 0x23, 0x47,
- 0xe8, 0x4f, 0x4a, 0x41, 0x34, 0x65, 0xc9, 0x67, 0x48, 0xfa, 0x12, 0xd4,
- 0x35, 0x13, 0x60, 0x8c, 0x31, 0xe8, 0xc2, 0xdc, 0x0a, 0x56, 0x3f, 0xe4,
- 0xc5, 0x5f, 0xc0, 0xf8, 0xc0, 0xa3, 0x9e, 0x64, 0x54, 0x86, 0xe5, 0x15,
- 0x63, 0x38, 0x02, 0xca, 0x9f, 0x77, 0x76, 0x77, 0xd6, 0xd3, 0x2c, 0x9b,
- 0x4b, 0x06, 0xdd, 0xac, 0x5c, 0x14, 0xec, 0xcf, 0x33, 0x2b, 0xa3, 0x5e,
- 0x2c, 0x76, 0x9a, 0x26, 0x68, 0x55, 0x2d, 0xc1, 0x74, 0x49, 0xcd, 0x10,
- 0x90, 0xff, 0x24, 0x80, 0x4e, 0x67, 0x13, 0x2f, 0x13, 0x21, 0x98, 0x99,
- 0xcd, 0xbc, 0xf1, 0xfd, 0xbf, 0x4b, 0x8a, 0x0a, 0x51, 0x11, 0x13, 0xa3,
- 0xd1, 0x73, 0x77, 0xd2, 0xe9, 0x55, 0x59, 0x99, 0x06, 0x67, 0x36, 0xed,
- 0xaf, 0x02, 0x66, 0xa7, 0xde, 0x6a, 0xcf, 0x6a, 0x98, 0x3e, 0xcd, 0x3a,
- 0x30, 0x02, 0xb8, 0x19, 0xe7, 0x42, 0xd3, 0x81, 0xe6, 0x79, 0x02, 0x78,
- 0x93, 0x42, 0x5b, 0x2c, 0x84, 0x87, 0x92, 0xc1, 0x8c, 0xf9, 0xe0, 0x29,
- 0x0c, 0x36, 0xe2, 0x3f, 0xb2, 0xaa, 0xec, 0xba, 0x21, 0x54, 0xdd, 0x8c,
- 0xf5, 0xfc, 0x5f, 0x59, 0xb9, 0x67, 0x77, 0x2f, 0x76, 0x02, 0x66, 0xe9,
- 0x1d, 0x9c, 0x2b, 0x4b, 0xb7, 0x03, 0x43, 0x0d, 0x69, 0x3a, 0xe8, 0x31,
- 0xe0, 0x32, 0xa8, 0x86, 0x45, 0x63, 0x79, 0x78, 0xd4, 0x81, 0x8a, 0x5a,
- 0x5e, 0x6e, 0xb5, 0xc5, 0xfb, 0x12, 0x60, 0x98, 0x78, 0x61, 0x6c, 0xaf,
- 0xe1, 0xe1, 0x4a, 0x69, 0x98, 0x64, 0x77, 0x6c, 0x72, 0x11, 0x11, 0x7c,
- 0x6f, 0x8b, 0x7e, 0x3c, 0x2d, 0x29, 0xbe, 0x56, 0x5b, 0xaf, 0x4d, 0x84,
- 0x50, 0x8a, 0x54, 0xdb, 0x8a, 0x36, 0x22, 0xf0, 0x63, 0x16, 0x36, 0x82,
- 0x7a, 0x08, 0x48, 0x88, 0xca, 0xc7, 0xe2, 0xab, 0xd7, 0x4a, 0x3c, 0x18,
- 0x07, 0xbf, 0x19, 0x08, 0x12, 0x6e, 0x87, 0xc7, 0x84, 0x26, 0x7a, 0x6d,
- 0xe6, 0x4f, 0xe9, 0x36, 0xd2, 0x0d, 0x91, 0x96, 0x80, 0xa2, 0x39, 0x92,
- 0x6e, 0x1e, 0xb1, 0xe9, 0x7b, 0x5a, 0x83, 0x01, 0xe9, 0x3b, 0x34, 0x1c,
- 0x58, 0x47, 0x69, 0xe1, 0xf7, 0x15, 0x0b, 0x60, 0xda, 0xc8, 0xcb, 0x09,
- 0x12, 0x7f, 0xb8, 0x96, 0x43, 0x58, 0xea, 0x4e, 0x6a, 0x87, 0x4b, 0x67,
- 0x36, 0x90, 0xf6, 0x78, 0x97, 0xcf, 0x16, 0xb3, 0x04, 0x4d, 0xf4, 0x58,
- 0x43, 0xe9, 0xcf, 0xe8, 0xce, 0xd1, 0x85, 0x05, 0x3e, 0x8e, 0xf1, 0x44,
- 0xdd, 0xbd, 0x6f, 0x03, 0xa6, 0xd8, 0xb6, 0x52, 0x11, 0x9b, 0xde, 0x61,
- 0x12, 0x78, 0x2c, 0xd4, 0xff, 0xf1, 0x1d, 0x9a, 0xbc, 0x32, 0x2a, 0xc8,
- 0x17, 0x61, 0x27, 0x52, 0x4f, 0x72, 0xb0, 0xe0, 0xc0, 0xce, 0x24, 0x9c,
- 0x6e, 0x36, 0xf1, 0xac, 0x1f, 0xde, 0x6e, 0xf0, 0x4b, 0xc9, 0x2a, 0x2d,
- 0x97, 0x51, 0x3d, 0xcf, 0xad, 0x2d, 0x7b, 0x9e, 0x86, 0xea, 0x3c, 0x97,
- 0x7c, 0x2d, 0xc9, 0xc6, 0xbf, 0x62, 0xca, 0xa9, 0xc5, 0x3c, 0xb8, 0xaf,
- 0xad, 0xa4, 0xb0, 0xfa, 0x93, 0xf9, 0xfc, 0x8e, 0xc0, 0x39, 0xc4, 0x26,
- 0x23, 0x5f, 0xaf, 0xcc, 0xb1, 0xba, 0x5f, 0x94, 0x12, 0x3c, 0x2e, 0xf2,
- 0xb6, 0xc8, 0x13, 0x14, 0x5c, 0x23, 0xcc, 0x47, 0xc0, 0x2c, 0x34, 0xfb,
- 0x34, 0x29, 0xbc, 0x7c, 0x3d, 0x4d, 0x36, 0x7b, 0x7a, 0x77, 0x17, 0x5e,
- 0x96, 0xce, 0x8c, 0x63, 0x3e, 0x34, 0xb6, 0xf1, 0x9e, 0xdd, 0x75, 0x6c,
- 0xbc, 0x41, 0x94, 0xb5, 0x4c, 0xb3, 0x4e, 0xd3, 0x51, 0xc9, 0x81, 0x23,
- 0x9e, 0xa9, 0xd4, 0x9b, 0x45, 0x75, 0x7d, 0x8b, 0x50, 0xb8, 0x4d, 0x69,
- 0x56, 0xc3, 0xcc, 0x23, 0x01, 0x11, 0x7a, 0x25, 0xfd, 0x34, 0xb8, 0x87,
- 0xca, 0x54, 0x46, 0x4d, 0xa5, 0x59, 0xd4, 0x49, 0xd2, 0x46, 0x27, 0xe5,
- 0x82, 0xa3, 0x6f, 0x59, 0x10, 0xce, 0xc9, 0x79, 0xda, 0xe9, 0x34, 0x99,
- 0xdb, 0x2a, 0x47, 0x95, 0x74, 0x3e, 0xd2, 0x75, 0xb2, 0x6b, 0xe6, 0x3f,
- 0x2f, 0x16, 0x04, 0x24, 0xf4, 0x18, 0x43, 0x75, 0x6b, 0x46, 0xa7, 0x1d,
- 0xc5, 0xca, 0xf4, 0x46, 0x11, 0x31, 0x50, 0x7b, 0x41, 0x2d, 0x3e, 0x20,
- 0xa8, 0x9a, 0x23, 0xde, 0x08, 0xff, 0x82, 0x8d, 0xe9, 0xb7, 0x1a, 0x3a,
- 0x94, 0x10, 0x70, 0x76, 0x67, 0x26, 0x9b, 0x6b, 0x32, 0x24, 0xf6, 0x5e,
- 0x70, 0xb7, 0x99, 0x40, 0x5b, 0x99, 0x4b, 0x3c, 0x02, 0x58, 0x69, 0xc9,
- 0x6f, 0x5b, 0x02, 0x06, 0x22, 0xae, 0x6c, 0xe4, 0x2c, 0x72, 0x12, 0xb3,
- 0xc4, 0x38, 0xff, 0x1b, 0x9c, 0xe9, 0x3a, 0xad, 0xa7, 0xfd, 0xbc, 0x2b,
- 0xc6, 0x8f, 0x00, 0x82, 0xb3, 0x10, 0x16, 0xbb, 0x0b, 0x4d, 0x13, 0xc3,
- 0x83, 0xe1, 0x49, 0x87, 0x3b, 0x69, 0x25, 0x03, 0xea, 0x6e, 0x5b, 0xe3,
- 0xf9, 0x0d, 0x68, 0xda, 0x34, 0x24, 0x44, 0xf7, 0x08, 0x83, 0x3c, 0x08,
- 0xb6, 0x0b, 0xda, 0xcc, 0x65, 0x55, 0x9c, 0xea, 0x7d, 0xfe, 0xba, 0x63,
- 0x83, 0x0c, 0x3b, 0xc3, 0x3c, 0x40, 0x84, 0x2d, 0xe1, 0x6a, 0x5b, 0x49,
- 0x84, 0x4c, 0x06, 0x4f, 0x6c, 0x0b, 0x72, 0xe5, 0xa1, 0xf0, 0x2f, 0x33,
- 0xbf, 0xe9, 0xc8, 0x87, 0x74, 0x09, 0x50, 0x39, 0xba, 0x7e, 0x8c, 0xf4,
- 0xc6, 0xa2, 0xd9, 0x44, 0x95, 0xac, 0xf1, 0x34, 0xa1, 0x58, 0x1a, 0xb9,
- 0xb1, 0xac, 0xa8, 0xa2, 0x36, 0x1c, 0x18, 0x84, 0x38, 0x88, 0x43, 0xc6,
- 0x62, 0x8e, 0x11, 0x5e, 0x72, 0xc5, 0x2f, 0xed, 0x81, 0xd7, 0x66, 0x57,
- 0x40, 0xe2, 0x87, 0x8c, 0x82, 0xfb, 0xfb, 0x22, 0xcf, 0x1a, 0x4e, 0x48,
- 0x1a, 0x24, 0x6f, 0x18, 0xd0, 0x24, 0x95, 0xb3, 0xb8, 0x44, 0x1f, 0xca,
- 0xf8, 0xd1, 0xa3, 0xb6, 0x03, 0x41, 0xe8, 0xc6, 0x74, 0x88, 0xce, 0xe1,
- 0x3b, 0x74, 0xfa, 0x90, 0x3a, 0x3d, 0x33, 0x07, 0x1d, 0x7c, 0x2d, 0x92,
- 0xcb, 0x07, 0x08, 0x8b, 0x84, 0xba, 0x15, 0x80, 0xce, 0x47, 0x32, 0xad,
- 0x3f, 0x85, 0x86, 0x6d, 0xaf, 0x55, 0x2c, 0x05, 0x86, 0x9e, 0x18, 0x01,
- 0x0d, 0xd5, 0xda, 0x29, 0xd2, 0xe9, 0x76, 0xdd, 0x4c, 0x48, 0xfe, 0x2d,
- 0x8a, 0x29, 0x75, 0x92, 0x9a, 0xd2, 0xc2, 0x50, 0xdd, 0xb9, 0x69, 0x62,
- 0xd4, 0x2a, 0xc1, 0x02, 0x71, 0xd4, 0x39, 0x8c, 0x4d, 0x5a, 0xdd, 0xb5,
- 0x71, 0xa5, 0xac, 0x42, 0x0a, 0x1d, 0x7f, 0xaa, 0xc8, 0xe0, 0xe5, 0x11,
- 0x63, 0x22, 0x5b, 0xeb, 0xb6, 0x2a, 0xd3, 0xff, 0x86, 0x3a, 0x64, 0x36,
- 0xda, 0xa8, 0xac, 0x95, 0xbd, 0xd4, 0x0c, 0xd2, 0xbc, 0xde, 0x3a, 0x4f,
- 0x20, 0xac, 0x7a, 0x90, 0x13, 0xa4, 0x4d, 0xd2, 0xc5, 0xe5, 0x3f, 0x1f,
- 0x24, 0x03, 0xe1, 0x37, 0xc2, 0x9a, 0xa9, 0xbf, 0x98, 0x0e, 0xc4, 0x1d,
- 0x68, 0xc7, 0x76, 0x44, 0x36, 0xa4, 0x45, 0xec, 0x09, 0x10, 0xa7, 0xc5,
- 0x8c, 0x01, 0xbb, 0x8d, 0x62, 0xa2, 0x91, 0x42, 0x56, 0x66, 0x3b, 0x2d,
- 0x24, 0xc5, 0x7f, 0x3c, 0x35, 0xb2, 0x3e, 0x62, 0x6b, 0x6a, 0x11, 0x33,
- 0x22, 0xcd, 0xea, 0x75, 0xc5, 0x69, 0xbd, 0x20, 0xdd, 0x63, 0xba, 0xa0,
- 0x6f, 0x33, 0xdf, 0x94, 0xe5, 0x3b, 0xd2, 0xcc, 0xe4, 0x28, 0x47, 0x98,
- 0x65, 0x15, 0xa1, 0x33, 0xea, 0xd1, 0xa5, 0x2d, 0xb4, 0xe4, 0xa1, 0x32,
- 0x89, 0x75, 0x29, 0xb7, 0x06, 0x4b, 0x7a, 0x47, 0x06, 0x61, 0xcf, 0xaf,
- 0x10, 0xec, 0x87, 0xca, 0x29, 0x0b, 0x43, 0xbb, 0xd3, 0x2a, 0xff, 0x9b,
- 0xc6, 0x38, 0xa0, 0xd8, 0xc5, 0xc2, 0x97, 0x8c, 0xdf, 0x37, 0xbd, 0x3d,
- 0x34, 0x61, 0x17, 0xd8, 0xe8, 0x56, 0xd1, 0xdd, 0xe3, 0xae, 0x77, 0x37,
- 0x28, 0x0d, 0xcc, 0x8a, 0x83, 0xad, 0xef, 0x2b, 0x67, 0xaf, 0xd5, 0x25,
- 0xa6, 0x74, 0x29, 0x62, 0x10, 0xdb, 0xc7, 0x14, 0x05, 0x6e, 0x95, 0x01,
- 0xfe, 0x57, 0xde, 0x87, 0xcf, 0xda, 0x35, 0x6d, 0x84, 0x00, 0xee, 0x57,
- 0x1d, 0xa8, 0xf4, 0x71, 0x27, 0x6a, 0x09, 0x1c, 0xfe, 0xff, 0xce, 0x13,
- 0x95, 0x3e, 0xee, 0x48, 0xa5, 0xad, 0x33, 0xb5, 0xa4, 0x94, 0xf3, 0xd2,
- 0x1e, 0xff, 0x86, 0xa7, 0xcc, 0x62, 0x06, 0x1e, 0x7b, 0xc6, 0x74, 0x4f,
- 0xfc, 0xdf, 0x7d, 0xca, 0x5e, 0x74, 0xb4, 0x40, 0xb0, 0x29, 0xae, 0x28,
- 0x1d, 0xe5, 0xa3, 0x2a, 0x08, 0xc3, 0x4c, 0xba, 0xd6, 0xb6, 0x25, 0x3e,
- 0x8b, 0xd7, 0x8f, 0x62, 0x06, 0x9d, 0x48, 0x18, 0x9f, 0xd1, 0x74, 0x98,
- 0x90, 0x67, 0x76, 0x39, 0x34, 0x35, 0x78, 0x65, 0xcb, 0x81, 0x8d, 0x6e,
- 0xe9, 0x47, 0x09, 0x80, 0x69, 0xab, 0x8d, 0x09, 0xef, 0x96, 0x1d, 0xd7,
- 0x95, 0xb9, 0xdb, 0xe7, 0x39, 0xab, 0x08, 0x46, 0x7b, 0xa1, 0x2c, 0xce,
- 0xaf, 0x87, 0xc3, 0xfe, 0xc1, 0xd9, 0x71, 0xf7, 0xe4, 0xb5, 0x3f, 0xa7,
- 0x95, 0xb9, 0x9f, 0x2d, 0xad, 0x24, 0xb5, 0x1c, 0x23, 0xd1, 0xfe, 0xb6,
- 0xd1, 0x74, 0xbb, 0x13, 0x7b, 0x50, 0x27, 0x2d, 0x10, 0xa0, 0xf4, 0xc8,
- 0xe7, 0x31, 0x16, 0xfe, 0x4d, 0xce, 0xe4, 0xe3, 0xb4, 0x72, 0x92, 0x5b,
- 0x78, 0x20, 0x80, 0x4c, 0x82, 0x25, 0x83, 0x38, 0x2e, 0x76, 0x5f, 0x3e,
- 0xdf, 0x35, 0xe7, 0xe2, 0x9e, 0x69, 0xe2, 0xe4, 0xe5, 0xa7, 0x83, 0x27,
- 0xdb, 0x4f, 0x07, 0x4f, 0x49, 0xaa, 0x49, 0x00, 0x03, 0x66, 0x9d, 0x34,
- 0x6f, 0xe4, 0x5d, 0x04, 0x32, 0xc0, 0xd7, 0xd8, 0xfb, 0xa3, 0xc3, 0x84,
- 0x91, 0x65, 0x20, 0x0e, 0x4b, 0x90, 0xe8, 0x42, 0x49, 0x33, 0x92, 0xff,
- 0x8c, 0xc8, 0x36, 0x09, 0x53, 0x59, 0x44, 0xde, 0xae, 0x81, 0x39, 0x16,
- 0x4c, 0x87, 0x1a, 0x13, 0x48, 0x1e, 0x2f, 0x6c, 0x47, 0x48, 0xe0, 0xb1,
- 0x5d, 0x21, 0xf3, 0x42, 0x7d, 0x0c, 0x93, 0x44, 0xbc, 0x29, 0x79, 0x24,
- 0xf1, 0x33, 0x55, 0x4f, 0x5d, 0xbe, 0x3e, 0x6a, 0xc0, 0x2c, 0x31, 0x81,
- 0x9c, 0x7b, 0x32, 0xb0, 0x74, 0x44, 0x24, 0x2a, 0x2a, 0x8e, 0xbc, 0x2c,
- 0xe3, 0x99, 0x35, 0x4a, 0x2e, 0xff, 0x3e, 0x29, 0x06, 0xbf, 0xd4, 0xa2,
- 0x8a, 0xa8, 0xc4, 0x9e, 0xe1, 0xa4, 0x5d, 0x17, 0x51, 0x26, 0xd6, 0xd2,
- 0xb2, 0x01, 0x89, 0x91, 0xd4, 0xf5, 0x05, 0xf0, 0x16, 0xa0, 0xe3, 0xcc,
- 0x36, 0x94, 0xd7, 0x94, 0x6d, 0x3f, 0xf2, 0x33, 0x6d, 0x3d, 0x92, 0x3b,
- 0x40, 0x1f, 0xe3, 0xb6, 0xaa, 0x2c, 0x9d, 0x4a, 0xaf, 0xbc, 0xef, 0x84,
- 0xbf, 0x44, 0x3c, 0x92, 0xc4, 0x6d, 0x1d, 0x62, 0xa6, 0x1c, 0x99, 0xa8,
- 0x76, 0xc1, 0x22, 0x28, 0x1c, 0x99, 0xfa, 0xbc, 0x32, 0x17, 0x4a, 0x3e,
- 0x4f, 0xa7, 0xc9, 0x23, 0xa0, 0xbf, 0xcb, 0x17, 0xff, 0x81, 0x62, 0x79,
- 0xe8, 0xbd, 0x9e, 0xce, 0x15, 0xa2, 0x4e, 0x89, 0x5b, 0xba, 0x97, 0x5e,
- 0x28, 0xe7, 0x96, 0x34, 0x46, 0x50, 0x54, 0x91, 0x67, 0x9e, 0x38, 0xeb,
- 0x46, 0xb6, 0x09, 0x06, 0xa2, 0x3e, 0xa6, 0x71, 0x39, 0x9b, 0x23, 0x5e,
- 0x80, 0x8b, 0x4e, 0x9b, 0x95, 0xcc, 0x34, 0x72, 0x88, 0x71, 0x35, 0x87,
- 0x15, 0xe2, 0x9d, 0x6b, 0x31, 0x8f, 0x1f, 0x21, 0x7b, 0x7f, 0x0b, 0x61,
- 0x48, 0x4a, 0x1c, 0x7b, 0x1a, 0x7e, 0xb9, 0x3a, 0x27, 0x53, 0x98, 0x6c,
- 0x22, 0x34, 0x2b, 0x39, 0x46, 0xca, 0x56, 0xa8, 0xe1, 0xf2, 0x88, 0x9f,
- 0x0a, 0x81, 0x31, 0x6c, 0x90, 0xad, 0xc1, 0xa3, 0xe8, 0x65, 0x3b, 0xaa,
- 0x5f, 0x48, 0x72, 0xf3, 0x7f, 0x83, 0x22, 0xf8, 0x2c, 0xb1, 0x6b, 0xf5,
- 0x18, 0x85, 0x90, 0x99, 0x98, 0xb9, 0xe8, 0x67, 0x40, 0x32, 0xe4, 0x8c,
- 0xae, 0xff, 0xa7, 0x0f, 0xfe, 0xff, 0x92, 0x3e, 0xf8, 0xcf, 0x9c, 0x52,
- 0xaa, 0x10, 0x0d, 0x1d, 0xc2, 0x3f, 0x99, 0xfe, 0x61, 0x8c, 0xe1, 0x81,
- 0xa7, 0xf7, 0x03, 0x97, 0x05, 0xf6, 0x0b, 0x8e, 0x68, 0xb8, 0x15, 0xfe,
- 0xef, 0x38, 0xa2, 0x8f, 0x3a, 0x99, 0xff, 0xcf, 0xfb, 0xf1, 0xdf, 0xed,
- 0x1c, 0xae, 0xc0, 0x7a, 0x6c, 0x9a, 0x6d, 0x76, 0x4b, 0x95, 0x0e, 0xb8,
- 0xda, 0x08, 0x6c, 0xed, 0x2d, 0xa7, 0xfa, 0x50, 0xbe, 0x0c, 0x4f, 0xdd,
- 0xf1, 0xd9, 0x77, 0xcf, 0x7b, 0x14, 0xc1, 0x1a, 0x76, 0xa3, 0x96, 0x55,
- 0x72, 0xf2, 0xe6, 0xe0, 0xec, 0x17, 0x9c, 0xf6, 0xbf, 0xc2, 0xd1, 0x3a,
- 0xcf, 0xb2, 0x49, 0x9f, 0x23, 0x24, 0xaf, 0xf0, 0x8f, 0x68, 0x4c, 0x51,
- 0x93, 0xe0, 0xb1, 0x6d, 0x29, 0x70, 0x12, 0x06, 0x6b, 0xf1, 0xb2, 0x51,
- 0x53, 0x0a, 0xa1, 0xa5, 0x98, 0xa3, 0xf6, 0x61, 0xe0, 0x65, 0x29, 0x8b,
- 0xc9, 0x96, 0xa8, 0x80, 0xfc, 0x6d, 0x6c, 0x15, 0x09, 0xb2, 0xd3, 0xf1,
- 0xbe, 0x22, 0xf2, 0x2a, 0x4b, 0xff, 0xe7, 0x3d, 0xc3, 0x40, 0xa1, 0x28,
- 0xe2, 0xe3, 0xde, 0x0d, 0x85, 0x83, 0x3b, 0x4c, 0x31, 0xf5, 0x64, 0x87,
- 0x0b, 0xdb, 0x23, 0x17, 0xf8, 0x77, 0x4c, 0x88, 0xef, 0x7e, 0x7e, 0x19,
- 0x66, 0x60, 0xe5, 0x54, 0xfa, 0x2b, 0xd1, 0x9a, 0x41, 0x8a, 0x05, 0x4e,
- 0x16, 0x55, 0x58, 0xc8, 0x2b, 0xf5, 0x67, 0x87, 0xc3, 0xe4, 0xdc, 0x5f,
- 0xfb, 0x89, 0xf6, 0x5c, 0x9a, 0xcf, 0xb7, 0xa6, 0x33, 0x02, 0x8d, 0xef,
- 0xb5, 0x20, 0x19, 0x7e, 0x97, 0x6c, 0x44, 0x70, 0x37, 0x51, 0xe7, 0x3e,
- 0x70, 0x5b, 0x82, 0x58, 0x31, 0xbb, 0x29, 0x34, 0xfd, 0xdc, 0xeb, 0x0f,
- 0x21, 0x9d, 0xca, 0xa2, 0xa9, 0x98, 0x4b, 0x59, 0x82, 0xa5, 0xb5, 0x92,
- 0x7c, 0x2f, 0xbc, 0x82, 0x8a, 0x29, 0xd7, 0x36, 0xa7, 0x59, 0x0b, 0x19,
- 0x0d, 0xf9, 0x7c, 0x67, 0xcd, 0x78, 0x60, 0x57, 0x16, 0x2c, 0x63, 0x54,
- 0xf3, 0xdc, 0xa8, 0xb8, 0x5a, 0x16, 0xd2, 0x8c, 0xb0, 0xba, 0xd7, 0x7c,
- 0xf7, 0xfe, 0x12, 0x6f, 0x85, 0x06, 0xfb, 0x97, 0xe0, 0x9f, 0x7f, 0x43,
- 0xbc, 0xe7, 0xea, 0x02, 0x44, 0x61, 0x8e, 0xb7, 0x3a, 0x64, 0xac, 0x54,
- 0x48, 0x51, 0x7c, 0x1c, 0x55, 0x48, 0xcd, 0xef, 0xf2, 0xe6, 0x9e, 0x68,
- 0x02, 0x6e, 0x05, 0x9d, 0xde, 0x95, 0xf7, 0xc3, 0x93, 0x27, 0x98, 0xd6,
- 0x8b, 0x93, 0xa1, 0x4f, 0xb7, 0x5d, 0xa3, 0x72, 0x25, 0xf2, 0x93, 0xbe,
- 0x3a, 0x3a, 0x18, 0x5e, 0x0c, 0x82, 0x21, 0x9a, 0x31, 0x86, 0xa8, 0x10,
- 0x9b, 0x63, 0x94, 0x81, 0x7c, 0x68, 0x9a, 0xde, 0x13, 0xc7, 0x9d, 0xe4,
- 0x3d, 0x51, 0xe7, 0xb8, 0x6f, 0xda, 0x3a, 0xd9, 0xb9, 0x29, 0xc3, 0x6e,
- 0x9b, 0xac, 0x0a, 0xa9, 0xa9, 0xcc, 0xdc, 0x8d, 0xf2, 0x29, 0x8d, 0xc0,
- 0xf4, 0xcb, 0x58, 0x43, 0x33, 0x41, 0x33, 0x23, 0x89, 0xb6, 0x9c, 0x12,
- 0x9e, 0x8c, 0x3e, 0xd3, 0xf6, 0x43, 0x10, 0x85, 0xa6, 0x64, 0x16, 0x2f,
- 0xcf, 0x13, 0x34, 0x5a, 0x46, 0x59, 0x67, 0xc2, 0x53, 0x46, 0x6d, 0xe8,
- 0x5c, 0x71, 0x12, 0x93, 0x4d, 0x23, 0xc0, 0x2b, 0x60, 0x59, 0x08, 0x93,
- 0xb0, 0xd2, 0xfa, 0x93, 0x42, 0xd1, 0x51, 0xda, 0x8b, 0x90, 0x33, 0x2b,
- 0x81, 0x75, 0x5d, 0x4b, 0xc8, 0x2c, 0x34, 0x52, 0x56, 0x29, 0x75, 0xa1,
- 0x6b, 0xdb, 0x7d, 0x9f, 0x13, 0xe9, 0xef, 0xd6, 0x8a, 0xf5, 0xb6, 0x11,
- 0xf2, 0x56, 0x49, 0x33, 0x6a, 0x2d, 0x5e, 0xca, 0x27, 0x19, 0x5f, 0x67,
- 0xe6, 0x12, 0x19, 0x78, 0x89, 0xd7, 0x8f, 0x9e, 0x90, 0xb5, 0x80, 0xa1,
- 0x2b, 0x32, 0x3d, 0xbf, 0x78, 0x42, 0x9e, 0x3e, 0x0d, 0x27, 0xa4, 0xca,
- 0xfe, 0x3e, 0x89, 0x91, 0x1a, 0x03, 0x1a, 0x0e, 0x5c, 0x3a, 0xe3, 0xb9,
- 0xcf, 0x99, 0x99, 0x99, 0xba, 0xba, 0x4d, 0x25, 0x50, 0x14, 0x63, 0xeb,
- 0xf8, 0xae, 0xc8, 0xc2, 0xa6, 0x10, 0x64, 0x58, 0x11, 0xb5, 0x91, 0x7c,
- 0x69, 0xf7, 0xac, 0x02, 0x9e, 0xba, 0xd9, 0xfa, 0x82, 0xf2, 0x94, 0x8f,
- 0xac, 0xd4, 0x20, 0x09, 0xdb, 0x89, 0x42, 0x1a, 0x94, 0x00, 0x66, 0x0f,
- 0x4f, 0xbf, 0x7f, 0xd9, 0xcc, 0xed, 0xc0, 0x56, 0xee, 0x8e, 0x9d, 0x60,
- 0x32, 0x94, 0xcf, 0x19, 0x63, 0xe7, 0xc1, 0xcb, 0xe8, 0x93, 0x0b, 0x48,
- 0x2c, 0xf6, 0xc2, 0xae, 0x98, 0x82, 0x00, 0x52, 0x46, 0x75, 0x3a, 0x18,
- 0x2d, 0x0a, 0x6e, 0x21, 0xa9, 0x64, 0xfa, 0xd8, 0x89, 0x08, 0x85, 0x07,
- 0xa6, 0xa5, 0x15, 0x1b, 0xb5, 0x03, 0x16, 0x09, 0xae, 0xf1, 0x51, 0x99,
- 0x02, 0xce, 0x7c, 0x02, 0xc8, 0xb8, 0x1f, 0x92, 0xff, 0x1a, 0x6b, 0xfe,
- 0x26, 0x9b, 0x22, 0x17, 0x28, 0x2b, 0xc6, 0xd5, 0xfd, 0xdc, 0x67, 0xe1,
- 0x9e, 0xfc, 0x33, 0xf3, 0xaf, 0x90, 0x7d, 0xa9, 0xaa, 0xbb, 0x6b, 0x84,
- 0xdd, 0x56, 0xa8, 0x7f, 0x51, 0xda, 0xa2, 0xca, 0x37, 0xf6, 0x4c, 0x01,
- 0x71, 0xcb, 0x31, 0x62, 0xab, 0xff, 0x92, 0x35, 0xa3, 0xd2, 0x9b, 0x79,
- 0xee, 0x98, 0x59, 0xac, 0x1b, 0xf7, 0x58, 0x80, 0xb7, 0xc8, 0x42, 0x95,
- 0x1f, 0xbd, 0xf6, 0x7b, 0x3d, 0x9e, 0xb0, 0x9b, 0xbd, 0x20, 0x97, 0x81,
- 0x44, 0xc2, 0x5b, 0xf2, 0xd2, 0xb4, 0x1d, 0xf1, 0x74, 0x60, 0xb5, 0xa0,
- 0xd1, 0x1e, 0xbb, 0xa2, 0xfc, 0x92, 0x89, 0x8a, 0x21, 0x0d, 0xf0, 0x4d,
- 0x9c, 0x16, 0x4d, 0x6f, 0xbb, 0x1c, 0xba, 0xa1, 0x11, 0xae, 0x8c, 0xde,
- 0x52, 0xdf, 0xd2, 0x68, 0x91, 0x0b, 0x43, 0x00, 0xdd, 0x80, 0xe6, 0xe9,
- 0x9b, 0xbd, 0x65, 0x9c, 0xd2, 0x03, 0xf9, 0x35, 0x72, 0x4c, 0x27, 0x54,
- 0xbe, 0xc0, 0x11, 0xde, 0x25, 0xb6, 0x72, 0x2e, 0xc0, 0x8b, 0xe4, 0xa0,
- 0x7e, 0xbe, 0xfb, 0xd9, 0xf3, 0xad, 0x55, 0xa5, 0x42, 0xa9, 0xda, 0x07,
- 0x65, 0xcf, 0xf1, 0x26, 0xa2, 0x7f, 0xed, 0x0d, 0xfc, 0x09, 0xf2, 0x4a,
- 0x12, 0x48, 0xd6, 0x69, 0x78, 0xc7, 0x99, 0x0b, 0x87, 0x36, 0x05, 0x26,
- 0x42, 0x99, 0xdb, 0xb1, 0x5d, 0x78, 0x5c, 0x64, 0xcd, 0xc8, 0x39, 0xc7,
- 0x66, 0xee, 0x9a, 0x85, 0x41, 0xb1, 0x4a, 0x98, 0x89, 0xfd, 0x27, 0xda,
- 0x07, 0xbe, 0x3f, 0xfd, 0xfa, 0x6f, 0xdc, 0x59, 0xfc, 0x7d, 0xd0, 0xfe,
- 0x97, 0x1f, 0xd0, 0x74, 0x0d, 0xfc, 0x9a, 0x55, 0x7e, 0xf2, 0x2f, 0x58,
- 0xe5, 0x27, 0xab, 0x57, 0xf9, 0xc9, 0x63, 0x57, 0xf9, 0xb3, 0x67, 0xcf,
- 0x5f, 0xfc, 0x8a, 0x55, 0xf6, 0x66, 0xf8, 0xff, 0xd8, 0x2a, 0x7b, 0x3b,
- 0xed, 0xd7, 0xad, 0xb2, 0x00, 0x43, 0x02, 0x41, 0x2c, 0xa5, 0x32, 0x08,
- 0xc2, 0x47, 0xb9, 0xee, 0x0c, 0xe1, 0xe7, 0x67, 0x2d, 0x7b, 0x6c, 0x8b,
- 0x50, 0xd8, 0x96, 0xc9, 0x22, 0x4d, 0x2c, 0x62, 0x66, 0xbb, 0xcc, 0x7b,
- 0xe8, 0xb8, 0xf3, 0x29, 0x95, 0x5b, 0xda, 0xe8, 0x6f, 0xa8, 0x83, 0x44,
- 0x33, 0x9b, 0x94, 0xb8, 0x86, 0x3f, 0x67, 0x96, 0xfa, 0x5f, 0x48, 0x7c,
- 0x14, 0xe2, 0x66, 0x3c, 0xe4, 0x53, 0x6b, 0xd2, 0x96, 0x54, 0xdf, 0x88,
- 0x26, 0xb6, 0x53, 0xc1, 0x97, 0x76, 0xc5, 0x17, 0xc6, 0x87, 0x32, 0x17,
- 0x14, 0x34, 0xe1, 0x6e, 0x65, 0x93, 0xbc, 0x06, 0x2e, 0x39, 0x48, 0x9d,
- 0xa3, 0xbb, 0x4e, 0xc0, 0x4f, 0xed, 0xb2, 0x22, 0x0e, 0x68, 0x67, 0x8b,
- 0x8b, 0x77, 0x2d, 0x96, 0xc0, 0x7a, 0x22, 0xc0, 0xa9, 0x94, 0x7f, 0xd1,
- 0x9b, 0x83, 0x6d, 0xd3, 0x37, 0x34, 0xe8, 0xc9, 0x62, 0x36, 0x57, 0x1a,
- 0x2f, 0xca, 0x6d, 0xc8, 0xb9, 0xb6, 0x38, 0x27, 0xf1, 0xc6, 0x4a, 0xf8,
- 0xa6, 0x95, 0xe7, 0x7e, 0x11, 0xdc, 0x17, 0xbb, 0x72, 0xb4, 0x72, 0x89,
- 0xe3, 0xf6, 0xe1, 0x31, 0x48, 0x0e, 0x11, 0xb2, 0x09, 0x8a, 0x2e, 0x2c,
- 0x92, 0xb3, 0x1f, 0x29, 0xd5, 0x69, 0x92, 0x8d, 0x16, 0x57, 0x9a, 0x09,
- 0x6b, 0x2b, 0x45, 0xb5, 0x17, 0x0b, 0xd9, 0x17, 0xc4, 0x8d, 0x91, 0x69,
- 0x61, 0xe0, 0x90, 0x14, 0xa0, 0xa1, 0x1a, 0x69, 0xe3, 0x55, 0xb8, 0xa9,
- 0x60, 0xe0, 0xd8, 0x03, 0xad, 0x91, 0xe3, 0x27, 0xad, 0x0a, 0x3e, 0x91,
- 0x92, 0x36, 0xfe, 0x56, 0x69, 0xc6, 0xf3, 0xfe, 0x65, 0x4a, 0xb4, 0x7a,
- 0x41, 0x2a, 0xa4, 0x60, 0x25, 0xc5, 0x89, 0x77, 0x71, 0x78, 0x96, 0xbc,
- 0x4d, 0xa5, 0xa0, 0x46, 0xb2, 0x69, 0x04, 0xd3, 0x67, 0x4f, 0x77, 0x9f,
- 0x6c, 0xad, 0x54, 0x50, 0xdb, 0x34, 0x31, 0xf8, 0x56, 0x51, 0xc6, 0x30,
- 0xab, 0x17, 0x8b, 0x0a, 0x79, 0xc2, 0x98, 0x7e, 0xf3, 0xa5, 0x8f, 0xef,
- 0x4f, 0xdf, 0x1c, 0x9d, 0x1c, 0xfc, 0xd5, 0xe6, 0x39, 0xd3, 0x24, 0x68,
- 0xaa, 0xdc, 0x47, 0x63, 0xd7, 0xdd, 0x7f, 0x34, 0xa6, 0xb2, 0xf9, 0xe5,
- 0xe6, 0x93, 0x2d, 0xca, 0xda, 0x09, 0xaa, 0xab, 0x5d, 0x65, 0xad, 0x1c,
- 0x71, 0x81, 0x10, 0xaf, 0x20, 0x3a, 0xb1, 0x9e, 0xbb, 0x9d, 0xc1, 0x9e,
- 0x90, 0xe6, 0x0b, 0xe9, 0xb7, 0x3b, 0xca, 0x1e, 0x7d, 0x7f, 0x2a, 0x4c,
- 0x48, 0x9a, 0x93, 0x1d, 0x6c, 0x8f, 0xbb, 0xf9, 0x34, 0x1f, 0xe7, 0xa4,
- 0xc6, 0xd7, 0x66, 0xd7, 0x9a, 0x3d, 0x91, 0x53, 0x7c, 0xfa, 0xb2, 0x4d,
- 0xa8, 0x86, 0x4c, 0x33, 0xfa, 0xc5, 0xea, 0x78, 0x6b, 0x5b, 0x24, 0x36,
- 0x90, 0xa1, 0xd9, 0xb4, 0xc8, 0x9a, 0xbe, 0x74, 0xec, 0x95, 0xf9, 0xf3,
- 0xf5, 0x4d, 0x3a, 0x0d, 0x92, 0x18, 0xa9, 0x38, 0x99, 0xee, 0x4c, 0x8b,
- 0x2b, 0xa4, 0x37, 0xbd, 0x82, 0x01, 0x43, 0xcb, 0x9b, 0xaf, 0x4f, 0x9a,
- 0xa3, 0x12, 0xf0, 0xe3, 0x5f, 0x5c, 0xfc, 0xf5, 0xec, 0xe8, 0xf5, 0x2b,
- 0x42, 0x25, 0x7e, 0x41, 0xb8, 0xf3, 0xba, 0x05, 0x52, 0x4c, 0xa8, 0x76,
- 0x6e, 0x30, 0x86, 0x1f, 0xde, 0x1c, 0x0f, 0xcf, 0x4e, 0x4e, 0x0f, 0x5f,
- 0xbf, 0xfa, 0x81, 0xcc, 0x2d, 0x23, 0x53, 0xef, 0xbd, 0x77, 0xed, 0xcf,
- 0x2c, 0x05, 0x78, 0x98, 0x06, 0x7f, 0xf4, 0xfd, 0xc7, 0xa3, 0xf7, 0xdf,
- 0xbd, 0x7e, 0x75, 0x93, 0x56, 0x3d, 0x1a, 0x1f, 0xbf, 0xbd, 0xa4, 0xf6,
- 0x5f, 0x6b, 0xab, 0x91, 0xde, 0x3a, 0x9a, 0x7e, 0xaa, 0xf3, 0x7f, 0x64,
- 0x89, 0x79, 0x7d, 0xba, 0x08, 0x29, 0x78, 0x2f, 0x38, 0x73, 0xd8, 0x4c,
- 0x06, 0xfd, 0x2d, 0xf9, 0xea, 0xe4, 0x5b, 0xa2, 0x79, 0xb4, 0x0e, 0xc4,
- 0x19, 0x57, 0x16, 0x49, 0xbe, 0x78, 0xb6, 0xbb, 0xb7, 0xe5, 0xca, 0xe6,
- 0x81, 0x26, 0xd6, 0xf4, 0xf8, 0x53, 0x90, 0x33, 0xf1, 0x0f, 0xa5, 0xba,
- 0xb2, 0xa5, 0x1d, 0x00, 0xec, 0xf7, 0x48, 0x19, 0xd4, 0x17, 0x83, 0x0c,
- 0x6f, 0xa6, 0x9e, 0x28, 0x49, 0x1e, 0x10, 0x5b, 0x4e, 0xe0, 0x8a, 0xba,
- 0x78, 0xeb, 0x51, 0x33, 0x7c, 0xe5, 0xb6, 0x9e, 0xe9, 0x8e, 0xb8, 0xb3,
- 0x56, 0x5e, 0x1b, 0xbf, 0x63, 0x90, 0xa3, 0x6b, 0x6b, 0x61, 0xb2, 0x8d,
- 0x29, 0x2e, 0xfb, 0x27, 0x3e, 0xcf, 0x1e, 0xfc, 0x05, 0xd9, 0x1f, 0x25,
- 0xd3, 0x89, 0x61, 0x94, 0xba, 0xf1, 0x34, 0x07, 0xf6, 0x01, 0xe7, 0x56,
- 0x3e, 0xa3, 0x9c, 0xc1, 0xac, 0x4e, 0xd4, 0xf1, 0xe1, 0xb9, 0x35, 0xa6,
- 0xd9, 0x55, 0x3a, 0xbe, 0xb7, 0xf4, 0xa8, 0x42, 0xed, 0x11, 0xc9, 0xd8,
- 0x4f, 0xc7, 0x64, 0xe5, 0x4c, 0xb3, 0xc9, 0x15, 0xc4, 0x33, 0xa7, 0xfe,
- 0x9b, 0xe3, 0x6a, 0xbd, 0x21, 0xdc, 0x35, 0x4b, 0x71, 0xa0, 0xd7, 0xe5,
- 0xf2, 0xfc, 0x16, 0x5b, 0x06, 0xad, 0xbd, 0xfb, 0x68, 0xdb, 0xa0, 0xa8,
- 0xe7, 0xca, 0x39, 0x7d, 0xda, 0x76, 0x25, 0xff, 0x03, 0x87, 0x9c, 0xd8,
- 0x63, 0xe0, 0xad, 0x7c, 0x45, 0x7f, 0x8d, 0x73, 0x48, 0xa3, 0x00, 0x0d,
- 0xec, 0x79, 0xae, 0xdb, 0xea, 0x28, 0xd7, 0x2c, 0xef, 0x97, 0xd4, 0x65,
- 0x20, 0x2a, 0xe2, 0xc6, 0xf9, 0x99, 0xe3, 0xdc, 0x4c, 0xd6, 0xdb, 0x6b,
- 0xb6, 0x27, 0x5f, 0x56, 0xb4, 0x33, 0x96, 0xb4, 0xe7, 0x65, 0x66, 0x85,
- 0xb1, 0x0b, 0x4e, 0x09, 0xa2, 0x28, 0xfd, 0x2b, 0x6a, 0x8b, 0x44, 0x22,
- 0xe9, 0x24, 0x66, 0xa6, 0xbe, 0xd0, 0x70, 0x48, 0xea, 0xb3, 0x57, 0xe0,
- 0x21, 0x66, 0x3f, 0xa8, 0xc3, 0xc4, 0x71, 0x57, 0x0f, 0x9e, 0x04, 0x27,
- 0x23, 0x17, 0x28, 0xd6, 0x64, 0x29, 0x51, 0x4d, 0x37, 0x6b, 0x55, 0xd6,
- 0x28, 0x05, 0x0a, 0xf6, 0xab, 0x23, 0x4c, 0x8c, 0x30, 0x6f, 0xf8, 0x19,
- 0x3b, 0x44, 0x9d, 0x23, 0xbc, 0x25, 0x18, 0x9c, 0xd6, 0x24, 0x40, 0xa7,
- 0x36, 0x67, 0x34, 0x98, 0x2d, 0x26, 0xb5, 0x8a, 0x92, 0x99, 0x5b, 0xe5,
- 0xb2, 0x75, 0x4f, 0x99, 0x46, 0xe9, 0x7d, 0xb9, 0xa3, 0x70, 0x2b, 0x71,
- 0x16, 0x31, 0x37, 0xeb, 0xcd, 0x48, 0x90, 0x11, 0xd2, 0x30, 0xc2, 0xbd,
- 0x7b, 0x49, 0x11, 0x25, 0xae, 0xe2, 0xca, 0xfd, 0x19, 0x55, 0x86, 0x66,
- 0x54, 0x5b, 0xda, 0xec, 0x6f, 0xd9, 0xe4, 0xdf, 0xbc, 0xb1, 0x4a, 0x5b,
- 0x84, 0x26, 0xc2, 0xd2, 0xf6, 0xda, 0x1a, 0x5a, 0xec, 0x15, 0xd4, 0x1d,
- 0x22, 0x7b, 0x82, 0x3e, 0xb6, 0xcd, 0x79, 0x5f, 0x2a, 0x84, 0xf2, 0x48,
- 0xea, 0x69, 0xd0, 0x58, 0x91, 0xdd, 0xfa, 0x8d, 0x39, 0x85, 0xdc, 0x36,
- 0xf8, 0x7b, 0x3a, 0x82, 0x8d, 0x31, 0x41, 0x49, 0x2b, 0xc9, 0xab, 0xef,
- 0x8e, 0xce, 0x87, 0xc7, 0xa7, 0xef, 0xbf, 0x88, 0xda, 0x89, 0x89, 0xfc,
- 0x36, 0xb1, 0xd5, 0x8c, 0x34, 0xd3, 0xcd, 0xd5, 0x93, 0x21, 0xef, 0x90,
- 0xba, 0x21, 0x92, 0x03, 0xca, 0xee, 0xa1, 0x07, 0xba, 0x5b, 0xa0, 0x96,
- 0x16, 0xe0, 0xfe, 0x4c, 0xab, 0x2b, 0xcc, 0x85, 0xd9, 0x8b, 0xb0, 0x69,
- 0x50, 0x2b, 0x54, 0x8d, 0x1d, 0xfb, 0xd7, 0xbd, 0x60, 0xfc, 0x71, 0xa8,
- 0x8a, 0x17, 0x29, 0x5e, 0xcc, 0x39, 0x13, 0x8a, 0x52, 0xeb, 0x99, 0x8c,
- 0xc3, 0xef, 0x5d, 0x40, 0x2a, 0x4e, 0xa5, 0x31, 0xfd, 0x17, 0xcd, 0xc3,
- 0x37, 0xbb, 0x5e, 0xf6, 0x86, 0x7d, 0x6e, 0x37, 0xf6, 0xdc, 0x6e, 0xf8,
- 0xdc, 0x5e, 0xec, 0xb9, 0xbd, 0xf0, 0xb9, 0x27, 0xb1, 0xe7, 0xbc, 0x04,
- 0x1d, 0xcf, 0x7c, 0xd5, 0x19, 0x5a, 0x65, 0x11, 0x7a, 0xeb, 0xd9, 0x2a,
- 0xa2, 0xb8, 0xe6, 0x99, 0x70, 0x9e, 0x09, 0xab, 0x16, 0xec, 0x72, 0x03,
- 0xd6, 0x87, 0xd8, 0x74, 0xfc, 0xa8, 0xe6, 0x43, 0x84, 0xd8, 0x21, 0x95,
- 0xc6, 0x08, 0x5e, 0xf3, 0xdf, 0x2f, 0xc2, 0xb4, 0xbb, 0x04, 0xd3, 0x1e,
- 0x96, 0x5a, 0x27, 0x35, 0x28, 0xa1, 0xcc, 0x10, 0x2e, 0xef, 0xdb, 0x53,
- 0x83, 0x42, 0xea, 0x88, 0xf1, 0x86, 0x5a, 0x7a, 0x7d, 0xac, 0x0f, 0xcf,
- 0xcf, 0xd6, 0x7b, 0x12, 0xcc, 0x33, 0x1f, 0xe8, 0x9b, 0x7f, 0x27, 0xd0,
- 0xb5, 0x89, 0x20, 0xff, 0xd9, 0x53, 0xc1, 0xdd, 0x70, 0x1f, 0x51, 0xdc,
- 0x25, 0xe2, 0x5d, 0xc6, 0x2f, 0x2d, 0xf6, 0x88, 0xab, 0xcd, 0xb9, 0x5a,
- 0x16, 0x46, 0x0d, 0x6e, 0x8f, 0x90, 0x11, 0x01, 0x3d, 0x47, 0x9b, 0x1a,
- 0xef, 0x9d, 0xc7, 0xd8, 0xc4, 0xdd, 0x1c, 0x74, 0xfc, 0x87, 0x65, 0xf5,
- 0x49, 0x08, 0xbd, 0xc5, 0x07, 0xca, 0xeb, 0x11, 0x54, 0x59, 0xec, 0xb8,
- 0x18, 0x48, 0x90, 0xf0, 0x0a, 0x89, 0xff, 0x45, 0x87, 0x2d, 0xb3, 0xd5,
- 0x93, 0x24, 0xba, 0x25, 0xa5, 0x04, 0xa5, 0xba, 0x1f, 0x1d, 0x29, 0x29,
- 0xe6, 0x8d, 0x56, 0x3a, 0x8d, 0x3c, 0x90, 0xaf, 0xff, 0xb4, 0xb3, 0xfa,
- 0x3a, 0x79, 0x91, 0x65, 0xb7, 0xf3, 0x4a, 0x4b, 0x04, 0xbd, 0x4e, 0x99,
- 0xb4, 0x50, 0x48, 0xbc, 0xb3, 0x1d, 0x84, 0xe9, 0x66, 0x79, 0xba, 0x89,
- 0xe6, 0xd7, 0x7b, 0x0b, 0x32, 0x50, 0xdf, 0xbc, 0x28, 0x2f, 0x6e, 0xad,
- 0x3d, 0x3e, 0xeb, 0x87, 0x07, 0xe4, 0x8f, 0x07, 0x6f, 0x47, 0xf1, 0x98,
- 0xd8, 0xc9, 0x0a, 0x58, 0x4b, 0x1e, 0x35, 0x28, 0xa5, 0x29, 0xfa, 0x75,
- 0x43, 0x12, 0xff, 0x53, 0x77, 0x8f, 0xd2, 0xc8, 0x42, 0x0f, 0xc0, 0xa3,
- 0x06, 0xda, 0x1a, 0x29, 0xc9, 0x91, 0x40, 0xfd, 0x3c, 0x19, 0x6e, 0x25,
- 0xea, 0x0f, 0x74, 0x60, 0x44, 0x1a, 0xa7, 0x27, 0x3a, 0x21, 0x2a, 0x1f,
- 0x01, 0x42, 0x14, 0x77, 0x20, 0xbd, 0xa9, 0xf4, 0xe3, 0x2b, 0x72, 0x04,
- 0x43, 0xc9, 0x42, 0xb2, 0x2d, 0xda, 0xc3, 0x88, 0xc3, 0xb2, 0xdd, 0xbd,
- 0x5d, 0xe1, 0x3d, 0xf0, 0xfa, 0xc7, 0x85, 0x72, 0x7f, 0xfb, 0x1e, 0xee,
- 0xfd, 0xea, 0x39, 0xdc, 0xfb, 0x17, 0xcd, 0xe1, 0x93, 0x5f, 0x37, 0x87,
- 0x4f, 0x7e, 0xb3, 0x39, 0x74, 0xf5, 0x4f, 0xe9, 0x21, 0x6a, 0xd9, 0x2b,
- 0x17, 0x29, 0x7a, 0x03, 0xe9, 0x01, 0xe6, 0x9f, 0x23, 0x8a, 0xea, 0x93,
- 0x07, 0xc5, 0x3c, 0x48, 0xb9, 0xb7, 0x19, 0x2a, 0x41, 0x76, 0x06, 0xec,
- 0xf8, 0x22, 0x2d, 0x71, 0x33, 0xb9, 0x1a, 0x91, 0xd8, 0x0f, 0xfe, 0x4c,
- 0x92, 0xe3, 0x5f, 0x95, 0xa4, 0x1d, 0x1b, 0x79, 0xd7, 0x4b, 0xde, 0x0f,
- 0x87, 0x1c, 0x6b, 0x1d, 0xc2, 0x5b, 0xdc, 0xb5, 0x97, 0xc8, 0xd0, 0xc4,
- 0x65, 0xb7, 0x49, 0x37, 0xcb, 0xa9, 0xe9, 0x21, 0xd4, 0x0e, 0x18, 0x00,
- 0xfc, 0xde, 0x2c, 0x1d, 0xd3, 0x8f, 0x77, 0x06, 0xbb, 0x4f, 0xec, 0x6f,
- 0xb6, 0x7e, 0x01, 0xc5, 0x87, 0x73, 0xe5, 0xc6, 0xf5, 0xaa, 0x30, 0xdd,
- 0xa1, 0xbd, 0x14, 0x77, 0xa1, 0x07, 0x9e, 0x95, 0xd8, 0x07, 0x97, 0x82,
- 0x03, 0x4d, 0x9c, 0x8f, 0xde, 0x39, 0xc1, 0xbd, 0x44, 0xf4, 0xab, 0x98,
- 0x6e, 0xf5, 0xa0, 0xc7, 0xdc, 0xf3, 0x4e, 0xff, 0x1f, 0xf3, 0x98, 0xc7,
- 0xf5, 0x9f, 0xd6, 0xbf, 0x5a, 0x69, 0xce, 0x4d, 0xd5, 0xd7, 0xa2, 0x0e,
- 0x71, 0xda, 0x48, 0x67, 0x19, 0x12, 0xc6, 0x19, 0x9c, 0x3a, 0x13, 0xde,
- 0x1f, 0x14, 0x43, 0x3c, 0x92, 0x77, 0x9d, 0x83, 0x96, 0x23, 0xd3, 0xd1,
- 0xea, 0x9d, 0xc2, 0xdc, 0xa7, 0x59, 0xe3, 0x9a, 0xb6, 0xcb, 0xa3, 0xac,
- 0x79, 0x5b, 0x2d, 0x0a, 0xfd, 0x8c, 0xcb, 0x7f, 0x05, 0x75, 0x45, 0xb0,
- 0xac, 0xe3, 0x8c, 0x69, 0x0d, 0xf2, 0x87, 0x84, 0xfc, 0xf3, 0xf6, 0x78,
- 0xd3, 0x71, 0xd6, 0x4f, 0xeb, 0x71, 0x9e, 0xc7, 0x4d, 0x31, 0xf6, 0x5a,
- 0xc2, 0xf4, 0x5b, 0xc0, 0x05, 0x43, 0x75, 0x6c, 0xc9, 0x69, 0xaa, 0x75,
- 0x22, 0x89, 0xea, 0x91, 0x13, 0xfe, 0xd9, 0x0a, 0x2c, 0x17, 0xcd, 0x15,
- 0x48, 0xdf, 0xd0, 0xd9, 0x5e, 0x60, 0xd9, 0x91, 0x63, 0x95, 0x29, 0x11,
- 0xeb, 0x71, 0x95, 0xcf, 0xc1, 0x7c, 0xe5, 0x55, 0xa4, 0xe8, 0xd9, 0x92,
- 0x8d, 0xb0, 0x95, 0xc4, 0xfd, 0xcd, 0x35, 0x0c, 0x3f, 0x04, 0x79, 0xd6,
- 0xeb, 0xfd, 0x75, 0xb2, 0x4b, 0x2d, 0x8d, 0xbf, 0x79, 0x97, 0x28, 0x0b,
- 0x99, 0xf6, 0x87, 0x5f, 0x45, 0x49, 0xdc, 0xe5, 0xe1, 0x05, 0xf5, 0x43,
- 0x99, 0x2d, 0x74, 0xaf, 0xa4, 0x78, 0x60, 0x2a, 0x56, 0xff, 0xf2, 0x88,
- 0xb9, 0x4f, 0xc9, 0x3f, 0xa2, 0x34, 0xb4, 0xd7, 0xd9, 0x1d, 0x67, 0xc8,
- 0x84, 0xda, 0xa2, 0x94, 0x60, 0xb9, 0xa6, 0xdc, 0x09, 0x3c, 0x7b, 0x30,
- 0x3c, 0x3c, 0x3e, 0x6e, 0xe5, 0xd3, 0xd0, 0xe4, 0x21, 0xc5, 0x99, 0x73,
- 0xb5, 0x6b, 0x62, 0x15, 0x23, 0xaf, 0x3b, 0xba, 0x1b, 0x23, 0x29, 0x9e,
- 0xe5, 0x57, 0xd7, 0x70, 0x9d, 0x65, 0x69, 0x9d, 0x6b, 0x1d, 0xa1, 0x54,
- 0x74, 0xa6, 0xc2, 0x74, 0x13, 0x56, 0xd2, 0xf5, 0xc2, 0x18, 0xc5, 0xbf,
- 0x3f, 0x45, 0x40, 0x1c, 0xa6, 0x2a, 0xb3, 0xc5, 0xe7, 0xca, 0x77, 0xd5,
- 0x87, 0x7b, 0x2d, 0xc2, 0x08, 0x7c, 0x56, 0x49, 0xcd, 0x18, 0xa6, 0xc1,
- 0x10, 0x4a, 0x5f, 0x2a, 0x6b, 0x4a, 0x34, 0x45, 0xdc, 0xb2, 0x19, 0xab,
- 0x7a, 0xff, 0x99, 0x2b, 0x53, 0x04, 0x49, 0xa4, 0x7a, 0xac, 0xf8, 0x41,
- 0x57, 0xe6, 0x01, 0xec, 0x76, 0xaf, 0x41, 0x7c, 0x64, 0xe5, 0x09, 0x20,
- 0xd2, 0x23, 0x9c, 0x01, 0xe9, 0x51, 0xeb, 0x14, 0xd8, 0x43, 0x40, 0x33,
- 0x60, 0x8f, 0xc0, 0xbf, 0xe8, 0x04, 0x00, 0x03, 0xec, 0xaa, 0x5f, 0x3c,
- 0x7c, 0x08, 0x60, 0x49, 0xae, 0xff, 0x69, 0x3d, 0xce, 0x19, 0xfd, 0x88,
- 0x93, 0xd4, 0x4a, 0x2e, 0xff, 0xd7, 0xee, 0xb4, 0x48, 0xb6, 0xbb, 0x27,
- 0xc4, 0xfc, 0x35, 0x5d, 0x14, 0xf9, 0x1d, 0xa0, 0xaa, 0x46, 0x5f, 0x78,
- 0x45, 0x84, 0xc9, 0x4b, 0x98, 0x80, 0x0f, 0x59, 0x7b, 0x49, 0x14, 0x79,
- 0x8b, 0x51, 0x7c, 0x30, 0x2f, 0x27, 0x93, 0x72, 0x46, 0x71, 0x4b, 0x6e,
- 0xa3, 0xe7, 0xd3, 0x31, 0x42, 0xac, 0x47, 0xe2, 0x9e, 0x45, 0xd6, 0x90,
- 0xe9, 0xb6, 0xd2, 0x35, 0xd9, 0x76, 0xf7, 0x5e, 0xa0, 0xfc, 0xca, 0x9c,
- 0xe0, 0x90, 0x2b, 0xca, 0xfb, 0xb1, 0xc7, 0xd6, 0x03, 0x1f, 0x32, 0x96,
- 0xd9, 0x1a, 0xa2, 0x1e, 0x6d, 0x75, 0xbb, 0x9c, 0x3a, 0xf8, 0xa0, 0x63,
- 0x21, 0x5a, 0x4b, 0x5c, 0xee, 0x58, 0xff, 0xf3, 0xae, 0x63, 0x09, 0xcc,
- 0xf2, 0xce, 0xff, 0x2e, 0x85, 0x79, 0x56, 0x92, 0x66, 0x33, 0xd1, 0xb9,
- 0xab, 0x87, 0xd6, 0x2a, 0x8f, 0x00, 0xae, 0x99, 0x7c, 0x4a, 0x9b, 0x7f,
- 0x5b, 0xc3, 0x53, 0xd3, 0x10, 0x55, 0xe8, 0x58, 0xf7, 0x59, 0xd4, 0x11,
- 0x84, 0x1d, 0x2e, 0x6a, 0xfa, 0x37, 0x68, 0x22, 0xa4, 0xd4, 0x5a, 0x67,
- 0x10, 0xbc, 0xfd, 0xcb, 0x68, 0xed, 0x73, 0x0e, 0x20, 0x5c, 0x53, 0x29,
- 0x46, 0xed, 0x57, 0xc5, 0x1b, 0xb1, 0x5d, 0x6c, 0x53, 0x63, 0x12, 0x1e,
- 0x93, 0x78, 0xa4, 0x1c, 0xb3, 0xe8, 0x60, 0xa2, 0x3b, 0x31, 0x71, 0x18,
- 0x65, 0x10, 0x10, 0x6f, 0x31, 0xe1, 0x0f, 0x6c, 0xe9, 0x37, 0x5e, 0x58,
- 0xaf, 0x82, 0x78, 0x10, 0xda, 0x22, 0xf2, 0x8d, 0x16, 0x22, 0x74, 0xc1,
- 0xf5, 0xa2, 0x14, 0x84, 0xbe, 0x69, 0x14, 0x71, 0x2d, 0xaf, 0x4d, 0x2d,
- 0x12, 0xe7, 0xb0, 0xab, 0xad, 0x1d, 0xb0, 0xe7, 0x2e, 0x3b, 0x4d, 0x9a,
- 0x16, 0xe1, 0x26, 0x8a, 0x24, 0xc7, 0x66, 0xaa, 0xe4, 0x54, 0xe4, 0xea,
- 0xdc, 0x52, 0xd5, 0xd2, 0x9c, 0xf0, 0xbc, 0xf0, 0xb7, 0x7b, 0xa0, 0x46,
- 0xb2, 0x6c, 0x12, 0xa9, 0x64, 0xb6, 0xb7, 0xd0, 0x58, 0x66, 0xd6, 0x47,
- 0xe3, 0x7d, 0x67, 0xe0, 0x7f, 0x87, 0x61, 0xc0, 0x5b, 0x01, 0x05, 0xf2,
- 0x7d, 0xb7, 0x34, 0xa2, 0xfd, 0x36, 0xf5, 0x53, 0xb3, 0xdd, 0xa4, 0x67,
- 0x08, 0x2d, 0x13, 0x62, 0x0c, 0x91, 0xa3, 0xf0, 0x24, 0x72, 0x95, 0x64,
- 0x58, 0x22, 0x60, 0x1f, 0xc7, 0x7d, 0x09, 0x9d, 0x44, 0x4b, 0xb0, 0x88,
- 0x48, 0x13, 0x1a, 0x30, 0xdb, 0x2c, 0x79, 0xe4, 0xc3, 0xe6, 0x78, 0x11,
- 0x23, 0x93, 0xfa, 0xd7, 0x4e, 0x3a, 0x04, 0xc9, 0xb4, 0xf0, 0x40, 0xdb,
- 0x2a, 0x25, 0x44, 0x7b, 0xee, 0x93, 0x79, 0x46, 0x89, 0xa0, 0x85, 0xdd,
- 0x33, 0x39, 0xa2, 0x37, 0xc2, 0xc6, 0xfe, 0x82, 0x56, 0x88, 0x13, 0xd5,
- 0xab, 0x42, 0x84, 0x9a, 0x9e, 0xc1, 0xce, 0x92, 0xbd, 0x27, 0x7c, 0xb2,
- 0xc8, 0x5d, 0x1c, 0x08, 0xc3, 0x3e, 0xa9, 0xed, 0xaa, 0x68, 0x26, 0xeb,
- 0x57, 0xd3, 0x72, 0x34, 0x32, 0xc3, 0x5e, 0xf7, 0xd4, 0x52, 0xf3, 0xe5,
- 0xc0, 0x11, 0xe6, 0xf7, 0xc3, 0xba, 0x64, 0x7b, 0x0c, 0x2d, 0x60, 0xdb,
- 0x0f, 0x57, 0xb2, 0x26, 0x89, 0xc8, 0xf7, 0x95, 0x86, 0x32, 0x72, 0xd3,
- 0x08, 0xf6, 0x4f, 0xb6, 0x06, 0x0d, 0xcc, 0xc3, 0x72, 0x4a, 0xce, 0x14,
- 0xfd, 0x54, 0x3b, 0x98, 0x70, 0xc1, 0xf3, 0x65, 0x40, 0x20, 0x47, 0x7a,
- 0x0d, 0xc1, 0x25, 0x55, 0x50, 0xf2, 0xb0, 0x3a, 0x39, 0xcf, 0x42, 0x7b,
- 0x40, 0xeb, 0xff, 0x49, 0x7f, 0xec, 0xf6, 0xe8, 0xbf, 0x7b, 0xff, 0xb5,
- 0x9e, 0x90, 0x15, 0xb3, 0xbf, 0xbd, 0x7d, 0x7b, 0x7b, 0x3b, 0x10, 0x76,
- 0xe7, 0x81, 0x59, 0xb2, 0xb5, 0x30, 0xab, 0x81, 0x58, 0x66, 0x96, 0x7c,
- 0xe0, 0x22, 0x59, 0xcf, 0x67, 0x57, 0x3f, 0xee, 0xf6, 0x77, 0x77, 0x76,
- 0x76, 0x7e, 0x1e, 0xcc, 0x69, 0x8a, 0x2f, 0xd1, 0xac, 0xf9, 0xaf, 0xdf,
- 0xec, 0x36, 0xf7, 0x64, 0x7b, 0x2d, 0x5e, 0x2b, 0x01, 0xbf, 0xb4, 0x19,
- 0xea, 0x05, 0x73, 0x05, 0xf3, 0x56, 0xde, 0xf7, 0xc4, 0x0c, 0x87, 0x02,
- 0xd2, 0xe5, 0x39, 0x82, 0x5c, 0xb8, 0x83, 0xfc, 0x9f, 0xcf, 0x9e, 0xec,
- 0xed, 0x25, 0xac, 0x72, 0x30, 0xf4, 0x9e, 0xe3, 0x51, 0x94, 0x75, 0x29,
- 0x05, 0x0e, 0xf9, 0x36, 0x1b, 0x13, 0xfd, 0x4c, 0xc5, 0xb5, 0xd3, 0x82,
- 0x52, 0x5a, 0x16, 0xe9, 0x81, 0x7d, 0x6b, 0xae, 0x4a, 0x42, 0x25, 0x96,
- 0x93, 0x7b, 0xd7, 0xb0, 0xd9, 0xe5, 0x15, 0x49, 0x57, 0x2a, 0x51, 0xe4,
- 0x95, 0xe3, 0x4e, 0xeb, 0x98, 0xde, 0x66, 0x61, 0xf4, 0xb8, 0xe6, 0xc0,
- 0x72, 0x56, 0xd0, 0xfc, 0xa2, 0x12, 0x06, 0x78, 0x8a, 0x16, 0x95, 0xd0,
- 0xab, 0x23, 0x56, 0x75, 0x9b, 0xde, 0xb7, 0xae, 0x7b, 0x33, 0xe3, 0xaf,
- 0xcc, 0x7f, 0x96, 0x55, 0xc6, 0x4d, 0xb1, 0x95, 0x30, 0xc2, 0x66, 0x7c,
- 0x1d, 0xd0, 0x76, 0x42, 0x80, 0x93, 0xf2, 0x7e, 0x6d, 0x46, 0x63, 0x59,
- 0x31, 0x97, 0x14, 0x9f, 0xf1, 0x72, 0x8e, 0x4c, 0xa3, 0xc4, 0x31, 0x8c,
- 0x5a, 0xae, 0x5c, 0x8f, 0x92, 0xa5, 0xe2, 0xb2, 0x22, 0x62, 0xb6, 0x66,
- 0x0b, 0x60, 0x3f, 0x79, 0xad, 0x39, 0x51, 0xe3, 0xeb, 0x6c, 0x26, 0x12,
- 0x73, 0x53, 0x51, 0x2f, 0xeb, 0xb2, 0x09, 0xd7, 0xc3, 0x4b, 0x6d, 0xfd,
- 0x52, 0x7e, 0x63, 0x06, 0xb3, 0x25, 0x39, 0x45, 0xf6, 0x9e, 0x13, 0xfe,
- 0xf5, 0xab, 0x05, 0xd9, 0x8d, 0xa3, 0x54, 0x2e, 0x14, 0xa5, 0xf7, 0x5d,
- 0x86, 0xd9, 0x22, 0xa1, 0x98, 0x55, 0xb8, 0xc7, 0xc8, 0xcd, 0xd2, 0x17,
- 0xed, 0x47, 0xae, 0x55, 0xc4, 0x08, 0xcd, 0x89, 0x7d, 0x73, 0x7c, 0x78,
- 0x81, 0x04, 0x9f, 0x1e, 0x90, 0xc0, 0x3d, 0x64, 0xf5, 0x84, 0x0c, 0xf9,
- 0x67, 0x70, 0x83, 0x60, 0xa3, 0x8a, 0x2b, 0x3c, 0x75, 0x28, 0x89, 0x0e,
- 0xe7, 0x7a, 0x2f, 0xf1, 0x78, 0x96, 0x63, 0x84, 0xf5, 0x2d, 0x3d, 0xd1,
- 0x62, 0x4b, 0x9e, 0x3e, 0x1b, 0xec, 0xf0, 0x18, 0x69, 0x0a, 0x25, 0x06,
- 0x2a, 0x38, 0x74, 0x78, 0x8b, 0x6a, 0xe1, 0xf3, 0x4b, 0x97, 0x70, 0x91,
- 0x6a, 0x77, 0x7a, 0x09, 0xd3, 0x57, 0x72, 0x9a, 0xa8, 0xfe, 0xd6, 0x03,
- 0xbc, 0xac, 0xd4, 0x4d, 0xfd, 0x7a, 0xc8, 0xb4, 0x2d, 0x3b, 0xac, 0x83,
- 0xe4, 0xd8, 0x2f, 0x6d, 0x06, 0x89, 0xe4, 0x90, 0x47, 0x4b, 0x8b, 0xa2,
- 0x2a, 0x86, 0x38, 0xaa, 0x9a, 0xac, 0xe8, 0x39, 0xc2, 0xfb, 0x92, 0x6e,
- 0x01, 0xb9, 0xb2, 0x04, 0x56, 0xdd, 0xaa, 0x12, 0x15, 0xd3, 0x50, 0x82,
- 0x5a, 0x02, 0xfd, 0xaf, 0xa4, 0xd0, 0x1f, 0x6b, 0xca, 0x31, 0x58, 0x3b,
- 0x2d, 0xe5, 0x96, 0x02, 0x95, 0xd8, 0x72, 0x55, 0x95, 0x73, 0x40, 0xde,
- 0xc0, 0x84, 0xd7, 0x5d, 0xfa, 0xcb, 0xc5, 0x1a, 0xe1, 0x6b, 0x0e, 0xca,
- 0x58, 0x64, 0x05, 0xb2, 0xb7, 0x85, 0x00, 0x83, 0x45, 0xba, 0x9e, 0x40,
- 0xda, 0x09, 0x30, 0xf7, 0xe0, 0xa0, 0x5a, 0xff, 0x9c, 0x7c, 0xda, 0xaf,
- 0x0f, 0xd6, 0x5b, 0x27, 0x32, 0x46, 0x99, 0x5f, 0xb3, 0x74, 0x6b, 0xdb,
- 0x32, 0x22, 0xd3, 0x48, 0xee, 0x67, 0x77, 0x0d, 0xdf, 0xfc, 0x97, 0x28,
- 0x7e, 0x57, 0x3c, 0xd9, 0x4b, 0xea, 0x7b, 0xa3, 0x46, 0xcc, 0xfc, 0x49,
- 0xe8, 0x56, 0x3b, 0x8c, 0xfa, 0xf1, 0x5b, 0x25, 0x42, 0x58, 0x6e, 0x7d,
- 0xa0, 0x57, 0x0e, 0xf0, 0x8a, 0x94, 0x14, 0x50, 0xc8, 0xc5, 0x23, 0x4a,
- 0x68, 0x96, 0x5a, 0xcf, 0x27, 0x19, 0x4d, 0xd3, 0xe2, 0x93, 0xad, 0xf9,
- 0xc7, 0x2d, 0xf5, 0xa8, 0x30, 0x15, 0x67, 0xc9, 0xb8, 0x1f, 0x0a, 0x06,
- 0x03, 0x37, 0x63, 0xa7, 0xb9, 0xbf, 0x2f, 0x48, 0x33, 0x9d, 0xa5, 0x15,
- 0xa5, 0x4f, 0x60, 0xce, 0x04, 0xbf, 0xb6, 0xb4, 0x4a, 0x27, 0xea, 0x39,
- 0xda, 0x82, 0x8e, 0xe1, 0x15, 0xc6, 0xf5, 0xb7, 0x99, 0xd3, 0x40, 0x41,
- 0x80, 0x4b, 0x4a, 0x51, 0xfc, 0x76, 0x11, 0xe5, 0x85, 0xae, 0x84, 0x91,
- 0xda, 0xe6, 0xbf, 0xfb, 0x1a, 0xbf, 0x58, 0x55, 0xd9, 0x1c, 0x8f, 0xdb,
- 0x62, 0x8b, 0x36, 0xe2, 0xe1, 0x57, 0xcf, 0x62, 0x05, 0xcf, 0x45, 0x59,
- 0x62, 0xc9, 0x27, 0x83, 0xe4, 0xd4, 0x19, 0x94, 0x45, 0x0f, 0x84, 0x7f,
- 0x4d, 0x35, 0x16, 0x73, 0x12, 0x7f, 0xef, 0x6b, 0x29, 0xdc, 0xd8, 0x0c,
- 0xa0, 0x9a, 0x04, 0x21, 0x5b, 0xee, 0xed, 0x35, 0xd0, 0xea, 0x5d, 0xcf,
- 0x95, 0x07, 0x9b, 0x82, 0x85, 0xa8, 0xa4, 0x7a, 0x46, 0xc2, 0x73, 0x1f,
- 0x80, 0xeb, 0x78, 0x10, 0xf1, 0x5a, 0x61, 0x1c, 0x95, 0x64, 0x09, 0xcc,
- 0xe4, 0xf4, 0xf2, 0x78, 0x2d, 0x91, 0xc8, 0xa9, 0xb9, 0x17, 0x17, 0x73,
- 0x57, 0x6b, 0x8a, 0x33, 0x50, 0xa7, 0x65, 0xd1, 0x0b, 0xb8, 0x2b, 0x28,
- 0xee, 0xc7, 0x3e, 0x27, 0x82, 0x75, 0xcc, 0xa4, 0x78, 0x60, 0x66, 0x8b,
- 0x12, 0xf1, 0x7b, 0xba, 0x37, 0xfd, 0x2f, 0x3f, 0x50, 0xe5, 0x8c, 0x69,
- 0xd8, 0x75, 0x31, 0xcc, 0x2e, 0xec, 0x71, 0x8e, 0xc2, 0x60, 0x89, 0x3a,
- 0xc3, 0xd2, 0xe0, 0x5b, 0x63, 0xc3, 0x67, 0x55, 0x69, 0x04, 0xc9, 0x77,
- 0xcf, 0x14, 0x70, 0x21, 0x55, 0x13, 0xe5, 0xce, 0x92, 0xb5, 0xbc, 0xb7,
- 0x75, 0x9c, 0xa3, 0xae, 0x14, 0x96, 0x91, 0xfa, 0xa6, 0x5c, 0x5a, 0x6c,
- 0xca, 0x15, 0xdd, 0x65, 0xa1, 0xeb, 0xcc, 0xf4, 0x91, 0x46, 0x16, 0xe2,
- 0x37, 0x5a, 0x25, 0x3e, 0xc9, 0x78, 0x30, 0xd7, 0x30, 0xe9, 0x3f, 0xe4,
- 0xf4, 0xa1, 0x12, 0x8f, 0xa3, 0x26, 0xe5, 0x0a, 0x73, 0xb6, 0xe7, 0x17,
- 0x39, 0x39, 0x06, 0x06, 0xb2, 0x25, 0xa2, 0xf8, 0x5d, 0xb9, 0xfc, 0x1c,
- 0x47, 0x66, 0x27, 0xfe, 0x47, 0xda, 0x46, 0x7d, 0x4d, 0xf7, 0x35, 0xdd,
- 0x23, 0x30, 0x06, 0xd7, 0xe2, 0x9c, 0x8f, 0x34, 0x69, 0xef, 0x2f, 0x4e,
- 0xde, 0xf5, 0x3a, 0x27, 0x21, 0x28, 0x2b, 0xaf, 0x5b, 0x53, 0x53, 0xc3,
- 0xc3, 0xac, 0x38, 0x59, 0xd8, 0x5e, 0x62, 0x01, 0xf6, 0x9c, 0x95, 0x49,
- 0x53, 0xd7, 0x93, 0x80, 0x73, 0x25, 0xd0, 0x6d, 0xb5, 0x0f, 0x79, 0x5e,
- 0x43, 0x8f, 0x27, 0x21, 0x96, 0x6a, 0xf8, 0x0e, 0x60, 0x52, 0x1b, 0xb9,
- 0x63, 0xb6, 0xa3, 0x57, 0x13, 0x25, 0xdc, 0xd7, 0x65, 0xeb, 0xd0, 0xf8,
- 0x0b, 0x46, 0xdb, 0x90, 0x29, 0x71, 0x93, 0x37, 0xe5, 0x6d, 0xd1, 0x3f,
- 0xa1, 0xfc, 0x9b, 0xe4, 0xa4, 0xbc, 0x22, 0xab, 0xe9, 0x7d, 0xdc, 0xba,
- 0xff, 0x70, 0xf6, 0x3e, 0xd9, 0x24, 0xe9, 0x9c, 0x9c, 0x59, 0xd6, 0x15,
- 0x7a, 0x74, 0x4b, 0xb4, 0xd0, 0x9a, 0x6f, 0x2e, 0xe9, 0x4d, 0x2f, 0x39,
- 0xfa, 0xe1, 0xe0, 0xdd, 0xd9, 0xc9, 0xd1, 0x4f, 0xac, 0x88, 0x06, 0xc3,
- 0xa1, 0x1f, 0x7f, 0xe9, 0x69, 0xe6, 0xf0, 0xe4, 0x53, 0x6c, 0xcb, 0xf4,
- 0xe4, 0x7e, 0x99, 0x2c, 0xe0, 0xe3, 0xa3, 0x5b, 0x70, 0x38, 0x3c, 0x3b,
- 0xee, 0x2b, 0x61, 0x0a, 0x17, 0xd2, 0xc9, 0x0b, 0x52, 0xa2, 0xf9, 0x00,
- 0x2b, 0x99, 0xf1, 0xb7, 0x61, 0xd0, 0xc2, 0x9e, 0x87, 0x5e, 0xf2, 0x5e,
- 0x19, 0x48, 0x7b, 0x58, 0x74, 0x92, 0xd2, 0x6f, 0xf2, 0x2b, 0x44, 0x1e,
- 0x3a, 0xf4, 0x27, 0x5a, 0x76, 0x7c, 0x1c, 0xe0, 0x76, 0x29, 0x43, 0xcf,
- 0x86, 0x8c, 0xea, 0x6c, 0xca, 0x4e, 0xae, 0xa5, 0x52, 0x14, 0x78, 0x2c,
- 0x5e, 0x45, 0x00, 0x42, 0x83, 0x90, 0x8a, 0x00, 0x44, 0x47, 0x56, 0xea,
- 0x89, 0xea, 0xca, 0x3b, 0x84, 0xa5, 0x87, 0xdc, 0x39, 0x56, 0x38, 0xec,
- 0x1b, 0xfb, 0x7d, 0x91, 0xec, 0xaf, 0xff, 0x8e, 0x17, 0x89, 0xef, 0x11,
- 0x8c, 0x70, 0xe2, 0xdb, 0x08, 0xab, 0xf5, 0x1f, 0x73, 0xb2, 0x32, 0xbb,
- 0x36, 0xd5, 0x31, 0x03, 0x9f, 0xa8, 0x39, 0xe9, 0xa2, 0xf6, 0x8d, 0x16,
- 0x57, 0x57, 0x91, 0x84, 0x66, 0x2a, 0x9c, 0x93, 0x65, 0xb8, 0x9e, 0x8d,
- 0x16, 0xb3, 0x51, 0x27, 0xec, 0xe7, 0x35, 0xfd, 0x5f, 0x47, 0xfc, 0x4a,
- 0xc9, 0x24, 0xca, 0xc9, 0x3a, 0x57, 0x7e, 0x65, 0x57, 0x35, 0x6a, 0xaf,
- 0x87, 0xcd, 0x31, 0x42, 0x63, 0xe3, 0x8b, 0x0d, 0xa5, 0x83, 0x36, 0x0a,
- 0x3f, 0xdf, 0xbe, 0xd0, 0x74, 0xd6, 0x59, 0xd5, 0x19, 0x71, 0x35, 0xa6,
- 0x5e, 0xb2, 0xf1, 0x6a, 0x43, 0x9e, 0x5b, 0x8f, 0x5e, 0xe4, 0xfc, 0x0e,
- 0x47, 0x82, 0x58, 0x01, 0x1e, 0x5b, 0x5f, 0x19, 0x29, 0x09, 0xf9, 0x64,
- 0x92, 0x15, 0xe2, 0x3a, 0xa1, 0x5a, 0x26, 0xc2, 0x71, 0xd4, 0x93, 0x9b,
- 0xa5, 0x7b, 0x31, 0xa1, 0xeb, 0xda, 0x73, 0xee, 0xeb, 0xc6, 0x9f, 0xb5,
- 0x07, 0x5e, 0xe1, 0x2f, 0x72, 0x5d, 0xbb, 0x22, 0x1c, 0xf2, 0xd5, 0x65,
- 0x27, 0x05, 0xf1, 0x11, 0x98, 0x50, 0xd0, 0x97, 0xd4, 0x82, 0x14, 0x49,
- 0xcd, 0x2a, 0x6e, 0xaf, 0x03, 0xc2, 0x47, 0xfc, 0x23, 0x74, 0x73, 0x35,
- 0x96, 0xd3, 0x8b, 0x5a, 0xde, 0xa8, 0x88, 0xa5, 0x9d, 0x6b, 0x73, 0x52,
- 0xc1, 0x92, 0x25, 0xdf, 0x57, 0x0f, 0xa0, 0xdb, 0x78, 0x9c, 0x4d, 0xa7,
- 0x48, 0x48, 0xb2, 0xce, 0xf0, 0x60, 0x56, 0xc0, 0x17, 0xac, 0x16, 0x40,
- 0x2f, 0xcc, 0xe7, 0xe6, 0x0a, 0x12, 0x4a, 0x20, 0x6d, 0xa3, 0x14, 0xed,
- 0x98, 0x9a, 0x22, 0x19, 0xa3, 0x4c, 0xb2, 0x5e, 0xba, 0x49, 0xbb, 0xbc,
- 0x88, 0xf8, 0x3c, 0x41, 0xb1, 0x1b, 0x8d, 0xbb, 0x8a, 0xda, 0x4d, 0xf3,
- 0xe4, 0x26, 0x2a, 0xc8, 0x01, 0x71, 0x5e, 0x73, 0x3f, 0x40, 0x13, 0xe2,
- 0x9b, 0xa2, 0xee, 0xf3, 0xef, 0xe4, 0x54, 0x45, 0xf0, 0x94, 0x6f, 0x24,
- 0xc0, 0xd2, 0xaa, 0x24, 0xcf, 0x39, 0x01, 0xec, 0x5e, 0x12, 0x4d, 0x56,
- 0xc3, 0xb8, 0x1a, 0x51, 0xce, 0xe1, 0x05, 0xae, 0x07, 0xd1, 0xea, 0xb0,
- 0x15, 0xdc, 0xa7, 0x45, 0xa6, 0xb7, 0x3a, 0xbb, 0x61, 0x11, 0x70, 0xd1,
- 0xf7, 0x4b, 0x61, 0x98, 0xea, 0x79, 0x11, 0xe2, 0x48, 0x08, 0x0e, 0xf7,
- 0xc7, 0x13, 0x5b, 0xd2, 0xd8, 0x3c, 0x5a, 0xa5, 0x15, 0x57, 0x95, 0x2b,
- 0x3e, 0x29, 0xa2, 0x86, 0x1a, 0xcf, 0xee, 0xb2, 0xf1, 0xa2, 0x69, 0x63,
- 0xdd, 0x7d, 0xe5, 0x4b, 0x79, 0xce, 0xd1, 0xad, 0x4d, 0x1c, 0x05, 0x35,
- 0x5a, 0xce, 0x34, 0x33, 0x7d, 0x7f, 0x7d, 0x4b, 0xc2, 0x7d, 0x14, 0x06,
- 0xb2, 0x09, 0xeb, 0xb1, 0x38, 0x9e, 0xf6, 0xb9, 0xca, 0xd8, 0xef, 0xe6,
- 0x42, 0xda, 0xd1, 0xcf, 0x73, 0x59, 0xe6, 0xc8, 0xb7, 0xdf, 0xb2, 0x87,
- 0xc6, 0xfb, 0xb4, 0x2d, 0xe5, 0x23, 0xce, 0x9b, 0x3a, 0x38, 0xca, 0xc1,
- 0x97, 0x51, 0x55, 0x6f, 0x90, 0x1c, 0xd8, 0x8a, 0x98, 0xfa, 0xaa, 0xce,
- 0x7f, 0xe0, 0x34, 0x3b, 0x3e, 0xbb, 0x79, 0xee, 0xf9, 0x3c, 0xe9, 0xce,
- 0xc3, 0x8f, 0xac, 0xc4, 0x0f, 0x46, 0xf1, 0xa9, 0x1a, 0x3d, 0x35, 0x7f,
- 0x7c, 0x4b, 0x7f, 0x90, 0x58, 0x25, 0x13, 0x93, 0x69, 0x65, 0xd8, 0x5b,
- 0x17, 0x6e, 0x6d, 0x4a, 0x0a, 0x94, 0x3f, 0x64, 0xd1, 0x81, 0x65, 0xa6,
- 0x94, 0x04, 0x22, 0xa1, 0x71, 0x7c, 0x00, 0x50, 0x7e, 0xb5, 0x9d, 0x9e,
- 0xa6, 0x09, 0xc5, 0x71, 0x9e, 0xe0, 0x4c, 0x61, 0x4e, 0x92, 0x1e, 0x3c,
- 0x13, 0x43, 0x16, 0xe4, 0x65, 0x2c, 0x51, 0xc4, 0x4c, 0xd5, 0x3f, 0xc8,
- 0xa1, 0xad, 0x65, 0xb4, 0x51, 0xd3, 0x75, 0x66, 0x81, 0xc1, 0xa6, 0x33,
- 0x5e, 0xdc, 0x9f, 0x7d, 0x98, 0x74, 0xcc, 0x58, 0x9c, 0x85, 0x98, 0x2b,
- 0x4b, 0x15, 0xb3, 0x6c, 0xc8, 0xb8, 0xdc, 0xe5, 0x8f, 0x90, 0x76, 0x6d,
- 0xf9, 0x7b, 0x6f, 0x90, 0x26, 0x25, 0x07, 0x9e, 0x8f, 0xc2, 0x82, 0x8b,
- 0xde, 0xea, 0x62, 0xbb, 0x0c, 0x4a, 0x7e, 0x58, 0x6c, 0x45, 0x56, 0x4c,
- 0x96, 0xf4, 0x93, 0xaa, 0x27, 0x32, 0xf1, 0x34, 0xa4, 0xc2, 0x27, 0x8d,
- 0x68, 0xce, 0xb2, 0x19, 0x05, 0x48, 0xec, 0xbd, 0xc8, 0x34, 0x16, 0xec,
- 0x12, 0xa0, 0x8f, 0xf5, 0xe3, 0xcd, 0x4d, 0x48, 0x7f, 0xa3, 0x2b, 0x96,
- 0xb1, 0x3c, 0x7f, 0x08, 0xa2, 0x62, 0xf5, 0x7d, 0x31, 0xbe, 0x7e, 0xf3,
- 0x7e, 0x18, 0x7f, 0x3d, 0x1c, 0x1c, 0x9e, 0x37, 0x7a, 0x08, 0x6d, 0x06,
- 0xa9, 0x2c, 0x0c, 0x16, 0x27, 0xa3, 0xe4, 0x1d, 0x78, 0xbf, 0x8b, 0x37,
- 0xd7, 0x7a, 0xc1, 0xfa, 0x8b, 0x48, 0xb1, 0x60, 0x21, 0x2e, 0x9a, 0x27,
- 0xf0, 0xe6, 0xfd, 0x94, 0x8e, 0x02, 0xea, 0xfd, 0x04, 0x0a, 0xb4, 0x3d,
- 0xd3, 0x14, 0x55, 0x40, 0x61, 0x4f, 0x34, 0x59, 0x79, 0x68, 0xa4, 0xee,
- 0xbe, 0x06, 0xe9, 0xbc, 0xfe, 0xf1, 0x4b, 0x96, 0xf9, 0x84, 0x2a, 0xc3,
- 0x46, 0x82, 0x50, 0xfe, 0x0c, 0xb5, 0x60, 0x23, 0x5e, 0x8c, 0xd0, 0xec,
- 0xd5, 0x29, 0xbd, 0xce, 0xdb, 0xb4, 0x27, 0xbb, 0x15, 0x3f, 0xaa, 0x96,
- 0x0d, 0xc9, 0x4c, 0xca, 0xde, 0xd7, 0x5f, 0x85, 0xb7, 0xe7, 0x9b, 0xf7,
- 0x4b, 0x3e, 0x47, 0xbf, 0xe9, 0x6b, 0xda, 0x80, 0x68, 0x04, 0x9e, 0x4a,
- 0x1f, 0xce, 0x45, 0x9c, 0xe0, 0xb4, 0xfd, 0xcb, 0x87, 0xa4, 0x84, 0x79,
- 0x42, 0xfe, 0x58, 0xf9, 0xa0, 0xc0, 0x56, 0xe3, 0x9f, 0x22, 0x3c, 0xeb,
- 0x26, 0xa3, 0xbd, 0x92, 0x73, 0x0e, 0xf6, 0x9d, 0x89, 0x26, 0xbc, 0x15,
- 0x59, 0xa2, 0xa5, 0x70, 0x63, 0x67, 0x06, 0x25, 0x31, 0x52, 0x06, 0x92,
- 0x0b, 0x7b, 0xfc, 0xc7, 0xf6, 0x9e, 0x85, 0x30, 0xd9, 0xdc, 0x0f, 0x1c,
- 0x52, 0x73, 0x81, 0x87, 0x0a, 0x42, 0x91, 0xdf, 0x0d, 0x11, 0x77, 0x5e,
- 0xb2, 0x9b, 0x11, 0xa0, 0xe6, 0xc8, 0xb4, 0x9d, 0x03, 0xea, 0xa8, 0x6a,
- 0x62, 0xd1, 0x9e, 0x0c, 0xd9, 0xc9, 0xf3, 0xd0, 0x66, 0xca, 0x23, 0xa8,
- 0xab, 0x55, 0xcc, 0x53, 0xef, 0x8c, 0x92, 0x44, 0x97, 0xeb, 0xc3, 0xc7,
- 0xd8, 0xee, 0x1b, 0xfb, 0x4e, 0xb2, 0x39, 0x32, 0x37, 0xb6, 0x97, 0x49,
- 0x4e, 0xf2, 0xe6, 0x29, 0x50, 0xda, 0xf1, 0xe6, 0x9e, 0xbd, 0x78, 0xf6,
- 0x74, 0x6b, 0x4b, 0x81, 0xcc, 0x0c, 0xa2, 0x18, 0x51, 0xa2, 0x41, 0x4e,
- 0x72, 0xab, 0x66, 0x65, 0xd6, 0x4c, 0xf0, 0x35, 0x7c, 0xaf, 0x9e, 0x23,
- 0x26, 0xde, 0x1c, 0xdd, 0x63, 0xfa, 0x2a, 0x2d, 0x22, 0x99, 0xe0, 0x90,
- 0xe8, 0xd6, 0x0c, 0x4e, 0x55, 0x26, 0xd6, 0xce, 0x33, 0xbf, 0x54, 0x2a,
- 0x20, 0x96, 0xe4, 0xfc, 0x50, 0x5c, 0x44, 0x1c, 0x62, 0x54, 0x6f, 0xda,
- 0x10, 0x15, 0x78, 0xc6, 0xd7, 0x1e, 0xfd, 0x41, 0xfb, 0xf9, 0x5a, 0x4b,
- 0xb9, 0x9d, 0x2d, 0x46, 0x53, 0x73, 0x03, 0x0d, 0xa9, 0x18, 0xea, 0x5d,
- 0x72, 0x92, 0x4b, 0x55, 0x44, 0xb1, 0x15, 0x14, 0x48, 0xb7, 0xec, 0xce,
- 0xe1, 0x81, 0x23, 0xdd, 0x16, 0x5b, 0xad, 0x85, 0x0b, 0x77, 0xc9, 0x5a,
- 0xac, 0xb7, 0xad, 0xcf, 0xf9, 0x5b, 0xf5, 0xe2, 0xb2, 0xbf, 0x6c, 0x60,
- 0x77, 0x59, 0xed, 0x99, 0x71, 0xfd, 0x5b, 0x52, 0x10, 0x91, 0x2d, 0x4e,
- 0xae, 0xe9, 0xe4, 0x15, 0xab, 0x82, 0xcb, 0xab, 0x92, 0x69, 0x7a, 0xa2,
- 0xaf, 0x34, 0x42, 0xff, 0x86, 0x1b, 0x37, 0xbd, 0xa4, 0x5c, 0x2a, 0x46,
- 0xd5, 0x4d, 0x33, 0x14, 0x04, 0x26, 0x41, 0x16, 0x40, 0xa2, 0x6d, 0x61,
- 0x65, 0x31, 0xef, 0x13, 0xf1, 0x52, 0x88, 0x4f, 0x16, 0x78, 0xa9, 0x14,
- 0x0c, 0x00, 0xf0, 0xd6, 0x70, 0xe2, 0x39, 0xbb, 0x86, 0xcd, 0x00, 0x26,
- 0x31, 0x0b, 0xac, 0xed, 0xb4, 0xd7, 0xf4, 0xc7, 0x9a, 0xdd, 0x5a, 0xf2,
- 0x95, 0xd0, 0xc9, 0x12, 0xab, 0x16, 0x37, 0x35, 0x93, 0x41, 0xc6, 0x6b,
- 0xb2, 0xce, 0xfd, 0xa1, 0xe4, 0x03, 0xba, 0x43, 0x34, 0x22, 0x0a, 0x44,
- 0x8d, 0x6a, 0xf8, 0xac, 0x23, 0x4b, 0xfb, 0xb0, 0xbd, 0xd3, 0x58, 0x01,
- 0x77, 0xd6, 0xf9, 0xbe, 0x54, 0x60, 0xce, 0xba, 0xc6, 0x73, 0x5b, 0xc6,
- 0xbd, 0x6d, 0xce, 0xce, 0x4a, 0x24, 0x07, 0x92, 0x83, 0xdc, 0x28, 0xc9,
- 0x48, 0xab, 0x66, 0x1a, 0xed, 0xaf, 0xc7, 0x15, 0x5f, 0x3b, 0x07, 0x60,
- 0x50, 0x87, 0x15, 0xda, 0xb2, 0xd0, 0xf4, 0x2b, 0x6a, 0x90, 0x13, 0x28,
- 0xb7, 0xc9, 0x9b, 0x45, 0x28, 0x1d, 0x25, 0xea, 0x87, 0x8c, 0x51, 0x78,
- 0x9a, 0x69, 0x25, 0x5c, 0x5a, 0x27, 0xcc, 0x31, 0xc2, 0xef, 0x51, 0xe1,
- 0xa3, 0x3a, 0xb1, 0xa7, 0x19, 0xb9, 0x70, 0xd3, 0xf2, 0x36, 0xc0, 0xf5,
- 0x92, 0x3b, 0xd5, 0xf5, 0xae, 0x9d, 0x8c, 0x61, 0x1a, 0xf8, 0xd3, 0x7f,
- 0xea, 0x2f, 0x3f, 0xd2, 0x64, 0xfd, 0x97, 0x4e, 0x96, 0x74, 0x3b, 0x0d,
- 0x12, 0x17, 0x61, 0x07, 0xff, 0x09, 0x93, 0xf2, 0x37, 0x42, 0xa9, 0xf0,
- 0xcc, 0x98, 0x2e, 0xcf, 0xd0, 0xdc, 0x9f, 0x06, 0x56, 0xdf, 0xd5, 0x26,
- 0x28, 0x0d, 0x8b, 0xad, 0xfa, 0xd1, 0x7d, 0xe0, 0x3b, 0xa2, 0x3d, 0xf8,
- 0x53, 0xd1, 0x03, 0x2b, 0xa0, 0x31, 0xbd, 0x28, 0x6f, 0x9a, 0x4b, 0x5b,
- 0xf1, 0x32, 0xfe, 0x54, 0x09, 0x03, 0x80, 0x31, 0x3a, 0x4c, 0xc7, 0xc9,
- 0x20, 0xe3, 0x9f, 0x87, 0x16, 0x00, 0x21, 0x68, 0xf6, 0xb1, 0x1a, 0x7f,
- 0xea, 0xd7, 0xf7, 0xb3, 0x51, 0x39, 0x95, 0x8d, 0x4e, 0xc3, 0x35, 0x7d,
- 0xd6, 0x9f, 0xf1, 0xb2, 0x20, 0xda, 0xd1, 0xf7, 0xb2, 0x78, 0x7b, 0x51,
- 0xe6, 0x62, 0x32, 0x51, 0xca, 0xf1, 0x18, 0xe9, 0x34, 0x84, 0xec, 0x36,
- 0xdb, 0xfd, 0x4f, 0x09, 0xc3, 0x73, 0x10, 0x8c, 0xe3, 0x12, 0x4d, 0x13,
- 0x0d, 0x7e, 0x8a, 0xa3, 0x76, 0x69, 0x16, 0x4b, 0x74, 0xf3, 0x78, 0xab,
- 0x63, 0x6d, 0x8b, 0x58, 0x06, 0x34, 0x9d, 0x50, 0xd3, 0xd1, 0x8f, 0xc8,
- 0x9a, 0x91, 0x7d, 0x77, 0xc8, 0x3f, 0xeb, 0x5f, 0xe0, 0x67, 0x8a, 0x45,
- 0x90, 0x8c, 0x3b, 0x8a, 0x6e, 0x4b, 0x4a, 0x1c, 0xf9, 0x28, 0xe3, 0x52,
- 0xaa, 0x0d, 0x70, 0x42, 0x25, 0xcd, 0x22, 0xbc, 0xaf, 0xf4, 0x30, 0x7d,
- 0x64, 0xda, 0x01, 0x63, 0xf3, 0xaf, 0x6e, 0x0d, 0x1c, 0xf0, 0xd3, 0x26,
- 0x9f, 0xa5, 0x02, 0x09, 0x62, 0x0c, 0x90, 0xdd, 0xc6, 0x4a, 0x9a, 0x01,
- 0x84, 0xa8, 0xd9, 0x6f, 0x83, 0x87, 0x9a, 0xa3, 0x0b, 0x51, 0x01, 0xee,
- 0x82, 0x9e, 0x20, 0xdf, 0x93, 0xb9, 0x72, 0xf4, 0xfe, 0x6d, 0xca, 0x29,
- 0xc3, 0x36, 0xa8, 0xe5, 0x07, 0xc6, 0x5a, 0x6a, 0x9e, 0xaa, 0x78, 0x94,
- 0x38, 0xe4, 0x73, 0xda, 0x4b, 0x5c, 0x84, 0x50, 0xa1, 0x51, 0x09, 0x05,
- 0x13, 0x57, 0x37, 0x67, 0x23, 0x8d, 0xd6, 0xbd, 0x7f, 0x4c, 0x9e, 0x2e,
- 0xc4, 0x85, 0x17, 0xec, 0x23, 0xcb, 0x29, 0x25, 0x61, 0x46, 0x5e, 0xcd,
- 0x48, 0xac, 0x2e, 0x89, 0x88, 0x58, 0x04, 0x98, 0xfe, 0xc3, 0x8b, 0x58,
- 0xb2, 0xe3, 0xa7, 0xef, 0x45, 0x2a, 0x07, 0x5a, 0x3d, 0x79, 0x75, 0x73,
- 0xcb, 0x4b, 0x39, 0x5f, 0x36, 0xf3, 0x8f, 0x28, 0x6c, 0xfa, 0x91, 0xb0,
- 0x7e, 0x58, 0x33, 0xf5, 0xb9, 0xe3, 0x07, 0x98, 0x59, 0xce, 0xf1, 0x5b,
- 0xcc, 0xa9, 0x1d, 0x6c, 0xf2, 0x69, 0xc9, 0x06, 0xcd, 0x43, 0xc3, 0x68,
- 0xa3, 0xea, 0xfc, 0x5c, 0xf2, 0xcd, 0x76, 0x95, 0x90, 0xa7, 0x41, 0xc7,
- 0x28, 0x88, 0xff, 0x11, 0xd1, 0x3f, 0xbb, 0x99, 0xcc, 0x75, 0x93, 0x55,
- 0xf9, 0xd8, 0x2f, 0x99, 0x85, 0x07, 0xb0, 0xa5, 0x98, 0x3b, 0x8a, 0xc2,
- 0x81, 0x51, 0x92, 0xbc, 0xce, 0xff, 0xc1, 0x3b, 0x2a, 0x15, 0xc2, 0xc8,
- 0xed, 0x67, 0x41, 0x63, 0x89, 0xc4, 0x6b, 0x09, 0x9d, 0xe0, 0xa2, 0xb8,
- 0xc7, 0x0f, 0x8c, 0x13, 0x2c, 0x9c, 0x7b, 0x18, 0xab, 0x51, 0xcf, 0xd2,
- 0xda, 0x76, 0x90, 0x47, 0x60, 0x6b, 0xd3, 0x72, 0x80, 0xe4, 0x3a, 0x20,
- 0x3a, 0x0c, 0xcf, 0x21, 0xc3, 0x78, 0xe8, 0xd6, 0x1f, 0x2c, 0x99, 0x19,
- 0x86, 0x5f, 0x8a, 0x0c, 0x70, 0x53, 0xc3, 0x53, 0x22, 0x7a, 0x4e, 0x77,
- 0x52, 0x62, 0xb8, 0xc1, 0xa4, 0x8b, 0x89, 0x57, 0x92, 0x94, 0x4d, 0x76,
- 0x6d, 0xa7, 0x42, 0xaa, 0xbc, 0x25, 0xd8, 0x30, 0xd5, 0x91, 0x94, 0x57,
- 0xe5, 0xa1, 0xe6, 0x20, 0x86, 0x3a, 0x0b, 0xbe, 0xb7, 0x6c, 0xc1, 0x55,
- 0xa1, 0x95, 0x61, 0xd1, 0xcf, 0xac, 0x53, 0xc3, 0x1f, 0x54, 0x62, 0x65,
- 0xd0, 0xf4, 0x3e, 0x89, 0x12, 0xb1, 0x76, 0xfe, 0xcf, 0xff, 0xfc, 0xb3,
- 0x58, 0x8d, 0x71, 0xa0, 0x31, 0x3f, 0xe6, 0x73, 0x4f, 0x78, 0x79, 0xf5,
- 0x86, 0x2d, 0xc2, 0x8b, 0x41, 0x9b, 0x74, 0x22, 0x3c, 0xd8, 0x17, 0x9d,
- 0xf2, 0x87, 0xa6, 0x61, 0x8c, 0x5c, 0xcc, 0x84, 0x4d, 0x67, 0x8f, 0xac,
- 0xad, 0xaf, 0x5a, 0x92, 0x18, 0xd2, 0xc7, 0x67, 0xa8, 0xa5, 0xbc, 0xba,
- 0x39, 0xb8, 0x90, 0x5a, 0x65, 0xda, 0x5f, 0x2e, 0x1d, 0x12, 0xec, 0x10,
- 0x1d, 0x12, 0x77, 0xdf, 0x27, 0x63, 0x16, 0x7c, 0x3d, 0x03, 0x58, 0xda,
- 0xdd, 0x5c, 0xdd, 0x07, 0x6f, 0x0c, 0x0f, 0xf6, 0xc4, 0x7c, 0xeb, 0xa3,
- 0x25, 0xf3, 0x34, 0xd7, 0x34, 0x7f, 0x9a, 0xbe, 0x6d, 0xf4, 0x02, 0x47,
- 0xf3, 0x89, 0x3a, 0xa3, 0xb2, 0x53, 0xb9, 0x2b, 0x71, 0x7d, 0x36, 0x89,
- 0xa8, 0xb7, 0x9d, 0xfd, 0xf5, 0x24, 0xda, 0x07, 0x2d, 0x5a, 0x56, 0xdb,
- 0x3e, 0x98, 0x2e, 0xb8, 0x1f, 0xca, 0xfe, 0xa2, 0x4b, 0xd0, 0x1c, 0x1b,
- 0x29, 0x25, 0xa8, 0x8c, 0x3c, 0xbf, 0x6e, 0x9f, 0x87, 0xfd, 0xc0, 0x61,
- 0xfa, 0x58, 0xd7, 0x53, 0xda, 0xec, 0xf9, 0xe5, 0xbd, 0xe9, 0x54, 0xbd,
- 0x34, 0xdb, 0xda, 0xbf, 0x4b, 0xf9, 0x39, 0x5d, 0x30, 0xcf, 0xb2, 0xdc,
- 0xa8, 0xe1, 0xfc, 0x9b, 0x67, 0x84, 0x66, 0x60, 0x22, 0xc9, 0x07, 0x66,
- 0x0c, 0x3c, 0x93, 0xf8, 0xbc, 0x0b, 0x88, 0x89, 0x0c, 0xb5, 0x7a, 0xc3,
- 0x80, 0x6a, 0x78, 0xc2, 0x68, 0x7a, 0x70, 0xf0, 0xad, 0x96, 0xa8, 0x11,
- 0x17, 0x03, 0x6e, 0x4f, 0x08, 0xa5, 0x6f, 0x05, 0x13, 0xa2, 0xf3, 0xff,
- 0x91, 0xc5, 0x0a, 0x02, 0xb7, 0x5a, 0xa5, 0xd3, 0x56, 0xa2, 0x4d, 0x65,
- 0x77, 0x68, 0xe8, 0xb5, 0x7f, 0x42, 0xf7, 0xe2, 0x34, 0xc2, 0x93, 0x99,
- 0x84, 0xc8, 0x05, 0xae, 0x8b, 0x00, 0x50, 0xab, 0x5b, 0xec, 0x4d, 0xc2,
- 0xbb, 0xd0, 0xb7, 0xb8, 0x7a, 0x2c, 0x7e, 0xb1, 0xdc, 0x17, 0xe9, 0x08,
- 0xa1, 0x9a, 0x2d, 0x8b, 0xe5, 0x51, 0xad, 0x4d, 0x20, 0x0b, 0x60, 0x74,
- 0xc2, 0x1d, 0x30, 0x26, 0x0a, 0x71, 0xe0, 0x76, 0xd2, 0x87, 0xb6, 0x8d,
- 0x90, 0x88, 0x71, 0x69, 0x0d, 0x98, 0x3a, 0x57, 0x20, 0xbb, 0x28, 0x3b,
- 0x5b, 0xc9, 0xdc, 0x2f, 0x91, 0x99, 0xa3, 0x7b, 0xd5, 0x0a, 0xad, 0x0b,
- 0x77, 0xd5, 0xb6, 0x45, 0xd7, 0x3f, 0x7d, 0xc0, 0x97, 0x08, 0xa9, 0x8e,
- 0x1c, 0x7a, 0xe8, 0x8e, 0x8c, 0x8a, 0x06, 0x19, 0x83, 0x4a, 0x29, 0x6f,
- 0x0c, 0xcb, 0xa4, 0xd4, 0xef, 0x25, 0xa4, 0x04, 0x4c, 0xd8, 0xb2, 0xe9,
- 0x80, 0x2e, 0x93, 0x5f, 0x6c, 0xd6, 0x8e, 0x6f, 0x8f, 0xb2, 0x8f, 0x26,
- 0xd6, 0xb3, 0xbe, 0x15, 0xe3, 0x1e, 0xe9, 0x6a, 0x74, 0x66, 0x07, 0xfb,
- 0x97, 0x16, 0xe2, 0xb6, 0x0f, 0x9e, 0x0d, 0x22, 0x6f, 0xf9, 0x68, 0x89,
- 0x9f, 0x39, 0xc2, 0x81, 0x6a, 0xa7, 0xae, 0x44, 0x39, 0xd3, 0xf0, 0xf0,
- 0xf9, 0x25, 0xc9, 0xa5, 0x4f, 0x47, 0x9c, 0x59, 0x68, 0x4d, 0x83, 0xa5,
- 0xab, 0x5a, 0xd3, 0xa4, 0x2b, 0xdb, 0x14, 0x62, 0x8e, 0x0f, 0x9c, 0x34,
- 0x22, 0x54, 0x8b, 0x7e, 0x51, 0x0f, 0xb1, 0xcc, 0x29, 0x7f, 0x72, 0xc5,
- 0x08, 0x3c, 0xd3, 0x79, 0xf5, 0x17, 0x7d, 0x11, 0x11, 0xff, 0xb4, 0xa0,
- 0xa9, 0x93, 0xc7, 0x4d, 0xdd, 0x52, 0xc8, 0x3a, 0x38, 0xaf, 0xdd, 0x3a,
- 0x50, 0x5b, 0x29, 0x45, 0xdc, 0xaf, 0x3c, 0x56, 0x6e, 0x66, 0x4a, 0x77,
- 0xe6, 0x8d, 0x91, 0x9d, 0xf5, 0xa2, 0xe2, 0x5a, 0xb4, 0x0f, 0xab, 0x7b,
- 0xea, 0xc1, 0xb1, 0xed, 0x11, 0xdd, 0x52, 0x9b, 0x2e, 0x7c, 0x49, 0xaf,
- 0xec, 0x10, 0x31, 0xb9, 0xda, 0x2d, 0xc5, 0x91, 0xff, 0x46, 0xbd, 0xe2,
- 0xd6, 0x1e, 0xd3, 0xa7, 0x7f, 0xf6, 0x5e, 0xeb, 0xde, 0x64, 0x4c, 0x89,
- 0xac, 0x37, 0xcc, 0xa3, 0x84, 0xfd, 0xea, 0xab, 0xac, 0x75, 0x5b, 0x3d,
- 0x7c, 0x66, 0x97, 0x5d, 0x65, 0xbb, 0x31, 0x11, 0x42, 0xd2, 0xe1, 0x63,
- 0x3a, 0x9f, 0x8b, 0xd8, 0x79, 0x78, 0xec, 0x4c, 0x68, 0xc3, 0x95, 0xbd,
- 0x88, 0x5b, 0x5e, 0x6a, 0x72, 0x37, 0x65, 0xf9, 0x29, 0x11, 0x68, 0x09,
- 0x03, 0xac, 0x28, 0x94, 0xb9, 0xba, 0x39, 0xae, 0x01, 0xcd, 0x8f, 0x13,
- 0xab, 0xef, 0x70, 0xf8, 0xcd, 0x76, 0xd6, 0x8c, 0xad, 0x0c, 0xdc, 0x76,
- 0xa0, 0x29, 0x36, 0xcb, 0x1e, 0xba, 0x99, 0x20, 0x84, 0x51, 0xe2, 0x83,
- 0xe6, 0xc1, 0xba, 0x18, 0x1f, 0x3b, 0x0d, 0x6d, 0x0b, 0xe5, 0x77, 0x1a,
- 0x28, 0x11, 0x02, 0x26, 0xf6, 0x4b, 0x5c, 0x46, 0x36, 0x6b, 0xf5, 0x7d,
- 0xf3, 0xa1, 0x7d, 0x2e, 0xc6, 0x4d, 0x7b, 0x8c, 0xd1, 0x11, 0x91, 0xdd,
- 0x4d, 0x68, 0x89, 0xc5, 0xfc, 0xff, 0xc0, 0xc2, 0x22, 0xb3, 0xc0, 0xc5,
- 0xe2, 0x80, 0x2e, 0x79, 0xb8, 0xcb, 0x73, 0x32, 0x71, 0xd9, 0x8a, 0x7d,
- 0xb8, 0xcf, 0xd2, 0x69, 0x28, 0xbc, 0x91, 0x6e, 0xa3, 0xd7, 0x8c, 0xb5,
- 0xfd, 0x05, 0x7d, 0xe6, 0xec, 0x3a, 0xe9, 0x03, 0xba, 0x0c, 0x97, 0xa1,
- 0xad, 0xa7, 0x6e, 0xb4, 0x8a, 0xab, 0xbc, 0x78, 0x8c, 0xef, 0xc7, 0x42,
- 0x1c, 0x18, 0x33, 0x90, 0xf5, 0x6d, 0xab, 0x92, 0xd9, 0xc5, 0x51, 0x0c,
- 0x4a, 0xe6, 0x7f, 0x50, 0x4c, 0xa4, 0x42, 0x47, 0x48, 0xa2, 0xc2, 0xf3,
- 0x87, 0x8e, 0xd5, 0x63, 0x41, 0x20, 0x88, 0x7c, 0xbc, 0xa0, 0xb4, 0xe6,
- 0x48, 0xc1, 0xba, 0xc0, 0xcb, 0x61, 0x74, 0x00, 0x4e, 0x67, 0xb8, 0xa1,
- 0x98, 0xe6, 0x92, 0xb5, 0xb0, 0xba, 0xde, 0x92, 0x0d, 0x42, 0xd5, 0xcc,
- 0x31, 0xcf, 0x52, 0x16, 0x5e, 0x9f, 0x7f, 0x50, 0x4c, 0x19, 0x11, 0x37,
- 0xaf, 0xbd, 0x14, 0x59, 0x6c, 0x13, 0xde, 0xa8, 0x3d, 0x3d, 0x1c, 0xbd,
- 0xe4, 0xd1, 0x5b, 0x41, 0x68, 0xc9, 0x64, 0x6e, 0x3d, 0x7a, 0x35, 0xb2,
- 0x8a, 0x98, 0x68, 0x91, 0x7e, 0x99, 0x8e, 0x55, 0xdd, 0x7f, 0xa8, 0x77,
- 0x29, 0x17, 0xaa, 0x68, 0x4f, 0x02, 0x63, 0x30, 0x5a, 0x97, 0x0c, 0x43,
- 0x4b, 0x1e, 0x23, 0xe2, 0x39, 0xe3, 0x99, 0xa1, 0xc1, 0x9a, 0x29, 0xe5,
- 0xcf, 0x57, 0x3d, 0x78, 0xbc, 0x56, 0x1a, 0x35, 0xd2, 0xd0, 0x57, 0xf4,
- 0xfc, 0xf1, 0xc7, 0xe7, 0xf7, 0x11, 0x71, 0x8c, 0xf1, 0x21, 0x4d, 0x25,
- 0x72, 0x78, 0x46, 0xd9, 0x63, 0x0d, 0x64, 0x62, 0xfe, 0xeb, 0x1c, 0xa3,
- 0xae, 0x80, 0x50, 0x44, 0xdb, 0xb4, 0x2e, 0x1f, 0xd6, 0x0c, 0x64, 0x05,
- 0x5a, 0xe8, 0x5f, 0xa2, 0x21, 0x65, 0x22, 0x52, 0xb2, 0x30, 0xa7, 0x74,
- 0x7c, 0x38, 0x2c, 0xf0, 0xa0, 0xc7, 0x89, 0xea, 0x7c, 0x46, 0x97, 0x40,
- 0x74, 0xc5, 0x96, 0xfe, 0x16, 0xce, 0xb3, 0x26, 0xb6, 0x4a, 0xa6, 0x39,
- 0xe0, 0x89, 0x8f, 0xd9, 0x46, 0xe4, 0x0d, 0x8b, 0x9c, 0x56, 0xd0, 0xbb,
- 0xaa, 0xaa, 0xce, 0x5f, 0xb6, 0x29, 0x18, 0xf0, 0xa8, 0x51, 0x2a, 0x14,
- 0x98, 0x0c, 0xc9, 0xe0, 0x57, 0x2e, 0x04, 0xd8, 0x26, 0xa4, 0x65, 0xf4,
- 0x1f, 0xf2, 0xc5, 0xaa, 0xd7, 0x9a, 0x00, 0x78, 0x48, 0xcf, 0x9d, 0x4e,
- 0xbc, 0xfa, 0x84, 0x62, 0xa8, 0x5a, 0x42, 0xd2, 0xfd, 0xd5, 0xcd, 0x29,
- 0x95, 0xf1, 0xef, 0x48, 0x62, 0x77, 0x97, 0x9a, 0x53, 0x10, 0x05, 0xa5,
- 0xd7, 0x29, 0x2e, 0x22, 0x9b, 0x18, 0x6a, 0x9d, 0xea, 0xed, 0xaa, 0x58,
- 0xed, 0xa2, 0x17, 0x75, 0x53, 0x06, 0xb9, 0x3c, 0xa4, 0xec, 0x51, 0xcc,
- 0x11, 0xb7, 0x85, 0xb1, 0xb2, 0x52, 0x4e, 0xc9, 0x2b, 0x8c, 0x48, 0x68,
- 0xd8, 0xfb, 0x2c, 0xbe, 0x7a, 0xea, 0x4a, 0x3e, 0x5a, 0x34, 0x08, 0x53,
- 0x3b, 0x8a, 0xb3, 0x08, 0x28, 0x5d, 0x92, 0xc5, 0xf0, 0x35, 0xeb, 0xff,
- 0xbc, 0x9b, 0x5c, 0x0d, 0xca, 0x2a, 0xa7, 0x1b, 0x07, 0x98, 0x3b, 0x6d,
- 0x8d, 0xb6, 0x7e, 0x0f, 0xf2, 0x84, 0x6c, 0x8a, 0x58, 0x73, 0x12, 0x79,
- 0x49, 0x94, 0xaf, 0xac, 0xdd, 0xee, 0x0c, 0x9b, 0x15, 0x01, 0x18, 0xdb,
- 0xa6, 0xab, 0x7e, 0x16, 0x8b, 0x50, 0x4a, 0x96, 0x4d, 0xe2, 0xca, 0x41,
- 0x29, 0x66, 0xc0, 0x0e, 0xd9, 0x8d, 0x95, 0x62, 0x63, 0xb7, 0x69, 0x85,
- 0x7c, 0xd1, 0xc0, 0x43, 0x91, 0xd7, 0xf5, 0x02, 0x0b, 0xf6, 0xf6, 0xf8,
- 0xe4, 0xc8, 0x82, 0x82, 0xfe, 0xf7, 0xf6, 0x80, 0x26, 0xbc, 0x1a, 0x07,
- 0x10, 0x28, 0x4e, 0xd4, 0xf2, 0xb2, 0xee, 0x24, 0x93, 0xeb, 0xdb, 0x1e,
- 0x97, 0xce, 0xc1, 0x8f, 0x5b, 0x69, 0x5c, 0x47, 0xef, 0xbf, 0x3b, 0x3e,
- 0x3f, 0x7d, 0xff, 0xee, 0xe8, 0xbd, 0xf5, 0xf6, 0xd2, 0xa1, 0x88, 0xf1,
- 0xdf, 0xd6, 0x61, 0xd0, 0x37, 0xa7, 0x78, 0xc1, 0x2d, 0x32, 0x6d, 0x98,
- 0x85, 0xda, 0x8c, 0x53, 0xfe, 0x35, 0xf0, 0x9b, 0xf3, 0x1e, 0x52, 0x8f,
- 0x2f, 0xc5, 0xe1, 0xe7, 0x64, 0xef, 0x4f, 0x28, 0xf4, 0x36, 0x60, 0x1f,
- 0xb1, 0x2d, 0x3d, 0x46, 0x14, 0xbc, 0x77, 0xe3, 0x4c, 0x4a, 0xaf, 0x52,
- 0x82, 0xc6, 0x9a, 0x9d, 0x12, 0x8e, 0x12, 0xb9, 0x60, 0x5a, 0xab, 0x13,
- 0x6e, 0x73, 0x7f, 0xe0, 0x44, 0xc2, 0x38, 0x97, 0x2f, 0x03, 0xc0, 0x1b,
- 0x57, 0xba, 0x94, 0xb3, 0x3d, 0xd5, 0x39, 0xaf, 0xf4, 0xdb, 0x1e, 0x84,
- 0xce, 0x65, 0xe1, 0xfa, 0x55, 0xd2, 0xba, 0x71, 0x3f, 0x6f, 0x14, 0x3f,
- 0xaa, 0x0b, 0x61, 0x7f, 0x7b, 0xfb, 0x67, 0x14, 0xe8, 0xfb, 0x42, 0x2a,
- 0xf4, 0x85, 0x24, 0x69, 0xb5, 0xd7, 0x11, 0x11, 0xb9, 0x5e, 0x0a, 0x0f,
- 0xed, 0x5b, 0x3b, 0x9d, 0x70, 0x0e, 0x7e, 0x3c, 0x3b, 0x3f, 0xfd, 0xe1,
- 0xaf, 0xbf, 0xf1, 0x27, 0x3c, 0xac, 0xce, 0x8f, 0x04, 0x61, 0xd3, 0xc6,
- 0x7f, 0xfe, 0x55, 0x5f, 0x5b, 0xf9, 0xb9, 0x76, 0xfb, 0xbd, 0x76, 0x1d,
- 0xd9, 0x20, 0x41, 0x09, 0x19, 0x92, 0x4c, 0x9b, 0xaf, 0xf9, 0x92, 0xce,
- 0xea, 0xb5, 0x00, 0x1a, 0xbe, 0xe1, 0x6a, 0x9f, 0x04, 0x02, 0xea, 0x6e,
- 0xd7, 0x4d, 0x07, 0x02, 0x08, 0xa4, 0xed, 0x39, 0x00, 0xa4, 0xa6, 0x6e,
- 0x52, 0x7a, 0x26, 0x27, 0x70, 0x02, 0xd0, 0x67, 0xe7, 0xe3, 0xe0, 0xe4,
- 0xe4, 0xd7, 0x4f, 0x82, 0x16, 0x5a, 0x6c, 0x4f, 0x03, 0xea, 0x9c, 0xd9,
- 0x01, 0xf5, 0xad, 0x96, 0xaa, 0x47, 0x60, 0x15, 0x57, 0xdd, 0xfb, 0x53,
- 0xe9, 0xcd, 0x2b, 0xa8, 0xc7, 0xfd, 0x3a, 0x33, 0x4a, 0x2d, 0xd5, 0x95,
- 0x4e, 0xa6, 0x84, 0x89, 0x31, 0xe6, 0x36, 0x75, 0x2c, 0xa8, 0x66, 0xe6,
- 0xff, 0x92, 0xc1, 0x68, 0x3c, 0x8f, 0x9c, 0x4b, 0x04, 0xb4, 0x77, 0x69,
- 0x49, 0x3f, 0xb8, 0xd0, 0xa2, 0x54, 0xdc, 0xbc, 0x4c, 0x22, 0x95, 0xdc,
- 0x38, 0xf5, 0x9a, 0xee, 0xd9, 0x2a, 0xaf, 0x3f, 0x01, 0x0b, 0x4f, 0x27,
- 0x13, 0xda, 0xae, 0x26, 0xc7, 0x92, 0xb2, 0x8b, 0xbe, 0x2c, 0xa1, 0x5c,
- 0xf6, 0xcf, 0xa6, 0xe7, 0x73, 0x95, 0xa4, 0x55, 0x5b, 0xe1, 0xd1, 0xed,
- 0x25, 0x4a, 0x2e, 0x87, 0x6f, 0x37, 0x74, 0x98, 0xe8, 0xa2, 0x4b, 0xd0,
- 0x97, 0xe7, 0x1e, 0xa7, 0x35, 0xb1, 0x05, 0x08, 0xbc, 0x58, 0x3d, 0x77,
- 0x22, 0x6d, 0x58, 0xa8, 0x04, 0x68, 0x03, 0x9e, 0xe1, 0xd7, 0xac, 0x77,
- 0xfa, 0xa9, 0xe9, 0x16, 0x49, 0xd4, 0xbf, 0x4b, 0x34, 0x29, 0x9e, 0x27,
- 0xca, 0x4f, 0x8b, 0x0f, 0x03, 0x60, 0xe6, 0xb1, 0x48, 0x63, 0x29, 0x5c,
- 0x10, 0x02, 0xee, 0x6e, 0x08, 0x8a, 0xd8, 0xe0, 0x7a, 0xe3, 0x47, 0xc1,
- 0x1e, 0x11, 0x22, 0xba, 0x7f, 0x9f, 0xde, 0x91, 0x0f, 0x94, 0x49, 0x11,
- 0x1e, 0xd3, 0x41, 0x47, 0x0e, 0x93, 0xc5, 0xa2, 0x20, 0x71, 0x1c, 0x0d,
- 0x76, 0x20, 0x82, 0x6b, 0xae, 0xbe, 0x68, 0x37, 0x71, 0xd6, 0xa5, 0xb1,
- 0x79, 0xa1, 0xcf, 0xe3, 0x2e, 0x68, 0x51, 0x5c, 0xe0, 0x99, 0xd0, 0x82,
- 0x09, 0x18, 0xdb, 0x62, 0xa4, 0x6d, 0xed, 0x74, 0x64, 0x03, 0xa1, 0x55,
- 0x61, 0xe8, 0x90, 0x28, 0x43, 0x90, 0x9e, 0x3b, 0x9e, 0x96, 0x90, 0xf0,
- 0x23, 0x82, 0xf9, 0x66, 0xd8, 0xb0, 0x7c, 0xc6, 0xcc, 0x7f, 0x2f, 0x4e,
- 0x0f, 0x4f, 0x4f, 0xcc, 0x5f, 0x8e, 0xde, 0x1e, 0xff, 0xe0, 0xae, 0x61,
- 0x4e, 0xbb, 0x76, 0xb9, 0x34, 0x1c, 0xc8, 0xd4, 0xd2, 0xa1, 0xbe, 0xfc,
- 0x63, 0x2c, 0x56, 0xc0, 0xe9, 0xd1, 0xe6, 0xa3, 0xf3, 0x04, 0x8b, 0x54,
- 0xff, 0x6c, 0x55, 0xf2, 0x14, 0x42, 0x11, 0x52, 0x5b, 0xb9, 0x55, 0x8b,
- 0xfd, 0x76, 0x53, 0x7d, 0xdc, 0x92, 0x29, 0x50, 0x65, 0xfc, 0xab, 0xba,
- 0x2d, 0x8d, 0xb8, 0x53, 0x08, 0x8a, 0xe7, 0x97, 0xd6, 0x7e, 0xf1, 0xab,
- 0x16, 0x6a, 0x0e, 0x88, 0xd0, 0x61, 0x53, 0x7c, 0xd8, 0x91, 0x0f, 0x92,
- 0x5a, 0xd9, 0xf3, 0x06, 0xa9, 0x1a, 0x66, 0x53, 0x65, 0x90, 0x44, 0x40,
- 0x9a, 0xb4, 0x72, 0xd7, 0x3b, 0xfb, 0x82, 0x36, 0x84, 0x6b, 0xae, 0x3d,
- 0x26, 0x99, 0x00, 0x41, 0x34, 0x21, 0xd2, 0x8d, 0xf2, 0xeb, 0xfb, 0xad,
- 0x8b, 0xd6, 0xcc, 0x54, 0x34, 0xbd, 0x89, 0xd3, 0x2a, 0xe8, 0x0f, 0xd7,
- 0x09, 0x95, 0x65, 0x7e, 0x85, 0x78, 0x16, 0xc1, 0x1a, 0x1b, 0x20, 0xb7,
- 0x43, 0xa0, 0xcd, 0xdd, 0xa9, 0x76, 0xdd, 0xbe, 0xe2, 0xeb, 0x15, 0x9f,
- 0x0e, 0x27, 0x20, 0x40, 0x89, 0x72, 0xb9, 0xd0, 0x55, 0x6d, 0x90, 0x0a,
- 0xf6, 0xf7, 0x45, 0x7e, 0x93, 0x22, 0x17, 0x86, 0x6a, 0xdc, 0x4a, 0x8d,
- 0xd1, 0x4e, 0x1b, 0xe9, 0xaf, 0x6a, 0x24, 0x6d, 0xb7, 0xf2, 0xec, 0xd7,
- 0x34, 0xf2, 0xac, 0xd3, 0xc6, 0xf5, 0xaf, 0x6a, 0xc4, 0x16, 0x1a, 0x37,
- 0x9a, 0xe8, 0x0f, 0xc7, 0x17, 0xc9, 0xe1, 0xe9, 0x1b, 0x77, 0xc0, 0x2e,
- 0xa0, 0x15, 0x60, 0x0b, 0xd0, 0xde, 0x1b, 0x2d, 0x0a, 0xda, 0x85, 0x24,
- 0x3d, 0xb8, 0x42, 0x19, 0xb5, 0x05, 0x1c, 0x2a, 0x80, 0x11, 0xb5, 0xa6,
- 0xd9, 0xe4, 0x15, 0xb3, 0x6c, 0x10, 0xd8, 0xc1, 0xe7, 0x2d, 0xe4, 0x47,
- 0x67, 0x44, 0xe0, 0x71, 0xa5, 0x57, 0x1f, 0x9d, 0x49, 0x62, 0x71, 0x4a,
- 0x2b, 0x4d, 0x82, 0x1b, 0xa5, 0x44, 0xd2, 0x51, 0x70, 0x36, 0x17, 0xc1,
- 0xe8, 0x9b, 0x96, 0x55, 0xec, 0x38, 0x3f, 0x02, 0x0e, 0x4d, 0xa3, 0xb1,
- 0xe6, 0x8d, 0x76, 0xc5, 0x07, 0x78, 0xed, 0x2a, 0x40, 0xb9, 0xb5, 0xdd,
- 0xa5, 0x3c, 0x06, 0xee, 0x41, 0x42, 0xa2, 0x82, 0xdb, 0x07, 0xc2, 0x84,
- 0x54, 0xd1, 0xc2, 0x01, 0x8d, 0xb9, 0x70, 0x5c, 0x70, 0x45, 0xd9, 0x26,
- 0xec, 0x77, 0xf6, 0xf8, 0x8f, 0xb7, 0x29, 0x2a, 0xcd, 0x1b, 0xe1, 0x21,
- 0x70, 0x9f, 0xfc, 0x1f, 0x9e, 0x5a, 0xfc, 0xc4, 0x6a, 0x41, 0x66, 0xf0,
- 0x53, 0x94, 0x64, 0x9b, 0xf0, 0xb1, 0xa8, 0xef, 0x8b, 0x26, 0xbd, 0x83,
- 0x19, 0x4c, 0x36, 0x8b, 0x30, 0x95, 0xb8, 0x37, 0x9f, 0x8a, 0x2e, 0x64,
- 0x19, 0x51, 0xca, 0xca, 0x5a, 0x81, 0x0e, 0xbd, 0xe1, 0x7b, 0x0a, 0x6c,
- 0x6a, 0x27, 0x26, 0xd0, 0xcc, 0x0b, 0x95, 0x89, 0x5b, 0x8b, 0x46, 0xd7,
- 0xf5, 0x6d, 0xf3, 0xe1, 0x44, 0x53, 0x45, 0xe9, 0x03, 0x88, 0xad, 0xb9,
- 0x62, 0x27, 0x96, 0xcd, 0xc2, 0x7c, 0x0f, 0x93, 0xd6, 0x8f, 0x96, 0x05,
- 0xb8, 0xf0, 0x93, 0xc7, 0x54, 0xdf, 0x9f, 0x94, 0x98, 0xc6, 0x1e, 0x17,
- 0x56, 0xa1, 0x92, 0x95, 0xe6, 0x37, 0xf7, 0x5a, 0x62, 0x25, 0x2d, 0x90,
- 0x27, 0xd5, 0x85, 0x6b, 0xea, 0xc2, 0x48, 0x12, 0x89, 0xcb, 0xd8, 0x78,
- 0xc6, 0x7f, 0x1c, 0xaa, 0xea, 0xe4, 0xea, 0x67, 0xab, 0xd6, 0x84, 0x1b,
- 0x4f, 0x6e, 0x1d, 0x11, 0xba, 0x7c, 0xeb, 0x8d, 0x71, 0x35, 0x31, 0x12,
- 0x3a, 0x98, 0x8d, 0xba, 0xe3, 0x66, 0x7c, 0xde, 0xf9, 0x8e, 0x7e, 0x86,
- 0x89, 0x4b, 0x2e, 0x2c, 0x81, 0x4a, 0xd7, 0xa9, 0x4f, 0xcd, 0x87, 0xad,
- 0x7d, 0xd6, 0xdd, 0x22, 0xea, 0x60, 0x27, 0x7a, 0xbb, 0xd2, 0x0f, 0xb5,
- 0xbd, 0x10, 0x67, 0x40, 0x46, 0x49, 0x57, 0xa2, 0xba, 0x56, 0xd9, 0x7c,
- 0x2a, 0x32, 0x54, 0x7e, 0x82, 0x78, 0x1e, 0x0c, 0x7a, 0x4c, 0xf5, 0x58,
- 0x7b, 0x69, 0xf4, 0x51, 0xdf, 0x16, 0x7b, 0x29, 0x9f, 0x35, 0x72, 0x98,
- 0xf5, 0x09, 0xb3, 0x19, 0x8a, 0xdc, 0x6e, 0x3c, 0xa9, 0x66, 0x88, 0x1f,
- 0x11, 0x00, 0xcd, 0xdc, 0x55, 0xa5, 0xfd, 0xb7, 0xbe, 0x11, 0xf2, 0x39,
- 0xf1, 0x75, 0xe6, 0xdc, 0xb9, 0x18, 0xef, 0xa2, 0xe2, 0xb4, 0x43, 0xc7,
- 0x62, 0x06, 0x80, 0x6f, 0x5a, 0x34, 0x3c, 0xe0, 0x8a, 0x98, 0xa7, 0x06,
- 0xc9, 0xbb, 0x10, 0xd7, 0x53, 0x5e, 0x36, 0x92, 0x39, 0x4c, 0xd0, 0x31,
- 0x9e, 0x9d, 0xeb, 0xb4, 0xb8, 0xca, 0xd8, 0xf7, 0xe1, 0x91, 0xb0, 0x71,
- 0xd1, 0x0f, 0xb9, 0x1c, 0xcd, 0xa9, 0x87, 0x52, 0x53, 0xc4, 0x8a, 0xdc,
- 0x77, 0xc8, 0x7d, 0x77, 0x77, 0xec, 0x3c, 0x60, 0x58, 0xf3, 0x06, 0xf0,
- 0x7a, 0x9a, 0x88, 0xef, 0x41, 0xbc, 0x75, 0x9b, 0x42, 0x9e, 0xd8, 0x62,
- 0x91, 0xce, 0x66, 0xd0, 0x85, 0xa2, 0x9c, 0x9a, 0x10, 0xcb, 0x0a, 0x58,
- 0x45, 0xca, 0x5e, 0x2d, 0xc6, 0xe2, 0x71, 0x7a, 0x96, 0xdc, 0x5e, 0x3d,
- 0xd8, 0xc1, 0x56, 0x54, 0x72, 0xf4, 0x0b, 0x3a, 0x37, 0x21, 0xfb, 0x97,
- 0xb8, 0x44, 0x88, 0x9d, 0xc5, 0x0b, 0xb2, 0x13, 0x86, 0x9f, 0xe9, 0x40,
- 0xbd, 0xf1, 0xec, 0xba, 0xf1, 0xdc, 0x62, 0xa7, 0x9c, 0x1d, 0x0c, 0x87,
- 0xba, 0x4f, 0x0e, 0xc3, 0x2d, 0x21, 0x31, 0x1c, 0x10, 0x45, 0x48, 0x96,
- 0x67, 0xa8, 0x40, 0x4a, 0x1b, 0x9d, 0xd8, 0xef, 0x2e, 0x8b, 0xb7, 0x37,
- 0x2c, 0xa6, 0xe3, 0xc3, 0xbd, 0x6d, 0x4d, 0x22, 0x3b, 0x91, 0x3b, 0x2c,
- 0x06, 0xf1, 0x3a, 0xc4, 0x98, 0x56, 0x4c, 0x33, 0xd2, 0x29, 0x95, 0x2b,
- 0x99, 0x7c, 0xb1, 0x46, 0xfa, 0xb4, 0xab, 0x5b, 0xee, 0x3e, 0x89, 0x0c,
- 0xfa, 0x3b, 0x1e, 0x55, 0xef, 0x9f, 0x19, 0xf4, 0x77, 0x91, 0x41, 0x3f,
- 0xb5, 0xdf, 0xe2, 0x4f, 0xed, 0xed, 0x7d, 0x26, 0x60, 0x73, 0x76, 0x92,
- 0x4d, 0x13, 0xf7, 0x31, 0xf9, 0x1a, 0x8f, 0xd8, 0x3c, 0xd8, 0x57, 0x5e,
- 0xd0, 0x2c, 0x30, 0x26, 0xed, 0xe1, 0xf5, 0x3e, 0xf5, 0xcc, 0x0d, 0xcb,
- 0x28, 0xe4, 0xd4, 0x1e, 0xe9, 0xfa, 0x2c, 0x67, 0x02, 0xf1, 0xa3, 0xdc,
- 0x49, 0x04, 0x47, 0xb9, 0x25, 0x60, 0xcb, 0x92, 0xb0, 0xbe, 0x76, 0xc3,
- 0xfb, 0xce, 0x73, 0xeb, 0xc7, 0xd8, 0xde, 0xe3, 0x4d, 0x49, 0x55, 0x2f,
- 0xa4, 0x84, 0x30, 0xb6, 0xe6, 0x24, 0x6b, 0xcc, 0x9a, 0x38, 0x17, 0x1c,
- 0xe7, 0x0c, 0x5d, 0x56, 0x29, 0x18, 0x45, 0x51, 0xb6, 0x78, 0xb0, 0x84,
- 0xb6, 0x96, 0x8d, 0x98, 0x94, 0xaa, 0x92, 0x17, 0x64, 0x3b, 0x40, 0x29,
- 0x10, 0xbf, 0x15, 0x39, 0x42, 0x51, 0x24, 0xfa, 0xd2, 0xfa, 0x4a, 0xb5,
- 0x70, 0x71, 0x2f, 0x98, 0x21, 0x1e, 0x62, 0x4b, 0x67, 0x88, 0x33, 0x20,
- 0xed, 0x7e, 0x66, 0xe7, 0xcd, 0xae, 0x04, 0xb9, 0x96, 0x98, 0xe3, 0x60,
- 0xe0, 0x5f, 0x11, 0x22, 0x4e, 0xbc, 0x08, 0x8c, 0x32, 0xf8, 0x07, 0xfb,
- 0x52, 0xde, 0x76, 0x5f, 0x61, 0x79, 0x7c, 0x46, 0xd2, 0x4e, 0xa8, 0x25,
- 0x07, 0xc9, 0x29, 0x1c, 0x61, 0x2d, 0x32, 0x5d, 0x4e, 0x91, 0x48, 0x5d,
- 0xda, 0x5b, 0x7b, 0xeb, 0xbe, 0xf4, 0xd6, 0x58, 0xbb, 0xa5, 0xb0, 0x84,
- 0x6d, 0x11, 0xb4, 0x8e, 0x94, 0x4b, 0xdd, 0xbd, 0x59, 0x72, 0x7e, 0x74,
- 0x71, 0x0e, 0x58, 0x15, 0x89, 0x80, 0xa0, 0xe6, 0x42, 0x5a, 0x6d, 0x59,
- 0x0a, 0x46, 0x91, 0x67, 0x4e, 0x29, 0x71, 0x22, 0x82, 0x79, 0x7a, 0xec,
- 0x8a, 0xf3, 0x3f, 0xf5, 0x3d, 0x4e, 0x0b, 0x30, 0x6b, 0xce, 0x53, 0xee,
- 0x22, 0x92, 0x6d, 0x06, 0xa1, 0xbd, 0x3d, 0x07, 0x0f, 0x41, 0x19, 0x36,
- 0xbe, 0xe7, 0x04, 0xec, 0x3b, 0x10, 0xd4, 0x81, 0xe2, 0xe3, 0x13, 0x4b,
- 0x9a, 0xcd, 0x9a, 0x05, 0x03, 0x66, 0x43, 0x0c, 0xa6, 0xfd, 0xb8, 0xaa,
- 0x01, 0xaa, 0x2d, 0x7a, 0x00, 0x72, 0x7c, 0xd2, 0x93, 0xa1, 0x9c, 0xc5,
- 0xf4, 0x74, 0x67, 0x27, 0x6c, 0x2e, 0x1d, 0x19, 0xb1, 0x2a, 0xaa, 0x9d,
- 0xa4, 0x3b, 0xe0, 0x15, 0x76, 0x5c, 0x42, 0xdd, 0xac, 0xc9, 0xfa, 0xe8,
- 0x5f, 0x92, 0x27, 0x91, 0x66, 0x2c, 0x34, 0x33, 0xf6, 0x58, 0xca, 0x7c,
- 0x8f, 0xfc, 0x0b, 0x99, 0xb3, 0xb6, 0x6c, 0xe1, 0xd4, 0x0c, 0x2d, 0xf3,
- 0x95, 0x2a, 0x7e, 0x15, 0x59, 0x8d, 0xe2, 0x80, 0x0e, 0x7a, 0x16, 0x48,
- 0xf0, 0xbd, 0x67, 0x91, 0x1d, 0x91, 0x0c, 0x2f, 0x4e, 0xcf, 0x95, 0xcc,
- 0x32, 0xbc, 0xa1, 0x81, 0xe5, 0xa0, 0x27, 0x2c, 0x59, 0x44, 0x2f, 0x52,
- 0x68, 0xdc, 0x66, 0x38, 0x5b, 0xb6, 0x3e, 0xef, 0xab, 0x2c, 0x03, 0xce,
- 0x29, 0x4b, 0x47, 0xc6, 0xf6, 0x9d, 0xa4, 0x34, 0x2b, 0x33, 0xa5, 0x9e,
- 0x4c, 0xef, 0x25, 0x3e, 0x68, 0xa7, 0x7c, 0x82, 0x39, 0x03, 0x17, 0xf5,
- 0x72, 0x38, 0x17, 0x97, 0x98, 0x2d, 0x05, 0xa7, 0x68, 0x4b, 0x12, 0x75,
- 0xf7, 0x22, 0x1f, 0xa2, 0x53, 0x47, 0x3e, 0xca, 0x32, 0x5e, 0x06, 0xe9,
- 0x5c, 0x48, 0xa8, 0x8c, 0x85, 0xdc, 0x05, 0xa6, 0xe7, 0x94, 0x3d, 0x04,
- 0xdd, 0x21, 0xd0, 0x60, 0xcd, 0xb1, 0x29, 0xab, 0x89, 0x30, 0x60, 0xc9,
- 0xe5, 0xa9, 0xe6, 0x83, 0x53, 0xbb, 0xbd, 0x9b, 0xff, 0xec, 0xf4, 0xfc,
- 0x22, 0xb1, 0x17, 0x3f, 0xbe, 0x8d, 0x1f, 0x75, 0x8e, 0x10, 0xd5, 0x00,
- 0x80, 0x03, 0xcd, 0x81, 0xeb, 0x03, 0xaf, 0xa0, 0x98, 0x08, 0x8d, 0x36,
- 0xa1, 0x6d, 0x90, 0xff, 0xa1, 0x02, 0x8c, 0x4e, 0x88, 0xc6, 0x3c, 0x99,
- 0x23, 0x59, 0x2c, 0x74, 0xe1, 0xc4, 0xcb, 0x4c, 0x39, 0x25, 0xf7, 0xc9,
- 0x6e, 0x64, 0x77, 0x90, 0x6d, 0x7d, 0x7e, 0x44, 0x45, 0xe7, 0x2f, 0xae,
- 0xf9, 0x6f, 0x41, 0xcf, 0x39, 0x73, 0x52, 0x7e, 0x18, 0x58, 0x2e, 0x76,
- 0x77, 0x50, 0x78, 0xd0, 0x98, 0x1f, 0x68, 0xdf, 0xa6, 0xe9, 0x7a, 0x73,
- 0xf6, 0xc4, 0x83, 0x82, 0x41, 0x72, 0xca, 0x5e, 0xc1, 0x21, 0xc7, 0x0f,
- 0xd6, 0xe5, 0x23, 0xeb, 0x46, 0x3d, 0xe3, 0x43, 0xd1, 0x22, 0x1b, 0x7e,
- 0xf2, 0xd4, 0x93, 0x16, 0x74, 0x5b, 0x49, 0x03, 0xc7, 0x5a, 0xd5, 0x8b,
- 0x7e, 0xd8, 0xd7, 0xed, 0x82, 0x2b, 0x83, 0x37, 0x06, 0x3f, 0xe7, 0xda,
- 0x79, 0x66, 0xd3, 0xf1, 0x55, 0x61, 0xf0, 0xba, 0x42, 0x3f, 0x56, 0x04,
- 0x0e, 0x94, 0xb7, 0xce, 0xb6, 0x7b, 0xc2, 0xbb, 0xfd, 0xab, 0x74, 0xe2,
- 0x20, 0x65, 0x3c, 0x74, 0xef, 0x62, 0x25, 0x8d, 0x2b, 0x2f, 0x16, 0x19,
- 0x34, 0xb5, 0xb4, 0x9a, 0x12, 0xb1, 0xb9, 0x91, 0x23, 0xec, 0x6b, 0xa1,
- 0xd7, 0x02, 0xa9, 0x5b, 0xfa, 0x34, 0x1a, 0x4f, 0xe4, 0x16, 0x3a, 0x3e,
- 0x39, 0x72, 0x2b, 0xc5, 0xac, 0xe8, 0x38, 0xc5, 0x4e, 0xe3, 0xa7, 0x4a,
- 0x9c, 0xf6, 0xaa, 0x18, 0x24, 0x67, 0x54, 0x62, 0x11, 0xda, 0x53, 0xfd,
- 0xef, 0xae, 0x35, 0x3e, 0x28, 0x70, 0x84, 0x9b, 0xcb, 0x13, 0xa6, 0x4a,
- 0x5e, 0x98, 0x85, 0xc5, 0x4f, 0xe8, 0xaf, 0x1e, 0x83, 0x6f, 0x30, 0xdc,
- 0x97, 0xee, 0xe5, 0xda, 0x0c, 0xc5, 0x18, 0xed, 0xdd, 0x47, 0x9e, 0xca,
- 0xbe, 0x32, 0x16, 0x3d, 0x9a, 0xa0, 0x0f, 0x40, 0x36, 0xd3, 0x79, 0xd6,
- 0x7a, 0xe2, 0xdc, 0xc2, 0xa5, 0x3e, 0xa3, 0x46, 0x0d, 0x3f, 0xe7, 0x9a,
- 0xe2, 0x0b, 0xe1, 0x60, 0x64, 0x6b, 0x62, 0x10, 0x82, 0x93, 0xd4, 0x39,
- 0xd3, 0x56, 0x41, 0xd2, 0x76, 0x6a, 0x81, 0xd0, 0x36, 0x1a, 0x4b, 0xf2,
- 0x72, 0xa4, 0x07, 0x87, 0x46, 0xd2, 0x9d, 0xdc, 0x4e, 0xbd, 0xc8, 0xa7,
- 0xbc, 0x13, 0xed, 0xb6, 0xb1, 0x77, 0x58, 0xab, 0x77, 0x02, 0x1d, 0x15,
- 0xea, 0x2e, 0x72, 0x24, 0x90, 0x5b, 0xde, 0x5c, 0xf1, 0xbe, 0x09, 0xf0,
- 0xf4, 0x99, 0x6b, 0xea, 0x92, 0x12, 0xde, 0x6c, 0x5b, 0x4e, 0xfe, 0xb8,
- 0x92, 0x01, 0xb9, 0x7d, 0x4c, 0xac, 0x46, 0xbe, 0xc7, 0x46, 0x11, 0x0e,
- 0x2b, 0x7f, 0x4e, 0x78, 0x33, 0x5c, 0x94, 0x64, 0x06, 0x17, 0xf7, 0x0e,
- 0x19, 0x3d, 0xe0, 0xe0, 0x2e, 0x7b, 0xd3, 0xb8, 0x2c, 0x83, 0xfc, 0x46,
- 0x68, 0xad, 0xaf, 0xc5, 0x5b, 0x43, 0x45, 0xca, 0x02, 0x36, 0xde, 0xc5,
- 0x4c, 0x00, 0x96, 0xde, 0x97, 0x5e, 0x88, 0x6b, 0x83, 0x4b, 0xba, 0x2b,
- 0x85, 0x8c, 0x1d, 0x89, 0x99, 0x68, 0xb1, 0x9c, 0x2d, 0x19, 0x8b, 0xd9,
- 0x3c, 0x40, 0xfe, 0xd5, 0x1e, 0x3d, 0x6e, 0x84, 0x02, 0x0e, 0x97, 0xb1,
- 0x28, 0xbd, 0xea, 0x65, 0x28, 0x3d, 0x02, 0x1f, 0x9a, 0x70, 0x79, 0x8e,
- 0x7f, 0xa5, 0x34, 0x0f, 0xa1, 0xbb, 0xbc, 0xca, 0xfe, 0x06, 0x75, 0x72,
- 0xc0, 0x17, 0x0e, 0x27, 0x3b, 0xf1, 0x28, 0x8b, 0x45, 0xea, 0xd9, 0xf4,
- 0x4f, 0x5f, 0x8a, 0xdf, 0x4a, 0xfc, 0x22, 0x5a, 0xcc, 0xb4, 0x1b, 0xe5,
- 0x7b, 0xb6, 0x6b, 0x3d, 0x98, 0x84, 0x67, 0x14, 0x90, 0xbe, 0x8f, 0x6a,
- 0x24, 0xaa, 0xcf, 0xe1, 0x37, 0xc9, 0xbb, 0x37, 0xcf, 0x08, 0x57, 0x73,
- 0x95, 0x55, 0x73, 0x63, 0xb5, 0x38, 0xc3, 0xfc, 0xf4, 0x5b, 0xaf, 0xb1,
- 0x3d, 0xe7, 0x0e, 0x95, 0x6b, 0x36, 0x97, 0xd3, 0x4b, 0x16, 0x83, 0x59,
- 0x3f, 0x4a, 0x0a, 0xbd, 0xd2, 0xfc, 0x6e, 0xf6, 0x89, 0x21, 0x81, 0xdc,
- 0x15, 0xf5, 0x4e, 0x02, 0xaa, 0xab, 0x8e, 0x00, 0x7b, 0xf6, 0xc4, 0x09,
- 0xb0, 0xea, 0x7e, 0x4e, 0xa5, 0x04, 0x8a, 0x2b, 0xb2, 0x0e, 0x22, 0x27,
- 0xea, 0x19, 0x0b, 0xcd, 0x43, 0x3e, 0xf7, 0xa4, 0xca, 0x86, 0xaf, 0x41,
- 0x49, 0x87, 0x17, 0xd5, 0x7b, 0xef, 0x99, 0xef, 0x5b, 0x20, 0x2a, 0x48,
- 0x20, 0x96, 0x98, 0x00, 0x1e, 0x7a, 0x8a, 0xf7, 0xec, 0x73, 0xfb, 0x2c,
- 0x79, 0x92, 0xf2, 0xc2, 0x2b, 0xd8, 0xb1, 0xe4, 0x0d, 0x51, 0x80, 0xd5,
- 0x4c, 0xd0, 0x2c, 0x3a, 0xd6, 0x7a, 0xbc, 0xb9, 0xf7, 0x5e, 0x79, 0xd9,
- 0x76, 0x9d, 0x80, 0xc9, 0xdb, 0x6e, 0x4d, 0x0c, 0x2a, 0x9f, 0x5f, 0xfb,
- 0x87, 0xf3, 0x39, 0xdf, 0xd2, 0x67, 0x04, 0x52, 0x6d, 0xad, 0xa7, 0x0a,
- 0xc1, 0xcc, 0x67, 0x42, 0xd0, 0xb3, 0xce, 0x7b, 0xff, 0xf0, 0x60, 0x59,
- 0x86, 0x06, 0x76, 0xbb, 0xf7, 0x91, 0x5d, 0x39, 0x33, 0x54, 0x65, 0xef,
- 0xaa, 0xc8, 0xff, 0xa1, 0xb9, 0xdd, 0x74, 0x3b, 0x6b, 0xb1, 0x15, 0xef,
- 0xf1, 0x3d, 0x11, 0x18, 0x37, 0xe9, 0x34, 0x17, 0xa1, 0x48, 0x31, 0x4c,
- 0xf7, 0xc0, 0x13, 0xd9, 0xb5, 0x5c, 0x57, 0x10, 0x16, 0x00, 0x2a, 0x83,
- 0x52, 0x04, 0x3d, 0x6b, 0x61, 0x9e, 0x9f, 0x3f, 0x15, 0xbd, 0x4b, 0x15,
- 0x64, 0xba, 0x79, 0x69, 0x22, 0xa6, 0x20, 0x96, 0xeb, 0x8a, 0xe9, 0xe7,
- 0x72, 0xed, 0xc9, 0x52, 0xda, 0x82, 0x2b, 0xb6, 0x78, 0x0d, 0xfd, 0xf5,
- 0x36, 0x2f, 0x04, 0x85, 0x1c, 0xbc, 0xfe, 0x7c, 0x89, 0x3f, 0xb2, 0xe6,
- 0x3b, 0xf3, 0x08, 0x7b, 0xc9, 0x7b, 0xfe, 0x33, 0x97, 0x5c, 0xea, 0x28,
- 0x0a, 0x95, 0x8e, 0xad, 0xe7, 0x79, 0x20, 0xec, 0x41, 0x12, 0x2f, 0x0a,
- 0x1f, 0x81, 0x49, 0xb4, 0xfa, 0xc5, 0xa5, 0xfd, 0xfc, 0xb4, 0xbc, 0x4a,
- 0x7c, 0x66, 0x89, 0xe7, 0xbc, 0xa5, 0xde, 0x82, 0x99, 0x5d, 0xcf, 0x01,
- 0x49, 0x13, 0xbf, 0x34, 0xae, 0x7b, 0xfa, 0xa5, 0xec, 0x0d, 0xbd, 0x2f,
- 0xad, 0xc9, 0xba, 0xec, 0x8d, 0xcf, 0x76, 0x7c, 0x85, 0x75, 0x42, 0x41,
- 0x52, 0xce, 0x71, 0x5e, 0xfa, 0x02, 0xef, 0x8c, 0xe3, 0x29, 0x55, 0x99,
- 0x9d, 0x6a, 0xed, 0x5a, 0x25, 0x64, 0x73, 0x8f, 0xed, 0xb5, 0x84, 0xee,
- 0x85, 0xaf, 0x3e, 0x25, 0xc7, 0x6f, 0xbc, 0x07, 0x9f, 0xb8, 0x01, 0xa6,
- 0x53, 0xd2, 0x06, 0xee, 0xd9, 0x5d, 0x55, 0x4b, 0xd5, 0x5c, 0xef, 0x51,
- 0xde, 0x19, 0xef, 0x4b, 0xa6, 0x0e, 0xc2, 0xfc, 0x07, 0xcf, 0xf0, 0x76,
- 0x38, 0xbc, 0x36, 0xb7, 0xda, 0xb8, 0x01, 0x38, 0xb3, 0xd0, 0xb8, 0x57,
- 0x77, 0xed, 0x3f, 0x7b, 0xbe, 0xe2, 0x59, 0xb9, 0x34, 0x6b, 0x7b, 0xd5,
- 0x7b, 0xef, 0x7d, 0x16, 0x1e, 0x73, 0x35, 0x09, 0x14, 0x43, 0x2e, 0x27,
- 0x2d, 0xd9, 0xa4, 0x34, 0xd6, 0x7f, 0x57, 0xff, 0x60, 0x45, 0xac, 0x68,
- 0xf5, 0xbf, 0xfb, 0xfd, 0x7d, 0xe1, 0x03, 0xd1, 0xd9, 0x33, 0x58, 0x65,
- 0x08, 0x1c, 0x8c, 0x5b, 0xd4, 0xe8, 0x0e, 0xa8, 0x83, 0xd9, 0xf1, 0x5a,
- 0xe0, 0x35, 0x37, 0x7a, 0xc4, 0xa2, 0x70, 0x92, 0x83, 0x8d, 0x40, 0xc9,
- 0x1b, 0x9f, 0xf8, 0xec, 0x79, 0x24, 0xf3, 0xc5, 0x17, 0xe5, 0x79, 0x52,
- 0x77, 0x3a, 0xc7, 0xa0, 0xbe, 0x5e, 0xb0, 0xd5, 0x6d, 0x47, 0xe4, 0xdc,
- 0x6c, 0xde, 0x6b, 0x7b, 0x4e, 0x7a, 0xc9, 0xb5, 0xcf, 0xd9, 0x00, 0x87,
- 0x94, 0xb8, 0xc2, 0xa6, 0xb9, 0xe5, 0xcb, 0x86, 0xab, 0xbc, 0x2a, 0xd9,
- 0x73, 0x48, 0x4c, 0x04, 0x9b, 0x69, 0x1c, 0x23, 0x29, 0xb0, 0x6e, 0xef,
- 0x33, 0xa2, 0xda, 0x10, 0xd2, 0xc8, 0xac, 0xd2, 0x75, 0x36, 0xfe, 0xa4,
- 0x47, 0xc6, 0xb6, 0x11, 0x79, 0xeb, 0xa9, 0x9d, 0x5a, 0xda, 0x7d, 0x67,
- 0xe7, 0x47, 0x5d, 0x23, 0xc0, 0x3d, 0xca, 0xbb, 0xe6, 0xfc, 0x62, 0x78,
- 0xb6, 0x4f, 0xfd, 0xe5, 0x60, 0xa2, 0x39, 0x10, 0x87, 0xc3, 0xec, 0xef,
- 0x92, 0x04, 0x54, 0xbb, 0xa7, 0x9f, 0x2f, 0x79, 0x7a, 0x28, 0x2e, 0xbe,
- 0xe3, 0x09, 0x49, 0x5f, 0xb3, 0x0e, 0xfe, 0x4b, 0x9f, 0x09, 0xb4, 0x52,
- 0x5d, 0xfd, 0xec, 0x08, 0xa3, 0x9e, 0x41, 0x1a, 0x52, 0xd8, 0xd9, 0x3d,
- 0xfc, 0xc2, 0xf9, 0x6b, 0xae, 0x17, 0xc5, 0x27, 0xab, 0x2f, 0x0a, 0x1b,
- 0x98, 0x2e, 0xb0, 0x7b, 0xe1, 0xa5, 0x1e, 0x0d, 0xcf, 0x1b, 0x6a, 0xe1,
- 0x47, 0x3d, 0xf1, 0x52, 0x68, 0x9d, 0x5c, 0x8e, 0x82, 0x1a, 0xf9, 0xba,
- 0xf0, 0xe6, 0xe0, 0xe5, 0x8e, 0xbd, 0x7e, 0x85, 0x57, 0xe4, 0x53, 0x76,
- 0xef, 0x76, 0x1d, 0xa3, 0x25, 0x8c, 0xba, 0x98, 0x17, 0xe4, 0x84, 0x70,
- 0x8f, 0xb8, 0x06, 0x76, 0x5b, 0x97, 0x40, 0x57, 0xdd, 0xa8, 0x9b, 0xb4,
- 0x59, 0x78, 0x57, 0xcc, 0x4b, 0xde, 0x3b, 0x43, 0x8a, 0x45, 0xce, 0x64,
- 0xbf, 0xe6, 0x85, 0xfa, 0xdc, 0x3a, 0x8e, 0x34, 0x7d, 0xe9, 0x87, 0x1f,
- 0xf8, 0x1e, 0xb1, 0x94, 0x57, 0x12, 0xcb, 0xb2, 0xa5, 0x4e, 0x8c, 0xdc,
- 0x65, 0x1a, 0x54, 0x3a, 0xc2, 0x88, 0x00, 0x55, 0xd9, 0x34, 0x23, 0xca,
- 0x44, 0xb6, 0x83, 0x70, 0x78, 0xfa, 0x81, 0x4d, 0x89, 0x6a, 0x5f, 0x1c,
- 0xc9, 0x25, 0x0c, 0x25, 0xfc, 0x9f, 0x05, 0xf9, 0xdf, 0xc4, 0x1f, 0x66,
- 0x7a, 0x70, 0xf0, 0xe1, 0xe2, 0x9b, 0xd3, 0xf3, 0x61, 0xb2, 0x4d, 0x99,
- 0xc7, 0x17, 0xe7, 0xc7, 0x5f, 0x7d, 0xb8, 0x30, 0xff, 0xd4, 0x96, 0xde,
- 0xa4, 0x45, 0x6e, 0x6e, 0x27, 0x33, 0x9c, 0xac, 0x30, 0x9b, 0xe5, 0x4a,
- 0x4b, 0x92, 0x30, 0x01, 0xab, 0xb9, 0x8f, 0xcb, 0x8a, 0xcb, 0x52, 0x81,
- 0xf9, 0xe1, 0xba, 0x94, 0x15, 0x67, 0x6e, 0xb2, 0x82, 0x81, 0x76, 0xa5,
- 0xb3, 0x9d, 0xf3, 0x4e, 0xe2, 0xb4, 0xa2, 0x67, 0x92, 0x8b, 0x6f, 0x0e,
- 0xde, 0x7f, 0x3b, 0x54, 0xb6, 0xfa, 0xef, 0xbf, 0xff, 0xbe, 0x1b, 0xf2,
- 0x85, 0x1e, 0x7b, 0x9d, 0xde, 0xdd, 0x0d, 0xea, 0x6c, 0x6d, 0x6d, 0x78,
- 0x74, 0x94, 0x1c, 0x9c, 0x0c, 0x4f, 0xd7, 0x5c, 0xbe, 0xfd, 0xe6, 0x2e,
- 0xf1, 0xf0, 0x5c, 0x65, 0x8d, 0xf9, 0xcb, 0xda, 0xda, 0xc9, 0xc1, 0x05,
- 0x19, 0xc7, 0x52, 0x01, 0x98, 0xe6, 0x99, 0xb8, 0x33, 0xd2, 0xe9, 0x2d,
- 0x51, 0x05, 0x5e, 0xe6, 0x00, 0xb4, 0x13, 0x4f, 0x1e, 0x20, 0xbf, 0x5d,
- 0xfe, 0x4c, 0x73, 0xc1, 0xdd, 0x12, 0xa3, 0x89, 0xc0, 0xd2, 0x08, 0x6f,
- 0x6b, 0x86, 0xa4, 0x00, 0x87, 0xb5, 0xc4, 0x79, 0xc8, 0x98, 0xe6, 0x3e,
- 0x1b, 0x71, 0x01, 0xe8, 0x1e, 0xa3, 0x4b, 0x11, 0x22, 0xf3, 0x38, 0x26,
- 0x96, 0x0c, 0xe1, 0x98, 0xa8, 0x5f, 0x93, 0x0f, 0xc3, 0x83, 0xaf, 0x8f,
- 0xe8, 0xd9, 0xaf, 0xb3, 0xc6, 0xcd, 0x2c, 0xdc, 0x6b, 0xf8, 0xca, 0xfb,
- 0xac, 0xa9, 0xc7, 0xe9, 0x3c, 0xdb, 0xa0, 0x3e, 0x8d, 0xfa, 0x52, 0x68,
- 0xc1, 0x35, 0xce, 0xa6, 0x83, 0xab, 0x0f, 0x51, 0xc8, 0xf3, 0xa8, 0xe4,
- 0xe0, 0xb7, 0x7b, 0x7e, 0x74, 0xf0, 0xe6, 0xdd, 0x91, 0xd6, 0x10, 0xe7,
- 0x6b, 0xde, 0x34, 0x7a, 0x4d, 0x95, 0xd5, 0x5d, 0x7c, 0x85, 0x54, 0x89,
- 0x85, 0x69, 0xc3, 0xfc, 0x86, 0x0a, 0x9d, 0xc7, 0x3f, 0xe7, 0xca, 0x46,
- 0xe0, 0xd9, 0xc1, 0x65, 0xbe, 0xcd, 0xad, 0xeb, 0xf7, 0x52, 0x3b, 0x27,
- 0x42, 0x26, 0xa3, 0xea, 0x35, 0xfb, 0x3f, 0xe0, 0x37, 0x79, 0xb1, 0xb3,
- 0xb3, 0xb3, 0x62, 0x1c, 0xb0, 0x3e, 0xe4, 0x92, 0x36, 0x43, 0xd9, 0xa7,
- 0xc7, 0xb7, 0x5d, 0xfb, 0xae, 0xc7, 0xb4, 0xdd, 0xb0, 0x6e, 0x97, 0x64,
- 0xbe, 0xe3, 0x6a, 0xcf, 0x9b, 0x2c, 0xde, 0xe5, 0x71, 0x59, 0xda, 0x15,
- 0x68, 0x4d, 0x0e, 0xca, 0x3b, 0xe7, 0x8d, 0xb2, 0xea, 0xe1, 0x0d, 0xee,
- 0xb8, 0x31, 0x98, 0xc0, 0x24, 0x56, 0xdd, 0x77, 0x9b, 0xa4, 0xdf, 0x00,
- 0x58, 0x34, 0x6e, 0x06, 0x65, 0x75, 0xb5, 0x3d, 0xdb, 0x87, 0x06, 0x64,
- 0x1e, 0x7a, 0x4b, 0x48, 0xe6, 0xc4, 0x68, 0xd2, 0x96, 0x24, 0xa4, 0xa6,
- 0x89, 0x2d, 0xcd, 0xd5, 0xf7, 0x88, 0x7e, 0xfd, 0x82, 0x59, 0x60, 0x82,
- 0xa7, 0x4b, 0x1d, 0xb9, 0x96, 0x51, 0x8c, 0x7c, 0x84, 0xf6, 0x1f, 0xbc,
- 0x93, 0x03, 0x23, 0x0b, 0xcc, 0x57, 0x88, 0x6a, 0x0c, 0x5b, 0xc4, 0xfc,
- 0xb5, 0x22, 0xc8, 0x4d, 0x73, 0x07, 0x31, 0x2d, 0x55, 0x62, 0x39, 0x2b,
- 0x94, 0xf0, 0x1f, 0x73, 0xa3, 0x69, 0x19, 0x03, 0x2a, 0x65, 0xa2, 0x89,
- 0x21, 0x15, 0xba, 0x20, 0x21, 0x72, 0x25, 0x13, 0x07, 0xc8, 0x26, 0x35,
- 0xdc, 0xfd, 0x66, 0xbf, 0x8f, 0xfd, 0x53, 0xdb, 0xdd, 0xf2, 0x88, 0x8f,
- 0x7b, 0x83, 0xe2, 0xd9, 0x2f, 0xe4, 0x56, 0xf7, 0xf6, 0xce, 0xd0, 0xf4,
- 0x22, 0xf8, 0xd6, 0xc2, 0x15, 0xba, 0xad, 0xf9, 0x73, 0x7e, 0x3d, 0x13,
- 0xb3, 0x1a, 0xdb, 0x40, 0xf3, 0x3e, 0xfa, 0x1b, 0x87, 0x67, 0xf2, 0x37,
- 0x82, 0x3d, 0xe6, 0x37, 0x34, 0x78, 0xba, 0x11, 0x92, 0x64, 0x93, 0xae,
- 0x0c, 0xd5, 0x8a, 0x81, 0xa2, 0x84, 0x75, 0x8b, 0x62, 0x45, 0xbe, 0x75,
- 0xb2, 0xa2, 0x87, 0xfb, 0x66, 0x6a, 0xe8, 0x06, 0xfa, 0xdf, 0xdb, 0x83,
- 0xba, 0xbe, 0xde, 0xce, 0x27, 0x1f, 0xab, 0x3a, 0x4d, 0x7e, 0x5a, 0xeb,
- 0x24, 0xcd, 0x76, 0x07, 0xf1, 0xbf, 0x31, 0x83, 0xbf, 0x68, 0xa6, 0x96,
- 0x8f, 0xe2, 0xf7, 0x18, 0x41, 0xbf, 0x4f, 0xad, 0xea, 0x97, 0x3e, 0x9a,
- 0x07, 0x3e, 0x5a, 0x36, 0xe7, 0x5f, 0x31, 0xba, 0x88, 0x28, 0x34, 0x83,
- 0x64, 0x92, 0x4f, 0x23, 0x5b, 0xe2, 0x1b, 0x5d, 0x6b, 0x94, 0xfc, 0xb8,
- 0xb7, 0xb3, 0xb3, 0xbb, 0xbf, 0xfb, 0xe2, 0xe5, 0xce, 0xfe, 0xee, 0xee,
- 0xee, 0xde, 0xfe, 0xee, 0xfe, 0xfe, 0xde, 0xce, 0xcf, 0xdb, 0xeb, 0xcb,
- 0xa6, 0xee, 0xdd, 0x57, 0x4b, 0x1a, 0x34, 0xa3, 0x5e, 0x67, 0x06, 0xc1,
- 0x9f, 0xec, 0xe8, 0x31, 0xaa, 0xc9, 0x7a, 0x52, 0xcf, 0x46, 0x84, 0xdc,
- 0xe3, 0xc3, 0xe9, 0x0f, 0xa6, 0x36, 0x8a, 0x77, 0xe6, 0x0d, 0xe8, 0xcd,
- 0xe9, 0xf7, 0xef, 0x4f, 0x4e, 0x0f, 0xde, 0x24, 0x17, 0xa7, 0xc9, 0x01,
- 0xdc, 0x84, 0x11, 0x39, 0x09, 0x16, 0x50, 0x02, 0xbf, 0x73, 0xf5, 0x16,
- 0xaf, 0x8a, 0x99, 0xf8, 0xb4, 0x2c, 0x4a, 0x15, 0x9d, 0xe8, 0xf6, 0xb3,
- 0x84, 0x19, 0x48, 0x2d, 0x0d, 0xae, 0x9b, 0xd9, 0xc3, 0x37, 0xc2, 0x63,
- 0xbe, 0xdc, 0x63, 0x20, 0x87, 0xb3, 0xf4, 0xd1, 0x1d, 0x3d, 0xf9, 0x40,
- 0x0e, 0x25, 0x1a, 0xfb, 0x12, 0x08, 0x84, 0xca, 0xbb, 0x64, 0x93, 0x01,
- 0x5e, 0xae, 0xf2, 0x16, 0x17, 0x75, 0xeb, 0xa0, 0xe2, 0x6c, 0x79, 0x24,
- 0xc1, 0xd8, 0x40, 0xdd, 0x21, 0x1d, 0x76, 0x2b, 0x18, 0xe0, 0xe9, 0xd2,
- 0x21, 0x99, 0xcb, 0x3c, 0xbb, 0xc3, 0xa8, 0xdb, 0xb2, 0x97, 0x29, 0x26,
- 0xdd, 0xe8, 0x40, 0xa4, 0xa5, 0xbe, 0x8b, 0xbc, 0xd2, 0x2e, 0x03, 0x07,
- 0x19, 0xf9, 0x1c, 0x7d, 0x47, 0x45, 0xb2, 0xfb, 0x04, 0xfd, 0xc6, 0xbf,
- 0xc7, 0xb7, 0x6d, 0x62, 0x31, 0x77, 0xe0, 0xc3, 0xf0, 0xf8, 0xfd, 0xd7,
- 0x88, 0xa2, 0x7f, 0x7f, 0x7a, 0xfe, 0x66, 0x68, 0x9a, 0x35, 0xf2, 0x0a,
- 0x8d, 0x5f, 0x94, 0x24, 0x09, 0xa5, 0x57, 0x7c, 0x2e, 0xe9, 0xd3, 0x7f,
- 0xe1, 0xed, 0xd4, 0xf3, 0x0b, 0x08, 0xcc, 0x7c, 0xfb, 0x88, 0x2a, 0x47,
- 0xc5, 0x6f, 0x0d, 0x6f, 0x37, 0x7e, 0x39, 0x4b, 0xc7, 0xd7, 0x64, 0xd0,
- 0xf3, 0x66, 0x05, 0x2a, 0x7a, 0x9b, 0xd2, 0x76, 0xb6, 0xc9, 0x4e, 0xdb,
- 0x6e, 0x4a, 0x6c, 0x47, 0xb4, 0x52, 0x56, 0x3e, 0xe5, 0xbd, 0xe7, 0xcd,
- 0x31, 0x7b, 0xfd, 0x72, 0x9a, 0x5e, 0xe1, 0x83, 0xe1, 0x31, 0xf0, 0x3e,
- 0x26, 0x9f, 0x7f, 0xec, 0x27, 0xe9, 0xda, 0x40, 0x7b, 0xc7, 0xd8, 0x00,
- 0x48, 0xb5, 0x42, 0x39, 0x2c, 0x09, 0x52, 0xb1, 0xfe, 0x88, 0xda, 0x7c,
- 0x84, 0x08, 0x23, 0x28, 0x6a, 0xb7, 0xae, 0x11, 0xaa, 0xcf, 0x32, 0xa1,
- 0xba, 0x51, 0xbf, 0x1d, 0x60, 0x5b, 0x0a, 0x83, 0xa0, 0x25, 0x4f, 0x27,
- 0xaf, 0x1d, 0x82, 0xdc, 0xd5, 0x72, 0xe6, 0x29, 0xa7, 0xce, 0x10, 0xca,
- 0x93, 0x33, 0x20, 0x04, 0x64, 0x48, 0xa3, 0x5f, 0xa7, 0x3a, 0x05, 0x84,
- 0x74, 0x5a, 0xc7, 0x15, 0x07, 0x27, 0x9b, 0xf2, 0xbf, 0xb9, 0xe8, 0xba,
- 0x51, 0xf6, 0x8b, 0x49, 0x4a, 0x15, 0x2f, 0x18, 0xee, 0x20, 0x94, 0x2a,
- 0xc6, 0xfa, 0xe2, 0xdc, 0x92, 0x75, 0xc5, 0x4b, 0x71, 0x2b, 0x79, 0xcd,
- 0xc4, 0x34, 0xb6, 0x92, 0x18, 0x5d, 0x5e, 0xf4, 0x75, 0xf6, 0x93, 0x72,
- 0xa9, 0x13, 0xbd, 0x27, 0x9d, 0xa7, 0x93, 0xee, 0x38, 0xa3, 0x8f, 0x1b,
- 0x01, 0xce, 0x3b, 0x47, 0xe3, 0xeb, 0xae, 0x22, 0x6c, 0x6b, 0xda, 0x94,
- 0x01, 0x99, 0x9b, 0x23, 0xc9, 0xec, 0x9c, 0xb6, 0x76, 0x06, 0xd7, 0x00,
- 0x5b, 0xb3, 0xb7, 0x80, 0x85, 0xc2, 0xbb, 0xda, 0x76, 0xa9, 0x2b, 0xff,
- 0xe1, 0x4d, 0x1b, 0xa3, 0x4c, 0xdd, 0x7b, 0x66, 0x8d, 0xa8, 0xa9, 0xbc,
- 0xa9, 0xb3, 0xe9, 0x25, 0x99, 0x5b, 0xf6, 0x0a, 0xe1, 0x9a, 0xd8, 0xae,
- 0x0e, 0x8a, 0x50, 0xbd, 0x2f, 0x0a, 0x63, 0xa9, 0xa4, 0x82, 0x00, 0x62,
- 0x59, 0x72, 0x05, 0xb1, 0xce, 0xcf, 0x61, 0x4b, 0xb6, 0x64, 0x08, 0x07,
- 0x50, 0x3f, 0x67, 0x90, 0x9f, 0x6d, 0xae, 0x25, 0x3a, 0xbc, 0x84, 0x10,
- 0xbe, 0x75, 0x74, 0xee, 0x68, 0xb6, 0xee, 0xe7, 0x04, 0x5b, 0x26, 0x3c,
- 0x88, 0x57, 0x2d, 0x52, 0x29, 0x94, 0xc1, 0x65, 0x9e, 0xdd, 0x11, 0xa1,
- 0xb0, 0x8c, 0xcd, 0xd9, 0x84, 0x56, 0xab, 0x97, 0xf1, 0x52, 0x6b, 0xf8,
- 0x39, 0x64, 0x21, 0xcd, 0x36, 0x71, 0x8d, 0x91, 0xcd, 0x25, 0x49, 0x13,
- 0xac, 0x06, 0xaa, 0x25, 0x69, 0x4b, 0x94, 0x92, 0xc6, 0x64, 0x6e, 0x61,
- 0xe6, 0xfa, 0xb6, 0x45, 0xc3, 0x11, 0xa7, 0x4d, 0xd9, 0xde, 0x84, 0x12,
- 0xec, 0x7d, 0x18, 0xe9, 0x59, 0x74, 0x2e, 0x5a, 0x18, 0xe5, 0xd6, 0x28,
- 0x17, 0x23, 0xb7, 0xb0, 0xb4, 0x47, 0x80, 0xee, 0xa5, 0x26, 0x0f, 0xc3,
- 0x22, 0x7a, 0x5a, 0x4e, 0xc2, 0x9b, 0x3d, 0x41, 0xe2, 0x1a, 0x81, 0x82,
- 0xf4, 0xb4, 0x45, 0x6d, 0x77, 0x8e, 0x99, 0xad, 0x4f, 0x72, 0x21, 0xae,
- 0x21, 0x51, 0x21, 0x14, 0x37, 0x22, 0x79, 0x97, 0xcb, 0x9b, 0x87, 0x45,
- 0x4d, 0xd8, 0x25, 0x35, 0xfd, 0xa6, 0xf7, 0x2c, 0x0d, 0xf2, 0x62, 0xb5,
- 0xd0, 0x91, 0x4e, 0x3c, 0xea, 0xc3, 0x18, 0x2b, 0x58, 0xc5, 0x6b, 0x8e,
- 0xc2, 0x38, 0xd0, 0x2a, 0xa3, 0x3e, 0xc0, 0xc5, 0xd1, 0x21, 0xd6, 0x05,
- 0x5a, 0xc5, 0x4f, 0x6b, 0xc1, 0x81, 0x67, 0xb0, 0xca, 0x7e, 0xf2, 0x55,
- 0x5a, 0xe7, 0xe3, 0x9e, 0xd4, 0xbd, 0x90, 0x3a, 0x18, 0xf4, 0x86, 0xad,
- 0x8d, 0x91, 0x6c, 0x32, 0xa5, 0xf2, 0xd6, 0x20, 0xf9, 0x5e, 0x0b, 0x99,
- 0x18, 0x23, 0x92, 0xeb, 0x33, 0xe4, 0x63, 0xd4, 0xac, 0x11, 0xc8, 0x09,
- 0x9f, 0x3d, 0xd9, 0x9f, 0xe2, 0xcb, 0x07, 0x11, 0x3a, 0x3e, 0xe2, 0x68,
- 0x1e, 0xb1, 0xaa, 0x69, 0xfd, 0xc9, 0x06, 0xce, 0xb0, 0x56, 0x22, 0x8a,
- 0x90, 0x18, 0xc9, 0xba, 0x34, 0x1b, 0xf9, 0x02, 0xaf, 0x41, 0x58, 0xad,
- 0x50, 0x90, 0xad, 0x07, 0x64, 0x63, 0x77, 0x6d, 0x6d, 0xf1, 0x6d, 0xb6,
- 0xf8, 0x1b, 0x76, 0xa6, 0x15, 0x51, 0xfd, 0xbe, 0x99, 0x30, 0x9a, 0x1a,
- 0x11, 0xa0, 0xa7, 0x17, 0x47, 0x7f, 0x48, 0x0e, 0xba, 0x71, 0x76, 0xba,
- 0x99, 0x54, 0x0c, 0x4b, 0xa5, 0x60, 0xbb, 0xc1, 0xd0, 0x77, 0x86, 0xb1,
- 0x32, 0xf1, 0x69, 0x8a, 0xe5, 0x5f, 0x93, 0x24, 0x68, 0xe7, 0x54, 0xae,
- 0x4b, 0x49, 0x82, 0x41, 0x25, 0x45, 0x5b, 0x72, 0x0f, 0x11, 0x88, 0x5b,
- 0x57, 0x68, 0x86, 0x79, 0xfb, 0xf3, 0x94, 0x93, 0x90, 0xee, 0xcc, 0xc1,
- 0x46, 0x99, 0x43, 0x08, 0x50, 0xe4, 0x41, 0x48, 0x1d, 0x49, 0x42, 0xa9,
- 0x03, 0x79, 0xde, 0x08, 0xef, 0xbe, 0xd4, 0x3c, 0xf3, 0x6a, 0xd6, 0xd8,
- 0x16, 0x68, 0xf7, 0x7f, 0xa4, 0x23, 0xf7, 0x51, 0x2f, 0x16, 0xb9, 0x02,
- 0xb9, 0x2f, 0x97, 0x6c, 0x07, 0xb5, 0xb7, 0xac, 0x1e, 0x3b, 0xbe, 0xcd,
- 0xce, 0x14, 0xc4, 0x8a, 0x85, 0xa0, 0x2b, 0x00, 0x10, 0x13, 0x04, 0xd8,
- 0x71, 0xa7, 0xaa, 0xd4, 0xf4, 0x2f, 0x26, 0x30, 0x8b, 0xd2, 0x1d, 0xc1,
- 0x75, 0xb2, 0x85, 0x57, 0x94, 0xb3, 0x1d, 0x4c, 0xab, 0xed, 0xac, 0x2a,
- 0x70, 0x11, 0x63, 0x56, 0xa9, 0x17, 0xc3, 0xd3, 0xc3, 0x6f, 0x87, 0xad,
- 0xac, 0x2e, 0xd3, 0x1a, 0x3e, 0xa4, 0xd5, 0xa1, 0x3a, 0x1b, 0xda, 0x48,
- 0xc3, 0xe3, 0xa6, 0x23, 0x9e, 0x2c, 0x63, 0xa7, 0x87, 0x6f, 0x7e, 0xab,
- 0x08, 0x7d, 0x6d, 0x96, 0x8a, 0xa8, 0x8c, 0x33, 0x8f, 0x70, 0xb8, 0x28,
- 0xd7, 0xbc, 0x9b, 0x8f, 0xf7, 0x4f, 0x59, 0xab, 0x4c, 0x64, 0x42, 0x5a,
- 0x2e, 0x5d, 0x31, 0xca, 0x98, 0x4f, 0x8a, 0xc8, 0x22, 0xb1, 0x8a, 0xd4,
- 0x3f, 0x9c, 0x40, 0xde, 0x99, 0x33, 0x6c, 0xee, 0x35, 0xb7, 0xbb, 0xe9,
- 0x0e, 0x5a, 0x36, 0xce, 0x9c, 0x6b, 0x72, 0x5a, 0xf7, 0xba, 0xab, 0xd2,
- 0x59, 0x48, 0x81, 0x18, 0xd2, 0xad, 0xb4, 0xd7, 0xb4, 0x3a, 0xd0, 0x6c,
- 0x0b, 0xab, 0x67, 0xe9, 0xa2, 0xfb, 0x69, 0x08, 0x90, 0x29, 0x93, 0x64,
- 0x76, 0x2f, 0x49, 0x49, 0xa2, 0x1b, 0x10, 0xfd, 0x0a, 0xbc, 0x12, 0x2f,
- 0x5e, 0x04, 0xba, 0xe0, 0x9d, 0x7d, 0x7a, 0xdf, 0xfc, 0xda, 0xf3, 0x7e,
- 0x4c, 0x09, 0x93, 0x42, 0xde, 0x06, 0xe8, 0xa1, 0xd6, 0x05, 0x12, 0xb1,
- 0x30, 0xbc, 0x82, 0x6c, 0xfc, 0x45, 0x1b, 0xc6, 0x09, 0x76, 0x59, 0xcf,
- 0xc9, 0xfd, 0x35, 0x36, 0xaf, 0xb9, 0xa3, 0x69, 0xcd, 0xd8, 0xa6, 0x25,
- 0x86, 0x99, 0x8a, 0xc9, 0x6e, 0x6f, 0x3d, 0xad, 0xd9, 0x68, 0xee, 0x03,
- 0xba, 0x54, 0xc9, 0x08, 0x18, 0x96, 0xd2, 0x30, 0x4d, 0xb2, 0x74, 0xc6,
- 0xee, 0x8e, 0xce, 0x3e, 0xb2, 0x55, 0xcf, 0x9c, 0x8c, 0xf8, 0xb0, 0xbc,
- 0x3b, 0x1f, 0x7e, 0x4d, 0x77, 0x0e, 0x92, 0x95, 0xd9, 0x74, 0x98, 0x20,
- 0x96, 0xf8, 0xb5, 0x72, 0x6d, 0x97, 0xd8, 0xd5, 0xaa, 0xf7, 0xf0, 0x1c,
- 0xa1, 0xec, 0xd0, 0xa8, 0xcd, 0xc3, 0x1b, 0x3a, 0x26, 0x8a, 0x92, 0x9f,
- 0x86, 0x51, 0x43, 0xed, 0xf7, 0xb4, 0x2b, 0x8f, 0xed, 0xee, 0xb1, 0x9f,
- 0x16, 0xd7, 0xd2, 0x4c, 0xb0, 0xe1, 0x25, 0xe1, 0x6d, 0x77, 0xb0, 0xe3,
- 0xeb, 0x57, 0x36, 0x6f, 0xb5, 0x42, 0x62, 0x5c, 0x83, 0x44, 0x3a, 0xa7,
- 0xa2, 0xd0, 0x48, 0xe0, 0x24, 0xee, 0xbc, 0x26, 0x3f, 0xdb, 0x65, 0x02,
- 0x0b, 0x73, 0x92, 0x84, 0x20, 0x92, 0xf2, 0x98, 0xb3, 0xd9, 0x9c, 0xd3,
- 0xfb, 0x22, 0x95, 0x74, 0x71, 0x8e, 0x9e, 0xba, 0x23, 0xf5, 0xcc, 0x2e,
- 0xb7, 0xf4, 0x91, 0xf3, 0x51, 0xa4, 0xce, 0x1c, 0xa7, 0x84, 0x40, 0xf9,
- 0xcc, 0x32, 0x6e, 0xa9, 0x59, 0x9a, 0x8b, 0x7c, 0xd8, 0x26, 0xf9, 0xa7,
- 0xfd, 0x8c, 0xcb, 0xd6, 0x16, 0x45, 0x15, 0x62, 0x77, 0x41, 0x32, 0x53,
- 0xab, 0x84, 0xf9, 0x8e, 0x48, 0x1a, 0x90, 0x84, 0x64, 0xa8, 0x1a, 0x47,
- 0xe7, 0x9a, 0x1d, 0xdd, 0xb4, 0xb5, 0x94, 0x0e, 0xd9, 0x85, 0xea, 0xac,
- 0x7a, 0x66, 0xda, 0x9d, 0xe6, 0xa6, 0x43, 0x1b, 0x60, 0x4c, 0xd2, 0x82,
- 0x58, 0x22, 0x0b, 0x75, 0x0b, 0x5b, 0xee, 0x92, 0x76, 0xb5, 0xa9, 0x90,
- 0x32, 0xb5, 0x2b, 0x74, 0xf9, 0x1a, 0xe8, 0x25, 0xfd, 0xff, 0x21, 0x33,
- 0x43, 0xea, 0x39, 0xc1, 0xcc, 0x40, 0x6e, 0x35, 0xf7, 0x08, 0x4e, 0x04,
- 0xd9, 0x0a, 0x81, 0x4f, 0x18, 0x52, 0x1d, 0x87, 0xad, 0x79, 0xa0, 0x69,
- 0x7a, 0x90, 0x7f, 0x3a, 0xf6, 0x3c, 0xeb, 0x16, 0x01, 0x13, 0x51, 0xc1,
- 0xcd, 0xad, 0xb9, 0xf2, 0xb9, 0x00, 0x16, 0x06, 0x1d, 0xb6, 0x17, 0xd9,
- 0x57, 0xc4, 0x62, 0x7d, 0x58, 0xa6, 0xfe, 0xb4, 0xaa, 0x2d, 0xb7, 0xa6,
- 0x3d, 0xe5, 0xcd, 0x6f, 0x5d, 0x19, 0x5c, 0x5b, 0xa0, 0x6f, 0x5e, 0xe8,
- 0x7f, 0x10, 0x77, 0xc6, 0x97, 0xfc, 0x85, 0x01, 0xc9, 0x33, 0xf9, 0xc2,
- 0x19, 0x6a, 0x2f, 0xea, 0x03, 0xfb, 0xf2, 0x12, 0x15, 0x24, 0x58, 0x17,
- 0x4f, 0x4e, 0x7b, 0x56, 0xf8, 0x79, 0x2d, 0x58, 0xd0, 0x29, 0x65, 0x8c,
- 0x43, 0xc6, 0x7f, 0xe5, 0x77, 0xc5, 0x78, 0xbc, 0xa7, 0x26, 0x06, 0x9c,
- 0xaf, 0x21, 0xbe, 0x97, 0xbd, 0xdd, 0x6d, 0xee, 0x8c, 0x56, 0x20, 0x86,
- 0x5e, 0x27, 0x5b, 0xd2, 0x61, 0x46, 0x70, 0x10, 0x50, 0x19, 0xcc, 0x0d,
- 0x9c, 0x52, 0x4c, 0x08, 0xeb, 0x33, 0x23, 0x80, 0x84, 0x52, 0x99, 0xd3,
- 0xd5, 0x64, 0xee, 0x5a, 0xe6, 0xa0, 0x2c, 0x65, 0x7d, 0xd6, 0xdc, 0x02,
- 0xf5, 0xac, 0xca, 0x67, 0xb6, 0x52, 0xff, 0xc6, 0xb7, 0x9a, 0x32, 0x8a,
- 0xa8, 0xa4, 0xa8, 0x15, 0x7c, 0x6b, 0xd3, 0x9d, 0xf3, 0x5a, 0x91, 0x15,
- 0x66, 0x47, 0x9f, 0x1f, 0xbc, 0xff, 0xfa, 0x08, 0x9a, 0x00, 0x64, 0x3b,
- 0x1d, 0xd0, 0x9c, 0x76, 0xfb, 0x64, 0x31, 0x86, 0x29, 0x64, 0x66, 0x0c,
- 0x30, 0xb9, 0x7a, 0x20, 0xd9, 0xf0, 0x9c, 0xff, 0x92, 0xca, 0xe6, 0xc5,
- 0x72, 0x0b, 0xf8, 0x6d, 0x2d, 0x51, 0x8f, 0x2a, 0x34, 0x08, 0x40, 0xa5,
- 0x2b, 0x76, 0xbf, 0xd6, 0x8b, 0xd1, 0x1c, 0xd5, 0x76, 0x60, 0x9f, 0x39,
- 0x31, 0xa3, 0x7e, 0x96, 0x41, 0xfb, 0x2c, 0xae, 0x69, 0x6a, 0x94, 0xb5,
- 0xe9, 0x2b, 0xd8, 0xf4, 0x03, 0xdf, 0xab, 0xc6, 0xd4, 0x27, 0xbb, 0x3b,
- 0x3b, 0x8e, 0x95, 0x2e, 0xb5, 0x0d, 0x06, 0xd2, 0xb2, 0x4a, 0x76, 0xfa,
- 0x2f, 0x5f, 0x2e, 0x13, 0x84, 0xb6, 0x51, 0xb0, 0x5d, 0x3c, 0x7b, 0x74,
- 0x9b, 0x7d, 0x7a, 0x74, 0x59, 0x9b, 0x11, 0x8b, 0x06, 0x55, 0x04, 0x05,
- 0x78, 0x58, 0x5b, 0xad, 0x45, 0x3c, 0x3c, 0x1c, 0xad, 0x41, 0x1c, 0xcc,
- 0x56, 0x9f, 0xc3, 0x54, 0xae, 0x25, 0xd6, 0xfe, 0x00, 0x3b, 0x8c, 0x3a,
- 0x83, 0xe6, 0x84, 0x3d, 0xcc, 0x6d, 0xc8, 0xf7, 0x51, 0x13, 0xe3, 0x19,
- 0xf0, 0x4b, 0xa6, 0xe8, 0x32, 0x1c, 0x8d, 0xaa, 0x04, 0x1f, 0xce, 0xc8,
- 0xff, 0x77, 0xfc, 0xfe, 0x6b, 0x76, 0x87, 0x18, 0xdb, 0x1e, 0xbe, 0xf4,
- 0xed, 0x8e, 0xa5, 0xff, 0x41, 0x8a, 0xa4, 0x53, 0x0d, 0x30, 0xc2, 0x7a,
- 0x70, 0x45, 0x82, 0xbc, 0x90, 0xca, 0xe4, 0x76, 0xf5, 0x97, 0xf8, 0x2a,
- 0x2f, 0x92, 0xbe, 0xa7, 0x9c, 0x08, 0xb7, 0x1c, 0x69, 0x26, 0xb3, 0x7b,
- 0xb5, 0x8c, 0xe4, 0x0b, 0x68, 0x5d, 0x23, 0x33, 0xb6, 0x59, 0xb6, 0x73,
- 0xd9, 0x3c, 0xc7, 0x0e, 0x0a, 0x74, 0x93, 0xc8, 0x27, 0xf9, 0x33, 0x38,
- 0xdf, 0x1d, 0x4d, 0xe4, 0x71, 0x5d, 0x69, 0xb9, 0x3a, 0xdb, 0xc4, 0xd6,
- 0xa4, 0x59, 0xf5, 0xd4, 0xf7, 0xd3, 0x75, 0x43, 0x72, 0xc9, 0x40, 0x5f,
- 0xaa, 0xd3, 0x6a, 0x83, 0x30, 0xbf, 0x2c, 0xff, 0xf9, 0x7e, 0xae, 0xe8,
- 0x21, 0x1d, 0x54, 0xba, 0xa9, 0x8a, 0x89, 0xf3, 0x69, 0x48, 0x8f, 0xa3,
- 0x81, 0x90, 0x0b, 0x7e, 0x9f, 0x3f, 0x9d, 0xc6, 0x3f, 0xc7, 0xef, 0xeb,
- 0xd4, 0x44, 0x0e, 0x00, 0xa9, 0xb4, 0xc2, 0x3d, 0x68, 0x59, 0x02, 0xd4,
- 0x96, 0x21, 0x2d, 0x1c, 0x92, 0x23, 0x6f, 0xab, 0x25, 0x6b, 0x89, 0xd0,
- 0x91, 0x80, 0x99, 0x90, 0xf6, 0x10, 0x28, 0x70, 0x70, 0x79, 0x7d, 0x02,
- 0x8e, 0xd4, 0x3c, 0xbf, 0x28, 0x8a, 0x8c, 0x8c, 0x54, 0x14, 0x0e, 0xcd,
- 0xd9, 0x5e, 0xe8, 0xd9, 0x53, 0x54, 0x2d, 0xa4, 0x94, 0x37, 0xc0, 0x0c,
- 0xa6, 0xf3, 0x69, 0x7d, 0x0d, 0x94, 0xa1, 0x75, 0x45, 0x85, 0xea, 0x15,
- 0x3e, 0xcf, 0xed, 0x92, 0x3e, 0xc5, 0xca, 0x14, 0x94, 0xeb, 0xd6, 0x54,
- 0xb4, 0x67, 0x60, 0x6d, 0x8d, 0x9c, 0xf0, 0xdb, 0xe4, 0x8a, 0x1f, 0x86,
- 0x13, 0xa8, 0xbe, 0xf4, 0x95, 0xfe, 0x78, 0x17, 0x63, 0x78, 0xc0, 0x33,
- 0xef, 0x79, 0x4f, 0x1e, 0x7b, 0xe2, 0x58, 0x7f, 0x8f, 0xc4, 0x15, 0x71,
- 0xe8, 0x3c, 0x41, 0x16, 0xdd, 0xea, 0x6d, 0x6f, 0x9a, 0x6f, 0x0b, 0xc0,
- 0xe9, 0x03, 0xcb, 0x0c, 0x65, 0x51, 0x3a, 0xcb, 0xc5, 0x59, 0x6a, 0x67,
- 0x1f, 0x2e, 0x84, 0x2d, 0x4c, 0xc5, 0xbb, 0x5f, 0x2e, 0xca, 0xaf, 0x0b,
- 0x0b, 0x69, 0x46, 0xba, 0x05, 0x9b, 0xbf, 0x88, 0x75, 0x73, 0xf2, 0x25,
- 0xbe, 0x89, 0x11, 0x72, 0x07, 0x7b, 0x36, 0xcb, 0xe6, 0xec, 0x74, 0x78,
- 0x41, 0x6e, 0x04, 0x5c, 0x7d, 0x6a, 0x8f, 0x7e, 0x77, 0x74, 0xfe, 0xd5,
- 0xe9, 0xf0, 0xc8, 0xac, 0xc7, 0x9b, 0xa3, 0xaf, 0x3e, 0x90, 0xd4, 0xa2,
- 0xdd, 0xc1, 0xae, 0x67, 0xca, 0xc0, 0x11, 0xff, 0x17, 0x95, 0xee, 0x45,
- 0x22, 0x1e, 0xb6, 0x29, 0xeb, 0x41, 0x5a, 0xb2, 0xd5, 0xaa, 0x78, 0x5c,
- 0x7a, 0x76, 0x9a, 0xb1, 0xaf, 0x32, 0x47, 0xbe, 0x02, 0xb3, 0x34, 0x49,
- 0xaa, 0x13, 0x8a, 0x55, 0xc2, 0xbc, 0x94, 0xa3, 0xc4, 0x4c, 0xe9, 0xf5,
- 0xbe, 0x73, 0x6a, 0xde, 0xb0, 0x67, 0x5a, 0x0e, 0x9f, 0x2b, 0xaf, 0x09,
- 0xca, 0x28, 0x6c, 0xde, 0x43, 0xab, 0x47, 0x0b, 0x69, 0xd2, 0xb4, 0xe4,
- 0x5b, 0x13, 0x15, 0x21, 0xa9, 0x6d, 0xdc, 0xe3, 0x79, 0x83, 0x2b, 0x9c,
- 0x0d, 0x0a, 0xa9, 0x4e, 0x59, 0xf3, 0xe6, 0xe6, 0x52, 0xbc, 0x04, 0x55,
- 0xcb, 0xbc, 0xca, 0xa4, 0x75, 0xc6, 0x95, 0x2a, 0xf8, 0xd6, 0x96, 0x78,
- 0x38, 0x43, 0x83, 0x85, 0xa9, 0x6d, 0x53, 0x8c, 0xe0, 0x5b, 0x8c, 0x53,
- 0x58, 0xe8, 0xb9, 0xbc, 0xa3, 0xa5, 0x2c, 0xa6, 0x99, 0xf7, 0x4b, 0xed,
- 0xf0, 0xd6, 0xb9, 0x59, 0x2e, 0x7a, 0x2e, 0x78, 0xa4, 0x60, 0xdc, 0x80,
- 0x22, 0x20, 0xa9, 0x4f, 0xe8, 0x77, 0xa7, 0x68, 0x8d, 0x53, 0x50, 0xf8,
- 0xec, 0x52, 0xf2, 0x81, 0x67, 0x42, 0x2e, 0xaf, 0x07, 0xa9, 0xda, 0xac,
- 0x04, 0x98, 0x5c, 0xde, 0x11, 0x0b, 0x57, 0x41, 0xed, 0xd1, 0x92, 0x22,
- 0x24, 0xc0, 0x9b, 0x2f, 0x3c, 0xef, 0xdc, 0x3a, 0xfe, 0x8b, 0x33, 0xea,
- 0x05, 0x4e, 0xd6, 0xd6, 0xd6, 0xde, 0x1c, 0x5d, 0x1c, 0x1c, 0x9f, 0x1c,
- 0xbd, 0x49, 0x8e, 0xdf, 0xbf, 0x3d, 0x3d, 0x7f, 0x77, 0x70, 0x21, 0x70,
- 0x8c, 0x37, 0xd6, 0x23, 0xe7, 0x0a, 0xe9, 0x49, 0xb9, 0x28, 0xcf, 0x5b,
- 0x87, 0x2d, 0x6c, 0x56, 0xd1, 0x4c, 0x06, 0x82, 0xfc, 0x3c, 0x0d, 0x59,
- 0x6b, 0x0e, 0xd6, 0x12, 0x81, 0x71, 0xb8, 0xca, 0x83, 0xa4, 0x17, 0x6c,
- 0xdb, 0xd8, 0xfb, 0x40, 0xa7, 0xd3, 0x52, 0x65, 0x11, 0xa3, 0xf4, 0xca,
- 0xa6, 0x6c, 0x21, 0x59, 0xbe, 0x13, 0x5d, 0xd5, 0x67, 0xec, 0xc9, 0xfe,
- 0xf1, 0x36, 0xd7, 0x2f, 0xf7, 0xaa, 0x52, 0x68, 0x49, 0x21, 0xf0, 0xae,
- 0x50, 0x3b, 0x1e, 0x47, 0xd2, 0x65, 0x09, 0x54, 0x89, 0xdf, 0xa6, 0x65,
- 0xfe, 0xc1, 0x8a, 0x1a, 0x2d, 0x80, 0x61, 0x3c, 0xf8, 0x89, 0xbf, 0xbe,
- 0x44, 0xbd, 0xb3, 0x46, 0xe8, 0xb3, 0x46, 0xea, 0xe1, 0x11, 0x8b, 0x55,
- 0x6d, 0x56, 0xca, 0x9e, 0x75, 0x30, 0x6b, 0x59, 0x81, 0xad, 0xd1, 0x39,
- 0xa1, 0x23, 0xf6, 0x9b, 0xda, 0xb4, 0xf1, 0x7a, 0xa3, 0x31, 0xf5, 0x8f,
- 0x85, 0x1b, 0x9b, 0xe6, 0x62, 0x6b, 0x8d, 0xcb, 0x27, 0x14, 0xca, 0x4a,
- 0x68, 0xd1, 0xa6, 0xce, 0xe2, 0xcf, 0xb7, 0xbd, 0xda, 0x9e, 0x38, 0x6d,
- 0xee, 0xdc, 0x2a, 0x97, 0x79, 0xff, 0x8d, 0x79, 0x68, 0xb2, 0x98, 0xcd,
- 0xdb, 0x85, 0xdb, 0xd9, 0x97, 0xa7, 0x4b, 0xc8, 0x4a, 0x1b, 0x94, 0x0f,
- 0x38, 0x7e, 0xde, 0xca, 0x1c, 0xf0, 0x38, 0xb0, 0xbf, 0x1b, 0x0d, 0x05,
- 0x82, 0x41, 0xc4, 0x46, 0xef, 0xba, 0x15, 0x5a, 0xdb, 0x9a, 0x0b, 0x26,
- 0x64, 0x68, 0x9f, 0xed, 0x96, 0x74, 0x4d, 0x1d, 0xd6, 0x08, 0xf3, 0xbf,
- 0xa9, 0x0c, 0x6f, 0xb4, 0x65, 0xa5, 0x41, 0xb9, 0x2a, 0xc2, 0xe0, 0x63,
- 0x6b, 0x50, 0xfe, 0x8b, 0x6d, 0x48, 0x8f, 0x2f, 0xe9, 0xf5, 0xd3, 0x8e,
- 0xd0, 0xac, 0xdb, 0x03, 0x91, 0xe2, 0x46, 0x9e, 0xdc, 0x6b, 0x2d, 0x13,
- 0xa2, 0xcd, 0x04, 0xdc, 0x88, 0x9c, 0xa5, 0x20, 0x3d, 0x10, 0x49, 0x89,
- 0x80, 0x98, 0x6e, 0xdf, 0x05, 0x2a, 0x74, 0x94, 0x9f, 0xc8, 0x96, 0xd7,
- 0xaa, 0xbc, 0x5e, 0xba, 0x1e, 0xa3, 0xc8, 0x84, 0xcc, 0x10, 0x42, 0xaf,
- 0x58, 0xd3, 0xcc, 0x62, 0x7d, 0x49, 0xf1, 0x8e, 0x90, 0xfe, 0x9b, 0x34,
- 0x57, 0xe0, 0x6a, 0x44, 0x71, 0x95, 0x2c, 0xad, 0x61, 0x50, 0x21, 0x69,
- 0x87, 0xef, 0x0c, 0xeb, 0x86, 0x75, 0xbc, 0x7c, 0x5e, 0xad, 0x42, 0x88,
- 0xe8, 0x49, 0xf2, 0x8a, 0x9e, 0x25, 0xde, 0x23, 0x4b, 0xf2, 0x03, 0x90,
- 0xbe, 0x6d, 0x45, 0x03, 0x1c, 0xa6, 0x19, 0x20, 0xad, 0x05, 0x7a, 0x7a,
- 0x46, 0x0f, 0xa4, 0xaa, 0xe1, 0xaf, 0xbb, 0xba, 0x52, 0xeb, 0xf3, 0x6b,
- 0xf3, 0x8d, 0xf5, 0xe4, 0x8a, 0x6c, 0xa4, 0x91, 0xe9, 0x7a, 0x20, 0x40,
- 0x27, 0xfc, 0xf8, 0xeb, 0xf3, 0xf4, 0x32, 0xcd, 0xa6, 0x7f, 0xda, 0xdb,
- 0x19, 0xa6, 0x57, 0x8b, 0x69, 0xfa, 0x6f, 0x78, 0xf1, 0xf5, 0x93, 0x27,
- 0x7b, 0x3b, 0x9f, 0xbd, 0xd8, 0x59, 0xef, 0xa2, 0x0f, 0x1c, 0x83, 0x09,
- 0x10, 0x36, 0x60, 0xdd, 0x21, 0xb9, 0x8b, 0xef, 0x0c, 0xc6, 0x57, 0x39,
- 0x8c, 0x3a, 0x52, 0x94, 0x64, 0x0e, 0x52, 0xb6, 0x26, 0x21, 0x26, 0x39,
- 0x47, 0xd9, 0xec, 0xe0, 0xda, 0xec, 0xeb, 0x3f, 0xee, 0xee, 0xb3, 0x28,
- 0xbb, 0x82, 0xf3, 0x3d, 0xe5, 0x1d, 0x9b, 0xbc, 0xca, 0x0b, 0x73, 0x03,
- 0x7d, 0x91, 0x34, 0xe9, 0x95, 0xdd, 0xab, 0x68, 0x01, 0xab, 0x61, 0x97,
- 0xb3, 0x41, 0x88, 0x7a, 0xaa, 0xb0, 0xe8, 0x63, 0x29, 0xf1, 0xb6, 0x41,
- 0xde, 0x8f, 0x75, 0x76, 0x7f, 0xac, 0xa3, 0x03, 0x3d, 0x5b, 0xd7, 0xbb,
- 0x3f, 0xd1, 0x4e, 0x0d, 0xf0, 0x77, 0x90, 0x7c, 0xa4, 0xcc, 0xcf, 0xb8,
- 0x3e, 0xe7, 0xb4, 0x7a, 0x5b, 0xed, 0x8b, 0xfd, 0x64, 0x79, 0xab, 0x0b,
- 0xa9, 0xc3, 0x62, 0x26, 0xaf, 0xd4, 0xa1, 0xb3, 0xfb, 0xc5, 0x6b, 0xac,
- 0xdd, 0xee, 0x17, 0xff, 0x66, 0x7f, 0xb6, 0x27, 0x3f, 0xdb, 0xfb, 0xe2,
- 0xdf, 0x06, 0x03, 0xf4, 0x8f, 0x16, 0x73, 0x43, 0x7f, 0xbd, 0x21, 0xf4,
- 0x41, 0xa9, 0x9c, 0x36, 0xfe, 0x17, 0x59, 0xd8, 0x5c, 0x22, 0x0c, 0xcb,
- 0xb2, 0xae, 0x5f, 0xf6, 0x27, 0xa4, 0x27, 0xc1, 0x4f, 0x2b, 0x62, 0xf2,
- 0xda, 0x27, 0x02, 0xac, 0x63, 0xf3, 0x63, 0x43, 0x16, 0x68, 0x47, 0x10,
- 0x8f, 0x78, 0xf9, 0xcf, 0xb4, 0xa9, 0xfe, 0xbc, 0x96, 0x48, 0x20, 0x72,
- 0x9e, 0x55, 0x46, 0x0d, 0xa6, 0xd8, 0x84, 0xee, 0x30, 0xa6, 0x99, 0x62,
- 0x96, 0x6a, 0x6a, 0x99, 0x12, 0x3b, 0xe8, 0xba, 0xf2, 0x0a, 0x5e, 0xfd,
- 0x45, 0xc8, 0x4b, 0x78, 0x6d, 0xd6, 0x12, 0xfb, 0x0c, 0x27, 0xc0, 0x18,
- 0x75, 0xa0, 0xa1, 0x83, 0x8c, 0x67, 0xff, 0xf4, 0xc3, 0x0f, 0xa2, 0xfb,
- 0x98, 0xbf, 0x48, 0xcf, 0xaf, 0x8d, 0xd8, 0x98, 0x18, 0x49, 0x34, 0x43,
- 0x05, 0x1d, 0xa9, 0x51, 0x26, 0xb7, 0xf3, 0xa5, 0x8c, 0x94, 0x1b, 0x31,
- 0x4b, 0x7b, 0x30, 0x3c, 0x3c, 0x3e, 0x06, 0xb8, 0x13, 0x93, 0x7a, 0xc4,
- 0x12, 0x07, 0xdb, 0x68, 0x13, 0x68, 0x0c, 0x87, 0x20, 0xf4, 0x77, 0x29,
- 0xad, 0x1d, 0x96, 0x1d, 0x1b, 0xd5, 0x34, 0xa6, 0xb6, 0xb2, 0x2c, 0x25,
- 0xb6, 0x17, 0x2b, 0x24, 0xaf, 0xd7, 0xf9, 0xc1, 0xab, 0x7c, 0x5d, 0xe2,
- 0x4d, 0xfc, 0x93, 0x75, 0x47, 0x49, 0xc6, 0xeb, 0x81, 0x45, 0x7b, 0xcd,
- 0x5a, 0x4e, 0xfe, 0x8f, 0xec, 0xf5, 0xee, 0x4e, 0xfc, 0x09, 0x04, 0x58,
- 0x89, 0x84, 0xf1, 0xb5, 0x8b, 0xdd, 0xad, 0x7a, 0x3e, 0x9f, 0xf0, 0xd3,
- 0x52, 0xe3, 0x1b, 0xe5, 0xd6, 0x5e, 0xaf, 0x8f, 0xe8, 0x32, 0xa4, 0xff,
- 0xbf, 0xa4, 0x1f, 0x08, 0x2e, 0xc9, 0xb3, 0xf5, 0x62, 0x34, 0xcb, 0x5b,
- 0x1d, 0xde, 0xa6, 0x01, 0x7e, 0x41, 0x03, 0xfe, 0x3e, 0xb3, 0xbb, 0x23,
- 0x23, 0x2d, 0x8c, 0xd5, 0xb4, 0x8d, 0xcb, 0xb2, 0x1c, 0xa5, 0xd5, 0x86,
- 0x44, 0x5e, 0xb4, 0x9f, 0x1b, 0xbb, 0x7b, 0x4f, 0x9e, 0x3e, 0xdb, 0x18,
- 0x88, 0x4a, 0x85, 0xd3, 0xdc, 0xf8, 0x54, 0x24, 0xdc, 0x84, 0x65, 0xd0,
- 0x60, 0x10, 0x35, 0x52, 0xf7, 0x63, 0x71, 0x50, 0x12, 0x38, 0xf4, 0xb9,
- 0xd7, 0xfc, 0xb5, 0x7f, 0xa3, 0xef, 0xbc, 0xc6, 0x27, 0xfe, 0x2d, 0x9f,
- 0xbc, 0xb6, 0x23, 0xfc, 0x37, 0x1a, 0xcb, 0x6b, 0x19, 0x84, 0x59, 0x57,
- 0x4d, 0x2f, 0xac, 0xb7, 0xd6, 0xa2, 0x22, 0x28, 0xba, 0xb8, 0xba, 0x88,
- 0x6b, 0x18, 0x34, 0xc0, 0x06, 0xfd, 0x09, 0x07, 0x2a, 0xa0, 0x58, 0xba,
- 0xdc, 0xba, 0xed, 0xbb, 0xbe, 0x69, 0xa5, 0x4f, 0xad, 0xf4, 0x9d, 0x6c,
- 0x05, 0x77, 0x66, 0x9f, 0x16, 0xa2, 0x27, 0xc9, 0x95, 0x53, 0x38, 0x44,
- 0xe4, 0xd6, 0x2e, 0x4b, 0xc4, 0xeb, 0x0f, 0xbf, 0x3e, 0xde, 0x10, 0x8c,
- 0x0c, 0x5b, 0x74, 0xbd, 0x98, 0x2b, 0xd9, 0xa2, 0x01, 0xc7, 0xe9, 0x9c,
- 0x4e, 0xff, 0x9a, 0xd2, 0x03, 0xa7, 0x04, 0xf9, 0xa0, 0xef, 0x72, 0x26,
- 0xb4, 0xf9, 0x98, 0x5c, 0x10, 0x53, 0x72, 0x4e, 0x57, 0xcc, 0xea, 0xe9,
- 0x35, 0x63, 0xe6, 0xa5, 0x16, 0xec, 0x07, 0xc2, 0x33, 0x73, 0x9b, 0x48,
- 0xd9, 0x7f, 0x6b, 0xe3, 0x93, 0x36, 0x71, 0x4f, 0x1e, 0x35, 0xbf, 0x62,
- 0x79, 0xa2, 0x22, 0x62, 0x7d, 0xa0, 0x15, 0xd4, 0x79, 0x27, 0xf8, 0xd2,
- 0x03, 0xc9, 0xfc, 0xa3, 0x4c, 0xd2, 0x2f, 0xd9, 0xc3, 0xc1, 0x3a, 0x1c,
- 0xc9, 0xcf, 0x57, 0xb6, 0x74, 0xe1, 0x17, 0x09, 0x58, 0xbe, 0xf9, 0x2d,
- 0x09, 0x11, 0x8a, 0xaf, 0x88, 0xdd, 0xab, 0x78, 0x69, 0xcd, 0x95, 0x4b,
- 0xe4, 0x19, 0x71, 0xc0, 0x19, 0xb9, 0xc3, 0x7d, 0xfa, 0xd2, 0xd1, 0xbd,
- 0xf8, 0x05, 0xa8, 0x85, 0x8d, 0xcf, 0x71, 0x08, 0x5e, 0xd1, 0x32, 0xe0,
- 0xd7, 0x5f, 0x6c, 0xac, 0xd9, 0xca, 0x5d, 0x56, 0xc9, 0xee, 0xc4, 0x7a,
- 0x79, 0x83, 0xfa, 0xe3, 0xf1, 0xf8, 0x12, 0x58, 0x71, 0x22, 0x7e, 0x16,
- 0x94, 0xe7, 0x30, 0x8a, 0xcf, 0x74, 0x22, 0x75, 0x8f, 0xad, 0x2f, 0x99,
- 0x1b, 0xcf, 0x88, 0xe2, 0x86, 0x14, 0xbd, 0x0d, 0x02, 0x96, 0xe2, 0xbd,
- 0x0d, 0x4b, 0x55, 0x0b, 0xf7, 0x26, 0x04, 0x5e, 0x95, 0x69, 0x39, 0xde,
- 0x35, 0x49, 0xb6, 0x77, 0x8a, 0xb7, 0x3f, 0xb0, 0xda, 0xbb, 0xe7, 0x5d,
- 0xfa, 0x22, 0x53, 0x16, 0x05, 0x47, 0xe4, 0x2d, 0xe5, 0x05, 0xcb, 0x47,
- 0x5f, 0xd3, 0x74, 0xef, 0x0e, 0xae, 0xf2, 0x4b, 0x9e, 0x0c, 0x23, 0x22,
- 0xaf, 0xb2, 0x6d, 0xf3, 0xcf, 0x9e, 0xf9, 0xf9, 0x1e, 0x29, 0x50, 0xf4,
- 0x97, 0x27, 0x80, 0x4e, 0xf9, 0xd7, 0xb4, 0x77, 0x36, 0xec, 0xb9, 0xa0,
- 0xbf, 0xe4, 0xf6, 0x7a, 0x96, 0x00, 0x8c, 0xf4, 0xb2, 0xaf, 0xec, 0xb1,
- 0x48, 0x9a, 0x53, 0xad, 0xd0, 0xc7, 0x7f, 0x90, 0x4d, 0x44, 0xd6, 0xe3,
- 0x82, 0xb2, 0x55, 0x2c, 0xce, 0x43, 0x30, 0x0f, 0xa2, 0x53, 0x93, 0x8a,
- 0x9c, 0x8b, 0x27, 0x85, 0xb2, 0x7b, 0x70, 0xb3, 0x66, 0xb7, 0x5b, 0x3d,
- 0x1f, 0x14, 0x6b, 0xc4, 0xfb, 0x0d, 0xe5, 0xca, 0x13, 0x9f, 0x88, 0xcb,
- 0xb4, 0xa4, 0xcf, 0x6f, 0x4a, 0x95, 0x4b, 0x2f, 0x87, 0x18, 0xcb, 0x9c,
- 0x77, 0x57, 0xb0, 0x5d, 0x28, 0x92, 0x31, 0x77, 0x79, 0xdd, 0x6c, 0xd1,
- 0x67, 0xb2, 0x29, 0x93, 0xa7, 0x49, 0x89, 0x58, 0xfd, 0xaa, 0xb2, 0xa6,
- 0xe1, 0x43, 0x1b, 0xfe, 0xd9, 0x2f, 0xc7, 0x4d, 0x66, 0xcc, 0x52, 0x24,
- 0x1b, 0xb0, 0x9c, 0x3b, 0x9a, 0x31, 0x41, 0x34, 0xb6, 0xf0, 0xb4, 0xcf,
- 0xb7, 0xa7, 0x68, 0x2f, 0xfd, 0xb7, 0x83, 0xe4, 0x04, 0xe0, 0xee, 0x3a,
- 0x65, 0x72, 0x1e, 0xbd, 0x61, 0x75, 0x37, 0x98, 0xad, 0xc3, 0xea, 0xf2,
- 0x1a, 0x97, 0xef, 0x24, 0xa2, 0x0b, 0xdd, 0x52, 0xa0, 0x01, 0x75, 0xf6,
- 0x21, 0xeb, 0x17, 0xa2, 0x8f, 0xf4, 0xe0, 0xb6, 0xb6, 0xcf, 0xc1, 0x3d,
- 0xcf, 0x2e, 0x3a, 0xa4, 0x75, 0xd9, 0x0d, 0xeb, 0x35, 0xc2, 0xf8, 0x2a,
- 0xd1, 0x15, 0x3d, 0xb1, 0x6e, 0x0f, 0x01, 0xa3, 0x1f, 0x33, 0xf6, 0x8f,
- 0x10, 0xe3, 0x02, 0x71, 0x04, 0x21, 0x7c, 0x6b, 0x5a, 0xc3, 0x2e, 0xa3,
- 0x0a, 0x9e, 0xb4, 0x8d, 0xd6, 0x61, 0xe2, 0x4d, 0x33, 0x6b, 0x07, 0xf3,
- 0x5a, 0x95, 0x16, 0x19, 0x0e, 0xb7, 0x89, 0x90, 0x1f, 0xdb, 0xc8, 0x1a,
- 0x75, 0x92, 0xfa, 0x95, 0xde, 0x98, 0xbf, 0x90, 0xe7, 0x70, 0x54, 0x99,
- 0x55, 0xcf, 0x2a, 0xbe, 0x1a, 0x18, 0xce, 0xe3, 0x95, 0x33, 0xfd, 0xe6,
- 0xe2, 0xdd, 0x49, 0xa2, 0x24, 0x47, 0x97, 0x4e, 0xab, 0x53, 0x10, 0x25,
- 0x86, 0x28, 0x4e, 0x0c, 0xd6, 0x87, 0xe4, 0x29, 0xbe, 0xe5, 0x78, 0x6e,
- 0x29, 0xff, 0x3d, 0xa1, 0xc9, 0x69, 0x1d, 0x59, 0xef, 0x09, 0x7e, 0x75,
- 0x8d, 0xa9, 0xd7, 0x36, 0x68, 0x0a, 0x36, 0x7a, 0xc9, 0x06, 0x75, 0x95,
- 0x7e, 0xb1, 0x81, 0xf9, 0xc4, 0x8f, 0xbd, 0xe9, 0xdb, 0x18, 0x44, 0x4e,
- 0x21, 0x3d, 0xf3, 0xfa, 0xcb, 0xd6, 0x2c, 0xe1, 0xe7, 0xda, 0xd4, 0x6b,
- 0x4e, 0xed, 0x08, 0xd4, 0x63, 0x7d, 0xd7, 0x6b, 0xff, 0xf5, 0x61, 0x49,
- 0xbc, 0xaf, 0x54, 0x2e, 0xd5, 0x21, 0x52, 0xc7, 0xf6, 0x67, 0x39, 0x72,
- 0x61, 0x83, 0x86, 0x1e, 0x3e, 0xc5, 0x17, 0x2a, 0x8a, 0x2c, 0x5a, 0x93,
- 0xa5, 0x1b, 0x6f, 0x01, 0x95, 0xbc, 0x66, 0x35, 0x73, 0x36, 0xd1, 0x6e,
- 0x4b, 0x38, 0x04, 0x20, 0x73, 0x76, 0x07, 0xc8, 0x8d, 0x74, 0x3c, 0xf5,
- 0xb6, 0x01, 0x6b, 0x67, 0xaf, 0x63, 0x42, 0xd7, 0x2d, 0x80, 0x56, 0xad,
- 0x6f, 0x9d, 0xe5, 0x98, 0xec, 0x9a, 0xe7, 0x63, 0xca, 0xae, 0x31, 0xa2,
- 0x6b, 0x52, 0x5e, 0x91, 0xe4, 0xea, 0x99, 0x83, 0x46, 0x7f, 0x02, 0x3b,
- 0xbc, 0x27, 0x1f, 0xe5, 0x0e, 0xe3, 0xac, 0x70, 0xa8, 0x45, 0xff, 0xbd,
- 0x04, 0x4d, 0xfa, 0x96, 0xbc, 0x96, 0x63, 0x69, 0xdb, 0x36, 0xcd, 0xeb,
- 0x61, 0xda, 0xb7, 0xbf, 0xf0, 0xbf, 0xa5, 0x93, 0x93, 0x4a, 0xcb, 0x5c,
- 0xb6, 0x56, 0xaa, 0xfa, 0x4e, 0xef, 0x6d, 0xc9, 0x2e, 0xf8, 0xa2, 0x88,
- 0x6f, 0x9e, 0xef, 0xad, 0xa9, 0x24, 0xec, 0x6d, 0x7c, 0xb9, 0xc1, 0x70,
- 0xfe, 0x8d, 0x57, 0x1b, 0x90, 0x60, 0x24, 0x97, 0x66, 0xa3, 0x0c, 0x69,
- 0x65, 0x72, 0x39, 0x6d, 0xf0, 0xad, 0xd8, 0x67, 0xdd, 0x41, 0x58, 0x29,
- 0xdd, 0x01, 0xc1, 0xb5, 0xec, 0x2c, 0x3e, 0x1f, 0xe7, 0x08, 0x8b, 0xde,
- 0x15, 0xd3, 0x25, 0x62, 0xe8, 0x51, 0xc3, 0x98, 0x16, 0xb9, 0x74, 0xa1,
- 0x96, 0x81, 0x03, 0x85, 0x68, 0x81, 0xc4, 0x23, 0xb9, 0x28, 0xe6, 0x94,
- 0xf5, 0x3e, 0x6e, 0xe0, 0x18, 0xe1, 0xb3, 0x34, 0x48, 0x3e, 0x14, 0x13,
- 0x2e, 0x75, 0x4f, 0x76, 0x6d, 0x5e, 0x8d, 0x17, 0x33, 0xf2, 0x2a, 0x8c,
- 0xc9, 0x97, 0x85, 0x8b, 0x87, 0xd5, 0x83, 0x56, 0x24, 0xdd, 0xef, 0x30,
- 0xfb, 0x31, 0xd8, 0xb7, 0x2d, 0xdf, 0x05, 0x6a, 0x84, 0xb0, 0x52, 0xe2,
- 0xbb, 0x86, 0x56, 0x60, 0xb9, 0x50, 0x44, 0x00, 0x51, 0x10, 0xef, 0xe8,
- 0xed, 0xd1, 0xf9, 0xf9, 0xd1, 0x39, 0xcd, 0xf7, 0x41, 0xa7, 0x36, 0x9a,
- 0x92, 0x52, 0xbb, 0xa8, 0xa0, 0x22, 0x74, 0x7d, 0xa7, 0x8a, 0x26, 0x10,
- 0x91, 0x28, 0x14, 0x5e, 0x54, 0x58, 0x10, 0xcc, 0xfe, 0xc3, 0xc5, 0x27,
- 0x7c, 0x4f, 0x20, 0x10, 0xda, 0xd6, 0xc3, 0x0f, 0xc4, 0x12, 0x7c, 0x85,
- 0x2d, 0xdd, 0xc2, 0xb5, 0x50, 0x49, 0x39, 0x82, 0x85, 0xe6, 0xda, 0x5f,
- 0x67, 0x2d, 0x35, 0x75, 0x20, 0xa0, 0xda, 0x4c, 0xe2, 0xde, 0x53, 0xeb,
- 0x4a, 0xc0, 0x90, 0x2f, 0xe9, 0x8c, 0x92, 0xed, 0x84, 0xc9, 0xa8, 0x9b,
- 0xc5, 0x3c, 0x9f, 0x58, 0xc7, 0xac, 0xf9, 0xb9, 0x51, 0xff, 0x12, 0x3e,
- 0xe5, 0xb5, 0xc2, 0x52, 0x10, 0x80, 0x54, 0xbf, 0x81, 0xef, 0x18, 0xeb,
- 0x54, 0x0e, 0x4f, 0x90, 0xa3, 0xc6, 0xf8, 0x2e, 0xa5, 0x99, 0x6f, 0x67,
- 0x8d, 0xcb, 0xde, 0xcf, 0xe0, 0x10, 0x24, 0x69, 0xa1, 0x48, 0x19, 0x5f,
- 0x32, 0x90, 0xdb, 0x69, 0xe6, 0xa0, 0xe9, 0xae, 0xd2, 0xf0, 0x39, 0x92,
- 0x45, 0xab, 0xfd, 0xe4, 0xc7, 0x3a, 0x1f, 0xff, 0xec, 0x2e, 0x0f, 0x64,
- 0xea, 0xb4, 0xe9, 0xa9, 0x30, 0x75, 0x32, 0x51, 0x62, 0x0c, 0x73, 0x92,
- 0xf6, 0x87, 0xe1, 0xd1, 0x79, 0x72, 0xf0, 0x35, 0xf1, 0xab, 0xff, 0x93,
- 0x0b, 0x4c, 0xcf, 0xc9, 0xed, 0xb0, 0x26, 0xdc, 0x09, 0xc2, 0x58, 0x92,
- 0x4d, 0xfc, 0xba, 0xc0, 0x83, 0xd6, 0xca, 0xe6, 0x5a, 0x4d, 0xc2, 0xa3,
- 0x97, 0x68, 0xad, 0x21, 0x79, 0xf6, 0x1e, 0x58, 0xc5, 0xc7, 0xac, 0x21,
- 0x1d, 0x32, 0x7f, 0x15, 0x99, 0xeb, 0x88, 0xa3, 0x07, 0xba, 0x36, 0xd2,
- 0xfb, 0x3a, 0x30, 0x3b, 0x79, 0x95, 0x0e, 0x92, 0x8d, 0x77, 0xe5, 0x3f,
- 0x8c, 0x32, 0x90, 0x6e, 0x3f, 0x19, 0xec, 0x24, 0x9b, 0xdf, 0xe7, 0xc5,
- 0xcb, 0x67, 0x9f, 0x27, 0xc7, 0x5b, 0x1b, 0x2d, 0xdc, 0x3d, 0x17, 0x78,
- 0x19, 0xa5, 0xc5, 0x27, 0xbb, 0x64, 0xa7, 0x38, 0xd9, 0x8c, 0x7f, 0x13,
- 0xe7, 0x43, 0xcd, 0xc5, 0x15, 0x96, 0xb6, 0x88, 0x94, 0x4e, 0x81, 0xf0,
- 0x27, 0xdf, 0x49, 0x66, 0xf2, 0x13, 0x58, 0xf9, 0xe6, 0xa9, 0x09, 0x4d,
- 0xdd, 0xcb, 0x67, 0x41, 0x13, 0x4f, 0x6d, 0x1b, 0x1f, 0xb8, 0x8d, 0x5f,
- 0xd8, 0xc4, 0xde, 0x60, 0x67, 0x2f, 0xd9, 0x3c, 0x1d, 0x6e, 0xef, 0xd9,
- 0x16, 0xc2, 0x26, 0xf6, 0xd0, 0x04, 0x3d, 0xd4, 0x7e, 0xf9, 0x29, 0x7d,
- 0xff, 0xc7, 0xac, 0xf8, 0x39, 0xd9, 0xfc, 0x61, 0x77, 0xd7, 0x34, 0xf0,
- 0x79, 0x72, 0x70, 0xfc, 0x43, 0xf2, 0x74, 0x60, 0x1a, 0x7b, 0x9f, 0xde,
- 0x48, 0x73, 0x42, 0x11, 0x3d, 0x44, 0x23, 0xe6, 0xf7, 0x41, 0x1b, 0xcf,
- 0x3a, 0x6d, 0x9c, 0x18, 0xbb, 0xf0, 0xce, 0x5c, 0x2b, 0x3b, 0x83, 0x27,
- 0x7b, 0x49, 0xfe, 0xec, 0xc5, 0x73, 0x6d, 0x48, 0xda, 0xc0, 0xef, 0xdb,
- 0x8e, 0x45, 0x26, 0x42, 0x31, 0xaa, 0xce, 0xd1, 0x9d, 0x11, 0x68, 0x10,
- 0x11, 0x15, 0x39, 0xf5, 0xae, 0xd3, 0x6a, 0x22, 0xdb, 0x8d, 0x4a, 0xbf,
- 0x98, 0x95, 0x12, 0x82, 0xfe, 0x0c, 0x1e, 0x46, 0x73, 0x71, 0xee, 0x07,
- 0xdd, 0x21, 0xdb, 0x54, 0x1f, 0xfd, 0x3c, 0x79, 0x37, 0x3c, 0x3e, 0x32,
- 0x23, 0xda, 0x31, 0x5d, 0x73, 0x73, 0xc8, 0x1d, 0xc2, 0xaf, 0x30, 0xb9,
- 0x2f, 0x41, 0x3e, 0x2b, 0x6d, 0xa8, 0xce, 0xcd, 0x98, 0x53, 0xb3, 0xe9,
- 0xcc, 0xc5, 0x5d, 0xe3, 0xbb, 0x84, 0x1e, 0xe9, 0x1f, 0x5c, 0x91, 0x09,
- 0xc1, 0x57, 0x2d, 0x3e, 0xfd, 0x6d, 0x59, 0x98, 0x63, 0x52, 0x95, 0x15,
- 0x81, 0x9c, 0x36, 0x5a, 0xda, 0xc2, 0xb7, 0x6f, 0x8e, 0x38, 0x59, 0xfe,
- 0x5d, 0x5a, 0x18, 0x19, 0x49, 0x84, 0x57, 0xf5, 0x27, 0x0a, 0xd5, 0x73,
- 0xe4, 0x85, 0xdf, 0x3f, 0xb9, 0x2f, 0xee, 0xcc, 0x3a, 0x7e, 0x36, 0xd8,
- 0x25, 0x74, 0x35, 0x59, 0xbd, 0x6f, 0xdf, 0x99, 0x7f, 0xef, 0x3e, 0xdd,
- 0x48, 0xe8, 0x57, 0x6d, 0x0b, 0x5e, 0xcf, 0xeb, 0xda, 0xe1, 0xe9, 0xe9,
- 0xb7, 0xc7, 0x8c, 0xd5, 0x38, 0x14, 0x0f, 0x28, 0x29, 0x57, 0xd6, 0x2a,
- 0x66, 0xe9, 0x6a, 0xac, 0x37, 0x97, 0x58, 0x84, 0xb8, 0xd9, 0xa7, 0x2c,
- 0x9b, 0x23, 0xbd, 0xb7, 0x23, 0x11, 0x1a, 0x91, 0xd1, 0x16, 0x86, 0x44,
- 0xea, 0x4f, 0x87, 0x9a, 0xb3, 0xa9, 0xad, 0xb7, 0x75, 0x74, 0x6f, 0x09,
- 0x39, 0x52, 0x57, 0x07, 0x18, 0x5d, 0xb4, 0x89, 0x05, 0xea, 0x2d, 0xc6,
- 0x0a, 0x53, 0x8d, 0x21, 0xb1, 0x7d, 0x37, 0x86, 0x46, 0xbb, 0xe7, 0x4e,
- 0xef, 0x8b, 0x83, 0x75, 0xc3, 0x63, 0xec, 0x87, 0x46, 0x8b, 0xcc, 0x1a,
- 0x46, 0x93, 0x91, 0x81, 0x20, 0x18, 0x77, 0x91, 0xcd, 0x28, 0xd3, 0x9e,
- 0x01, 0x49, 0xf7, 0xfe, 0xe0, 0xdd, 0xd1, 0xeb, 0xef, 0x0e, 0x4e, 0x3e,
- 0x1c, 0x99, 0x57, 0x72, 0xf3, 0xb1, 0x4d, 0x87, 0xb6, 0x43, 0x1f, 0x67,
- 0xf9, 0xb8, 0x9c, 0x52, 0x40, 0x68, 0xe3, 0xf3, 0x8d, 0x35, 0x46, 0x82,
- 0x27, 0xeb, 0xf4, 0xd6, 0x2e, 0xbf, 0x66, 0xf6, 0x05, 0xfd, 0x6b, 0x8f,
- 0xff, 0xb5, 0xf7, 0xf9, 0xfa, 0x56, 0x6b, 0xd0, 0x81, 0x95, 0x7c, 0x89,
- 0x52, 0xa0, 0xa8, 0xe0, 0x88, 0xa2, 0xd7, 0x48, 0xb3, 0xe0, 0x59, 0x59,
- 0xd7, 0x70, 0x8a, 0xde, 0x6d, 0xf4, 0xec, 0xe6, 0xe8, 0xde, 0xb7, 0xc1,
- 0xd7, 0xe9, 0xa5, 0xd7, 0x50, 0x30, 0xd6, 0xb7, 0x7a, 0x56, 0xe5, 0x40,
- 0x54, 0x9b, 0xda, 0xd0, 0x26, 0x98, 0x24, 0x32, 0xd9, 0x5c, 0xe7, 0xbf,
- 0xbc, 0x7e, 0x73, 0x70, 0x71, 0x44, 0x2f, 0xe8, 0xe7, 0x05, 0x38, 0x68,
- 0x33, 0x1e, 0xa8, 0x3f, 0x9b, 0x12, 0x45, 0x7e, 0x4d, 0x03, 0x5a, 0xdf,
- 0xe2, 0xb0, 0x03, 0xe2, 0xdf, 0x9d, 0x7e, 0x95, 0x85, 0x62, 0xac, 0x5d,
- 0x02, 0x7a, 0xad, 0xe0, 0x92, 0xcd, 0x75, 0xfe, 0xdd, 0xfa, 0x96, 0x7a,
- 0x70, 0xa5, 0xf6, 0x8c, 0x44, 0x16, 0x27, 0xc8, 0x87, 0x08, 0x92, 0x60,
- 0x19, 0x3d, 0xe6, 0xd6, 0x47, 0xe2, 0x0a, 0xec, 0x71, 0xf2, 0x6a, 0x18,
- 0xd8, 0x85, 0x97, 0x0c, 0x77, 0xf2, 0x31, 0x95, 0xe5, 0xee, 0xde, 0x93,
- 0xcf, 0x31, 0x9f, 0xaf, 0xd7, 0xb7, 0xcd, 0xdd, 0xb0, 0xfe, 0x39, 0x7d,
- 0x3a, 0x6f, 0xbc, 0x4a, 0x7c, 0xf2, 0x19, 0xb2, 0xa7, 0x64, 0x47, 0x31,
- 0xb2, 0x85, 0x56, 0xdd, 0xe3, 0xed, 0xc1, 0x84, 0xde, 0x72, 0x42, 0x97,
- 0x32, 0xdd, 0x68, 0x9c, 0x1f, 0xeb, 0x85, 0x12, 0x62, 0x28, 0x8e, 0xc2,
- 0x4e, 0x5d, 0x7c, 0xce, 0xbf, 0x3f, 0x7a, 0xfc, 0x2e, 0x8f, 0x51, 0x98,
- 0x81, 0xe8, 0x9b, 0xb3, 0x7b, 0xcd, 0xf9, 0xc2, 0xb7, 0xa0, 0x93, 0xf3,
- 0x9a, 0x05, 0x9a, 0xf1, 0x48, 0x7c, 0x3b, 0x6a, 0x8c, 0x40, 0x27, 0x30,
- 0xa2, 0xe5, 0x1e, 0x8a, 0x12, 0x80, 0x01, 0x3e, 0x1e, 0x42, 0xef, 0xec,
- 0x74, 0x94, 0x1b, 0x4d, 0xd8, 0x66, 0xb1, 0x78, 0x56, 0xb9, 0x9d, 0x7a,
- 0x3d, 0x7e, 0xb9, 0xc7, 0xb9, 0x44, 0x17, 0x25, 0xcf, 0x65, 0x6d, 0x7d,
- 0x48, 0x08, 0x0c, 0xca, 0xb3, 0xed, 0x75, 0xea, 0xa4, 0x8e, 0x61, 0x18,
- 0x6c, 0xd2, 0xb3, 0x7d, 0x6c, 0x44, 0x4d, 0x91, 0x55, 0x2b, 0xb1, 0x10,
- 0x91, 0xb8, 0x11, 0x86, 0xe8, 0x17, 0x04, 0x30, 0xef, 0x0c, 0x06, 0x03,
- 0x6b, 0xee, 0x20, 0xe6, 0x25, 0xe1, 0x22, 0x62, 0xb3, 0xf3, 0x69, 0x82,
- 0x31, 0xc7, 0x9b, 0x50, 0xe6, 0xa1, 0x50, 0x6f, 0x09, 0x46, 0x46, 0xfc,
- 0x04, 0xf6, 0x68, 0x78, 0x3e, 0x8e, 0x0d, 0xf9, 0xec, 0x86, 0xd2, 0x31,
- 0x7c, 0x8a, 0x2d, 0xc2, 0x8a, 0xbe, 0xb1, 0xef, 0x51, 0x4a, 0x12, 0x59,
- 0x39, 0x55, 0xda, 0xb9, 0xa0, 0x1d, 0x4c, 0x58, 0x6f, 0x2e, 0x9d, 0x77,
- 0x6f, 0x4b, 0x11, 0x69, 0x57, 0x7a, 0x0c, 0x13, 0x20, 0x21, 0x57, 0xde,
- 0x82, 0x7a, 0x00, 0x04, 0x07, 0x04, 0x13, 0x29, 0xd8, 0x3d, 0xa0, 0x37,
- 0xc8, 0xdc, 0xaa, 0xcd, 0xd2, 0x8e, 0xb0, 0x46, 0x93, 0xcd, 0x0c, 0xdd,
- 0xbf, 0xe7, 0x98, 0xa5, 0xd7, 0x50, 0x25, 0x29, 0x13, 0xeb, 0xd9, 0x74,
- 0x15, 0x11, 0x2a, 0x19, 0xbc, 0x73, 0x57, 0x11, 0x30, 0xac, 0xcf, 0x54,
- 0x2d, 0x9a, 0x33, 0xa8, 0xd2, 0x43, 0xc8, 0x3a, 0x56, 0x85, 0xb6, 0xc7,
- 0xda, 0xa2, 0x8d, 0x6b, 0x77, 0xe6, 0xc6, 0xdd, 0xca, 0x6d, 0xd1, 0x65,
- 0x66, 0x94, 0xbd, 0xcb, 0x4c, 0x8a, 0xe1, 0xe4, 0x5e, 0x92, 0xde, 0x9a,
- 0xab, 0xa7, 0xc8, 0x08, 0x4a, 0x09, 0x50, 0x02, 0xbc, 0x32, 0x27, 0x9e,
- 0x9f, 0xd1, 0x71, 0x67, 0x4b, 0xc5, 0xaa, 0xd4, 0x95, 0xac, 0x4a, 0x36,
- 0xd9, 0xd0, 0x60, 0xb6, 0x64, 0x75, 0xe8, 0x91, 0x02, 0x5e, 0xce, 0x88,
- 0xb4, 0x54, 0x34, 0x75, 0x35, 0xcf, 0xa9, 0xe7, 0x46, 0x44, 0x0f, 0x65,
- 0xdf, 0xe4, 0x80, 0x10, 0x92, 0x9f, 0x83, 0x21, 0x10, 0x3a, 0x5b, 0x69,
- 0x31, 0xf1, 0x3e, 0x62, 0x43, 0xc9, 0xe2, 0x7e, 0x22, 0x24, 0x6e, 0xd1,
- 0x07, 0xbd, 0x84, 0x46, 0x6f, 0xc5, 0xbc, 0xba, 0xba, 0x62, 0xab, 0x2d,
- 0xe9, 0x0e, 0x2d, 0xbe, 0xc9, 0x4e, 0x68, 0x56, 0x08, 0xb0, 0x7c, 0xbf,
- 0x6c, 0x36, 0x2f, 0x6c, 0x5d, 0x43, 0xf1, 0xba, 0xb4, 0x36, 0xb3, 0x86,
- 0x0f, 0x79, 0xdd, 0x1a, 0x9b, 0x1f, 0x85, 0x5c, 0x8a, 0x76, 0xb8, 0xf7,
- 0xf4, 0x7c, 0x0d, 0xe5, 0x68, 0x0a, 0xc7, 0x9d, 0xa0, 0x8b, 0x0e, 0xde,
- 0x3d, 0x07, 0x16, 0x71, 0xa0, 0xd1, 0x5b, 0x8b, 0x8a, 0xc2, 0x76, 0x4d,
- 0x46, 0xa9, 0x33, 0xb9, 0xd6, 0x92, 0x96, 0xb7, 0x97, 0x6a, 0x64, 0x1d,
- 0x17, 0x22, 0x87, 0xca, 0x9b, 0xcc, 0x11, 0x3f, 0x3a, 0x87, 0xa3, 0x23,
- 0x1f, 0x96, 0xd3, 0x6f, 0x85, 0x49, 0x27, 0x16, 0x6b, 0xe5, 0x15, 0x06,
- 0xd9, 0x99, 0x95, 0x41, 0xe2, 0x35, 0xc9, 0xae, 0x92, 0xb2, 0xc5, 0x4d,
- 0x8d, 0xbe, 0x49, 0x88, 0x59, 0x5b, 0xe4, 0x3d, 0xc2, 0xe4, 0x2d, 0x9e,
- 0x69, 0xc2, 0xa5, 0x9c, 0xb4, 0x9a, 0x83, 0x85, 0xd3, 0xb9, 0x50, 0xad,
- 0x8e, 0x72, 0xdd, 0x2e, 0xd2, 0xba, 0xd6, 0xcd, 0xc0, 0x26, 0xc0, 0x1e,
- 0x20, 0x85, 0xce, 0x46, 0xdb, 0x2f, 0x64, 0x9d, 0xb0, 0x93, 0xe1, 0x41,
- 0xeb, 0x08, 0xd2, 0xe0, 0xcc, 0x59, 0x34, 0x05, 0x52, 0x46, 0x88, 0xa9,
- 0x97, 0x20, 0x00, 0xfd, 0xd1, 0x1a, 0xa7, 0x06, 0xf5, 0xc7, 0x2a, 0xd1,
- 0x57, 0x73, 0x0b, 0x8c, 0x5a, 0x07, 0xf3, 0xa1, 0x73, 0x7a, 0x76, 0x7e,
- 0xfa, 0xf5, 0xf9, 0xd1, 0x70, 0x98, 0xbc, 0x3b, 0xba, 0x60, 0x5b, 0xff,
- 0x82, 0x51, 0x72, 0x57, 0xa8, 0xe4, 0x8d, 0x58, 0x83, 0x72, 0x33, 0x29,
- 0x3a, 0x44, 0x1d, 0x09, 0x48, 0x4f, 0xa2, 0x02, 0xd5, 0xb8, 0x1d, 0xd9,
- 0x88, 0x9f, 0x0a, 0xb8, 0xee, 0x1a, 0xde, 0x7e, 0xc0, 0x8f, 0x10, 0x90,
- 0xb4, 0xce, 0x73, 0xe7, 0x46, 0x85, 0x62, 0xcc, 0x80, 0x24, 0x9b, 0x1e,
- 0xe8, 0x5c, 0xe8, 0x74, 0x65, 0x9b, 0x3f, 0x31, 0xbc, 0x3f, 0x99, 0xd9,
- 0x94, 0xa2, 0x7c, 0x7f, 0x32, 0xc6, 0xaf, 0x6c, 0x8a, 0x3f, 0x25, 0x3f,
- 0x98, 0x36, 0x27, 0xc6, 0x78, 0x95, 0x02, 0xc4, 0x43, 0x14, 0x1e, 0x76,
- 0xd4, 0xcb, 0xb9, 0x57, 0x5a, 0x3b, 0xe1, 0x6c, 0xc0, 0xea, 0x81, 0xaa,
- 0x9f, 0xa0, 0x75, 0x61, 0x3a, 0x23, 0x81, 0xbf, 0xd9, 0x2f, 0x4b, 0xe5,
- 0xb7, 0x24, 0x39, 0xc9, 0x2e, 0x51, 0x9c, 0x07, 0x9f, 0x33, 0xcd, 0xed,
- 0x10, 0x47, 0xf5, 0xee, 0x3b, 0xfa, 0xd1, 0x4e, 0xf2, 0xe4, 0xc5, 0xf3,
- 0x9d, 0x17, 0xfc, 0x57, 0xfd, 0xef, 0xcb, 0xa7, 0x3b, 0x42, 0x96, 0x6f,
- 0xfe, 0xf5, 0x74, 0xff, 0xe9, 0xee, 0x3e, 0xd1, 0x36, 0xee, 0xec, 0xef,
- 0x98, 0xff, 0xff, 0x54, 0x7e, 0x42, 0xdc, 0x94, 0x2f, 0xf7, 0x5e, 0x7c,
- 0x06, 0xe0, 0x0a, 0xed, 0x8f, 0xa9, 0xf9, 0x48, 0xbf, 0x29, 0xfb, 0x60,
- 0x8f, 0x82, 0xe6, 0xf3, 0xa7, 0xb6, 0x27, 0x92, 0xf0, 0xfd, 0x54, 0x94,
- 0x9c, 0x06, 0x6e, 0x2b, 0xb2, 0xaa, 0x57, 0x95, 0xc9, 0x66, 0xfc, 0x3a,
- 0x92, 0x76, 0x18, 0xf2, 0x36, 0xd7, 0x35, 0x04, 0x1d, 0x5b, 0xeb, 0x1d,
- 0xc6, 0x84, 0x7b, 0xcc, 0x6f, 0xbf, 0xf4, 0xd3, 0x9a, 0xf3, 0xbd, 0x06,
- 0x3e, 0x37, 0x59, 0x2a, 0x79, 0x6f, 0xac, 0xc5, 0xf3, 0xfc, 0x32, 0xdf,
- 0x9d, 0xda, 0xd8, 0xbf, 0xf4, 0x7b, 0xec, 0xb9, 0xa2, 0xb7, 0x64, 0x37,
- 0x24, 0xe1, 0xd7, 0x6c, 0xda, 0x40, 0xe4, 0x5b, 0xad, 0xcd, 0xb3, 0xe6,
- 0x96, 0xdf, 0xcd, 0x94, 0x57, 0x79, 0xdb, 0xa6, 0x5b, 0x71, 0x8d, 0xeb,
- 0xc8, 0x90, 0x83, 0xe6, 0x3e, 0xcc, 0xfd, 0xf6, 0x1e, 0xd3, 0x9c, 0x1b,
- 0x11, 0x76, 0xb0, 0x5d, 0xb9, 0xbe, 0xb7, 0x38, 0x39, 0x63, 0xd0, 0x6c,
- 0x1d, 0x53, 0xe5, 0x0b, 0xb5, 0x15, 0xa6, 0xf1, 0xaa, 0xdd, 0xb2, 0x7d,
- 0x7e, 0x43, 0x74, 0x4e, 0x9b, 0xc2, 0x86, 0xea, 0xb1, 0xb8, 0xe2, 0xf9,
- 0x79, 0xdd, 0xd9, 0xc1, 0xa7, 0x68, 0x37, 0x7a, 0xdf, 0x93, 0x6f, 0xe0,
- 0x3c, 0xd9, 0x43, 0xb7, 0x72, 0x68, 0x0e, 0x06, 0xaf, 0x25, 0x34, 0x19,
- 0x72, 0x05, 0xe5, 0x3b, 0x76, 0x24, 0xdd, 0x73, 0x40, 0x9a, 0xdb, 0xe6,
- 0xfc, 0xdb, 0x67, 0x0a, 0x56, 0x70, 0xea, 0x1f, 0x18, 0x95, 0x16, 0x54,
- 0xda, 0x61, 0x4b, 0x45, 0x58, 0xff, 0x8f, 0x16, 0x61, 0x85, 0xcb, 0x8c,
- 0x11, 0x68, 0xd4, 0x14, 0xcd, 0xe7, 0xd4, 0x4f, 0x7b, 0xb5, 0xd2, 0x6e,
- 0x94, 0x56, 0xad, 0x22, 0x0a, 0x6b, 0x52, 0x84, 0x63, 0x46, 0xd4, 0x73,
- 0xc8, 0x4c, 0x64, 0x3d, 0xe2, 0x0f, 0x6b, 0x6b, 0xc3, 0xb3, 0xa3, 0xa3,
- 0x37, 0xc9, 0xc9, 0xf1, 0xbb, 0xe3, 0x0b, 0x4f, 0x0b, 0xb7, 0xb7, 0x87,
- 0x7a, 0x5a, 0xb5, 0x96, 0x5f, 0x67, 0x3a, 0x1c, 0x13, 0xb3, 0x94, 0x7b,
- 0x91, 0xfb, 0x7b, 0x96, 0x49, 0xc2, 0xc3, 0xb4, 0xfb, 0x1e, 0xec, 0x6d,
- 0x90, 0x30, 0x51, 0x45, 0x74, 0x4f, 0x8b, 0xab, 0x8d, 0x46, 0x63, 0x7a,
- 0xd7, 0x67, 0x22, 0x80, 0xfe, 0x5f, 0x05, 0xa7, 0xd1, 0x56, 0x97, 0x84,
- 0x54, 0xd6, 0x66, 0xdf, 0x08, 0x0c, 0xb5, 0xd3, 0x2b, 0x9a, 0xdb, 0x8c,
- 0x51, 0xd0, 0x9e, 0x5b, 0x0e, 0x08, 0xbb, 0xdb, 0x0c, 0xc4, 0x04, 0xb3,
- 0x9c, 0xd3, 0x22, 0x7d, 0xf8, 0x2f, 0x2a, 0x9b, 0xc8, 0x8d, 0x07, 0x39,
- 0xee, 0x7f, 0xd1, 0x3b, 0x1d, 0x16, 0xfb, 0xaa, 0xdf, 0xaa, 0xb9, 0x3a,
- 0xa2, 0x99, 0x80, 0x22, 0x79, 0xb2, 0x63, 0x33, 0x0b, 0xe6, 0x90, 0x39,
- 0xa2, 0xdf, 0xd3, 0xc7, 0x76, 0x13, 0xa3, 0x84, 0x2c, 0x48, 0x95, 0xaf,
- 0x16, 0x45, 0x70, 0xdd, 0xfd, 0x95, 0xdf, 0x35, 0xe3, 0x7f, 0xbe, 0x83,
- 0xeb, 0xed, 0x32, 0xad, 0xfa, 0x46, 0xdd, 0xba, 0xef, 0xab, 0x4b, 0x95,
- 0x77, 0x84, 0x40, 0x83, 0xd9, 0xdf, 0x93, 0xb9, 0xaa, 0xa3, 0x1d, 0x15,
- 0xd1, 0xa5, 0x87, 0x94, 0x88, 0x4b, 0x4e, 0xe5, 0x00, 0xd0, 0xd0, 0x29,
- 0x29, 0x57, 0x3d, 0x9c, 0x4e, 0xc1, 0x71, 0x84, 0xc3, 0xba, 0x8a, 0x4e,
- 0x46, 0x51, 0xb2, 0x00, 0xc4, 0x2a, 0xb5, 0x9a, 0xd3, 0x30, 0x65, 0x2c,
- 0xa1, 0x3e, 0x3d, 0x4b, 0x76, 0x5f, 0xd0, 0x38, 0x1e, 0x37, 0x9e, 0xb7,
- 0x65, 0x35, 0xb6, 0xe9, 0xbf, 0xb0, 0x11, 0xbc, 0x5c, 0x50, 0xce, 0x60,
- 0x40, 0x01, 0x3c, 0x9e, 0x5d, 0xc5, 0xaf, 0x02, 0x5f, 0x47, 0x46, 0x89,
- 0xc4, 0xd3, 0xe1, 0x8e, 0x42, 0x80, 0x9b, 0xd5, 0x22, 0xba, 0x6b, 0x64,
- 0x5e, 0xbc, 0x7a, 0xb1, 0x95, 0xcd, 0x15, 0xe5, 0x69, 0x20, 0x97, 0x88,
- 0xd9, 0x6b, 0xb7, 0xf9, 0x04, 0xaa, 0xb4, 0xa3, 0x9e, 0x33, 0xeb, 0xc5,
- 0x9b, 0x8f, 0x61, 0xcd, 0x88, 0x59, 0x22, 0xd8, 0x69, 0x7b, 0x26, 0x0a,
- 0x0c, 0x4d, 0x6b, 0x09, 0x8f, 0xc2, 0x26, 0xf4, 0x07, 0x4a, 0x45, 0x76,
- 0x71, 0x01, 0xb2, 0x9f, 0x48, 0x34, 0xaf, 0xbb, 0xaf, 0x10, 0xac, 0xbf,
- 0x69, 0xa6, 0xea, 0x4c, 0x78, 0x67, 0x37, 0x76, 0x7b, 0xcc, 0x44, 0xaa,
- 0xe2, 0x0d, 0x7b, 0x77, 0xc7, 0x28, 0xad, 0xd3, 0xd2, 0x6e, 0x2b, 0xd9,
- 0x54, 0xa1, 0x25, 0x8a, 0x61, 0xf5, 0x31, 0x3b, 0xbb, 0x3b, 0xdf, 0x2e,
- 0x9f, 0x75, 0x10, 0xd7, 0xaf, 0x7c, 0x79, 0xef, 0xe9, 0x8a, 0x45, 0x3b,
- 0xad, 0x60, 0x8c, 0x67, 0x0a, 0x57, 0x84, 0x22, 0xe8, 0x22, 0x2f, 0xc1,
- 0xb2, 0x99, 0x8d, 0x9f, 0x5d, 0xa5, 0xa8, 0xc3, 0xbc, 0xa2, 0xf7, 0x9a,
- 0xbe, 0xd1, 0xe9, 0xca, 0x3b, 0x01, 0x50, 0xf3, 0x2f, 0x6b, 0x72, 0x8b,
- 0xcd, 0x41, 0x8a, 0xe7, 0x6c, 0x57, 0x9b, 0xf9, 0xcd, 0x34, 0x0a, 0xde,
- 0xdb, 0x2c, 0x39, 0x7b, 0x6d, 0x21, 0xa1, 0xbb, 0xa7, 0xca, 0xae, 0x16,
- 0x4c, 0x5a, 0x51, 0xb2, 0xad, 0x4f, 0x3c, 0xd5, 0x72, 0x5e, 0x8d, 0x6c,
- 0x26, 0xf8, 0x10, 0xef, 0x27, 0x08, 0xde, 0x71, 0xaa, 0x2a, 0xab, 0x94,
- 0x52, 0xee, 0x5c, 0x0c, 0xe4, 0x94, 0x1d, 0x97, 0x33, 0xa9, 0xc5, 0xca,
- 0xc7, 0xab, 0xf0, 0x72, 0xf0, 0x99, 0x88, 0x71, 0x80, 0xa4, 0x5c, 0xde,
- 0x28, 0x56, 0xd8, 0x53, 0x06, 0x18, 0x45, 0xc3, 0x1a, 0x0e, 0x0b, 0xa0,
- 0x81, 0x9e, 0xec, 0x5a, 0xb4, 0x64, 0x3f, 0x45, 0x12, 0xbf, 0x56, 0x42,
- 0x4c, 0xa6, 0xce, 0x27, 0x67, 0xff, 0xe1, 0xe9, 0xfb, 0xb7, 0xc7, 0x5f,
- 0x5b, 0xd6, 0x21, 0x16, 0xe2, 0x2d, 0x36, 0x0c, 0x76, 0x1f, 0xfb, 0x91,
- 0x6e, 0x29, 0x71, 0x2b, 0x40, 0x59, 0x23, 0x9e, 0x3e, 0xfa, 0x3f, 0x80,
- 0x00, 0x29, 0x9e, 0x90, 0x83, 0x9c, 0xa9, 0x3a, 0xea, 0x2d, 0xe7, 0x6e,
- 0xe8, 0xb0, 0xca, 0x71, 0x42, 0x45, 0x5a, 0x35, 0x8b, 0xb9, 0x05, 0x11,
- 0x7a, 0x25, 0x72, 0x85, 0x58, 0x5b, 0xb3, 0xc6, 0x17, 0x73, 0x16, 0x4d,
- 0x92, 0xfb, 0xd9, 0xf2, 0xe6, 0xf2, 0x1d, 0x40, 0xee, 0x04, 0xa1, 0x3d,
- 0x91, 0x0b, 0x20, 0xc0, 0xe5, 0x4c, 0x89, 0x89, 0xd3, 0x87, 0xb6, 0x6b,
- 0xfc, 0x66, 0x92, 0xd6, 0xd7, 0x3c, 0x50, 0x5c, 0x1a, 0x39, 0x23, 0xaa,
- 0x11, 0x6b, 0x4b, 0x27, 0x64, 0xa8, 0x3b, 0x30, 0x8e, 0x05, 0xea, 0xba,
- 0xf8, 0x90, 0x2d, 0x71, 0xe6, 0xf0, 0x49, 0x9a, 0x71, 0x9a, 0x22, 0x54,
- 0x89, 0x58, 0x27, 0x7e, 0xf2, 0x9a, 0xc2, 0x32, 0xfb, 0xc4, 0x2f, 0x3f,
- 0x63, 0xee, 0x37, 0x3f, 0x53, 0x54, 0xa4, 0xa4, 0x23, 0x81, 0x3f, 0xbe,
- 0xf4, 0x92, 0xcf, 0x18, 0x27, 0xa8, 0x9b, 0x8e, 0x7d, 0xc4, 0xe4, 0x60,
- 0xd9, 0xf8, 0xe3, 0x46, 0xbf, 0xbe, 0x9f, 0x8d, 0xca, 0xa9, 0xe6, 0x48,
- 0x58, 0xae, 0x07, 0x7d, 0xc8, 0xaf, 0x7d, 0x97, 0x70, 0xa4, 0xb6, 0xf1,
- 0xdc, 0x92, 0x0e, 0x2b, 0xe5, 0xfa, 0xcf, 0xa5, 0x8d, 0x10, 0x1e, 0xd2,
- 0x51, 0x80, 0x86, 0x87, 0x64, 0x3c, 0x57, 0x65, 0x94, 0x4a, 0x2c, 0x66,
- 0xfb, 0x61, 0xa6, 0xda, 0x43, 0xa7, 0x88, 0x5f, 0xb9, 0x20, 0x0f, 0x07,
- 0xca, 0x89, 0x18, 0x75, 0x67, 0x5d, 0xc8, 0x2f, 0x30, 0x40, 0x7a, 0x9b,
- 0x7f, 0x21, 0x00, 0x7a, 0x8f, 0x8a, 0x86, 0xeb, 0x8f, 0x98, 0xae, 0xfe,
- 0xc4, 0x0e, 0x45, 0x8e, 0xfb, 0xfd, 0x55, 0x3f, 0xae, 0x8f, 0x76, 0xa6,
- 0xde, 0xec, 0xa7, 0xb4, 0xba, 0x12, 0x42, 0x3d, 0x89, 0xa4, 0xc1, 0x48,
- 0xb4, 0x55, 0x6e, 0xac, 0x63, 0x92, 0x94, 0x12, 0x8b, 0x9a, 0x81, 0xfa,
- 0xb4, 0xe0, 0xf4, 0x3f, 0x49, 0x8e, 0x62, 0x97, 0xa4, 0xdd, 0x88, 0x9e,
- 0xc4, 0xf9, 0xa3, 0xc5, 0xa2, 0xa4, 0xee, 0x2e, 0xd3, 0x6a, 0x15, 0xce,
- 0x3f, 0x2b, 0x97, 0x99, 0xf7, 0x1a, 0x39, 0xf1, 0x60, 0x09, 0x67, 0xe2,
- 0x38, 0xe1, 0x4f, 0x41, 0x97, 0x20, 0x0a, 0x1a, 0x29, 0xe6, 0xe9, 0x9a,
- 0xe0, 0xdf, 0xbf, 0x96, 0xa2, 0x65, 0xe6, 0x3c, 0x0b, 0xa9, 0x89, 0x30,
- 0xfd, 0xbd, 0xd8, 0x11, 0xf7, 0x5b, 0x23, 0x70, 0xd5, 0x3a, 0x39, 0x38,
- 0x3f, 0x32, 0x9a, 0xed, 0x55, 0x01, 0x3a, 0x89, 0xa2, 0xd1, 0xfc, 0xb7,
- 0xac, 0x90, 0x3a, 0x69, 0x85, 0x9e, 0x0f, 0xfa, 0xe0, 0xad, 0xf7, 0x26,
- 0x6d, 0x26, 0x01, 0x06, 0x70, 0xaa, 0xb5, 0xdb, 0x72, 0x63, 0xa5, 0x09,
- 0x86, 0xd4, 0x21, 0x46, 0x03, 0xde, 0x52, 0x14, 0x22, 0x31, 0x9f, 0x2a,
- 0x95, 0x22, 0xf8, 0x2c, 0x10, 0xeb, 0x3e, 0x37, 0xb0, 0xce, 0x35, 0x4e,
- 0xb5, 0xcb, 0x1a, 0xf8, 0xbb, 0x72, 0x68, 0xca, 0xb7, 0x5a, 0x61, 0x4f,
- 0xb7, 0x9d, 0x7a, 0x71, 0x97, 0xd1, 0xdf, 0x71, 0xcf, 0x90, 0x2e, 0xd2,
- 0xd5, 0x0b, 0x32, 0x0b, 0x86, 0x67, 0xef, 0xf5, 0xc4, 0x53, 0x7e, 0x39,
- 0x5b, 0xef, 0x3a, 0x9b, 0xce, 0xd9, 0x31, 0x2d, 0xa4, 0x3d, 0xe2, 0xd7,
- 0x61, 0x73, 0x60, 0xb2, 0x66, 0xab, 0x91, 0x02, 0x2e, 0x3c, 0x22, 0x62,
- 0xa3, 0x4f, 0xac, 0x00, 0xf8, 0xf2, 0x29, 0xea, 0xdb, 0xfd, 0xa3, 0x1d,
- 0xad, 0xeb, 0xc3, 0x9a, 0x57, 0xe5, 0xde, 0x2c, 0xa9, 0x12, 0xd1, 0x51,
- 0x2f, 0x06, 0xf4, 0x21, 0x88, 0x54, 0xc4, 0x4c, 0xe9, 0x2f, 0xf8, 0x31,
- 0x50, 0x6f, 0xca, 0x4c, 0x0a, 0xa9, 0x63, 0xd9, 0xae, 0x4a, 0x89, 0xa9,
- 0xba, 0x8e, 0x70, 0x60, 0x0f, 0x12, 0x7a, 0xe4, 0xab, 0xc6, 0xfd, 0x6f,
- 0xb7, 0xb5, 0xba, 0x38, 0xf9, 0x6f, 0x28, 0xd7, 0x57, 0x0f, 0x7c, 0x9d,
- 0xb5, 0xca, 0x91, 0xdb, 0xa4, 0x9e, 0xf5, 0xfe, 0xba, 0x99, 0x8b, 0x8d,
- 0xe9, 0xd4, 0x09, 0x7c, 0x7d, 0x8c, 0x56, 0x15, 0xf9, 0x6f, 0x4e, 0x61,
- 0x12, 0xd9, 0x45, 0x35, 0x36, 0xee, 0x5b, 0xd9, 0x08, 0x54, 0xb5, 0x8e,
- 0x92, 0x75, 0x2c, 0x07, 0x17, 0x32, 0x3a, 0x00, 0x12, 0xb8, 0xc9, 0x6b,
- 0x0d, 0x3e, 0x9a, 0xbd, 0x3d, 0x66, 0x4c, 0x44, 0xc3, 0xdc, 0x01, 0x59,
- 0x33, 0xf6, 0xa6, 0x32, 0x1b, 0x5f, 0x97, 0x8c, 0xa9, 0x35, 0x93, 0xe6,
- 0x25, 0x65, 0xae, 0x27, 0xff, 0x4b, 0xf6, 0xc0, 0xb7, 0x2e, 0xbf, 0x8e,
- 0x36, 0xc2, 0x80, 0x29, 0x23, 0x07, 0x6e, 0x43, 0x1c, 0xfd, 0x70, 0x71,
- 0x7e, 0x90, 0x7c, 0x73, 0x74, 0xf0, 0xe6, 0xe8, 0x7c, 0xd8, 0xb9, 0xf4,
- 0x05, 0xfe, 0xc1, 0x1a, 0x1a, 0x39, 0x81, 0xa1, 0x1a, 0x2b, 0x47, 0x00,
- 0x6c, 0xa2, 0x74, 0xa6, 0x52, 0xcf, 0x6c, 0x1e, 0x3a, 0x48, 0xe6, 0x7c,
- 0x90, 0x41, 0xc4, 0xd1, 0x02, 0xf0, 0x19, 0xd7, 0x10, 0x36, 0xb6, 0x8d,
- 0xb1, 0x91, 0x50, 0x04, 0x62, 0x50, 0x97, 0xb9, 0x9f, 0xdc, 0xe2, 0x68,
- 0xf5, 0xdc, 0x65, 0x32, 0x29, 0x35, 0x6f, 0xaf, 0xbd, 0x72, 0xdf, 0xb8,
- 0xd4, 0x6c, 0x4f, 0x6c, 0xc9, 0x25, 0x23, 0x5e, 0xc3, 0xf5, 0x1f, 0xfa,
- 0xe6, 0xbb, 0x7d, 0x33, 0xf9, 0x7d, 0xe2, 0x5d, 0xbc, 0xcf, 0xea, 0xf5,
- 0x8e, 0x0b, 0xb0, 0xfd, 0x79, 0xc8, 0xe8, 0xab, 0xf0, 0x24, 0x7d, 0x13,
- 0x6d, 0x89, 0x4e, 0xd7, 0x94, 0xca, 0x25, 0x75, 0x2d, 0x08, 0x5c, 0xaa,
- 0x9e, 0x92, 0x2c, 0x27, 0x28, 0xc8, 0x44, 0x11, 0x80, 0x92, 0x33, 0x33,
- 0x05, 0x0f, 0x86, 0x8e, 0xc8, 0x10, 0xa0, 0xeb, 0x98, 0xb3, 0xc7, 0x97,
- 0xfa, 0x94, 0xa9, 0x97, 0xd9, 0x63, 0x66, 0xba, 0x25, 0x0f, 0xf9, 0xf7,
- 0x03, 0x02, 0x20, 0x82, 0xc1, 0xaf, 0x5b, 0xf1, 0x51, 0x71, 0x86, 0x4a,
- 0x09, 0x47, 0x69, 0x8e, 0xfa, 0x60, 0xf7, 0xbc, 0x42, 0xf7, 0xe9, 0x93,
- 0x5a, 0x30, 0x44, 0xde, 0x65, 0x14, 0x18, 0x19, 0xf5, 0xf0, 0x6f, 0x72,
- 0x0d, 0x5d, 0x7a, 0x47, 0xf5, 0x55, 0x2f, 0x6d, 0xc7, 0xdf, 0xcc, 0xa8,
- 0xd4, 0x06, 0xf4, 0xb8, 0x7d, 0x2e, 0x4b, 0xbe, 0x29, 0x6b, 0xdc, 0x05,
- 0xe1, 0xe3, 0x74, 0xc9, 0xc7, 0xa6, 0x1f, 0x6f, 0x48, 0x7c, 0xcb, 0xf2,
- 0xb9, 0xae, 0xad, 0x69, 0xf6, 0xd3, 0xd9, 0xc1, 0xc5, 0x37, 0x88, 0xae,
- 0x62, 0x0b, 0xbf, 0x01, 0xb9, 0x89, 0xc6, 0xd4, 0xc2, 0xec, 0x29, 0x6b,
- 0xc0, 0xb1, 0xfe, 0xab, 0x1c, 0x8a, 0xaa, 0x4f, 0x22, 0x7a, 0x97, 0x33,
- 0x10, 0x69, 0xca, 0x75, 0x8b, 0x21, 0xa3, 0x5b, 0x65, 0x19, 0x01, 0x7d,
- 0xb7, 0xa9, 0x71, 0x16, 0x6f, 0xb9, 0xc1, 0x39, 0xeb, 0x1b, 0x3c, 0x26,
- 0x6c, 0x7a, 0x52, 0xe6, 0xc8, 0xe2, 0xf1, 0x49, 0x82, 0xf1, 0x0b, 0x4a,
- 0x4a, 0xe6, 0x00, 0xd4, 0xa4, 0x8c, 0x53, 0x14, 0x7a, 0x47, 0xfa, 0xcb,
- 0xd9, 0xfd, 0x20, 0xe4, 0xca, 0x49, 0xbe, 0x5a, 0x34, 0x6d, 0xb1, 0xd2,
- 0xa1, 0x2a, 0xb6, 0x9a, 0x65, 0x55, 0x96, 0x8d, 0xd7, 0x07, 0x68, 0x3f,
- 0x69, 0x23, 0x27, 0x9a, 0xb9, 0x28, 0xb9, 0x2f, 0xd4, 0x54, 0x21, 0x7a,
- 0xb7, 0xaf, 0x18, 0xa6, 0xa3, 0xba, 0x9c, 0x2e, 0x1a, 0x0f, 0x7d, 0xfd,
- 0xcb, 0xfa, 0xec, 0x75, 0x7a, 0xf3, 0x78, 0xa0, 0xbc, 0x9c, 0x05, 0xb3,
- 0xc9, 0x19, 0x4b, 0xdf, 0xa8, 0x97, 0x08, 0x36, 0x56, 0x65, 0xd1, 0x2e,
- 0x09, 0x07, 0xa0, 0xf7, 0xd6, 0xda, 0xda, 0x50, 0x17, 0x9b, 0x98, 0x59,
- 0xc3, 0x45, 0xff, 0x1e, 0xda, 0x24, 0xf5, 0x81, 0x83, 0x05, 0x63, 0xf3,
- 0x17, 0xe5, 0x6b, 0xcb, 0x78, 0x4d, 0x21, 0xc2, 0x79, 0x8d, 0xf3, 0xba,
- 0x3d, 0x28, 0xfc, 0xca, 0x86, 0x2b, 0x34, 0x15, 0xec, 0xa2, 0x54, 0x8a,
- 0x7e, 0x09, 0xd7, 0xb9, 0x0d, 0xd1, 0x4a, 0x5c, 0x8f, 0x92, 0x41, 0xd3,
- 0x25, 0xa0, 0xd5, 0xb0, 0x2d, 0x1c, 0x97, 0x3a, 0xb9, 0xfd, 0xbf, 0xb7,
- 0x93, 0x1e, 0x17, 0x2b, 0x88, 0xf0, 0xeb, 0x2c, 0x92, 0xff, 0x0f, 0x80,
- 0x57, 0xc2, 0xc4, 0x4b, 0x6d, 0x0e, 0xda, 0x5c, 0xaf, 0x03, 0x63, 0x42,
- 0x5d, 0x57, 0x63, 0xb7, 0xfb, 0x8d, 0x76, 0x90, 0xdd, 0x92, 0xfd, 0xa2,
- 0x36, 0x82, 0x30, 0x7b, 0x70, 0x41, 0x6a, 0xcb, 0x95, 0x04, 0x66, 0x8c,
- 0x4b, 0xeb, 0xd5, 0xa3, 0xf2, 0xaa, 0x5c, 0x83, 0x94, 0xd5, 0x7a, 0x54,
- 0x57, 0xd2, 0xb0, 0xe9, 0x5a, 0xd2, 0xb2, 0xdb, 0xa9, 0x3a, 0x21, 0xff,
- 0xa9, 0x49, 0x47, 0x02, 0xec, 0x92, 0xed, 0xef, 0x55, 0xec, 0x93, 0xda,
- 0xc7, 0x48, 0x6d, 0x12, 0xc4, 0x29, 0xa3, 0xe9, 0x34, 0x1c, 0xa9, 0x9d,
- 0x54, 0x2d, 0x80, 0xa2, 0x95, 0x60, 0xa0, 0x14, 0x92, 0x10, 0x42, 0x92,
- 0x11, 0xdd, 0x30, 0xe7, 0x57, 0x53, 0x6d, 0x49, 0xb5, 0x64, 0xf4, 0x4a,
- 0xd5, 0x34, 0x0e, 0xbb, 0x52, 0xae, 0xfb, 0x72, 0xf7, 0x23, 0x5f, 0x1e,
- 0x91, 0x39, 0xaa, 0xa8, 0xe9, 0xab, 0x04, 0x3a, 0x24, 0x29, 0xf0, 0xcb,
- 0xe0, 0x0d, 0x1f, 0x90, 0xe2, 0x10, 0x9b, 0x57, 0x94, 0xe5, 0x21, 0x2e,
- 0x29, 0xa1, 0x1d, 0x81, 0xff, 0xeb, 0x3a, 0x17, 0x5c, 0x29, 0xcf, 0x7a,
- 0xbb, 0xa8, 0x2a, 0x3c, 0x7c, 0x6b, 0x89, 0x1f, 0x55, 0xb5, 0xc0, 0x87,
- 0x41, 0x78, 0x60, 0x06, 0x96, 0x00, 0x55, 0x2e, 0x91, 0x63, 0x3f, 0xfd,
- 0x9b, 0x51, 0x18, 0x16, 0xeb, 0xfc, 0xc8, 0xaf, 0xfb, 0x9f, 0x24, 0x10,
- 0x6b, 0x91, 0x70, 0x02, 0x89, 0xb0, 0xba, 0xd1, 0x85, 0xb2, 0xb7, 0x0b,
- 0xc3, 0x94, 0x31, 0x1b, 0xa0, 0x14, 0xd5, 0x16, 0x5a, 0x75, 0xd9, 0xbc,
- 0xc9, 0xdf, 0xea, 0xc9, 0x2c, 0xd9, 0xe4, 0x78, 0x09, 0x31, 0xb3, 0x5e,
- 0xe8, 0xc5, 0x9d, 0x5a, 0x05, 0xe1, 0x38, 0xe1, 0xba, 0x6e, 0xaa, 0xc5,
- 0xb8, 0x69, 0x97, 0x85, 0x75, 0x3b, 0xcc, 0x16, 0x9f, 0xe3, 0x39, 0x2e,
- 0x7d, 0xdb, 0xfe, 0xf8, 0x4c, 0xcc, 0x7b, 0xb6, 0x3e, 0xa8, 0x67, 0x9b,
- 0x69, 0x2b, 0xc9, 0xc5, 0x96, 0x24, 0xf5, 0xbf, 0xbb, 0x65, 0x77, 0x59,
- 0xff, 0xcc, 0x26, 0xbf, 0xb7, 0x99, 0x8a, 0x90, 0x9d, 0xe0, 0xdd, 0xbd,
- 0xa2, 0x88, 0x41, 0xf1, 0xa8, 0x12, 0xe1, 0x49, 0x84, 0x5a, 0x43, 0x2e,
- 0xcb, 0x35, 0xcb, 0x65, 0x68, 0xba, 0xd4, 0x17, 0xa8, 0x2a, 0x47, 0x7f,
- 0xb7, 0xcd, 0x44, 0x6a, 0xe1, 0x1f, 0x5b, 0xf4, 0xaa, 0x76, 0x7c, 0x88,
- 0x1d, 0x9c, 0x2a, 0xd8, 0x94, 0xac, 0x7e, 0x28, 0xbc, 0x6e, 0x32, 0x7f,
- 0x83, 0xe4, 0x8d, 0x1c, 0x0a, 0xf9, 0x42, 0x57, 0x9d, 0x08, 0xef, 0xc6,
- 0x33, 0x66, 0x2d, 0x09, 0xf6, 0xd1, 0x1b, 0xf5, 0xa9, 0x42, 0xe4, 0x60,
- 0x6e, 0xc8, 0xb2, 0xd1, 0x45, 0x32, 0xf3, 0xaa, 0x9f, 0x30, 0x5d, 0xa0,
- 0x11, 0x6f, 0x4c, 0xb3, 0x9d, 0x0d, 0xaf, 0x6a, 0xd7, 0x26, 0x83, 0xfe,
- 0x4b, 0x58, 0x3f, 0x96, 0x57, 0x90, 0xbd, 0x17, 0x04, 0x6e, 0xdb, 0x8a,
- 0x74, 0xc5, 0x34, 0xf1, 0x4b, 0x3b, 0xb3, 0xfb, 0x72, 0x6f, 0xb0, 0xfb,
- 0xfc, 0xc5, 0x60, 0x67, 0xb0, 0xbb, 0x43, 0xf2, 0x85, 0xba, 0xe2, 0x75,
- 0x8e, 0xe7, 0x25, 0xf2, 0xa9, 0xd6, 0x7b, 0xe1, 0x37, 0xdf, 0x1f, 0x5d,
- 0x7c, 0x7f, 0x7a, 0xfe, 0x6d, 0x72, 0xfc, 0xfe, 0xe2, 0xe8, 0xfc, 0xed,
- 0xc1, 0xe1, 0x63, 0xb9, 0xf5, 0x7d, 0xb7, 0xb5, 0x57, 0xc2, 0x3c, 0x73,
- 0x13, 0x13, 0xfa, 0x06, 0xdd, 0x9c, 0x65, 0xcd, 0xf5, 0xce, 0xfe, 0xee,
- 0x4a, 0xf6, 0xe8, 0x88, 0x7b, 0xd0, 0xbd, 0xaf, 0x83, 0xda, 0xa5, 0x41,
- 0x2d, 0x6f, 0xc5, 0xb2, 0x28, 0x0e, 0x19, 0x5b, 0x65, 0x71, 0xb9, 0x10,
- 0xf3, 0x28, 0x8a, 0x04, 0xf2, 0x54, 0x11, 0xec, 0x23, 0xe6, 0xa9, 0xe5,
- 0x12, 0x6f, 0xc2, 0x07, 0x23, 0x18, 0x74, 0x91, 0xb9, 0x6b, 0x5c, 0x2e,
- 0xbc, 0x11, 0x77, 0x0a, 0x33, 0xcf, 0x4e, 0xa0, 0xe2, 0xa9, 0x54, 0x96,
- 0xdc, 0x35, 0xda, 0x2d, 0x52, 0xb3, 0x94, 0xb9, 0x01, 0x27, 0x36, 0x4f,
- 0xc4, 0x12, 0x06, 0xac, 0x25, 0x9e, 0x9e, 0x8e, 0xbe, 0xb6, 0x2b, 0xbe,
- 0xfb, 0xf0, 0xd9, 0x0e, 0x4d, 0x6a, 0xad, 0xb8, 0x66, 0x0c, 0xac, 0xe5,
- 0x1a, 0x3d, 0x94, 0x8e, 0xe0, 0x34, 0x78, 0xbd, 0xe1, 0x4f, 0x41, 0xa1,
- 0x22, 0x3e, 0x33, 0x30, 0x39, 0xb6, 0xc8, 0x8c, 0xf9, 0x8e, 0x42, 0xee,
- 0x04, 0xeb, 0x7f, 0x5a, 0x81, 0x82, 0x5a, 0xaf, 0x5b, 0x7c, 0x82, 0x09,
- 0xd7, 0x28, 0xf1, 0x5f, 0x67, 0x55, 0x1b, 0xe8, 0xcc, 0x49, 0x95, 0xde,
- 0xa2, 0xda, 0x4a, 0xee, 0xd8, 0x41, 0xd7, 0xda, 0xc5, 0xb6, 0x48, 0x71,
- 0x72, 0x73, 0x9e, 0x9c, 0x1d, 0xbd, 0xeb, 0x6b, 0xc9, 0x63, 0xf3, 0x77,
- 0x76, 0x46, 0x29, 0x15, 0x24, 0xe7, 0xf6, 0xcc, 0xb3, 0x42, 0xb1, 0x34,
- 0x90, 0x89, 0x02, 0xfe, 0xf1, 0x07, 0x40, 0x87, 0xc6, 0x92, 0x45, 0x0a,
- 0x64, 0x54, 0x31, 0x97, 0x9c, 0x5b, 0xd8, 0x65, 0xd0, 0xa4, 0xf5, 0x14,
- 0xc0, 0x72, 0xb2, 0x69, 0x41, 0xba, 0xf4, 0x3d, 0x20, 0x51, 0x81, 0x1a,
- 0xb0, 0x30, 0x81, 0x52, 0xab, 0xff, 0x9d, 0x7d, 0x7b, 0x38, 0xfc, 0xe3,
- 0xee, 0x9e, 0x74, 0x67, 0x4b, 0xad, 0x02, 0x92, 0x55, 0xdd, 0xfc, 0x79,
- 0x88, 0x6b, 0xbf, 0x8f, 0x9a, 0x62, 0x8d, 0x03, 0x8e, 0xc5, 0xd8, 0xb4,
- 0x89, 0x41, 0x5b, 0xad, 0xcc, 0x20, 0x20, 0xbf, 0xee, 0xad, 0x8a, 0x69,
- 0x4b, 0xf8, 0x52, 0x48, 0x04, 0xd5, 0x9e, 0xa4, 0xde, 0x52, 0x63, 0xa1,
- 0x7e, 0x69, 0xa1, 0x3f, 0xe2, 0x96, 0xa5, 0xb5, 0x8d, 0x5a, 0x92, 0xac,
- 0x18, 0xce, 0xd2, 0x5d, 0x73, 0x9a, 0x6f, 0xf7, 0x5b, 0xa2, 0x74, 0x95,
- 0x9b, 0x5d, 0xb9, 0x7b, 0xdc, 0x67, 0x70, 0x00, 0x04, 0xbd, 0x3e, 0xd1,
- 0x8a, 0x6e, 0x85, 0x2b, 0x59, 0x42, 0x4f, 0x9f, 0x9a, 0x85, 0x32, 0x27,
- 0x8b, 0x29, 0x16, 0x48, 0x28, 0x94, 0x53, 0x32, 0x5d, 0xec, 0x23, 0x6f,
- 0x2a, 0x2a, 0xf2, 0x32, 0x67, 0x1c, 0xe9, 0xfb, 0x41, 0xf2, 0x4d, 0x56,
- 0x50, 0x8e, 0x3b, 0x21, 0xee, 0x34, 0xf7, 0x0a, 0xb8, 0x40, 0x2a, 0x29,
- 0x89, 0x12, 0x7b, 0x27, 0x59, 0x2a, 0xf4, 0x99, 0x46, 0xd6, 0xd5, 0x6c,
- 0xe1, 0x6a, 0x79, 0xa9, 0x94, 0xd0, 0x79, 0xc2, 0xf5, 0x69, 0x79, 0x29,
- 0x98, 0xcf, 0x99, 0x1a, 0xd8, 0x6c, 0x73, 0x60, 0xa2, 0x7a, 0x01, 0x9a,
- 0x93, 0x63, 0x8e, 0x58, 0x93, 0x78, 0x95, 0xaf, 0xc1, 0x7c, 0x4d, 0xde,
- 0x42, 0xb6, 0xb8, 0x9c, 0x50, 0x99, 0x54, 0xd7, 0xe4, 0xfa, 0xa8, 0xcd,
- 0x75, 0x93, 0x16, 0xe3, 0xfb, 0xc1, 0xc4, 0xe8, 0xb2, 0xe4, 0x3c, 0x1b,
- 0x2c, 0x3e, 0x6d, 0x7b, 0xc7, 0x94, 0x44, 0xfe, 0x35, 0xa7, 0xf3, 0xb7,
- 0x1d, 0xdf, 0x5a, 0xba, 0x38, 0x64, 0xf9, 0x4a, 0x5b, 0x67, 0x82, 0xb6,
- 0x04, 0xa3, 0x22, 0xf5, 0x78, 0x2e, 0xe5, 0xc3, 0x3a, 0x4a, 0x2c, 0x19,
- 0x31, 0xb5, 0x30, 0x98, 0x67, 0xb3, 0x7d, 0x9b, 0x8d, 0xac, 0xf2, 0x41,
- 0x0a, 0x60, 0x58, 0xc3, 0xc2, 0x73, 0xd2, 0x16, 0xd9, 0xd5, 0x54, 0x14,
- 0x0a, 0xdf, 0x74, 0xb1, 0x4d, 0x44, 0x52, 0x40, 0xd8, 0xe0, 0x91, 0xe2,
- 0x47, 0xd0, 0xd8, 0xcd, 0x3e, 0x6c, 0x04, 0x52, 0xcb, 0x0f, 0x57, 0xa4,
- 0xd0, 0xbb, 0x46, 0x84, 0xe4, 0x03, 0xbc, 0xc8, 0xa4, 0x0c, 0x8b, 0x8b,
- 0x47, 0x91, 0x48, 0x12, 0x7e, 0x22, 0xce, 0x56, 0xec, 0x10, 0x30, 0xae,
- 0x0b, 0x2a, 0x1a, 0xc1, 0x4f, 0x2d, 0x0f, 0xcc, 0x67, 0xc5, 0xfc, 0xfa,
- 0xe6, 0x09, 0x79, 0xbc, 0x2f, 0x4e, 0x86, 0x1a, 0x15, 0x29, 0xb2, 0x5b,
- 0x6f, 0x6b, 0x71, 0x95, 0x00, 0xd9, 0x7f, 0xe4, 0x00, 0x62, 0xf6, 0x63,
- 0xb0, 0x1d, 0xa0, 0x27, 0x2c, 0x15, 0x5c, 0x98, 0xcc, 0x25, 0x3f, 0xe8,
- 0x24, 0x08, 0x8c, 0x98, 0xba, 0xa2, 0x95, 0xcc, 0x58, 0x19, 0xb2, 0xa4,
- 0x2c, 0x44, 0xb3, 0x67, 0x94, 0xa5, 0x27, 0xbd, 0xa4, 0xbf, 0x07, 0xaa,
- 0x9b, 0xdd, 0xf6, 0x24, 0xa6, 0x0d, 0x33, 0xfa, 0x51, 0x1b, 0xa6, 0x25,
- 0x6d, 0x45, 0xc4, 0xc1, 0xa6, 0x6c, 0xe9, 0x1b, 0xf3, 0x3e, 0xfd, 0xb1,
- 0x27, 0x03, 0xba, 0xd9, 0x05, 0x62, 0x9b, 0x29, 0x26, 0xa7, 0xf7, 0xa1,
- 0xca, 0xb0, 0xb7, 0x72, 0x55, 0x91, 0x1b, 0x71, 0x9b, 0x5b, 0xae, 0x67,
- 0xae, 0x6f, 0x00, 0x57, 0xa8, 0xb0, 0x77, 0x6a, 0x07, 0xcc, 0x14, 0x8a,
- 0x93, 0xbb, 0x48, 0x6e, 0xf6, 0x34, 0xd6, 0x4c, 0xbf, 0xd1, 0x79, 0x63,
- 0x67, 0xbd, 0x13, 0x22, 0x41, 0xda, 0x22, 0xa1, 0xdc, 0xbc, 0x5d, 0x4b,
- 0x59, 0x4f, 0x66, 0xcf, 0x1a, 0x29, 0xd2, 0x92, 0x32, 0x65, 0x21, 0x6e,
- 0x05, 0x4e, 0x79, 0x67, 0xea, 0x78, 0x32, 0xe0, 0x3d, 0x98, 0x13, 0x90,
- 0xdf, 0x1e, 0x22, 0xf2, 0xb8, 0xb0, 0x89, 0x12, 0xe2, 0xca, 0x07, 0x9b,
- 0x1e, 0x96, 0xff, 0x3a, 0x67, 0xc7, 0x04, 0xb0, 0xa6, 0xb8, 0xce, 0xcd,
- 0xc9, 0xdf, 0x48, 0xcc, 0x61, 0x5a, 0x90, 0xc4, 0x6f, 0x6c, 0x59, 0xb5,
- 0x21, 0xb3, 0x70, 0x6e, 0xf8, 0x62, 0xae, 0xff, 0x05, 0x0d, 0xa5, 0xde,
- 0x70, 0x63, 0x17, 0x36, 0xf2, 0xf6, 0x40, 0x24, 0xce, 0xa1, 0x85, 0xc4,
- 0xce, 0x2a, 0x2d, 0x95, 0xbe, 0x71, 0x74, 0x47, 0x3a, 0xce, 0x86, 0x7c,
- 0x89, 0x7f, 0xcd, 0x39, 0xfd, 0x98, 0xa3, 0xb3, 0xe3, 0xf7, 0x5c, 0xfd,
- 0xdb, 0x9e, 0x85, 0x8c, 0x58, 0x12, 0xd7, 0xb8, 0xcc, 0x3c, 0xfa, 0x93,
- 0x2a, 0x5d, 0x3b, 0x3b, 0x8e, 0x68, 0xcf, 0xd0, 0x1e, 0xcf, 0xe5, 0x5b,
- 0xe7, 0x0b, 0xfe, 0xfa, 0x06, 0xdd, 0x73, 0x75, 0x3d, 0xdd, 0xe8, 0x54,
- 0xb5, 0xb5, 0x6b, 0xd2, 0xb9, 0x50, 0xac, 0x47, 0x6a, 0x3c, 0x71, 0x0a,
- 0x7e, 0x92, 0x48, 0x2b, 0x2d, 0x39, 0xd7, 0xeb, 0x64, 0x3a, 0xfa, 0xae,
- 0xf0, 0x3f, 0x26, 0x83, 0x6d, 0xf3, 0xc1, 0x7a, 0x5b, 0x5f, 0x9c, 0x7f,
- 0x1a, 0xd7, 0xe6, 0x86, 0xa3, 0xb4, 0xde, 0x1f, 0x61, 0x90, 0x63, 0x39,
- 0x4c, 0x8f, 0x27, 0x3f, 0x27, 0xfd, 0xf1, 0x14, 0xe3, 0x4b, 0x50, 0x3e,
- 0xfb, 0x47, 0xb3, 0xf2, 0xf4, 0xc4, 0xcf, 0x76, 0x0d, 0xdf, 0xe6, 0x74,
- 0xde, 0xee, 0x7a, 0x3a, 0xf4, 0x53, 0x36, 0x18, 0x98, 0x8a, 0x36, 0x39,
- 0x98, 0xdc, 0x50, 0xd2, 0xdd, 0x44, 0xfe, 0x49, 0xe3, 0x39, 0x2a, 0x50,
- 0x79, 0x14, 0x23, 0x4d, 0x47, 0x5c, 0x68, 0xfc, 0xbb, 0xdc, 0x18, 0x1d,
- 0x87, 0x1d, 0xfd, 0x82, 0xf2, 0xff, 0xa8, 0x83, 0x78, 0xcb, 0xfb, 0xa5,
- 0x26, 0x73, 0xf4, 0x24, 0x67, 0xc1, 0x41, 0x4b, 0x49, 0x3a, 0xd3, 0xd2,
- 0x0d, 0x92, 0xaf, 0x28, 0xc6, 0x59, 0x65, 0x1e, 0x51, 0xab, 0x5c, 0x7c,
- 0x5c, 0xa1, 0x8f, 0x16, 0x23, 0x65, 0xfe, 0x89, 0x81, 0x1d, 0x49, 0x90,
- 0x03, 0x63, 0xc7, 0x64, 0x7f, 0xd3, 0x1e, 0x1c, 0xfa, 0xa5, 0x29, 0xed,
- 0x66, 0x28, 0x9a, 0x2f, 0x91, 0x04, 0x43, 0xf1, 0x28, 0x24, 0xb9, 0x87,
- 0x7c, 0x61, 0x4e, 0x32, 0x4d, 0xec, 0x2f, 0x7d, 0x36, 0x15, 0xf5, 0x1c,
- 0xa3, 0x29, 0xd5, 0x08, 0xec, 0x96, 0xc0, 0x1d, 0xee, 0x7a, 0x7d, 0x78,
- 0x6d, 0x44, 0x73, 0x66, 0xbb, 0x3a, 0x64, 0x97, 0x9e, 0x76, 0x71, 0x48,
- 0x77, 0x94, 0x2e, 0x82, 0xfd, 0xa5, 0x66, 0x47, 0x42, 0x0b, 0xdd, 0x66,
- 0xd9, 0x65, 0xf7, 0x2e, 0xcf, 0x6e, 0x7b, 0x08, 0x94, 0xd4, 0x38, 0xfc,
- 0xf0, 0x8e, 0xaa, 0x90, 0xa0, 0x20, 0xf5, 0xc5, 0xf9, 0xc1, 0xfb, 0xe1,
- 0x5b, 0x76, 0x8d, 0x5f, 0x94, 0x5e, 0xa9, 0x6b, 0x89, 0x2b, 0x68, 0xfc,
- 0xd8, 0x32, 0xba, 0xdd, 0x72, 0x69, 0x0c, 0xc5, 0xd3, 0x4b, 0x1d, 0xec,
- 0x5e, 0x97, 0x1a, 0x9f, 0x8b, 0x68, 0xd3, 0x6c, 0x50, 0xd7, 0x36, 0x87,
- 0x5b, 0x56, 0x11, 0xaa, 0xfd, 0xfa, 0x69, 0xae, 0x08, 0xbd, 0x92, 0x38,
- 0xcb, 0x43, 0x34, 0x2d, 0x87, 0xda, 0x19, 0xfd, 0x29, 0xdf, 0xbd, 0x4b,
- 0x79, 0x43, 0x0f, 0x8d, 0xa9, 0xd8, 0x97, 0xa2, 0x32, 0x8e, 0x3a, 0xcd,
- 0xb9, 0x53, 0xf9, 0xee, 0x15, 0xd6, 0x3d, 0xdb, 0xb8, 0x9f, 0xf7, 0xa9,
- 0x4d, 0x6f, 0xfe, 0x79, 0x77, 0x2b, 0xde, 0xfc, 0xc5, 0x2f, 0x6d, 0x3e,
- 0xde, 0x77, 0xb5, 0xcd, 0x5c, 0x4a, 0xd1, 0xe6, 0x9f, 0xf7, 0xb6, 0x56,
- 0x8e, 0xc8, 0xcf, 0x8a, 0x74, 0xdf, 0x34, 0x6f, 0x50, 0x67, 0x93, 0xd7,
- 0x7c, 0xcc, 0xac, 0xce, 0x64, 0x11, 0x3a, 0x1e, 0x35, 0x70, 0x8b, 0xb0,
- 0x83, 0x60, 0xdb, 0x56, 0x53, 0x77, 0x81, 0x37, 0xc9, 0x2e, 0x39, 0xfe,
- 0x9f, 0x47, 0x3e, 0xe3, 0x63, 0xb1, 0xd1, 0xf8, 0x57, 0x14, 0xb1, 0x03,
- 0xd4, 0xe5, 0x00, 0xdf, 0xde, 0x5b, 0xf1, 0x6d, 0x37, 0x3a, 0xcf, 0x2d,
- 0x41, 0x51, 0x6c, 0x82, 0xc1, 0x29, 0x71, 0xb5, 0x7c, 0xc7, 0x7e, 0x7b,
- 0xd5, 0xf7, 0x2e, 0x8e, 0xdf, 0x1d, 0x11, 0xc1, 0xf5, 0x9b, 0x63, 0xe2,
- 0x89, 0x1b, 0x0a, 0x53, 0xa3, 0x7a, 0x20, 0x2c, 0x79, 0xae, 0x5f, 0xd8,
- 0x84, 0xc3, 0xbb, 0x16, 0x6d, 0x66, 0x25, 0x87, 0x5d, 0x09, 0xfa, 0xb4,
- 0x60, 0xa0, 0x6b, 0xcd, 0xb4, 0x3c, 0xbe, 0xec, 0xbf, 0x2b, 0x27, 0xb0,
- 0x92, 0xfb, 0x43, 0x40, 0x05, 0xcd, 0x5b, 0xe6, 0x87, 0x1f, 0x8a, 0x59,
- 0xeb, 0xc7, 0x83, 0x48, 0xa6, 0xee, 0xda, 0xb2, 0xfa, 0x39, 0xff, 0xd8,
- 0xee, 0xf7, 0xa9, 0x33, 0x7d, 0x86, 0x75, 0x49, 0x70, 0xa7, 0xc5, 0xcf,
- 0xa1, 0xa2, 0xc5, 0x4c, 0x50, 0x3e, 0xbd, 0x67, 0x20, 0x42, 0xea, 0xe0,
- 0x63, 0x2e, 0x7b, 0xf3, 0x8a, 0x32, 0xc8, 0x9c, 0x8b, 0x8f, 0x9d, 0x78,
- 0x6b, 0x3e, 0xcf, 0x28, 0x0c, 0xa9, 0xec, 0xd6, 0xe1, 0x9f, 0xa4, 0x1a,
- 0x73, 0x39, 0xbf, 0xc7, 0x28, 0x6f, 0x5b, 0xd0, 0x8a, 0x68, 0x7c, 0xf5,
- 0x1f, 0xfc, 0x4e, 0xab, 0x62, 0x94, 0xd0, 0x41, 0x7b, 0x3b, 0x50, 0x7e,
- 0x22, 0x05, 0x96, 0x4e, 0x2b, 0xef, 0xba, 0x92, 0x6e, 0x6b, 0x21, 0x3a,
- 0x8f, 0x83, 0xd4, 0xa3, 0x4c, 0x6d, 0xf7, 0xd3, 0xe7, 0x6b, 0x2d, 0x29,
- 0xf5, 0xf5, 0x4d, 0x69, 0x83, 0x63, 0x46, 0xec, 0xcc, 0xdb, 0xf5, 0x8e,
- 0xb3, 0x44, 0x93, 0xbc, 0x39, 0x87, 0x7f, 0xa3, 0xbf, 0x81, 0x12, 0x0a,
- 0x79, 0x11, 0x19, 0x4c, 0xff, 0x97, 0x8f, 0x26, 0x08, 0xbd, 0x26, 0xeb,
- 0x97, 0x44, 0x84, 0x41, 0x71, 0xac, 0x75, 0xee, 0x00, 0xf3, 0xc4, 0xf0,
- 0xe6, 0x32, 0x17, 0x04, 0xc9, 0x35, 0x35, 0x24, 0xd9, 0xa8, 0xb6, 0xc8,
- 0x58, 0xeb, 0x24, 0x67, 0xaf, 0x24, 0x09, 0xd2, 0xc5, 0x7c, 0x02, 0x50,
- 0x06, 0xc3, 0x51, 0xff, 0x83, 0xf8, 0xab, 0xab, 0xfb, 0x64, 0x77, 0xaf,
- 0x97, 0xec, 0xed, 0xec, 0xee, 0x45, 0xc6, 0xb0, 0xfe, 0x1f, 0x04, 0x8a,
- 0xda, 0xc3, 0xaf, 0xd7, 0x1f, 0x3b, 0x0a, 0x97, 0xcf, 0x80, 0x9b, 0x44,
- 0x32, 0x7f, 0x8d, 0xf0, 0xa1, 0xf8, 0x2c, 0x38, 0x93, 0x51, 0x04, 0x19,
- 0xcc, 0x73, 0xb8, 0xb6, 0xd8, 0x49, 0xa8, 0xe5, 0x30, 0x6d, 0x95, 0xaf,
- 0x09, 0x8a, 0xde, 0x70, 0x1d, 0x5a, 0x20, 0x5f, 0xac, 0xa7, 0x34, 0xad,
- 0x50, 0xb5, 0xb3, 0xbd, 0x46, 0x79, 0xa3, 0xcb, 0x42, 0xd0, 0x1a, 0x5a,
- 0x1b, 0xb3, 0xdf, 0xdf, 0x1c, 0x1f, 0x5e, 0x28, 0x35, 0xe1, 0x25, 0x29,
- 0x4f, 0xd5, 0xfd, 0xe3, 0xea, 0x26, 0xae, 0x7c, 0x66, 0xb2, 0x7f, 0x9d,
- 0x19, 0x35, 0xba, 0x18, 0x2d, 0xae, 0xf6, 0xff, 0x96, 0x56, 0x57, 0x65,
- 0xf1, 0xd0, 0xf3, 0x13, 0x24, 0x94, 0xed, 0x1b, 0x09, 0xb5, 0xfb, 0x72,
- 0xf7, 0x09, 0xf2, 0xbf, 0xa7, 0x39, 0x6a, 0xf7, 0x90, 0x80, 0xd8, 0x98,
- 0x6d, 0x30, 0xc1, 0x06, 0xd2, 0x24, 0x2c, 0xab, 0x46, 0x31, 0xd9, 0xe0,
- 0xeb, 0x3e, 0xf5, 0x9f, 0x9d, 0xc8, 0xb3, 0x9c, 0x7a, 0xbe, 0x21, 0xb9,
- 0x0a, 0x1b, 0x94, 0xa6, 0xb9, 0x98, 0x6f, 0xb4, 0xd9, 0xdc, 0x1f, 0x18,
- 0x2b, 0x7d, 0xc2, 0x96, 0x89, 0x3c, 0xb4, 0x1c, 0xf5, 0xc8, 0x20, 0xaa,
- 0xb2, 0xf4, 0x93, 0xab, 0x8a, 0xec, 0xd8, 0x37, 0x34, 0xe4, 0x71, 0xfe,
- 0xf6, 0x90, 0xc9, 0x46, 0x35, 0x5f, 0x0a, 0x53, 0x9d, 0x58, 0xd7, 0xd4,
- 0x16, 0xf5, 0xf2, 0x81, 0xef, 0x53, 0x6e, 0xc3, 0xfe, 0x64, 0xf4, 0x88,
- 0x87, 0xcc, 0xb9, 0x63, 0xb2, 0xb8, 0x83, 0x76, 0x95, 0x1c, 0x32, 0xd4,
- 0x50, 0xea, 0x43, 0xcb, 0x1f, 0x6f, 0x72, 0xf5, 0x57, 0x8e, 0x38, 0x50,
- 0xd7, 0xb4, 0xb0, 0xb4, 0x7a, 0x77, 0x4c, 0xbf, 0xa9, 0x20, 0xeb, 0x9b,
- 0x83, 0x33, 0xcf, 0xd0, 0x85, 0x21, 0xe9, 0x9c, 0x7a, 0xf4, 0x1c, 0x19,
- 0x3a, 0xa8, 0xb0, 0x2e, 0x85, 0x93, 0x7a, 0xce, 0x44, 0x69, 0x20, 0x27,
- 0x49, 0x37, 0x02, 0x40, 0xbe, 0x94, 0xfb, 0x04, 0xfe, 0x27, 0x14, 0x1e,
- 0x98, 0x4e, 0x52, 0x04, 0x42, 0xe5, 0x16, 0xa2, 0x0c, 0x88, 0xd3, 0x42,
- 0xb3, 0x98, 0x7b, 0x9d, 0x2a, 0x0b, 0xe6, 0xc7, 0xf8, 0x0e, 0xae, 0xe8,
- 0x33, 0xa3, 0x84, 0x83, 0xc6, 0x65, 0xf8, 0xe6, 0x5b, 0xea, 0xb1, 0x04,
- 0x75, 0xa0, 0xb5, 0xa9, 0x2f, 0xdb, 0x46, 0xa2, 0xd4, 0x6a, 0x54, 0xe7,
- 0x95, 0xfa, 0x16, 0xa9, 0xb9, 0x9b, 0x27, 0x03, 0xfe, 0x73, 0xcf, 0x56,
- 0x22, 0xc6, 0x63, 0xc0, 0x79, 0x5e, 0x6a, 0x9d, 0xe3, 0x59, 0x46, 0x85,
- 0x77, 0xf3, 0x7a, 0xe6, 0x60, 0x29, 0x97, 0xf2, 0xba, 0xab, 0x7e, 0x27,
- 0x4a, 0x24, 0x85, 0x16, 0xd0, 0x0f, 0xf4, 0x36, 0x17, 0x5c, 0x97, 0xd9,
- 0x65, 0x77, 0x89, 0xa4, 0xa3, 0x48, 0xde, 0x8d, 0x14, 0x39, 0xc1, 0x63,
- 0x94, 0x5f, 0x7d, 0xaf, 0x4b, 0xc1, 0x37, 0x8d, 0x59, 0x86, 0xb4, 0xfe,
- 0x64, 0x2e, 0x05, 0x86, 0x22, 0x98, 0x79, 0xcc, 0x25, 0x98, 0x4f, 0xee,
- 0xab, 0x9c, 0x21, 0x41, 0xe4, 0x48, 0x03, 0xa3, 0x53, 0x6b, 0xeb, 0xf1,
- 0x65, 0x4a, 0xb6, 0xf3, 0xb4, 0xce, 0x98, 0x2a, 0x11, 0x84, 0x40, 0x14,
- 0xfb, 0xa3, 0xad, 0x07, 0x9b, 0x49, 0x31, 0xb5, 0x10, 0x67, 0xb4, 0x4b,
- 0xf7, 0xf6, 0x9e, 0x3d, 0xeb, 0x25, 0xeb, 0xe4, 0x77, 0x44, 0x9f, 0x68,
- 0x43, 0xbf, 0x85, 0xe0, 0x59, 0x8f, 0x16, 0xc3, 0xdd, 0xae, 0x2e, 0xc7,
- 0xf4, 0x3f, 0x7a, 0x4f, 0x6b, 0x40, 0x5e, 0x48, 0x22, 0x0e, 0x75, 0x13,
- 0x41, 0x56, 0x4b, 0x97, 0xc3, 0x3b, 0x8d, 0x7e, 0x77, 0x6c, 0x5d, 0x4b,
- 0x14, 0x47, 0x9a, 0x67, 0xe5, 0x5c, 0x03, 0xc6, 0x33, 0xa9, 0xee, 0x81,
- 0xef, 0x7b, 0x51, 0x36, 0x84, 0xf8, 0x19, 0x21, 0x27, 0xbc, 0x08, 0xf5,
- 0x62, 0xd4, 0x97, 0x04, 0x61, 0x36, 0x34, 0x73, 0x73, 0x98, 0x67, 0xb4,
- 0x08, 0xe2, 0xc1, 0x0f, 0x84, 0xf4, 0x57, 0xc9, 0xba, 0x6c, 0x37, 0xfa,
- 0x63, 0x80, 0x78, 0x6f, 0x36, 0xa6, 0x61, 0x94, 0xaf, 0xe5, 0x1f, 0xff,
- 0xfe, 0xef, 0xa6, 0xd9, 0x7f, 0xa7, 0x56, 0x5e, 0xff, 0xb9, 0x6e, 0xae,
- 0xbd, 0x67, 0xd6, 0xe5, 0x0c, 0x1c, 0xbb, 0x68, 0x37, 0x10, 0x6c, 0x20,
- 0x89, 0x45, 0x1e, 0xdb, 0xbb, 0x13, 0x11, 0xd2, 0x3d, 0x6f, 0x7c, 0x39,
- 0x32, 0x0c, 0xd9, 0x6f, 0x6a, 0x01, 0x24, 0x5f, 0x51, 0x24, 0x3a, 0xa3,
- 0xcc, 0x74, 0xb3, 0x08, 0x20, 0x16, 0xdc, 0x72, 0x90, 0x12, 0x96, 0xef,
- 0xf0, 0x8d, 0x72, 0x75, 0xb8, 0x4e, 0xb5, 0xab, 0x5b, 0xbd, 0x29, 0xf8,
- 0x14, 0x63, 0x9d, 0xcc, 0xaf, 0xd2, 0x69, 0x79, 0x65, 0x47, 0x1c, 0xab,
- 0x2f, 0xf3, 0x8b, 0xc6, 0xbe, 0xee, 0x37, 0xa4, 0x6f, 0xfa, 0xf1, 0xf5,
- 0x47, 0xb6, 0x42, 0x38, 0x01, 0x7b, 0x34, 0x01, 0x7f, 0x0d, 0xeb, 0x89,
- 0x09, 0x79, 0xb0, 0xb1, 0x54, 0x54, 0x90, 0x6c, 0xeb, 0x41, 0xb7, 0x27,
- 0x9f, 0xa0, 0xbb, 0x63, 0x3a, 0x02, 0x9d, 0x02, 0x37, 0x4e, 0x56, 0x58,
- 0xe5, 0x46, 0x6a, 0x97, 0x88, 0x6e, 0x92, 0x19, 0x79, 0x95, 0x9b, 0xb3,
- 0x80, 0x0b, 0x90, 0xbe, 0x43, 0x73, 0x86, 0xd0, 0x64, 0xc6, 0x84, 0x34,
- 0x23, 0x2e, 0x0f, 0xd6, 0xef, 0x17, 0xcd, 0x74, 0xc6, 0x54, 0xcb, 0x13,
- 0x94, 0x0a, 0xd3, 0x0c, 0x8d, 0xbc, 0x08, 0x49, 0x06, 0xdb, 0xf3, 0xcc,
- 0xaf, 0xfe, 0x73, 0xb3, 0xe4, 0x0b, 0x3d, 0xae, 0xc0, 0x49, 0xed, 0x6c,
- 0x3b, 0xe2, 0x46, 0x47, 0x8e, 0x46, 0xbe, 0xd0, 0x7e, 0x21, 0xd5, 0xcb,
- 0x00, 0xed, 0xb7, 0xa2, 0x49, 0xd8, 0xc7, 0x7c, 0xc8, 0xaa, 0x66, 0x1a,
- 0x11, 0x25, 0x34, 0x39, 0xdf, 0x8c, 0x7c, 0xcf, 0x00, 0x4a, 0xae, 0x93,
- 0xcd, 0xe1, 0xf0, 0xec, 0x78, 0x5b, 0x8b, 0x9f, 0xad, 0xad, 0x1d, 0xbd,
- 0xff, 0xee, 0xf8, 0xfc, 0xf4, 0xfd, 0xbb, 0xa3, 0xf7, 0x17, 0xc9, 0x77,
- 0x07, 0xe7, 0xc7, 0x07, 0x5f, 0x9d, 0x08, 0xf9, 0x02, 0x0d, 0x93, 0x30,
- 0x67, 0x6c, 0x0a, 0x76, 0xf8, 0x83, 0xbd, 0xbc, 0xb8, 0x68, 0xd5, 0x99,
- 0x4e, 0x41, 0xed, 0x8f, 0x42, 0x7e, 0x0f, 0xc3, 0xf8, 0x23, 0x0a, 0x68,
- 0xf5, 0xc8, 0x16, 0xfa, 0xa8, 0xb5, 0xb4, 0xc8, 0x96, 0xbf, 0xf7, 0xd2,
- 0xf9, 0x09, 0x0e, 0x47, 0xe2, 0x4c, 0x85, 0xb9, 0xab, 0x22, 0x69, 0xcb,
- 0xb2, 0x7c, 0xcd, 0x8c, 0x10, 0x5a, 0xa3, 0x46, 0x5f, 0x85, 0xfc, 0x60,
- 0x5d, 0xc7, 0xf5, 0xe1, 0xe0, 0xe4, 0xc4, 0x7d, 0x6a, 0x75, 0xf9, 0x22,
- 0x61, 0x03, 0xe3, 0x5c, 0x42, 0x34, 0x4a, 0x71, 0xea, 0xab, 0xd2, 0x31,
- 0xf9, 0x17, 0xf7, 0x3e, 0x69, 0x3f, 0x7d, 0xcc, 0x6c, 0x97, 0x4d, 0xa6,
- 0x71, 0x21, 0xd0, 0x42, 0x93, 0x55, 0x79, 0xfd, 0xa9, 0x97, 0x6c, 0xfc,
- 0x79, 0x43, 0x0a, 0xd6, 0x83, 0x66, 0x9a, 0x8b, 0x23, 0x6d, 0xb9, 0x4e,
- 0xbd, 0x3f, 0x75, 0x7d, 0x92, 0x38, 0xbc, 0xed, 0x80, 0x7d, 0xd1, 0xa1,
- 0x28, 0x6a, 0x55, 0xaf, 0x01, 0x5f, 0x76, 0x8f, 0x4b, 0x05, 0x11, 0xcb,
- 0x4e, 0x21, 0xf2, 0x91, 0xe2, 0xac, 0xd1, 0x77, 0xe1, 0x44, 0x48, 0xc7,
- 0x1e, 0x9b, 0x38, 0xc6, 0x5a, 0x90, 0xe7, 0xcd, 0x56, 0x75, 0x53, 0xe7,
- 0xb4, 0x99, 0xea, 0x89, 0x10, 0x2e, 0xa6, 0xda, 0xb2, 0xa4, 0x32, 0x23,
- 0x55, 0xdc, 0x46, 0xa0, 0x3c, 0x27, 0x63, 0x2a, 0x80, 0xf6, 0x81, 0x99,
- 0x69, 0x9c, 0x7c, 0x76, 0x22, 0xb5, 0xbc, 0xbb, 0x88, 0x09, 0x75, 0x72,
- 0x3f, 0x25, 0xd6, 0x51, 0xb6, 0x7e, 0x26, 0xeb, 0x2a, 0x41, 0x28, 0xe6,
- 0xd7, 0xe6, 0xd9, 0x07, 0x0b, 0x06, 0xbb, 0x33, 0x75, 0x26, 0x01, 0x98,
- 0xf4, 0x5f, 0x5f, 0x47, 0x6e, 0x12, 0xc7, 0x5a, 0x2c, 0x29, 0x22, 0x51,
- 0x0e, 0x61, 0x8e, 0x1d, 0x2e, 0x3d, 0xbb, 0x63, 0x2e, 0x21, 0xbb, 0xcb,
- 0xdc, 0x4e, 0xe0, 0xc2, 0x77, 0x02, 0x43, 0xef, 0xf6, 0x58, 0x8b, 0x5a,
- 0xa5, 0x5a, 0x44, 0x09, 0x71, 0x33, 0x56, 0xb9, 0xa0, 0x34, 0x75, 0x87,
- 0x03, 0xa7, 0x21, 0x03, 0x9e, 0x5b, 0x9d, 0xee, 0x34, 0xbc, 0xae, 0x78,
- 0x82, 0x45, 0x2d, 0x2a, 0x14, 0xee, 0x90, 0xbb, 0x6d, 0x2d, 0x4b, 0x05,
- 0x90, 0x01, 0x25, 0x04, 0x55, 0x46, 0x8a, 0xd6, 0xcb, 0xab, 0x3f, 0x0d,
- 0x10, 0x9b, 0x3e, 0x3f, 0x44, 0xf9, 0x84, 0x82, 0x0a, 0xa8, 0xba, 0xb2,
- 0x37, 0x48, 0x1e, 0x28, 0xb2, 0xa6, 0xa2, 0x8c, 0xdc, 0x42, 0xac, 0x10,
- 0x00, 0xf2, 0x61, 0xa4, 0xa7, 0x57, 0xa5, 0x1a, 0xe0, 0xa9, 0x45, 0xcd,
- 0xd8, 0xe2, 0x80, 0x9e, 0x51, 0x6f, 0x99, 0x03, 0xad, 0xe0, 0x02, 0xbe,
- 0x46, 0x23, 0x84, 0x84, 0x2f, 0xa5, 0x43, 0xa6, 0xc5, 0xde, 0x6b, 0x8f,
- 0x9b, 0xc1, 0xa5, 0x2f, 0x91, 0x24, 0xe7, 0x2c, 0x1d, 0xa5, 0xf2, 0x03,
- 0x7d, 0xa2, 0x72, 0x39, 0x00, 0xe9, 0x8c, 0x6e, 0xd1, 0x83, 0x68, 0x52,
- 0x40, 0xeb, 0x68, 0x52, 0x83, 0x57, 0x46, 0x5e, 0x4d, 0x29, 0x83, 0x54,
- 0xf5, 0x8e, 0x34, 0x19, 0xe5, 0x57, 0xcc, 0x09, 0x42, 0x04, 0x14, 0x74,
- 0x2e, 0x41, 0xf1, 0x58, 0xce, 0x32, 0x3a, 0x1c, 0x20, 0x70, 0x84, 0xf1,
- 0x7e, 0x5d, 0x4e, 0x7d, 0x96, 0x41, 0x1d, 0x89, 0xac, 0xbe, 0x8d, 0x7d,
- 0x20, 0xf6, 0xb9, 0xa0, 0x79, 0x54, 0x38, 0xaa, 0x54, 0x12, 0x10, 0x70,
- 0x2e, 0x05, 0xd5, 0xc0, 0x95, 0x5a, 0x20, 0x15, 0x50, 0xb9, 0x14, 0x30,
- 0x0f, 0x9a, 0xb8, 0x40, 0x1b, 0x17, 0x8e, 0x74, 0x2a, 0xc9, 0xba, 0x69,
- 0x4b, 0x01, 0x50, 0x2b, 0x63, 0x66, 0x68, 0x26, 0x31, 0xc3, 0x90, 0x92,
- 0x76, 0xed, 0x2e, 0x59, 0x2c, 0xe1, 0xce, 0x33, 0x7b, 0x82, 0x3a, 0x6d,
- 0x66, 0x6a, 0xd3, 0x53, 0x33, 0x0a, 0xb3, 0x45, 0xf8, 0x31, 0xf6, 0x20,
- 0xc9, 0xbf, 0xfa, 0xb6, 0xec, 0xa0, 0x00, 0x4f, 0xb6, 0x1c, 0xf0, 0x88,
- 0xcd, 0x00, 0x92, 0x0f, 0x63, 0x29, 0xfc, 0x0a, 0x88, 0x0e, 0x55, 0xad,
- 0x05, 0x21, 0x5c, 0x2b, 0xf8, 0x90, 0x68, 0xc2, 0xdd, 0x74, 0xea, 0xd5,
- 0x02, 0x60, 0x7f, 0x64, 0x1a, 0x18, 0x1f, 0x24, 0x27, 0x06, 0x2c, 0x73,
- 0x19, 0xfa, 0xc7, 0xbc, 0xe1, 0xde, 0x40, 0x24, 0xa9, 0x84, 0xcc, 0xb3,
- 0x4e, 0x4c, 0xc3, 0xbb, 0x42, 0x14, 0x1e, 0xe3, 0xab, 0xa1, 0x52, 0xfa,
- 0x26, 0x4f, 0x67, 0x6c, 0x3c, 0xba, 0xdd, 0x37, 0xbb, 0x67, 0xd8, 0xf1,
- 0xda, 0xda, 0xe1, 0x87, 0xe1, 0xc5, 0xe9, 0xbb, 0xe4, 0xf4, 0xc3, 0xc5,
- 0xd9, 0x87, 0x0b, 0xd1, 0x53, 0x47, 0x9c, 0xb4, 0xc1, 0xd0, 0x25, 0xd6,
- 0x9d, 0x75, 0x31, 0x67, 0x02, 0xf0, 0x01, 0xc6, 0xac, 0x04, 0xad, 0xa8,
- 0xc7, 0x28, 0x66, 0x93, 0x32, 0xc1, 0xb5, 0xc7, 0xd4, 0xe2, 0x98, 0xf2,
- 0x5b, 0x33, 0xe5, 0x48, 0xa8, 0x87, 0x27, 0x5f, 0x73, 0x3c, 0xe1, 0xf7,
- 0xd0, 0xb3, 0xd6, 0x2e, 0x2b, 0x75, 0xdf, 0xf6, 0x63, 0x00, 0x9d, 0xd3,
- 0x66, 0x70, 0xf3, 0xab, 0xdb, 0xb2, 0x73, 0xd7, 0xf9, 0x7e, 0x7d, 0x4c,
- 0xb7, 0xd4, 0xc6, 0xd5, 0x08, 0x94, 0xc2, 0xea, 0x81, 0x35, 0x6c, 0x67,
- 0x16, 0xfb, 0x09, 0xce, 0x4d, 0x69, 0x46, 0x78, 0x6d, 0x53, 0x62, 0x08,
- 0x46, 0x08, 0x28, 0x30, 0x23, 0xa8, 0x08, 0x73, 0xcb, 0x2e, 0x83, 0x22,
- 0xbb, 0x25, 0xc5, 0x27, 0xd0, 0xa9, 0x6f, 0x93, 0x8d, 0xef, 0x33, 0xbf,
- 0xc1, 0x3f, 0xfd, 0x27, 0xe5, 0x6d, 0x7f, 0xd4, 0x9f, 0xfc, 0x17, 0x7f,
- 0xf2, 0xa7, 0x62, 0x03, 0x02, 0xb3, 0x0d, 0x95, 0xf9, 0xf6, 0xe8, 0xfc,
- 0xab, 0xa3, 0xf3, 0xd3, 0x21, 0xe4, 0x81, 0xfa, 0xbb, 0xc3, 0xbd, 0xfe,
- 0x29, 0xab, 0x46, 0x59, 0x55, 0x4a, 0xc9, 0x3b, 0xfd, 0xd7, 0xb3, 0xed,
- 0xaf, 0x87, 0xc3, 0x83, 0xb3, 0x63, 0x5b, 0x54, 0xca, 0x66, 0x90, 0xb2,
- 0x8f, 0xa4, 0xe0, 0x1c, 0x67, 0x1a, 0xbf, 0xbe, 0x62, 0xf6, 0xc5, 0xf8,
- 0x13, 0x67, 0x16, 0x04, 0xa0, 0x14, 0x0d, 0xac, 0x11, 0x1a, 0x45, 0x12,
- 0x8b, 0xa9, 0x61, 0x65, 0x82, 0xf3, 0x0b, 0x43, 0x70, 0x05, 0x07, 0x0a,
- 0x06, 0xf6, 0x2c, 0x04, 0xf7, 0x53, 0x35, 0xea, 0x9b, 0xdd, 0xfe, 0x49,
- 0x6b, 0xac, 0x73, 0x22, 0x94, 0x11, 0x95, 0x9c, 0x21, 0xe1, 0x9c, 0x8d,
- 0x9f, 0xf2, 0x22, 0x6f, 0xb6, 0x3f, 0xd1, 0xf9, 0xa0, 0x82, 0x47, 0xd3,
- 0x01, 0x4b, 0x77, 0x3e, 0x50, 0x0a, 0x7b, 0x27, 0x11, 0xbb, 0x8a, 0x9d,
- 0xc6, 0x7c, 0xcd, 0x56, 0x29, 0x65, 0x87, 0xb7, 0xf9, 0xc9, 0x53, 0x4b,
- 0xd3, 0x27, 0x9a, 0x3f, 0x90, 0xb2, 0x97, 0xe6, 0xae, 0x9a, 0xdf, 0x4e,
- 0xe4, 0x12, 0x01, 0x4b, 0x3d, 0x2b, 0x97, 0x22, 0xc3, 0xbb, 0x11, 0x6a,
- 0xaa, 0xa4, 0x8a, 0x8c, 0x2d, 0xc9, 0x47, 0x49, 0x46, 0xd3, 0xb4, 0xf8,
- 0x04, 0xfd, 0x01, 0x1a, 0x01, 0xdd, 0x7d, 0x4a, 0x3e, 0x47, 0x15, 0x6e,
- 0x01, 0x48, 0x10, 0x3e, 0x18, 0x98, 0x7c, 0x53, 0x12, 0x6e, 0xf7, 0x1c,
- 0xcc, 0xb3, 0x1c, 0x7b, 0x5e, 0xe8, 0x1d, 0xc7, 0xc9, 0x4d, 0x02, 0xf9,
- 0x8e, 0x8f, 0x4e, 0xcc, 0xc5, 0x64, 0xb3, 0xcc, 0xe0, 0xa3, 0xcb, 0xa6,
- 0x14, 0x0b, 0x52, 0x48, 0x20, 0x27, 0x56, 0xe7, 0x10, 0x64, 0x2c, 0x3d,
- 0xb4, 0xd6, 0x01, 0x02, 0xc8, 0xd8, 0x2e, 0xc8, 0x1f, 0xaf, 0x6d, 0x45,
- 0x20, 0x91, 0xdc, 0x2c, 0xc4, 0xc0, 0x0e, 0xec, 0x0a, 0x04, 0xf9, 0xa5,
- 0xaa, 0x04, 0x6f, 0x7b, 0xe8, 0x00, 0x81, 0xb6, 0x76, 0x1f, 0x77, 0xc2,
- 0x19, 0xa1, 0x16, 0x62, 0xd0, 0x4a, 0x6f, 0x5b, 0xba, 0x4c, 0xfc, 0x7a,
- 0xcc, 0x0b, 0xc8, 0xa4, 0x86, 0x13, 0x09, 0x78, 0x5a, 0x3e, 0x30, 0xcd,
- 0x59, 0x68, 0xe7, 0x09, 0x68, 0xc7, 0x19, 0x0e, 0x44, 0xd1, 0x9b, 0x69,
- 0x63, 0x1d, 0x15, 0x35, 0x33, 0xac, 0x41, 0xe9, 0x9a, 0x40, 0xe4, 0x54,
- 0x2d, 0xaa, 0x6a, 0x1f, 0x9e, 0xcf, 0x94, 0x35, 0xa5, 0x35, 0x32, 0xd9,
- 0xfa, 0xb7, 0xd6, 0x6c, 0xff, 0x3d, 0x5d, 0x17, 0x65, 0x7f, 0xb4, 0x80,
- 0x63, 0xc6, 0xab, 0xa9, 0xc7, 0x49, 0xdc, 0xe5, 0x25, 0x6b, 0x1e, 0xfc,
- 0x7b, 0x0a, 0x48, 0x83, 0x1e, 0x83, 0x63, 0xd4, 0xc8, 0x97, 0x6e, 0x33,
- 0x6d, 0x59, 0x7e, 0x25, 0x4e, 0x42, 0x72, 0xc5, 0xbe, 0xed, 0x00, 0x65,
- 0x91, 0xad, 0x93, 0xc6, 0xb3, 0x69, 0x7a, 0x9d, 0x94, 0x8b, 0xc6, 0xd6,
- 0xa6, 0xb8, 0x80, 0x9a, 0x90, 0x49, 0xc5, 0x06, 0xcd, 0xa5, 0xd0, 0xcc,
- 0xad, 0x9b, 0x86, 0xaa, 0xc0, 0x31, 0x35, 0x4c, 0x3a, 0xe5, 0x92, 0x3a,
- 0x4b, 0xaf, 0x12, 0x3e, 0x4c, 0xcd, 0xc5, 0xc5, 0x5f, 0xcf, 0x8e, 0x5e,
- 0xeb, 0x9b, 0xab, 0xd6, 0x8c, 0x19, 0x13, 0x01, 0x9a, 0xcb, 0x84, 0xa1,
- 0xd8, 0xab, 0x63, 0x6f, 0x36, 0x59, 0xbf, 0x51, 0x30, 0x0f, 0x7f, 0xa6,
- 0x9f, 0xfc, 0xf0, 0xe6, 0x78, 0x78, 0x76, 0x72, 0x7a, 0xf8, 0xfa, 0xd5,
- 0x0f, 0x2a, 0x92, 0xbf, 0xa0, 0x18, 0x21, 0xeb, 0x69, 0xf6, 0x67, 0x8e,
- 0xd1, 0x45, 0xde, 0x7b, 0x7f, 0xf4, 0xfd, 0x47, 0x63, 0x8f, 0xbd, 0xa6,
- 0xba, 0x0e, 0xbd, 0x9b, 0x74, 0x2a, 0x2f, 0x91, 0x7e, 0x1a, 0xd1, 0xed,
- 0x06, 0x6d, 0x0a, 0xce, 0xee, 0xc4, 0xda, 0x52, 0xc2, 0x2e, 0x51, 0xe9,
- 0x5e, 0x71, 0xb4, 0x5e, 0xd5, 0xb8, 0xb4, 0x95, 0x57, 0x1f, 0x29, 0xfc,
- 0xed, 0xae, 0xff, 0x8d, 0x86, 0x41, 0xd5, 0x84, 0x21, 0xf2, 0xa1, 0x39,
- 0x00, 0xae, 0xcb, 0x6f, 0x1c, 0xa0, 0x5f, 0xf8, 0xd3, 0x2b, 0xf2, 0xa3,
- 0x59, 0x02, 0x5a, 0xa9, 0x26, 0x0f, 0xd0, 0x8b, 0xb0, 0xd4, 0x0a, 0xf5,
- 0x1a, 0x61, 0xe8, 0x35, 0x9d, 0x46, 0xe5, 0x98, 0xa8, 0x30, 0xb6, 0x2f,
- 0xa9, 0xd6, 0xb5, 0x46, 0xf1, 0xac, 0xb3, 0xa3, 0xf3, 0xe1, 0xf1, 0xf0,
- 0x82, 0x0c, 0x57, 0x29, 0xb2, 0x2a, 0x41, 0x28, 0xad, 0x80, 0x0b, 0xd2,
- 0x96, 0x36, 0xe1, 0xb0, 0x5f, 0xd8, 0xa7, 0x75, 0xa2, 0xad, 0x98, 0x6b,
- 0x67, 0x71, 0xd3, 0x0d, 0xc0, 0xa9, 0xe1, 0xa4, 0x88, 0x32, 0x6d, 0x76,
- 0x7a, 0xa9, 0x07, 0xb8, 0x94, 0xad, 0xd1, 0xa9, 0x6f, 0x83, 0xda, 0x54,
- 0x58, 0x9d, 0x69, 0x3e, 0xf2, 0xaa, 0xda, 0xb7, 0x31, 0x24, 0x04, 0x4f,
- 0x12, 0x8a, 0x1e, 0xff, 0x08, 0x69, 0x40, 0xcc, 0x51, 0x23, 0x48, 0xdd,
- 0x6d, 0xb9, 0xd6, 0x24, 0xad, 0xd9, 0x4f, 0x60, 0xb7, 0x6e, 0x29, 0x18,
- 0x2d, 0xaa, 0xa7, 0xd9, 0x9f, 0x7a, 0x28, 0x74, 0x61, 0x7d, 0x03, 0x61,
- 0xb5, 0x88, 0x6c, 0x12, 0xca, 0x39, 0xa7, 0xa2, 0x92, 0x7f, 0xd2, 0x68,
- 0x2d, 0xa0, 0xd6, 0x00, 0x50, 0x50, 0x46, 0x16, 0xa8, 0x20, 0xa2, 0x3a,
- 0x5e, 0x51, 0x0e, 0x2b, 0xa8, 0xf5, 0x26, 0xa4, 0x6f, 0xc1, 0x05, 0xef,
- 0x7f, 0x4c, 0xaf, 0x53, 0x9a, 0xc1, 0xd1, 0xc2, 0xaf, 0xda, 0x68, 0x7b,
- 0xcf, 0x05, 0x84, 0x30, 0xf1, 0x80, 0x48, 0xa7, 0x15, 0x3c, 0x19, 0x8d,
- 0x94, 0x8a, 0x50, 0xc3, 0x47, 0xf0, 0xce, 0x83, 0x36, 0x8b, 0x97, 0xee,
- 0x4b, 0x35, 0xc2, 0x56, 0xcd, 0xa8, 0x57, 0xe6, 0x95, 0xb6, 0x6f, 0x95,
- 0x29, 0x70, 0x91, 0x9d, 0x8a, 0x35, 0x45, 0x1c, 0x8b, 0xb1, 0xbd, 0x8c,
- 0x29, 0xeb, 0x90, 0x00, 0x06, 0x95, 0x30, 0xa4, 0x19, 0xf1, 0x47, 0xa1,
- 0x25, 0xd4, 0x86, 0x45, 0xd1, 0x74, 0x0a, 0xbb, 0x2b, 0x7b, 0xa6, 0xcb,
- 0xe3, 0xe0, 0xe9, 0xf6, 0xb6, 0x15, 0xc7, 0xd7, 0xee, 0xe5, 0x83, 0x96,
- 0x21, 0x43, 0x17, 0xab, 0xc7, 0x09, 0x97, 0x29, 0xf2, 0xfb, 0x34, 0xb0,
- 0xe3, 0xe5, 0x89, 0xd7, 0x92, 0x7d, 0x6f, 0xf1, 0x29, 0x10, 0x78, 0xad,
- 0x02, 0xd9, 0x34, 0xba, 0x16, 0x36, 0xc0, 0xe8, 0x97, 0x73, 0x54, 0x3b,
- 0x1b, 0x4b, 0x0d, 0x09, 0xa0, 0xf6, 0x6d, 0x83, 0x7a, 0x89, 0xb8, 0xc9,
- 0x32, 0xb3, 0xfa, 0xee, 0xc3, 0xc9, 0xc5, 0xf1, 0x99, 0x8f, 0x3f, 0x48,
- 0xbe, 0x3f, 0xbe, 0xf8, 0xc6, 0x68, 0xed, 0xc3, 0xe3, 0xf7, 0x5f, 0x9f,
- 0x50, 0x90, 0xf7, 0xdd, 0xbb, 0x83, 0xf7, 0x44, 0x2f, 0xf2, 0x1e, 0xd0,
- 0xe6, 0x03, 0x18, 0x0e, 0x24, 0x8e, 0xcc, 0x14, 0xd3, 0xde, 0x21, 0xe2,
- 0x89, 0x5e, 0x18, 0x6b, 0xec, 0x1c, 0x3f, 0x2e, 0x80, 0x5e, 0xb4, 0x27,
- 0x69, 0x0d, 0xe5, 0xec, 0x61, 0x19, 0xdc, 0x93, 0x1b, 0x17, 0xc7, 0x96,
- 0x8c, 0x2d, 0x9a, 0xe8, 0x6e, 0xf1, 0x08, 0x24, 0x39, 0xb3, 0x86, 0x0e,
- 0x1c, 0x0d, 0xdf, 0xdd, 0x2e, 0x7e, 0x89, 0x15, 0xb5, 0xd4, 0xd3, 0xb0,
- 0x63, 0x8c, 0xce, 0x54, 0x88, 0x5d, 0xc3, 0xf7, 0x65, 0x3b, 0xe9, 0xc8,
- 0x7c, 0x11, 0x5d, 0x02, 0x90, 0xa8, 0x74, 0x8e, 0x74, 0xb2, 0x38, 0xc9,
- 0x68, 0x3e, 0x3f, 0xf1, 0x2f, 0xd4, 0x41, 0xab, 0x3c, 0xa0, 0xe2, 0x83,
- 0xaf, 0xca, 0xcc, 0x9d, 0xdc, 0xfe, 0xa9, 0x36, 0xa3, 0xf1, 0x1f, 0x98,
- 0x61, 0x7c, 0xb9, 0xf4, 0x49, 0xae, 0xf5, 0xcd, 0x92, 0x6c, 0xd9, 0x92,
- 0x60, 0x62, 0xf6, 0xef, 0xb3, 0x5a, 0x69, 0xc9, 0xd5, 0xb5, 0x92, 0xa6,
- 0x69, 0x4e, 0x5b, 0x16, 0x2c, 0x1a, 0x12, 0x32, 0x24, 0xaf, 0x51, 0xc6,
- 0x0c, 0x69, 0xa9, 0x8f, 0xb5, 0x68, 0x19, 0xf8, 0xbe, 0x3b, 0xd5, 0xe0,
- 0xa4, 0xe6, 0xb5, 0xda, 0x1a, 0x8d, 0x0e, 0x3a, 0x81, 0x2a, 0x88, 0x70,
- 0x57, 0x64, 0x84, 0x72, 0xa0, 0xbf, 0xfe, 0x6d, 0x7e, 0xe5, 0xa7, 0xbc,
- 0x72, 0x0d, 0xf8, 0x79, 0x6c, 0x65, 0x85, 0xc9, 0x9d, 0xd5, 0x22, 0xa9,
- 0x3b, 0xd9, 0xea, 0x81, 0x14, 0x93, 0xdc, 0x5d, 0xf6, 0x41, 0xf9, 0xfd,
- 0x5e, 0xf8, 0xfb, 0x3d, 0x0e, 0x32, 0x1c, 0x9f, 0xdd, 0x3c, 0xb7, 0x0c,
- 0xc8, 0x4c, 0xe4, 0xe0, 0xab, 0x6f, 0xaa, 0x14, 0xd0, 0x0e, 0xa3, 0x47,
- 0xc5, 0x65, 0xce, 0x32, 0x91, 0x83, 0x7f, 0x04, 0x21, 0x5d, 0x54, 0x48,
- 0x50, 0xc7, 0x23, 0x88, 0xae, 0x30, 0xee, 0x1f, 0x9e, 0x27, 0xc8, 0x29,
- 0xba, 0xae, 0x4c, 0x83, 0xe6, 0xf7, 0x4f, 0x6d, 0x32, 0x8e, 0x93, 0x69,
- 0xa8, 0xa7, 0x28, 0xe9, 0x90, 0xfd, 0x7c, 0x7e, 0xa3, 0x05, 0xb9, 0xcd,
- 0x5f, 0x9f, 0xdb, 0x5a, 0x5a, 0x75, 0x2b, 0x48, 0xdd, 0x62, 0x1b, 0x57,
- 0xe1, 0x8f, 0xce, 0xc1, 0x07, 0x46, 0x92, 0xc1, 0x19, 0x19, 0x9d, 0x7e,
- 0x65, 0xed, 0x8c, 0x0c, 0xaf, 0xa2, 0x30, 0xb2, 0xbe, 0xa6, 0x48, 0x8d,
- 0x87, 0x3c, 0xf2, 0x84, 0x8b, 0x5f, 0xe9, 0x43, 0x56, 0xfd, 0xc7, 0xbd,
- 0x9d, 0x9d, 0xdd, 0xfd, 0xdd, 0x17, 0x2f, 0x77, 0xf6, 0x77, 0x77, 0x77,
- 0xf7, 0xf6, 0x77, 0xf7, 0xf7, 0xf7, 0x76, 0x7e, 0xde, 0x26, 0xff, 0xd1,
- 0x4d, 0x9e, 0xdd, 0x6a, 0x64, 0x9a, 0xfd, 0x7c, 0xd8, 0xd6, 0x75, 0x73,
- 0xcf, 0x60, 0x00, 0xf6, 0xf4, 0x61, 0x5f, 0xab, 0xe6, 0x63, 0x69, 0x65,
- 0x38, 0x67, 0x86, 0x29, 0x24, 0xe7, 0x2e, 0xd5, 0x1c, 0x67, 0xd0, 0xa3,
- 0xb9, 0x47, 0xaf, 0xfe, 0xbe, 0xa0, 0x91, 0x8e, 0x48, 0x1d, 0x80, 0x4e,
- 0x53, 0xdb, 0xc4, 0xde, 0xab, 0x69, 0x39, 0x1a, 0x21, 0x75, 0xc9, 0xe6,
- 0xb6, 0x0f, 0x12, 0xe2, 0x52, 0xfe, 0xc4, 0x5b, 0x42, 0x42, 0x87, 0x40,
- 0x15, 0xf3, 0x41, 0x77, 0xb3, 0xe3, 0x3c, 0x7b, 0x66, 0x07, 0x8c, 0x4b,
- 0xaa, 0x2b, 0x02, 0x4f, 0xb7, 0x99, 0xa4, 0xca, 0xe6, 0xbc, 0x25, 0x97,
- 0xd9, 0x8b, 0x9d, 0xfd, 0x7d, 0x2a, 0xfd, 0xf3, 0xa7, 0xdd, 0x9e, 0x00,
- 0xc2, 0xfd, 0x2c, 0x97, 0x9e, 0xbd, 0x9e, 0xb8, 0x0d, 0x32, 0x3f, 0xfc,
- 0x71, 0x16, 0x8b, 0x59, 0x56, 0x19, 0x43, 0x84, 0xea, 0x3c, 0x03, 0x11,
- 0x0d, 0x8f, 0x21, 0x73, 0x2c, 0x82, 0x91, 0xa9, 0x93, 0x8d, 0x43, 0x37,
- 0x02, 0x73, 0x45, 0x5b, 0x16, 0x0a, 0xe6, 0x0b, 0x73, 0x43, 0xb4, 0x6d,
- 0xa3, 0xfc, 0x15, 0xc0, 0x9a, 0x9c, 0xcb, 0xc6, 0x59, 0x7c, 0x7c, 0xdf,
- 0x8a, 0x64, 0xc0, 0xe1, 0x2a, 0xb8, 0xfa, 0x30, 0x3d, 0xce, 0x3a, 0x3c,
- 0x3c, 0x26, 0x9e, 0x72, 0x2b, 0x09, 0x7c, 0x3f, 0x7a, 0x83, 0xdd, 0x7b,
- 0xb6, 0xfb, 0x33, 0xe3, 0x95, 0xe9, 0x40, 0xb8, 0x59, 0xd3, 0xe0, 0x8b,
- 0x9f, 0xa2, 0xa5, 0x1b, 0x69, 0x33, 0x1b, 0x5c, 0x0d, 0x54, 0xab, 0x10,
- 0x6f, 0x63, 0xcf, 0xcf, 0x1a, 0xe1, 0x3a, 0x05, 0x5c, 0x53, 0x1c, 0x76,
- 0x9a, 0x3a, 0x94, 0x7c, 0x57, 0xad, 0x0e, 0xcc, 0x56, 0x8e, 0x7b, 0x77,
- 0x74, 0x71, 0x60, 0x2e, 0x8f, 0x6f, 0x43, 0x43, 0xff, 0x5d, 0x66, 0xac,
- 0x72, 0x5a, 0xec, 0x4d, 0x9c, 0x87, 0x1b, 0xcb, 0x0e, 0x4e, 0x73, 0xf7,
- 0x34, 0xd9, 0xa4, 0x10, 0xe5, 0xb3, 0x17, 0xcf, 0x9e, 0x6e, 0x71, 0x29,
- 0x16, 0x7e, 0x2d, 0xa3, 0x04, 0x31, 0x78, 0x25, 0x85, 0x9d, 0x8a, 0x1c,
- 0xf8, 0x56, 0x24, 0x7d, 0x38, 0x3f, 0xe6, 0x23, 0x7d, 0xcd, 0x24, 0x22,
- 0x6c, 0xf4, 0x76, 0xd9, 0x24, 0x71, 0xdf, 0x7a, 0x4a, 0xc6, 0x2c, 0x27,
- 0xa6, 0x53, 0x90, 0x2f, 0xd0, 0xc5, 0x68, 0xc9, 0x3f, 0x70, 0xc3, 0x9a,
- 0x03, 0x5a, 0xa2, 0x96, 0xa8, 0xd4, 0x7d, 0x43, 0x67, 0x40, 0x8d, 0x4a,
- 0xcc, 0xcc, 0xb2, 0xcf, 0xac, 0x05, 0x46, 0x76, 0x10, 0xcb, 0x23, 0x96,
- 0xfe, 0x1d, 0x36, 0xfe, 0x2d, 0x86, 0xfc, 0x40, 0x29, 0xa4, 0x6d, 0x68,
- 0x1e, 0x54, 0xec, 0x38, 0xf5, 0xb8, 0x95, 0x8e, 0xea, 0xb4, 0x4d, 0x8f,
- 0xd4, 0x4d, 0xf9, 0x9c, 0x44, 0x14, 0xd9, 0x29, 0x64, 0x3c, 0x4b, 0x03,
- 0xcf, 0x62, 0xde, 0x72, 0xf9, 0x08, 0x99, 0x06, 0x48, 0x2d, 0x90, 0x73,
- 0x30, 0x33, 0xd7, 0x51, 0x75, 0x2f, 0x1a, 0x36, 0xcc, 0x04, 0x5b, 0xfa,
- 0xb0, 0x83, 0x08, 0x62, 0xda, 0x18, 0x3f, 0x95, 0xc6, 0xb2, 0x26, 0xa9,
- 0xd1, 0xdc, 0xea, 0x40, 0x4b, 0xec, 0xf7, 0x67, 0xfa, 0x2b, 0x0f, 0x30,
- 0xe7, 0xe7, 0x97, 0xea, 0xdf, 0xf5, 0x39, 0x0f, 0x4b, 0x9d, 0x76, 0x07,
- 0xb6, 0xa4, 0x6b, 0xcc, 0xa8, 0x0b, 0xfc, 0xa4, 0xb5, 0x7e, 0x36, 0xd1,
- 0x93, 0xed, 0xed, 0xad, 0x25, 0xbd, 0x91, 0x5f, 0xc7, 0xbe, 0x7e, 0x06,
- 0x52, 0x22, 0x2f, 0xa5, 0xdb, 0xac, 0x79, 0xbb, 0x71, 0x9a, 0xda, 0xbc,
- 0xa6, 0x95, 0x9c, 0x08, 0x30, 0x9e, 0xdd, 0xa8, 0x6a, 0x5e, 0x71, 0xe7,
- 0x55, 0x78, 0xb5, 0x07, 0x21, 0x58, 0x3c, 0x25, 0x89, 0xe3, 0x02, 0xf0,
- 0x8c, 0x0a, 0x18, 0x24, 0x07, 0xb4, 0x1b, 0x5a, 0x1f, 0xf6, 0xba, 0xac,
- 0xfe, 0x5c, 0xad, 0x7b, 0xa0, 0x4a, 0xac, 0x75, 0xe7, 0xf5, 0xbc, 0x5f,
- 0xaa, 0x9a, 0xa7, 0x9c, 0x20, 0xd6, 0xd9, 0x3b, 0xca, 0x98, 0xff, 0xc8,
- 0x4a, 0x4e, 0x8f, 0xcf, 0x3c, 0x2f, 0x5a, 0x35, 0x7d, 0xa5, 0x11, 0x20,
- 0x5d, 0xec, 0x20, 0x40, 0x95, 0x5a, 0x29, 0x05, 0xb7, 0x5f, 0xe7, 0x13,
- 0x14, 0x24, 0x92, 0xd5, 0xc2, 0x8a, 0xb5, 0xdd, 0xc4, 0x0c, 0x52, 0x18,
- 0xf1, 0xf6, 0x6a, 0xcd, 0x47, 0x8f, 0x77, 0x3c, 0xa3, 0x98, 0x2c, 0xa4,
- 0x82, 0x04, 0xc6, 0xc1, 0xf1, 0x09, 0xc1, 0x62, 0x4f, 0x8c, 0x89, 0x37,
- 0x54, 0x55, 0x09, 0x30, 0x71, 0x00, 0x76, 0x8b, 0x9c, 0xd4, 0xf5, 0x9e,
- 0x2d, 0x38, 0xa4, 0xd9, 0x92, 0xb0, 0x5b, 0x28, 0xc4, 0xca, 0xa6, 0xbf,
- 0x90, 0x84, 0x9a, 0xd5, 0x32, 0xfa, 0x52, 0xcd, 0x4e, 0x5b, 0x10, 0x70,
- 0x53, 0x69, 0x8a, 0x9b, 0x6c, 0x5a, 0xce, 0x61, 0x52, 0xb3, 0x98, 0x46,
- 0xbd, 0xb3, 0x2a, 0x9b, 0x66, 0x37, 0xe2, 0x5d, 0x65, 0x3a, 0xe3, 0xaf,
- 0x05, 0xb1, 0xc0, 0xb5, 0x89, 0x1b, 0xc9, 0x6a, 0x09, 0x50, 0x11, 0xf4,
- 0xd1, 0x6d, 0x66, 0x85, 0x72, 0x64, 0x3f, 0xf4, 0x7d, 0x57, 0x84, 0xc3,
- 0xcc, 0x90, 0x2d, 0xe2, 0xd0, 0x27, 0x23, 0x57, 0xc0, 0xed, 0x1f, 0x6a,
- 0xe1, 0x73, 0xe9, 0x66, 0x8b, 0xb0, 0xb3, 0x50, 0xcb, 0x5b, 0xb2, 0xf7,
- 0xbd, 0xa7, 0x34, 0xe9, 0x1c, 0x32, 0xa0, 0x9b, 0xa7, 0x47, 0x9e, 0x5a,
- 0xb4, 0x74, 0x69, 0x2c, 0x32, 0x2a, 0x88, 0xd3, 0xe3, 0xd4, 0x71, 0x6c,
- 0x8e, 0x72, 0x6a, 0xfe, 0x09, 0x40, 0x25, 0x43, 0xac, 0xcd, 0xb3, 0x14,
- 0x6f, 0xf6, 0x30, 0xed, 0x84, 0xb9, 0x41, 0x3a, 0x94, 0xfc, 0x0b, 0x4d,
- 0x55, 0x0b, 0xb0, 0x89, 0xf7, 0xf8, 0x36, 0xa4, 0x38, 0x6f, 0x33, 0x1e,
- 0xd8, 0xde, 0x0b, 0xea, 0x87, 0xfb, 0xff, 0x86, 0xa7, 0x92, 0x06, 0xc1,
- 0x7a, 0x48, 0x59, 0xe9, 0xf4, 0xf2, 0x32, 0x8c, 0xb8, 0x1a, 0xe9, 0x57,
- 0x0b, 0x8a, 0x3f, 0xda, 0x02, 0x5e, 0xd4, 0x8b, 0x19, 0xdd, 0x45, 0x19,
- 0x17, 0xfe, 0xb5, 0x8d, 0x93, 0x49, 0xb7, 0x30, 0xcb, 0xcb, 0xad, 0x9f,
- 0x94, 0xb7, 0x54, 0xb5, 0xf8, 0xf2, 0x32, 0x1f, 0x53, 0xec, 0xdf, 0xb1,
- 0x86, 0x93, 0x8c, 0xe7, 0x07, 0x67, 0x5a, 0x7d, 0xcd, 0x8c, 0x2d, 0x99,
- 0x2f, 0x46, 0x53, 0x73, 0x59, 0x6b, 0x3e, 0x8b, 0x39, 0x55, 0x98, 0x25,
- 0x63, 0x6d, 0xa1, 0x39, 0xa6, 0x37, 0x84, 0xc1, 0xd9, 0xc9, 0xa1, 0x40,
- 0xb8, 0xb4, 0x82, 0x0a, 0x3e, 0x43, 0xf9, 0x66, 0x4a, 0x34, 0x98, 0x95,
- 0x85, 0xa6, 0xc3, 0x2d, 0x6a, 0xa6, 0x93, 0x45, 0x34, 0x87, 0xab, 0x64,
- 0x25, 0x78, 0x52, 0x8a, 0x36, 0x88, 0x69, 0x8e, 0x37, 0xfc, 0xc1, 0x4c,
- 0xfa, 0xf3, 0xeb, 0xb9, 0xae, 0xb4, 0x2a, 0x44, 0xac, 0x2d, 0x49, 0x02,
- 0x16, 0x8e, 0xde, 0xd9, 0x37, 0x67, 0x83, 0xe4, 0x88, 0x5a, 0xe2, 0x3e,
- 0x89, 0xa2, 0x0b, 0x1f, 0x8d, 0xf9, 0x9d, 0x19, 0xec, 0x15, 0x5d, 0x60,
- 0xa7, 0x15, 0xfd, 0x0b, 0xad, 0xc9, 0x2f, 0xd9, 0x2d, 0x8b, 0xdf, 0xb6,
- 0xbf, 0x6a, 0x1a, 0xd2, 0x34, 0x8b, 0x33, 0xfc, 0xdd, 0x9c, 0x15, 0xa3,
- 0x7e, 0xd9, 0x65, 0x72, 0x5f, 0x28, 0xab, 0x16, 0xf9, 0x16, 0xbf, 0x99,
- 0x18, 0xad, 0x0c, 0xba, 0xd5, 0xfc, 0x1e, 0xeb, 0xe7, 0x09, 0x47, 0xd6,
- 0x3f, 0xb9, 0x01, 0x6f, 0x6b, 0xc9, 0xf6, 0xb3, 0x00, 0x5e, 0x3e, 0x58,
- 0x15, 0xd3, 0x4e, 0x55, 0x99, 0xc0, 0x9d, 0x4b, 0x09, 0x4c, 0xb3, 0x47,
- 0xa3, 0xce, 0x3a, 0xe7, 0xd5, 0xb3, 0xdf, 0xf4, 0x17, 0x64, 0x76, 0x53,
- 0x5f, 0x8c, 0xd6, 0x62, 0x96, 0x60, 0xb0, 0xf6, 0xff, 0x05, 0xe8, 0x55,
- 0xa2, 0x40, 0x3e, 0x0c, 0x03, 0x00,
+ 0x9d, 0x49, 0x79, 0xa4, 0xbd, 0x36, 0x1b, 0x52, 0xcc, 0x0f, 0x8e, 0x58,
+ 0x2f, 0x6a, 0xfb, 0xa4, 0xc5, 0xa4, 0x95, 0x81, 0x43, 0x79, 0x90, 0x6c,
+ 0xff, 0x64, 0x77, 0x28, 0xd8, 0x66, 0x94, 0xc4, 0xe7, 0x4f, 0xc2, 0xfb,
+ 0x48, 0xab, 0xc5, 0x8a, 0x76, 0x57, 0xf9, 0x3a, 0x00, 0x5f, 0xd2, 0xa2,
+ 0xf8, 0xf6, 0xa2, 0xb1, 0x88, 0x58, 0x58, 0x8a, 0x23, 0x13, 0x62, 0x9f,
+ 0x75, 0x62, 0x13, 0x7e, 0x2c, 0x02, 0x95, 0x61, 0x29, 0x1a, 0x21, 0x91,
+ 0x86, 0xd0, 0x54, 0xf1, 0xa2, 0x13, 0xcb, 0xc3, 0x13, 0x2b, 0x02, 0x12,
+ 0x5d, 0x23, 0xd4, 0x86, 0x27, 0x5a, 0x9b, 0xef, 0xd9, 0xe7, 0x91, 0xcd,
+ 0xf7, 0xfe, 0xf4, 0xe2, 0x68, 0x5f, 0x28, 0x43, 0x34, 0x8d, 0x5e, 0x0d,
+ 0x05, 0xc6, 0x10, 0x71, 0xdd, 0x58, 0x4e, 0x27, 0xa1, 0x4b, 0x56, 0x57,
+ 0xbd, 0x17, 0x3b, 0xf2, 0x00, 0xf3, 0xd2, 0x31, 0x61, 0x4f, 0x6f, 0xb3,
+ 0x94, 0x73, 0x0f, 0x49, 0x82, 0x62, 0x1b, 0xf0, 0x7e, 0xa2, 0xf5, 0x0f,
+ 0x93, 0xaa, 0x91, 0x79, 0x8b, 0x64, 0x56, 0xbe, 0x6f, 0x83, 0x2d, 0xc4,
+ 0x57, 0x19, 0x9b, 0x5c, 0x16, 0x71, 0x35, 0xa6, 0xda, 0x6d, 0x61, 0xc1,
+ 0x31, 0x44, 0xe9, 0xde, 0x48, 0xd9, 0x5a, 0x58, 0x24, 0x96, 0xb8, 0x6b,
+ 0xd5, 0x15, 0xe7, 0x82, 0x89, 0xdd, 0x43, 0x25, 0xe6, 0x19, 0xf9, 0x01,
+ 0xbf, 0x5c, 0x4a, 0x9b, 0xd1, 0x78, 0xe7, 0x49, 0xf7, 0x89, 0x39, 0x47,
+ 0x6a, 0xa7, 0x91, 0x5d, 0x69, 0x8d, 0x14, 0x49, 0x7f, 0x0f, 0x43, 0xd8,
+ 0x10, 0x81, 0x6d, 0xc7, 0x88, 0x2b, 0xaf, 0xac, 0xea, 0x1a, 0x10, 0x16,
+ 0x34, 0xb3, 0x1a, 0xb4, 0xe4, 0xe2, 0xa9, 0x71, 0x6e, 0x37, 0x5c, 0x17,
+ 0x5e, 0x27, 0xea, 0x64, 0x9d, 0x32, 0x3b, 0x47, 0xf5, 0xa2, 0x9a, 0x2c,
+ 0x66, 0x46, 0x72, 0xf9, 0x80, 0x71, 0x68, 0x7e, 0xb0, 0x6a, 0x01, 0xca,
+ 0x88, 0xc4, 0x0a, 0x9e, 0xed, 0xb4, 0x1a, 0x1b, 0x60, 0xe0, 0xfe, 0xfa,
+ 0x9b, 0x67, 0xfa, 0xbb, 0xd6, 0x15, 0x9b, 0x23, 0x35, 0x4e, 0x38, 0x62,
+ 0x7e, 0xbf, 0x60, 0xd3, 0xac, 0x27, 0x2b, 0xb5, 0x12, 0x76, 0xf6, 0x4e,
+ 0x03, 0xc0, 0xf4, 0x50, 0x5e, 0x28, 0xa2, 0x88, 0xf5, 0x25, 0x8e, 0xe7,
+ 0x29, 0x19, 0x9e, 0x39, 0x9f, 0x25, 0xc5, 0xd1, 0x5d, 0x18, 0x3c, 0x52,
+ 0x9b, 0x97, 0xd2, 0x94, 0x12, 0x47, 0x9e, 0x25, 0x4e, 0x7d, 0x3a, 0x1b,
+ 0xb2, 0x3c, 0x34, 0xf7, 0xf0, 0xbb, 0x8d, 0x28, 0xfb, 0x2f, 0xf9, 0x5b,
+ 0x39, 0x12, 0x67, 0x0c, 0xd9, 0x8f, 0x31, 0x2a, 0x80, 0x4b, 0x80, 0x9d,
+ 0x17, 0x66, 0xaf, 0x4d, 0x16, 0xec, 0x5f, 0xa5, 0x0e, 0x09, 0x70, 0x96,
+ 0x8b, 0x4d, 0x52, 0xe8, 0x23, 0xb9, 0x02, 0x3b, 0x17, 0x23, 0xf7, 0x94,
+ 0x05, 0x37, 0x4c, 0x67, 0xdb, 0xeb, 0x26, 0x7c, 0xa7, 0x63, 0xf2, 0x8a,
+ 0x98, 0xc6, 0x25, 0xb1, 0x92, 0x69, 0x7c, 0x1c, 0xc2, 0x38, 0x1d, 0x37,
+ 0x0b, 0x99, 0xf8, 0x6e, 0xef, 0x4a, 0xf5, 0x96, 0x9a, 0x77, 0x41, 0x30,
+ 0x8b, 0xfc, 0xe0, 0xb1, 0xd9, 0x7f, 0xe9, 0xf8, 0x5e, 0x75, 0x06, 0x77,
+ 0xc5, 0x0a, 0x4d, 0x94, 0xa3, 0xa3, 0x0d, 0x06, 0x6b, 0x3b, 0x41, 0x71,
+ 0xcf, 0xbc, 0x5e, 0x42, 0x08, 0xff, 0x9b, 0x5a, 0x2b, 0x7e, 0x59, 0x0f,
+ 0x76, 0x3e, 0x2b, 0x9d, 0x55, 0xeb, 0xc0, 0x67, 0x4d, 0x4a, 0xb3, 0xfc,
+ 0x70, 0x16, 0x6f, 0xe3, 0x33, 0xb1, 0x72, 0x8c, 0x10, 0x9c, 0xdd, 0x94,
+ 0x10, 0x81, 0x88, 0xb8, 0xd6, 0xb4, 0x38, 0x0e, 0xb5, 0x89, 0x77, 0xf2,
+ 0x15, 0xa9, 0x3c, 0x0e, 0x91, 0xa5, 0xf9, 0x26, 0x6c, 0x6d, 0x3e, 0x4d,
+ 0x36, 0xc9, 0x02, 0x4c, 0x9e, 0x7d, 0xfe, 0xec, 0xe9, 0x56, 0xd2, 0x81,
+ 0x8d, 0x6d, 0xc5, 0x8a, 0x0c, 0xe1, 0xc4, 0x09, 0x6d, 0x33, 0xb4, 0x9b,
+ 0x9c, 0x6a, 0x71, 0x71, 0xb6, 0xaf, 0x38, 0x38, 0x73, 0xae, 0xcb, 0x41,
+ 0xae, 0x76, 0x54, 0xb8, 0x61, 0xd1, 0x1c, 0x20, 0x09, 0xe8, 0x63, 0x19,
+ 0xbf, 0x6c, 0x8b, 0xa2, 0x5b, 0x11, 0xee, 0x12, 0x39, 0x98, 0x34, 0x18,
+ 0xaa, 0x9a, 0xf2, 0x06, 0x6f, 0x21, 0x3f, 0x31, 0x9a, 0x37, 0xc8, 0x70,
+ 0x61, 0x28, 0xab, 0xa2, 0x80, 0x5c, 0x53, 0x0d, 0xd8, 0xd2, 0xbb, 0x1d,
+ 0xd8, 0x43, 0xc2, 0xa9, 0x38, 0x7c, 0xfd, 0xc4, 0x08, 0x30, 0xcd, 0x95,
+ 0x88, 0xeb, 0x91, 0xae, 0xb3, 0xf6, 0x3c, 0x32, 0xa1, 0x1a, 0xed, 0x14,
+ 0x7d, 0x5f, 0xa0, 0x52, 0xb2, 0x26, 0xcc, 0xe4, 0x17, 0x5c, 0xcb, 0x33,
+ 0x2d, 0x40, 0xc1, 0x0a, 0x48, 0x29, 0x38, 0x07, 0x76, 0x78, 0x68, 0x05,
+ 0x6a, 0x81, 0x77, 0x2e, 0xcb, 0xdc, 0x57, 0x67, 0x48, 0xaa, 0x29, 0xc6,
+ 0xad, 0x9e, 0x2d, 0x4d, 0x47, 0xd0, 0xdd, 0xa6, 0xb9, 0xfc, 0xdd, 0x2c,
+ 0x04, 0xfd, 0xbb, 0xdd, 0x95, 0x61, 0x02, 0x12, 0x7f, 0xb5, 0x33, 0x11,
+ 0x4b, 0x7a, 0x0f, 0x7b, 0x8a, 0x59, 0x77, 0xe0, 0x4c, 0xe9, 0x87, 0x04,
+ 0x22, 0xc9, 0x26, 0x3a, 0xbc, 0xbd, 0xbd, 0xf5, 0x70, 0xa7, 0xe5, 0xc9,
+ 0x87, 0x3a, 0x79, 0xc6, 0xee, 0x0d, 0x8f, 0xa8, 0xfa, 0xd2, 0xeb, 0x03,
+ 0x7d, 0x33, 0x07, 0x88, 0x99, 0x36, 0x10, 0x63, 0x40, 0x19, 0x42, 0x43,
+ 0x8a, 0x04, 0x25, 0x94, 0x46, 0x72, 0x1d, 0x04, 0x9f, 0xc6, 0x03, 0x6c,
+ 0x8f, 0x5d, 0x8c, 0x5f, 0xe6, 0x03, 0x12, 0x11, 0x42, 0x20, 0x29, 0x10,
+ 0xb4, 0x1c, 0x98, 0x4d, 0x18, 0x6a, 0x9d, 0xae, 0x5b, 0xde, 0xe0, 0x60,
+ 0xe8, 0xe6, 0xbd, 0xc4, 0x73, 0xb7, 0xf3, 0x29, 0x54, 0x4f, 0x04, 0xbb,
+ 0xe5, 0x23, 0x50, 0x76, 0x7d, 0x5a, 0xa5, 0x91, 0xd4, 0x6e, 0x1d, 0x04,
+ 0x3c, 0x8b, 0xfc, 0xa4, 0x57, 0x81, 0x37, 0xdc, 0x9d, 0xbe, 0xab, 0x54,
+ 0x1a, 0x34, 0x12, 0xf5, 0x93, 0x1b, 0x33, 0xb3, 0x1c, 0x72, 0x8d, 0x58,
+ 0x49, 0x72, 0xb7, 0x89, 0x71, 0x69, 0x15, 0x7a, 0xdf, 0xd1, 0x37, 0xbb,
+ 0xbf, 0xb9, 0x14, 0x32, 0x52, 0xf9, 0x47, 0xfc, 0xd3, 0xd6, 0x64, 0xf6,
+ 0xf8, 0x8c, 0x22, 0x8d, 0x3e, 0xa6, 0xb1, 0xa3, 0x30, 0x53, 0x98, 0xaa,
+ 0x6b, 0xe7, 0x70, 0x25, 0x18, 0xcf, 0xa2, 0xf1, 0xe0, 0xef, 0x15, 0x3c,
+ 0x5e, 0x78, 0xcf, 0xaa, 0xc7, 0x4d, 0x1b, 0x6d, 0x7b, 0x1c, 0x3e, 0x6b,
+ 0x7b, 0x1c, 0x6c, 0xd6, 0xf1, 0x12, 0x82, 0x27, 0xc0, 0x30, 0xeb, 0xe4,
+ 0xbd, 0x3e, 0x96, 0x6c, 0x0e, 0xcf, 0xde, 0x1f, 0x7d, 0x73, 0xba, 0xf5,
+ 0x90, 0xa7, 0xb2, 0x2d, 0xff, 0xed, 0xb8, 0x80, 0xcd, 0xab, 0x08, 0xd7,
+ 0xc7, 0xdd, 0x87, 0x8d, 0xf2, 0xcd, 0x70, 0xd8, 0x3f, 0x38, 0x3b, 0x46,
+ 0x21, 0xad, 0xa1, 0xf9, 0x73, 0x09, 0xc7, 0xeb, 0x00, 0x14, 0xc3, 0xfd,
+ 0xef, 0x24, 0xd5, 0xaf, 0x56, 0xb8, 0x20, 0xfc, 0x80, 0x28, 0xbc, 0x0d,
+ 0xe5, 0x41, 0x94, 0x3c, 0x9b, 0xbb, 0x8d, 0xe6, 0xbb, 0x86, 0xcf, 0xd9,
+ 0xf1, 0x36, 0x3e, 0x45, 0x9f, 0xc4, 0x80, 0x96, 0x38, 0x11, 0x16, 0x61,
+ 0x0d, 0x2d, 0xd2, 0x7c, 0x00, 0x36, 0x85, 0x80, 0x56, 0xec, 0xae, 0xb1,
+ 0xff, 0xe8, 0x3a, 0x71, 0x81, 0xbb, 0x78, 0xa6, 0x04, 0x39, 0xc4, 0x08,
+ 0x0a, 0x2f, 0xb4, 0xd3, 0x5d, 0x07, 0x1c, 0x0c, 0x35, 0xe6, 0xd6, 0x41,
+ 0xbd, 0xe4, 0xa1, 0x46, 0x59, 0xbb, 0xae, 0x91, 0x8d, 0xfe, 0x22, 0x49,
+ 0xf6, 0x37, 0x38, 0xba, 0x94, 0x15, 0xe5, 0xe2, 0xea, 0x9a, 0xcd, 0xac,
+ 0xb6, 0x2f, 0x02, 0xb2, 0x5c, 0xa3, 0xb0, 0x96, 0x13, 0xda, 0x74, 0x32,
+ 0xac, 0xfe, 0x57, 0x5b, 0x96, 0x17, 0x3a, 0x06, 0x14, 0x24, 0x62, 0xf5,
+ 0x86, 0xe1, 0x17, 0x93, 0x7f, 0x09, 0xb3, 0xea, 0x0a, 0x0d, 0x64, 0xc4,
+ 0x01, 0x54, 0x38, 0xd3, 0x8a, 0x66, 0x3a, 0x93, 0xbf, 0xa6, 0xc5, 0x3d,
+ 0x9c, 0xa6, 0xe2, 0xc5, 0x47, 0xba, 0x9e, 0xdd, 0xd3, 0xed, 0x8d, 0xde,
+ 0x54, 0x63, 0xae, 0x64, 0xfe, 0x52, 0x6b, 0xa7, 0xaf, 0xce, 0xb3, 0x40,
+ 0x0d, 0xdd, 0x99, 0xb9, 0xa6, 0x61, 0xe0, 0xf5, 0x8b, 0x9e, 0xb6, 0xd2,
+ 0x33, 0x46, 0xb1, 0x84, 0xcb, 0x44, 0x11, 0x96, 0x4d, 0x10, 0x11, 0x45,
+ 0xa8, 0x32, 0xb5, 0x69, 0xcc, 0x87, 0x72, 0xba, 0xe0, 0x6a, 0xee, 0xe4,
+ 0x1a, 0xa5, 0x5c, 0x88, 0x2d, 0x57, 0x5c, 0x01, 0xad, 0x26, 0x1e, 0x14,
+ 0x35, 0x49, 0x0e, 0x43, 0xd8, 0xb6, 0xab, 0x80, 0x36, 0x70, 0x81, 0x00,
+ 0x8e, 0x26, 0x8a, 0x97, 0x82, 0x66, 0x96, 0xdb, 0x42, 0x53, 0x73, 0x00,
+ 0x94, 0x6e, 0xca, 0x78, 0xa1, 0x5e, 0xb3, 0x7e, 0xba, 0x56, 0xad, 0xd9,
+ 0x51, 0x1f, 0x3b, 0x89, 0x6e, 0xbf, 0xe8, 0xa2, 0xa7, 0x35, 0x46, 0x53,
+ 0x77, 0x96, 0x61, 0x96, 0x15, 0x35, 0x30, 0xa2, 0x53, 0x32, 0xba, 0xb7,
+ 0x1f, 0xe3, 0xef, 0xa4, 0x40, 0xf5, 0x58, 0x45, 0xf8, 0xb1, 0xdc, 0x19,
+ 0x6e, 0x31, 0x06, 0xab, 0x40, 0x29, 0xed, 0x2f, 0x75, 0x9a, 0xfe, 0x2e,
+ 0x63, 0x04, 0x1a, 0x2f, 0x31, 0x56, 0xa3, 0xb5, 0xc8, 0xac, 0xe5, 0x77,
+ 0xeb, 0xe6, 0xd0, 0x44, 0x0c, 0xf0, 0x44, 0xb0, 0x81, 0x29, 0xa4, 0x6e,
+ 0x47, 0xa5, 0xea, 0x11, 0x79, 0xdd, 0x52, 0xae, 0xd8, 0xc5, 0x2f, 0x7b,
+ 0xdf, 0xb0, 0x99, 0x1b, 0xe5, 0xea, 0xa2, 0x7a, 0x6e, 0x75, 0x06, 0x8f,
+ 0x98, 0x10, 0x37, 0x7e, 0xf7, 0xc3, 0xc0, 0xb2, 0xb3, 0x71, 0xe3, 0x7a,
+ 0x2c, 0xbc, 0x3f, 0x03, 0xd9, 0x85, 0x9b, 0x1f, 0xe5, 0x2f, 0x74, 0x06,
+ 0xbe, 0xcf, 0x0b, 0xa3, 0x19, 0xd6, 0x5b, 0xba, 0x39, 0x25, 0xed, 0x3c,
+ 0x3c, 0xbb, 0xd5, 0x46, 0x6d, 0x2c, 0x31, 0x23, 0x71, 0x1c, 0x64, 0x8f,
+ 0x14, 0x67, 0x0e, 0xdb, 0x04, 0xa2, 0xc8, 0xab, 0x9d, 0x76, 0x3f, 0x0f,
+ 0xd2, 0x1d, 0xc6, 0x56, 0xe8, 0xa0, 0x0d, 0x50, 0x1f, 0x1a, 0xb3, 0xa0,
+ 0xc8, 0xef, 0x06, 0x36, 0xc8, 0x8f, 0x7b, 0x83, 0x09, 0x0b, 0x9c, 0xdf,
+ 0xcb, 0x08, 0xc2, 0x48, 0xc1, 0x60, 0x48, 0xb6, 0x6e, 0x20, 0x8b, 0x66,
+ 0x17, 0xe3, 0xdc, 0x7c, 0xb6, 0x95, 0x5c, 0x36, 0xf3, 0xcd, 0xdd, 0x2d,
+ 0x66, 0xc6, 0x95, 0x92, 0xad, 0xa5, 0xbb, 0xee, 0x43, 0x5f, 0x0e, 0xa1,
+ 0x0c, 0x71, 0x42, 0x5d, 0x2d, 0x01, 0xd4, 0x3d, 0x43, 0xbe, 0xd5, 0xa5,
+ 0x9c, 0x60, 0x9e, 0x30, 0x5b, 0xe3, 0xd1, 0xe6, 0xb3, 0x75, 0x9d, 0xcb,
+ 0x00, 0xff, 0xcc, 0x89, 0x1b, 0x0e, 0xb9, 0x68, 0xc6, 0x82, 0x70, 0x85,
+ 0xf6, 0xa4, 0xca, 0x88, 0x24, 0xaa, 0x9a, 0x99, 0x9b, 0x4e, 0xfa, 0x24,
+ 0x43, 0xae, 0xaa, 0xd2, 0x5c, 0x91, 0x55, 0x84, 0x40, 0x4b, 0x6c, 0x0a,
+ 0x52, 0xf5, 0xb3, 0xe2, 0x26, 0xaf, 0xca, 0x02, 0x2c, 0x65, 0x37, 0x69,
+ 0x95, 0x23, 0xdc, 0xbf, 0xfe, 0xf6, 0xf4, 0xdd, 0xd1, 0xba, 0xef, 0x1a,
+ 0xb9, 0xcc, 0xc5, 0x9b, 0x8e, 0xf5, 0xeb, 0xfa, 0xaa, 0x75, 0x35, 0x63,
+ 0xae, 0x43, 0x73, 0xa5, 0x1b, 0x2d, 0x87, 0x6d, 0xa9, 0x1b, 0x3d, 0x4c,
+ 0xa4, 0xda, 0xfb, 0xe5, 0xe8, 0x05, 0x10, 0x20, 0xe5, 0x9b, 0x74, 0x97,
+ 0x85, 0x60, 0x1c, 0xb8, 0x12, 0xd4, 0x38, 0x04, 0xb7, 0x7e, 0xe9, 0x97,
+ 0x0f, 0x4a, 0xbc, 0x12, 0x43, 0xa4, 0xe8, 0xf3, 0x06, 0xc0, 0xd2, 0xc6,
+ 0x00, 0xf2, 0x1b, 0xb3, 0x7b, 0xb2, 0x6c, 0x36, 0xda, 0x17, 0xe0, 0x46,
+ 0x4d, 0xc6, 0x78, 0xb3, 0xa1, 0xd3, 0x0b, 0xe0, 0xa8, 0x93, 0xf1, 0x61,
+ 0x51, 0xc7, 0x25, 0xdf, 0xe6, 0x5d, 0xcd, 0x9f, 0x70, 0xad, 0x73, 0xe3,
+ 0xee, 0xf4, 0xed, 0xf3, 0xe9, 0x0b, 0xca, 0x87, 0x87, 0x74, 0x25, 0xa9,
+ 0x4b, 0xe8, 0x69, 0xd7, 0x83, 0x6c, 0x83, 0x0a, 0x88, 0xb9, 0x3a, 0xf4,
+ 0x2d, 0x9a, 0xcf, 0x97, 0xe3, 0xbc, 0x15, 0x01, 0xb7, 0x0e, 0x3f, 0xa1,
+ 0x1e, 0xe0, 0x14, 0x15, 0xd6, 0x94, 0x0a, 0xaf, 0x3a, 0x5c, 0x42, 0x4d,
+ 0x2e, 0x61, 0x2c, 0x33, 0x57, 0x37, 0x00, 0x55, 0x96, 0xf9, 0x8c, 0x90,
+ 0xa9, 0x09, 0xf9, 0x3c, 0x2d, 0xce, 0x52, 0xbe, 0xd6, 0xf3, 0x33, 0x60,
+ 0x83, 0xba, 0xb3, 0x62, 0x0d, 0x3b, 0x64, 0x8a, 0x55, 0x4e, 0x98, 0xc9,
+ 0x8f, 0xb9, 0xe0, 0x2c, 0xcb, 0x8f, 0xd2, 0xe1, 0x85, 0x4a, 0xb2, 0x9d,
+ 0x4e, 0xf5, 0x71, 0x13, 0xe9, 0x1a, 0xa1, 0x74, 0xd8, 0xa6, 0xb1, 0xa1,
+ 0x6c, 0x6c, 0x47, 0xd6, 0x3a, 0x88, 0xd9, 0x5c, 0x89, 0x3a, 0xa3, 0x26,
+ 0xb6, 0x3d, 0x94, 0x66, 0x6c, 0xc2, 0xd1, 0x5c, 0x2f, 0xaa, 0x1b, 0x64,
+ 0x2a, 0x4a, 0x71, 0x0f, 0x46, 0x0a, 0xbb, 0x45, 0x89, 0xc3, 0x26, 0x20,
+ 0xd8, 0x5d, 0x0f, 0x09, 0xc5, 0x59, 0x2d, 0x84, 0xc7, 0xf7, 0x1b, 0xee,
+ 0x85, 0xed, 0xa0, 0x35, 0x77, 0x88, 0xb4, 0x82, 0x55, 0xd9, 0x00, 0xb3,
+ 0x5f, 0xd6, 0x60, 0xdf, 0x6b, 0xaa, 0x74, 0xec, 0xfe, 0xd2, 0x4f, 0xeb,
+ 0x71, 0x9e, 0x6b, 0xb1, 0x08, 0x0a, 0x15, 0x66, 0x84, 0x8e, 0x8d, 0x73,
+ 0x9a, 0x58, 0xbf, 0xbd, 0x25, 0x69, 0x9f, 0x94, 0xec, 0xe9, 0x65, 0x00,
+ 0x0a, 0x57, 0xdb, 0x06, 0x9c, 0x85, 0x3c, 0x53, 0x1a, 0x47, 0x8c, 0xd5,
+ 0xcf, 0xd0, 0xc4, 0x9b, 0x25, 0xf6, 0xad, 0x31, 0xc1, 0x77, 0x7d, 0x1b,
+ 0x5c, 0x27, 0xa1, 0x4f, 0xe5, 0xd8, 0xea, 0x86, 0xed, 0xc9, 0xdb, 0xdb,
+ 0xbd, 0xc1, 0x8a, 0x12, 0xda, 0x7e, 0x30, 0xe8, 0x79, 0xc7, 0x42, 0x61,
+ 0x86, 0x9e, 0x98, 0x7d, 0x32, 0xdc, 0x6a, 0x15, 0xd6, 0x3a, 0x38, 0x39,
+ 0x7b, 0x9f, 0x80, 0x16, 0x09, 0x04, 0xac, 0x45, 0xcd, 0xb5, 0x75, 0xf8,
+ 0xc7, 0xac, 0x27, 0xc3, 0x62, 0x4e, 0x42, 0xe8, 0xa7, 0x32, 0x4f, 0xc3,
+ 0x8a, 0x08, 0x93, 0x9e, 0x18, 0xeb, 0x56, 0x80, 0x1a, 0x44, 0xed, 0x17,
+ 0x48, 0x79, 0x35, 0x32, 0xba, 0xc3, 0x31, 0x9f, 0x1c, 0xf0, 0x87, 0x55,
+ 0xd2, 0x8e, 0xee, 0x5d, 0x5e, 0x52, 0xfb, 0x5d, 0x4b, 0x0b, 0x55, 0x26,
+ 0x42, 0x02, 0x15, 0x08, 0xf5, 0x26, 0xb3, 0x0c, 0x54, 0x62, 0xdc, 0x59,
+ 0x3a, 0x35, 0x2d, 0x8f, 0xc1, 0x78, 0x0d, 0x90, 0x0d, 0x68, 0x5a, 0x73,
+ 0x5c, 0xa7, 0xb0, 0x69, 0xe8, 0x66, 0x62, 0x8b, 0x79, 0x11, 0x64, 0xa1,
+ 0xdb, 0x19, 0x4f, 0x42, 0x6b, 0x34, 0x40, 0x1d, 0xaf, 0x4e, 0x14, 0xd3,
+ 0xce, 0x52, 0x5d, 0x8e, 0x15, 0x4b, 0xfc, 0xbe, 0xc7, 0x1f, 0x1d, 0x2d,
+ 0x48, 0x46, 0x74, 0xbe, 0x21, 0x0b, 0xcc, 0xba, 0x13, 0x3f, 0x41, 0xdf,
+ 0x13, 0x2f, 0x18, 0xb3, 0xdf, 0x10, 0x2f, 0x57, 0x96, 0xce, 0x8c, 0x76,
+ 0x50, 0x68, 0xe6, 0x00, 0x39, 0x80, 0x09, 0xde, 0xd9, 0x9d, 0xca, 0x45,
+ 0x2a, 0x32, 0xab, 0x85, 0x8d, 0xea, 0x24, 0x14, 0xf0, 0x67, 0x08, 0xd0,
+ 0xe6, 0x37, 0x1f, 0x4b, 0x12, 0xc3, 0xeb, 0x90, 0x22, 0xc0, 0x66, 0x73,
+ 0x10, 0x47, 0x6b, 0x8b, 0x31, 0x01, 0x29, 0x37, 0x61, 0xeb, 0x8c, 0x9a,
+ 0x09, 0x18, 0x5f, 0x2f, 0x8a, 0x4f, 0xa6, 0x0b, 0x61, 0x12, 0xab, 0x62,
+ 0x7f, 0x89, 0x45, 0x9b, 0x8b, 0xf3, 0xd1, 0x5f, 0x6c, 0x4e, 0x3a, 0xb7,
+ 0x40, 0xdc, 0xa7, 0x37, 0xe4, 0xcf, 0x0b, 0x0b, 0x3c, 0xc7, 0x7a, 0x37,
+ 0xb1, 0x27, 0x24, 0x6d, 0xdc, 0x04, 0x46, 0xf1, 0xed, 0xba, 0xce, 0xae,
+ 0xac, 0xad, 0xd9, 0x8f, 0xb8, 0x59, 0x44, 0xe1, 0xe4, 0x90, 0xb6, 0xd2,
+ 0xfe, 0x20, 0x45, 0x49, 0x71, 0x5f, 0x81, 0x40, 0x5c, 0x60, 0xe3, 0x93,
+ 0xe5, 0x86, 0x6f, 0xd2, 0x7e, 0xf0, 0x4b, 0x5b, 0x44, 0x7a, 0xd2, 0xce,
+ 0xa8, 0x5e, 0xb6, 0x0f, 0x58, 0x57, 0x81, 0x3f, 0xcb, 0x6c, 0x02, 0x97,
+ 0x80, 0x2d, 0xb0, 0x14, 0xab, 0xba, 0x51, 0xfd, 0x39, 0xbf, 0xee, 0x55,
+ 0x44, 0x72, 0xb9, 0xdc, 0xae, 0xac, 0xb0, 0x9b, 0x6c, 0x46, 0x47, 0x55,
+ 0xe4, 0xc1, 0xbf, 0x70, 0x96, 0xdc, 0x40, 0xbc, 0x89, 0xb2, 0x3f, 0xec,
+ 0x4c, 0x52, 0xf1, 0x28, 0x79, 0xf8, 0xde, 0x88, 0x1f, 0x92, 0x86, 0x9e,
+ 0x30, 0x7c, 0xcf, 0x12, 0x49, 0x05, 0xa1, 0x1b, 0x69, 0xd7, 0xed, 0x75,
+ 0xf9, 0x6b, 0xa4, 0x20, 0x35, 0x4f, 0x78, 0xfb, 0xb3, 0xf7, 0xdd, 0xe6,
+ 0x5a, 0x2c, 0xf6, 0x0f, 0xcb, 0x41, 0x6b, 0xc1, 0xcb, 0xcf, 0x96, 0x78,
+ 0xb8, 0x7e, 0xbd, 0x10, 0x6c, 0xb3, 0xbf, 0xc5, 0x65, 0x60, 0xd1, 0x12,
+ 0x81, 0xa2, 0xd5, 0xff, 0x6e, 0x42, 0x90, 0xbe, 0x28, 0x5d, 0xce, 0x27,
+ 0xf1, 0xcc, 0x7b, 0x5d, 0x5b, 0x29, 0x3c, 0x27, 0x91, 0x0b, 0x5a, 0x0d,
+ 0xe5, 0xfc, 0x38, 0x7e, 0x6d, 0x36, 0x19, 0xe9, 0xac, 0x54, 0x8f, 0xf4,
+ 0xeb, 0x65, 0x8b, 0x8b, 0x12, 0xd7, 0x1a, 0xe1, 0x85, 0x9d, 0x4f, 0xd5,
+ 0xbc, 0x7d, 0x3a, 0x26, 0x62, 0x67, 0x1b, 0x78, 0x9b, 0x9d, 0xa3, 0xef,
+ 0x4a, 0x66, 0x1f, 0xf7, 0x4b, 0x80, 0x3d, 0x0b, 0x78, 0x29, 0xa3, 0x57,
+ 0x2d, 0xaa, 0x06, 0x6b, 0x2d, 0x45, 0x29, 0xa4, 0x6e, 0x4a, 0x95, 0x51,
+ 0x9f, 0xdb, 0x1d, 0x0e, 0x08, 0xc6, 0xd8, 0x9b, 0x5d, 0x67, 0xe6, 0x20,
+ 0x72, 0xea, 0xd0, 0xa8, 0x2a, 0x3f, 0x65, 0xbc, 0xeb, 0x60, 0x5e, 0x80,
+ 0x31, 0x87, 0x75, 0x29, 0x71, 0xca, 0x1a, 0x39, 0x37, 0xb1, 0x10, 0xc6,
+ 0x88, 0x3e, 0x4b, 0x25, 0xb0, 0x24, 0xd5, 0xde, 0x49, 0xc3, 0xdc, 0x65,
+ 0xba, 0x2b, 0x23, 0x34, 0x2f, 0xd7, 0x98, 0xe8, 0xb9, 0xe2, 0x27, 0xdf,
+ 0x6e, 0x02, 0xa9, 0x92, 0xbe, 0xec, 0xf0, 0xfb, 0x67, 0x5f, 0x3c, 0x35,
+ 0xcb, 0x4f, 0xbe, 0x5d, 0x75, 0xff, 0xe4, 0x47, 0x56, 0xf4, 0xf1, 0x95,
+ 0xad, 0xcc, 0x5e, 0x82, 0x27, 0x2c, 0x79, 0x69, 0x36, 0x15, 0xfb, 0xc4,
+ 0x28, 0xa6, 0xd5, 0x75, 0x77, 0xa1, 0x42, 0x5b, 0x5f, 0x4d, 0x8f, 0x09,
+ 0xa3, 0x7a, 0x60, 0xb2, 0x91, 0x26, 0xce, 0x69, 0x0e, 0x13, 0x57, 0x33,
+ 0x51, 0xa8, 0x98, 0x7b, 0xac, 0x24, 0x99, 0x1d, 0x13, 0x39, 0xe4, 0xce,
+ 0x91, 0xc3, 0x69, 0xb1, 0xd0, 0xc3, 0x69, 0x79, 0xc0, 0xb7, 0x92, 0xd7,
+ 0x4e, 0xd1, 0xfc, 0x33, 0xa1, 0x82, 0x8d, 0x56, 0xdb, 0x10, 0x2c, 0x0c,
+ 0xdf, 0x0a, 0xd4, 0x4e, 0xae, 0x55, 0x64, 0x13, 0x47, 0x38, 0xef, 0xdb,
+ 0x72, 0x89, 0x10, 0x83, 0xbd, 0xaf, 0x1b, 0x30, 0x4f, 0x74, 0x72, 0x44,
+ 0x46, 0x4b, 0xc4, 0x22, 0x64, 0xcf, 0x45, 0x6e, 0x13, 0xef, 0x72, 0xe1,
+ 0x98, 0x65, 0x04, 0x97, 0x58, 0xd8, 0xa9, 0x82, 0xb3, 0x78, 0xf0, 0x96,
+ 0xe2, 0x2c, 0x3c, 0xf5, 0xd4, 0x23, 0xc6, 0x3f, 0x89, 0x99, 0xa6, 0x3f,
+ 0xb0, 0x45, 0x8a, 0x5a, 0xe0, 0x19, 0x36, 0x52, 0xa0, 0x1d, 0x73, 0x1e,
+ 0x71, 0x6c, 0xb0, 0x89, 0xf7, 0x98, 0xff, 0xca, 0xfe, 0xe7, 0x3b, 0x3d,
+ 0x11, 0x51, 0x14, 0xee, 0xf2, 0x9f, 0x41, 0xf1, 0xed, 0x50, 0x8f, 0xa0,
+ 0xc7, 0xcc, 0x4f, 0xed, 0x93, 0xa1, 0x0c, 0x14, 0xb2, 0xc3, 0x67, 0x4f,
+ 0x28, 0xe6, 0x1d, 0xf7, 0x29, 0xf1, 0x45, 0xeb, 0x7b, 0x11, 0xac, 0x1b,
+ 0xa1, 0x8e, 0x81, 0x3f, 0xbd, 0xb3, 0x65, 0x57, 0xe3, 0x58, 0xe2, 0xa5,
+ 0x1b, 0x35, 0x57, 0x14, 0x8f, 0x78, 0x24, 0x26, 0x79, 0x1d, 0x71, 0x62,
+ 0x30, 0x9e, 0x4d, 0x36, 0x9c, 0x2d, 0x33, 0x85, 0x82, 0x1a, 0xbc, 0xb5,
+ 0xb1, 0x8a, 0xe6, 0xc0, 0xac, 0x83, 0x0e, 0xdf, 0x56, 0x51, 0xcf, 0x57,
+ 0x26, 0xad, 0xed, 0xbe, 0x18, 0x3c, 0x6d, 0x9d, 0x93, 0x66, 0x3a, 0xeb,
+ 0xdf, 0x8e, 0x1e, 0x88, 0x7d, 0x5c, 0x9c, 0xbc, 0x4b, 0x66, 0x0b, 0x14,
+ 0x72, 0x16, 0xee, 0xd6, 0xfb, 0x69, 0xa6, 0x6e, 0x68, 0x72, 0xf0, 0xb0,
+ 0xaf, 0xf0, 0x1a, 0x8c, 0x7e, 0x21, 0xa4, 0x3b, 0x0a, 0xb4, 0xb5, 0x69,
+ 0xa4, 0x62, 0xf7, 0x0b, 0x57, 0x19, 0x35, 0xc9, 0xfe, 0xec, 0xf9, 0x7c,
+ 0x9a, 0x47, 0x33, 0x7d, 0x14, 0x68, 0x9b, 0xdd, 0x65, 0xe3, 0x05, 0xe2,
+ 0xd4, 0xa4, 0x1e, 0x12, 0xed, 0xcf, 0x6a, 0x07, 0xba, 0xe7, 0x34, 0x17,
+ 0x37, 0xb9, 0xf9, 0x41, 0x77, 0x32, 0xba, 0x63, 0xe7, 0xc1, 0x07, 0xde,
+ 0x33, 0x4e, 0x79, 0x8f, 0xfd, 0x2e, 0x88, 0x15, 0x03, 0xde, 0x4f, 0x17,
+ 0xa2, 0xd9, 0x52, 0xf9, 0x55, 0xc1, 0x4a, 0xc7, 0xbb, 0x7c, 0x5c, 0x95,
+ 0x75, 0x79, 0xc9, 0xc0, 0x35, 0xcf, 0x44, 0x3a, 0x3e, 0x1e, 0x26, 0xb7,
+ 0xd9, 0x48, 0xb3, 0x64, 0x07, 0xa1, 0x33, 0x19, 0x32, 0x84, 0x22, 0x24,
+ 0x55, 0x9e, 0x35, 0x34, 0x65, 0x1a, 0x13, 0xed, 0x69, 0xd1, 0x9b, 0x7e,
+ 0x56, 0x5c, 0x19, 0x6b, 0x15, 0x0a, 0x3c, 0x55, 0x0e, 0x9b, 0xf2, 0xc5,
+ 0x34, 0xcf, 0xca, 0x48, 0x60, 0x9c, 0x3b, 0xa0, 0xd7, 0x0a, 0xef, 0x13,
+ 0xdc, 0xe1, 0xa3, 0xb4, 0xe6, 0x8c, 0x16, 0xf6, 0x0e, 0x18, 0xb1, 0x43,
+ 0x3a, 0x8a, 0x38, 0x2e, 0x3f, 0x91, 0xcf, 0x2c, 0x48, 0x5e, 0x19, 0x65,
+ 0x54, 0xc6, 0x8c, 0xc2, 0xfd, 0x6d, 0xef, 0x5d, 0x31, 0x29, 0x2b, 0x00,
+ 0x92, 0xbc, 0xca, 0x08, 0x28, 0x2c, 0xb6, 0xa8, 0x90, 0x85, 0x05, 0xda,
+ 0xc9, 0x50, 0x9e, 0xde, 0x5e, 0x73, 0xdc, 0x56, 0x57, 0x81, 0x2e, 0x27,
+ 0x24, 0xde, 0x72, 0xae, 0x8f, 0x90, 0x6f, 0x53, 0xff, 0xdd, 0x75, 0xe3,
+ 0xad, 0x46, 0x94, 0xa2, 0x4e, 0xd6, 0xc3, 0x65, 0x99, 0x8a, 0x7b, 0xe6,
+ 0x75, 0x7e, 0xb5, 0xa4, 0x7a, 0x9e, 0xe5, 0x7b, 0xc0, 0xe5, 0x84, 0x13,
+ 0x8b, 0xde, 0xc8, 0x95, 0x59, 0xf1, 0x19, 0x4d, 0x82, 0xa2, 0x90, 0xa8,
+ 0x75, 0x10, 0x7a, 0x62, 0x97, 0xec, 0xbe, 0x65, 0x34, 0x19, 0x9e, 0xe6,
+ 0xd8, 0x09, 0x2c, 0xe1, 0x66, 0x69, 0x6c, 0x4d, 0x2f, 0x52, 0x60, 0x7e,
+ 0x61, 0x4c, 0xa9, 0xdd, 0x15, 0x7b, 0x02, 0x62, 0x2a, 0x9f, 0xaf, 0xe5,
+ 0x05, 0x9c, 0x14, 0x5e, 0x4c, 0x36, 0xae, 0xf4, 0x2d, 0xa3, 0x00, 0x46,
+ 0x48, 0x2b, 0x02, 0x4c, 0xf1, 0xa2, 0xb2, 0xb6, 0x72, 0x34, 0x2d, 0x4f,
+ 0x3b, 0xe4, 0xe5, 0x1f, 0xdd, 0x92, 0x7e, 0xb0, 0xd7, 0x1f, 0x65, 0x29,
+ 0xd5, 0x6a, 0x78, 0xd9, 0x90, 0xc2, 0x14, 0x4f, 0x54, 0x59, 0x92, 0xa7,
+ 0xf2, 0x35, 0xbf, 0x79, 0x01, 0x4d, 0x8b, 0x96, 0xf6, 0xf4, 0xe0, 0xc3,
+ 0xc5, 0xdb, 0x24, 0xd9, 0x23, 0x3e, 0xf0, 0xc7, 0x24, 0xaa, 0x40, 0x22,
+ 0xb4, 0x5a, 0xd1, 0x53, 0x4d, 0x07, 0xaa, 0x2c, 0xfe, 0xb6, 0x28, 0xda,
+ 0x3c, 0xf0, 0x31, 0x27, 0x3d, 0xee, 0x4f, 0xb9, 0x7a, 0x39, 0x73, 0xba,
+ 0x05, 0xb3, 0xd6, 0x42, 0x21, 0xbc, 0x22, 0xfd, 0x3e, 0xa6, 0x9d, 0x7c,
+ 0x5d, 0x0f, 0xc4, 0x33, 0xeb, 0x38, 0x63, 0x87, 0xf4, 0x56, 0xba, 0xab,
+ 0x94, 0x42, 0x1a, 0x38, 0xad, 0x32, 0xf1, 0xf4, 0x37, 0xdd, 0xea, 0x7f,
+ 0xe7, 0x6f, 0x0e, 0x3b, 0xcd, 0x3d, 0xff, 0xec, 0xd9, 0xce, 0xef, 0x88,
+ 0xd6, 0x2b, 0xc9, 0x3f, 0x22, 0x7e, 0x84, 0x28, 0x91, 0xce, 0xf7, 0x15,
+ 0xe5, 0xb1, 0xaa, 0xa7, 0xa1, 0x94, 0x87, 0xfc, 0x4c, 0xfb, 0xba, 0x99,
+ 0x10, 0x6c, 0xcb, 0x12, 0x71, 0x54, 0xaa, 0xee, 0xff, 0xe7, 0x7f, 0x85,
+ 0x79, 0xb6, 0x3f, 0xfe, 0xcc, 0xce, 0xe2, 0x4b, 0x94, 0xc7, 0x72, 0xb8,
+ 0x7f, 0x15, 0x33, 0xb5, 0xbb, 0x91, 0xe9, 0x44, 0x6f, 0xfc, 0x71, 0xc3,
+ 0x96, 0xb0, 0x80, 0xce, 0x1f, 0xcd, 0xd2, 0xd6, 0xcb, 0x53, 0xfa, 0xa6,
+ 0x0b, 0x5b, 0x49, 0x45, 0x78, 0xab, 0x0e, 0xb8, 0x14, 0x4b, 0xa9, 0xea,
+ 0x30, 0x59, 0x56, 0x82, 0x46, 0x4b, 0x31, 0x48, 0x51, 0x03, 0xf5, 0x97,
+ 0x93, 0x97, 0x9c, 0x41, 0x56, 0xe8, 0x3f, 0xa9, 0xa2, 0xc8, 0x67, 0xce,
+ 0x8b, 0x25, 0xfe, 0x4b, 0x41, 0x12, 0xfd, 0xa7, 0x59, 0x81, 0x5e, 0x73,
+ 0x5b, 0xfe, 0x57, 0xdb, 0x97, 0x69, 0x34, 0x0c, 0xea, 0xf1, 0xc7, 0x3f,
+ 0xee, 0x52, 0x82, 0xd0, 0x7a, 0xb7, 0x09, 0x06, 0xfb, 0xdb, 0x55, 0xb5,
+ 0x0a, 0xd2, 0x2a, 0x52, 0x55, 0xfd, 0x20, 0x65, 0x1f, 0xf7, 0x48, 0x6f,
+ 0xfc, 0xaf, 0x01, 0xfd, 0xf7, 0xc7, 0xdd, 0xfe, 0xb3, 0x9f, 0xed, 0x47,
+ 0xff, 0xb8, 0xfb, 0xf1, 0x8f, 0x7b, 0xeb, 0xd1, 0x2c, 0x3b, 0x47, 0x07,
+ 0xe0, 0x41, 0x15, 0x49, 0x9d, 0x2d, 0xee, 0x25, 0x6b, 0x43, 0x42, 0x8d,
+ 0xae, 0x66, 0x16, 0x0a, 0x73, 0x86, 0x94, 0x49, 0xe4, 0xb9, 0xea, 0x68,
+ 0xaa, 0x5a, 0x36, 0x4b, 0x85, 0xc3, 0x6d, 0xc9, 0x2f, 0x8b, 0x57, 0x85,
+ 0xd3, 0x01, 0x35, 0x9d, 0x20, 0x90, 0x85, 0x45, 0xd6, 0xde, 0x1b, 0x44,
+ 0xa0, 0xa2, 0xac, 0x1b, 0xe1, 0x6c, 0x08, 0x3e, 0xca, 0xdc, 0x66, 0x69,
+ 0xd2, 0x99, 0xf4, 0xd1, 0xc8, 0xfe, 0xa4, 0xc8, 0x82, 0xbc, 0xac, 0xd4,
+ 0xe6, 0x31, 0xb2, 0xfd, 0x66, 0xa5, 0x82, 0x79, 0xd3, 0xc6, 0xaf, 0x25,
+ 0xac, 0x85, 0xde, 0xbb, 0x92, 0xac, 0x54, 0x19, 0xb4, 0x2b, 0x2d, 0xfe,
+ 0xb6, 0xd0, 0x8a, 0xb9, 0xee, 0x42, 0x31, 0x2d, 0xe5, 0xae, 0x90, 0x3a,
+ 0xff, 0x4c, 0x02, 0x30, 0x48, 0xf8, 0xe7, 0xa2, 0x4d, 0x65, 0xcc, 0x23,
+ 0x90, 0x8e, 0xa8, 0xa6, 0x55, 0xab, 0x42, 0xc8, 0x18, 0xd5, 0x3c, 0x6b,
+ 0xd8, 0xb3, 0x4a, 0x40, 0x95, 0xd6, 0x4b, 0x26, 0xc4, 0x9f, 0x0a, 0x6f,
+ 0x12, 0x64, 0xa2, 0x30, 0x39, 0x2b, 0x1c, 0xbb, 0x9c, 0x25, 0x4b, 0x30,
+ 0xd2, 0x26, 0xeb, 0x7b, 0x69, 0xb2, 0x48, 0xcb, 0xc5, 0x4f, 0x3d, 0xa8,
+ 0x9b, 0xc4, 0xf7, 0xfa, 0x41, 0x50, 0xd2, 0x6c, 0xa2, 0xc9, 0xbd, 0x91,
+ 0x84, 0x4c, 0xc7, 0x69, 0xe9, 0xfd, 0xd4, 0x43, 0x20, 0xb2, 0xc6, 0xec,
+ 0xb3, 0x8d, 0xfe, 0x46, 0xb2, 0x89, 0x54, 0x7a, 0x98, 0x75, 0xc9, 0x24,
+ 0xad, 0xaf, 0xb7, 0x62, 0x7e, 0x48, 0xe7, 0xfa, 0x73, 0x82, 0x6a, 0x24,
+ 0xae, 0x07, 0xba, 0x31, 0x59, 0x42, 0x45, 0x07, 0xa6, 0xf7, 0xf5, 0x29,
+ 0xe2, 0x25, 0x8c, 0x17, 0xec, 0xdb, 0xf4, 0x9a, 0xce, 0xcf, 0xfa, 0xe0,
+ 0x1d, 0xe5, 0x9f, 0xff, 0x47, 0x78, 0x2f, 0xc8, 0x93, 0x0c, 0xf9, 0xea,
+ 0x73, 0x4e, 0x94, 0xbb, 0x48, 0x29, 0x98, 0x97, 0xbc, 0x9c, 0x5f, 0x57,
+ 0x46, 0xfb, 0x0b, 0x53, 0xaf, 0x86, 0x6f, 0x13, 0x78, 0x62, 0xa8, 0x10,
+ 0x0b, 0x3f, 0x63, 0x37, 0x88, 0xc7, 0x63, 0xf8, 0x3b, 0xd2, 0xe6, 0x11,
+ 0x9a, 0xa4, 0x9f, 0xd6, 0xfd, 0x40, 0xd3, 0xb9, 0xf0, 0xa1, 0xb5, 0xa4,
+ 0x77, 0x92, 0x31, 0x42, 0x28, 0x46, 0x8a, 0xab, 0x15, 0x63, 0x94, 0xfc,
+ 0x4d, 0xb6, 0x07, 0x83, 0x6d, 0x12, 0x58, 0xdb, 0xe6, 0x0f, 0x47, 0x20,
+ 0x0f, 0xd0, 0x6d, 0xb7, 0x00, 0x8e, 0xd9, 0xe8, 0x80, 0xae, 0x80, 0x3d,
+ 0x43, 0xea, 0xc5, 0xb9, 0x38, 0x7b, 0xfd, 0xf7, 0x05, 0x90, 0xa8, 0x95,
+ 0xd1, 0x27, 0x2b, 0x4e, 0xec, 0x9d, 0xb5, 0xee, 0xc8, 0xa0, 0xec, 0x0c,
+ 0x3b, 0xd6, 0x6b, 0x21, 0x91, 0x68, 0xae, 0x3b, 0x19, 0x67, 0x8c, 0xa2,
+ 0x01, 0x3e, 0x38, 0x6f, 0x94, 0xbc, 0x0b, 0x49, 0xd5, 0xe9, 0x4a, 0x7b,
+ 0xee, 0xe9, 0x5e, 0xdb, 0xef, 0x31, 0xcf, 0x0b, 0x63, 0x61, 0x18, 0xcd,
+ 0x18, 0xc4, 0x8c, 0x04, 0xc5, 0x0b, 0x53, 0x7a, 0xd8, 0x99, 0xd6, 0x29,
+ 0x40, 0x02, 0x77, 0x32, 0xcb, 0x37, 0x57, 0xd2, 0x5b, 0x34, 0x6c, 0x30,
+ 0x2f, 0x4a, 0x38, 0x7f, 0x33, 0xb8, 0x2c, 0xf9, 0x23, 0x5b, 0x7c, 0x63,
+ 0x0a, 0x58, 0x17, 0x1b, 0x22, 0xe3, 0xbb, 0x4d, 0x2a, 0x33, 0x8d, 0xe0,
+ 0x3f, 0x21, 0x30, 0x10, 0x94, 0x77, 0xb4, 0x16, 0xf3, 0x7a, 0x58, 0x97,
+ 0x83, 0x75, 0x94, 0xb8, 0x22, 0x3b, 0x34, 0x66, 0xe2, 0xb6, 0x34, 0xf3,
+ 0xfe, 0xfa, 0xe8, 0x5c, 0xd4, 0x13, 0x38, 0x20, 0x5c, 0x81, 0xc4, 0xb0,
+ 0xac, 0x28, 0x19, 0x32, 0xcf, 0x9f, 0xda, 0x42, 0xc6, 0xf5, 0x75, 0xba,
+ 0xf7, 0xec, 0xb9, 0x74, 0x5b, 0x49, 0xb4, 0x70, 0x6f, 0x6f, 0xf0, 0xaf,
+ 0xb6, 0xb7, 0x39, 0x6a, 0x4e, 0xa6, 0x69, 0x20, 0x17, 0x52, 0x29, 0xc7,
+ 0xbc, 0xf1, 0xc5, 0x46, 0x14, 0x2f, 0xa7, 0x8a, 0x2b, 0x9b, 0xef, 0xe4,
+ 0x7c, 0x06, 0xa6, 0xcf, 0x27, 0xd4, 0xef, 0xb5, 0x38, 0xe6, 0x13, 0xa1,
+ 0x42, 0x08, 0xb4, 0x86, 0x16, 0xd7, 0xbc, 0xb0, 0x4e, 0x68, 0x45, 0x9e,
+ 0x44, 0x93, 0x53, 0x07, 0xc9, 0x41, 0x6b, 0x7e, 0x6a, 0x2e, 0x0e, 0x39,
+ 0x0e, 0x99, 0x4d, 0x04, 0xfb, 0x46, 0xab, 0xe1, 0x35, 0x2c, 0x20, 0x50,
+ 0x22, 0x2d, 0x26, 0xb6, 0x3f, 0xda, 0x78, 0x1a, 0x75, 0x61, 0x8f, 0x0c,
+ 0x7a, 0x6a, 0xbe, 0x10, 0x24, 0x8a, 0xe8, 0xbe, 0x50, 0x84, 0x14, 0x1b,
+ 0xf4, 0x1e, 0x4a, 0xd0, 0x9d, 0x16, 0x73, 0x1d, 0x54, 0x4d, 0x87, 0x98,
+ 0x66, 0x35, 0x23, 0x2f, 0x50, 0x62, 0xe3, 0x2c, 0x67, 0x3e, 0x26, 0xb3,
+ 0xb6, 0x14, 0xf7, 0x09, 0xce, 0x81, 0xd9, 0x0a, 0xdb, 0xb4, 0x0f, 0xc4,
+ 0xd6, 0x08, 0xc8, 0xef, 0xc9, 0xc7, 0xfc, 0x62, 0xb0, 0xb3, 0x9f, 0x9c,
+ 0xce, 0xb3, 0xc2, 0xac, 0x41, 0x2f, 0xf9, 0xa6, 0x58, 0xd0, 0x92, 0xd0,
+ 0xa8, 0xbf, 0x19, 0x7e, 0x1b, 0xe4, 0x5b, 0xd1, 0x1b, 0x4f, 0x9f, 0xd0,
+ 0x1b, 0xef, 0x87, 0xfc, 0xd4, 0x6d, 0x39, 0xbd, 0x34, 0x6f, 0x6e, 0x1f,
+ 0xde, 0xa7, 0xe6, 0x8f, 0xd8, 0xe3, 0x9f, 0xd1, 0xe3, 0x66, 0xe3, 0x4d,
+ 0x9a, 0xa0, 0x88, 0x71, 0x22, 0x55, 0x5c, 0xf6, 0x93, 0xb3, 0x72, 0x9a,
+ 0x56, 0x70, 0xfb, 0xf2, 0xe6, 0x5b, 0xd1, 0xe3, 0xa7, 0x4f, 0x23, 0x3d,
+ 0xee, 0x2d, 0xe9, 0xd0, 0xe0, 0x9f, 0xef, 0xd1, 0x29, 0xfc, 0x7e, 0xf4,
+ 0xb7, 0x51, 0x3a, 0xfe, 0x84, 0xad, 0x08, 0x50, 0xbb, 0xe5, 0x9b, 0xfd,
+ 0x3d, 0xa5, 0x39, 0x93, 0x11, 0x3c, 0xa6, 0xa8, 0x4d, 0x05, 0x3e, 0xb6,
+ 0x06, 0x39, 0xee, 0x9f, 0xed, 0x3d, 0xd9, 0xdd, 0x7e, 0x3e, 0x78, 0x3a,
+ 0xd8, 0xb3, 0x20, 0x33, 0xb3, 0xb1, 0x6e, 0xa8, 0x84, 0x02, 0x85, 0xf3,
+ 0x97, 0x55, 0xa0, 0xcb, 0x0b, 0xd3, 0x8e, 0x47, 0xbd, 0x50, 0xb3, 0xe3,
+ 0xc8, 0xc1, 0x4b, 0x88, 0x68, 0x61, 0xd7, 0xcf, 0x56, 0x8a, 0x55, 0x10,
+ 0x23, 0xfe, 0x06, 0xea, 0x84, 0xf8, 0x3a, 0x8c, 0xfd, 0x4f, 0x33, 0x30,
+ 0xca, 0x8d, 0xc9, 0xdc, 0x94, 0x0b, 0xb8, 0xd4, 0xc9, 0x7f, 0xa3, 0x8c,
+ 0xdb, 0xa2, 0x23, 0xb1, 0x85, 0x4c, 0x67, 0x2c, 0xe6, 0x1b, 0xe3, 0xde,
+ 0x33, 0x9c, 0x97, 0xe2, 0x43, 0x5e, 0x19, 0x68, 0x72, 0xc6, 0xa2, 0x8e,
+ 0x3c, 0xaa, 0x5d, 0x18, 0x73, 0xa6, 0x18, 0x9b, 0x43, 0xff, 0xd6, 0x98,
+ 0x1a, 0x37, 0xe4, 0x37, 0x8e, 0xd5, 0x10, 0x96, 0x24, 0x46, 0xf5, 0xfb,
+ 0x0b, 0xc6, 0xc1, 0x11, 0x62, 0xcb, 0x0f, 0x38, 0x75, 0x42, 0x93, 0x57,
+ 0x39, 0xe5, 0xab, 0x1f, 0x26, 0xfe, 0x5a, 0x7f, 0x57, 0x9b, 0xbb, 0x53,
+ 0x48, 0xa5, 0x29, 0x7f, 0x89, 0x5d, 0xdc, 0x4c, 0x32, 0x47, 0xd3, 0xe8,
+ 0xb2, 0xd1, 0x62, 0x1e, 0x98, 0x55, 0x1e, 0xba, 0x28, 0x23, 0x05, 0xff,
+ 0xab, 0x5b, 0xf1, 0x4f, 0x2e, 0xc1, 0x58, 0x55, 0xae, 0x4e, 0x61, 0x34,
+ 0x6d, 0xf5, 0x57, 0xef, 0xb2, 0x27, 0xbf, 0xfd, 0x2e, 0xdb, 0x7b, 0xec,
+ 0x2e, 0xf3, 0xb6, 0x19, 0x7b, 0x82, 0x56, 0x6c, 0x34, 0x33, 0x85, 0x5c,
+ 0x12, 0x39, 0xbe, 0xcb, 0xbc, 0x4d, 0x36, 0xba, 0x8f, 0x6e, 0xb1, 0xf6,
+ 0x1e, 0x73, 0x9b, 0x6c, 0xd9, 0x2e, 0xc3, 0x36, 0xb3, 0xfb, 0xec, 0x81,
+ 0x8d, 0xc6, 0x8e, 0xb6, 0xd5, 0xbb, 0xac, 0x53, 0x50, 0x7b, 0xc5, 0x1e,
+ 0xf3, 0x37, 0xc4, 0xa3, 0x77, 0x99, 0xf3, 0x7a, 0xb1, 0xdc, 0x49, 0x96,
+ 0x6c, 0x34, 0x7f, 0x9f, 0x2d, 0xad, 0xfd, 0xb6, 0xfb, 0x22, 0xb6, 0xcb,
+ 0x9e, 0x3c, 0x66, 0x97, 0x99, 0xf5, 0x9c, 0xd2, 0xe5, 0xdb, 0xda, 0x65,
+ 0x4f, 0x7f, 0xd1, 0x2e, 0xe3, 0x6d, 0x86, 0x7d, 0xb6, 0x74, 0xa3, 0xd1,
+ 0x90, 0xda, 0xa9, 0x97, 0x07, 0xff, 0xac, 0xb4, 0x48, 0x5b, 0x8d, 0x06,
+ 0x09, 0x89, 0xbf, 0x6c, 0x0d, 0x3b, 0x53, 0xfd, 0x88, 0x15, 0xdb, 0x6b,
+ 0xaf, 0xd8, 0xee, 0x2f, 0x5b, 0xb1, 0xbd, 0x4e, 0x8c, 0xd0, 0xa8, 0x7e,
+ 0xec, 0xba, 0xfd, 0x51, 0x3d, 0xe8, 0xfb, 0xdb, 0xdb, 0x3f, 0xc3, 0x11,
+ 0xb1, 0x4f, 0x77, 0xdf, 0xcf, 0x41, 0x51, 0xcc, 0xac, 0x93, 0xb4, 0x38,
+ 0x3c, 0x3d, 0xfc, 0x76, 0x28, 0xfe, 0x5f, 0xd1, 0x60, 0x54, 0xc3, 0x61,
+ 0x4f, 0x19, 0x68, 0x17, 0xb8, 0x84, 0x55, 0xa0, 0x37, 0x4b, 0xe5, 0xbc,
+ 0xfe, 0x5d, 0xcf, 0x3a, 0x62, 0x29, 0x15, 0xae, 0x50, 0xc8, 0x20, 0xd3,
+ 0xa7, 0x31, 0x89, 0x13, 0x8c, 0x6f, 0x69, 0x7a, 0x09, 0x4b, 0x96, 0xdf,
+ 0x17, 0xb1, 0xfc, 0x0b, 0xf7, 0xca, 0x66, 0x73, 0x5d, 0x21, 0x45, 0x02,
+ 0x8f, 0x89, 0xb2, 0xde, 0x68, 0xc1, 0xac, 0xa5, 0xbd, 0x93, 0x5e, 0xbd,
+ 0x05, 0xc9, 0xec, 0xbc, 0xca, 0x96, 0xd4, 0xa2, 0xbd, 0xb8, 0xf6, 0x7e,
+ 0x1b, 0xd6, 0xd8, 0x74, 0x13, 0x26, 0x94, 0x69, 0xde, 0x7c, 0xd3, 0x7b,
+ 0x41, 0x76, 0x77, 0x7e, 0xd7, 0xa6, 0xf1, 0x49, 0xa7, 0xa8, 0x38, 0x89,
+ 0x02, 0x0a, 0xea, 0x6e, 0xd7, 0x36, 0x18, 0x06, 0x94, 0x71, 0x15, 0x84,
+ 0xfa, 0xa9, 0x69, 0x32, 0x40, 0x60, 0xe2, 0x17, 0x29, 0xfd, 0x46, 0xfe,
+ 0xf1, 0x8c, 0x3e, 0x0c, 0xc7, 0x29, 0xff, 0xf3, 0x1a, 0xff, 0xa6, 0x4f,
+ 0x2a, 0x2b, 0x93, 0xb7, 0xce, 0xe3, 0xe8, 0x44, 0xab, 0x28, 0x65, 0x1b,
+ 0x9e, 0xd9, 0x02, 0xde, 0x97, 0x2e, 0x3f, 0xcd, 0x1f, 0xb3, 0x2b, 0x3d,
+ 0x1d, 0xe1, 0xa2, 0xf7, 0x04, 0x31, 0x5a, 0x7e, 0xba, 0x24, 0x26, 0x90,
+ 0x25, 0x3e, 0x79, 0xa3, 0xe6, 0xe2, 0xfb, 0xa5, 0x93, 0x5c, 0xd8, 0x51,
+ 0x96, 0xa0, 0xc7, 0x4c, 0x9e, 0x21, 0x5c, 0x96, 0xaa, 0x02, 0x48, 0xcf,
+ 0x77, 0x77, 0x3e, 0x0f, 0x3d, 0xb7, 0x1f, 0x34, 0x3f, 0xcc, 0xf1, 0x17,
+ 0x02, 0x5b, 0x00, 0xa4, 0xf6, 0xc8, 0x65, 0x45, 0xc4, 0x3e, 0x1a, 0x49,
+ 0x21, 0x83, 0x31, 0x3d, 0xc9, 0xd8, 0xfc, 0x1a, 0xb1, 0x1d, 0x1d, 0x14,
+ 0x75, 0xe7, 0x94, 0xd8, 0x1a, 0xf7, 0x9a, 0x50, 0xef, 0x4a, 0x80, 0x3c,
+ 0x90, 0xef, 0x04, 0xda, 0xd0, 0xb8, 0xcd, 0x57, 0x8e, 0x1d, 0xed, 0x4f,
+ 0x4f, 0x77, 0x68, 0x4d, 0xb5, 0x91, 0x94, 0x8b, 0x9b, 0xf3, 0x9e, 0xfb,
+ 0xd3, 0x93, 0x74, 0xf0, 0x2f, 0xe4, 0x36, 0x7a, 0xd6, 0x36, 0xcb, 0xff,
+ 0xd8, 0xe3, 0x13, 0x7e, 0x45, 0xf4, 0x2b, 0xfd, 0x51, 0x5a, 0x45, 0xb2,
+ 0x11, 0xe4, 0xee, 0x56, 0xde, 0x0e, 0x65, 0xbd, 0xd0, 0xb7, 0x90, 0xda,
+ 0x94, 0x3a, 0x80, 0xb9, 0xfd, 0x79, 0x12, 0x36, 0xe7, 0xb9, 0xbd, 0xfd,
+ 0x4a, 0x9b, 0x3d, 0xe6, 0x9b, 0xf2, 0xe8, 0xa6, 0xd2, 0x69, 0x8f, 0x02,
+ 0x62, 0x11, 0x52, 0x22, 0x56, 0xf7, 0x5a, 0x1f, 0x21, 0xe2, 0xa8, 0x5b,
+ 0xcf, 0x2c, 0x67, 0xd6, 0xf7, 0x4b, 0x78, 0xbf, 0x2d, 0x92, 0xc1, 0xfc,
+ 0x9e, 0x02, 0x9b, 0x31, 0xfd, 0xa3, 0x1e, 0x57, 0x54, 0x46, 0x45, 0xea,
+ 0x10, 0xa0, 0xa5, 0x39, 0xb1, 0xee, 0x19, 0xdd, 0xe3, 0x2a, 0xd3, 0x4c,
+ 0x44, 0x3b, 0x6e, 0x25, 0x9c, 0x00, 0xcb, 0xc4, 0x20, 0x86, 0xef, 0x75,
+ 0x00, 0x1e, 0x57, 0xfc, 0xd4, 0x4c, 0x10, 0xd3, 0x52, 0xd0, 0xeb, 0x9a,
+ 0x17, 0xaa, 0x8b, 0x56, 0xcf, 0xa9, 0x88, 0x57, 0x7d, 0x9d, 0x77, 0xab,
+ 0x1d, 0x6f, 0xf6, 0x5f, 0x95, 0xaf, 0xfa, 0x5b, 0xb2, 0xc9, 0xcb, 0x1b,
+ 0x63, 0x08, 0x93, 0x2d, 0x84, 0xae, 0x52, 0xd0, 0xf3, 0x1a, 0x5e, 0x1b,
+ 0xb9, 0xbe, 0x90, 0xfe, 0x48, 0x28, 0x44, 0xe8, 0x63, 0xf0, 0xb3, 0x07,
+ 0xd5, 0x25, 0xb8, 0x63, 0x15, 0x45, 0x3c, 0x6d, 0xa1, 0x7b, 0x04, 0x6e,
+ 0x2e, 0x19, 0x26, 0x85, 0x14, 0x49, 0x0a, 0x06, 0x0b, 0x43, 0x31, 0x3b,
+ 0x97, 0xcb, 0x79, 0xfb, 0x76, 0xa2, 0x6c, 0x5b, 0x95, 0x0e, 0x2f, 0x55,
+ 0xb0, 0x7c, 0xf9, 0x20, 0x96, 0xde, 0x8a, 0xa0, 0x4b, 0xf1, 0x8b, 0xd0,
+ 0xf1, 0x43, 0x6e, 0x05, 0x73, 0x1b, 0x8f, 0xaf, 0xb3, 0x99, 0x54, 0xe1,
+ 0xf8, 0x85, 0x35, 0xc5, 0x3b, 0x7d, 0x62, 0x94, 0xd9, 0x65, 0x33, 0x1f,
+ 0xcc, 0xca, 0x7f, 0x98, 0x39, 0x4e, 0xa9, 0xac, 0x57, 0x70, 0x28, 0x28,
+ 0x85, 0xb0, 0xe0, 0x45, 0x81, 0xc4, 0x5d, 0x14, 0xd6, 0xb4, 0xf4, 0xf8,
+ 0xd9, 0x84, 0x83, 0x1a, 0x29, 0xe4, 0xc9, 0xa1, 0xe9, 0xf1, 0xd1, 0xc7,
+ 0x0f, 0xef, 0x87, 0x1f, 0xce, 0xba, 0x67, 0xff, 0xec, 0xf4, 0xfc, 0xe2,
+ 0xe8, 0xf5, 0xc7, 0xb3, 0xf3, 0xd3, 0x8b, 0xd3, 0xc3, 0xd3, 0x93, 0x64,
+ 0x73, 0x77, 0x6b, 0x65, 0xc6, 0x94, 0xf5, 0x6a, 0x78, 0x0c, 0x7c, 0xda,
+ 0x7f, 0x96, 0x5a, 0xb6, 0x0b, 0x9b, 0x34, 0x9e, 0xb0, 0xb5, 0xef, 0x65,
+ 0x6f, 0xb5, 0x58, 0x8d, 0xe1, 0xda, 0xc0, 0xf5, 0x06, 0xb9, 0x9e, 0x26,
+ 0x57, 0x0b, 0x3a, 0x26, 0x36, 0x64, 0xae, 0xe9, 0x24, 0x75, 0x13, 0x5c,
+ 0x46, 0x59, 0x26, 0x81, 0x3b, 0x2f, 0xd9, 0x66, 0xa5, 0x87, 0xef, 0x59,
+ 0x57, 0x6b, 0xa1, 0x35, 0x80, 0x0a, 0xe6, 0x76, 0x45, 0x1d, 0xdf, 0x16,
+ 0x76, 0x5f, 0x30, 0x45, 0x07, 0x18, 0x9e, 0xed, 0x2b, 0xa0, 0xbf, 0x97,
+ 0x40, 0x4a, 0x59, 0x58, 0xa5, 0x6e, 0x90, 0x9c, 0x85, 0xa5, 0x6a, 0xe4,
+ 0x8d, 0x49, 0x56, 0x48, 0xc9, 0x44, 0xe9, 0x07, 0xe2, 0x68, 0xa8, 0xf1,
+ 0xc1, 0x51, 0x5d, 0xf3, 0x00, 0xfd, 0xd6, 0x9b, 0x2b, 0xa4, 0x70, 0x66,
+ 0x81, 0x13, 0x9a, 0xdf, 0x66, 0xf6, 0x8a, 0x5b, 0xaf, 0x4f, 0xd4, 0x1e,
+ 0xa9, 0x65, 0x60, 0xd8, 0x8b, 0xc8, 0xd8, 0x23, 0x8d, 0xd2, 0x70, 0xba,
+ 0x0c, 0xce, 0x24, 0x34, 0x18, 0x65, 0x6e, 0x19, 0xfa, 0x63, 0x79, 0x60,
+ 0x23, 0xf3, 0x24, 0x92, 0xbb, 0xbc, 0x47, 0x6b, 0xdf, 0xe3, 0x0d, 0x2d,
+ 0xc1, 0xa9, 0x15, 0x58, 0x7d, 0x87, 0x2b, 0xf4, 0x9d, 0x5c, 0xe8, 0x10,
+ 0xb9, 0xde, 0xdd, 0x68, 0xbc, 0xae, 0x68, 0xc6, 0xa4, 0xb9, 0x5d, 0xba,
+ 0x93, 0x8b, 0xdb, 0x46, 0x93, 0xd9, 0xa5, 0xec, 0xa5, 0x70, 0xfa, 0x12,
+ 0x15, 0x86, 0xd1, 0xdc, 0xf7, 0x2d, 0x5c, 0x89, 0xf0, 0x3b, 0x09, 0xa7,
+ 0xc2, 0xb3, 0x87, 0x7f, 0x78, 0x78, 0x16, 0xa1, 0x62, 0xf0, 0x72, 0xe3,
+ 0x59, 0xe0, 0x6a, 0x69, 0xd7, 0x9d, 0xc1, 0x4e, 0x32, 0x7c, 0xf7, 0xb5,
+ 0xb0, 0x13, 0x7e, 0x3d, 0x64, 0xae, 0x67, 0x52, 0xb2, 0xf5, 0x8d, 0x41,
+ 0x9c, 0x00, 0x0a, 0xc2, 0x63, 0x2a, 0xe1, 0xe6, 0xbf, 0xa4, 0x2e, 0xd7,
+ 0x8c, 0x93, 0x6c, 0x3c, 0x7d, 0x8c, 0xf3, 0xe6, 0x74, 0xdc, 0xbd, 0x68,
+ 0x3a, 0x39, 0x47, 0x51, 0xa8, 0xae, 0x69, 0x74, 0xdc, 0x83, 0xd5, 0x54,
+ 0x58, 0x7b, 0xc1, 0x79, 0x78, 0xe4, 0x49, 0x78, 0xcc, 0x51, 0x10, 0x95,
+ 0x46, 0x85, 0x78, 0x77, 0x3a, 0xce, 0x5a, 0x5b, 0x35, 0xa3, 0x9c, 0x19,
+ 0x86, 0x0e, 0x66, 0x97, 0xd0, 0xe1, 0x90, 0xcd, 0xd6, 0xc3, 0x2f, 0x11,
+ 0xff, 0xb2, 0x00, 0xa7, 0x38, 0x2f, 0x12, 0x1a, 0x49, 0xc7, 0xbe, 0x52,
+ 0xac, 0x1c, 0x6a, 0xdd, 0x39, 0xf8, 0x0b, 0xaa, 0x68, 0x32, 0x81, 0x6c,
+ 0x5e, 0x7b, 0x4c, 0x08, 0x05, 0x11, 0xbb, 0xe5, 0x1a, 0xe1, 0xf2, 0xce,
+ 0xd2, 0x94, 0xf2, 0xe3, 0xee, 0x39, 0xb5, 0x2e, 0x30, 0xd6, 0xa0, 0x48,
+ 0x4d, 0xc8, 0x30, 0x70, 0x30, 0x6e, 0xdd, 0xd5, 0xa8, 0xa2, 0xe4, 0x28,
+ 0xb1, 0x44, 0x33, 0x0a, 0x65, 0x63, 0x3f, 0x49, 0x5e, 0x67, 0xc5, 0x7d,
+ 0xbb, 0x43, 0x3d, 0xf0, 0x59, 0xc0, 0x73, 0x9b, 0x37, 0x2e, 0xe5, 0x5a,
+ 0xe9, 0xfe, 0x2f, 0xbd, 0xad, 0x12, 0x76, 0xa9, 0xdd, 0xe7, 0x98, 0x04,
+ 0x78, 0x65, 0xa7, 0x41, 0x11, 0x30, 0xfe, 0x64, 0x6c, 0x82, 0x39, 0x41,
+ 0x83, 0x74, 0xf8, 0xe4, 0x63, 0xa6, 0x01, 0xac, 0x70, 0xb0, 0x8f, 0xea,
+ 0xc5, 0xe8, 0x6f, 0x74, 0x5c, 0x61, 0x0d, 0x90, 0x95, 0x5e, 0x29, 0x37,
+ 0x98, 0x02, 0xd7, 0xc8, 0x41, 0x67, 0x9e, 0xe2, 0xc0, 0x52, 0xe8, 0x41,
+ 0xa6, 0x4a, 0x2b, 0x88, 0x1e, 0x2a, 0x09, 0x76, 0x7b, 0x17, 0xa0, 0x4f,
+ 0xd1, 0x84, 0xa5, 0x6c, 0xc9, 0xe5, 0xab, 0x5b, 0xbc, 0x7f, 0x49, 0xd2,
+ 0x89, 0xf1, 0x50, 0x9d, 0x6b, 0x8c, 0x67, 0x93, 0x41, 0x78, 0x16, 0x12,
+ 0x4a, 0x8f, 0x2f, 0x6d, 0x4b, 0x65, 0x5e, 0xdd, 0xfb, 0x0b, 0xfd, 0x11,
+ 0x8e, 0xa2, 0x15, 0x43, 0xa1, 0x79, 0xd6, 0xd3, 0x4e, 0x8f, 0x43, 0x7c,
+ 0xe0, 0xf5, 0x65, 0x1f, 0x78, 0xe5, 0x04, 0xea, 0xea, 0xb6, 0x21, 0x7b,
+ 0x1e, 0xf3, 0x81, 0x0f, 0x85, 0x12, 0x8e, 0xe9, 0xfe, 0x9e, 0x5b, 0x0e,
+ 0xf4, 0xdb, 0xb4, 0x2a, 0x00, 0xf9, 0xf6, 0x6d, 0x0a, 0x62, 0xa8, 0x98,
+ 0x4b, 0x85, 0x84, 0xf4, 0x92, 0xd0, 0xb2, 0x55, 0xe6, 0x08, 0x5b, 0xc9,
+ 0x0b, 0xc6, 0x44, 0x34, 0xc2, 0x01, 0xad, 0xd8, 0xcd, 0x79, 0xd9, 0x30,
+ 0x1b, 0x35, 0xc1, 0x6b, 0x49, 0x67, 0xa8, 0xc8, 0xd9, 0xe6, 0x4d, 0xb2,
+ 0x2a, 0x9b, 0xd4, 0x9a, 0xdd, 0x4d, 0xf0, 0x49, 0x2d, 0xe6, 0xa8, 0x4e,
+ 0x28, 0xc8, 0x27, 0x89, 0x8c, 0x7a, 0x72, 0x46, 0xbe, 0xc8, 0x18, 0x29,
+ 0x38, 0x70, 0x2c, 0x71, 0xf5, 0x4d, 0x99, 0x13, 0xef, 0xcc, 0x9a, 0xbd,
+ 0x12, 0x8c, 0x1e, 0xe4, 0x76, 0xc9, 0x45, 0xbc, 0xa2, 0x82, 0x03, 0xa6,
+ 0x88, 0xad, 0xe2, 0x70, 0xbb, 0x69, 0xdd, 0x4a, 0xc8, 0xc9, 0x5b, 0x08,
+ 0x5e, 0x20, 0x18, 0x8c, 0x3d, 0x41, 0x6c, 0x68, 0x66, 0x4f, 0x16, 0x1c,
+ 0x57, 0x12, 0x43, 0x4e, 0x25, 0x22, 0x75, 0x0f, 0x98, 0xb2, 0x82, 0xec,
+ 0x87, 0xb1, 0xe5, 0x08, 0xea, 0x52, 0x4e, 0xb7, 0x6b, 0x05, 0xdb, 0x5b,
+ 0xd5, 0xe2, 0x2c, 0x9d, 0xc2, 0x38, 0x78, 0x40, 0x8c, 0xdf, 0xdd, 0x2b,
+ 0xb2, 0x6b, 0xb5, 0x32, 0x33, 0xa7, 0xa4, 0x5b, 0xe2, 0x63, 0xcd, 0x1b,
+ 0xac, 0x58, 0x07, 0x59, 0xaa, 0x88, 0x4b, 0xa9, 0x53, 0x31, 0x5b, 0x74,
+ 0x8f, 0x7c, 0xa1, 0x91, 0x34, 0x0b, 0xa4, 0x61, 0xda, 0x25, 0xe8, 0x11,
+ 0xe2, 0xf1, 0x60, 0x0e, 0x7e, 0xd8, 0xbb, 0x52, 0x97, 0x00, 0xae, 0x1c,
+ 0x04, 0xd7, 0xe2, 0x3e, 0xb9, 0x6d, 0xcb, 0xb9, 0x62, 0x36, 0x4c, 0x31,
+ 0xe9, 0x1b, 0x21, 0x30, 0x5f, 0xe1, 0xeb, 0xbe, 0xeb, 0xe9, 0xa0, 0x5b,
+ 0x90, 0x54, 0x9f, 0xe4, 0x81, 0x7f, 0xc2, 0xc8, 0x37, 0x99, 0xbb, 0x10,
+ 0xd2, 0x6d, 0x54, 0x82, 0x27, 0xb1, 0x99, 0x8c, 0x41, 0xeb, 0x42, 0x5b,
+ 0x61, 0x29, 0x33, 0xbf, 0xe6, 0x5c, 0x61, 0x02, 0x75, 0xc2, 0x96, 0xe1,
+ 0x90, 0x78, 0xfa, 0x64, 0xe6, 0x3e, 0x70, 0xca, 0x13, 0xda, 0x44, 0x2e,
+ 0x6b, 0x21, 0x60, 0x66, 0xef, 0x5b, 0x6c, 0x14, 0x05, 0xf3, 0x08, 0x16,
+ 0x24, 0x66, 0x79, 0xe7, 0xe7, 0xe4, 0x5a, 0x72, 0xc9, 0x89, 0xdd, 0x4e,
+ 0xca, 0x5a, 0xc7, 0xfc, 0x2a, 0x90, 0x93, 0xf8, 0x10, 0x75, 0x2c, 0x5f,
+ 0xc9, 0x2f, 0xb0, 0x64, 0x31, 0x62, 0xd4, 0x1a, 0x93, 0x0e, 0x4e, 0x54,
+ 0x7f, 0xce, 0x25, 0xb1, 0xe3, 0xe8, 0xb4, 0xa1, 0x9c, 0x37, 0x2d, 0x9c,
+ 0x0d, 0x39, 0xad, 0xd0, 0x40, 0xcf, 0xd1, 0xc6, 0xc5, 0x82, 0xee, 0x9a,
+ 0x07, 0x5c, 0xa1, 0xf2, 0x3d, 0xc4, 0xd2, 0x15, 0xfe, 0x21, 0x0d, 0xbb,
+ 0x7f, 0xba, 0xdf, 0x9a, 0xd1, 0xc5, 0x84, 0x34, 0xad, 0xd5, 0x72, 0x8f,
+ 0x45, 0xfb, 0x2b, 0x2f, 0xcd, 0x89, 0x5e, 0x35, 0x28, 0x3c, 0xf4, 0x6b,
+ 0x06, 0xd5, 0x2a, 0x32, 0x2e, 0x63, 0x90, 0x3e, 0x77, 0x56, 0x84, 0x3f,
+ 0xb2, 0x32, 0xee, 0xb3, 0x64, 0x08, 0xa6, 0xcd, 0x15, 0x35, 0x3d, 0xbd,
+ 0x61, 0xd8, 0x07, 0x7f, 0xe9, 0x48, 0x1e, 0x9e, 0x46, 0x6c, 0x0d, 0xfa,
+ 0xef, 0x8f, 0xfb, 0x70, 0xa9, 0x4d, 0x7e, 0x5e, 0xda, 0x8f, 0xa3, 0x9e,
+ 0xf4, 0xe5, 0x77, 0xe8, 0x46, 0x3e, 0xbf, 0x26, 0x7f, 0xc9, 0xcb, 0x58,
+ 0x2e, 0x8c, 0x37, 0x11, 0xf2, 0xd8, 0x6f, 0xff, 0xfd, 0x6a, 0xea, 0xe8,
+ 0x67, 0x56, 0x7c, 0x5f, 0x1e, 0xfb, 0xcd, 0xbf, 0xcf, 0x67, 0x77, 0xf5,
+ 0xe5, 0x62, 0xa5, 0xe2, 0x6b, 0x41, 0x1c, 0xb7, 0x25, 0x8e, 0xbb, 0x55,
+ 0x7e, 0x85, 0x50, 0x14, 0x10, 0x73, 0x28, 0x15, 0xe5, 0x5b, 0xd1, 0x5a,
+ 0x09, 0xbe, 0x58, 0xfc, 0x4d, 0x24, 0x18, 0x44, 0x73, 0x38, 0x39, 0x52,
+ 0xbc, 0xe4, 0x25, 0xff, 0xb9, 0xfd, 0x55, 0x6c, 0x8d, 0x94, 0xbb, 0xf4,
+ 0x88, 0xae, 0x41, 0x2d, 0x77, 0x82, 0xfa, 0x19, 0x9c, 0xd0, 0x2f, 0x2a,
+ 0xaf, 0xad, 0xfd, 0x40, 0x93, 0xa5, 0x90, 0x0e, 0x7a, 0x35, 0x56, 0x63,
+ 0x45, 0x66, 0x88, 0x70, 0x9d, 0x64, 0x82, 0xd9, 0x52, 0xf6, 0x16, 0xd0,
+ 0x43, 0x8a, 0x47, 0xe6, 0x7d, 0xb0, 0x5e, 0x56, 0x30, 0x8b, 0xb3, 0x75,
+ 0xbc, 0x5a, 0x95, 0x8e, 0x5f, 0xf4, 0x6d, 0x4f, 0x6a, 0x9c, 0x98, 0xe6,
+ 0x68, 0x5b, 0x09, 0xb0, 0x51, 0xf7, 0x13, 0x96, 0x33, 0x24, 0x61, 0x61,
+ 0xbc, 0x3a, 0xe9, 0xa6, 0x53, 0xc6, 0xcf, 0x26, 0x87, 0xa7, 0xef, 0xdf,
+ 0x1f, 0x1d, 0x76, 0x63, 0xbb, 0x20, 0x97, 0x40, 0x8a, 0x00, 0x3c, 0xb4,
+ 0xa2, 0xea, 0x07, 0x35, 0xf6, 0xf0, 0x75, 0x26, 0x4f, 0xb7, 0xe1, 0x17,
+ 0xee, 0x01, 0xea, 0xef, 0xa4, 0xc2, 0xa1, 0xca, 0x99, 0x06, 0x1e, 0xbb,
+ 0x26, 0xef, 0x80, 0x48, 0xfa, 0x55, 0xb0, 0x1f, 0x9c, 0x37, 0x02, 0x6e,
+ 0x29, 0xaa, 0xbf, 0xc8, 0x1a, 0x28, 0x4c, 0x4c, 0xed, 0x01, 0xba, 0x6b,
+ 0x4c, 0xc6, 0x6d, 0xc1, 0x17, 0x4b, 0xe2, 0x5a, 0x68, 0xcc, 0xd8, 0xbd,
+ 0xcc, 0x7c, 0x5c, 0x94, 0xc7, 0xd1, 0x2f, 0x2f, 0xb9, 0xdc, 0xe7, 0x2c,
+ 0xad, 0x3e, 0x51, 0x6c, 0xd8, 0xcb, 0xe8, 0x40, 0x46, 0x1f, 0x08, 0x82,
+ 0x27, 0x93, 0x58, 0xaa, 0x78, 0x0a, 0x97, 0xaf, 0x40, 0xd8, 0x91, 0x31,
+ 0xc6, 0x1d, 0x92, 0x12, 0x79, 0xfb, 0x9a, 0x6a, 0x47, 0xaf, 0x17, 0xd9,
+ 0x2d, 0x7d, 0x86, 0x19, 0x32, 0x28, 0xdf, 0x3b, 0xe4, 0xdb, 0x67, 0x8e,
+ 0x67, 0xf6, 0xd0, 0xdf, 0x4b, 0xaa, 0x39, 0xad, 0xd5, 0x8c, 0x19, 0xed,
+ 0x41, 0x9a, 0x4b, 0x45, 0xa2, 0x38, 0x4d, 0x23, 0x98, 0xab, 0xb7, 0x4a,
+ 0x79, 0xe7, 0xe1, 0xdd, 0x94, 0xe9, 0xc3, 0xcf, 0xbf, 0xe0, 0xf0, 0x8d,
+ 0x64, 0xb2, 0x78, 0x64, 0x78, 0xcb, 0x22, 0xb3, 0x98, 0x6f, 0x2c, 0x04,
+ 0xd9, 0x2b, 0xb5, 0x23, 0xc8, 0x91, 0x6a, 0x7a, 0xfe, 0xae, 0x0f, 0xce,
+ 0x33, 0x51, 0x59, 0xc3, 0x70, 0x86, 0x10, 0x7b, 0xd6, 0xa5, 0x63, 0x05,
+ 0x53, 0x11, 0x1c, 0x8e, 0x44, 0x51, 0x76, 0xb5, 0xe0, 0x9c, 0x34, 0x8a,
+ 0xdc, 0xe3, 0xb8, 0x06, 0x8a, 0x2e, 0x00, 0xa2, 0x48, 0xd6, 0xea, 0x69,
+ 0x59, 0x6a, 0xda, 0xaf, 0x66, 0x82, 0x69, 0x29, 0x64, 0xfa, 0x95, 0x70,
+ 0x84, 0x1d, 0xfa, 0x72, 0x84, 0xf3, 0x62, 0xbe, 0x68, 0x82, 0xb0, 0x1c,
+ 0xd1, 0x2f, 0x71, 0xca, 0xfd, 0x57, 0xfd, 0xb0, 0x64, 0x51, 0x3a, 0xf1,
+ 0x57, 0x15, 0x22, 0x1c, 0xd6, 0x7f, 0xdd, 0x18, 0x01, 0xb0, 0xd2, 0x4b,
+ 0xeb, 0xdb, 0x34, 0xce, 0xa8, 0x11, 0x28, 0x37, 0xc7, 0x51, 0xdd, 0x76,
+ 0xdd, 0x86, 0x7b, 0xa1, 0xbb, 0x1b, 0xec, 0x5b, 0x2a, 0x24, 0x56, 0x11,
+ 0x6c, 0x80, 0x02, 0xb0, 0x23, 0xff, 0x8c, 0x9d, 0x43, 0xde, 0xa7, 0x6c,
+ 0xd9, 0xb5, 0xf4, 0x89, 0xab, 0x28, 0xf1, 0x43, 0xbf, 0xfd, 0xdd, 0xb4,
+ 0xba, 0xf2, 0xb8, 0xbb, 0x1c, 0xed, 0x73, 0xbf, 0x47, 0x0f, 0xa2, 0xa5,
+ 0xbc, 0x5b, 0xdf, 0x7e, 0xfc, 0x67, 0x03, 0x2e, 0xba, 0x07, 0xfc, 0x72,
+ 0xee, 0xe6, 0x7d, 0x90, 0x6a, 0x11, 0x52, 0x37, 0x80, 0x8d, 0x7a, 0x77,
+ 0xf2, 0xca, 0x5b, 0xd8, 0xa5, 0x16, 0xf9, 0x17, 0x71, 0x24, 0xfc, 0x1d,
+ 0xeb, 0x88, 0x84, 0x73, 0x1e, 0x77, 0x29, 0x3f, 0x78, 0x09, 0xb7, 0x32,
+ 0x33, 0xbb, 0xa8, 0x25, 0x9b, 0x99, 0xf5, 0xf8, 0x89, 0xa3, 0xb4, 0xb4,
+ 0xdf, 0x52, 0x61, 0x41, 0x3a, 0x58, 0x4b, 0x5d, 0xc1, 0x27, 0x5a, 0x93,
+ 0xf0, 0x98, 0x7b, 0x29, 0x98, 0x92, 0x6e, 0x7a, 0x57, 0x6b, 0xa2, 0xc2,
+ 0x59, 0x58, 0x05, 0x4a, 0x77, 0xdb, 0x13, 0x4f, 0xfd, 0xe6, 0xc7, 0xe2,
+ 0xf1, 0x88, 0xea, 0xf8, 0xca, 0x2c, 0x03, 0x55, 0x53, 0x73, 0x4c, 0xe5,
+ 0xbc, 0x14, 0x51, 0x4d, 0x50, 0x21, 0x0f, 0x4f, 0xed, 0x79, 0x26, 0x96,
+ 0x01, 0xaa, 0xff, 0xdf, 0x88, 0xa8, 0x6e, 0x41, 0xaa, 0x49, 0xc1, 0x02,
+ 0xbf, 0x51, 0x04, 0x55, 0xed, 0xf1, 0x60, 0x30, 0xa4, 0x7a, 0x15, 0xa2,
+ 0xda, 0x03, 0x54, 0xaf, 0xc0, 0x53, 0x33, 0x69, 0xd2, 0x2a, 0x44, 0xf5,
+ 0xaf, 0x84, 0x54, 0x2f, 0x41, 0x54, 0xff, 0x62, 0x40, 0xf5, 0x6f, 0x8c,
+ 0xa8, 0xfe, 0x2d, 0xb1, 0xbd, 0x38, 0x3d, 0xb4, 0x1e, 0xf9, 0x58, 0x72,
+ 0x55, 0x5e, 0x3e, 0x4c, 0x39, 0x1a, 0xf0, 0xb5, 0x79, 0x71, 0x5b, 0x69,
+ 0x8b, 0xd5, 0x1a, 0xab, 0xbe, 0x07, 0x04, 0x42, 0xb2, 0x59, 0x22, 0x88,
+ 0x32, 0x3f, 0xaa, 0xfa, 0x24, 0x76, 0xd6, 0xeb, 0x7a, 0xda, 0x47, 0x0f,
+ 0x28, 0x91, 0x34, 0xb0, 0x14, 0x9d, 0xa4, 0xe9, 0x3c, 0xf7, 0xdb, 0x0b,
+ 0x9d, 0x66, 0x5a, 0xef, 0x3e, 0x71, 0xf6, 0xba, 0xfc, 0x65, 0x41, 0x49,
+ 0x8e, 0x31, 0xdb, 0x9d, 0xe5, 0xcf, 0x50, 0x64, 0x8c, 0x32, 0x57, 0xf0,
+ 0x5b, 0xf0, 0x93, 0x66, 0xb6, 0xf4, 0x9a, 0x8d, 0x4a, 0xd8, 0x5a, 0xaa,
+ 0x61, 0xb6, 0x0a, 0xb2, 0x9a, 0xfd, 0x71, 0xe0, 0x12, 0xa1, 0xbc, 0x14,
+ 0x15, 0xdb, 0x35, 0x0e, 0xe1, 0xee, 0xe0, 0x09, 0xa7, 0xbd, 0x2a, 0x6f,
+ 0x86, 0xf4, 0x33, 0x20, 0xab, 0x41, 0x07, 0xc0, 0x18, 0xac, 0xe6, 0x1d,
+ 0x17, 0x36, 0x92, 0xe7, 0x07, 0xc9, 0x39, 0x29, 0x8f, 0x46, 0x59, 0x47,
+ 0xe8, 0x10, 0xe7, 0xdb, 0xb4, 0x9d, 0xc8, 0xef, 0x63, 0xcd, 0xb5, 0x69,
+ 0x2a, 0xcd, 0x0e, 0xfa, 0x70, 0x7e, 0x12, 0x46, 0x7b, 0x11, 0x41, 0xd8,
+ 0xdf, 0xde, 0x06, 0xe0, 0xe8, 0x3a, 0xbd, 0xbb, 0x1b, 0xd4, 0xd9, 0xf6,
+ 0xa4, 0x1c, 0xd7, 0xdb, 0xb4, 0x82, 0xfa, 0xf5, 0xeb, 0x66, 0x36, 0xfd,
+ 0xdd, 0x0f, 0x82, 0x59, 0x51, 0xba, 0xdb, 0x1e, 0xa3, 0xe2, 0xf9, 0x8f,
+ 0xfe, 0x1e, 0x3b, 0xcb, 0x82, 0xba, 0x5e, 0x32, 0x62, 0x6b, 0x65, 0x4f,
+ 0xec, 0xc3, 0xbf, 0x47, 0x4f, 0x90, 0x6d, 0x1c, 0x95, 0x0a, 0xad, 0x3e,
+ 0xe0, 0xb1, 0xdf, 0xe3, 0xfb, 0x37, 0xbb, 0xcb, 0x3e, 0x8b, 0x02, 0x89,
+ 0x78, 0xe2, 0x37, 0xfc, 0xf0, 0x07, 0xeb, 0xa4, 0xe1, 0xe4, 0xec, 0x97,
+ 0xf4, 0xdf, 0x7d, 0x9d, 0xe1, 0x95, 0x95, 0x97, 0x96, 0x10, 0x5a, 0x7b,
+ 0x75, 0x9f, 0xc5, 0xf9, 0xb3, 0x92, 0xfd, 0x60, 0x19, 0xbd, 0x01, 0x93,
+ 0xdb, 0x08, 0xd5, 0x2d, 0x18, 0xc8, 0xfb, 0x96, 0x29, 0x90, 0xb5, 0x19,
+ 0x61, 0xe7, 0x60, 0xff, 0xb2, 0xb1, 0xd3, 0x85, 0x2f, 0xa6, 0x4b, 0x11,
+ 0x64, 0xd5, 0x3a, 0xc0, 0x04, 0x62, 0xf4, 0x18, 0x4c, 0x8b, 0x20, 0x02,
+ 0x1e, 0xf6, 0xac, 0x97, 0xb8, 0x17, 0x60, 0x65, 0xa6, 0xcc, 0x26, 0xb7,
+ 0x9a, 0xd0, 0x1b, 0xe2, 0xca, 0x67, 0x56, 0x19, 0xb1, 0x1b, 0x29, 0x80,
+ 0x27, 0x0b, 0x8a, 0xc1, 0x31, 0x3d, 0x4e, 0x5d, 0x3a, 0xbe, 0x3d, 0xeb,
+ 0xfb, 0xc9, 0x7a, 0xff, 0x43, 0xb2, 0xbf, 0xfe, 0x3b, 0xde, 0x8d, 0x9e,
+ 0xb3, 0xee, 0x57, 0x43, 0x8f, 0x97, 0x03, 0x71, 0xdb, 0x68, 0xcc, 0x80,
+ 0x46, 0x20, 0x0e, 0xc1, 0xbd, 0x24, 0x6a, 0xe1, 0xf7, 0xdd, 0x05, 0x88,
+ 0xa0, 0x59, 0x09, 0xb1, 0xc3, 0x00, 0x19, 0x3b, 0xba, 0x06, 0x39, 0xb5,
+ 0x20, 0x28, 0xf0, 0x43, 0x68, 0x1f, 0x82, 0x4a, 0xad, 0x0e, 0xa1, 0xdb,
+ 0xc2, 0xe4, 0x3a, 0x48, 0x2e, 0x41, 0x40, 0x1c, 0x20, 0x17, 0x18, 0x74,
+ 0xf6, 0x24, 0xa2, 0xb6, 0x7d, 0xe0, 0xa0, 0x03, 0x07, 0xeb, 0x72, 0x38,
+ 0xae, 0xb9, 0x16, 0xbd, 0x90, 0xa6, 0xe3, 0x4c, 0x23, 0x3f, 0x54, 0x3c,
+ 0x98, 0x86, 0x6d, 0x08, 0x12, 0xed, 0xcf, 0x82, 0x82, 0x58, 0x02, 0xd7,
+ 0x16, 0xf4, 0xb1, 0x0d, 0xf2, 0xde, 0xe4, 0xa9, 0xbd, 0x66, 0xdc, 0xb7,
+ 0x78, 0x46, 0xdd, 0xa7, 0x96, 0x85, 0x2b, 0x98, 0x69, 0x22, 0x92, 0x9d,
+ 0xf6, 0x7e, 0x38, 0x0c, 0x51, 0xb9, 0x85, 0xd1, 0xe0, 0xca, 0xab, 0x22,
+ 0xff, 0x87, 0xd4, 0x28, 0xe9, 0x42, 0xe9, 0x5a, 0xb0, 0xe8, 0x76, 0xdc,
+ 0x92, 0xe2, 0xc9, 0xdd, 0xd5, 0x00, 0x26, 0x48, 0xa5, 0x14, 0xa0, 0x2d,
+ 0x44, 0xdd, 0xa2, 0x53, 0xc9, 0x25, 0xc8, 0xb9, 0x10, 0x45, 0x2b, 0x36,
+ 0xac, 0x3c, 0x11, 0x6b, 0xe1, 0x5d, 0x4b, 0x73, 0x20, 0xe0, 0xd3, 0xf8,
+ 0xf1, 0xc9, 0x7e, 0x05, 0x86, 0x99, 0x14, 0x8f, 0x5f, 0x85, 0x62, 0x6e,
+ 0x6b, 0x96, 0x1e, 0xad, 0x53, 0x76, 0x67, 0xf4, 0x15, 0x3a, 0x1c, 0x31,
+ 0x3a, 0x26, 0xf1, 0xe0, 0x45, 0x6a, 0x59, 0xf9, 0xee, 0x5a, 0x70, 0xd0,
+ 0x3f, 0x82, 0xdb, 0x89, 0xda, 0x69, 0xa2, 0xf5, 0x0b, 0x22, 0xcc, 0x4e,
+ 0xb6, 0xf5, 0x47, 0x50, 0x3a, 0x91, 0xb7, 0x53, 0x49, 0x79, 0xa5, 0xcb,
+ 0xe0, 0xab, 0xe7, 0x62, 0x88, 0x19, 0xf3, 0x30, 0x51, 0xb7, 0xdc, 0x91,
+ 0xe4, 0x03, 0x1b, 0xad, 0xa7, 0x36, 0xa7, 0x82, 0x07, 0x64, 0xa1, 0x8c,
+ 0x34, 0x4f, 0xa8, 0xe1, 0xb9, 0xa5, 0xb7, 0x07, 0xc4, 0x3a, 0x44, 0x79,
+ 0x1c, 0x96, 0x10, 0x86, 0xcc, 0x1d, 0x24, 0x0c, 0xe9, 0x9e, 0xe8, 0x6e,
+ 0x2d, 0x47, 0x90, 0x6c, 0xbb, 0xc8, 0xc1, 0x74, 0x71, 0x84, 0xda, 0xea,
+ 0x3f, 0x8e, 0x07, 0x1d, 0x39, 0xcf, 0x52, 0x34, 0x3e, 0xe4, 0x62, 0xd4,
+ 0x69, 0x6a, 0x16, 0x46, 0x6f, 0x25, 0xda, 0x44, 0xce, 0x66, 0xb0, 0x6b,
+ 0xd2, 0x23, 0xe9, 0xc3, 0x22, 0x57, 0xdc, 0x19, 0xfd, 0xb9, 0x4a, 0xd9,
+ 0xee, 0x60, 0xef, 0xa5, 0x91, 0x25, 0xc5, 0xb3, 0x7f, 0x07, 0xf0, 0xfb,
+ 0xaf, 0xc1, 0xbe, 0xff, 0xce, 0xe0, 0x77, 0xef, 0xa6, 0xa0, 0x6b, 0x27,
+ 0xbc, 0x27, 0x80, 0x1e, 0x21, 0xbb, 0x95, 0xe1, 0x22, 0xb7, 0xa9, 0xe5,
+ 0xef, 0x8f, 0x99, 0x5d, 0xd1, 0x93, 0xd4, 0x6b, 0xa1, 0xfd, 0x3c, 0x09,
+ 0xa2, 0xf2, 0x91, 0x31, 0xb7, 0x54, 0x39, 0x28, 0x42, 0x6f, 0x81, 0x0e,
+ 0x50, 0x1a, 0xeb, 0x24, 0x13, 0x5e, 0x9a, 0xbf, 0x38, 0xfa, 0xfc, 0xdf,
+ 0x5b, 0x5f, 0xdf, 0x35, 0xb2, 0xf9, 0xa5, 0x77, 0x1f, 0x7f, 0x19, 0xb9,
+ 0x90, 0x03, 0xcf, 0x0e, 0xa7, 0xd2, 0xd0, 0xab, 0x6d, 0xf6, 0xb7, 0x88,
+ 0xd0, 0x8b, 0x1f, 0x18, 0xd4, 0xec, 0x63, 0x86, 0x2f, 0x11, 0x6f, 0x84,
+ 0x1e, 0xa2, 0x97, 0x97, 0x08, 0x38, 0xe1, 0x17, 0x54, 0x6e, 0x71, 0x23,
+ 0xcf, 0x47, 0x59, 0x73, 0x4b, 0x30, 0x7b, 0xcc, 0x86, 0x4e, 0xa3, 0x27,
+ 0x03, 0xac, 0x3c, 0x5c, 0x0a, 0x0b, 0xe8, 0x09, 0xb1, 0x23, 0x49, 0x14,
+ 0x26, 0xaf, 0xb4, 0xc6, 0xa3, 0x86, 0xbf, 0x82, 0xe3, 0x17, 0xab, 0x87,
+ 0xe1, 0x22, 0x79, 0xfc, 0x7d, 0x9a, 0x17, 0x0f, 0xb4, 0xd8, 0x4a, 0x51,
+ 0x50, 0x80, 0x87, 0x3c, 0xe8, 0x3b, 0x42, 0xed, 0x31, 0x96, 0x63, 0x1b,
+ 0x73, 0x11, 0xb5, 0xc5, 0x9c, 0x2e, 0xbe, 0xa7, 0x67, 0xb5, 0xc3, 0x28,
+ 0x12, 0xd3, 0xc1, 0xfd, 0x18, 0xc9, 0xbb, 0xe4, 0x65, 0xf4, 0x2e, 0x52,
+ 0x04, 0x20, 0x78, 0x2a, 0x24, 0x72, 0xc7, 0x02, 0xc4, 0xce, 0xc3, 0xd2,
+ 0x63, 0xe1, 0x0d, 0x73, 0x96, 0x11, 0x60, 0x4c, 0x4e, 0x6b, 0xae, 0xfc,
+ 0x0e, 0xf4, 0xad, 0x3e, 0xa2, 0x8b, 0x4e, 0x54, 0xb2, 0x4d, 0x4d, 0x1f,
+ 0x09, 0x02, 0x3a, 0xf4, 0xd1, 0x74, 0x6e, 0xbe, 0x04, 0x62, 0x7a, 0xba,
+ 0xde, 0x66, 0x29, 0xd7, 0x8d, 0x12, 0xa9, 0xe7, 0x4d, 0x43, 0x27, 0x56,
+ 0x19, 0x01, 0x9f, 0x86, 0xb5, 0x96, 0xc4, 0x88, 0x60, 0xc1, 0x24, 0xc0,
+ 0x65, 0x71, 0x15, 0x68, 0x50, 0x52, 0x5c, 0xdf, 0xb4, 0x2b, 0xe3, 0x34,
+ 0x47, 0x42, 0x00, 0x5b, 0x48, 0xa2, 0x5a, 0x47, 0x60, 0x87, 0xb5, 0x8a,
+ 0x2f, 0x4a, 0x56, 0xa7, 0x38, 0xd1, 0xa4, 0xdb, 0x77, 0xc1, 0x54, 0x69,
+ 0x81, 0x2a, 0x76, 0x67, 0xd3, 0x17, 0xb8, 0xde, 0x64, 0x68, 0x34, 0x08,
+ 0xb7, 0x8a, 0xbe, 0x20, 0x0c, 0xa3, 0xd2, 0xbe, 0x2d, 0xe3, 0xb7, 0x2c,
+ 0x4a, 0x14, 0x8b, 0xa8, 0xb7, 0x84, 0x83, 0xf8, 0x81, 0x23, 0x71, 0x92,
+ 0xcd, 0x21, 0x15, 0x6d, 0x18, 0x1e, 0x9e, 0x6d, 0x25, 0x67, 0x1d, 0x17,
+ 0x2f, 0x92, 0x2d, 0xe8, 0xce, 0xf6, 0xe5, 0xbd, 0x94, 0x4d, 0x62, 0x0a,
+ 0xb9, 0xe5, 0xee, 0xc0, 0x5c, 0xce, 0xb2, 0x25, 0x4a, 0x44, 0x18, 0xee,
+ 0x37, 0x97, 0x7f, 0x9d, 0xb1, 0x1c, 0x80, 0x2f, 0x85, 0xf9, 0x13, 0xc4,
+ 0xf3, 0xe8, 0x0b, 0x03, 0x63, 0xd3, 0x95, 0x94, 0x42, 0xc4, 0x85, 0x4a,
+ 0xc4, 0x41, 0xaa, 0x8e, 0xcd, 0x69, 0x00, 0x3c, 0xc3, 0x44, 0x28, 0x10,
+ 0xd8, 0x23, 0x8a, 0x91, 0x8a, 0x61, 0x35, 0xdf, 0x7e, 0x1d, 0x2a, 0x6f,
+ 0x6c, 0xef, 0xab, 0xac, 0x08, 0x8b, 0x03, 0xe0, 0xa3, 0xa4, 0x2f, 0xc8,
+ 0x06, 0x9e, 0x0c, 0xba, 0xb4, 0xd4, 0x9e, 0x0b, 0x57, 0x3a, 0x97, 0x03,
+ 0x8b, 0xcf, 0xfb, 0x7d, 0x09, 0x81, 0x1d, 0xab, 0x92, 0x54, 0x30, 0x8c,
+ 0x04, 0xef, 0x15, 0xb9, 0xcc, 0x1b, 0x5c, 0xa4, 0xf3, 0x7b, 0x9a, 0x0c,
+ 0xf3, 0x58, 0x5d, 0x5f, 0xef, 0x19, 0xf1, 0xb4, 0x37, 0xf8, 0x9c, 0x0d,
+ 0xdc, 0x6b, 0xa3, 0x13, 0x44, 0xd8, 0x2e, 0x39, 0x92, 0x2f, 0xa5, 0x05,
+ 0x3b, 0xed, 0x89, 0xb2, 0x3f, 0x70, 0xf6, 0x45, 0xff, 0x7f, 0xd0, 0x4e,
+ 0xfb, 0xfb, 0x22, 0x8c, 0xa5, 0x6c, 0xd2, 0x86, 0x4a, 0x68, 0x5b, 0x6d,
+ 0x71, 0x21, 0x2c, 0x8e, 0xfb, 0x8e, 0xf2, 0x06, 0xcc, 0xd3, 0xca, 0xaf,
+ 0xd4, 0x3e, 0x98, 0x28, 0x16, 0x53, 0xe1, 0xad, 0x68, 0xb6, 0xef, 0x20,
+ 0xf9, 0x1f, 0xf4, 0x29, 0x7d, 0x9b, 0x71, 0xec, 0x08, 0x4c, 0x7f, 0x7d,
+ 0xf4, 0xe6, 0xf4, 0xfc, 0xa8, 0x9d, 0x86, 0xd5, 0x70, 0x65, 0x62, 0x04,
+ 0x5e, 0xbb, 0xbd, 0x03, 0x69, 0x94, 0xd2, 0x08, 0xe0, 0x2e, 0xcc, 0x8b,
+ 0x9c, 0x90, 0xb3, 0xc9, 0xd9, 0xf7, 0xaf, 0x6d, 0xef, 0x72, 0x88, 0xe7,
+ 0x37, 0x5e, 0x4d, 0xdd, 0x1e, 0xcf, 0x74, 0x57, 0x83, 0x20, 0x5d, 0x83,
+ 0x0a, 0xb7, 0x48, 0x21, 0x58, 0xdb, 0x3f, 0x04, 0xbc, 0x19, 0xa8, 0xa0,
+ 0x49, 0xc8, 0xa0, 0x28, 0xae, 0x6b, 0x4a, 0x2a, 0xb6, 0x8d, 0x06, 0xea,
+ 0x35, 0x6b, 0x18, 0x60, 0xe6, 0x91, 0xc0, 0x7e, 0xca, 0xe4, 0x4c, 0xc4,
+ 0xd8, 0x34, 0x48, 0xc2, 0x0f, 0x69, 0x80, 0x1e, 0x5f, 0x89, 0x21, 0x2b,
+ 0xa8, 0x52, 0x31, 0xfb, 0xa3, 0xf9, 0x5a, 0x25, 0x8a, 0x7d, 0xda, 0xb4,
+ 0xb6, 0x46, 0x4c, 0x8f, 0x89, 0xb4, 0xc4, 0xf5, 0xee, 0x4f, 0x64, 0x24,
+ 0x5a, 0x69, 0xbe, 0xb9, 0x59, 0x6f, 0xf5, 0x5a, 0x5d, 0xb5, 0xbf, 0x49,
+ 0xd4, 0x4e, 0xdf, 0xf8, 0xcb, 0x86, 0xc3, 0xe8, 0x73, 0xad, 0xab, 0x78,
+ 0x6d, 0x38, 0x57, 0x2b, 0x68, 0xeb, 0x21, 0x34, 0x8d, 0x8e, 0x78, 0x99,
+ 0x8d, 0x26, 0x41, 0x14, 0x01, 0x58, 0xa0, 0x64, 0x1f, 0xc5, 0xbc, 0xd1,
+ 0x3e, 0x97, 0xbf, 0xb2, 0x1c, 0x84, 0xda, 0x54, 0x2f, 0x46, 0x03, 0x46,
+ 0x5e, 0x9f, 0xaa, 0x5d, 0x13, 0xd7, 0x92, 0xdb, 0x21, 0x84, 0xa1, 0xec,
+ 0xd0, 0xec, 0x1a, 0xa6, 0x0d, 0x5e, 0xdf, 0x17, 0x0d, 0x9d, 0x56, 0x08,
+ 0x96, 0x60, 0xd2, 0x2a, 0x5c, 0x48, 0xb4, 0x97, 0xdc, 0xee, 0xad, 0x91,
+ 0x46, 0xff, 0xe2, 0xd9, 0x0b, 0x52, 0x22, 0x00, 0x19, 0x91, 0xf2, 0x39,
+ 0xc2, 0xa0, 0xda, 0xe3, 0xa3, 0x1a, 0xb2, 0x8b, 0x8a, 0xea, 0x61, 0x5b,
+ 0x92, 0xa2, 0xa7, 0xa3, 0x6c, 0xca, 0x05, 0x7b, 0x86, 0x5e, 0x23, 0xab,
+ 0x6d, 0xcb, 0xe5, 0x90, 0xec, 0x01, 0xeb, 0x27, 0x66, 0x19, 0xd2, 0x4f,
+ 0x92, 0x12, 0xce, 0x87, 0x21, 0x7a, 0x34, 0x7b, 0xba, 0x15, 0xbc, 0x7e,
+ 0x59, 0xce, 0x79, 0x23, 0xb6, 0xb3, 0x2a, 0xaf, 0x3f, 0x99, 0x83, 0xf7,
+ 0x67, 0xc9, 0xdf, 0x5e, 0x9a, 0x53, 0x4c, 0xae, 0xc9, 0xbc, 0x58, 0x30,
+ 0xb3, 0xaa, 0x2d, 0xa7, 0xad, 0x2d, 0x5e, 0xc2, 0x71, 0x4e, 0x64, 0x9d,
+ 0xb1, 0x3c, 0xa6, 0xba, 0x29, 0xe7, 0x41, 0xf5, 0x0d, 0xc9, 0x40, 0x97,
+ 0x9d, 0x10, 0xde, 0x9a, 0x34, 0x55, 0xe0, 0xa5, 0x15, 0x3f, 0xa1, 0x2a,
+ 0x4f, 0x83, 0xe4, 0x43, 0x01, 0xed, 0x46, 0xb6, 0xa6, 0x5c, 0x25, 0x79,
+ 0x61, 0xc6, 0x62, 0xc6, 0x4a, 0x44, 0x06, 0x11, 0x41, 0x05, 0x59, 0xe8,
+ 0xf6, 0x56, 0xa2, 0xa2, 0xb4, 0x13, 0xd2, 0xc2, 0xd1, 0xb6, 0x34, 0xc2,
+ 0x2c, 0xdb, 0x92, 0x37, 0x61, 0xbd, 0x2a, 0x2e, 0xb5, 0x23, 0x75, 0xdd,
+ 0xd1, 0x36, 0x85, 0x2c, 0xb3, 0xe9, 0xb4, 0xcf, 0x3c, 0xc6, 0xc4, 0xeb,
+ 0x4a, 0x76, 0x06, 0x27, 0x88, 0x02, 0x72, 0xe4, 0x27, 0x20, 0x07, 0xb7,
+ 0x0f, 0xf2, 0x5c, 0x07, 0xc8, 0xda, 0x50, 0xaa, 0x05, 0x01, 0x2a, 0x6b,
+ 0x1c, 0x84, 0x12, 0xa2, 0x9c, 0x6b, 0x06, 0xb3, 0xf3, 0x77, 0x15, 0xba,
+ 0xb1, 0xe2, 0x32, 0x21, 0x33, 0xe0, 0xf8, 0xfa, 0xaa, 0x9a, 0x73, 0x95,
+ 0xab, 0x58, 0x09, 0x2e, 0xcf, 0x00, 0xe0, 0x27, 0x75, 0x6d, 0xeb, 0xac,
+ 0xe1, 0xae, 0xf0, 0xab, 0xc7, 0xaf, 0x5b, 0xd5, 0x72, 0x69, 0x26, 0x62,
+ 0xc5, 0x5f, 0x7c, 0x00, 0x1d, 0xc7, 0x91, 0x71, 0x64, 0xdd, 0xdd, 0x62,
+ 0x5b, 0x73, 0xd6, 0xce, 0xe8, 0xde, 0xfd, 0x26, 0xde, 0x9c, 0xb4, 0xc1,
+ 0xea, 0x2c, 0xb7, 0xa0, 0xcd, 0x62, 0xaf, 0x68, 0x3d, 0x67, 0xda, 0x0d,
+ 0x54, 0xbb, 0x5d, 0x3f, 0x12, 0xc2, 0xda, 0xae, 0x67, 0xe5, 0x84, 0xb2,
+ 0x70, 0xb2, 0x07, 0xe7, 0x82, 0x1e, 0xd4, 0xb9, 0x90, 0xfc, 0xa5, 0xda,
+ 0x1f, 0x17, 0x1a, 0x31, 0xbb, 0x94, 0x76, 0x9e, 0x08, 0xb1, 0x78, 0x73,
+ 0x6e, 0xa0, 0x5a, 0x75, 0x2e, 0xe3, 0x97, 0xfd, 0x21, 0x14, 0x49, 0x39,
+ 0x6e, 0xbc, 0x11, 0xd0, 0x03, 0xf1, 0xe6, 0x58, 0xf8, 0x46, 0x46, 0x46,
+ 0x29, 0x2d, 0x30, 0x6e, 0x1f, 0x1a, 0x19, 0x3d, 0x18, 0xac, 0xb2, 0xf9,
+ 0x21, 0x8b, 0xf4, 0xce, 0x12, 0xf3, 0xe2, 0xc4, 0x9b, 0x6b, 0x2f, 0xb0,
+ 0xae, 0x30, 0xfa, 0x10, 0x5b, 0x60, 0xa1, 0x91, 0x0d, 0xb5, 0x30, 0x67,
+ 0xaa, 0xf3, 0xec, 0xd8, 0x07, 0x97, 0x2e, 0xb0, 0x7c, 0x23, 0x98, 0x85,
+ 0xa9, 0x91, 0x90, 0x46, 0x0b, 0x1e, 0x67, 0x1f, 0xd1, 0xb7, 0x26, 0xad,
+ 0xae, 0xb2, 0xe6, 0xe3, 0xea, 0x09, 0x99, 0x4a, 0x26, 0xf9, 0xfd, 0x0c,
+ 0x65, 0x63, 0xad, 0xac, 0x10, 0x82, 0xc7, 0x54, 0x32, 0xab, 0x8d, 0x12,
+ 0xc8, 0xa5, 0x79, 0x9b, 0xe5, 0x13, 0xe2, 0x7d, 0x8f, 0x39, 0xe7, 0xf9,
+ 0xaa, 0x9a, 0x97, 0x39, 0x17, 0x64, 0xb7, 0x32, 0xc6, 0xeb, 0x63, 0x8c,
+ 0x77, 0x66, 0x55, 0xa0, 0x65, 0xf6, 0x89, 0x92, 0x62, 0xac, 0xa2, 0xf0,
+ 0x31, 0xc2, 0xcf, 0xef, 0x0d, 0x8e, 0x9f, 0xd6, 0xd5, 0xe6, 0x21, 0x29,
+ 0x1d, 0xbd, 0x2b, 0x2f, 0xe8, 0x8e, 0xf3, 0x8a, 0x7d, 0xdc, 0xfe, 0xa4,
+ 0x3d, 0x93, 0xdd, 0xfe, 0xcd, 0x6f, 0x27, 0x96, 0xc8, 0xe3, 0xd6, 0x1d,
+ 0x21, 0x55, 0x01, 0x80, 0x46, 0xd5, 0x12, 0x9e, 0x84, 0x39, 0xe1, 0xc6,
+ 0x2e, 0x95, 0x86, 0x76, 0xc9, 0x54, 0x80, 0x9d, 0x36, 0xd0, 0x92, 0x82,
+ 0x8f, 0x57, 0xa8, 0x45, 0x2a, 0xf3, 0x2b, 0xcb, 0xb1, 0x7c, 0x72, 0xe4,
+ 0x69, 0xd7, 0x45, 0x96, 0xef, 0x7e, 0xb5, 0x71, 0x37, 0x47, 0x7a, 0x1c,
+ 0x56, 0x08, 0x3c, 0xf9, 0x6c, 0x57, 0xe4, 0x4d, 0x32, 0xf2, 0x11, 0xf3,
+ 0x5e, 0x00, 0xca, 0xe6, 0xe1, 0x93, 0xc5, 0x3d, 0x5f, 0x3a, 0xc7, 0xd5,
+ 0xec, 0x81, 0x43, 0x6e, 0x1e, 0x70, 0xa3, 0x62, 0x1e, 0x02, 0x3b, 0xaa,
+ 0xe0, 0x5c, 0x4a, 0xa9, 0xd2, 0x25, 0x33, 0xbf, 0xac, 0x07, 0xad, 0x5d,
+ 0xb8, 0xbc, 0x27, 0xf2, 0x64, 0xb4, 0x3b, 0x6e, 0x72, 0x29, 0xd3, 0xf1,
+ 0xde, 0xf5, 0x2c, 0xde, 0x9c, 0x74, 0xd7, 0xbd, 0x25, 0xd3, 0xd3, 0xf3,
+ 0x1c, 0xa9, 0x4c, 0xe7, 0x6f, 0x8c, 0xcb, 0x70, 0x6f, 0xe8, 0x01, 0xff,
+ 0x45, 0x02, 0x82, 0xac, 0xf8, 0x69, 0xe1, 0xdb, 0xed, 0xf4, 0x45, 0x73,
+ 0xf7, 0xae, 0x48, 0x3f, 0xf0, 0xb8, 0xc0, 0xed, 0x72, 0x73, 0x75, 0x48,
+ 0x84, 0x0a, 0x01, 0xa1, 0x02, 0xb4, 0x10, 0xe5, 0x60, 0xc4, 0x76, 0x06,
+ 0x61, 0xd6, 0x84, 0x88, 0xf6, 0x43, 0xac, 0x73, 0xc2, 0xdf, 0x4c, 0x18,
+ 0x69, 0x83, 0x69, 0x05, 0x6f, 0x84, 0x28, 0x22, 0x5a, 0x7d, 0xb2, 0xce,
+ 0xc4, 0x9a, 0x90, 0xc7, 0x99, 0xbb, 0x3f, 0x2c, 0xb9, 0xd9, 0x81, 0x3b,
+ 0xd5, 0x03, 0xcf, 0x59, 0xc1, 0x8c, 0xb7, 0xd9, 0xd5, 0xc4, 0x2f, 0x60,
+ 0xeb, 0x0d, 0xbf, 0xea, 0xf1, 0x14, 0x5c, 0x99, 0xc1, 0xe3, 0x8f, 0x28,
+ 0xb0, 0x1f, 0x5a, 0x33, 0x94, 0x15, 0xca, 0x2f, 0xdf, 0x4a, 0xce, 0x33,
+ 0x4a, 0x64, 0xbd, 0x21, 0x61, 0x3a, 0xba, 0x6f, 0xd0, 0x41, 0xd3, 0xc0,
+ 0x66, 0x3e, 0x30, 0xd7, 0x21, 0x03, 0xb9, 0x49, 0x45, 0x22, 0x4e, 0xec,
+ 0x40, 0xa7, 0x31, 0x3b, 0x63, 0x4b, 0x01, 0x52, 0x4a, 0x81, 0xb4, 0xbd,
+ 0x3b, 0xd8, 0x35, 0xca, 0xf8, 0x1b, 0xa6, 0x1b, 0xf2, 0xd5, 0x6b, 0xc0,
+ 0xcd, 0x84, 0x8f, 0x97, 0x3e, 0xdd, 0xf5, 0x46, 0x9c, 0xd3, 0x87, 0xeb,
+ 0xd0, 0x45, 0x0d, 0x3f, 0xb7, 0x33, 0x6b, 0x6e, 0xd3, 0xfb, 0x50, 0x51,
+ 0xdf, 0xe9, 0x3f, 0x7d, 0xf1, 0xa2, 0x75, 0xa3, 0xd7, 0x1e, 0x9f, 0xf1,
+ 0xb3, 0x9d, 0x1d, 0x8c, 0x2d, 0xc8, 0x63, 0x35, 0xbf, 0xe8, 0xbf, 0xc0,
+ 0x8b, 0xed, 0xd7, 0xea, 0xcc, 0x2c, 0xc1, 0x64, 0xf9, 0x7b, 0x7d, 0xfa,
+ 0x4d, 0xe4, 0x73, 0xf0, 0xba, 0x2c, 0x7d, 0xeb, 0x05, 0x7d, 0x2e, 0xf2,
+ 0x16, 0x1e, 0xe6, 0x69, 0x2c, 0x2f, 0x2f, 0xc9, 0xdd, 0x45, 0x4f, 0x2a,
+ 0x2f, 0xc9, 0x6d, 0x5a, 0x4d, 0xc2, 0xe1, 0xee, 0xf4, 0xfa, 0xbb, 0xcb,
+ 0x86, 0x0b, 0x36, 0x66, 0x00, 0x96, 0x68, 0x3d, 0xc9, 0x9a, 0x34, 0xb6,
+ 0x04, 0x27, 0x75, 0x74, 0x1b, 0xda, 0x35, 0x3d, 0xda, 0x7d, 0xf1, 0xa2,
+ 0x47, 0x3d, 0x7b, 0xf6, 0xe2, 0xc5, 0xd2, 0x24, 0x5e, 0xef, 0x33, 0xb7,
+ 0xa5, 0x73, 0x52, 0xd1, 0xeb, 0x6e, 0xd3, 0xd4, 0x64, 0xb2, 0xc4, 0xbf,
+ 0x43, 0xbf, 0x79, 0x95, 0xbc, 0x3f, 0xbd, 0x38, 0xf2, 0xdc, 0x37, 0x38,
+ 0x5e, 0x1c, 0xbe, 0xf4, 0xec, 0x51, 0xc4, 0x83, 0xe7, 0x28, 0xa7, 0x03,
+ 0xd3, 0x98, 0x6c, 0xad, 0x10, 0xe5, 0x80, 0x04, 0x03, 0xf5, 0x1b, 0xfe,
+ 0xa1, 0xfb, 0xb9, 0x53, 0x94, 0xc5, 0x9c, 0xe4, 0x57, 0x79, 0xe3, 0x93,
+ 0xd6, 0x6c, 0x9a, 0xd5, 0xde, 0x82, 0x27, 0x84, 0x81, 0x49, 0x12, 0xda,
+ 0xd9, 0xa8, 0x09, 0x90, 0xcf, 0xd8, 0xc5, 0x0d, 0x32, 0x8c, 0x36, 0x02,
+ 0x48, 0x7c, 0x36, 0x9d, 0xd4, 0x7a, 0x11, 0xf2, 0xe3, 0x7d, 0x3c, 0x28,
+ 0xa7, 0x05, 0xf6, 0x2c, 0x57, 0xed, 0x4d, 0xe1, 0x5c, 0xe6, 0x4f, 0x2f,
+ 0x0f, 0xee, 0x90, 0x24, 0x64, 0x24, 0xae, 0x26, 0xd3, 0x50, 0x3b, 0x3e,
+ 0xb8, 0x71, 0xa3, 0x76, 0x6e, 0x51, 0xeb, 0xc3, 0x2b, 0xe2, 0x80, 0x07,
+ 0x44, 0x14, 0x26, 0xd9, 0x5c, 0x41, 0x80, 0x45, 0xbb, 0x1d, 0xb3, 0x97,
+ 0x2f, 0xf3, 0xab, 0x45, 0x15, 0x87, 0xcb, 0xfd, 0xd5, 0xa5, 0x76, 0x28,
+ 0x73, 0x77, 0x7a, 0x9b, 0x6a, 0x4a, 0x09, 0xc8, 0xd6, 0xf5, 0x5c, 0xab,
+ 0x9d, 0xac, 0x29, 0x1c, 0xe0, 0x55, 0x0f, 0xfc, 0x62, 0x64, 0x32, 0x5f,
+ 0x1a, 0x5d, 0x06, 0xce, 0x04, 0x01, 0x98, 0xc0, 0xfb, 0x27, 0x25, 0xb6,
+ 0x24, 0x95, 0x46, 0x5d, 0xed, 0x66, 0xbd, 0xe9, 0x3a, 0x4d, 0x65, 0x0a,
+ 0x42, 0x90, 0xda, 0xc6, 0xd4, 0x05, 0x12, 0xe8, 0x49, 0xf8, 0x64, 0xae,
+ 0x4b, 0x8f, 0xa8, 0x3f, 0x4c, 0xb4, 0x17, 0xaa, 0x10, 0x48, 0x1f, 0x5e,
+ 0xa2, 0x89, 0x51, 0xa2, 0xa7, 0x65, 0x3a, 0x11, 0xf7, 0x8a, 0x0b, 0xed,
+ 0xb3, 0x76, 0x20, 0x7c, 0x4b, 0xb2, 0xb6, 0x01, 0xaf, 0x33, 0x2d, 0xb5,
+ 0xac, 0x32, 0x91, 0x23, 0x4b, 0xf1, 0x6b, 0xdd, 0xa4, 0x65, 0x61, 0xb5,
+ 0x24, 0x96, 0x53, 0xe6, 0x23, 0xcc, 0x6b, 0xb0, 0x35, 0x88, 0xb8, 0x01,
+ 0x68, 0xc3, 0xf3, 0x6a, 0x59, 0xba, 0x79, 0x94, 0xae, 0xa3, 0x4b, 0xd2,
+ 0xf3, 0x7a, 0x24, 0xc3, 0xe3, 0xff, 0x79, 0xf4, 0x7b, 0x86, 0xc0, 0xaa,
+ 0xf4, 0xd6, 0x26, 0x7b, 0x7d, 0xcf, 0x84, 0x7d, 0x12, 0x9a, 0xb2, 0xec,
+ 0x02, 0xe9, 0x54, 0xcc, 0x78, 0x2a, 0xf5, 0x8d, 0xdb, 0x03, 0x41, 0x4e,
+ 0xa9, 0x4c, 0x69, 0x36, 0x56, 0xb8, 0xb7, 0x29, 0x57, 0xc5, 0x27, 0x6e,
+ 0xe2, 0x12, 0x30, 0x13, 0x24, 0xea, 0x30, 0xb0, 0x48, 0x17, 0xd3, 0x16,
+ 0x1a, 0x9f, 0xc1, 0x31, 0x0c, 0x4e, 0x9d, 0xa0, 0xe8, 0x1c, 0x48, 0xe1,
+ 0xa8, 0x5b, 0xa6, 0xb7, 0x0f, 0x94, 0x06, 0xf3, 0xf3, 0xa3, 0x51, 0x4d,
+ 0xb6, 0xca, 0x28, 0x5e, 0x56, 0x25, 0x2f, 0x3f, 0x9c, 0x9f, 0x2c, 0x49,
+ 0x72, 0x1b, 0x62, 0x15, 0x68, 0xba, 0xd6, 0xcf, 0x33, 0xb0, 0x39, 0x55,
+ 0xc9, 0x59, 0x7a, 0x95, 0xad, 0xfb, 0x04, 0x5a, 0xaa, 0x2c, 0x62, 0x02,
+ 0xc4, 0x07, 0x11, 0xf3, 0x14, 0xf9, 0xec, 0xf7, 0x24, 0xc6, 0x5d, 0x94,
+ 0xda, 0xcf, 0x4c, 0xbb, 0x9c, 0xa6, 0x32, 0x7b, 0x8b, 0x0a, 0x35, 0xee,
+ 0xbf, 0x8f, 0x56, 0x90, 0x11, 0x9f, 0x50, 0x9b, 0xf7, 0xd0, 0x01, 0xaa,
+ 0x28, 0x40, 0x84, 0x22, 0xc7, 0xeb, 0x5f, 0x90, 0x9b, 0x7e, 0xdd, 0xe3,
+ 0xfa, 0xeb, 0x67, 0x31, 0x3a, 0x78, 0x9e, 0x0a, 0x66, 0x69, 0xb3, 0x6e,
+ 0x25, 0x76, 0xf9, 0xb7, 0xdc, 0xfc, 0x75, 0xa6, 0x41, 0xa2, 0x8c, 0x18,
+ 0x49, 0xeb, 0x48, 0xed, 0x64, 0x05, 0x8a, 0x32, 0x09, 0x25, 0xd9, 0x80,
+ 0x27, 0xd2, 0xbf, 0x7d, 0x89, 0xc8, 0xb0, 0x22, 0x64, 0xbb, 0x26, 0x61,
+ 0x73, 0xee, 0xf8, 0x28, 0x8b, 0x0d, 0x36, 0x9d, 0x52, 0x5d, 0x0a, 0xeb,
+ 0xc9, 0xa2, 0x71, 0x4e, 0x4a, 0x2a, 0x65, 0x80, 0xf2, 0xc7, 0x85, 0x75,
+ 0x3a, 0xb7, 0x56, 0xf6, 0x77, 0x27, 0x7b, 0x73, 0x81, 0xa2, 0x83, 0x9e,
+ 0x14, 0x5b, 0xe9, 0x9b, 0xdd, 0x51, 0x48, 0xfe, 0xb2, 0xb7, 0xac, 0xde,
+ 0xde, 0xfb, 0x8f, 0x5e, 0x94, 0x7f, 0x7f, 0x09, 0x67, 0xa8, 0xd7, 0xdd,
+ 0x06, 0x99, 0x05, 0xd8, 0x30, 0xa7, 0xbd, 0x4e, 0x05, 0x00, 0x97, 0xe6,
+ 0x28, 0xf7, 0x65, 0xd4, 0xb7, 0xd8, 0xf7, 0xe2, 0xd4, 0xc9, 0x21, 0x67,
+ 0xdc, 0xf5, 0x5f, 0xe7, 0xe6, 0x1e, 0xa9, 0x99, 0x3a, 0x86, 0x1d, 0x03,
+ 0x9c, 0x32, 0x66, 0x0f, 0x62, 0x12, 0xd6, 0x78, 0xd2, 0x78, 0x0a, 0x90,
+ 0x74, 0xf6, 0x15, 0x1b, 0xdd, 0x31, 0x7b, 0x62, 0x39, 0x81, 0xa1, 0x65,
+ 0x3c, 0xb7, 0x4a, 0x43, 0xea, 0xbc, 0x16, 0x52, 0x90, 0x99, 0x89, 0xe1,
+ 0xf9, 0x7c, 0x98, 0x5b, 0x21, 0x32, 0x3f, 0x4a, 0xe8, 0x02, 0x18, 0x8f,
+ 0xe3, 0x59, 0x91, 0x62, 0x28, 0x81, 0xb9, 0x69, 0x0b, 0xd1, 0xf2, 0xcd,
+ 0x14, 0x6c, 0x32, 0x02, 0xca, 0xd8, 0x8a, 0x14, 0x1c, 0x63, 0x61, 0x1a,
+ 0x32, 0x4e, 0x29, 0x1c, 0x9b, 0x86, 0x07, 0x1d, 0xcf, 0xb8, 0x16, 0xd3,
+ 0x58, 0x82, 0x32, 0x6c, 0x8d, 0x0a, 0x70, 0x47, 0x7f, 0xeb, 0x51, 0x14,
+ 0xa1, 0x28, 0x85, 0x99, 0x23, 0x16, 0xd3, 0x07, 0xa0, 0xc8, 0x3c, 0xe1,
+ 0xdd, 0x83, 0x0c, 0x20, 0x49, 0xfe, 0xd4, 0x77, 0xe5, 0x0c, 0x36, 0xef,
+ 0x33, 0xa3, 0x63, 0xdb, 0x22, 0x06, 0x6a, 0x4c, 0x45, 0x72, 0xf6, 0x12,
+ 0x2e, 0xd3, 0x57, 0xb7, 0xd2, 0x09, 0x60, 0x86, 0x78, 0x31, 0x48, 0x9e,
+ 0x72, 0xa3, 0x09, 0x10, 0x64, 0x7c, 0x51, 0x64, 0x77, 0xc4, 0x83, 0xbc,
+ 0xbc, 0xb9, 0x50, 0xd1, 0xfe, 0xfe, 0xe0, 0xfc, 0xfd, 0xf1, 0xfb, 0x6f,
+ 0xf6, 0x93, 0xa3, 0xbb, 0xac, 0x1a, 0x53, 0x49, 0xd9, 0xbf, 0x2d, 0x26,
+ 0xf9, 0x18, 0x82, 0x42, 0x0a, 0x75, 0xfa, 0x89, 0x95, 0x54, 0x5d, 0x5d,
+ 0xbc, 0xac, 0x74, 0xe9, 0x06, 0xf2, 0x5d, 0xc0, 0xa8, 0x94, 0xf0, 0x6f,
+ 0x2c, 0xa9, 0xf2, 0x6a, 0xe1, 0x6d, 0x9f, 0x31, 0x17, 0x10, 0x43, 0xc0,
+ 0x00, 0xd1, 0xd4, 0x6b, 0x99, 0x6b, 0x72, 0xbd, 0x26, 0xaf, 0x4f, 0x4e,
+ 0x42, 0x3a, 0x53, 0x14, 0xba, 0xe5, 0xee, 0x73, 0x82, 0x26, 0x9a, 0x30,
+ 0x9b, 0xbf, 0xce, 0x47, 0x0c, 0x7b, 0x22, 0x15, 0x80, 0xcb, 0x87, 0x79,
+ 0x22, 0x0f, 0xbe, 0x15, 0xd3, 0x95, 0xee, 0x22, 0x03, 0x27, 0x0b, 0xb4,
+ 0x22, 0x56, 0x38, 0xaf, 0x26, 0xb0, 0x87, 0x8c, 0x8c, 0x2c, 0x2f, 0x1b,
+ 0xd2, 0x91, 0x5a, 0xb7, 0x69, 0xbb, 0x34, 0xc7, 0xca, 0x48, 0xc2, 0x35,
+ 0x9b, 0x3a, 0x3e, 0x26, 0x42, 0x82, 0x97, 0x60, 0xf3, 0x33, 0x1b, 0x92,
+ 0x95, 0x43, 0xd4, 0x74, 0x89, 0x85, 0xd1, 0x26, 0x59, 0x6a, 0x0b, 0xd5,
+ 0xd6, 0x24, 0x2f, 0x43, 0x81, 0x71, 0x9b, 0x55, 0x62, 0x7e, 0xda, 0xd4,
+ 0x4f, 0x23, 0xee, 0x06, 0xc9, 0xb0, 0x34, 0xcf, 0x87, 0x5a, 0x96, 0x2d,
+ 0x7e, 0xd6, 0xaa, 0xa3, 0x8c, 0xee, 0x38, 0xa0, 0x17, 0x0a, 0xc3, 0x20,
+ 0x3a, 0xd7, 0x1e, 0x6f, 0xa4, 0xf0, 0x2a, 0xed, 0xff, 0x51, 0x66, 0x95,
+ 0x8a, 0x7b, 0x8d, 0xff, 0xd0, 0x26, 0x59, 0xef, 0x1b, 0x81, 0xba, 0x4e,
+ 0x33, 0x8b, 0x72, 0xb0, 0x5e, 0x4b, 0x0f, 0x14, 0x35, 0xf4, 0x61, 0xd6,
+ 0xdd, 0x01, 0x3f, 0x50, 0x2b, 0x4a, 0x2d, 0x4f, 0xcf, 0x7d, 0x2a, 0x15,
+ 0x7b, 0x6c, 0x4c, 0x95, 0x65, 0x52, 0x86, 0xda, 0xae, 0x41, 0xa8, 0x9c,
+ 0x4d, 0x0a, 0xeb, 0x92, 0xf1, 0x13, 0x9c, 0xfd, 0xd7, 0xe5, 0xc6, 0xe9,
+ 0x39, 0x0f, 0x03, 0xe9, 0x05, 0x41, 0x92, 0xad, 0xb1, 0xf3, 0x06, 0x5b,
+ 0x31, 0xa0, 0x8f, 0xc8, 0x45, 0xa1, 0xb2, 0x34, 0xea, 0xf5, 0xe4, 0x41,
+ 0xc9, 0x07, 0xb1, 0x15, 0x29, 0x7a, 0xc4, 0xa9, 0xea, 0x9e, 0x57, 0x9c,
+ 0x9b, 0x83, 0x30, 0x49, 0x2d, 0x98, 0xa8, 0xf1, 0xe3, 0x9a, 0x2e, 0x9f,
+ 0x3c, 0x6c, 0xce, 0x4b, 0xd1, 0x59, 0x2e, 0x84, 0x25, 0x76, 0x93, 0x17,
+ 0x37, 0xe5, 0x27, 0xbe, 0xf1, 0xa5, 0xfa, 0x78, 0x40, 0x79, 0xe0, 0x93,
+ 0x07, 0x46, 0x51, 0x6b, 0x32, 0xab, 0xd2, 0x77, 0xbe, 0xb1, 0x3c, 0x20,
+ 0xbc, 0x19, 0x8c, 0x84, 0x64, 0x6c, 0xe2, 0x96, 0xbd, 0x9e, 0x3a, 0xcd,
+ 0xd9, 0xb3, 0xd4, 0xd3, 0xca, 0xbe, 0x49, 0x36, 0xad, 0xb3, 0x9e, 0x97,
+ 0xc3, 0xa5, 0x97, 0x8d, 0xde, 0x36, 0x40, 0xa3, 0x6a, 0x14, 0x73, 0xf9,
+ 0x4d, 0x32, 0x48, 0x74, 0xee, 0xfd, 0xe9, 0x76, 0x86, 0x2c, 0x22, 0xa0,
+ 0x1c, 0x7b, 0x1a, 0x5f, 0x97, 0x65, 0xf4, 0xe2, 0x76, 0x77, 0x08, 0x94,
+ 0x1a, 0x10, 0x19, 0x2c, 0xd1, 0x20, 0xda, 0x35, 0xe3, 0x24, 0x5b, 0xa1,
+ 0x7b, 0xf6, 0x94, 0x24, 0x4e, 0xf4, 0x41, 0x8f, 0xa2, 0xb1, 0x7d, 0xbb,
+ 0x71, 0x87, 0x82, 0xbb, 0x39, 0x06, 0x73, 0xe0, 0xdf, 0x75, 0xee, 0xe3,
+ 0xa6, 0x95, 0xf3, 0xee, 0x4f, 0x4a, 0xf4, 0xb2, 0x63, 0x44, 0x9c, 0xc3,
+ 0x49, 0x62, 0xdf, 0xc0, 0x70, 0x2a, 0xda, 0x61, 0x0d, 0xf4, 0x33, 0x6f,
+ 0x20, 0x40, 0xfe, 0xb4, 0xb7, 0xb3, 0x4c, 0xc8, 0xb3, 0x22, 0xab, 0xb9,
+ 0x89, 0x74, 0x1c, 0xad, 0x81, 0xce, 0x17, 0xa1, 0xe3, 0x0b, 0xa0, 0x0b,
+ 0x64, 0x31, 0x4f, 0x50, 0x4f, 0x88, 0xaa, 0x51, 0x2d, 0x99, 0xff, 0xa8,
+ 0x65, 0xfc, 0x6b, 0x6b, 0x90, 0x2d, 0x2b, 0x42, 0xe6, 0xe4, 0xd7, 0xb9,
+ 0xb7, 0xc6, 0xd4, 0x52, 0x34, 0x29, 0x92, 0x65, 0x89, 0xe7, 0x2e, 0xf1,
+ 0xb4, 0x76, 0xa7, 0x37, 0xc0, 0xba, 0x87, 0xb0, 0x63, 0x34, 0x42, 0x1e,
+ 0x8a, 0x64, 0x63, 0xd7, 0xce, 0xe6, 0x11, 0x81, 0x65, 0x0f, 0x81, 0x60,
+ 0x7e, 0xe9, 0x96, 0xb2, 0xb0, 0x5d, 0x8d, 0x3d, 0x87, 0x9b, 0xd6, 0x93,
+ 0xa5, 0x6c, 0x92, 0xa7, 0x02, 0x20, 0xc5, 0x9c, 0xd0, 0xb7, 0xda, 0x57,
+ 0x23, 0xb0, 0x69, 0xfd, 0xa8, 0xcf, 0x5f, 0xd9, 0x46, 0x42, 0xda, 0x2a,
+ 0x58, 0x53, 0x8e, 0x12, 0x7c, 0x9d, 0x5f, 0x5f, 0x4f, 0x36, 0x49, 0xae,
+ 0x6e, 0xa9, 0xf6, 0x1a, 0xc6, 0xfb, 0x5d, 0x81, 0x6f, 0x08, 0xe0, 0xb4,
+ 0x0e, 0xc0, 0xbc, 0xd0, 0x5f, 0x13, 0x63, 0xe8, 0x55, 0x46, 0x05, 0x58,
+ 0x4c, 0xd3, 0x8a, 0x64, 0xbb, 0xf9, 0xe4, 0xe5, 0x62, 0x1a, 0x33, 0x75,
+ 0x70, 0xb6, 0x35, 0x46, 0x64, 0xa6, 0xa8, 0x5e, 0x28, 0xa3, 0xba, 0x63,
+ 0x08, 0x11, 0xba, 0xb8, 0xa9, 0xe9, 0x11, 0x68, 0xd1, 0xa7, 0x5c, 0x39,
+ 0x2a, 0xba, 0x77, 0xe1, 0x20, 0xc6, 0x9c, 0xa9, 0x8a, 0xc9, 0x96, 0x14,
+ 0xf7, 0xad, 0xca, 0xae, 0xa8, 0x4b, 0xae, 0x3a, 0x15, 0x4d, 0x01, 0xd5,
+ 0x49, 0x36, 0xd7, 0x55, 0xa7, 0xb9, 0xf5, 0xd3, 0xb3, 0x8b, 0xe3, 0xd3,
+ 0xf7, 0xc3, 0xe4, 0xcf, 0xeb, 0x2b, 0x13, 0x94, 0xda, 0xe4, 0xb2, 0x3f,
+ 0xf4, 0xdc, 0x9a, 0x24, 0x2f, 0xc5, 0xdb, 0xb0, 0xcc, 0x3e, 0xf6, 0x74,
+ 0xf8, 0xb1, 0xb9, 0xbf, 0x8d, 0x80, 0xd5, 0x37, 0x85, 0x95, 0x4b, 0x16,
+ 0xab, 0x93, 0x81, 0x1e, 0xe8, 0xcb, 0x7e, 0xba, 0xbe, 0x6f, 0x47, 0xb3,
+ 0xb4, 0x77, 0x66, 0x4b, 0xa7, 0xf5, 0x25, 0x32, 0x98, 0x39, 0x24, 0xac,
+ 0xfd, 0x62, 0x81, 0x2a, 0xf2, 0x16, 0xa6, 0xf9, 0x96, 0xb4, 0x53, 0x3c,
+ 0xb8, 0x29, 0x35, 0xbe, 0x59, 0xd5, 0xaa, 0x43, 0x34, 0xe1, 0x37, 0x47,
+ 0x17, 0x5b, 0x92, 0x9e, 0x68, 0xfb, 0x07, 0x7f, 0x97, 0x28, 0x3e, 0xa9,
+ 0xd5, 0xcd, 0x34, 0x21, 0x91, 0x3d, 0x19, 0x46, 0x7f, 0x9e, 0xa6, 0x45,
+ 0x34, 0x09, 0x8b, 0x74, 0x5a, 0x2a, 0x3c, 0x8e, 0x74, 0x57, 0x91, 0xc9,
+ 0xea, 0x43, 0xf1, 0xaa, 0x88, 0x30, 0xa3, 0xce, 0xd9, 0x87, 0x0b, 0x34,
+ 0xf8, 0xfa, 0xe8, 0xe4, 0xe8, 0xe2, 0xa8, 0x6b, 0xbd, 0x8f, 0x98, 0x86,
+ 0x10, 0xd9, 0x37, 0x4d, 0x36, 0xbe, 0x2e, 0xca, 0x69, 0x79, 0x95, 0x4b,
+ 0xed, 0xc5, 0xe4, 0xfb, 0x6c, 0xf4, 0xfa, 0xe0, 0x3b, 0xd2, 0x28, 0xc8,
+ 0xef, 0x74, 0x76, 0x7e, 0x7a, 0xf6, 0xe6, 0xf8, 0xfd, 0xeb, 0x5e, 0x72,
+ 0x78, 0x7a, 0xf6, 0xd7, 0x5e, 0xf2, 0xee, 0xf4, 0xbb, 0xa3, 0x08, 0xea,
+ 0x9a, 0x28, 0xc2, 0x23, 0xa5, 0xdf, 0xa5, 0x02, 0x1a, 0x5f, 0x68, 0x6c,
+ 0x7e, 0xa3, 0xe2, 0x72, 0xe7, 0x22, 0xa1, 0xb4, 0x84, 0xba, 0x14, 0x89,
+ 0x6b, 0xe6, 0xae, 0x97, 0xbc, 0x3d, 0x3a, 0x78, 0xdd, 0x0b, 0x48, 0x9c,
+ 0x87, 0x3c, 0x2a, 0x1a, 0x9d, 0x1d, 0x32, 0xa8, 0x7f, 0xd9, 0xfe, 0x80,
+ 0x96, 0xc0, 0xa1, 0x2e, 0x3e, 0xb2, 0x66, 0xc3, 0x22, 0xb9, 0x7a, 0xb2,
+ 0x0c, 0x41, 0x21, 0x6c, 0xe4, 0x4b, 0xab, 0x9d, 0xb6, 0x32, 0x41, 0xa0,
+ 0xb0, 0xa9, 0xaa, 0x2d, 0xd5, 0xa9, 0x99, 0x6a, 0x27, 0x01, 0xde, 0xdf,
+ 0xa6, 0xfb, 0xe9, 0x92, 0xc7, 0xb9, 0x5e, 0x7a, 0xad, 0x1c, 0x6f, 0x08,
+ 0x24, 0x76, 0x41, 0xa6, 0x52, 0x2a, 0x0e, 0xb5, 0x5b, 0x08, 0x04, 0x34,
+ 0x64, 0xaa, 0x63, 0xa5, 0xf8, 0x0c, 0xd3, 0x1b, 0x5a, 0x8a, 0x42, 0xa9,
+ 0xa4, 0xd2, 0x42, 0xbb, 0x43, 0x53, 0xe8, 0xbe, 0x29, 0xb5, 0x33, 0x7e,
+ 0xe0, 0x1f, 0x47, 0x70, 0xd7, 0x5c, 0xbd, 0xe9, 0xd2, 0x6c, 0xce, 0x8c,
+ 0xd1, 0x55, 0x58, 0x27, 0xe7, 0x1e, 0x48, 0xfa, 0xc7, 0xea, 0x9c, 0x58,
+ 0xa5, 0x66, 0xc9, 0x81, 0x11, 0x07, 0x0d, 0x68, 0x7e, 0xd4, 0x71, 0xd5,
+ 0x96, 0x13, 0xae, 0x5e, 0x29, 0x9f, 0xbd, 0xcb, 0x40, 0xb6, 0x81, 0x1f,
+ 0x58, 0xd7, 0xb9, 0x27, 0x24, 0x05, 0x36, 0xad, 0xe3, 0xd2, 0x71, 0x9f,
+ 0x32, 0x5a, 0xb7, 0xed, 0xd7, 0x32, 0xf7, 0x6c, 0x40, 0xcc, 0x44, 0x8f,
+ 0x19, 0x69, 0x52, 0x88, 0x6b, 0x94, 0x42, 0x70, 0x7d, 0xb6, 0xa7, 0x7d,
+ 0x84, 0xb0, 0x8a, 0x50, 0x55, 0x50, 0xb5, 0x0b, 0xf1, 0x0a, 0xdd, 0xad,
+ 0x0a, 0xb7, 0xf6, 0xac, 0x3f, 0xd9, 0xb9, 0x73, 0xde, 0x76, 0xd2, 0x28,
+ 0xea, 0xa4, 0x2f, 0x8c, 0xca, 0x33, 0x73, 0x15, 0x86, 0x7e, 0xa6, 0xcd,
+ 0x37, 0x4b, 0x84, 0xa3, 0xef, 0xbf, 0xb5, 0xb9, 0xd8, 0x16, 0x1d, 0x7e,
+ 0x72, 0x6c, 0x8e, 0x44, 0x84, 0xd6, 0x64, 0x52, 0xa2, 0x8e, 0x2b, 0x20,
+ 0x07, 0xb9, 0x5e, 0x27, 0xd4, 0x56, 0xf8, 0x61, 0x2a, 0x6c, 0x1c, 0xfd,
+ 0x32, 0x2a, 0x1e, 0x3f, 0xf0, 0xe9, 0x60, 0xcd, 0xce, 0x8f, 0x2e, 0xce,
+ 0x07, 0xc9, 0xa6, 0xcf, 0xd8, 0xf9, 0x7c, 0xb0, 0x13, 0x86, 0x6f, 0xa8,
+ 0xa6, 0xf2, 0x56, 0xe2, 0x7d, 0xd6, 0x7d, 0x17, 0xe5, 0x96, 0x57, 0x7f,
+ 0x37, 0xc4, 0x1d, 0x7b, 0x2c, 0x3d, 0x3b, 0xb1, 0xef, 0xf9, 0x95, 0x9b,
+ 0x5b, 0xa3, 0xa4, 0x5f, 0xac, 0xf8, 0xda, 0xdb, 0xa3, 0x93, 0xb3, 0x70,
+ 0x94, 0xdf, 0x9d, 0xbf, 0xf9, 0x6b, 0x7b, 0x94, 0x4f, 0x9e, 0x46, 0xbe,
+ 0xfa, 0x5b, 0xba, 0xd6, 0xb3, 0xba, 0x9c, 0x1a, 0x9d, 0x05, 0xc9, 0x25,
+ 0xc8, 0x2d, 0xd9, 0x37, 0x97, 0x00, 0x61, 0xd3, 0x7f, 0xec, 0xc9, 0x5f,
+ 0x7e, 0x1e, 0x0c, 0x06, 0x5f, 0x86, 0xb4, 0xd3, 0xf0, 0xd4, 0x50, 0xd8,
+ 0x4b, 0x06, 0x9c, 0xc8, 0xe3, 0x82, 0xcb, 0xf4, 0x8c, 0x71, 0x24, 0xf4,
+ 0x20, 0x83, 0x89, 0xe2, 0x18, 0xf3, 0x34, 0x0f, 0x9c, 0xd2, 0x1f, 0x2c,
+ 0xd8, 0xda, 0x65, 0xa0, 0x41, 0xe8, 0x88, 0x11, 0x37, 0xb5, 0xc7, 0x75,
+ 0x93, 0x2a, 0x3b, 0x72, 0x1e, 0x61, 0xb2, 0x34, 0xd4, 0x6f, 0x7b, 0x82,
+ 0xbb, 0x8f, 0xfc, 0xc3, 0x20, 0xba, 0x22, 0x80, 0x92, 0xbd, 0x6f, 0x0b,
+ 0xbd, 0x43, 0x64, 0x06, 0x26, 0xf6, 0xad, 0xe0, 0xd2, 0xb5, 0x19, 0x9c,
+ 0x87, 0x12, 0x5e, 0x87, 0x21, 0x86, 0x8b, 0x05, 0x55, 0x3c, 0xb3, 0x66,
+ 0xbc, 0x4d, 0x63, 0xac, 0xc3, 0xca, 0x30, 0x31, 0x1f, 0x98, 0xe5, 0xe3,
+ 0xf7, 0x0b, 0xd2, 0xb2, 0x1f, 0xda, 0x4f, 0xcc, 0x71, 0xf5, 0x6a, 0x3c,
+ 0xad, 0x9d, 0xfa, 0x11, 0x89, 0xc5, 0xfb, 0xe5, 0x61, 0x5c, 0x52, 0x0b,
+ 0xd8, 0xaf, 0xca, 0xba, 0x69, 0x2d, 0x3e, 0x5e, 0x20, 0x73, 0xb0, 0x49,
+ 0x38, 0x89, 0x2e, 0xe2, 0x61, 0x61, 0x11, 0xad, 0xdb, 0xc9, 0x12, 0x48,
+ 0xb7, 0x6b, 0xcf, 0xab, 0xb3, 0x4e, 0xa7, 0x4d, 0xfa, 0xd1, 0x55, 0xe7,
+ 0x49, 0xd7, 0x46, 0x27, 0x98, 0x0c, 0x5a, 0x6d, 0x79, 0x1a, 0x69, 0xbd,
+ 0xa4, 0x70, 0x8f, 0xa8, 0xc0, 0xda, 0x30, 0xc9, 0xf9, 0x36, 0x89, 0x7f,
+ 0x7b, 0x40, 0xea, 0x89, 0xef, 0x3f, 0x0d, 0xa3, 0x09, 0xf9, 0xfc, 0xe6,
+ 0x29, 0xdc, 0x37, 0xcf, 0x7b, 0xfc, 0xaf, 0xe7, 0x2e, 0x51, 0xc3, 0x33,
+ 0x51, 0x58, 0x89, 0x67, 0x9d, 0xf7, 0xf8, 0x4c, 0x53, 0x4e, 0x03, 0xea,
+ 0x79, 0x89, 0xc4, 0x49, 0x7a, 0xbb, 0xe9, 0xa5, 0xaa, 0xef, 0xe6, 0x1d,
+ 0xed, 0x2d, 0x09, 0x44, 0x73, 0x72, 0x7f, 0x1c, 0x55, 0x54, 0xbe, 0xb0,
+ 0xa9, 0x7f, 0x5e, 0x95, 0xe0, 0x6b, 0x34, 0xde, 0xcf, 0x06, 0x61, 0x22,
+ 0x55, 0xfc, 0x43, 0x16, 0xca, 0xeb, 0xbe, 0x46, 0xf4, 0x36, 0x20, 0xc2,
+ 0x23, 0xe0, 0xcb, 0x2d, 0x4a, 0xb2, 0x2c, 0xfd, 0xd0, 0x8b, 0xc1, 0x43,
+ 0x29, 0xa9, 0x12, 0xf4, 0x90, 0x8b, 0xd3, 0xb3, 0x1c, 0xc9, 0x2b, 0x35,
+ 0x91, 0x9f, 0x60, 0x2d, 0x05, 0xe2, 0x54, 0x06, 0x8a, 0x08, 0x8e, 0xd2,
+ 0x4a, 0xba, 0x7c, 0x22, 0xe9, 0x68, 0xc9, 0x1f, 0xd3, 0x75, 0xa4, 0xc1,
+ 0x54, 0xc6, 0xa8, 0x09, 0x77, 0xf7, 0x71, 0x9b, 0x4d, 0xde, 0x9e, 0x61,
+ 0x0a, 0xe9, 0xf1, 0x8f, 0x8d, 0xc8, 0x50, 0xd8, 0x4b, 0x72, 0x44, 0x89,
+ 0x3a, 0xe7, 0x47, 0x6f, 0x3e, 0x0c, 0x8f, 0x5e, 0x73, 0x85, 0x9a, 0x58,
+ 0x2d, 0x94, 0x1c, 0xa1, 0x3f, 0x76, 0xaa, 0x9b, 0x46, 0x4b, 0x3e, 0x43,
+ 0xd2, 0x97, 0xa0, 0x62, 0x98, 0x00, 0x63, 0x8c, 0x41, 0x17, 0xe6, 0x56,
+ 0xb0, 0xfa, 0x21, 0x2f, 0xfe, 0x02, 0xc6, 0x07, 0x1e, 0xf5, 0x24, 0xa3,
+ 0xd2, 0x3a, 0x2f, 0x19, 0xc3, 0x11, 0x90, 0x38, 0xb9, 0x22, 0x3c, 0xf5,
+ 0x34, 0xcb, 0xe6, 0x92, 0x41, 0x37, 0x2b, 0x17, 0x05, 0xfb, 0xf3, 0xcc,
+ 0xca, 0xa8, 0x17, 0x8b, 0x9d, 0xa6, 0x09, 0x5a, 0x55, 0x4b, 0x30, 0x5d,
+ 0x52, 0x05, 0x06, 0x74, 0x4e, 0x09, 0xa0, 0xd3, 0x8e, 0x62, 0x30, 0x8d,
+ 0xcc, 0xcc, 0x66, 0xde, 0xf8, 0xfe, 0xdf, 0x25, 0x65, 0xa2, 0xa8, 0x30,
+ 0x8d, 0xd1, 0xe8, 0xb9, 0x3b, 0xe9, 0xf4, 0xaa, 0xac, 0x4c, 0x83, 0x33,
+ 0x9b, 0xf6, 0x57, 0x01, 0xb3, 0x53, 0x6f, 0xb5, 0x67, 0x35, 0x4c, 0x9f,
+ 0x66, 0x1d, 0x18, 0x01, 0xdc, 0x8c, 0x73, 0xa1, 0xe9, 0x40, 0xf3, 0x3c,
+ 0x01, 0xbc, 0x49, 0xa1, 0x2d, 0x16, 0xc2, 0x43, 0xc9, 0x60, 0xc6, 0x7c,
+ 0xf0, 0x14, 0x06, 0x1b, 0xf1, 0x1f, 0x59, 0x55, 0x76, 0xdd, 0x10, 0xaa,
+ 0x6e, 0xc6, 0x7a, 0xfe, 0xaf, 0xac, 0xc5, 0xb4, 0xbb, 0x17, 0x3b, 0x01,
+ 0xb3, 0xf4, 0x0e, 0xce, 0x95, 0xa5, 0xdb, 0x81, 0xa1, 0x86, 0x34, 0x1d,
+ 0xf4, 0x18, 0x70, 0x19, 0x54, 0x95, 0xa4, 0xb1, 0xcc, 0x4a, 0xea, 0x40,
+ 0x25, 0x60, 0x8d, 0xb7, 0xda, 0xe2, 0x7d, 0x09, 0x30, 0x4c, 0xbc, 0x30,
+ 0xb6, 0xd7, 0xf0, 0x70, 0xa5, 0x34, 0x4c, 0xb2, 0x3b, 0x36, 0xb9, 0x2c,
+ 0x0c, 0xbe, 0xb7, 0x45, 0x3f, 0x9e, 0x96, 0x14, 0x5f, 0xab, 0xad, 0xd7,
+ 0x26, 0x42, 0x11, 0x46, 0xaa, 0x6d, 0x45, 0x1b, 0x11, 0xf8, 0x31, 0x0b,
+ 0x1b, 0x41, 0x7d, 0x0b, 0x24, 0x44, 0xe5, 0x63, 0xf1, 0xd5, 0x6b, 0x6d,
+ 0x25, 0x8c, 0x83, 0xdf, 0x0c, 0x04, 0x09, 0xb7, 0xa3, 0x95, 0x1a, 0x4c,
+ 0x13, 0xbd, 0x36, 0x95, 0xab, 0x74, 0x1b, 0xe9, 0x86, 0x48, 0x4b, 0x40,
+ 0x21, 0x24, 0x49, 0x37, 0x8f, 0xd8, 0xf4, 0x3d, 0xad, 0xa9, 0x81, 0xf4,
+ 0x1d, 0x1a, 0x0e, 0xac, 0xa3, 0xb4, 0xf0, 0xfb, 0x8a, 0x05, 0x30, 0x6d,
+ 0xe4, 0xe5, 0x04, 0x89, 0x3f, 0x5c, 0x9b, 0x23, 0x2c, 0x37, 0x29, 0x95,
+ 0xd5, 0xa5, 0x33, 0x1b, 0x48, 0x7b, 0xbc, 0xcb, 0x67, 0x8b, 0x19, 0x73,
+ 0x44, 0xf6, 0x58, 0x43, 0xe9, 0xcf, 0xe8, 0xce, 0xd1, 0x85, 0x05, 0x3e,
+ 0x8e, 0xf1, 0x44, 0xdd, 0xbd, 0x6f, 0x03, 0xa6, 0xd8, 0xb6, 0x52, 0x2f,
+ 0x9c, 0xde, 0x61, 0x5a, 0x7f, 0x2c, 0xd4, 0xff, 0xf1, 0x1d, 0x9a, 0xbc,
+ 0x34, 0x2a, 0xc8, 0x97, 0x61, 0x27, 0x52, 0x4f, 0x72, 0xb0, 0xe0, 0xc0,
+ 0xce, 0x24, 0x9c, 0x6e, 0x36, 0xf1, 0xac, 0x1f, 0xde, 0x6e, 0xf0, 0x4b,
+ 0xc9, 0x2a, 0x2d, 0x97, 0x51, 0x3d, 0xcf, 0xad, 0x2d, 0x7b, 0x9e, 0x86,
+ 0xea, 0x3c, 0x97, 0x7c, 0x2d, 0xc9, 0xc6, 0xbf, 0x62, 0x12, 0xb1, 0xc5,
+ 0x3c, 0xb8, 0xaf, 0xad, 0xa4, 0xb0, 0xfa, 0x93, 0xf9, 0xfc, 0x8e, 0xc0,
+ 0x39, 0xc4, 0x26, 0x23, 0x5f, 0xaf, 0xcc, 0xb1, 0xba, 0x5f, 0xe0, 0x5b,
+ 0x5c, 0x2a, 0xf2, 0xb6, 0xc8, 0x13, 0x14, 0x5c, 0x23, 0xcc, 0x47, 0xc0,
+ 0x2c, 0x34, 0xfb, 0x34, 0x29, 0xbc, 0x7c, 0x3d, 0x4d, 0x36, 0x7b, 0x7a,
+ 0x77, 0x17, 0x5e, 0x96, 0xce, 0x8c, 0x63, 0x86, 0x3b, 0xb6, 0xf1, 0x9e,
+ 0xdd, 0x75, 0x6c, 0xbc, 0x41, 0x94, 0x87, 0x4e, 0xb3, 0x4e, 0xd3, 0x51,
+ 0xc9, 0x81, 0x23, 0x9e, 0xa9, 0xd4, 0x9b, 0x45, 0x75, 0x7d, 0x8b, 0x50,
+ 0xb8, 0x4d, 0xb9, 0x4a, 0x49, 0x18, 0x91, 0x07, 0x88, 0x90, 0xb5, 0xe5,
+ 0x86, 0x8b, 0x76, 0x72, 0x70, 0x0f, 0xd5, 0xc6, 0x8c, 0x9a, 0x4a, 0xb3,
+ 0xa8, 0x93, 0xa4, 0x8d, 0x4e, 0xca, 0x05, 0x47, 0xdf, 0xb2, 0x20, 0x9c,
+ 0x93, 0xf3, 0xb4, 0xd3, 0x69, 0x32, 0xb7, 0x55, 0x8e, 0x1a, 0xf2, 0x7c,
+ 0xa4, 0xeb, 0x64, 0xd7, 0xcc, 0x7f, 0x5e, 0x2c, 0x1a, 0x4b, 0x0b, 0x86,
+ 0x0f, 0xea, 0xd6, 0x8c, 0x4e, 0x3b, 0x89, 0x78, 0x7b, 0xa3, 0x88, 0x18,
+ 0xa8, 0xbd, 0xa0, 0x16, 0x1f, 0x10, 0xd4, 0x41, 0x12, 0x6f, 0x84, 0x7f,
+ 0xc1, 0xc6, 0xf4, 0x5b, 0x0d, 0x1d, 0x4a, 0x08, 0x38, 0xbb, 0x33, 0x93,
+ 0xcd, 0x55, 0x36, 0x12, 0x7b, 0x2f, 0xb8, 0xdb, 0x4c, 0xa0, 0xad, 0x4c,
+ 0x79, 0x1f, 0x01, 0xac, 0xb4, 0xe4, 0xb7, 0x2d, 0xe9, 0x03, 0x11, 0x57,
+ 0x36, 0x72, 0x16, 0x39, 0x89, 0x59, 0x62, 0x9c, 0xff, 0x0d, 0xce, 0x74,
+ 0x9d, 0xd6, 0xd3, 0x7e, 0xde, 0x15, 0xe3, 0x47, 0x00, 0xc1, 0x59, 0x08,
+ 0x8b, 0xdd, 0x85, 0xa6, 0x89, 0xe1, 0xc1, 0xf0, 0xa4, 0xc3, 0x9d, 0xb4,
+ 0x92, 0xd3, 0x76, 0xb7, 0xad, 0xf1, 0x3c, 0x92, 0x78, 0x4f, 0x03, 0x17,
+ 0xad, 0xd4, 0xe4, 0x55, 0x9c, 0x7b, 0x4c, 0x84, 0xba, 0xac, 0x2e, 0x57,
+ 0xbd, 0xcf, 0x5f, 0x77, 0xfc, 0x9e, 0x61, 0x67, 0x98, 0x07, 0x88, 0xb0,
+ 0x25, 0x5c, 0x41, 0x2d, 0x89, 0x90, 0xc9, 0xe0, 0x89, 0x6d, 0x41, 0xae,
+ 0x3c, 0x14, 0xfe, 0x65, 0x2e, 0x3f, 0x1d, 0xf9, 0x90, 0x2e, 0x01, 0x2a,
+ 0x30, 0xd8, 0x8f, 0x91, 0xde, 0x58, 0x34, 0x9b, 0xa8, 0x92, 0x35, 0x9e,
+ 0x26, 0x14, 0x4b, 0x23, 0x37, 0x96, 0x15, 0x55, 0xd4, 0x86, 0x03, 0x83,
+ 0x10, 0xab, 0x74, 0xc8, 0x41, 0xcd, 0x31, 0xc2, 0x4b, 0xae, 0xe1, 0xa6,
+ 0x3d, 0xf0, 0xda, 0xec, 0x0a, 0x48, 0xfc, 0x90, 0x51, 0x70, 0x7f, 0x5f,
+ 0xe4, 0xa4, 0x4c, 0x50, 0xca, 0xd0, 0x20, 0x79, 0xcd, 0x80, 0x26, 0xa9,
+ 0x85, 0xc6, 0x35, 0x17, 0x51, 0x98, 0x91, 0x1e, 0xb5, 0x1d, 0x08, 0x42,
+ 0x37, 0xa6, 0x43, 0x74, 0x0e, 0xdf, 0xa1, 0xd3, 0x87, 0xd4, 0xe9, 0x99,
+ 0x39, 0xe8, 0xe0, 0x6b, 0x91, 0x5c, 0x3e, 0x40, 0x58, 0x24, 0xd4, 0xad,
+ 0x00, 0x74, 0x21, 0x00, 0xaf, 0x3f, 0x85, 0x86, 0x6d, 0xaf, 0x55, 0xfe,
+ 0x06, 0x86, 0x9e, 0x18, 0x01, 0x0d, 0x55, 0x4f, 0x2a, 0xd2, 0xe9, 0x76,
+ 0xdd, 0x4c, 0x48, 0xfe, 0x2d, 0x8a, 0x29, 0x75, 0x92, 0x9a, 0xd2, 0x52,
+ 0x5f, 0xdd, 0xb9, 0x69, 0x62, 0xd4, 0x2a, 0xc1, 0x02, 0x71, 0xd4, 0x39,
+ 0x8c, 0x4d, 0x5a, 0xdd, 0x95, 0x7e, 0x22, 0xf2, 0x23, 0xa4, 0xd0, 0xf1,
+ 0xa7, 0x8a, 0x0c, 0x5e, 0x1e, 0x31, 0x26, 0xb2, 0xb5, 0x6e, 0xab, 0x32,
+ 0xfd, 0x6f, 0xa8, 0x43, 0x66, 0xa3, 0x8d, 0xca, 0x5a, 0xf9, 0x68, 0xcd,
+ 0x20, 0xcd, 0xeb, 0xad, 0xf3, 0x04, 0xc2, 0xaa, 0x07, 0x39, 0x41, 0x22,
+ 0xf5, 0x81, 0x9f, 0x3e, 0x48, 0x06, 0xc2, 0x6f, 0x84, 0x55, 0x70, 0x7f,
+ 0x31, 0x1d, 0x88, 0x3b, 0xd0, 0x8e, 0xed, 0x88, 0x6c, 0x48, 0x8b, 0xd8,
+ 0x13, 0x20, 0x4e, 0x8b, 0x19, 0x03, 0x76, 0x1b, 0xc5, 0x44, 0x23, 0xa5,
+ 0xc9, 0xcc, 0x76, 0x5a, 0x48, 0x8a, 0xff, 0x78, 0x6a, 0x64, 0x7d, 0xc4,
+ 0xd6, 0xd4, 0xca, 0x74, 0x44, 0x9a, 0xd5, 0xeb, 0x8a, 0xd3, 0x7a, 0x41,
+ 0xba, 0xc7, 0x74, 0x41, 0xdf, 0x66, 0xbe, 0x29, 0xcb, 0x77, 0xa4, 0x99,
+ 0xc9, 0x51, 0x8e, 0x30, 0xcb, 0x2a, 0x42, 0x67, 0xd4, 0xa3, 0x4b, 0x5b,
+ 0x68, 0x11, 0x4b, 0x65, 0x12, 0xeb, 0x52, 0x6e, 0x0d, 0x96, 0xf4, 0x8e,
+ 0x0c, 0xc2, 0x9e, 0x5f, 0xf3, 0xd9, 0x0f, 0x95, 0x53, 0x16, 0x86, 0x76,
+ 0xa7, 0x5d, 0x47, 0x39, 0xc6, 0x01, 0xc5, 0x2e, 0x16, 0xbe, 0x64, 0xfc,
+ 0xbe, 0xe9, 0xed, 0xa1, 0x09, 0xbb, 0xc0, 0x46, 0xb7, 0xca, 0x28, 0x1f,
+ 0x17, 0x01, 0x95, 0xe5, 0x63, 0x0a, 0x3d, 0x2f, 0x2d, 0xed, 0x1c, 0xd2,
+ 0x83, 0xc4, 0x4a, 0x3d, 0xfb, 0xee, 0xec, 0xb2, 0xc5, 0xeb, 0xf9, 0x2f,
+ 0xbd, 0x0f, 0x9f, 0xb5, 0xab, 0x14, 0x09, 0x01, 0xdc, 0xaf, 0x3a, 0x50,
+ 0xe9, 0xe3, 0x4e, 0xd4, 0x12, 0x38, 0xfc, 0xff, 0x9d, 0x27, 0x2a, 0x7d,
+ 0xdc, 0x91, 0x4a, 0x5b, 0x67, 0x6a, 0x49, 0x71, 0xee, 0xa5, 0x3d, 0xfe,
+ 0x0d, 0x4f, 0x99, 0xc5, 0x0c, 0x3c, 0xf6, 0x8c, 0x25, 0xae, 0x82, 0xfa,
+ 0xff, 0xc5, 0xa7, 0xec, 0xf3, 0x8e, 0x16, 0x08, 0x36, 0xc5, 0x47, 0x16,
+ 0x03, 0x23, 0x0c, 0x33, 0xe9, 0x5a, 0xdb, 0x96, 0xf8, 0x2c, 0xce, 0x25,
+ 0xcf, 0x0c, 0x3a, 0x91, 0x30, 0x3e, 0xa3, 0xe9, 0x30, 0x21, 0xcf, 0xec,
+ 0x72, 0x68, 0x6a, 0xf0, 0xca, 0x96, 0x03, 0x1b, 0xdd, 0xd2, 0x8f, 0x12,
+ 0x00, 0xd3, 0xd6, 0x8f, 0x13, 0xde, 0x2d, 0x3b, 0xae, 0x2b, 0x73, 0xb7,
+ 0xcf, 0x73, 0x56, 0x11, 0x8c, 0xf6, 0x42, 0x59, 0x9c, 0xdf, 0x0c, 0x87,
+ 0xfd, 0x83, 0xb3, 0xe3, 0xee, 0xc9, 0x6b, 0x7f, 0x4e, 0x6b, 0xad, 0x3f,
+ 0x5b, 0x5a, 0x1b, 0x6c, 0x39, 0x46, 0xa2, 0xfd, 0x6d, 0xa3, 0xe9, 0x76,
+ 0x27, 0xf6, 0xa0, 0x4e, 0x5a, 0x20, 0x40, 0xe9, 0x91, 0xcf, 0x4c, 0x2d,
+ 0xfc, 0x9b, 0x42, 0xc0, 0x8c, 0xb4, 0x72, 0x92, 0x5b, 0x78, 0x20, 0x80,
+ 0x4c, 0x82, 0x25, 0x83, 0x38, 0x2e, 0x76, 0x5f, 0x3c, 0xdf, 0x35, 0xe7,
+ 0xe2, 0x9e, 0x69, 0xe2, 0xe4, 0xe5, 0xa7, 0x83, 0x27, 0xdb, 0x4f, 0x07,
+ 0x4f, 0x49, 0xaa, 0x49, 0x00, 0x03, 0x66, 0x9d, 0x34, 0x6f, 0xe4, 0x5d,
+ 0x04, 0x32, 0xc0, 0xd7, 0xd8, 0xfb, 0xa3, 0xc3, 0x84, 0x91, 0x65, 0x20,
+ 0x0e, 0x4b, 0x90, 0xe8, 0x42, 0x49, 0x33, 0x92, 0xff, 0x8c, 0xc8, 0x36,
+ 0x09, 0x53, 0x59, 0x44, 0xde, 0xae, 0x81, 0x39, 0x16, 0x4c, 0x87, 0x1a,
+ 0x13, 0x48, 0x1e, 0x2f, 0x6c, 0x47, 0x48, 0xe0, 0xb1, 0x5d, 0x21, 0xf3,
+ 0x42, 0x7d, 0x0c, 0x93, 0x44, 0xbc, 0x29, 0x79, 0x24, 0x95, 0x37, 0x95,
+ 0xc4, 0x5d, 0xbe, 0x3e, 0x6a, 0xc0, 0x2c, 0x31, 0x81, 0x9c, 0x7b, 0x32,
+ 0xb0, 0x74, 0x44, 0x24, 0x2a, 0x2a, 0x8e, 0xbc, 0x2c, 0xe3, 0x99, 0x35,
+ 0x4a, 0x2e, 0xff, 0x3e, 0x29, 0x06, 0xbf, 0xd4, 0xa2, 0x8a, 0xa8, 0xc4,
+ 0x9e, 0xe1, 0xa4, 0x5d, 0x17, 0x51, 0x26, 0xd6, 0xd2, 0xb2, 0x01, 0x89,
+ 0x91, 0xd4, 0xf5, 0x05, 0xf0, 0x16, 0xa0, 0xe3, 0xcc, 0x36, 0x94, 0xd7,
+ 0x94, 0x6d, 0x3f, 0xf2, 0x33, 0x6d, 0x3d, 0x92, 0x3b, 0x40, 0x1f, 0xe3,
+ 0xb6, 0xaa, 0x2c, 0x9d, 0x4a, 0xaf, 0xbc, 0xef, 0x84, 0xbf, 0x44, 0x3c,
+ 0x92, 0xc4, 0x6d, 0x1d, 0x62, 0xa6, 0x1c, 0x99, 0xa8, 0x76, 0xc1, 0x22,
+ 0x28, 0x3c, 0x76, 0xfc, 0xca, 0x5c, 0x28, 0xf9, 0x3c, 0x9d, 0x26, 0x8f,
+ 0x80, 0xfe, 0x2e, 0x5f, 0xfc, 0xc7, 0x14, 0xce, 0xd0, 0xd3, 0xb9, 0x42,
+ 0xd4, 0x29, 0x71, 0x4b, 0xf7, 0xd2, 0x0b, 0xe5, 0xdc, 0x92, 0xc6, 0x08,
+ 0x8a, 0x2a, 0xf2, 0xcc, 0x13, 0x67, 0xdd, 0xc8, 0x36, 0xc1, 0x40, 0xd4,
+ 0xc7, 0x34, 0x2e, 0x67, 0x73, 0xc4, 0x0b, 0x70, 0xd1, 0x69, 0xb3, 0x92,
+ 0x99, 0x46, 0x0e, 0x31, 0xae, 0xcf, 0xb1, 0x42, 0xbc, 0x73, 0x75, 0xed,
+ 0xf1, 0x23, 0x64, 0xef, 0x6f, 0x21, 0x0c, 0x49, 0x89, 0x63, 0x4f, 0xc3,
+ 0x2f, 0x57, 0xe7, 0x64, 0x0a, 0x93, 0x4d, 0x84, 0x66, 0x25, 0xc7, 0x48,
+ 0xd9, 0x0a, 0x35, 0x5c, 0x1e, 0xf1, 0x53, 0x21, 0x30, 0x86, 0x0d, 0xb2,
+ 0x35, 0x78, 0x14, 0xbd, 0x6c, 0x47, 0xf5, 0x0b, 0x49, 0x6e, 0xfe, 0x6f,
+ 0x50, 0x04, 0x9f, 0x25, 0x76, 0xad, 0x1e, 0xa3, 0x10, 0x32, 0x13, 0x33,
+ 0x97, 0x71, 0x0d, 0x48, 0x86, 0x9c, 0xd1, 0xf5, 0xff, 0xe9, 0x83, 0xff,
+ 0xff, 0xa4, 0x0f, 0xfe, 0x33, 0xa7, 0x94, 0x6a, 0x7e, 0x43, 0x87, 0xf0,
+ 0x4f, 0xa6, 0x7f, 0x18, 0x63, 0x78, 0xe0, 0xe9, 0xfd, 0xc0, 0x65, 0x81,
+ 0xfd, 0x82, 0x23, 0x1a, 0x6e, 0x85, 0xff, 0x3b, 0x8e, 0xe8, 0xa3, 0x4e,
+ 0xe6, 0xff, 0xe7, 0xfd, 0xf8, 0xef, 0x76, 0x0e, 0x57, 0x60, 0x3d, 0x36,
+ 0xcd, 0x36, 0xbb, 0xa5, 0x4a, 0x07, 0x5c, 0x3f, 0x06, 0xb6, 0xf6, 0x96,
+ 0x53, 0x7d, 0x28, 0x5f, 0x86, 0xa7, 0xee, 0xf8, 0xec, 0xbb, 0xe7, 0x3d,
+ 0x8a, 0x60, 0x0d, 0xbb, 0x51, 0xcb, 0x2a, 0x39, 0x79, 0x7d, 0x70, 0xf6,
+ 0x0b, 0x4e, 0xfb, 0x5f, 0xe1, 0x68, 0x9d, 0x67, 0xd9, 0xa4, 0xcf, 0x11,
+ 0x92, 0x97, 0xf8, 0x47, 0x34, 0xa6, 0xa8, 0x49, 0xf0, 0xd8, 0xb6, 0x14,
+ 0x38, 0x09, 0x83, 0xb5, 0x78, 0xd9, 0xa8, 0x29, 0x85, 0xd0, 0x52, 0xcc,
+ 0x51, 0x67, 0x29, 0xf0, 0xb2, 0x94, 0xc5, 0x64, 0x4b, 0x54, 0x40, 0xfe,
+ 0x36, 0xb6, 0x8a, 0x04, 0xd9, 0xe9, 0x78, 0x5f, 0x11, 0x79, 0x95, 0xa5,
+ 0xff, 0xf3, 0x9e, 0x61, 0xa0, 0x50, 0x14, 0xf1, 0x71, 0xef, 0x86, 0xc2,
+ 0xc1, 0x1d, 0xa6, 0x98, 0x7a, 0xb2, 0x43, 0x1e, 0x78, 0x48, 0x90, 0xac,
+ 0xf9, 0x1d, 0x13, 0xe2, 0xbb, 0x9f, 0x5f, 0x86, 0x19, 0x58, 0x39, 0x95,
+ 0xfe, 0x4a, 0xb4, 0x66, 0x90, 0x62, 0x81, 0x93, 0x45, 0x15, 0x96, 0x66,
+ 0x4b, 0xfd, 0xd9, 0xe1, 0x30, 0x39, 0xf7, 0xd7, 0x7e, 0xa2, 0x3d, 0x97,
+ 0xe6, 0xf3, 0xad, 0xe9, 0x8c, 0x40, 0xe3, 0x7b, 0x2d, 0x48, 0x86, 0xdf,
+ 0x25, 0x1b, 0x11, 0xdc, 0x4d, 0xd4, 0xb9, 0x0f, 0xdc, 0x96, 0x20, 0x56,
+ 0xcc, 0x6e, 0x0a, 0x4d, 0x3f, 0xf7, 0xfa, 0x43, 0x48, 0xa7, 0xb2, 0x68,
+ 0x2a, 0xe6, 0x52, 0x96, 0x60, 0x69, 0xad, 0x24, 0xdf, 0x0b, 0xaf, 0x44,
+ 0x66, 0xca, 0xd5, 0xea, 0x69, 0xd6, 0x42, 0x46, 0x43, 0x3e, 0xdf, 0x59,
+ 0x33, 0x1e, 0xd8, 0x95, 0x05, 0xcb, 0x18, 0x55, 0xb1, 0x37, 0x2a, 0xae,
+ 0x16, 0xfa, 0x34, 0x23, 0xac, 0xee, 0x35, 0xdf, 0xbd, 0xbf, 0xc4, 0x5b,
+ 0xa1, 0xc1, 0xfe, 0x25, 0xf8, 0xe7, 0xdf, 0x10, 0xef, 0xb9, 0xba, 0xa4,
+ 0x54, 0x98, 0xe3, 0xad, 0x0e, 0x19, 0x2b, 0x15, 0x52, 0x94, 0x93, 0xa7,
+ 0xbd, 0x40, 0x95, 0x27, 0xf3, 0xe6, 0x9e, 0x68, 0x02, 0x6e, 0x05, 0x9d,
+ 0xde, 0x95, 0xf7, 0xc3, 0x93, 0x27, 0x98, 0xd6, 0x8b, 0x93, 0xa1, 0x4f,
+ 0xb7, 0x5d, 0xa3, 0x16, 0x29, 0xf2, 0x93, 0xbe, 0x3e, 0x3a, 0x18, 0x5e,
+ 0x0c, 0x82, 0x21, 0x9a, 0x31, 0x86, 0xa8, 0x10, 0x9b, 0x63, 0x94, 0x81,
+ 0x7c, 0x68, 0x9a, 0xde, 0x13, 0xc7, 0x9d, 0xe4, 0x3d, 0x51, 0xe7, 0xb8,
+ 0x6f, 0xda, 0x3a, 0xd9, 0xb9, 0x29, 0xc3, 0x6e, 0x9b, 0xac, 0x0a, 0xa9,
+ 0xa9, 0xcc, 0xdc, 0x8d, 0xf2, 0x29, 0x8d, 0xc0, 0xf4, 0xcb, 0x58, 0x43,
+ 0x33, 0x41, 0x33, 0x23, 0x89, 0xb6, 0x9c, 0x12, 0x9e, 0x8c, 0x3e, 0xd3,
+ 0xf6, 0x43, 0x10, 0x85, 0xa6, 0x64, 0x16, 0x2f, 0xcf, 0x13, 0x34, 0x5a,
+ 0x46, 0x59, 0x67, 0xc2, 0x53, 0x46, 0x6d, 0xe8, 0x5c, 0x71, 0x12, 0x93,
+ 0x4d, 0x23, 0xc0, 0x2b, 0x60, 0x59, 0x08, 0x93, 0xb0, 0xd2, 0xfa, 0x93,
+ 0x42, 0xd1, 0x51, 0xab, 0x8d, 0x90, 0x33, 0x2b, 0x81, 0x75, 0x5d, 0x4b,
+ 0xc8, 0x2c, 0x34, 0x52, 0x56, 0x29, 0x75, 0xa1, 0x6b, 0xdb, 0x7d, 0x9f,
+ 0x13, 0xe9, 0xef, 0xd6, 0x8a, 0xf5, 0xb6, 0x11, 0x72, 0xbf, 0x94, 0x5c,
+ 0x42, 0xad, 0xc5, 0x4b, 0xf9, 0x24, 0xe3, 0xeb, 0xcc, 0x5c, 0x22, 0x03,
+ 0x2f, 0xf1, 0xfa, 0xd1, 0x13, 0xb2, 0x16, 0x30, 0x74, 0x45, 0xa6, 0xe7,
+ 0x17, 0x4f, 0xc8, 0xd3, 0xa7, 0xe1, 0x84, 0x54, 0xd9, 0xdf, 0x27, 0x31,
+ 0x52, 0x63, 0x40, 0xc3, 0x81, 0x4b, 0x67, 0x3c, 0xf7, 0x39, 0x33, 0x33,
+ 0x53, 0x57, 0xb7, 0xa9, 0x04, 0x8a, 0x62, 0x6c, 0x1d, 0xdf, 0x15, 0x59,
+ 0xd8, 0x14, 0x82, 0x0c, 0x6b, 0xdc, 0x36, 0x92, 0x2f, 0xed, 0x95, 0x34,
+ 0xcb, 0xe3, 0xd9, 0xfa, 0x82, 0xf2, 0x94, 0x8f, 0xac, 0xd4, 0x20, 0x09,
+ 0xdb, 0x89, 0x42, 0x1a, 0x94, 0x00, 0x66, 0x0f, 0x4f, 0xbf, 0x7f, 0xd9,
+ 0xcc, 0xed, 0xc0, 0x56, 0xee, 0x8e, 0x9d, 0x60, 0x32, 0x94, 0xcf, 0x19,
+ 0x63, 0xe7, 0xc1, 0xcb, 0xe8, 0x93, 0x0b, 0x48, 0x2c, 0xf6, 0xc2, 0xae,
+ 0x98, 0x82, 0x00, 0x52, 0x46, 0x75, 0x3a, 0x18, 0x2d, 0x0a, 0x6e, 0x21,
+ 0xa9, 0x4d, 0xfb, 0xd8, 0x89, 0x08, 0x85, 0x07, 0xa6, 0xa5, 0x15, 0x1b,
+ 0xb5, 0x03, 0x16, 0x09, 0xae, 0xf1, 0x51, 0x99, 0x02, 0xce, 0x7c, 0x02,
+ 0xc8, 0xb8, 0x1f, 0x92, 0xff, 0x1a, 0x6b, 0xfe, 0x26, 0x9b, 0x22, 0x17,
+ 0x28, 0x2b, 0xc6, 0xd5, 0xfd, 0xdc, 0x67, 0xe1, 0x9e, 0xfc, 0x33, 0xf3,
+ 0xaf, 0x90, 0x7d, 0x04, 0x8f, 0x8d, 0xe2, 0x63, 0x84, 0xdd, 0x56, 0xa8,
+ 0x7f, 0x51, 0xda, 0xa2, 0xca, 0x37, 0xf6, 0x4c, 0x01, 0x71, 0xcb, 0x31,
+ 0x62, 0xab, 0xff, 0x92, 0x35, 0xa3, 0xd2, 0x9b, 0x79, 0xee, 0x98, 0x59,
+ 0xac, 0x1b, 0xf7, 0x58, 0x80, 0xb7, 0xc8, 0x42, 0x95, 0x1f, 0xbd, 0xf6,
+ 0x7b, 0x3d, 0x9e, 0xb0, 0x9b, 0xbd, 0x20, 0x97, 0x81, 0x44, 0xc2, 0x1b,
+ 0xf2, 0xd2, 0xb4, 0x1d, 0xf1, 0x74, 0x60, 0xb5, 0xa0, 0xd1, 0x1e, 0xbb,
+ 0xa2, 0x5a, 0x35, 0x30, 0x05, 0x43, 0x1a, 0xe0, 0x9b, 0x38, 0x2d, 0x9a,
+ 0xde, 0x76, 0x39, 0x74, 0x43, 0x23, 0x5c, 0x19, 0xbd, 0xa5, 0xbe, 0xa5,
+ 0xd1, 0x22, 0x17, 0x86, 0x00, 0xba, 0x01, 0xcd, 0xd3, 0x37, 0x7b, 0xcb,
+ 0x38, 0xa5, 0x07, 0xf2, 0x6b, 0xe4, 0x98, 0x4e, 0xa8, 0x7c, 0x81, 0x23,
+ 0xbc, 0x4b, 0x6c, 0x2d, 0x64, 0x80, 0x17, 0xc9, 0x41, 0xfd, 0x7c, 0xf7,
+ 0xb3, 0xe7, 0x5b, 0xab, 0x8a, 0xbf, 0x52, 0xb5, 0x0f, 0xca, 0x9e, 0xe3,
+ 0x4d, 0x44, 0xff, 0xda, 0x1b, 0xf8, 0x13, 0xe4, 0x95, 0x24, 0x90, 0xac,
+ 0xd3, 0xf0, 0x8e, 0x33, 0x17, 0x0e, 0x6d, 0x0a, 0x4c, 0x84, 0x32, 0xb7,
+ 0x63, 0xbb, 0xf0, 0xb8, 0xc8, 0x9a, 0x91, 0x73, 0x8e, 0xcd, 0xdc, 0x35,
+ 0x0b, 0x83, 0xf2, 0xa3, 0x30, 0x13, 0xfb, 0x4f, 0xb4, 0x0f, 0x7c, 0x7f,
+ 0xfa, 0xf5, 0xdf, 0xb8, 0xb3, 0xf8, 0xfb, 0xa0, 0xfd, 0x2f, 0x3f, 0xa0,
+ 0xe9, 0x1a, 0xf8, 0x35, 0xab, 0xfc, 0xe4, 0x5f, 0xb0, 0xca, 0x4f, 0x56,
+ 0xaf, 0xf2, 0x93, 0xc7, 0xae, 0xf2, 0x67, 0xcf, 0x9e, 0x7f, 0xfe, 0x2b,
+ 0x56, 0xd9, 0x9b, 0xe1, 0xff, 0x63, 0xab, 0xec, 0xed, 0xb4, 0x5f, 0xb7,
+ 0xca, 0x02, 0x0c, 0x09, 0x04, 0xb1, 0x94, 0xca, 0x20, 0x08, 0x1f, 0xe5,
+ 0xba, 0x33, 0x84, 0x9f, 0x9f, 0xb5, 0xec, 0xb1, 0x2d, 0x42, 0x61, 0x5b,
+ 0x26, 0x8b, 0x34, 0xb1, 0x88, 0x99, 0xed, 0x32, 0xef, 0xa1, 0xe3, 0xce,
+ 0xa7, 0x54, 0x6e, 0x69, 0xa3, 0xbf, 0xa1, 0x0e, 0x12, 0xcd, 0x6c, 0x52,
+ 0xe2, 0x1a, 0xfe, 0x9c, 0x59, 0xea, 0x7f, 0x21, 0xf1, 0x51, 0x88, 0x9b,
+ 0xf1, 0x90, 0x4f, 0xed, 0x49, 0xbb, 0x9f, 0x1a, 0x43, 0x81, 0x71, 0x48,
+ 0x51, 0x04, 0x9c, 0xa4, 0x61, 0x5a, 0xf2, 0x15, 0x75, 0xd5, 0x8c, 0x8c,
+ 0x5a, 0x68, 0xee, 0x81, 0xa2, 0xe1, 0x2a, 0xf6, 0x92, 0xdd, 0x47, 0x83,
+ 0xa6, 0x9d, 0x11, 0x49, 0xcd, 0xd4, 0xb2, 0x1f, 0x1d, 0xd4, 0x92, 0x2d,
+ 0x68, 0x5d, 0xb6, 0x3b, 0x83, 0x30, 0x40, 0x6d, 0x4e, 0xc9, 0x98, 0x8b,
+ 0xb8, 0xcc, 0x22, 0x6c, 0x1c, 0x2b, 0x24, 0xfd, 0xf3, 0x2e, 0xe8, 0x6e,
+ 0x49, 0x99, 0x91, 0x68, 0x06, 0x3f, 0x55, 0xb6, 0x69, 0x97, 0xb6, 0x61,
+ 0x20, 0x2c, 0x93, 0x5e, 0x41, 0xe5, 0xef, 0x96, 0x70, 0xc9, 0x6b, 0x00,
+ 0xb0, 0x83, 0x1c, 0x41, 0xba, 0xd4, 0x65, 0x40, 0xed, 0xfa, 0x29, 0x0e,
+ 0x51, 0xa8, 0x33, 0x33, 0xe8, 0x9a, 0x66, 0x81, 0x99, 0x48, 0xc8, 0x5a,
+ 0xa9, 0x73, 0xa3, 0x57, 0x24, 0x1b, 0xe1, 0xaf, 0x69, 0x75, 0x27, 0x8b,
+ 0xd9, 0x5c, 0xf9, 0xca, 0x28, 0x89, 0x23, 0x47, 0x9e, 0x8f, 0x64, 0x2b,
+ 0xc7, 0xaa, 0x4f, 0xa7, 0x95, 0xe7, 0x67, 0x12, 0x80, 0x1b, 0xfb, 0xac,
+ 0x74, 0xad, 0x1c, 0x89, 0x11, 0x8f, 0x41, 0x92, 0xa5, 0x90, 0x36, 0x51,
+ 0x74, 0xf1, 0x9f, 0x9c, 0xe6, 0x49, 0x39, 0x5d, 0x93, 0x6c, 0xb4, 0xb8,
+ 0xd2, 0x94, 0x5f, 0x5b, 0x12, 0xab, 0xbd, 0x2b, 0x91, 0x66, 0x42, 0x24,
+ 0x20, 0x99, 0xd6, 0xb4, 0x0e, 0xd9, 0x0f, 0x1a, 0x2a, 0x06, 0x37, 0x5e,
+ 0x05, 0x10, 0x0b, 0x06, 0x8e, 0xcd, 0xde, 0x1a, 0x39, 0x7e, 0xd2, 0x2a,
+ 0x55, 0x14, 0xa9, 0xdd, 0xe3, 0x6f, 0x95, 0x66, 0x3c, 0xef, 0x5f, 0xa6,
+ 0xc4, 0x1f, 0x18, 0xe4, 0x7c, 0x0a, 0x28, 0x54, 0x8e, 0xc0, 0xc5, 0xe1,
+ 0x59, 0xf2, 0x26, 0x95, 0xca, 0x21, 0xc9, 0xa6, 0x91, 0xc0, 0x9f, 0x3d,
+ 0xdd, 0x7d, 0xb2, 0xb5, 0x52, 0x13, 0x6f, 0xf3, 0xe1, 0xe0, 0x5b, 0x45,
+ 0x19, 0x03, 0xe7, 0x5e, 0x2c, 0x2a, 0x24, 0x44, 0x63, 0xfa, 0xcd, 0x97,
+ 0x3e, 0xbe, 0x3f, 0x7d, 0x7d, 0x74, 0x72, 0xf0, 0x57, 0x9b, 0xd0, 0x4d,
+ 0x93, 0xa0, 0x39, 0x81, 0x1f, 0x8d, 0x01, 0x7b, 0xff, 0xb1, 0xce, 0x4c,
+ 0x9f, 0x9b, 0xcd, 0x27, 0x5b, 0x94, 0x9e, 0x14, 0x94, 0x91, 0xbb, 0xca,
+ 0x5a, 0xc9, 0xf0, 0x82, 0x95, 0x5e, 0xc1, 0xe8, 0x62, 0x5d, 0x94, 0x3b,
+ 0x83, 0x3d, 0xa9, 0x0e, 0x20, 0xec, 0xe6, 0x4e, 0x66, 0x79, 0x75, 0x0a,
+ 0x52, 0xa1, 0x7c, 0xd2, 0xe4, 0xf3, 0x60, 0x7b, 0xdc, 0xcd, 0xa7, 0xf9,
+ 0x38, 0x27, 0x7b, 0x45, 0x8e, 0x75, 0x4e, 0x81, 0xf8, 0xcb, 0x36, 0x73,
+ 0x1c, 0x52, 0xea, 0xe8, 0x17, 0xab, 0x03, 0xcb, 0x6d, 0xd9, 0xdf, 0xe0,
+ 0xb2, 0xc8, 0xa6, 0x45, 0xd6, 0xf4, 0xa5, 0x63, 0x2f, 0xcd, 0x9f, 0xaf,
+ 0x6e, 0xd2, 0x69, 0x90, 0xad, 0x49, 0x55, 0xd8, 0x74, 0x67, 0x5a, 0x51,
+ 0x44, 0x6f, 0x7a, 0x95, 0x11, 0x86, 0xb6, 0x40, 0x80, 0x3e, 0x69, 0x8e,
+ 0x4a, 0x50, 0x08, 0xe0, 0xe2, 0xe2, 0xaf, 0x67, 0x47, 0xaf, 0x5e, 0x92,
+ 0x20, 0xfb, 0x92, 0x00, 0xf6, 0x75, 0x4b, 0xae, 0x25, 0x54, 0x24, 0x38,
+ 0x18, 0xc3, 0x0f, 0xaf, 0x8f, 0x87, 0x67, 0x27, 0xa7, 0x87, 0xaf, 0x5e,
+ 0xfe, 0x40, 0x76, 0xa5, 0xb9, 0x3c, 0xee, 0xbd, 0x77, 0xed, 0xcf, 0x2c,
+ 0xd7, 0x79, 0x98, 0xef, 0x7f, 0xf4, 0xfd, 0xc7, 0xa3, 0xf7, 0xdf, 0xbd,
+ 0x7a, 0x79, 0x93, 0x56, 0x3d, 0x1a, 0x1f, 0xbf, 0xbd, 0xa4, 0xc8, 0x61,
+ 0x6b, 0xab, 0x91, 0x82, 0x3e, 0x9a, 0x7e, 0xaa, 0xf3, 0x7f, 0x64, 0x89,
+ 0x79, 0x7d, 0xba, 0x08, 0xb9, 0x86, 0x2f, 0x38, 0x45, 0xda, 0x4c, 0x06,
+ 0xfd, 0x2d, 0xf9, 0xfa, 0xe4, 0x5b, 0xe2, 0xb3, 0xb4, 0x9e, 0xd2, 0x19,
+ 0x97, 0x50, 0x49, 0xbe, 0x7c, 0xb6, 0xbb, 0xb7, 0xe5, 0xea, 0x03, 0x82,
+ 0x0f, 0xd7, 0xf4, 0xf8, 0x53, 0x90, 0x1c, 0xf2, 0x0f, 0xe5, 0xf4, 0xb2,
+ 0x35, 0x2c, 0x90, 0xc1, 0xe0, 0xb1, 0x4f, 0xa8, 0xd3, 0x09, 0xa9, 0xec,
+ 0xcc, 0xb1, 0x51, 0x92, 0x3c, 0x20, 0x5a, 0xa0, 0xc0, 0xe7, 0x76, 0xf1,
+ 0xc6, 0xe3, 0xa0, 0xf8, 0xda, 0x6d, 0x3d, 0xd3, 0x1d, 0xf1, 0xdb, 0xad,
+ 0xbc, 0x1f, 0x7f, 0xc7, 0x68, 0x4e, 0xd7, 0xa8, 0xc4, 0x64, 0x9b, 0x2b,
+ 0x4d, 0xf6, 0x4f, 0x7c, 0x9e, 0x3d, 0x9c, 0x0f, 0xd2, 0x5c, 0x4a, 0xe6,
+ 0x4d, 0xc3, 0x28, 0x75, 0xe3, 0x69, 0xb2, 0xef, 0x03, 0x5e, 0xbc, 0x7c,
+ 0x46, 0xc9, 0x91, 0x59, 0x9d, 0xa8, 0x87, 0xc7, 0xf3, 0xdf, 0x4c, 0xb3,
+ 0xab, 0x74, 0x7c, 0x6f, 0x79, 0x60, 0x85, 0xc3, 0x24, 0x42, 0x4d, 0x90,
+ 0x8e, 0xc9, 0x9c, 0x33, 0x57, 0xf0, 0x15, 0xc4, 0x33, 0x73, 0x1c, 0x98,
+ 0xe3, 0x6a, 0xdd, 0x3e, 0xdc, 0x35, 0xcb, 0xe5, 0xa0, 0xd7, 0xe5, 0xf2,
+ 0x44, 0x1e, 0x5b, 0xef, 0xad, 0xbd, 0xfb, 0x68, 0xdb, 0xa0, 0x7a, 0xe9,
+ 0xca, 0x39, 0x7d, 0xda, 0xf6, 0x99, 0xff, 0x03, 0x87, 0x9c, 0x68, 0x72,
+ 0xe0, 0x96, 0x7d, 0x49, 0x7f, 0x8d, 0x93, 0x65, 0xa3, 0xd2, 0x0e, 0x1c,
+ 0x17, 0x5c, 0xa0, 0xd6, 0x71, 0xcb, 0x59, 0x82, 0x33, 0x29, 0x40, 0x41,
+ 0x9c, 0xcb, 0x8d, 0x73, 0xa8, 0xc7, 0x49, 0xa8, 0xac, 0x5b, 0xdb, 0x6c,
+ 0x4f, 0xbe, 0xac, 0x68, 0x67, 0x2c, 0x69, 0xcf, 0x4b, 0x41, 0x0b, 0x83,
+ 0x34, 0x9c, 0xfb, 0x44, 0x70, 0x84, 0x97, 0xd4, 0x16, 0x89, 0x44, 0xd2,
+ 0x49, 0xcc, 0x4c, 0x7d, 0xa9, 0x71, 0x9f, 0xd4, 0xa7, 0xe9, 0xc0, 0x43,
+ 0x4c, 0xf3, 0x50, 0x87, 0x19, 0xf2, 0x8c, 0x70, 0x57, 0xcf, 0x01, 0x43,
+ 0x34, 0x28, 0xa8, 0x66, 0xb9, 0x5f, 0x4d, 0x37, 0x6b, 0xd5, 0x4a, 0x29,
+ 0xd7, 0x0b, 0x86, 0xba, 0x63, 0x86, 0x8c, 0x50, 0x8c, 0xf8, 0xa9, 0x49,
+ 0xc4, 0x11, 0x24, 0x04, 0x2d, 0x18, 0x9c, 0x16, 0x5f, 0x40, 0xa7, 0x36,
+ 0x67, 0x34, 0x98, 0x2d, 0x66, 0xef, 0x8a, 0xb2, 0xb6, 0x5b, 0x2d, 0xba,
+ 0x75, 0x4f, 0x99, 0x46, 0xe9, 0x7d, 0xb9, 0xa3, 0x70, 0x2b, 0x71, 0xba,
+ 0x34, 0x37, 0xeb, 0xcd, 0x48, 0x90, 0xfa, 0xd2, 0x30, 0x94, 0xbf, 0x7b,
+ 0x49, 0x11, 0xf7, 0xaf, 0x02, 0xe8, 0xfd, 0x19, 0x55, 0x2a, 0x6a, 0x94,
+ 0x95, 0xda, 0xec, 0x6f, 0xd9, 0x2c, 0xe7, 0xbc, 0xb1, 0x4a, 0x5b, 0x84,
+ 0x0f, 0xc3, 0xf2, 0x13, 0xdb, 0x62, 0x61, 0xec, 0xfe, 0xd4, 0x1d, 0x22,
+ 0x7b, 0x82, 0x3e, 0xb6, 0xcd, 0x09, 0x6e, 0x2a, 0x84, 0xf2, 0x48, 0x8e,
+ 0x6d, 0xd0, 0x58, 0x91, 0xdd, 0xfa, 0x8d, 0x39, 0xcb, 0xc3, 0x36, 0xf8,
+ 0x7b, 0x7a, 0xbc, 0x8d, 0xd5, 0x44, 0xd9, 0x39, 0xc9, 0xcb, 0xef, 0x8e,
+ 0xce, 0x87, 0xc7, 0xa7, 0xef, 0xbf, 0x8c, 0x1a, 0xc4, 0x89, 0xfc, 0x36,
+ 0xb1, 0x65, 0x9b, 0x34, 0xa5, 0xcf, 0x15, 0xce, 0x21, 0x37, 0x98, 0xfa,
+ 0x5b, 0x92, 0x03, 0x4a, 0x63, 0xa2, 0x07, 0xba, 0x5b, 0xa0, 0x96, 0x16,
+ 0xe0, 0xe7, 0x4d, 0xab, 0x2b, 0xcc, 0x85, 0xd9, 0x8b, 0x30, 0xde, 0x50,
+ 0x14, 0x55, 0xad, 0x3a, 0xfb, 0xd7, 0xbd, 0x60, 0xfc, 0x71, 0x4c, 0x8e,
+ 0x17, 0x12, 0x5f, 0xcc, 0x39, 0xe5, 0x8b, 0x38, 0x04, 0x98, 0x75, 0xc4,
+ 0xef, 0x5d, 0xc0, 0x9e, 0x4e, 0x35, 0x40, 0xfd, 0x17, 0xcd, 0xc3, 0x37,
+ 0xbb, 0x5e, 0x9a, 0x8a, 0x7d, 0x6e, 0x37, 0xf6, 0xdc, 0x6e, 0xf8, 0xdc,
+ 0x5e, 0xec, 0xb9, 0xbd, 0xf0, 0xb9, 0x27, 0xb1, 0xe7, 0xbc, 0x4c, 0x24,
+ 0xcf, 0x4e, 0xd7, 0x19, 0x5a, 0x65, 0xfa, 0x7a, 0xeb, 0xd9, 0xaa, 0x16,
+ 0xb9, 0xe6, 0xd9, 0xaa, 0x9e, 0xad, 0xae, 0xa6, 0xfa, 0x72, 0x4b, 0xdd,
+ 0xc7, 0x12, 0x75, 0x1c, 0xc6, 0xe6, 0x43, 0xbb, 0x4f, 0xfa, 0xe3, 0x7c,
+ 0x7e, 0x4d, 0x37, 0xc8, 0x4b, 0x2d, 0xa6, 0x44, 0xf3, 0x4c, 0xe3, 0x92,
+ 0x5f, 0x2c, 0xc8, 0xbc, 0x0e, 0x75, 0x8a, 0x93, 0x61, 0x8b, 0x85, 0x44,
+ 0xf8, 0xf0, 0xf0, 0x4a, 0xc2, 0xef, 0x38, 0x52, 0x90, 0xd0, 0x5d, 0x1c,
+ 0xa4, 0xae, 0x58, 0x57, 0x8c, 0x79, 0x4f, 0x3a, 0xc0, 0x8c, 0x11, 0xda,
+ 0x2b, 0xed, 0xa6, 0xb4, 0xcd, 0x14, 0x96, 0x1a, 0x48, 0xef, 0x34, 0xc7,
+ 0x9c, 0xf2, 0xfa, 0xca, 0x20, 0x61, 0x3e, 0x29, 0x2a, 0x87, 0x54, 0x74,
+ 0x46, 0xc7, 0xcd, 0x59, 0xf5, 0xb9, 0x2c, 0x62, 0xd7, 0xde, 0x87, 0xf3,
+ 0x93, 0x40, 0x4d, 0xb4, 0x35, 0xc8, 0x51, 0x5f, 0xf8, 0x3a, 0xbd, 0xbb,
+ 0x1b, 0xd4, 0xd9, 0xb6, 0x91, 0x0c, 0xf5, 0x36, 0xbc, 0xb7, 0xf2, 0xe9,
+ 0xeb, 0x66, 0x36, 0xfd, 0x7d, 0x8f, 0x3e, 0x81, 0xcb, 0x48, 0x29, 0x35,
+ 0x57, 0xa7, 0xf9, 0xef, 0x97, 0x61, 0x86, 0x28, 0x46, 0xdc, 0xc5, 0xa0,
+ 0xb1, 0x1e, 0x9b, 0x50, 0x0e, 0x13, 0x17, 0xa2, 0xee, 0xa9, 0x45, 0xe8,
+ 0x53, 0xb2, 0x87, 0xcc, 0x1e, 0xd6, 0x86, 0x4d, 0x92, 0xf5, 0xe1, 0xf9,
+ 0xd9, 0x7a, 0x4f, 0x22, 0xcf, 0xe6, 0x1b, 0x7d, 0xf3, 0xef, 0x04, 0xf6,
+ 0x12, 0x55, 0x73, 0x78, 0xf6, 0x54, 0x40, 0x62, 0xe8, 0xe4, 0x42, 0x4a,
+ 0x3c, 0x07, 0x11, 0x4d, 0xf3, 0x3b, 0x07, 0x93, 0xab, 0x5a, 0x55, 0x57,
+ 0x8c, 0x1d, 0xd3, 0x1e, 0x20, 0x63, 0x57, 0x7a, 0x8c, 0x47, 0x58, 0xa1,
+ 0x9e, 0xf8, 0xec, 0x62, 0xdc, 0xcb, 0x41, 0xc7, 0xd7, 0x5d, 0x56, 0x9f,
+ 0x84, 0x7c, 0x5e, 0xfc, 0xf5, 0x38, 0x51, 0x41, 0x41, 0xd0, 0xd6, 0x09,
+ 0xb3, 0x2e, 0x3e, 0xf1, 0x13, 0xda, 0x11, 0xcb, 0x5c, 0x39, 0x9a, 0xa5,
+ 0x25, 0x55, 0x2f, 0xa5, 0x10, 0x25, 0x09, 0x45, 0xa9, 0x3b, 0x8f, 0x86,
+ 0xb4, 0x1d, 0x69, 0xe6, 0x01, 0x6a, 0x89, 0xa7, 0x9d, 0xd5, 0xd7, 0xc9,
+ 0x8b, 0x2c, 0xbb, 0x2b, 0xa7, 0x8d, 0x25, 0x82, 0x6e, 0xae, 0xb4, 0x6f,
+ 0xa8, 0x7a, 0xdf, 0xde, 0x11, 0x4a, 0x3f, 0xb5, 0x2c, 0x33, 0x4a, 0xa9,
+ 0x20, 0xbc, 0x15, 0x19, 0x68, 0x18, 0x49, 0xd4, 0x4f, 0x6f, 0xa9, 0x1d,
+ 0xf5, 0xfa, 0xc3, 0x03, 0xf2, 0xc7, 0x83, 0xb7, 0xa3, 0xd0, 0x61, 0x1a,
+ 0x92, 0x42, 0x2b, 0x1f, 0x35, 0x20, 0x1d, 0xd1, 0x8a, 0x21, 0x69, 0xa8,
+ 0xbd, 0x3d, 0x28, 0x37, 0x2a, 0x6f, 0x58, 0x6e, 0x97, 0xd2, 0xd0, 0x82,
+ 0xad, 0xf7, 0xa8, 0x81, 0xb6, 0x46, 0x4a, 0x37, 0x41, 0x54, 0xa8, 0x46,
+ 0x3c, 0xd7, 0xde, 0xcd, 0x87, 0x9b, 0x8e, 0x09, 0x30, 0x3c, 0xb4, 0x2c,
+ 0x57, 0x4c, 0x8e, 0x7b, 0xae, 0xe9, 0x65, 0x65, 0xca, 0x5f, 0x91, 0xce,
+ 0x1a, 0xde, 0x0d, 0x74, 0x3b, 0xc5, 0xc5, 0xfe, 0x83, 0x5d, 0xc4, 0xd5,
+ 0xcf, 0x4a, 0xf8, 0x43, 0x39, 0x0c, 0x08, 0xa6, 0xfd, 0x06, 0x5d, 0xdd,
+ 0xfb, 0x75, 0x93, 0xb9, 0xd7, 0xe9, 0xe9, 0xbf, 0xa2, 0xab, 0x4f, 0x7e,
+ 0xe5, 0xac, 0x3e, 0xf9, 0xcd, 0x67, 0xd5, 0x55, 0xf1, 0xd5, 0x6b, 0xd1,
+ 0x2b, 0x7a, 0x2a, 0x4a, 0x21, 0x29, 0x79, 0xe6, 0x9f, 0x23, 0xc2, 0xa6,
+ 0x88, 0x76, 0x40, 0x19, 0xe4, 0x19, 0xea, 0x99, 0x76, 0x46, 0xee, 0x58,
+ 0x4f, 0x2d, 0xfd, 0xb8, 0xf8, 0x8e, 0x85, 0x05, 0x96, 0x64, 0xfc, 0xd7,
+ 0x25, 0x99, 0x3e, 0x46, 0x14, 0xf6, 0x92, 0xf7, 0xc3, 0x21, 0x23, 0x06,
+ 0x86, 0x88, 0x79, 0x74, 0x8d, 0x61, 0xf2, 0x22, 0x40, 0x93, 0xd9, 0xa4,
+ 0x7b, 0xf2, 0xd4, 0xf4, 0xd0, 0x6d, 0x2c, 0x7e, 0x6f, 0x96, 0x8e, 0xe9,
+ 0xc7, 0x3b, 0x83, 0x5d, 0x37, 0x39, 0x5b, 0xbf, 0x80, 0xa8, 0xc6, 0x05,
+ 0x24, 0xa2, 0x4a, 0x73, 0x84, 0x09, 0x15, 0xc4, 0xa2, 0x75, 0xd3, 0x59,
+ 0x9a, 0x3b, 0xd9, 0x3d, 0xaa, 0xc5, 0x44, 0xb3, 0x75, 0x2c, 0x15, 0x8d,
+ 0xc6, 0x94, 0x70, 0x33, 0xab, 0xe7, 0x03, 0xe1, 0x53, 0x66, 0x59, 0xe8,
+ 0x9e, 0xf7, 0xc0, 0xa0, 0x91, 0x3a, 0xc8, 0xbf, 0x34, 0x24, 0xe4, 0x85,
+ 0x5f, 0xfe, 0x8f, 0x85, 0x84, 0xe2, 0x7a, 0x6f, 0xeb, 0x5f, 0xad, 0x3c,
+ 0xfe, 0xa6, 0xea, 0x6b, 0xd5, 0x92, 0x38, 0x2f, 0xaa, 0xf3, 0x08, 0x10,
+ 0x88, 0x1f, 0xa4, 0x51, 0x13, 0xde, 0x3a, 0x14, 0x24, 0x3f, 0x92, 0x77,
+ 0x9d, 0x63, 0x9e, 0xa1, 0x17, 0xd1, 0xf2, 0xb4, 0x42, 0x4d, 0xa9, 0xb4,
+ 0x08, 0x9a, 0x97, 0xce, 0xa3, 0xac, 0x79, 0xc7, 0x2d, 0x0a, 0xfd, 0x8c,
+ 0x4b, 0xf0, 0x06, 0x37, 0x4b, 0x20, 0x7d, 0xc7, 0x19, 0xf3, 0x76, 0xe4,
+ 0x0f, 0x5d, 0x0d, 0xcf, 0xdb, 0xe3, 0x4d, 0xc7, 0x59, 0x3f, 0xad, 0xc7,
+ 0x79, 0x1e, 0x37, 0xc1, 0x35, 0x80, 0x63, 0x4c, 0xfe, 0x05, 0x5c, 0x6f,
+ 0x54, 0xa8, 0x99, 0x9c, 0xe5, 0x5a, 0x08, 0x95, 0xb8, 0x4c, 0x99, 0xd1,
+ 0x82, 0xad, 0xff, 0x72, 0xd1, 0x5c, 0x81, 0xd5, 0x10, 0x9d, 0xed, 0x05,
+ 0x3b, 0x93, 0x1c, 0xea, 0xcc, 0xf9, 0x59, 0x8f, 0xab, 0x7c, 0x0e, 0x6a,
+ 0x37, 0xaf, 0xe4, 0x4a, 0xcf, 0xd6, 0x24, 0x85, 0x8d, 0x2c, 0x61, 0x0f,
+ 0x2e, 0xd2, 0xf9, 0x21, 0x20, 0x12, 0x58, 0xef, 0xaf, 0x93, 0x3f, 0xc2,
+ 0xd6, 0xa9, 0x30, 0xef, 0x12, 0x27, 0x27, 0xf3, 0x5a, 0xf1, 0xab, 0xa8,
+ 0xf9, 0xbc, 0x3c, 0x7e, 0xa6, 0xfe, 0x47, 0xb3, 0x85, 0xee, 0x95, 0xf5,
+ 0x11, 0x54, 0xdc, 0x1a, 0x57, 0x18, 0x31, 0xb9, 0x2f, 0xf9, 0xc5, 0x94,
+ 0x67, 0xf9, 0x3a, 0xbb, 0xe3, 0x14, 0xb0, 0x50, 0xc7, 0x14, 0x85, 0xf6,
+ 0x9a, 0x92, 0x83, 0xf0, 0xec, 0xc1, 0xf0, 0xf0, 0xf8, 0xb8, 0x95, 0x30,
+ 0x46, 0x93, 0x87, 0x1c, 0x7e, 0x26, 0x23, 0xa8, 0x89, 0x36, 0x8f, 0xa2,
+ 0x2d, 0xb1, 0xf0, 0x19, 0x97, 0x62, 0x32, 0xc7, 0x0f, 0x2e, 0x53, 0x23,
+ 0x09, 0x72, 0x2d, 0x94, 0x95, 0x32, 0x38, 0x63, 0x51, 0x98, 0x6e, 0xc2,
+ 0x3a, 0xbe, 0x5e, 0xcc, 0xd2, 0xe2, 0xf7, 0xe7, 0xc0, 0x88, 0xe3, 0xb0,
+ 0x65, 0xb6, 0xf8, 0x5c, 0xf9, 0x21, 0x9a, 0x70, 0xaf, 0x45, 0x28, 0xaf,
+ 0xcf, 0x2a, 0x29, 0x8a, 0xc4, 0x3c, 0x2f, 0xc2, 0x59, 0x4d, 0x75, 0x7b,
+ 0x89, 0x87, 0x8b, 0x5b, 0x36, 0x63, 0xd5, 0xa8, 0x0f, 0x93, 0xc1, 0x8a,
+ 0x20, 0x89, 0x94, 0x47, 0x16, 0xff, 0xf7, 0xca, 0x44, 0x97, 0xdd, 0xee,
+ 0x55, 0x89, 0x8f, 0xac, 0x3c, 0x01, 0x24, 0x4a, 0x71, 0x06, 0xa4, 0x47,
+ 0xad, 0x53, 0x60, 0x0f, 0x01, 0xcd, 0x80, 0x3d, 0x02, 0xff, 0xa2, 0x13,
+ 0x00, 0x90, 0xbb, 0x2b, 0xef, 0xf2, 0xf0, 0x21, 0x80, 0x07, 0x61, 0xfd,
+ 0x4f, 0xeb, 0x71, 0x52, 0xf4, 0x47, 0x9c, 0xa4, 0x16, 0x7b, 0xc2, 0xbf,
+ 0x76, 0xa7, 0x45, 0xe8, 0x1c, 0x3c, 0x21, 0xe6, 0xaf, 0xe9, 0xa2, 0xc8,
+ 0xef, 0x80, 0xc5, 0x36, 0xaa, 0xc4, 0x4b, 0x62, 0x04, 0x5f, 0x42, 0x75,
+ 0x7d, 0xc8, 0x8a, 0x4d, 0xa2, 0xd0, 0x72, 0x8c, 0xe2, 0x83, 0x79, 0x39,
+ 0x99, 0x94, 0x33, 0x0a, 0xcc, 0x73, 0x1b, 0x3d, 0x9f, 0x6f, 0x14, 0x62,
+ 0x3d, 0x12, 0xd8, 0x2f, 0xb2, 0x86, 0xec, 0xbd, 0x95, 0x2e, 0xe9, 0xb6,
+ 0x9b, 0xff, 0x02, 0xf5, 0x85, 0xe6, 0x84, 0xf7, 0x5d, 0x51, 0xbf, 0x92,
+ 0x3d, 0xf5, 0x1e, 0xba, 0x96, 0xc1, 0xfa, 0xd6, 0x7e, 0xf5, 0x78, 0xd9,
+ 0x65, 0xf7, 0xc8, 0xad, 0x0f, 0xc2, 0xf3, 0x18, 0x06, 0xc1, 0x32, 0xf3,
+ 0xbb, 0xb2, 0x16, 0x79, 0xd7, 0xa1, 0x88, 0xd2, 0x09, 0x2e, 0xee, 0x22,
+ 0x95, 0xa7, 0x56, 0xb2, 0xc2, 0x33, 0x93, 0xbf, 0x2b, 0xf8, 0xd7, 0xaa,
+ 0xff, 0x01, 0x32, 0xa5, 0x7c, 0x4a, 0x9b, 0x7f, 0x5b, 0xc3, 0x92, 0xd3,
+ 0x10, 0x36, 0xeb, 0xca, 0x4a, 0xb0, 0xa8, 0xa3, 0x1c, 0x0d, 0x84, 0x26,
+ 0xe8, 0xdf, 0xe0, 0x41, 0x91, 0x5a, 0x82, 0x9d, 0x41, 0xf0, 0xf6, 0x0f,
+ 0xd4, 0x17, 0x2f, 0x70, 0x74, 0x4d, 0xb5, 0x46, 0xb5, 0x5f, 0x15, 0x6f,
+ 0xc4, 0x76, 0x35, 0x59, 0x8d, 0x45, 0x79, 0x54, 0xf9, 0x91, 0x7a, 0xe3,
+ 0xa2, 0x9f, 0x89, 0x1a, 0xc5, 0xcc, 0x78, 0x94, 0x22, 0x43, 0xc4, 0xdc,
+ 0x04, 0xb0, 0xb1, 0xb5, 0x0d, 0x79, 0x61, 0xb9, 0x28, 0xaa, 0xa4, 0xe3,
+ 0x75, 0x4f, 0x9c, 0x99, 0x90, 0x16, 0xe4, 0x79, 0xc1, 0x05, 0xd1, 0x34,
+ 0xcb, 0x62, 0xd3, 0x28, 0xeb, 0x5a, 0x3f, 0x9e, 0x5a, 0x24, 0x52, 0x6d,
+ 0x57, 0x3c, 0x3e, 0xa0, 0x87, 0x5e, 0x76, 0x9a, 0x34, 0xef, 0xc7, 0x4d,
+ 0x14, 0x49, 0x8e, 0xcd, 0x54, 0xd9, 0xd7, 0xc8, 0xc5, 0xbd, 0xa5, 0x6a,
+ 0xa7, 0x39, 0xe1, 0x79, 0xe1, 0x6f, 0xf7, 0xc0, 0xda, 0x63, 0xd9, 0x24,
+ 0x52, 0xc9, 0x6c, 0x6f, 0xe1, 0x69, 0xcd, 0xac, 0x6b, 0xc7, 0xfb, 0xce,
+ 0xc0, 0xff, 0x0e, 0xe3, 0xdc, 0xb7, 0x02, 0x8e, 0xef, 0xfb, 0x6e, 0xed,
+ 0x4f, 0xfb, 0x6d, 0xea, 0xa7, 0xa6, 0x73, 0x4a, 0xcf, 0x00, 0x29, 0x20,
+ 0x48, 0x24, 0x22, 0x86, 0xe1, 0x49, 0xe4, 0x32, 0xe0, 0xb0, 0x52, 0x41,
+ 0xaf, 0x8f, 0xfb, 0x12, 0x3a, 0x89, 0xd6, 0x18, 0x12, 0x91, 0x26, 0x3c,
+ 0x77, 0xb6, 0x59, 0x8a, 0xc4, 0x84, 0xcd, 0xf1, 0x22, 0x46, 0x26, 0xf5,
+ 0xaf, 0x9d, 0x7c, 0x1f, 0x92, 0x69, 0xe1, 0x81, 0xb6, 0x65, 0x78, 0x88,
+ 0xd7, 0xdf, 0x67, 0xab, 0x8d, 0x32, 0x9d, 0x0b, 0x7d, 0x6d, 0x72, 0x44,
+ 0x6f, 0x84, 0x8d, 0xfd, 0x05, 0xad, 0x10, 0xe9, 0xaf, 0x57, 0x66, 0x0b,
+ 0x45, 0x6b, 0x83, 0x9d, 0x25, 0x7b, 0x4f, 0x08, 0x93, 0x91, 0x9c, 0x3b,
+ 0x90, 0x12, 0x12, 0xa4, 0xb6, 0xab, 0xa2, 0x99, 0xac, 0x5f, 0x4d, 0xcb,
+ 0xd1, 0xc8, 0x0c, 0x7b, 0xdd, 0x53, 0x4b, 0xcd, 0x97, 0x03, 0xf7, 0x99,
+ 0xdf, 0x0f, 0xeb, 0x8a, 0xef, 0x31, 0xa4, 0x84, 0xfd, 0x02, 0xb8, 0x92,
+ 0x35, 0x0b, 0x4a, 0xbe, 0xaf, 0x3c, 0xab, 0x91, 0x9b, 0x46, 0xc0, 0xad,
+ 0xb2, 0x35, 0x68, 0x60, 0x1e, 0x58, 0x59, 0x92, 0x02, 0xe9, 0xa7, 0xda,
+ 0x41, 0x86, 0x09, 0x25, 0xcb, 0x90, 0x6e, 0x8e, 0xd5, 0x1d, 0x82, 0x4b,
+ 0xca, 0xfc, 0xe4, 0x75, 0xe8, 0x4e, 0xc5, 0x2c, 0xb4, 0x07, 0xb4, 0xfe,
+ 0x9f, 0xf4, 0xc7, 0x6e, 0x8f, 0xfe, 0xbb, 0xf7, 0x5f, 0xeb, 0xf0, 0xb8,
+ 0xee, 0x6f, 0x6f, 0xdf, 0xde, 0xde, 0x0e, 0x84, 0xbe, 0x7c, 0x60, 0x96,
+ 0x6c, 0x2d, 0x4c, 0xdb, 0x21, 0x1a, 0xa5, 0x25, 0x1f, 0xb8, 0x48, 0xd6,
+ 0xf3, 0xd9, 0xd5, 0x8f, 0xbb, 0xfd, 0xdd, 0x9d, 0x9d, 0x9d, 0x9f, 0x07,
+ 0x73, 0x9a, 0xe2, 0x4b, 0x34, 0x6b, 0xfe, 0xeb, 0x37, 0xbb, 0xcd, 0x3d,
+ 0xd9, 0x5e, 0x8b, 0x17, 0x03, 0xc1, 0x2f, 0x2d, 0x05, 0x43, 0xc1, 0x64,
+ 0xd8, 0xbc, 0x95, 0xf7, 0x3d, 0x31, 0xc3, 0x21, 0xa0, 0x74, 0x79, 0x12,
+ 0x2c, 0x57, 0xa6, 0x21, 0x9f, 0xe9, 0xb3, 0x27, 0x7b, 0x7b, 0x09, 0xab,
+ 0x1c, 0x9c, 0x5b, 0xc2, 0x71, 0x48, 0x4a, 0x2b, 0x96, 0x0a, 0x9e, 0x7c,
+ 0x9b, 0x8d, 0x89, 0x5f, 0xa9, 0xe2, 0xe2, 0x80, 0x41, 0xad, 0x38, 0x8b,
+ 0xf0, 0xc1, 0xbe, 0x35, 0x57, 0x25, 0xc1, 0x6e, 0xcb, 0xc9, 0xbd, 0x6b,
+ 0xd8, 0xec, 0xf2, 0x8a, 0xa4, 0x2b, 0xd5, 0xe0, 0xf2, 0xea, 0xcd, 0xa7,
+ 0x75, 0x4c, 0x6f, 0xb3, 0x79, 0x22, 0xb8, 0xe6, 0x40, 0xe3, 0x57, 0xd0,
+ 0xfc, 0xa2, 0xd4, 0x0b, 0x88, 0xb8, 0x16, 0x95, 0xd4, 0x0f, 0x40, 0x8c,
+ 0xf2, 0x36, 0xbd, 0x6f, 0x5d, 0xf7, 0x66, 0xc6, 0x5f, 0x9a, 0xff, 0x2c,
+ 0x2b, 0xfd, 0x9c, 0x62, 0x2b, 0x61, 0x84, 0xcd, 0xf8, 0x3a, 0xe0, 0xa5,
+ 0x85, 0x00, 0x27, 0xe5, 0xfd, 0xda, 0x8c, 0xc6, 0xd2, 0xbe, 0x2e, 0xa9,
+ 0xae, 0xe4, 0x25, 0xd5, 0x99, 0x46, 0x89, 0x44, 0x1b, 0xc5, 0x8a, 0xb9,
+ 0xe0, 0x2a, 0x4b, 0xc5, 0x65, 0x55, 0xf2, 0x6c, 0x51, 0x22, 0xc0, 0xbd,
+ 0xf2, 0x5a, 0x93, 0xfe, 0xc6, 0xd7, 0xd9, 0x4c, 0x24, 0xe6, 0xa6, 0xa2,
+ 0x9d, 0xd6, 0x65, 0x13, 0xae, 0x87, 0x97, 0xda, 0xfa, 0xa5, 0xfc, 0xc6,
+ 0x0c, 0x66, 0x4b, 0x92, 0xe6, 0xec, 0x3d, 0x27, 0x05, 0x06, 0xae, 0x16,
+ 0x64, 0x37, 0x8e, 0x52, 0xb9, 0x50, 0x94, 0xbf, 0x7a, 0x19, 0x28, 0x91,
+ 0x84, 0x62, 0x56, 0xe1, 0x1e, 0x23, 0x0f, 0x4c, 0x5f, 0xb4, 0x1f, 0xb9,
+ 0x56, 0x11, 0x1b, 0x36, 0x27, 0xf6, 0xf5, 0xf1, 0xe1, 0x05, 0x32, 0xd8,
+ 0x7a, 0x80, 0xba, 0xf7, 0x90, 0xb6, 0x16, 0x96, 0x80, 0x38, 0x83, 0x87,
+ 0x04, 0x1b, 0x55, 0x4a, 0xe4, 0xa5, 0x0e, 0x1d, 0xd3, 0x29, 0x2a, 0xd0,
+ 0x4b, 0x3c, 0x22, 0xf1, 0x18, 0xec, 0xaf, 0xa5, 0x27, 0x5a, 0x4c, 0xd1,
+ 0xd3, 0x67, 0x83, 0x1d, 0x1e, 0x23, 0x4d, 0xa1, 0xc4, 0xbe, 0x25, 0xd1,
+ 0x02, 0x8e, 0xa4, 0x5a, 0x08, 0x2b, 0xd3, 0x25, 0x64, 0xbb, 0xda, 0x9d,
+ 0x5e, 0xc2, 0xfc, 0xac, 0x9c, 0x07, 0xad, 0xbf, 0xf5, 0x80, 0x4e, 0x2b,
+ 0x75, 0x53, 0xbf, 0xe0, 0x37, 0x6d, 0xcb, 0x0e, 0xad, 0x26, 0x45, 0x03,
+ 0x4a, 0x9b, 0x22, 0x25, 0x24, 0x09, 0xd1, 0xda, 0xb9, 0x28, 0xfb, 0x22,
+ 0x3e, 0xac, 0x26, 0x2b, 0x7a, 0xae, 0xa2, 0x43, 0x49, 0xb7, 0x80, 0x5c,
+ 0x59, 0x92, 0x37, 0xd0, 0x2a, 0x83, 0x16, 0xd3, 0x50, 0x82, 0x62, 0x19,
+ 0xfd, 0xaf, 0xa5, 0x92, 0x25, 0x6b, 0xca, 0xb1, 0xbc, 0x0d, 0x5a, 0xca,
+ 0x2d, 0x05, 0xa8, 0xb1, 0xe5, 0xaa, 0x2a, 0xe7, 0x80, 0x1c, 0x86, 0x09,
+ 0xaf, 0xbb, 0xf4, 0x97, 0xab, 0x91, 0xd2, 0x55, 0x12, 0xd6, 0x69, 0xc9,
+ 0x0a, 0xd0, 0x13, 0x08, 0xc3, 0x0b, 0x8b, 0x74, 0x3d, 0x81, 0xb4, 0x13,
+ 0x60, 0xee, 0xc1, 0x43, 0xb5, 0xfe, 0x05, 0xf9, 0xc1, 0x5f, 0x1d, 0xac,
+ 0xb7, 0x4e, 0x64, 0xac, 0x26, 0x44, 0xcd, 0xd2, 0xad, 0x6d, 0xcb, 0x88,
+ 0x4c, 0x23, 0xb9, 0x9f, 0xdd, 0x35, 0x7c, 0xf3, 0x5f, 0xa2, 0xba, 0x63,
+ 0xf1, 0x64, 0x2f, 0xa9, 0xef, 0x8d, 0x1a, 0x31, 0xf3, 0x27, 0xa1, 0x5b,
+ 0xce, 0x33, 0xea, 0xfd, 0x6f, 0xd5, 0xc0, 0x61, 0xb9, 0xf5, 0x81, 0x5e,
+ 0x39, 0xc0, 0x2b, 0x52, 0x33, 0x43, 0xa1, 0x36, 0x8f, 0xa8, 0x11, 0x5b,
+ 0x6a, 0xc1, 0xaa, 0x64, 0x34, 0x4d, 0x8b, 0x4f, 0xb6, 0xa8, 0x25, 0xb7,
+ 0xd4, 0xa3, 0xca, 0x6b, 0x9c, 0x06, 0xe6, 0x7e, 0x28, 0xd8, 0x1b, 0xdc,
+ 0x8c, 0x9d, 0xe6, 0xfe, 0xbe, 0x20, 0xcd, 0x74, 0x96, 0x56, 0x94, 0x1f,
+ 0x84, 0x39, 0x13, 0xdc, 0xe2, 0xd2, 0x32, 0xb4, 0x28, 0x58, 0x6a, 0x2b,
+ 0x96, 0x86, 0x57, 0x18, 0x17, 0x98, 0x67, 0xd2, 0x0e, 0x05, 0x7f, 0x2e,
+ 0xa9, 0xb5, 0xf2, 0xdb, 0x85, 0x13, 0x17, 0xba, 0x12, 0x46, 0x6a, 0x9b,
+ 0xff, 0xee, 0x6b, 0xcc, 0x63, 0x99, 0xfc, 0xb6, 0xb7, 0x87, 0xad, 0x26,
+ 0x6a, 0xa3, 0x24, 0x7e, 0x79, 0x38, 0x56, 0xf0, 0x5c, 0x74, 0x26, 0x96,
+ 0x5d, 0x35, 0x48, 0x4e, 0x9d, 0x41, 0x59, 0xf4, 0xc0, 0x68, 0xd9, 0x54,
+ 0x63, 0x31, 0x27, 0xf1, 0xf7, 0xbe, 0xd6, 0x7a, 0x8e, 0xcd, 0x00, 0xca,
+ 0xa5, 0x10, 0xa2, 0xe9, 0xde, 0x5e, 0x03, 0xad, 0xde, 0xf5, 0x5c, 0xfd,
+ 0xbb, 0x29, 0x68, 0xb6, 0x4a, 0x2a, 0xd8, 0x25, 0x85, 0x1c, 0x02, 0x50,
+ 0x25, 0x0f, 0x22, 0x5e, 0x0c, 0x0f, 0x4d, 0x8a, 0x04, 0xe6, 0xea, 0x0b,
+ 0xf2, 0x78, 0x2d, 0x01, 0xcc, 0xa9, 0xb9, 0x17, 0x39, 0xd4, 0xec, 0xea,
+ 0xc0, 0x1b, 0x91, 0x56, 0x16, 0xbd, 0x80, 0x9c, 0x85, 0xc2, 0x85, 0xec,
+ 0x73, 0x22, 0x38, 0xcf, 0x4c, 0xaa, 0x63, 0x66, 0xd6, 0xd7, 0xcc, 0xef,
+ 0xe9, 0xde, 0xf4, 0xbf, 0xfc, 0x40, 0x19, 0x3f, 0xae, 0x33, 0xa0, 0x8b,
+ 0x61, 0x76, 0x61, 0x8f, 0x93, 0x70, 0x06, 0x4b, 0xd4, 0x19, 0x96, 0x06,
+ 0xdf, 0x1a, 0x1b, 0x3e, 0xab, 0x4a, 0x23, 0x48, 0xbe, 0x7b, 0xa6, 0x40,
+ 0x1b, 0x29, 0x0b, 0x2a, 0x77, 0x96, 0xac, 0xe5, 0xbd, 0x2d, 0x54, 0x1e,
+ 0x75, 0xa5, 0xb0, 0x8c, 0xd4, 0x37, 0xe5, 0xd2, 0x62, 0x53, 0xae, 0xe8,
+ 0x2e, 0x0b, 0x5d, 0x67, 0xa6, 0x8f, 0x34, 0xb2, 0x10, 0xb7, 0xd3, 0xaa,
+ 0x61, 0x0b, 0xe4, 0xf8, 0x62, 0x4c, 0xfa, 0x0f, 0x39, 0x7d, 0xa8, 0x86,
+ 0xe9, 0xa8, 0x49, 0xb9, 0x84, 0xa2, 0xed, 0xf9, 0x45, 0x4e, 0x8e, 0x81,
+ 0x81, 0x6c, 0x89, 0x28, 0x6e, 0x5b, 0x2e, 0x3f, 0x47, 0x02, 0xdb, 0x89,
+ 0x1b, 0x92, 0xb6, 0x51, 0x5f, 0xd3, 0x7d, 0x4d, 0xf7, 0x08, 0x8c, 0xc1,
+ 0xb5, 0x38, 0xa9, 0x29, 0x4d, 0xda, 0xfb, 0x8b, 0x93, 0x77, 0xbd, 0xce,
+ 0x49, 0x90, 0x8b, 0xcf, 0x2b, 0x00, 0x2c, 0x5b, 0x53, 0xb9, 0x0f, 0xc2,
+ 0xb4, 0x4f, 0x59, 0xd8, 0x5e, 0x62, 0x33, 0x48, 0x38, 0xed, 0x98, 0xa6,
+ 0xae, 0x27, 0x51, 0xea, 0x4a, 0x72, 0x13, 0xd4, 0x3e, 0xe4, 0x79, 0x0d,
+ 0x3d, 0x9e, 0x84, 0x54, 0xab, 0xe1, 0x3b, 0x80, 0x49, 0x6d, 0xe4, 0x8e,
+ 0xd9, 0x8e, 0x5e, 0xd1, 0x9f, 0x70, 0x5f, 0x97, 0xad, 0x43, 0xe3, 0x2f,
+ 0x18, 0x6d, 0x43, 0xe6, 0x7c, 0x4e, 0x5e, 0x97, 0xb7, 0x45, 0xff, 0x84,
+ 0x12, 0xcc, 0x92, 0x93, 0xf2, 0x8a, 0xac, 0xa6, 0xf7, 0x71, 0xeb, 0xfe,
+ 0xc3, 0xd9, 0xfb, 0x64, 0x93, 0xa4, 0x73, 0x72, 0x66, 0x69, 0x85, 0xe8,
+ 0xd1, 0x2d, 0xd1, 0x42, 0x6b, 0xbe, 0xb9, 0xa4, 0x37, 0xbd, 0xe4, 0xe8,
+ 0x87, 0x83, 0x77, 0x67, 0x27, 0x47, 0x3f, 0x2d, 0x01, 0x09, 0xd0, 0x8f,
+ 0xbf, 0xf2, 0x34, 0x73, 0x78, 0xf2, 0x29, 0xee, 0x69, 0x7a, 0x72, 0xbf,
+ 0x4c, 0x16, 0xf0, 0xf1, 0xd1, 0x2d, 0x38, 0x1c, 0x9e, 0x1d, 0xf7, 0x95,
+ 0x11, 0x88, 0x2b, 0x45, 0xe5, 0x05, 0x29, 0xd1, 0x7c, 0x80, 0x95, 0xad,
+ 0xfb, 0xdb, 0x30, 0x68, 0x61, 0xcf, 0x43, 0x2f, 0x79, 0xaf, 0x00, 0x95,
+ 0x1e, 0x16, 0x9d, 0xa4, 0xf4, 0xeb, 0xfc, 0x0a, 0x91, 0x87, 0x0e, 0xbf,
+ 0x0f, 0xed, 0x0e, 0x31, 0xb9, 0x02, 0xba, 0x2d, 0x23, 0x7d, 0x34, 0x9c,
+ 0x54, 0x67, 0x53, 0x76, 0x72, 0x2d, 0x95, 0xa2, 0xc0, 0xe1, 0xf1, 0x2a,
+ 0x02, 0x08, 0x1c, 0x84, 0x54, 0x04, 0x18, 0x3c, 0xb2, 0x52, 0x4f, 0x54,
+ 0x57, 0xde, 0x21, 0x2c, 0x3d, 0xe4, 0xce, 0xb1, 0xc2, 0x61, 0xdf, 0xd8,
+ 0xef, 0x8b, 0x64, 0x7f, 0xfd, 0x77, 0xbc, 0x48, 0x7c, 0x8f, 0x60, 0xa4,
+ 0xe8, 0x83, 0xe5, 0x84, 0xb2, 0xfe, 0x63, 0xce, 0xc6, 0x67, 0xd7, 0xa6,
+ 0x3a, 0x66, 0xe0, 0x13, 0x35, 0x27, 0x5d, 0xd4, 0xbe, 0xd1, 0xe2, 0xea,
+ 0x2a, 0x92, 0xb1, 0x4f, 0x95, 0xa1, 0xb2, 0x0c, 0xd7, 0xb3, 0xd1, 0x62,
+ 0x36, 0xea, 0x84, 0xfd, 0xbc, 0xa6, 0xff, 0xeb, 0x88, 0x5f, 0x29, 0x5b,
+ 0x4a, 0x39, 0x59, 0xe7, 0xd2, 0xc6, 0xec, 0xaa, 0xae, 0x09, 0x60, 0x18,
+ 0x36, 0xc7, 0x11, 0xba, 0x8d, 0x2f, 0x37, 0x94, 0xef, 0xdc, 0x28, 0xfc,
+ 0x7c, 0xfb, 0x42, 0xd3, 0x59, 0x67, 0x55, 0x67, 0xc4, 0xe5, 0xc6, 0x7a,
+ 0xc9, 0xc6, 0xcb, 0x0d, 0x79, 0x6e, 0x3d, 0x7a, 0x91, 0xf3, 0x3b, 0x1c,
+ 0x09, 0x62, 0x05, 0x78, 0x6c, 0x7d, 0x65, 0xa4, 0x24, 0xe4, 0x93, 0x49,
+ 0x56, 0x88, 0xeb, 0x84, 0x8a, 0xf5, 0x08, 0x89, 0x57, 0x4f, 0x6e, 0x96,
+ 0xee, 0xc5, 0x84, 0xae, 0x6b, 0xcf, 0xb9, 0xaf, 0x1b, 0x7f, 0xd6, 0x1e,
+ 0x78, 0x95, 0xed, 0xc8, 0x75, 0xed, 0xaa, 0xcc, 0xc8, 0x57, 0x97, 0x9d,
+ 0x14, 0xc4, 0x47, 0x60, 0x42, 0x41, 0x5f, 0x52, 0x0b, 0x52, 0x24, 0x35,
+ 0xab, 0xb8, 0xbd, 0x4e, 0xf2, 0x05, 0xe2, 0x1f, 0xa1, 0x9b, 0xab, 0xb1,
+ 0xa4, 0x75, 0xd4, 0xf2, 0x46, 0x45, 0x65, 0x08, 0xb8, 0xf8, 0x2c, 0x55,
+ 0xe4, 0x59, 0xf2, 0x7d, 0xf5, 0x00, 0xba, 0x8d, 0xc7, 0xe9, 0xa2, 0x8a,
+ 0x80, 0x25, 0xeb, 0x0c, 0x0f, 0x66, 0x05, 0x7c, 0xc1, 0x6a, 0x01, 0xf4,
+ 0x42, 0xc2, 0x02, 0x2e, 0x91, 0xa2, 0x0c, 0xe9, 0x36, 0x4a, 0xd1, 0x8e,
+ 0xa9, 0x29, 0x82, 0x35, 0x4a, 0x95, 0xec, 0xe5, 0x53, 0xb5, 0xeb, 0xe7,
+ 0x88, 0xcf, 0x13, 0x1c, 0xd2, 0xd1, 0xc4, 0x15, 0x51, 0xbb, 0x69, 0x9e,
+ 0xdc, 0x44, 0x05, 0xb9, 0x3f, 0xce, 0x6b, 0xee, 0x07, 0x68, 0x42, 0x54,
+ 0x54, 0xd4, 0x7d, 0xfe, 0x9d, 0x9c, 0xaa, 0x08, 0x8e, 0xf6, 0xb5, 0x04,
+ 0x58, 0xfc, 0xa8, 0x85, 0xe4, 0x82, 0xb0, 0x7b, 0x49, 0x34, 0x59, 0x0d,
+ 0xe3, 0x6a, 0x70, 0x39, 0x87, 0x17, 0xb8, 0x1e, 0x44, 0xcb, 0x1f, 0x57,
+ 0x70, 0x9f, 0x16, 0x99, 0xde, 0xea, 0xec, 0x86, 0x45, 0xc0, 0x45, 0xdf,
+ 0x2f, 0x85, 0x42, 0xad, 0xe7, 0x45, 0x88, 0x23, 0x21, 0x38, 0xdc, 0x1f,
+ 0x4f, 0x6c, 0xcd, 0x6e, 0xf3, 0x68, 0x95, 0x56, 0x5c, 0x36, 0xb1, 0xf8,
+ 0xa4, 0xd0, 0x22, 0x6a, 0x3c, 0xbb, 0xcb, 0xc6, 0x8b, 0xa6, 0x9d, 0xe3,
+ 0xe0, 0x2b, 0x5f, 0x4a, 0xe4, 0x8f, 0x6e, 0x6d, 0xe2, 0x28, 0xa8, 0xd1,
+ 0x72, 0xa6, 0xd4, 0x0b, 0xfb, 0xeb, 0x5b, 0x12, 0xee, 0xa3, 0x30, 0x90,
+ 0x65, 0x64, 0x88, 0xc5, 0xf1, 0xb4, 0xcf, 0x55, 0xc6, 0x7e, 0x37, 0x17,
+ 0xd2, 0x8e, 0x7e, 0x9e, 0xeb, 0x8e, 0x47, 0xbe, 0xfd, 0x86, 0x3d, 0x34,
+ 0xde, 0xa7, 0x6d, 0xad, 0x2a, 0x71, 0xde, 0xd4, 0xc1, 0x51, 0x0e, 0xbe,
+ 0x8c, 0xb2, 0x91, 0x83, 0xe4, 0xc0, 0x96, 0x7c, 0xd5, 0x57, 0x75, 0xfe,
+ 0x03, 0xa7, 0xd9, 0xf1, 0xd9, 0xcd, 0x73, 0xcf, 0xe7, 0x49, 0x77, 0x1e,
+ 0x7e, 0x64, 0x25, 0x7e, 0x30, 0x8a, 0x4f, 0xd5, 0xe8, 0xa9, 0xf9, 0xe3,
+ 0x5b, 0xfa, 0x83, 0xc4, 0x2a, 0x99, 0x98, 0xcc, 0x9b, 0xc4, 0xde, 0xba,
+ 0x70, 0x6b, 0x53, 0xd6, 0xab, 0xfc, 0x21, 0x8b, 0x0e, 0x0c, 0x3b, 0xa5,
+ 0xa2, 0x10, 0xcb, 0x92, 0x23, 0xbc, 0x80, 0xf2, 0xab, 0xed, 0xf4, 0x34,
+ 0x3d, 0x2c, 0x8e, 0xef, 0x05, 0x29, 0x10, 0x93, 0xee, 0xf4, 0xe0, 0x99,
+ 0x18, 0xb2, 0x20, 0x2f, 0x63, 0x09, 0x42, 0x66, 0xaa, 0xfe, 0x41, 0x0e,
+ 0x6d, 0x9b, 0xaa, 0x48, 0x45, 0x8b, 0x67, 0x16, 0x10, 0x4e, 0xd0, 0x50,
+ 0x17, 0xf7, 0x67, 0x1f, 0x26, 0x1d, 0x33, 0x16, 0x67, 0x21, 0x52, 0xcb,
+ 0x72, 0x21, 0x2d, 0x1b, 0x32, 0x2e, 0x77, 0xf9, 0x23, 0xe4, 0x15, 0x5c,
+ 0xfe, 0xde, 0x6b, 0xa4, 0xc7, 0xc9, 0x81, 0xe7, 0xa3, 0xb0, 0xe0, 0xaa,
+ 0xce, 0xba, 0xd8, 0x2e, 0x45, 0x98, 0x1f, 0x16, 0x5b, 0x91, 0x15, 0x93,
+ 0x25, 0xfd, 0xa4, 0xf2, 0xa0, 0xcc, 0xac, 0x0e, 0xa9, 0xf0, 0x49, 0x23,
+ 0x9a, 0xb3, 0x6c, 0x46, 0x01, 0x12, 0x7b, 0x2f, 0x32, 0x4f, 0x0b, 0xbb,
+ 0x04, 0xe8, 0x63, 0xfd, 0x78, 0x73, 0x13, 0xd2, 0xdf, 0xe8, 0x8a, 0x65,
+ 0x98, 0xcf, 0x1f, 0x82, 0xa8, 0x58, 0x7d, 0x5f, 0x8c, 0xaf, 0x5f, 0xbf,
+ 0x1f, 0xc6, 0x5f, 0x0f, 0x07, 0x87, 0xe7, 0x8d, 0x1e, 0x42, 0x9b, 0x41,
+ 0x4a, 0x67, 0x83, 0xa6, 0xcc, 0x28, 0x79, 0x07, 0xde, 0xef, 0xe2, 0xcd,
+ 0xb5, 0x5e, 0xb0, 0xfe, 0x22, 0x52, 0x2c, 0x58, 0x88, 0x8b, 0xe6, 0x09,
+ 0xf4, 0x70, 0x3f, 0xa5, 0xa3, 0x80, 0x82, 0x56, 0x81, 0x02, 0x6d, 0xcf,
+ 0x34, 0x45, 0x15, 0x50, 0xb9, 0x16, 0x4d, 0x56, 0x1e, 0x50, 0xa9, 0xbb,
+ 0xaf, 0x51, 0x55, 0x41, 0xff, 0xf8, 0x25, 0xcb, 0x7c, 0x42, 0xa5, 0x8f,
+ 0x23, 0x41, 0x28, 0x7f, 0x86, 0x5a, 0xb0, 0x11, 0x2f, 0x46, 0x68, 0xf6,
+ 0xea, 0x94, 0x5e, 0xe7, 0x6d, 0xda, 0x93, 0xdd, 0x8a, 0x1f, 0x55, 0xcb,
+ 0x86, 0x64, 0x26, 0x65, 0xef, 0x9b, 0xaf, 0xc3, 0xdb, 0xf3, 0xf5, 0xfb,
+ 0x25, 0x9f, 0xa3, 0xdf, 0xf4, 0x35, 0x5d, 0x44, 0x34, 0x02, 0x4f, 0xa5,
+ 0x0f, 0xe7, 0x22, 0xce, 0xe0, 0xdb, 0xfe, 0xe5, 0x43, 0x52, 0xc2, 0x3c,
+ 0x21, 0x7f, 0xac, 0x7c, 0x50, 0xc0, 0xae, 0xf1, 0x4f, 0x11, 0x0a, 0x76,
+ 0x93, 0x81, 0x60, 0xc9, 0x39, 0x07, 0xfb, 0xce, 0x44, 0x13, 0xde, 0x8a,
+ 0x2c, 0xd1, 0x52, 0x90, 0xb2, 0x33, 0x83, 0x92, 0x18, 0xeb, 0x08, 0xc9,
+ 0x85, 0x3d, 0xfe, 0x63, 0x7b, 0xcf, 0x42, 0x98, 0x6c, 0xce, 0x0f, 0x0e,
+ 0xa9, 0xb9, 0xc0, 0x43, 0x05, 0xa1, 0xc8, 0xef, 0x86, 0x88, 0x3b, 0x2f,
+ 0xd9, 0xcd, 0x08, 0x50, 0x73, 0x64, 0xda, 0xce, 0x01, 0x75, 0x54, 0x35,
+ 0xb1, 0x68, 0x4f, 0x86, 0xec, 0xe4, 0x79, 0x68, 0x33, 0xe5, 0x11, 0xd4,
+ 0xd5, 0x2a, 0x6a, 0xb5, 0x77, 0x46, 0x49, 0xa2, 0xcb, 0xf5, 0xe1, 0x63,
+ 0x6c, 0xf7, 0x8d, 0x7d, 0x27, 0xd9, 0x1c, 0x99, 0x1b, 0xdb, 0xa3, 0x4a,
+ 0x20, 0x79, 0xf3, 0x14, 0xc8, 0xee, 0x78, 0x73, 0xcf, 0x3e, 0x7f, 0xf6,
+ 0x74, 0x6b, 0xab, 0x97, 0x68, 0x6d, 0x67, 0x02, 0x51, 0x8c, 0x28, 0xc1,
+ 0x24, 0x27, 0xb9, 0x55, 0xb3, 0x32, 0x6b, 0x26, 0xf8, 0x1a, 0xbe, 0x57,
+ 0xcf, 0x11, 0x13, 0x6f, 0x8e, 0xee, 0x31, 0x7d, 0x95, 0x16, 0x91, 0x4c,
+ 0x70, 0x48, 0x74, 0x6b, 0x06, 0xa7, 0x2a, 0x13, 0x6b, 0xe7, 0x99, 0x5f,
+ 0x2a, 0x15, 0x10, 0x4b, 0x72, 0x7e, 0x28, 0x0a, 0x67, 0x20, 0xa4, 0xe8,
+ 0x8a, 0xab, 0x87, 0x80, 0xc1, 0x33, 0xbe, 0xf6, 0xe8, 0x0f, 0xda, 0xcf,
+ 0xd7, 0x5a, 0xab, 0xf0, 0x6c, 0x31, 0x9a, 0x9a, 0x1b, 0x68, 0x48, 0xd5,
+ 0x7e, 0xef, 0x92, 0x93, 0x5c, 0xca, 0x7e, 0x8a, 0xad, 0xa0, 0x40, 0xba,
+ 0x65, 0x77, 0x0e, 0x0f, 0x1c, 0x69, 0xd6, 0xd8, 0x6a, 0x2d, 0x40, 0xb9,
+ 0x4b, 0xd2, 0x63, 0xbd, 0x6d, 0x7d, 0xce, 0xdf, 0xaa, 0x17, 0x97, 0xfd,
+ 0x65, 0x03, 0xbb, 0xcb, 0x6a, 0xcf, 0x8c, 0xeb, 0xdf, 0x92, 0x82, 0x08,
+ 0x3a, 0x04, 0x72, 0x4d, 0x27, 0x2f, 0x59, 0x15, 0x5c, 0x5e, 0x76, 0x4f,
+ 0xd3, 0x52, 0x7d, 0xa5, 0x11, 0xfa, 0x37, 0xdc, 0xb8, 0xe9, 0x25, 0x01,
+ 0x4d, 0x19, 0x55, 0x37, 0xcd, 0x50, 0xf1, 0x9a, 0x04, 0x59, 0x00, 0xa4,
+ 0xb6, 0x95, 0xc3, 0xc5, 0xbc, 0x4f, 0xc4, 0x4b, 0x21, 0x3e, 0x59, 0xe0,
+ 0xa5, 0x52, 0x50, 0x5c, 0xc0, 0x5b, 0xc3, 0xcc, 0x0a, 0xec, 0x1a, 0x36,
+ 0x03, 0x98, 0xc4, 0x2c, 0xb0, 0xb6, 0xd3, 0x5e, 0xd3, 0x5e, 0x6b, 0x76,
+ 0x6b, 0xc9, 0x57, 0x42, 0x27, 0x4b, 0xac, 0x1c, 0xe2, 0xd4, 0x4c, 0x06,
+ 0x19, 0xaf, 0xc9, 0x3a, 0xf7, 0x87, 0x12, 0x16, 0xe8, 0x0e, 0xd1, 0x88,
+ 0x28, 0x10, 0x35, 0xaa, 0xe1, 0xb3, 0x8e, 0x2c, 0xed, 0xc3, 0xf6, 0x4e,
+ 0x23, 0x21, 0x52, 0xd1, 0xf9, 0xbe, 0x52, 0x60, 0xce, 0xba, 0xc6, 0x73,
+ 0x5b, 0xc6, 0xbd, 0x6d, 0xce, 0xce, 0x4a, 0x24, 0xf7, 0x95, 0x83, 0xdc,
+ 0xa8, 0x39, 0x4a, 0xab, 0x66, 0x1a, 0xed, 0xaf, 0xc7, 0x15, 0x5f, 0x3b,
+ 0x07, 0x28, 0x11, 0x00, 0x2b, 0xb4, 0x65, 0xa1, 0xe9, 0x57, 0xd4, 0x20,
+ 0x27, 0xbc, 0x6e, 0x93, 0x37, 0x8b, 0x50, 0x3a, 0x4a, 0xd4, 0x0f, 0x99,
+ 0xc2, 0xf0, 0x34, 0xd3, 0x4a, 0xb8, 0x74, 0x5e, 0x98, 0x63, 0x84, 0xdf,
+ 0xa3, 0xca, 0x5e, 0x75, 0x62, 0x4f, 0x33, 0x72, 0x20, 0xa7, 0xe5, 0x6d,
+ 0x00, 0xf9, 0x25, 0x77, 0xaa, 0xeb, 0x5d, 0x3b, 0x87, 0xc3, 0x34, 0xf0,
+ 0xa7, 0xff, 0xd4, 0x5f, 0x7e, 0xa4, 0xc9, 0xfa, 0x2f, 0x9d, 0x2c, 0xe9,
+ 0x76, 0x1a, 0x24, 0xac, 0xc2, 0x0e, 0xfe, 0x13, 0x26, 0xe5, 0x6f, 0x84,
+ 0x52, 0xe1, 0x99, 0x21, 0xaa, 0x08, 0x34, 0xf7, 0xa7, 0x81, 0xd5, 0x77,
+ 0xb5, 0x09, 0x4a, 0xbf, 0x63, 0xab, 0x7e, 0x74, 0x1f, 0xf8, 0x8e, 0x68,
+ 0x0f, 0xfe, 0x54, 0xf4, 0x40, 0x7b, 0x69, 0x4c, 0x2f, 0xca, 0x97, 0xe7,
+ 0xda, 0x6d, 0xbc, 0x8c, 0x3f, 0x55, 0xc2, 0xfc, 0x60, 0x8c, 0x0e, 0xd3,
+ 0x71, 0x32, 0xc8, 0xf8, 0xe7, 0xa1, 0x05, 0x40, 0x08, 0x9a, 0x7d, 0xac,
+ 0xc6, 0x9f, 0xfa, 0xf5, 0xfd, 0x6c, 0x54, 0x4e, 0x65, 0xa3, 0xd3, 0x70,
+ 0x4d, 0x9f, 0xf5, 0x67, 0xbc, 0x2c, 0x88, 0x76, 0xf4, 0xbd, 0xec, 0xed,
+ 0x5e, 0x94, 0x9a, 0x9b, 0x4c, 0x94, 0x72, 0x3c, 0x46, 0x16, 0x0e, 0x81,
+ 0xbf, 0xcd, 0x76, 0xff, 0x93, 0xe6, 0x36, 0x51, 0x30, 0x8e, 0x6b, 0x90,
+ 0x4d, 0x34, 0xf8, 0x29, 0x8e, 0xda, 0xa5, 0xb9, 0x2f, 0xd1, 0xcd, 0xe3,
+ 0xad, 0x8e, 0xb5, 0x2d, 0x62, 0x99, 0xef, 0x74, 0x42, 0x4d, 0x47, 0x3f,
+ 0x22, 0xd9, 0x46, 0xf6, 0xdd, 0x21, 0xff, 0xac, 0x7f, 0x81, 0x9f, 0x29,
+ 0x16, 0x41, 0x32, 0x2d, 0x29, 0xba, 0x2d, 0xa9, 0x90, 0xbd, 0x30, 0xa7,
+ 0x2b, 0x89, 0x01, 0x9c, 0x50, 0x2a, 0xb6, 0x08, 0xef, 0x2b, 0x3d, 0x4c,
+ 0x1f, 0x99, 0x6e, 0xc2, 0xd8, 0xfc, 0xab, 0x5b, 0x43, 0x91, 0x83, 0x69,
+ 0x93, 0xcf, 0x52, 0x81, 0x04, 0x31, 0x06, 0xc8, 0x6e, 0x63, 0x65, 0x85,
+ 0x01, 0x42, 0xd4, 0xec, 0xb7, 0xc1, 0x43, 0xcd, 0xd1, 0x85, 0xa8, 0xd8,
+ 0x77, 0x41, 0x4f, 0x90, 0xef, 0xc9, 0x5c, 0x39, 0x7a, 0xff, 0x36, 0x44,
+ 0x8d, 0x42, 0xb0, 0x0d, 0x6a, 0xf9, 0x81, 0xb1, 0x96, 0x9a, 0x9f, 0x2c,
+ 0x1e, 0x25, 0x0e, 0xf9, 0x9c, 0xf6, 0x12, 0x17, 0x21, 0x54, 0x68, 0x54,
+ 0x42, 0xc1, 0xc4, 0xd5, 0xcd, 0xd9, 0x48, 0xa3, 0x75, 0xef, 0x1f, 0x93,
+ 0xa7, 0x0b, 0x71, 0xe1, 0x05, 0xfb, 0xc8, 0x72, 0xca, 0x06, 0x98, 0x91,
+ 0x57, 0x33, 0x12, 0xab, 0x4b, 0x22, 0x22, 0x16, 0x01, 0xa6, 0xff, 0xf0,
+ 0x22, 0x96, 0xec, 0xf8, 0xe9, 0x7b, 0x91, 0xca, 0x81, 0x96, 0x07, 0x5f,
+ 0xdd, 0xdc, 0xf2, 0x5a, 0xe5, 0x97, 0xcd, 0xfc, 0x23, 0x2a, 0xf7, 0x7e,
+ 0x24, 0xac, 0x1f, 0xd6, 0x4c, 0x7d, 0xee, 0xf8, 0x01, 0x66, 0x96, 0x73,
+ 0x3b, 0x17, 0x73, 0x6a, 0x07, 0x9b, 0x7c, 0x5a, 0xb2, 0x41, 0xf3, 0xd0,
+ 0x30, 0xda, 0xa8, 0x3a, 0x9f, 0x43, 0x60, 0xb3, 0x5d, 0x06, 0xe7, 0x69,
+ 0xd0, 0x31, 0x0a, 0xe2, 0x7f, 0x44, 0xf4, 0xcf, 0x6e, 0x26, 0x73, 0xdd,
+ 0x64, 0x55, 0x3e, 0xf6, 0x6b, 0xc2, 0xe1, 0x01, 0x6c, 0x29, 0x26, 0x47,
+ 0xa3, 0x70, 0x60, 0x94, 0x05, 0xb2, 0xf3, 0x7f, 0xf0, 0x8e, 0x4a, 0x09,
+ 0x3c, 0x72, 0xfb, 0x59, 0xd0, 0x58, 0x22, 0xf1, 0x5a, 0x42, 0x27, 0xb8,
+ 0x28, 0xee, 0xf1, 0x03, 0xe3, 0x04, 0xcd, 0xec, 0x1e, 0xd3, 0xf5, 0x4c,
+ 0xf3, 0xb4, 0xb6, 0x1d, 0xe4, 0x11, 0xd8, 0xe2, 0xcb, 0x1c, 0x20, 0xb9,
+ 0x0e, 0x98, 0x3c, 0xc3, 0x73, 0xc8, 0x30, 0x1e, 0xba, 0xf5, 0x07, 0x4b,
+ 0x66, 0x86, 0xe1, 0x97, 0x22, 0x03, 0xdc, 0xd4, 0xf0, 0x94, 0x88, 0x9e,
+ 0xd3, 0x9d, 0x94, 0x18, 0x6e, 0x30, 0xe9, 0x62, 0xe2, 0x95, 0x1c, 0x67,
+ 0x93, 0x5d, 0xdb, 0xa9, 0xb0, 0x86, 0x6f, 0x09, 0x36, 0x4c, 0x75, 0x24,
+ 0xe5, 0xd3, 0x79, 0xa8, 0x39, 0x88, 0xa1, 0xce, 0x82, 0xef, 0x2d, 0x5b,
+ 0x70, 0x55, 0x68, 0x65, 0x58, 0xf4, 0x33, 0xeb, 0xd4, 0xf0, 0x07, 0x95,
+ 0x58, 0x19, 0x34, 0xbd, 0x4f, 0xa2, 0x4c, 0xc3, 0x9d, 0xff, 0xf3, 0x3f,
+ 0xff, 0x6c, 0x27, 0x72, 0x10, 0x80, 0xc6, 0xfc, 0x98, 0xcf, 0x3d, 0xe1,
+ 0xe5, 0x15, 0xd4, 0xb6, 0x08, 0x2f, 0x06, 0x6d, 0xd2, 0x89, 0xf0, 0x60,
+ 0x5f, 0x74, 0xca, 0x1f, 0x9a, 0x86, 0x31, 0x52, 0x38, 0x13, 0x36, 0x9d,
+ 0xbd, 0x3c, 0xdb, 0xbe, 0x6a, 0x49, 0x62, 0x48, 0x1f, 0x9f, 0xa1, 0x58,
+ 0xf8, 0xea, 0xe6, 0xe0, 0x42, 0xf2, 0x87, 0xb4, 0xf7, 0x62, 0xe9, 0x90,
+ 0x60, 0x87, 0xe8, 0x90, 0xb8, 0xfb, 0x3e, 0xdb, 0xb8, 0xe0, 0xeb, 0x19,
+ 0xc0, 0xd2, 0xee, 0xe6, 0xea, 0x3e, 0x78, 0x63, 0x78, 0xb0, 0x27, 0xe6,
+ 0x5b, 0x1f, 0x2d, 0x5b, 0xad, 0xb9, 0xa6, 0xf9, 0xd3, 0xf4, 0x6d, 0xa3,
+ 0x17, 0x38, 0x1e, 0x5b, 0x14, 0xd2, 0x95, 0x9d, 0xca, 0x5d, 0x89, 0xeb,
+ 0xb3, 0x49, 0x44, 0xbd, 0xed, 0xec, 0xaf, 0x27, 0xd1, 0x3e, 0x68, 0x55,
+ 0xbe, 0xda, 0xf6, 0xc1, 0x74, 0xc1, 0xfd, 0x50, 0xf6, 0x17, 0x5d, 0x82,
+ 0xe6, 0xd8, 0x48, 0xad, 0x4c, 0x65, 0x62, 0xfa, 0x75, 0xfb, 0x3c, 0xec,
+ 0x07, 0x0e, 0xd3, 0xc7, 0xba, 0x9e, 0xd2, 0x66, 0xcf, 0x2f, 0xef, 0x4d,
+ 0xa7, 0xea, 0xa5, 0x59, 0xf6, 0xfe, 0x5d, 0xca, 0xcf, 0xe9, 0x82, 0x79,
+ 0x96, 0xe5, 0x46, 0x0d, 0xe7, 0xdf, 0x3c, 0x23, 0x34, 0x03, 0x33, 0xa5,
+ 0x3e, 0x30, 0x63, 0x20, 0x52, 0xc5, 0xe7, 0x5d, 0x40, 0x4c, 0x64, 0xa8,
+ 0xd5, 0x1b, 0x06, 0x54, 0xa4, 0x16, 0x46, 0xd3, 0x83, 0x83, 0x6f, 0xb5,
+ 0x44, 0x8d, 0xb8, 0x18, 0x70, 0x7b, 0x42, 0x28, 0xb3, 0x2b, 0x98, 0x10,
+ 0x9d, 0xff, 0x8f, 0x2c, 0x56, 0x10, 0xb8, 0xd5, 0x32, 0xb4, 0xb6, 0xd4,
+ 0x72, 0x2a, 0xbb, 0x43, 0x43, 0xaf, 0xfd, 0x13, 0xba, 0x17, 0xa7, 0x11,
+ 0x22, 0xd8, 0x24, 0x44, 0x2e, 0x70, 0xe1, 0x0f, 0x80, 0x5a, 0xdd, 0x62,
+ 0x6f, 0x96, 0x92, 0xa2, 0xc7, 0xe5, 0x91, 0xf1, 0x8b, 0xe5, 0xbe, 0x48,
+ 0xeb, 0xeb, 0xcb, 0x9a, 0x2d, 0x8b, 0xe5, 0x51, 0xad, 0x4d, 0x20, 0x0b,
+ 0x60, 0xf2, 0xc2, 0x1d, 0x30, 0x26, 0x8e, 0x7c, 0xe0, 0x76, 0xd2, 0x87,
+ 0xb6, 0x8d, 0xb0, 0xe4, 0x71, 0xed, 0x18, 0x98, 0x3a, 0x57, 0x20, 0x39,
+ 0x29, 0x3b, 0x5b, 0xc9, 0xdc, 0x2f, 0x91, 0x99, 0xa3, 0x7b, 0xd5, 0x0a,
+ 0xad, 0x0b, 0x77, 0xd5, 0xb6, 0x45, 0xd7, 0x3f, 0x7d, 0xc0, 0x97, 0x08,
+ 0xa9, 0x8e, 0x1c, 0x7a, 0xe8, 0x8e, 0x8c, 0x8a, 0x06, 0x19, 0x83, 0x4a,
+ 0x29, 0x6f, 0x0c, 0xcb, 0xa4, 0xd4, 0xef, 0x25, 0xa4, 0x04, 0x4c, 0xd8,
+ 0xb2, 0xe9, 0x80, 0x2e, 0x93, 0x5f, 0x6c, 0xd6, 0x8e, 0x50, 0x92, 0xb2,
+ 0x8f, 0x26, 0xd6, 0xb3, 0xbe, 0x15, 0xe3, 0x9c, 0xe9, 0x6a, 0x74, 0x66,
+ 0x07, 0xfb, 0x97, 0x16, 0xe2, 0xb6, 0x0f, 0x9e, 0x0d, 0x22, 0xed, 0xf9,
+ 0x68, 0x99, 0xcd, 0x39, 0xc2, 0x81, 0x72, 0xbe, 0xe9, 0xcc, 0x5c, 0xeb,
+ 0x10, 0x06, 0x4c, 0xbf, 0xc4, 0xe7, 0x97, 0x24, 0x97, 0x3e, 0x1d, 0x71,
+ 0x66, 0xa1, 0x35, 0x0d, 0x96, 0xae, 0x6a, 0x4d, 0x93, 0xae, 0x6c, 0x53,
+ 0x88, 0x39, 0x3e, 0x70, 0xd2, 0x88, 0x4b, 0x21, 0xfa, 0x45, 0x3d, 0xc4,
+ 0x32, 0xa7, 0xfc, 0xc9, 0x15, 0x23, 0xf0, 0x4c, 0xe7, 0xd5, 0x5f, 0xf4,
+ 0x45, 0x44, 0xfc, 0xd3, 0x82, 0xa6, 0x4e, 0x1e, 0x37, 0x75, 0x4b, 0x21,
+ 0xeb, 0x20, 0x75, 0x77, 0xeb, 0x40, 0x6d, 0xa5, 0x14, 0x71, 0xbf, 0xf2,
+ 0x68, 0xe7, 0xb9, 0x14, 0x80, 0x33, 0x6f, 0x8c, 0xec, 0xac, 0x17, 0x15,
+ 0x17, 0x5b, 0x7e, 0x58, 0xdd, 0x53, 0x0f, 0x8e, 0x6d, 0x8f, 0x68, 0xb6,
+ 0xda, 0x7c, 0xf8, 0x4b, 0x7a, 0x65, 0x87, 0x88, 0xc9, 0xd5, 0x6e, 0x29,
+ 0x8e, 0xfc, 0x37, 0xea, 0x15, 0xb7, 0xf6, 0x98, 0x3e, 0xfd, 0xb3, 0xf7,
+ 0x5a, 0xf7, 0x26, 0x63, 0xce, 0x6f, 0xbd, 0x61, 0x1e, 0x25, 0xec, 0x57,
+ 0x5f, 0x65, 0xad, 0xdb, 0xea, 0xe1, 0x33, 0xbb, 0xec, 0x2a, 0xdb, 0x8d,
+ 0x89, 0x10, 0x92, 0x0e, 0x1f, 0xd3, 0xf9, 0x5c, 0xc4, 0xce, 0xc3, 0x63,
+ 0x67, 0x22, 0x23, 0x2e, 0x5d, 0x47, 0xc5, 0x13, 0xa4, 0xe8, 0x7c, 0x53,
+ 0x96, 0x9f, 0x12, 0x81, 0x96, 0x30, 0xc0, 0x8a, 0x42, 0x99, 0xab, 0x9b,
+ 0xe3, 0x22, 0xe7, 0xfc, 0x38, 0xd1, 0x56, 0x0f, 0x87, 0x6f, 0xb7, 0xb3,
+ 0x66, 0x6c, 0x65, 0xe0, 0xb6, 0x03, 0x4d, 0xb1, 0x59, 0xf6, 0xd0, 0xcd,
+ 0x04, 0x21, 0x8c, 0x1a, 0x36, 0x34, 0x0f, 0xd6, 0xc5, 0xf8, 0xd8, 0x69,
+ 0x68, 0x5b, 0x28, 0xbf, 0xd3, 0x40, 0x89, 0x08, 0x32, 0xb1, 0x5f, 0xe2,
+ 0x3a, 0xc9, 0x59, 0xab, 0xef, 0x9b, 0x0f, 0xed, 0x73, 0x31, 0x6e, 0xda,
+ 0x63, 0x8c, 0x8e, 0x88, 0xec, 0x6e, 0x42, 0x4b, 0x2c, 0xe6, 0xff, 0x07,
+ 0x16, 0x16, 0x99, 0x05, 0x2e, 0x16, 0x07, 0x74, 0xc9, 0xc3, 0x5d, 0x9e,
+ 0x93, 0x89, 0xcb, 0x56, 0xec, 0xc3, 0x7d, 0x96, 0x4e, 0x43, 0xe1, 0x8d,
+ 0x74, 0x1b, 0xbd, 0x66, 0xac, 0xed, 0x2f, 0xe8, 0x33, 0x67, 0xd7, 0x49,
+ 0x1f, 0xd0, 0x65, 0xb8, 0x0c, 0x85, 0x04, 0x13, 0x28, 0xe8, 0xab, 0xbc,
+ 0x78, 0x8c, 0xef, 0xc7, 0x42, 0x1c, 0x18, 0x33, 0x90, 0xf5, 0x6d, 0xab,
+ 0x92, 0xd9, 0xc5, 0x51, 0x0c, 0x4a, 0xef, 0x7f, 0x50, 0x4c, 0xa4, 0x42,
+ 0x43, 0x49, 0xa2, 0xc2, 0xf3, 0x87, 0x8e, 0xd5, 0x63, 0x41, 0x20, 0x88,
+ 0x7c, 0xbc, 0xa0, 0xb4, 0xe6, 0x48, 0x45, 0xc6, 0xc0, 0xcb, 0x61, 0x74,
+ 0x00, 0x4e, 0x67, 0xb8, 0xa1, 0x98, 0xe6, 0x92, 0xb5, 0xb0, 0xba, 0xde,
+ 0x92, 0x0d, 0x92, 0x37, 0x32, 0xcf, 0x44, 0xca, 0x3a, 0x9d, 0x5a, 0xdd,
+ 0xf0, 0x41, 0x31, 0x65, 0x44, 0xdc, 0xbc, 0xf6, 0x52, 0x64, 0xb1, 0x4d,
+ 0x78, 0xa3, 0xf6, 0xf4, 0x70, 0xf4, 0x92, 0x47, 0x6f, 0x05, 0xa1, 0xa3,
+ 0x93, 0xb9, 0xf5, 0x68, 0xf5, 0xc8, 0x2a, 0x62, 0x82, 0x4d, 0xfa, 0x65,
+ 0x3a, 0x56, 0x75, 0xff, 0xa1, 0xde, 0xa5, 0x5c, 0x89, 0xa5, 0x3d, 0x09,
+ 0x8c, 0xc1, 0x68, 0x5d, 0x32, 0x0c, 0x2d, 0x79, 0x8c, 0x88, 0xe7, 0x8c,
+ 0x67, 0x86, 0x06, 0x6b, 0xa6, 0x94, 0x3f, 0x5f, 0xf5, 0xe0, 0xf1, 0x5a,
+ 0x69, 0xd4, 0x48, 0x43, 0x5f, 0xd1, 0xf3, 0xc7, 0x1f, 0x9f, 0xdf, 0x47,
+ 0xc4, 0x31, 0xc6, 0x87, 0x34, 0x95, 0xc8, 0xe1, 0x19, 0x65, 0x8f, 0x35,
+ 0x90, 0x89, 0xf1, 0xb1, 0x73, 0x8c, 0xba, 0x02, 0x42, 0x11, 0x6d, 0xd3,
+ 0xba, 0x7c, 0x58, 0x33, 0x90, 0x15, 0x68, 0xa1, 0x7f, 0x89, 0x7e, 0x96,
+ 0x09, 0x68, 0xc9, 0xc2, 0x9c, 0xd2, 0xf1, 0xe1, 0xb0, 0xc0, 0x83, 0x1e,
+ 0x27, 0x2a, 0x64, 0x1b, 0x5d, 0x02, 0xd1, 0x15, 0x5b, 0xfa, 0x5b, 0x38,
+ 0xcf, 0x9a, 0xd8, 0x2a, 0x99, 0xe6, 0x80, 0x27, 0x3e, 0x66, 0x1b, 0x91,
+ 0x37, 0x2c, 0x72, 0x5a, 0x41, 0xeb, 0xab, 0xaa, 0x3a, 0x7f, 0xd9, 0xa6,
+ 0x60, 0xc0, 0xa3, 0x46, 0xa9, 0x50, 0x60, 0xb0, 0x24, 0x83, 0x5f, 0xb9,
+ 0x10, 0x60, 0x9b, 0x90, 0x96, 0xd1, 0x7f, 0xc8, 0x17, 0xab, 0x5e, 0x6b,
+ 0x02, 0xe0, 0x21, 0x3d, 0x77, 0x3a, 0xf1, 0x0a, 0x70, 0x8a, 0xa1, 0x6a,
+ 0x89, 0x68, 0xf7, 0x57, 0x37, 0xa7, 0x14, 0xd6, 0xbf, 0x23, 0x83, 0xd9,
+ 0x5d, 0x6a, 0x4e, 0x41, 0x14, 0x94, 0x5e, 0xa7, 0xb8, 0x88, 0x6c, 0x62,
+ 0xa8, 0x75, 0xaa, 0xb7, 0xcb, 0xbe, 0xb5, 0xab, 0xba, 0xd4, 0x4d, 0x19,
+ 0xe4, 0xf2, 0x90, 0xb2, 0x47, 0x31, 0x47, 0xdc, 0x16, 0xc6, 0xca, 0x4a,
+ 0x39, 0x25, 0xaf, 0x30, 0x22, 0xa1, 0x61, 0xef, 0xb3, 0xf8, 0xea, 0xa9,
+ 0x2b, 0xf9, 0x68, 0xd1, 0x20, 0x4c, 0xed, 0x98, 0xd1, 0x22, 0xa0, 0x74,
+ 0x49, 0x16, 0xc3, 0xd7, 0xac, 0xff, 0xf3, 0x6e, 0x72, 0x35, 0x28, 0xab,
+ 0x9c, 0x6e, 0x1c, 0x60, 0xee, 0xb4, 0x35, 0xda, 0xfa, 0x3d, 0xc8, 0x13,
+ 0xb2, 0x29, 0x62, 0xcd, 0x49, 0xe4, 0x25, 0x51, 0x9a, 0xb3, 0x76, 0xbb,
+ 0x33, 0x6c, 0x56, 0x04, 0x60, 0x6c, 0x9b, 0xae, 0xbc, 0x5f, 0x2c, 0x42,
+ 0x29, 0x59, 0x36, 0x89, 0xab, 0x77, 0xa6, 0x98, 0x01, 0x3b, 0x64, 0x37,
+ 0x56, 0x8a, 0x8d, 0xdd, 0xa6, 0x15, 0xf2, 0x45, 0x03, 0x0f, 0x45, 0x5e,
+ 0xd7, 0x0b, 0x2c, 0xd8, 0x9b, 0xe3, 0x93, 0x23, 0x0b, 0x0a, 0xfa, 0xdf,
+ 0xdb, 0x03, 0x9a, 0xf0, 0x6a, 0x1c, 0x40, 0xa0, 0x38, 0x51, 0xcb, 0xcb,
+ 0xba, 0x93, 0x4c, 0xae, 0x6f, 0x7b, 0x5c, 0x1b, 0x0a, 0x3f, 0x6e, 0xa5,
+ 0x71, 0x1d, 0xbd, 0xff, 0xee, 0xf8, 0xfc, 0xf4, 0xfd, 0xbb, 0xa3, 0xf7,
+ 0xd6, 0xdb, 0x4b, 0x87, 0x22, 0xc6, 0x7b, 0x5c, 0x87, 0x41, 0xdf, 0x9c,
+ 0xe2, 0x05, 0xb7, 0xc8, 0xb4, 0x61, 0xf6, 0x71, 0x33, 0x4e, 0xf9, 0xd7,
+ 0xc0, 0x6f, 0xce, 0x7b, 0x48, 0x3d, 0xbe, 0x14, 0x87, 0x9f, 0x93, 0xbd,
+ 0x3f, 0xa1, 0xd0, 0xdb, 0x80, 0x7d, 0xc4, 0xb6, 0xb6, 0x1e, 0x51, 0x2f,
+ 0xdf, 0x8d, 0x33, 0xa9, 0x2d, 0x4c, 0x09, 0x1a, 0x6b, 0x76, 0x4a, 0x38,
+ 0x4a, 0xe4, 0x82, 0x69, 0xad, 0x4e, 0xb8, 0xcd, 0xfd, 0x81, 0x13, 0x09,
+ 0xe3, 0x1c, 0xce, 0x0c, 0x00, 0x6f, 0x5c, 0x6d, 0x5e, 0xce, 0xf6, 0x54,
+ 0xe7, 0xbc, 0xd2, 0xae, 0x7b, 0x10, 0x3a, 0x97, 0x85, 0xeb, 0x97, 0x01,
+ 0xec, 0xc6, 0xfd, 0xbc, 0x51, 0xfc, 0xa8, 0x2e, 0x84, 0xfd, 0xed, 0xed,
+ 0x9f, 0x51, 0x81, 0xf2, 0x4b, 0x29, 0x41, 0x19, 0x52, 0xab, 0xd5, 0x5e,
+ 0x47, 0x44, 0xe4, 0x7a, 0x29, 0x3c, 0xb4, 0x6f, 0xed, 0x74, 0xc2, 0x39,
+ 0xf8, 0xf1, 0xec, 0xfc, 0xf4, 0x87, 0xbf, 0xfe, 0xc6, 0x9f, 0xf0, 0xb0,
+ 0x3a, 0x3f, 0x12, 0x84, 0x4d, 0x1b, 0xff, 0xf9, 0x57, 0x7d, 0x6d, 0xe5,
+ 0xe7, 0xda, 0xed, 0xf7, 0xda, 0x85, 0x92, 0x83, 0x04, 0x25, 0x64, 0x48,
+ 0x72, 0x5d, 0x08, 0xcd, 0x97, 0x74, 0x56, 0xaf, 0x05, 0xd0, 0xf0, 0x0d,
+ 0x57, 0xfb, 0x24, 0x10, 0x50, 0x77, 0xd3, 0x90, 0x4e, 0x72, 0xc0, 0x69,
+ 0x7b, 0x0e, 0x00, 0xa9, 0xa9, 0x9b, 0x94, 0x9e, 0xc9, 0x09, 0x9c, 0x00,
+ 0xf4, 0xd9, 0xf9, 0x38, 0x38, 0x39, 0xf9, 0xf5, 0x93, 0xa0, 0x95, 0x44,
+ 0xdb, 0xd3, 0x80, 0x42, 0x7e, 0x76, 0x40, 0x7d, 0xab, 0xa5, 0xea, 0x11,
+ 0x58, 0xc5, 0x70, 0xf7, 0xfe, 0x54, 0x7a, 0xf3, 0x12, 0xea, 0x71, 0xbf,
+ 0xce, 0x8c, 0x52, 0x4b, 0x85, 0xd3, 0x2d, 0x5d, 0x27, 0x75, 0x2c, 0x60,
+ 0x0d, 0xf5, 0x7f, 0xc9, 0x60, 0x34, 0x9e, 0x47, 0xce, 0x25, 0x02, 0xda,
+ 0xbb, 0xb4, 0xa4, 0x1f, 0x5c, 0x49, 0x54, 0x4a, 0xca, 0x5e, 0x26, 0x91,
+ 0x52, 0x85, 0x9c, 0x7a, 0x4d, 0xf7, 0x6c, 0x95, 0xd7, 0x9f, 0x80, 0x85,
+ 0xa7, 0x93, 0x09, 0x6d, 0x57, 0x93, 0x63, 0x49, 0xd9, 0x45, 0x5f, 0x96,
+ 0x50, 0x6d, 0xfb, 0x67, 0xd3, 0xf3, 0xb9, 0x4a, 0xd2, 0xaa, 0x2d, 0x61,
+ 0xea, 0xf6, 0x12, 0x25, 0x97, 0xc3, 0xb7, 0x1b, 0x3a, 0x4c, 0x74, 0xd1,
+ 0x25, 0xe8, 0xcb, 0x73, 0x8f, 0xd3, 0x9a, 0xd8, 0xc2, 0x13, 0x5e, 0xac,
+ 0x9e, 0x3b, 0x91, 0x36, 0x2c, 0x54, 0x02, 0xb4, 0x01, 0xcf, 0xf0, 0x2b,
+ 0xd6, 0x3b, 0xfd, 0xd4, 0x74, 0x8b, 0x24, 0xea, 0xdf, 0x25, 0x9a, 0x14,
+ 0xcf, 0x13, 0xe5, 0xa7, 0xc5, 0x87, 0x01, 0x30, 0xf3, 0x58, 0xa4, 0xb1,
+ 0x14, 0x2e, 0x08, 0x01, 0x77, 0x37, 0x04, 0x45, 0x6c, 0x70, 0xbd, 0xf1,
+ 0xa3, 0x60, 0x8f, 0x08, 0x11, 0xdd, 0xbf, 0x4f, 0xef, 0xc8, 0x07, 0xca,
+ 0xa4, 0x08, 0x8f, 0xe9, 0xa0, 0x23, 0x87, 0xc9, 0x62, 0x51, 0x90, 0x38,
+ 0x8e, 0x06, 0x3b, 0x10, 0xc1, 0x35, 0x57, 0x40, 0xb7, 0x9b, 0x38, 0xeb,
+ 0xd2, 0xd8, 0xbc, 0xd0, 0xe7, 0x71, 0x17, 0xb4, 0x28, 0x2e, 0xf0, 0x4c,
+ 0x68, 0xc1, 0x04, 0x8c, 0x6d, 0x31, 0xd2, 0xb2, 0xa7, 0x13, 0x61, 0x2b,
+ 0xa5, 0x56, 0x85, 0xa1, 0x43, 0xa2, 0x0c, 0x41, 0x7a, 0xee, 0x78, 0x5a,
+ 0x42, 0xc2, 0x8f, 0x08, 0xe6, 0x9b, 0x61, 0xc3, 0xf2, 0x19, 0x33, 0xff,
+ 0xbd, 0x38, 0x3d, 0x3c, 0x3d, 0x31, 0x7f, 0x39, 0x7a, 0x73, 0xfc, 0x83,
+ 0xbb, 0x86, 0x39, 0xed, 0xda, 0xe5, 0xd2, 0x70, 0x20, 0x53, 0x6b, 0xe3,
+ 0xfa, 0xf2, 0x8f, 0xb1, 0x58, 0x01, 0xa7, 0x07, 0x83, 0xad, 0xd6, 0xdc,
+ 0xb4, 0xa9, 0x60, 0x91, 0xf2, 0xb6, 0xad, 0x52, 0xb5, 0x42, 0x28, 0x42,
+ 0x6a, 0x2b, 0xb7, 0x6a, 0xb1, 0xdf, 0x6e, 0xaa, 0x8f, 0x5b, 0x32, 0x05,
+ 0xaa, 0x8c, 0x7f, 0x55, 0xb7, 0xa5, 0x11, 0x77, 0x0a, 0x41, 0xf1, 0xfc,
+ 0xd2, 0xda, 0x2f, 0x7e, 0x59, 0x4e, 0xcd, 0x01, 0x11, 0x1a, 0x74, 0x8a,
+ 0x0f, 0x3b, 0x5e, 0x42, 0x52, 0x2b, 0x7b, 0xde, 0x20, 0x55, 0xc3, 0x6c,
+ 0xaa, 0x0c, 0x92, 0x08, 0x48, 0x93, 0x56, 0xee, 0x7a, 0x67, 0x5f, 0xd0,
+ 0x86, 0x70, 0xcd, 0xb5, 0xc7, 0x24, 0x13, 0x20, 0x88, 0x26, 0x44, 0xba,
+ 0x49, 0x73, 0xf6, 0x88, 0x2b, 0x64, 0xcf, 0x46, 0xd3, 0x9b, 0x38, 0xad,
+ 0x82, 0xfe, 0x70, 0x9d, 0x50, 0x59, 0x76, 0xe1, 0x95, 0x03, 0x65, 0x11,
+ 0xac, 0xb1, 0x01, 0x72, 0x3b, 0x04, 0xda, 0xdc, 0x9d, 0x6a, 0xd7, 0xed,
+ 0x2b, 0xbe, 0x5e, 0xf1, 0xe9, 0x70, 0x02, 0x02, 0x94, 0x28, 0xd7, 0xc3,
+ 0x5d, 0xd5, 0x06, 0xa9, 0x60, 0x7f, 0x5f, 0xe4, 0x37, 0x29, 0x72, 0x61,
+ 0xa8, 0x88, 0xb3, 0x14, 0xd1, 0xed, 0xb4, 0x91, 0xfe, 0xaa, 0x46, 0xd2,
+ 0x76, 0x2b, 0xcf, 0x7e, 0x4d, 0x23, 0xcf, 0x3a, 0x6d, 0x5c, 0xff, 0xaa,
+ 0x46, 0xfa, 0x5a, 0x9d, 0xdd, 0x68, 0xa2, 0x3f, 0x1c, 0x5f, 0x24, 0x87,
+ 0xa7, 0xaf, 0xdd, 0x01, 0xbb, 0x80, 0x56, 0x80, 0x2d, 0x40, 0x7b, 0x6f,
+ 0xb4, 0x28, 0x68, 0x17, 0x92, 0xf4, 0xe0, 0x12, 0x7c, 0xd4, 0x16, 0x70,
+ 0xa8, 0x00, 0x46, 0xd4, 0x9a, 0x66, 0x93, 0x57, 0xcc, 0xb2, 0x41, 0x60,
+ 0x07, 0x9f, 0xb7, 0x90, 0x1f, 0x9d, 0x11, 0x81, 0xc7, 0x95, 0x5e, 0x7d,
+ 0x74, 0x26, 0x89, 0xc5, 0x29, 0xad, 0x34, 0x09, 0x6e, 0x94, 0x12, 0x49,
+ 0x47, 0xc1, 0xd9, 0x5c, 0x04, 0xa3, 0x6f, 0x5a, 0x56, 0xb1, 0xe3, 0xfc,
+ 0x08, 0xe8, 0x35, 0x8d, 0xc6, 0x9a, 0x37, 0xda, 0x15, 0x1f, 0xe0, 0xb5,
+ 0xab, 0x00, 0xe5, 0xd6, 0x76, 0x97, 0xb2, 0x28, 0xb8, 0x07, 0x09, 0x89,
+ 0x0a, 0x6e, 0x1f, 0x08, 0x13, 0x52, 0x45, 0x0b, 0x07, 0x34, 0xe6, 0xca,
+ 0x88, 0xc1, 0x15, 0x65, 0x9b, 0xb0, 0xdf, 0xd9, 0xe3, 0x3f, 0xde, 0x18,
+ 0xc5, 0x98, 0xf1, 0x28, 0x02, 0xf7, 0xc9, 0xff, 0xe1, 0xa9, 0xc5, 0x4f,
+ 0xac, 0x16, 0x64, 0x06, 0x3f, 0x45, 0xcd, 0xc1, 0x09, 0x1f, 0x8b, 0xfa,
+ 0xbe, 0x68, 0xd2, 0x3b, 0x98, 0xc1, 0x64, 0xb3, 0x08, 0x53, 0x89, 0x7b,
+ 0xf3, 0xa9, 0xe8, 0x42, 0x96, 0x11, 0xa5, 0xac, 0xac, 0x15, 0xe8, 0xd0,
+ 0x1b, 0xbe, 0xa7, 0xc0, 0xa6, 0x76, 0x62, 0x02, 0xcd, 0xbc, 0x50, 0x1d,
+ 0xc4, 0xb5, 0x68, 0x74, 0x5d, 0xdf, 0x36, 0x1f, 0x4e, 0x34, 0x55, 0x94,
+ 0x3e, 0x80, 0xd8, 0x9a, 0x2b, 0x72, 0x63, 0xd9, 0x2c, 0xcc, 0xf7, 0x30,
+ 0x69, 0xfd, 0x68, 0x39, 0x88, 0x0b, 0x3f, 0x79, 0x4c, 0xf5, 0xfd, 0x49,
+ 0x89, 0x69, 0xec, 0x71, 0x41, 0x1d, 0xaa, 0xc9, 0x6a, 0x7e, 0x73, 0xaf,
+ 0xa5, 0x75, 0xd2, 0x02, 0x79, 0x52, 0x5d, 0xb8, 0xa6, 0x2e, 0x8c, 0x24,
+ 0x91, 0xb8, 0x8c, 0x8d, 0x67, 0xfc, 0xc7, 0xa1, 0xaa, 0x4e, 0xae, 0x40,
+ 0xbc, 0x6a, 0x4d, 0xb8, 0xf1, 0xe4, 0xd6, 0x11, 0xa1, 0xcb, 0xb7, 0xde,
+ 0x18, 0x57, 0x13, 0x23, 0xa1, 0x83, 0xd9, 0xa8, 0x3b, 0x6e, 0xc6, 0xe7,
+ 0x9d, 0xef, 0xe8, 0x67, 0x98, 0xb8, 0xe4, 0xc2, 0x12, 0xa8, 0x74, 0x9d,
+ 0xfa, 0xd4, 0x7c, 0xd8, 0xda, 0x67, 0xdd, 0x2d, 0xa2, 0x0e, 0x76, 0xa2,
+ 0xb7, 0x2b, 0xfd, 0x50, 0xdb, 0xe7, 0xe2, 0x0c, 0xc8, 0x28, 0xe9, 0x4a,
+ 0x54, 0xd7, 0x2a, 0x9b, 0x4f, 0x45, 0x86, 0xca, 0x4f, 0x10, 0xcf, 0x83,
+ 0x41, 0x8f, 0xa9, 0x1e, 0x6b, 0x2f, 0x8d, 0x3e, 0xea, 0xdb, 0x62, 0x2f,
+ 0xe4, 0xb3, 0x46, 0x0e, 0xb3, 0x3e, 0x61, 0x36, 0x43, 0x91, 0xdb, 0x8d,
+ 0x27, 0xe5, 0x3a, 0xf1, 0x23, 0x02, 0xa0, 0x99, 0xbb, 0xaa, 0xb4, 0xff,
+ 0xd6, 0x37, 0x42, 0x3e, 0x27, 0xbe, 0xce, 0x9c, 0x3b, 0x17, 0xe3, 0x5d,
+ 0x54, 0x9c, 0x76, 0xe8, 0x58, 0xcc, 0x00, 0xf0, 0x4d, 0x8b, 0x86, 0x07,
+ 0x5c, 0x11, 0xf3, 0xd4, 0x20, 0x79, 0x17, 0xe2, 0x7a, 0xca, 0xcb, 0x46,
+ 0x32, 0x87, 0x09, 0x3a, 0xc6, 0xb3, 0x73, 0x9d, 0x16, 0x57, 0x19, 0xfb,
+ 0x3e, 0x3c, 0x12, 0x36, 0x2e, 0xf6, 0x22, 0x97, 0xa3, 0x39, 0xf5, 0x50,
+ 0x6a, 0x8a, 0x48, 0xef, 0xba, 0xbc, 0xbf, 0xbb, 0x3b, 0x76, 0x1e, 0x30,
+ 0xac, 0x79, 0x03, 0x78, 0x3d, 0x4d, 0xc4, 0xf7, 0x20, 0xde, 0xba, 0x4d,
+ 0xb9, 0xd4, 0x9b, 0x56, 0x43, 0x75, 0x36, 0x83, 0x2e, 0x14, 0xe5, 0xd4,
+ 0x84, 0x58, 0x56, 0xc0, 0x2a, 0x52, 0xf6, 0x6a, 0x31, 0x16, 0x8f, 0xd3,
+ 0xb3, 0xe4, 0xf6, 0xea, 0xc1, 0x0e, 0xb6, 0xa2, 0x92, 0xa3, 0x5f, 0xd0,
+ 0xb9, 0x09, 0xd9, 0xbf, 0xc4, 0x25, 0x42, 0xec, 0x2c, 0x5e, 0x90, 0x9d,
+ 0x30, 0xfc, 0x4c, 0x07, 0xea, 0x8d, 0x67, 0xd7, 0x8d, 0xe7, 0x16, 0x3b,
+ 0xe5, 0xec, 0x60, 0x38, 0xd4, 0x7d, 0x72, 0x18, 0x6e, 0x09, 0x89, 0xe1,
+ 0x80, 0x28, 0x42, 0xb2, 0x3c, 0x43, 0x05, 0x52, 0xda, 0xe8, 0xc4, 0x7e,
+ 0x77, 0x59, 0xbc, 0xbd, 0x66, 0x31, 0x1d, 0x1f, 0xee, 0x6d, 0x6b, 0x12,
+ 0xd9, 0x89, 0xdc, 0x61, 0x31, 0x88, 0x17, 0xda, 0xc6, 0xb4, 0x62, 0x9a,
+ 0x91, 0x4e, 0xa9, 0x34, 0xca, 0xe4, 0x8b, 0x35, 0xd2, 0xa7, 0x5d, 0xbe,
+ 0x75, 0xf7, 0x49, 0x64, 0xd0, 0xdf, 0xf1, 0xa8, 0x7a, 0xff, 0xcc, 0xa0,
+ 0xbf, 0x8b, 0x0c, 0xfa, 0xa9, 0xfd, 0x16, 0x7f, 0x6a, 0x6f, 0xef, 0x33,
+ 0x01, 0x9b, 0xb3, 0x93, 0x6c, 0x9a, 0xb8, 0x8f, 0xc9, 0xd7, 0x78, 0xc4,
+ 0xe6, 0xc1, 0xbe, 0xf2, 0x82, 0x66, 0x81, 0x31, 0x69, 0x0f, 0xaf, 0xf7,
+ 0xa9, 0x67, 0x6e, 0x58, 0x46, 0x21, 0xa7, 0xf6, 0x48, 0xd7, 0x67, 0x39,
+ 0x13, 0x88, 0x1f, 0xe5, 0x4e, 0x22, 0x38, 0xca, 0x2d, 0x01, 0x5b, 0x96,
+ 0x84, 0xf5, 0xb5, 0x1b, 0xde, 0x77, 0x9e, 0x5b, 0x3f, 0xc6, 0xf6, 0x1e,
+ 0x6f, 0x4a, 0xaa, 0x76, 0x22, 0x35, 0xb2, 0xb1, 0x35, 0x27, 0x59, 0x63,
+ 0xd6, 0xc4, 0xb9, 0xe0, 0x38, 0x67, 0xe8, 0xb2, 0x4a, 0xc1, 0x28, 0x8a,
+ 0xba, 0xdc, 0x83, 0x25, 0xb4, 0xb5, 0x6c, 0xc4, 0x98, 0xf3, 0x79, 0x95,
+ 0x15, 0x64, 0x3b, 0x40, 0x29, 0x10, 0xbf, 0x15, 0x39, 0x42, 0x51, 0x05,
+ 0xfd, 0xd2, 0xfa, 0x4a, 0xb5, 0x32, 0x77, 0x2f, 0x98, 0x21, 0x1e, 0x62,
+ 0x4b, 0x67, 0x88, 0x33, 0x20, 0xed, 0x7e, 0x66, 0xe7, 0xcd, 0xae, 0x04,
+ 0xb9, 0x96, 0x98, 0xe3, 0x60, 0xe0, 0x5f, 0x11, 0x22, 0x4e, 0xbc, 0x08,
+ 0x8c, 0x92, 0xe4, 0x07, 0xfb, 0x52, 0xde, 0x76, 0x5f, 0x61, 0x79, 0x7c,
+ 0x46, 0xd2, 0x4e, 0xa8, 0x25, 0x07, 0xc9, 0x29, 0x1c, 0x61, 0x2d, 0x32,
+ 0x5d, 0x4e, 0x91, 0x48, 0x5d, 0xda, 0x5b, 0x7b, 0xeb, 0xbe, 0xf0, 0xd6,
+ 0x58, 0xbb, 0xa5, 0xb0, 0x84, 0x6d, 0x11, 0xb4, 0x8e, 0x94, 0x4b, 0xdd,
+ 0xbd, 0x59, 0x72, 0x7e, 0x74, 0x71, 0x0e, 0x58, 0x15, 0x89, 0x80, 0xa0,
+ 0x52, 0x43, 0x5a, 0x6d, 0x59, 0x0a, 0x46, 0x91, 0x67, 0x4e, 0x29, 0x71,
+ 0x22, 0x82, 0x79, 0x7a, 0xec, 0x8a, 0xf3, 0x3f, 0xf5, 0x3d, 0x4e, 0x0b,
+ 0x30, 0x6b, 0xce, 0x53, 0xee, 0x22, 0x92, 0x6d, 0x06, 0xa1, 0xbd, 0x3d,
+ 0x07, 0x0f, 0x41, 0xf9, 0x3d, 0xbe, 0xe7, 0x04, 0xec, 0x3b, 0x10, 0xd4,
+ 0x81, 0xe2, 0xe3, 0x13, 0x4b, 0x9a, 0xcd, 0x9a, 0x05, 0x03, 0x66, 0x43,
+ 0x0c, 0xa6, 0xfd, 0xb8, 0xaa, 0x01, 0xaa, 0x2d, 0x7a, 0x00, 0x72, 0x7c,
+ 0xd2, 0x93, 0xa1, 0x9c, 0xc5, 0xf4, 0x74, 0x27, 0xc2, 0x0f, 0x9e, 0x8e,
+ 0x8c, 0x58, 0x15, 0xd5, 0x4e, 0xd2, 0x1d, 0xf0, 0x0a, 0x3b, 0x2e, 0xa1,
+ 0x6e, 0xd6, 0x64, 0x7d, 0xf4, 0x2f, 0xc9, 0x93, 0x48, 0x33, 0x16, 0x9a,
+ 0x19, 0x7b, 0x2c, 0x65, 0xbe, 0x47, 0xfe, 0x85, 0xcc, 0x59, 0x5b, 0xb6,
+ 0x70, 0x6a, 0x86, 0x96, 0x77, 0x4b, 0x15, 0xbf, 0x8a, 0xac, 0x46, 0x71,
+ 0x40, 0x07, 0x3d, 0x0b, 0x24, 0xf8, 0xde, 0xb3, 0xc8, 0x8e, 0x48, 0x86,
+ 0x17, 0xa7, 0xe7, 0x4a, 0x66, 0x19, 0xde, 0xd0, 0xc0, 0x72, 0xd0, 0x13,
+ 0x96, 0x2c, 0xa2, 0x17, 0x92, 0x86, 0x4c, 0x6c, 0x86, 0xb3, 0x65, 0xeb,
+ 0xf3, 0xbe, 0xca, 0x32, 0x00, 0x75, 0x61, 0x64, 0x6c, 0xdf, 0x49, 0x4a,
+ 0xb3, 0x32, 0x53, 0xea, 0xc9, 0xf4, 0x5e, 0xe2, 0x83, 0x76, 0xca, 0x27,
+ 0x98, 0x33, 0x70, 0x51, 0x27, 0x89, 0x73, 0x71, 0x89, 0xd9, 0x52, 0x70,
+ 0x8a, 0xb6, 0x14, 0x55, 0x77, 0x2f, 0xf2, 0x21, 0x3a, 0x75, 0xe4, 0xa3,
+ 0x2c, 0xe3, 0x65, 0x90, 0xce, 0x85, 0x84, 0x8a, 0x68, 0xc8, 0x5d, 0x60,
+ 0x7a, 0x4e, 0xd9, 0x43, 0xd0, 0x1d, 0x02, 0x0d, 0xd6, 0x1c, 0x9b, 0xb2,
+ 0x9a, 0x08, 0x03, 0x96, 0x5c, 0x9e, 0x6a, 0x3e, 0x38, 0xb5, 0xdb, 0xbb,
+ 0xf9, 0xcf, 0x4e, 0xcf, 0x2f, 0x12, 0x7b, 0xf1, 0xe3, 0xdb, 0xf8, 0x51,
+ 0xe7, 0x08, 0x51, 0x79, 0x00, 0x38, 0xd0, 0x1c, 0xb8, 0x3e, 0xf0, 0x0a,
+ 0x8a, 0x89, 0xd0, 0x68, 0x13, 0xda, 0x06, 0xf9, 0x1f, 0x2a, 0xc0, 0xe8,
+ 0x84, 0x68, 0xcc, 0x93, 0x39, 0x92, 0xc5, 0x42, 0x17, 0x4e, 0xbc, 0xbc,
+ 0x98, 0x53, 0x72, 0x9f, 0xec, 0x46, 0x76, 0x07, 0xd9, 0xd6, 0xe7, 0x47,
+ 0xc3, 0x0b, 0x9e, 0x35, 0xfa, 0x5b, 0xd0, 0x73, 0xce, 0x9c, 0x94, 0x1f,
+ 0x06, 0x96, 0x8b, 0xdd, 0x1d, 0x14, 0x1e, 0x34, 0xe6, 0x07, 0xda, 0xb7,
+ 0x69, 0xba, 0xde, 0x9c, 0x3d, 0xf1, 0xa0, 0x60, 0x90, 0x9c, 0xb2, 0x57,
+ 0x70, 0xc8, 0xf1, 0x83, 0x75, 0xf9, 0xc8, 0xba, 0x51, 0xcf, 0xf8, 0x50,
+ 0xb4, 0xc8, 0x86, 0x9f, 0x3c, 0xf5, 0xa4, 0x05, 0xdd, 0x56, 0xd2, 0xc0,
+ 0xb1, 0x56, 0x73, 0xa3, 0x1f, 0xf6, 0x75, 0xbb, 0xe0, 0xca, 0xe0, 0x8d,
+ 0xc1, 0xcf, 0xb9, 0x76, 0x9e, 0xd9, 0x74, 0x7c, 0x55, 0x18, 0xbc, 0xae,
+ 0xd0, 0x8f, 0x15, 0x81, 0x03, 0xe5, 0xad, 0xb3, 0xed, 0x9e, 0xf0, 0x6e,
+ 0xff, 0x3a, 0x9d, 0x38, 0x48, 0x19, 0x0f, 0xdd, 0xbb, 0x58, 0x49, 0xe3,
+ 0xca, 0x8b, 0x45, 0x06, 0x4d, 0x2d, 0xad, 0xa6, 0x44, 0x6c, 0x6e, 0xe4,
+ 0x08, 0xfb, 0x5a, 0xe8, 0xb5, 0x40, 0xea, 0x96, 0x3e, 0x8d, 0xc6, 0x13,
+ 0xb9, 0x85, 0x8e, 0x4f, 0x8e, 0xdc, 0x4a, 0x31, 0x2b, 0x3a, 0x4e, 0xb1,
+ 0xd3, 0xf8, 0xa9, 0x02, 0xab, 0xbd, 0x2a, 0x06, 0xc9, 0x19, 0x95, 0xd6,
+ 0x84, 0xf6, 0x54, 0xff, 0xbb, 0x6b, 0x8d, 0x0f, 0x0a, 0x1c, 0xe1, 0xe6,
+ 0xf2, 0x84, 0xa9, 0x92, 0x17, 0x66, 0x61, 0xf1, 0x13, 0xfa, 0xab, 0xc7,
+ 0xe0, 0x1b, 0x0c, 0xf7, 0x85, 0x7b, 0xb9, 0x36, 0x43, 0x31, 0x46, 0x7b,
+ 0xf7, 0x91, 0xa7, 0xb2, 0xaf, 0x8c, 0x45, 0x8f, 0x26, 0xe8, 0x03, 0x90,
+ 0xcd, 0x74, 0x9e, 0xa5, 0x34, 0xc2, 0x84, 0x5b, 0xb8, 0xd4, 0x67, 0xd4,
+ 0xa8, 0xe1, 0xe7, 0x5c, 0x53, 0x7c, 0x21, 0x1c, 0x8c, 0x6c, 0xb9, 0x0c,
+ 0x42, 0x70, 0x92, 0x3a, 0x67, 0xda, 0x2a, 0x48, 0xda, 0x4e, 0x2d, 0x10,
+ 0xda, 0x46, 0x63, 0x49, 0x5e, 0x8e, 0xf4, 0xe0, 0xd0, 0x48, 0xba, 0x93,
+ 0xdb, 0xa9, 0x13, 0xfa, 0x94, 0x77, 0xa2, 0xdd, 0x36, 0xf6, 0x0e, 0x6b,
+ 0xf5, 0x4e, 0xa0, 0xa3, 0x42, 0xdd, 0x45, 0x8e, 0x04, 0x72, 0xcb, 0x9b,
+ 0x2b, 0xde, 0x37, 0x01, 0x9e, 0x3e, 0x73, 0x4d, 0x5d, 0x52, 0xc2, 0x9b,
+ 0x6d, 0xcb, 0xc9, 0x1f, 0x57, 0x32, 0x20, 0xb7, 0x8f, 0x89, 0xd5, 0xc8,
+ 0xf7, 0xd8, 0x28, 0xc2, 0x61, 0xe5, 0xcf, 0x09, 0x6f, 0x86, 0x8b, 0x92,
+ 0xcc, 0xe0, 0xe2, 0xde, 0x21, 0xa3, 0x07, 0x1c, 0xdc, 0x65, 0x6f, 0x1a,
+ 0x97, 0x65, 0x90, 0xdf, 0x08, 0xad, 0xf5, 0xb5, 0x78, 0x6b, 0xa8, 0x38,
+ 0x5d, 0xc0, 0xc6, 0xbb, 0x98, 0x09, 0xc0, 0xd2, 0xfb, 0xd2, 0xe7, 0xe2,
+ 0xda, 0xa0, 0xfc, 0xd9, 0xc2, 0x52, 0xc8, 0xd8, 0x91, 0x98, 0x89, 0x16,
+ 0xcb, 0xd9, 0x92, 0xb1, 0x98, 0xcd, 0x03, 0xe4, 0x5f, 0xed, 0xd1, 0xe3,
+ 0x46, 0x28, 0xe0, 0x70, 0x19, 0x8b, 0xd2, 0xab, 0x5e, 0x86, 0xd2, 0x23,
+ 0xf0, 0xa1, 0x09, 0x97, 0xe7, 0xf8, 0x57, 0x4a, 0xf3, 0x10, 0xba, 0xcb,
+ 0xab, 0xec, 0x6f, 0x50, 0x27, 0x07, 0xb6, 0x10, 0x99, 0x86, 0x76, 0xd3,
+ 0x62, 0x91, 0x7a, 0x36, 0xfd, 0xd3, 0x17, 0xe2, 0xb7, 0x12, 0xbf, 0x88,
+ 0x16, 0xb1, 0xed, 0x46, 0xf9, 0x9e, 0xed, 0x5a, 0x0f, 0x26, 0xe1, 0x19,
+ 0x05, 0xa4, 0xef, 0xa3, 0x1a, 0x89, 0xea, 0x73, 0xf8, 0x36, 0x79, 0xf7,
+ 0xfa, 0x19, 0xe1, 0x6a, 0xae, 0xb2, 0x6a, 0x6e, 0xac, 0x16, 0x67, 0x98,
+ 0x9f, 0x7e, 0xeb, 0x35, 0xb6, 0xe7, 0xdc, 0xa1, 0x72, 0xcd, 0xe6, 0x72,
+ 0x7a, 0xc9, 0x62, 0x30, 0xeb, 0x47, 0x49, 0xa1, 0x57, 0x9a, 0xdf, 0xcd,
+ 0x3e, 0x31, 0x24, 0x90, 0xbb, 0xaa, 0xf5, 0x49, 0x40, 0x75, 0xd5, 0x11,
+ 0x60, 0xcf, 0x9e, 0x38, 0x01, 0x56, 0xdd, 0xcf, 0xa9, 0x94, 0x40, 0x71,
+ 0x45, 0xd6, 0x41, 0xe4, 0x44, 0x3d, 0x63, 0xa1, 0x79, 0xc8, 0xe7, 0x9e,
+ 0x54, 0xd9, 0xf0, 0x35, 0x28, 0xe9, 0xf0, 0xa2, 0x7a, 0xef, 0x3d, 0xf3,
+ 0x7d, 0x0b, 0x44, 0x05, 0x09, 0xc4, 0x12, 0x13, 0xc0, 0x43, 0x4f, 0xf1,
+ 0x9e, 0x7d, 0x6e, 0x9f, 0x25, 0x4f, 0x52, 0x5e, 0x78, 0x05, 0x3b, 0x96,
+ 0xbc, 0x21, 0x0a, 0xb0, 0x9a, 0x09, 0x9a, 0x45, 0xc7, 0x5a, 0x8f, 0x37,
+ 0xf7, 0xde, 0x2b, 0x2f, 0xda, 0xae, 0x13, 0x30, 0x79, 0xdb, 0xad, 0x89,
+ 0x41, 0xa1, 0x4e, 0x9c, 0xe7, 0x6c, 0xe1, 0x5b, 0xfa, 0x8c, 0x40, 0xaa,
+ 0xad, 0xf5, 0x54, 0x21, 0x98, 0xf9, 0x4c, 0x08, 0x7a, 0xd6, 0x79, 0xef,
+ 0x1f, 0x1e, 0x2c, 0xcb, 0xd0, 0xc0, 0x6e, 0xf7, 0x3e, 0xb2, 0x2b, 0x67,
+ 0x86, 0xaa, 0x2b, 0x5e, 0x15, 0xf9, 0x3f, 0x34, 0xb7, 0x9b, 0x6e, 0x67,
+ 0x2d, 0xb6, 0xe2, 0x3d, 0xbe, 0x27, 0x02, 0x83, 0xcb, 0xea, 0x41, 0x28,
+ 0x52, 0x0c, 0xd3, 0x3d, 0xf0, 0x44, 0x76, 0x2d, 0xd7, 0x93, 0x84, 0x05,
+ 0x80, 0x8a, 0xb0, 0x14, 0x41, 0xcf, 0x5a, 0x98, 0xe7, 0xe7, 0x4f, 0x45,
+ 0xef, 0x52, 0x05, 0x99, 0x6e, 0x5e, 0x9a, 0x88, 0x29, 0x88, 0xe5, 0xba,
+ 0x62, 0xfa, 0xb9, 0x5c, 0x7b, 0xb2, 0x94, 0xb6, 0xe0, 0x8a, 0x2d, 0x5e,
+ 0x43, 0x7f, 0xbd, 0xcd, 0x0b, 0x41, 0x21, 0x07, 0xaf, 0x3f, 0x5f, 0xe2,
+ 0x8f, 0xac, 0xf9, 0xce, 0x3c, 0xc2, 0x5e, 0xf2, 0x9e, 0xff, 0xcc, 0x25,
+ 0x97, 0x3a, 0x8a, 0x42, 0xa5, 0x63, 0xeb, 0x79, 0x1e, 0x08, 0x7b, 0x90,
+ 0xc4, 0x8b, 0xc2, 0x47, 0x60, 0x12, 0xad, 0x7e, 0x71, 0x69, 0x3f, 0x3f,
+ 0x2d, 0xaf, 0x12, 0x9f, 0x59, 0xe2, 0x39, 0x6f, 0xa9, 0x37, 0x60, 0x66,
+ 0xd7, 0x73, 0x80, 0x22, 0x85, 0x5e, 0x3a, 0xa3, 0x7b, 0xfa, 0x85, 0xec,
+ 0x0d, 0xbd, 0x2f, 0xad, 0xc9, 0xba, 0xec, 0x8d, 0xcf, 0x76, 0x7c, 0x85,
+ 0x75, 0x42, 0x41, 0x52, 0xce, 0x71, 0x5e, 0xfa, 0x02, 0xef, 0x8c, 0xe3,
+ 0x29, 0x55, 0x17, 0x9e, 0x6a, 0xcd, 0x62, 0x25, 0x64, 0x73, 0x8f, 0xed,
+ 0xb5, 0x84, 0xee, 0x85, 0xaf, 0x3e, 0x25, 0xc7, 0xaf, 0xbd, 0x07, 0x9f,
+ 0xb8, 0x01, 0xa6, 0x53, 0xd2, 0x06, 0xee, 0xd9, 0x5d, 0x55, 0x4b, 0xb5,
+ 0x64, 0xef, 0x51, 0xde, 0x19, 0xef, 0x4b, 0xa6, 0x0e, 0xc2, 0xfc, 0x07,
+ 0xcf, 0xf0, 0x76, 0x38, 0xbc, 0x36, 0xb7, 0xda, 0xb8, 0x01, 0x38, 0xb3,
+ 0xd0, 0xb8, 0x57, 0x77, 0xed, 0x3f, 0x7b, 0xbe, 0xe2, 0x59, 0xb9, 0x34,
+ 0x6b, 0x7b, 0xd5, 0x7b, 0xef, 0x7d, 0x16, 0x1e, 0x73, 0x35, 0x09, 0x14,
+ 0x43, 0x2e, 0x27, 0x2d, 0xd9, 0xa4, 0x34, 0xd6, 0x7f, 0x57, 0xff, 0x60,
+ 0x45, 0xac, 0x68, 0xf5, 0xbf, 0xfb, 0xfd, 0xfd, 0xdc, 0x07, 0xa2, 0xb3,
+ 0x67, 0xb0, 0xca, 0x10, 0x38, 0x18, 0xb7, 0xa8, 0xd1, 0x1d, 0x50, 0x07,
+ 0xb3, 0xe3, 0xb5, 0xc0, 0x6b, 0x6e, 0xf4, 0x88, 0x45, 0xe1, 0x24, 0x07,
+ 0x1b, 0x81, 0x92, 0x37, 0x3e, 0xf1, 0xd9, 0xf3, 0x48, 0xe6, 0x8b, 0x2f,
+ 0xca, 0xf3, 0xa4, 0xee, 0x74, 0x8e, 0x41, 0x7d, 0xbd, 0x60, 0xab, 0xdb,
+ 0x8e, 0xc8, 0xb9, 0xd9, 0xbc, 0xd7, 0xf6, 0x9c, 0xf4, 0x92, 0x6b, 0x9f,
+ 0xb3, 0x01, 0x0e, 0x29, 0x71, 0x85, 0x4d, 0x73, 0xcb, 0x97, 0x0d, 0x57,
+ 0x79, 0x55, 0xb2, 0xe7, 0x90, 0x98, 0x08, 0x36, 0xd3, 0x38, 0x46, 0x52,
+ 0x60, 0xdd, 0xde, 0x67, 0x44, 0xb5, 0x21, 0xa4, 0x91, 0x59, 0xa5, 0xeb,
+ 0x6c, 0xfc, 0x49, 0x8f, 0x8c, 0x6d, 0x23, 0xf2, 0xd6, 0x53, 0x3b, 0xb5,
+ 0xb4, 0xfb, 0xce, 0xce, 0x8f, 0xba, 0x46, 0x80, 0x7b, 0x94, 0x77, 0xcd,
+ 0xf9, 0xc5, 0xf0, 0x6c, 0x9f, 0xfa, 0xcb, 0xc1, 0x44, 0x73, 0x20, 0x0e,
+ 0x87, 0xd9, 0xdf, 0x25, 0x09, 0xa8, 0x76, 0x4f, 0x3f, 0x5f, 0xf2, 0xf4,
+ 0x50, 0x5c, 0x7c, 0xc7, 0x13, 0x92, 0xbe, 0x66, 0x1d, 0xfc, 0x97, 0x3e,
+ 0x13, 0x68, 0xa5, 0xba, 0xfa, 0xd9, 0x11, 0x46, 0x3d, 0x83, 0x34, 0xa4,
+ 0xb0, 0xb3, 0x7b, 0xf8, 0x73, 0xe7, 0xaf, 0xb9, 0x5e, 0x14, 0x9f, 0xac,
+ 0xbe, 0x28, 0x6c, 0x60, 0xba, 0xc0, 0xee, 0x85, 0x17, 0x7a, 0x34, 0x3c,
+ 0x6f, 0xa8, 0x85, 0x1f, 0xf5, 0xc4, 0x4b, 0xa1, 0xf5, 0x91, 0x39, 0x0a,
+ 0x6a, 0xe4, 0xeb, 0xc2, 0x9b, 0x83, 0x17, 0x3b, 0xf6, 0xfa, 0x15, 0x5e,
+ 0x91, 0x4f, 0xd9, 0xbd, 0xdb, 0x75, 0x8c, 0x96, 0x30, 0xea, 0x62, 0x5e,
+ 0x90, 0x13, 0xc2, 0x3d, 0xe2, 0x1a, 0xd8, 0x6d, 0x5d, 0x02, 0x5d, 0x75,
+ 0xa3, 0x6e, 0xd2, 0x66, 0xe1, 0x5d, 0x31, 0x2f, 0x78, 0xef, 0x0c, 0x29,
+ 0x16, 0x39, 0x93, 0xfd, 0x9a, 0x17, 0xea, 0x73, 0xeb, 0x38, 0xd2, 0xf4,
+ 0xa5, 0x1f, 0x7e, 0xe0, 0x7b, 0xc4, 0x52, 0x5e, 0x49, 0x2c, 0xcb, 0x96,
+ 0x3a, 0x31, 0x72, 0x97, 0x69, 0x50, 0xe9, 0x08, 0x23, 0x02, 0x54, 0x65,
+ 0x54, 0x8d, 0x4d, 0xa9, 0x41, 0x70, 0x78, 0x62, 0xa5, 0xd7, 0xa8, 0x66,
+ 0x36, 0xc2, 0x78, 0x84, 0xa1, 0x84, 0xff, 0xb3, 0x20, 0xff, 0x9b, 0xf8,
+ 0xc3, 0x4c, 0x0f, 0x0e, 0x3e, 0x5c, 0xbc, 0x3d, 0x3d, 0x1f, 0x26, 0xdb,
+ 0x94, 0x79, 0x7c, 0x71, 0x7e, 0xfc, 0xf5, 0x87, 0x0b, 0xf3, 0x4f, 0x6d,
+ 0xe9, 0x75, 0x5a, 0xe4, 0xe6, 0x76, 0x32, 0xc3, 0xc9, 0x0a, 0xb3, 0x59,
+ 0xae, 0xb4, 0x24, 0x09, 0x13, 0xb0, 0x9a, 0xfb, 0xb8, 0xac, 0xb8, 0x2c,
+ 0x15, 0x98, 0x1f, 0xae, 0xcb, 0xa9, 0x57, 0xb6, 0x96, 0xfc, 0xd8, 0x04,
+ 0xb4, 0x2b, 0x9d, 0xed, 0x9c, 0x77, 0x12, 0xa7, 0x15, 0x3d, 0x93, 0x5c,
+ 0xbc, 0x3d, 0x78, 0xff, 0xed, 0x50, 0xd9, 0xea, 0xbf, 0xff, 0xfe, 0xfb,
+ 0x6e, 0xc8, 0xd7, 0x2f, 0x36, 0xbb, 0xb6, 0x36, 0x3c, 0x3a, 0x4a, 0x0e,
+ 0x4e, 0x86, 0xa7, 0x6b, 0x2e, 0xdf, 0x7e, 0x73, 0x97, 0x78, 0x78, 0xae,
+ 0xb2, 0xc6, 0xfc, 0x65, 0x6d, 0xed, 0xe4, 0xe0, 0x82, 0x8c, 0x63, 0xa9,
+ 0xfc, 0x4c, 0xf3, 0x4c, 0xdc, 0x19, 0xe9, 0xf4, 0x96, 0xa8, 0x02, 0x2f,
+ 0x73, 0x00, 0xda, 0x89, 0x27, 0x0f, 0x90, 0xdf, 0x2e, 0x7f, 0xa6, 0xb9,
+ 0xe0, 0x6e, 0x89, 0xd1, 0x44, 0x60, 0x69, 0x84, 0xb7, 0x35, 0x43, 0x52,
+ 0x80, 0xc3, 0x5a, 0xe2, 0x3c, 0x64, 0x4c, 0x73, 0x9f, 0x8d, 0xb8, 0xf0,
+ 0x77, 0x8f, 0xd1, 0xa5, 0x08, 0x91, 0x79, 0x1c, 0x13, 0x4b, 0x86, 0x70,
+ 0x4c, 0xd4, 0xaf, 0xc9, 0x87, 0xe1, 0xc1, 0x37, 0x47, 0xf4, 0xec, 0x37,
+ 0x59, 0xe3, 0x66, 0x16, 0xee, 0x35, 0x7c, 0xe5, 0x7d, 0xd6, 0xd4, 0xe3,
+ 0x74, 0x9e, 0x6d, 0x50, 0x9f, 0x46, 0x7d, 0x29, 0xb4, 0xe0, 0x1a, 0x67,
+ 0xd3, 0xc1, 0xd5, 0x87, 0x28, 0xe4, 0x79, 0x54, 0x72, 0xf0, 0xdb, 0x3d,
+ 0x3f, 0x3a, 0x78, 0xfd, 0xee, 0x48, 0x6b, 0xc7, 0xf3, 0x35, 0x6f, 0x1a,
+ 0xbd, 0x2e, 0x67, 0x99, 0x17, 0x5f, 0x21, 0x55, 0x62, 0x61, 0xda, 0x30,
+ 0xbf, 0xa1, 0x02, 0xf7, 0xf1, 0xcf, 0xb9, 0xb2, 0x11, 0x78, 0x76, 0x70,
+ 0x99, 0x6f, 0x73, 0xeb, 0xfa, 0xbd, 0xd4, 0xce, 0x89, 0x90, 0xc9, 0xa8,
+ 0x7a, 0xcd, 0xfe, 0x0f, 0xf8, 0x4d, 0x3e, 0xdf, 0xd9, 0xd9, 0x59, 0x31,
+ 0x0e, 0x58, 0x1f, 0x72, 0x49, 0x9b, 0xa1, 0xec, 0xd3, 0xe3, 0xdb, 0xae,
+ 0x7d, 0xd7, 0x63, 0xda, 0x6e, 0x58, 0xb7, 0x4b, 0x32, 0xdf, 0x71, 0xb5,
+ 0xe7, 0x4d, 0x16, 0xef, 0xf2, 0xb8, 0x2c, 0x5d, 0xc5, 0x62, 0x7f, 0x72,
+ 0x50, 0xd6, 0x3b, 0x6f, 0x94, 0x55, 0x0f, 0x6f, 0x70, 0xc7, 0x8d, 0xc1,
+ 0x04, 0x26, 0xb1, 0xea, 0xbe, 0xdb, 0x24, 0xfd, 0x06, 0xc0, 0xa2, 0x71,
+ 0x33, 0x28, 0xab, 0xab, 0xed, 0xd9, 0x3e, 0x34, 0x20, 0xf3, 0xd0, 0x1b,
+ 0x42, 0x32, 0x27, 0x46, 0x93, 0xb6, 0x24, 0x21, 0x35, 0x4d, 0x6c, 0x69,
+ 0xae, 0xbe, 0x47, 0xf4, 0xeb, 0x17, 0xcc, 0x02, 0x13, 0x3c, 0x5d, 0xea,
+ 0xc8, 0xb5, 0xd8, 0x65, 0xe4, 0x23, 0xb4, 0xff, 0xe0, 0x9d, 0x1c, 0x18,
+ 0x59, 0x60, 0xbe, 0x42, 0x54, 0x63, 0xd8, 0x22, 0xe6, 0xaf, 0x15, 0x41,
+ 0x6e, 0x9a, 0x3b, 0x88, 0x69, 0xa9, 0x2e, 0xcb, 0x59, 0xa1, 0x84, 0xff,
+ 0x98, 0x1b, 0x4d, 0xcb, 0x18, 0x50, 0x29, 0x13, 0x4d, 0x0c, 0xa9, 0xd0,
+ 0x05, 0x09, 0x91, 0x2b, 0x99, 0x38, 0x40, 0x36, 0xa9, 0xe1, 0xee, 0x37,
+ 0xfb, 0x7d, 0xec, 0x9f, 0xda, 0xee, 0x96, 0x47, 0x7c, 0xdc, 0x1b, 0x14,
+ 0xcf, 0x7e, 0x21, 0xb7, 0xba, 0xb7, 0x77, 0x86, 0xa6, 0x17, 0xc1, 0xb7,
+ 0x16, 0xae, 0x3e, 0x6e, 0xcd, 0x9f, 0xf3, 0xeb, 0x99, 0x98, 0xd5, 0xd8,
+ 0x06, 0x9a, 0xf7, 0xd1, 0xdf, 0x38, 0x3c, 0x93, 0xbf, 0x11, 0xec, 0x31,
+ 0xbf, 0xa1, 0xc1, 0xd3, 0x8d, 0x90, 0x24, 0x9b, 0x74, 0x65, 0xa8, 0x56,
+ 0x0c, 0x14, 0x25, 0xac, 0x5b, 0x14, 0x2b, 0xf2, 0xad, 0x93, 0x15, 0x3d,
+ 0xdc, 0x37, 0x53, 0x43, 0x37, 0xd0, 0xff, 0xde, 0x1e, 0xd4, 0xf5, 0xf5,
+ 0x76, 0x3e, 0xf9, 0x58, 0xd5, 0x69, 0xf2, 0xd3, 0x5a, 0x27, 0x69, 0xb6,
+ 0x3b, 0x88, 0xff, 0x8d, 0x19, 0xfc, 0x45, 0x33, 0xb5, 0x7c, 0x14, 0xbf,
+ 0xc7, 0x08, 0xfa, 0x7d, 0x6a, 0x55, 0xbf, 0xf4, 0xd1, 0x3c, 0xf0, 0xd1,
+ 0xb2, 0x39, 0xff, 0x8a, 0xd1, 0x45, 0x44, 0xa1, 0x19, 0x24, 0x93, 0x7c,
+ 0x1a, 0xd9, 0x12, 0xdf, 0xe8, 0x5a, 0xa3, 0xe4, 0xc7, 0xbd, 0x9d, 0x9d,
+ 0xdd, 0xfd, 0xdd, 0xcf, 0x5f, 0xec, 0xec, 0xef, 0xee, 0xee, 0xee, 0xed,
+ 0xef, 0xee, 0xef, 0xef, 0xed, 0xfc, 0xbc, 0xbd, 0xbe, 0x6c, 0xea, 0xde,
+ 0x7d, 0xbd, 0xa4, 0x41, 0x33, 0xea, 0x75, 0x66, 0x10, 0xfc, 0xc9, 0x8e,
+ 0x1e, 0xa3, 0x9a, 0xac, 0x27, 0xf5, 0x6c, 0x44, 0xc8, 0x3d, 0x3e, 0x9c,
+ 0xfe, 0x60, 0x6a, 0xa3, 0x78, 0x67, 0xde, 0x80, 0x5e, 0x9f, 0x7e, 0xff,
+ 0xfe, 0xe4, 0xf4, 0xe0, 0x75, 0x72, 0x71, 0x9a, 0x1c, 0xc0, 0x4d, 0x18,
+ 0x91, 0x93, 0x60, 0x01, 0x25, 0xf0, 0x3b, 0x57, 0x6f, 0xf1, 0xaa, 0x98,
+ 0x89, 0x4f, 0xcb, 0xa2, 0x54, 0xd1, 0x89, 0x6e, 0x3f, 0x4b, 0x98, 0x81,
+ 0xd4, 0x12, 0x0a, 0xaf, 0x3f, 0x78, 0x23, 0x3c, 0xe6, 0xcb, 0x3d, 0x06,
+ 0x72, 0x38, 0x4b, 0x1f, 0xdd, 0xd1, 0x93, 0x0f, 0xe4, 0x50, 0xa2, 0xb1,
+ 0x2f, 0x81, 0x40, 0xa8, 0xbc, 0x4b, 0x36, 0x19, 0xe0, 0xe5, 0x2a, 0x6f,
+ 0x71, 0x51, 0xb7, 0x0e, 0x2a, 0xce, 0x96, 0x47, 0x12, 0x8c, 0x0d, 0xd4,
+ 0x1d, 0xd2, 0x61, 0xb7, 0x82, 0x01, 0x9e, 0x2e, 0x1d, 0x92, 0xb9, 0xcc,
+ 0xb3, 0x3b, 0x5b, 0x6e, 0xde, 0xc9, 0x5e, 0xa6, 0x98, 0x74, 0xa3, 0x03,
+ 0x91, 0x96, 0xfa, 0x2e, 0xf2, 0x4a, 0xbb, 0x0c, 0x1c, 0x64, 0xe4, 0x73,
+ 0xf4, 0x1d, 0x15, 0xc9, 0xee, 0x13, 0xf4, 0x9b, 0x4e, 0xdd, 0x7b, 0x49,
+ 0x2c, 0xe6, 0x0e, 0x7c, 0x18, 0x1e, 0xbf, 0xff, 0x06, 0x51, 0xf4, 0xef,
+ 0x4f, 0xcf, 0x5f, 0x0f, 0x4d, 0xb3, 0x46, 0x5e, 0xa1, 0xf1, 0x8b, 0x92,
+ 0x24, 0xa1, 0xf4, 0x8a, 0xcf, 0x25, 0x7d, 0xfa, 0x2f, 0xbc, 0x9d, 0x7a,
+ 0x7e, 0x01, 0x81, 0x99, 0x6f, 0x1f, 0x51, 0xe5, 0xa8, 0xf8, 0xad, 0xe1,
+ 0xed, 0xc6, 0xaf, 0x66, 0xe9, 0xf8, 0x9a, 0x0c, 0x7a, 0xde, 0xac, 0x40,
+ 0x45, 0x6f, 0x53, 0xda, 0xce, 0x36, 0xd9, 0x69, 0xdb, 0x4d, 0x89, 0xed,
+ 0x88, 0x56, 0xca, 0xca, 0xa7, 0xbc, 0xf7, 0xbc, 0x39, 0x66, 0xaf, 0x5f,
+ 0x4e, 0xd3, 0x2b, 0x7c, 0x30, 0x3c, 0x06, 0xde, 0xc7, 0xe4, 0xf3, 0x8f,
+ 0xfd, 0x24, 0x5d, 0x1b, 0x68, 0xef, 0x18, 0x1b, 0x00, 0xa9, 0x56, 0x28,
+ 0x87, 0x25, 0x41, 0x2a, 0xd6, 0x1f, 0x51, 0x9b, 0x8f, 0x10, 0x61, 0x04,
+ 0x45, 0xed, 0xd6, 0x35, 0x42, 0xf5, 0x59, 0x26, 0x54, 0x37, 0xea, 0xb7,
+ 0x03, 0x6c, 0x4b, 0x61, 0x10, 0xb4, 0xe4, 0xe9, 0xe4, 0xb5, 0x43, 0x90,
+ 0xbb, 0x32, 0xcf, 0x3c, 0xe5, 0xd4, 0x19, 0x42, 0x79, 0x72, 0x06, 0x84,
+ 0x80, 0x0c, 0x69, 0xf4, 0xeb, 0x54, 0xa7, 0x80, 0x90, 0x4e, 0xeb, 0xb8,
+ 0xe2, 0xe0, 0x64, 0x53, 0xfe, 0x37, 0x17, 0x5d, 0x37, 0xca, 0x7e, 0x31,
+ 0x49, 0xa9, 0xe2, 0x05, 0xc3, 0x1d, 0x84, 0x52, 0xc5, 0x58, 0x5f, 0x9c,
+ 0x5b, 0xb2, 0xae, 0x78, 0x29, 0x6e, 0x25, 0xaf, 0x99, 0x98, 0xc6, 0x56,
+ 0x12, 0xa3, 0xcb, 0x8b, 0xbe, 0xce, 0x7e, 0x52, 0x2e, 0x75, 0xa2, 0xf7,
+ 0xa4, 0xf3, 0x74, 0xd2, 0x1d, 0x67, 0xf4, 0x71, 0x23, 0xc0, 0x79, 0xe7,
+ 0x68, 0x7c, 0xdd, 0x55, 0x84, 0x6d, 0x4d, 0x9b, 0x32, 0x20, 0x73, 0x73,
+ 0x24, 0x99, 0x9d, 0xd3, 0xd6, 0xce, 0xe0, 0x1a, 0x60, 0x6b, 0xf6, 0x16,
+ 0xb0, 0x50, 0x78, 0x57, 0xdb, 0x2e, 0x75, 0xe5, 0x3f, 0xbc, 0x69, 0x63,
+ 0x94, 0xa9, 0x7b, 0xcf, 0xac, 0x11, 0x35, 0x95, 0x37, 0x75, 0x36, 0xbd,
+ 0x24, 0x73, 0xcb, 0x5e, 0x21, 0x5c, 0x2e, 0xdb, 0xd5, 0x41, 0x11, 0xaa,
+ 0xf7, 0x45, 0x61, 0x2c, 0x95, 0x54, 0x10, 0x40, 0x2c, 0x4b, 0xae, 0x20,
+ 0xd6, 0xf9, 0x39, 0x6c, 0xc9, 0x96, 0x0c, 0xe1, 0x00, 0xea, 0x17, 0x0c,
+ 0xf2, 0xb3, 0xcd, 0xb5, 0x44, 0x87, 0x97, 0x10, 0xc2, 0xb7, 0x8e, 0xce,
+ 0x1d, 0xcd, 0xd6, 0xfd, 0x9c, 0x60, 0xcb, 0x84, 0x07, 0xf1, 0xaa, 0x45,
+ 0x2a, 0x85, 0x32, 0xb8, 0xcc, 0xb3, 0x3b, 0x22, 0x14, 0x96, 0xb1, 0x39,
+ 0x9b, 0xd0, 0x6a, 0xf5, 0x32, 0x5e, 0x6a, 0x0d, 0x3f, 0x87, 0x2c, 0xa4,
+ 0xd9, 0x26, 0xae, 0x31, 0xb2, 0xb9, 0x24, 0x69, 0x82, 0xd5, 0x40, 0xb5,
+ 0x24, 0x6d, 0x89, 0x52, 0xd2, 0x98, 0xcc, 0x2d, 0xcc, 0x5c, 0xdf, 0xb6,
+ 0x9e, 0x38, 0xe2, 0xb4, 0x29, 0xdb, 0x9b, 0x50, 0x82, 0xbd, 0x0f, 0x23,
+ 0x3d, 0x8b, 0xce, 0x45, 0x0b, 0xa3, 0xdc, 0x1a, 0xe5, 0x62, 0xe4, 0x16,
+ 0x96, 0xf6, 0x08, 0xd0, 0xbd, 0xd4, 0xe4, 0x61, 0x58, 0x44, 0x4f, 0xcb,
+ 0x49, 0x78, 0xb3, 0x27, 0x48, 0x5c, 0x23, 0x50, 0x90, 0x9e, 0xb6, 0xa8,
+ 0xed, 0xce, 0x31, 0xb3, 0xf5, 0x49, 0x2e, 0xc4, 0x35, 0x24, 0x2a, 0x84,
+ 0xe2, 0x46, 0x24, 0xef, 0x72, 0x79, 0xf3, 0xb0, 0xa8, 0x09, 0xbb, 0xa4,
+ 0xa6, 0xdf, 0xf4, 0x9e, 0xa5, 0x41, 0x5e, 0xac, 0x16, 0x3a, 0xd2, 0x89,
+ 0x47, 0x7d, 0x18, 0x63, 0x05, 0xab, 0x78, 0xcd, 0x51, 0x18, 0x07, 0x5a,
+ 0x65, 0xd4, 0x07, 0xb8, 0x38, 0x3a, 0xc4, 0xba, 0x40, 0xab, 0xf8, 0x69,
+ 0x2d, 0x38, 0xf0, 0x0c, 0x56, 0xd9, 0x4f, 0xbe, 0x4e, 0xeb, 0x7c, 0xdc,
+ 0x93, 0xba, 0x17, 0x52, 0x07, 0x83, 0xde, 0xb0, 0xb5, 0x31, 0x92, 0x4d,
+ 0xa6, 0x54, 0xde, 0x1a, 0x24, 0xdf, 0x6b, 0x21, 0x13, 0x63, 0x44, 0x72,
+ 0x7d, 0x86, 0x7c, 0x8c, 0x9a, 0x35, 0x02, 0x39, 0xe1, 0xb3, 0x27, 0xfb,
+ 0x53, 0x7c, 0xf9, 0x20, 0x42, 0xc7, 0x47, 0x1c, 0xcd, 0x23, 0x56, 0x35,
+ 0xad, 0x3f, 0xd9, 0xc0, 0x19, 0xd6, 0x4a, 0x44, 0x11, 0x12, 0x23, 0x59,
+ 0x97, 0x66, 0x23, 0x5f, 0xe0, 0x35, 0x08, 0xab, 0x15, 0x0a, 0xb2, 0xf5,
+ 0x80, 0x6c, 0xec, 0xae, 0xad, 0x2d, 0xbe, 0xcd, 0x16, 0x7f, 0xc3, 0xce,
+ 0xb4, 0x22, 0xaa, 0xdf, 0x37, 0x13, 0x46, 0x53, 0x23, 0x02, 0xf4, 0xf4,
+ 0xe2, 0xe8, 0x0f, 0xc9, 0x41, 0x37, 0xce, 0x4e, 0x37, 0x93, 0x8a, 0x61,
+ 0xa9, 0x14, 0x6c, 0x37, 0x18, 0xfa, 0xce, 0x30, 0x56, 0x26, 0x3e, 0x4d,
+ 0xb1, 0xfc, 0x6b, 0x92, 0x04, 0xed, 0x9c, 0xca, 0x75, 0x29, 0x49, 0x30,
+ 0xa8, 0xa4, 0x68, 0x4b, 0xee, 0x21, 0x02, 0x71, 0xeb, 0x0a, 0xcd, 0x30,
+ 0x6f, 0x7f, 0x9e, 0x72, 0x12, 0xd2, 0x9d, 0x39, 0xd8, 0x28, 0x73, 0x08,
+ 0x01, 0x8a, 0x3c, 0x08, 0xa9, 0x23, 0x49, 0x28, 0x75, 0x20, 0xcf, 0x1b,
+ 0xe1, 0xdd, 0x97, 0x9a, 0x67, 0x5e, 0xcd, 0x1a, 0xdb, 0x02, 0xed, 0xfe,
+ 0x8f, 0x74, 0xe4, 0x3e, 0xea, 0xc5, 0x22, 0x57, 0x20, 0xf7, 0xe5, 0x92,
+ 0xed, 0xa0, 0xf6, 0x96, 0xd5, 0x63, 0xc7, 0xb7, 0xd9, 0x99, 0x82, 0x58,
+ 0xb1, 0x10, 0x74, 0x05, 0x00, 0x62, 0x82, 0x00, 0x3b, 0xee, 0x54, 0x95,
+ 0x9a, 0xfe, 0xc5, 0x04, 0x66, 0x51, 0xba, 0x23, 0xb8, 0x4e, 0xb6, 0xf0,
+ 0x8a, 0x72, 0xb6, 0x83, 0x69, 0xb5, 0x9d, 0x55, 0x05, 0x2e, 0x62, 0xcc,
+ 0x2a, 0xf5, 0x62, 0x78, 0x7a, 0xf8, 0xed, 0xb0, 0x95, 0xd5, 0x65, 0x5a,
+ 0xc3, 0x87, 0xb4, 0x3a, 0x54, 0x67, 0x43, 0x1b, 0x69, 0x78, 0xdc, 0x74,
+ 0xc4, 0x93, 0x65, 0xec, 0xf4, 0xf0, 0xcd, 0x6f, 0x14, 0xa1, 0xaf, 0xcd,
+ 0x52, 0x11, 0x95, 0x71, 0xe6, 0x11, 0x0e, 0x17, 0xe5, 0x9a, 0x77, 0xf3,
+ 0xf1, 0xfe, 0x29, 0x6b, 0x95, 0x89, 0x4c, 0x48, 0xcb, 0xa5, 0x2b, 0x46,
+ 0x19, 0xf3, 0x49, 0x11, 0x59, 0x24, 0x56, 0x91, 0xfa, 0x87, 0x13, 0xc8,
+ 0x3b, 0x73, 0x86, 0xcd, 0xbd, 0xe6, 0x76, 0x37, 0xdd, 0x41, 0xcb, 0xc6,
+ 0x99, 0x73, 0x4d, 0x4e, 0xeb, 0x5e, 0x77, 0x55, 0x3a, 0x0b, 0x29, 0x10,
+ 0x43, 0xba, 0x95, 0xf6, 0x9a, 0x56, 0x07, 0x9a, 0x6d, 0x61, 0xf5, 0x2c,
+ 0x5d, 0x74, 0x3f, 0x0d, 0x01, 0x32, 0x65, 0x92, 0xcc, 0xee, 0x25, 0x29,
+ 0x49, 0x74, 0x03, 0xa2, 0x5f, 0x81, 0x57, 0xe2, 0xf3, 0xcf, 0x03, 0x5d,
+ 0xf0, 0xce, 0x3e, 0xbd, 0x6f, 0x7e, 0xed, 0x79, 0x3f, 0xa6, 0x84, 0x49,
+ 0x21, 0x6f, 0x03, 0xf4, 0x50, 0xeb, 0x02, 0x89, 0x58, 0x18, 0x5e, 0x41,
+ 0x36, 0xfe, 0xa2, 0x0d, 0xe3, 0x04, 0xbb, 0xac, 0xe7, 0xe4, 0xfe, 0x1a,
+ 0x9b, 0xd7, 0xdc, 0xd1, 0xb4, 0x66, 0x6c, 0xd3, 0x12, 0xc3, 0x4c, 0xc5,
+ 0x64, 0xb7, 0xb7, 0x9e, 0xd6, 0x6c, 0x34, 0xf7, 0x01, 0x5d, 0xaa, 0x64,
+ 0x04, 0x0c, 0x4b, 0x69, 0x98, 0x26, 0x59, 0x3a, 0x63, 0x77, 0x47, 0x67,
+ 0x1f, 0xd9, 0xaa, 0x67, 0x4e, 0x46, 0x7c, 0x58, 0xde, 0x9d, 0x0f, 0xbf,
+ 0xa6, 0x3b, 0x07, 0xc9, 0xca, 0x6c, 0x3a, 0x4c, 0x10, 0x4b, 0xfc, 0x5a,
+ 0xb9, 0xb6, 0x4b, 0xec, 0x6a, 0xd5, 0x7b, 0x78, 0x8e, 0x50, 0x76, 0x68,
+ 0xd4, 0xe6, 0xe1, 0x0d, 0x1d, 0x13, 0x45, 0xc9, 0x4f, 0xc3, 0xa8, 0xa1,
+ 0xf6, 0x7b, 0xda, 0x95, 0xc7, 0x76, 0xf7, 0xd8, 0x4f, 0x8b, 0x6b, 0x69,
+ 0x26, 0xd8, 0xf0, 0x92, 0xf0, 0xb6, 0x3b, 0xd8, 0xf1, 0xf5, 0x2b, 0x9b,
+ 0xb7, 0x5a, 0x21, 0x31, 0xae, 0x41, 0x22, 0x9d, 0x53, 0x51, 0x68, 0x24,
+ 0x70, 0x12, 0x77, 0x5e, 0x93, 0x9f, 0xed, 0x32, 0x81, 0x85, 0x39, 0x49,
+ 0x42, 0x10, 0x49, 0x79, 0xcc, 0xd9, 0x6c, 0xce, 0xe9, 0x7d, 0x91, 0x4a,
+ 0xba, 0x38, 0x47, 0x4f, 0xdd, 0x91, 0x7a, 0x66, 0x97, 0x5b, 0xfa, 0xc8,
+ 0xf9, 0x28, 0x52, 0x67, 0x8e, 0x53, 0x42, 0xa0, 0x7c, 0x66, 0x19, 0xb7,
+ 0xd4, 0x2c, 0xcd, 0x45, 0x3e, 0x6c, 0x93, 0xfc, 0xd3, 0x7e, 0xc6, 0x65,
+ 0x6b, 0x8b, 0xa2, 0x0a, 0xb1, 0xbb, 0x20, 0x99, 0xa9, 0x55, 0xc2, 0x7c,
+ 0x47, 0x24, 0x0d, 0x48, 0x42, 0x32, 0x54, 0x8d, 0xa3, 0x73, 0xcd, 0x8e,
+ 0x6e, 0xda, 0x5a, 0x4a, 0x87, 0xec, 0x42, 0x75, 0x56, 0x3d, 0x33, 0xed,
+ 0x4e, 0x73, 0xd3, 0xa1, 0x0d, 0x30, 0x26, 0x69, 0x41, 0x2c, 0x91, 0x85,
+ 0xba, 0x85, 0x2d, 0x77, 0x49, 0xbb, 0xda, 0x54, 0x48, 0x99, 0xda, 0x15,
+ 0xba, 0x7c, 0x0d, 0xf4, 0x92, 0xfe, 0xff, 0x90, 0x99, 0x21, 0xf5, 0x9c,
+ 0x60, 0x66, 0x20, 0xb7, 0x9a, 0x7b, 0x04, 0x27, 0x82, 0x6c, 0x85, 0xc0,
+ 0x27, 0x0c, 0xa9, 0x8e, 0xc3, 0xd6, 0x3c, 0xd0, 0x34, 0x3d, 0xc8, 0x3f,
+ 0x1d, 0x7b, 0x9e, 0x75, 0x8b, 0x80, 0x89, 0xa8, 0xe0, 0xe6, 0xd6, 0x5c,
+ 0xf9, 0x5c, 0x00, 0x0b, 0x83, 0x0e, 0xdb, 0x8b, 0xec, 0x6b, 0x62, 0xb1,
+ 0x3e, 0x2c, 0x53, 0x7f, 0x5a, 0xd5, 0x96, 0x5b, 0xd3, 0x9e, 0xf2, 0xe6,
+ 0xb7, 0xae, 0x0c, 0xae, 0x2d, 0xd0, 0x37, 0x2f, 0xf4, 0x3f, 0x88, 0x3b,
+ 0xe3, 0x2b, 0xfe, 0xc2, 0x80, 0xe4, 0x99, 0x7c, 0xe1, 0x0c, 0xb5, 0x17,
+ 0xf5, 0x81, 0x7d, 0x79, 0x89, 0x0a, 0x12, 0xac, 0x8b, 0x27, 0xa7, 0x3d,
+ 0x2b, 0xfc, 0xbc, 0x16, 0x2c, 0xe8, 0x94, 0x32, 0xc6, 0x21, 0xe3, 0xbf,
+ 0xf2, 0xbb, 0x62, 0x3c, 0xde, 0x53, 0x13, 0x03, 0xce, 0xd7, 0x10, 0xdf,
+ 0xcb, 0xde, 0xee, 0x36, 0x77, 0x46, 0x2b, 0x10, 0x43, 0xaf, 0x93, 0x2d,
+ 0xe9, 0x30, 0x23, 0x38, 0x08, 0xa8, 0x0c, 0xe6, 0x06, 0x4e, 0x29, 0x26,
+ 0x84, 0xf5, 0x99, 0x11, 0x40, 0x42, 0xa9, 0xcc, 0xe9, 0x6a, 0x32, 0x77,
+ 0x2d, 0x73, 0x50, 0x96, 0xb2, 0x3e, 0x6b, 0x6e, 0x81, 0x7a, 0x56, 0xe5,
+ 0x33, 0x5b, 0xa9, 0x7f, 0xe3, 0x5b, 0x4d, 0x19, 0x45, 0x54, 0x52, 0xd4,
+ 0x0a, 0xbe, 0xb5, 0xe9, 0xce, 0x79, 0xad, 0xc8, 0x0a, 0xb3, 0xa3, 0xcf,
+ 0x0f, 0xde, 0x7f, 0x73, 0x04, 0x4d, 0x00, 0xb2, 0x9d, 0x0e, 0x68, 0x4e,
+ 0xbb, 0x7d, 0xb2, 0x18, 0xc3, 0x14, 0x32, 0x33, 0x06, 0x98, 0x5c, 0x3d,
+ 0x90, 0x6c, 0x78, 0xce, 0x7f, 0x49, 0x65, 0xf3, 0x62, 0xb9, 0x05, 0xfc,
+ 0xb6, 0x96, 0xa8, 0x47, 0x15, 0x1a, 0x04, 0xa0, 0xd2, 0x15, 0xbb, 0x5f,
+ 0xeb, 0xc5, 0x68, 0x8e, 0x6a, 0x3b, 0xb0, 0xcf, 0x9c, 0x98, 0x51, 0x3f,
+ 0xcb, 0xa0, 0x7d, 0x16, 0xd7, 0x34, 0x35, 0xca, 0xda, 0xf4, 0x15, 0x6c,
+ 0xfa, 0x81, 0xef, 0x55, 0x63, 0xea, 0x93, 0xdd, 0x9d, 0x1d, 0xc7, 0x4a,
+ 0x97, 0xda, 0x06, 0x03, 0x69, 0x59, 0x25, 0x3b, 0xfd, 0x17, 0x2f, 0x96,
+ 0x09, 0x42, 0xdb, 0x28, 0xd8, 0x2e, 0x9e, 0x3d, 0xba, 0xcd, 0x3e, 0x3d,
+ 0xba, 0xac, 0xcd, 0x88, 0x45, 0x83, 0x2a, 0x82, 0x02, 0x3c, 0xac, 0xad,
+ 0xd6, 0x22, 0x1e, 0x1e, 0x8e, 0xd6, 0x20, 0x0e, 0x66, 0xab, 0xcf, 0x61,
+ 0x2a, 0xd7, 0x12, 0x6b, 0x7f, 0x80, 0x1d, 0x46, 0x9d, 0x41, 0x73, 0xc2,
+ 0x1e, 0xe6, 0x36, 0xe4, 0xfb, 0xa8, 0x89, 0xf1, 0x0c, 0xf8, 0x25, 0x53,
+ 0x74, 0x19, 0x8e, 0x46, 0x55, 0x82, 0x0f, 0x67, 0xe4, 0xff, 0x3b, 0x7e,
+ 0xff, 0x0d, 0xbb, 0x43, 0x8c, 0x6d, 0x0f, 0x5f, 0xfa, 0x76, 0xc7, 0xd2,
+ 0xff, 0x20, 0x45, 0xd2, 0xa9, 0x06, 0x18, 0x61, 0x3d, 0xb8, 0x22, 0x41,
+ 0x5e, 0x48, 0x65, 0x72, 0xbb, 0xfa, 0x4b, 0x7c, 0x95, 0x17, 0x49, 0xdf,
+ 0x53, 0x4e, 0x84, 0x5b, 0x8e, 0x34, 0x93, 0xd9, 0xbd, 0x5a, 0x46, 0xf2,
+ 0x05, 0xb4, 0xae, 0x91, 0x19, 0xdb, 0x2c, 0xdb, 0xb9, 0x6c, 0x9e, 0x63,
+ 0x07, 0x05, 0xba, 0x49, 0xe4, 0x93, 0xfc, 0x19, 0x9c, 0xef, 0x8e, 0x26,
+ 0xf2, 0xb8, 0xae, 0xb4, 0x5c, 0x9d, 0x6d, 0x62, 0x6b, 0xd2, 0xac, 0x7a,
+ 0xea, 0xfb, 0xe9, 0xba, 0x21, 0xb9, 0x64, 0xa0, 0x2f, 0xd5, 0x69, 0xb5,
+ 0x41, 0x98, 0x5f, 0x96, 0xff, 0x7c, 0x3f, 0x57, 0xf4, 0x90, 0x0e, 0x2a,
+ 0xdd, 0x54, 0xc5, 0xc4, 0xf9, 0x34, 0xa4, 0xc7, 0xd1, 0x40, 0xc8, 0x05,
+ 0xbf, 0xcf, 0x9f, 0x4e, 0xe3, 0x9f, 0xe3, 0xf7, 0x75, 0x6a, 0x22, 0x07,
+ 0x80, 0x54, 0x5a, 0xe1, 0x1e, 0xb4, 0x2c, 0x01, 0x6a, 0xcb, 0x90, 0x16,
+ 0x0e, 0xc9, 0x91, 0xb7, 0xd5, 0x92, 0xb5, 0x44, 0xe8, 0x48, 0xc0, 0x4c,
+ 0x48, 0x7b, 0x08, 0x14, 0x38, 0xb8, 0xbc, 0x3e, 0x01, 0x47, 0x6a, 0x9e,
+ 0x5f, 0x14, 0x45, 0x46, 0x46, 0x2a, 0x0a, 0x87, 0xe6, 0x6c, 0x2f, 0xf4,
+ 0xec, 0x29, 0xaa, 0x16, 0x52, 0xca, 0x1b, 0x60, 0x06, 0xd3, 0xf9, 0xb4,
+ 0xbe, 0x06, 0xca, 0xd0, 0xba, 0xa2, 0x42, 0xf5, 0x0a, 0x9f, 0xe7, 0x76,
+ 0x49, 0x9f, 0x62, 0x65, 0x0a, 0xca, 0x75, 0x6b, 0x2a, 0xda, 0x33, 0xb0,
+ 0xb6, 0x46, 0x4e, 0xf8, 0x6d, 0x72, 0xc5, 0x0f, 0xc3, 0x09, 0x54, 0x5f,
+ 0xfa, 0x4a, 0x7f, 0xbc, 0x8b, 0x31, 0x3c, 0xe0, 0x99, 0xf7, 0xbc, 0x27,
+ 0x8f, 0x3d, 0x71, 0xac, 0xbf, 0x47, 0xe2, 0x8a, 0x38, 0x74, 0x9e, 0x20,
+ 0x8b, 0x6e, 0xf5, 0xb6, 0x37, 0xcd, 0xb7, 0x05, 0xe0, 0xf4, 0x81, 0x65,
+ 0x86, 0xb2, 0x28, 0x9d, 0xe5, 0xe2, 0x2c, 0xb5, 0xb3, 0x0f, 0x17, 0xc2,
+ 0x16, 0xa6, 0xe2, 0xdd, 0x2f, 0x17, 0xe5, 0xd7, 0x85, 0x85, 0x34, 0x23,
+ 0xdd, 0x82, 0xcd, 0x5f, 0xc4, 0xba, 0x39, 0xf9, 0x12, 0xdf, 0xc4, 0x08,
+ 0xb9, 0x83, 0x3d, 0x9b, 0x65, 0x73, 0x76, 0x3a, 0xbc, 0x20, 0x37, 0x02,
+ 0xae, 0x3e, 0xb5, 0x47, 0xbf, 0x3b, 0x3a, 0xff, 0xfa, 0x74, 0x78, 0x64,
+ 0xd6, 0xe3, 0xf5, 0xd1, 0xd7, 0x1f, 0x48, 0x6a, 0xd1, 0xee, 0x60, 0xd7,
+ 0x33, 0x65, 0xe0, 0x88, 0xff, 0x8b, 0x4a, 0xf7, 0x22, 0x11, 0x0f, 0xdb,
+ 0x94, 0xf5, 0x20, 0x2d, 0xd9, 0x6a, 0x55, 0x3c, 0x2e, 0x3d, 0x3b, 0xcd,
+ 0xd8, 0x57, 0x99, 0x23, 0x5f, 0x81, 0x59, 0x9a, 0x24, 0xd5, 0x09, 0xc5,
+ 0x2a, 0x61, 0x5e, 0xca, 0x51, 0x62, 0xa6, 0xf4, 0x7a, 0xdf, 0x39, 0x35,
+ 0x6f, 0xd8, 0x33, 0x2d, 0x87, 0xcf, 0x95, 0xd7, 0x04, 0x65, 0x14, 0x36,
+ 0xef, 0xa1, 0xd5, 0xa3, 0x85, 0x34, 0x69, 0x5a, 0xf2, 0xad, 0x89, 0x8a,
+ 0x90, 0xd4, 0x36, 0xee, 0xf1, 0xbc, 0xc1, 0x15, 0xce, 0x06, 0x85, 0x54,
+ 0xa7, 0xac, 0x79, 0x73, 0x73, 0x29, 0x5e, 0x82, 0xaa, 0x65, 0x5e, 0x65,
+ 0xd2, 0x3a, 0xe3, 0x4a, 0x15, 0x7c, 0x6b, 0x4b, 0x3c, 0x9c, 0xa1, 0xc1,
+ 0xc2, 0xd4, 0xb6, 0x29, 0x46, 0xf0, 0x2d, 0xc6, 0x29, 0x2c, 0xf4, 0x5c,
+ 0xde, 0xd1, 0x52, 0x16, 0xd3, 0xcc, 0xfb, 0xa5, 0x76, 0x78, 0xeb, 0xdc,
+ 0x2c, 0x17, 0x3d, 0x17, 0x3c, 0x52, 0x30, 0x6e, 0x40, 0x11, 0x90, 0xd4,
+ 0x27, 0xf4, 0xbb, 0x53, 0xb4, 0xc6, 0x29, 0x28, 0x7c, 0x76, 0x29, 0xf9,
+ 0xc0, 0x33, 0x21, 0x97, 0xd7, 0x83, 0x54, 0x6d, 0x56, 0x02, 0x4c, 0x2e,
+ 0xef, 0x88, 0x85, 0xab, 0xa0, 0xf6, 0x68, 0x49, 0x11, 0x12, 0xe0, 0xcd,
+ 0x17, 0x9e, 0x77, 0x6e, 0x1d, 0xff, 0xc5, 0x19, 0xf5, 0x02, 0x27, 0x6b,
+ 0x6b, 0x6b, 0xaf, 0x8f, 0x2e, 0x0e, 0x8e, 0x4f, 0x8e, 0x5e, 0x27, 0xc7,
+ 0xef, 0xdf, 0x9c, 0x9e, 0xbf, 0x3b, 0xb8, 0x10, 0x38, 0xc6, 0x6b, 0xeb,
+ 0x91, 0x73, 0x85, 0xf4, 0xa4, 0x5c, 0x94, 0xe7, 0xad, 0xc3, 0x16, 0x36,
+ 0xab, 0x68, 0x26, 0x03, 0x41, 0x7e, 0x9e, 0x86, 0xac, 0x35, 0x07, 0x6b,
+ 0x89, 0xc0, 0x38, 0x5c, 0xe5, 0x41, 0xd2, 0x0b, 0xb6, 0x6d, 0xec, 0x7d,
+ 0xa0, 0xd3, 0x69, 0xa9, 0xb2, 0x88, 0x51, 0x7a, 0x65, 0x53, 0xb6, 0x90,
+ 0x2c, 0xdf, 0x89, 0xae, 0xea, 0x33, 0xf6, 0x64, 0xff, 0x78, 0x9b, 0xeb,
+ 0x97, 0x7b, 0x55, 0x29, 0xb4, 0xa4, 0x10, 0x78, 0x57, 0xa8, 0x1d, 0x8f,
+ 0x23, 0xe9, 0xb2, 0x04, 0xaa, 0xc4, 0x6f, 0xd3, 0x32, 0xff, 0x60, 0x45,
+ 0x8d, 0x16, 0xc0, 0x30, 0x1e, 0xfc, 0xc4, 0x5f, 0x5f, 0xa2, 0xde, 0x59,
+ 0x23, 0xf4, 0x59, 0x23, 0xf5, 0xf0, 0x88, 0xc5, 0xaa, 0x36, 0x2b, 0x65,
+ 0xcf, 0x3a, 0x98, 0xb5, 0xac, 0xc0, 0xd6, 0xe8, 0x9c, 0xd0, 0x11, 0xfb,
+ 0x4d, 0x6d, 0xda, 0x78, 0xbd, 0xd1, 0x98, 0xfa, 0xc7, 0xc2, 0x8d, 0x4d,
+ 0x73, 0xb1, 0xb5, 0xc6, 0xe5, 0x13, 0x0a, 0x65, 0x25, 0xb4, 0x68, 0x53,
+ 0x67, 0xf1, 0xe7, 0xdb, 0x5e, 0x6d, 0x4f, 0x9c, 0x36, 0x77, 0x6e, 0x95,
+ 0xcb, 0xbc, 0xff, 0xda, 0x3c, 0x34, 0x59, 0xcc, 0xe6, 0xed, 0xc2, 0xed,
+ 0xec, 0xcb, 0xd3, 0x25, 0x64, 0xa5, 0x0d, 0xca, 0x07, 0x1c, 0x3f, 0x6f,
+ 0x64, 0x0e, 0x78, 0x1c, 0xd8, 0xdf, 0x8d, 0x86, 0x02, 0xc1, 0x20, 0x62,
+ 0xa3, 0x77, 0xdd, 0x0a, 0xad, 0x6d, 0xcd, 0x05, 0x13, 0x32, 0xb4, 0xcf,
+ 0x76, 0x4b, 0xba, 0xa6, 0x0e, 0x6b, 0x84, 0xf9, 0xdf, 0x54, 0x86, 0x37,
+ 0xda, 0xb2, 0xd2, 0xa0, 0x5c, 0x15, 0x61, 0xf0, 0xb1, 0x35, 0x28, 0xff,
+ 0xc5, 0x36, 0xa4, 0xc7, 0x97, 0xf4, 0xfa, 0x69, 0x47, 0x68, 0xd6, 0xed,
+ 0x81, 0x48, 0x71, 0x23, 0x4f, 0xee, 0xb5, 0x96, 0x09, 0xd1, 0x66, 0x02,
+ 0x6e, 0x44, 0xce, 0x52, 0x90, 0x1e, 0x88, 0xa4, 0x44, 0x40, 0x4c, 0xb7,
+ 0xef, 0x02, 0x15, 0x3a, 0xca, 0x4f, 0x64, 0xcb, 0x6b, 0x55, 0x5e, 0x2f,
+ 0x5d, 0x8f, 0x51, 0x64, 0x42, 0x66, 0x08, 0xa1, 0x57, 0xac, 0x69, 0x66,
+ 0xb1, 0xbe, 0xa4, 0x78, 0x47, 0x48, 0xff, 0x4d, 0x9a, 0x2b, 0x70, 0x35,
+ 0xa2, 0xb8, 0x4a, 0x96, 0xd6, 0x30, 0xa8, 0x90, 0xb4, 0xc3, 0x77, 0x86,
+ 0x75, 0xc3, 0x3a, 0x5e, 0x3e, 0xaf, 0x56, 0x21, 0x44, 0xf4, 0x24, 0x79,
+ 0x49, 0xcf, 0x12, 0xef, 0x91, 0x25, 0xf9, 0x01, 0x48, 0xdf, 0xb6, 0xa2,
+ 0x01, 0x0e, 0xd3, 0x0c, 0x90, 0xd6, 0x02, 0x3d, 0x3d, 0xa3, 0x07, 0x52,
+ 0xd5, 0xf0, 0xd7, 0x5d, 0x5d, 0xa9, 0xf5, 0xf9, 0xb5, 0xf9, 0xc6, 0x7a,
+ 0x72, 0x45, 0x36, 0xd2, 0xc8, 0x74, 0x3d, 0x10, 0xa0, 0x13, 0x7e, 0xfc,
+ 0xd5, 0x79, 0x7a, 0x99, 0x66, 0xd3, 0x3f, 0xed, 0xed, 0x0c, 0xd3, 0xab,
+ 0xc5, 0x34, 0xfd, 0x37, 0xbc, 0xf8, 0xea, 0xc9, 0x93, 0xbd, 0x9d, 0xcf,
+ 0x3e, 0xdf, 0x59, 0xef, 0xa2, 0x0f, 0x1c, 0x83, 0x09, 0x10, 0x36, 0x60,
+ 0xdd, 0x21, 0xb9, 0x8b, 0xef, 0x0c, 0xc6, 0x57, 0x39, 0x8c, 0x3a, 0x52,
+ 0x94, 0x64, 0x0e, 0x52, 0xb6, 0x26, 0x21, 0x26, 0x39, 0x47, 0xd9, 0xec,
+ 0xe0, 0xda, 0xec, 0xeb, 0x3f, 0xee, 0xee, 0xb3, 0x28, 0xbb, 0x82, 0xf3,
+ 0x3d, 0xe5, 0x1d, 0x9b, 0xbc, 0xcc, 0x0b, 0x73, 0x03, 0x7d, 0x99, 0x34,
+ 0xe9, 0x95, 0xdd, 0xab, 0x68, 0x01, 0xab, 0x61, 0x97, 0xb3, 0x41, 0x88,
+ 0x7a, 0xaa, 0xb0, 0xe8, 0x63, 0x29, 0xf1, 0xb6, 0x41, 0xde, 0x8f, 0x75,
+ 0x76, 0x7f, 0xac, 0xa3, 0x03, 0x3d, 0x5b, 0xd7, 0xbb, 0x3f, 0xd1, 0x4e,
+ 0x0d, 0xf0, 0x77, 0x90, 0x7c, 0xa4, 0xcc, 0xcf, 0xb8, 0x3e, 0xe7, 0xb4,
+ 0x7a, 0x5b, 0xed, 0x8b, 0xfd, 0x64, 0x79, 0xab, 0x0b, 0xa9, 0xc3, 0x62,
+ 0x26, 0x2f, 0xd5, 0xa1, 0xb3, 0xfb, 0xe5, 0x2b, 0xac, 0xdd, 0xee, 0x97,
+ 0xff, 0x66, 0x7f, 0xb6, 0x27, 0x3f, 0xdb, 0xfb, 0xf2, 0xdf, 0x06, 0x03,
+ 0xf4, 0x8f, 0x16, 0x73, 0x43, 0x7f, 0xbd, 0x21, 0xf4, 0x41, 0xa9, 0x9c,
+ 0x36, 0xfe, 0x17, 0x59, 0xd8, 0x5c, 0x22, 0x0c, 0xcb, 0xb2, 0xae, 0x5f,
+ 0xf6, 0x27, 0xa4, 0x27, 0xc1, 0x4f, 0x2b, 0x62, 0xf2, 0xda, 0x27, 0x02,
+ 0xac, 0x63, 0xf3, 0x63, 0x43, 0x16, 0x68, 0x47, 0x10, 0x8f, 0x78, 0xf9,
+ 0xcf, 0xb4, 0xa9, 0xfe, 0xbc, 0x96, 0x48, 0x20, 0x72, 0x9e, 0x55, 0x46,
+ 0x0d, 0xa6, 0xd8, 0x84, 0xee, 0x30, 0xa6, 0x99, 0x62, 0x96, 0x6a, 0x6a,
+ 0x99, 0x12, 0x3b, 0xe8, 0xba, 0xf2, 0x0a, 0x5e, 0xfd, 0x45, 0xc8, 0x4b,
+ 0x78, 0x6d, 0xd6, 0x12, 0xfb, 0x0c, 0x27, 0xc0, 0x18, 0x75, 0xa0, 0xa1,
+ 0x83, 0x8c, 0x67, 0xff, 0xf4, 0xc3, 0x0f, 0xa2, 0xfb, 0x98, 0xbf, 0x48,
+ 0xcf, 0xaf, 0x8d, 0xd8, 0x98, 0x18, 0x49, 0x34, 0x43, 0x05, 0x1d, 0xa9,
+ 0x51, 0x26, 0xb7, 0xf3, 0xa5, 0x8c, 0x94, 0x1b, 0x31, 0x4b, 0x7b, 0x30,
+ 0x3c, 0x3c, 0x3e, 0x06, 0xb8, 0x13, 0x93, 0x7a, 0xc4, 0x12, 0x07, 0xdb,
+ 0x68, 0x13, 0x68, 0x0c, 0x87, 0x20, 0xf4, 0x77, 0x29, 0xad, 0x1d, 0x96,
+ 0x1d, 0x1b, 0xd5, 0x34, 0xa6, 0xb6, 0xb2, 0x2c, 0x25, 0xb6, 0x17, 0x2b,
+ 0x24, 0xaf, 0xd6, 0xf9, 0xc1, 0xab, 0x7c, 0x5d, 0xe2, 0x4d, 0xfc, 0x93,
+ 0x75, 0x47, 0x49, 0xc6, 0xeb, 0x81, 0x45, 0x7b, 0xc5, 0x5a, 0x4e, 0xfe,
+ 0x8f, 0xec, 0xd5, 0xee, 0x4e, 0xfc, 0x09, 0x04, 0x58, 0x89, 0x84, 0xf1,
+ 0x95, 0x8b, 0xdd, 0xad, 0x7a, 0x3e, 0x9f, 0xf0, 0xd3, 0x52, 0xe3, 0x1b,
+ 0xe5, 0xd6, 0x5e, 0xad, 0x8f, 0xe8, 0x32, 0xa4, 0xff, 0xbf, 0xa4, 0x1f,
+ 0x08, 0x2e, 0xc9, 0xb3, 0xf5, 0x62, 0x34, 0xcb, 0x5b, 0x1d, 0xde, 0xa6,
+ 0x01, 0x7e, 0x49, 0x03, 0xfe, 0x3e, 0xb3, 0xbb, 0x23, 0x23, 0x2d, 0x8c,
+ 0xd5, 0xb4, 0x8d, 0xcb, 0xb2, 0x1c, 0xa5, 0xd5, 0x86, 0x44, 0x5e, 0xb4,
+ 0x9f, 0x1b, 0xbb, 0x7b, 0x4f, 0x9e, 0x3e, 0xdb, 0x18, 0x88, 0x4a, 0x85,
+ 0xd3, 0xdc, 0xf8, 0x54, 0x24, 0xdc, 0x84, 0x65, 0xd0, 0x60, 0x10, 0x35,
+ 0x52, 0xf7, 0x63, 0x71, 0x50, 0x12, 0x38, 0xf4, 0xb9, 0x57, 0xfc, 0xb5,
+ 0x7f, 0xa3, 0xef, 0xbc, 0xc2, 0x27, 0xfe, 0x2d, 0x9f, 0xbc, 0xb2, 0x23,
+ 0xfc, 0x37, 0x1a, 0xcb, 0x2b, 0x19, 0x84, 0x59, 0x57, 0x4d, 0x2f, 0xac,
+ 0xb7, 0xd6, 0xa2, 0x22, 0x28, 0xba, 0xb8, 0xba, 0x88, 0x6b, 0x18, 0x34,
+ 0xc0, 0x06, 0xfd, 0x09, 0x07, 0x2a, 0xa0, 0x58, 0xba, 0xdc, 0xba, 0xed,
+ 0xbb, 0xbe, 0x69, 0xa5, 0x4f, 0xad, 0xf4, 0x9d, 0x6c, 0x05, 0x77, 0x66,
+ 0x9f, 0x16, 0xa2, 0x27, 0xc9, 0x95, 0x53, 0x38, 0x44, 0xe4, 0xd6, 0x2e,
+ 0x4b, 0xc4, 0xeb, 0x0f, 0xbf, 0x39, 0xde, 0x10, 0x8c, 0x0c, 0x5b, 0x74,
+ 0xbd, 0x98, 0x2b, 0xd9, 0xa2, 0x01, 0xc7, 0xe9, 0x9c, 0x4e, 0xff, 0x9a,
+ 0xd2, 0x03, 0xa7, 0x04, 0xf9, 0xa0, 0xef, 0x72, 0x26, 0xb4, 0xf9, 0x98,
+ 0x5c, 0x10, 0x53, 0x72, 0x4e, 0x57, 0xcc, 0xea, 0xe9, 0x35, 0x63, 0xe6,
+ 0xa5, 0x16, 0xec, 0x07, 0xc2, 0x33, 0x73, 0x9b, 0x48, 0xd9, 0x7f, 0x63,
+ 0xe3, 0x93, 0x36, 0x71, 0x4f, 0x1e, 0x35, 0xbf, 0x62, 0x79, 0xa2, 0x22,
+ 0x62, 0x7d, 0xa0, 0x15, 0xd4, 0x79, 0x27, 0xf8, 0xd2, 0x03, 0xc9, 0xfc,
+ 0xa3, 0x4c, 0xd2, 0x2f, 0xd9, 0xc3, 0xc1, 0x3a, 0x1c, 0xc9, 0xcf, 0x97,
+ 0xb6, 0x74, 0xe1, 0x97, 0x09, 0x58, 0xbe, 0xf9, 0x2d, 0x09, 0x11, 0x8a,
+ 0xaf, 0x88, 0xdd, 0xab, 0x78, 0x69, 0xcd, 0x95, 0x4b, 0xe4, 0x19, 0x71,
+ 0xc0, 0x19, 0xb9, 0xc3, 0x7d, 0xfa, 0xd2, 0xd1, 0xbd, 0xf8, 0x05, 0xa8,
+ 0x85, 0x8d, 0x2f, 0x70, 0x08, 0x5e, 0xd2, 0x32, 0xe0, 0xd7, 0x5f, 0x6e,
+ 0xac, 0xd9, 0xca, 0x5d, 0x56, 0xc9, 0xee, 0xc4, 0x7a, 0x79, 0x83, 0xfa,
+ 0xe3, 0xf1, 0xf8, 0x12, 0x58, 0x71, 0x22, 0x7e, 0x16, 0x94, 0xe7, 0x30,
+ 0x8a, 0xcf, 0x74, 0x22, 0x75, 0x8f, 0xad, 0x2f, 0x99, 0x1b, 0xcf, 0x88,
+ 0xe2, 0x86, 0x14, 0xbd, 0x0d, 0x02, 0x96, 0xe2, 0xbd, 0x0d, 0x4b, 0x55,
+ 0x0b, 0xf7, 0x26, 0x04, 0x5e, 0x95, 0x69, 0x39, 0xde, 0x35, 0x49, 0xb6,
+ 0x77, 0x8a, 0xb7, 0x3f, 0xb0, 0xda, 0xbb, 0xe7, 0x5d, 0xfa, 0x22, 0x53,
+ 0x16, 0x05, 0x47, 0xe4, 0x0d, 0xe5, 0x05, 0xcb, 0x47, 0x5f, 0xd1, 0x74,
+ 0xef, 0x0e, 0xae, 0xf2, 0x4b, 0x9e, 0x0c, 0x23, 0x22, 0xaf, 0xb2, 0x6d,
+ 0xf3, 0xcf, 0x9e, 0xf9, 0xf9, 0x1e, 0x29, 0x50, 0xf4, 0x97, 0x27, 0x80,
+ 0x4e, 0xf9, 0xd7, 0xb4, 0x77, 0x36, 0xec, 0xb9, 0xa0, 0xbf, 0xe4, 0xf6,
+ 0x7a, 0x96, 0x00, 0x8c, 0xf4, 0xb2, 0xaf, 0xec, 0xb1, 0x48, 0x9a, 0x53,
+ 0xad, 0xd0, 0xc7, 0x7f, 0x90, 0x4d, 0x44, 0xd6, 0xe3, 0x82, 0xb2, 0x55,
+ 0x2c, 0xce, 0x43, 0x30, 0x0f, 0xa2, 0x53, 0x93, 0x8a, 0x9c, 0x8b, 0x27,
+ 0x85, 0xb2, 0x7b, 0x70, 0xb3, 0x66, 0xb7, 0x5b, 0x3d, 0x1f, 0x14, 0x6b,
+ 0xc4, 0xfb, 0x0d, 0xe5, 0xca, 0x13, 0x9f, 0x88, 0xcb, 0xb4, 0xa4, 0xcf,
+ 0x6f, 0x4a, 0x95, 0x4b, 0x2f, 0x87, 0x18, 0xcb, 0x9c, 0x77, 0x57, 0xb0,
+ 0x5d, 0x28, 0x92, 0x31, 0x77, 0x79, 0xdd, 0x6c, 0xd1, 0x67, 0xb2, 0x29,
+ 0x93, 0xa7, 0x49, 0x89, 0x58, 0xfd, 0xaa, 0xb2, 0xa6, 0xe1, 0x43, 0x1b,
+ 0xfe, 0xd9, 0x2f, 0xc7, 0x4d, 0x66, 0xcc, 0x52, 0x24, 0x1b, 0xb0, 0x9c,
+ 0x3b, 0x9a, 0x31, 0x41, 0x34, 0xb6, 0xf0, 0xb4, 0xcf, 0xb7, 0xa7, 0x68,
+ 0x2f, 0xfd, 0x37, 0x83, 0xe4, 0x04, 0xe0, 0xee, 0x3a, 0x65, 0x72, 0x1e,
+ 0xbd, 0x61, 0x75, 0x37, 0x98, 0xad, 0xc3, 0xea, 0xf2, 0x1a, 0x97, 0xef,
+ 0x24, 0xa2, 0x0b, 0xdd, 0x52, 0xa0, 0x01, 0x75, 0xf6, 0x21, 0xeb, 0x17,
+ 0xa2, 0x8f, 0xf4, 0xe0, 0xb6, 0xb6, 0xcf, 0xc1, 0x3d, 0xcf, 0x2e, 0x3a,
+ 0xa4, 0x75, 0xd9, 0x0d, 0xeb, 0x35, 0xc2, 0xf8, 0x2a, 0xd1, 0x15, 0x3d,
+ 0xb1, 0x6e, 0x0f, 0x01, 0xa3, 0x1f, 0x33, 0xf6, 0x8f, 0x10, 0xe3, 0x02,
+ 0x71, 0x04, 0x21, 0x7c, 0x6b, 0x5a, 0xc3, 0x2e, 0xa3, 0x0a, 0x9e, 0xb4,
+ 0x8d, 0xd6, 0x61, 0xe2, 0x4d, 0x33, 0x6b, 0x07, 0xf3, 0x5a, 0x95, 0x16,
+ 0x19, 0x0e, 0xb7, 0x89, 0x90, 0x1f, 0xdb, 0xc8, 0x1a, 0x75, 0x92, 0xfa,
+ 0x95, 0xde, 0x98, 0xbf, 0x90, 0xe7, 0x70, 0x54, 0x99, 0x55, 0xcf, 0x2a,
+ 0xbe, 0x1a, 0x18, 0xce, 0xe3, 0x95, 0x33, 0x7d, 0x7b, 0xf1, 0xee, 0x24,
+ 0x51, 0x92, 0xa3, 0x4b, 0xa7, 0xd5, 0x29, 0x88, 0x12, 0x43, 0x14, 0x27,
+ 0x06, 0xeb, 0x43, 0xf2, 0x14, 0xdf, 0x72, 0x3c, 0xb7, 0x94, 0xff, 0x9e,
+ 0xd0, 0xe4, 0xb4, 0x8e, 0xac, 0xf7, 0x04, 0xbf, 0xba, 0xc6, 0xd4, 0x6b,
+ 0x1b, 0x34, 0x05, 0x1b, 0xbd, 0x64, 0x83, 0xba, 0x4a, 0xbf, 0xd8, 0xc0,
+ 0x7c, 0xe2, 0xc7, 0xde, 0xf4, 0x6d, 0x0c, 0x22, 0xa7, 0x90, 0x9e, 0x79,
+ 0xf5, 0x55, 0x6b, 0x96, 0xf0, 0x73, 0x6d, 0xea, 0x15, 0xa7, 0x76, 0x04,
+ 0xea, 0xb1, 0xbe, 0xeb, 0xb5, 0xff, 0xea, 0xb0, 0x24, 0xde, 0x57, 0x2a,
+ 0x97, 0xea, 0x10, 0xa9, 0x63, 0xfb, 0xb3, 0x1c, 0xb9, 0xb0, 0x41, 0x43,
+ 0x0f, 0x9f, 0xe2, 0x0b, 0x15, 0x45, 0x16, 0xad, 0xc9, 0xd2, 0x8d, 0xb7,
+ 0x80, 0x4a, 0x5e, 0xb3, 0x9a, 0x39, 0x9b, 0x68, 0xb7, 0x25, 0x1c, 0x02,
+ 0x90, 0x39, 0xbb, 0x03, 0xe4, 0x46, 0x3a, 0x9e, 0x7a, 0xdb, 0x80, 0xb5,
+ 0xb3, 0xd7, 0x31, 0xa1, 0xeb, 0x16, 0x40, 0xab, 0xd6, 0xb7, 0xce, 0x72,
+ 0x4c, 0x76, 0xcd, 0xf3, 0x31, 0x65, 0xd7, 0x18, 0xd1, 0x35, 0x29, 0xaf,
+ 0x48, 0x72, 0xf5, 0xcc, 0x41, 0xa3, 0x3f, 0x81, 0x1d, 0xde, 0x93, 0x8f,
+ 0x72, 0x87, 0x71, 0x56, 0x38, 0xd4, 0xa2, 0xff, 0x5e, 0x82, 0x26, 0x7d,
+ 0x43, 0x5e, 0xcb, 0xb1, 0xb4, 0x6d, 0x9b, 0xe6, 0xf5, 0x30, 0xed, 0xdb,
+ 0x5f, 0xf8, 0xdf, 0xd2, 0xc9, 0x49, 0xa5, 0x65, 0x2e, 0x5b, 0x2b, 0x55,
+ 0x7d, 0xa7, 0xf7, 0xb6, 0x64, 0x17, 0x7c, 0x51, 0xc4, 0x37, 0xcf, 0xf7,
+ 0xd6, 0x54, 0x12, 0xf6, 0x36, 0xbe, 0xda, 0x60, 0x38, 0xff, 0xc6, 0xcb,
+ 0x0d, 0x48, 0x30, 0x92, 0x4b, 0xb3, 0x51, 0x86, 0xb4, 0x32, 0xb9, 0x9c,
+ 0x36, 0xf8, 0x56, 0xec, 0xb3, 0xee, 0x20, 0xac, 0x94, 0xee, 0x80, 0xe0,
+ 0x5a, 0x76, 0x16, 0x9f, 0x8f, 0x73, 0x84, 0x45, 0xef, 0x8a, 0xe9, 0x12,
+ 0x31, 0xf4, 0xa8, 0x61, 0x4c, 0x8b, 0x5c, 0xba, 0x50, 0xcb, 0xc0, 0x81,
+ 0x42, 0xb4, 0x40, 0xe2, 0x91, 0x5c, 0x14, 0x73, 0xca, 0x7a, 0x1f, 0x37,
+ 0x70, 0x8c, 0xf0, 0x59, 0x1a, 0x24, 0x1f, 0x8a, 0x09, 0x97, 0xba, 0x27,
+ 0xbb, 0x36, 0xaf, 0xc6, 0x8b, 0x19, 0x79, 0x15, 0xc6, 0xe4, 0xcb, 0xc2,
+ 0xc5, 0xc3, 0xea, 0x41, 0x2b, 0x92, 0xee, 0x77, 0x98, 0xfd, 0x18, 0xec,
+ 0xdb, 0x96, 0xef, 0x02, 0x35, 0x42, 0x58, 0x29, 0xf1, 0x5d, 0x43, 0x2b,
+ 0xb0, 0x5c, 0x28, 0x22, 0x80, 0x28, 0x88, 0x77, 0xf4, 0xe6, 0xe8, 0xfc,
+ 0xfc, 0xe8, 0x9c, 0xe6, 0xfb, 0xa0, 0x53, 0x1b, 0x4d, 0x49, 0xa9, 0x5d,
+ 0x54, 0x50, 0x11, 0xba, 0xbe, 0x53, 0x45, 0x13, 0x88, 0x48, 0x14, 0x0a,
+ 0x2f, 0x2a, 0x2c, 0x08, 0x66, 0xff, 0xe1, 0xe2, 0x13, 0xbe, 0x27, 0x10,
+ 0x08, 0x6d, 0xeb, 0xe1, 0x07, 0x62, 0x09, 0xbe, 0xc2, 0x96, 0x6e, 0xe1,
+ 0x5a, 0xa8, 0xa4, 0x1c, 0xc1, 0x42, 0x73, 0xed, 0xaf, 0xb3, 0x96, 0x9a,
+ 0x3a, 0x10, 0x50, 0x6d, 0x26, 0x71, 0xef, 0xa9, 0x75, 0x25, 0x60, 0xc8,
+ 0x97, 0x74, 0x46, 0xc9, 0x76, 0xc2, 0x64, 0xd4, 0xcd, 0x62, 0x9e, 0x4f,
+ 0xac, 0x63, 0xd6, 0xfc, 0xdc, 0xa8, 0x7f, 0x09, 0x9f, 0xf2, 0x5a, 0x61,
+ 0x29, 0x08, 0x40, 0xaa, 0xdf, 0xc0, 0x77, 0x8c, 0x75, 0x2a, 0x87, 0x27,
+ 0xc8, 0x51, 0x63, 0x7c, 0x97, 0xd2, 0xcc, 0xb7, 0xb3, 0xc6, 0x65, 0xef,
+ 0x67, 0x70, 0x08, 0x92, 0xb4, 0x50, 0xa4, 0x8c, 0x2f, 0x19, 0xc8, 0xed,
+ 0x34, 0x73, 0xd0, 0x74, 0x57, 0x69, 0xf8, 0x1c, 0xc9, 0xa2, 0xd5, 0x7e,
+ 0xf2, 0x63, 0x9d, 0x8f, 0x7f, 0x76, 0x97, 0x07, 0x32, 0x75, 0xda, 0xf4,
+ 0x54, 0x98, 0x3a, 0x99, 0x28, 0x31, 0x86, 0x39, 0x49, 0xfb, 0xc3, 0xf0,
+ 0xe8, 0x3c, 0x39, 0xf8, 0x86, 0xf8, 0xd5, 0xff, 0xc9, 0x05, 0xa6, 0xe7,
+ 0xe4, 0x76, 0x58, 0x13, 0xee, 0x04, 0x61, 0x2c, 0xc9, 0x26, 0x7e, 0x5d,
+ 0xe0, 0x41, 0x6b, 0x65, 0x73, 0xad, 0x26, 0xe1, 0xd1, 0x4b, 0xb4, 0xd6,
+ 0x90, 0x3c, 0x7b, 0x0f, 0xac, 0xe2, 0x63, 0xd6, 0x90, 0x0e, 0x99, 0xbf,
+ 0x8a, 0xcc, 0x75, 0xc4, 0xd1, 0x03, 0x5d, 0x1b, 0xe9, 0x7d, 0x1d, 0x98,
+ 0x9d, 0xbc, 0x4a, 0x07, 0xc9, 0xc6, 0xbb, 0xf2, 0x1f, 0x46, 0x19, 0x48,
+ 0xb7, 0x9f, 0x0c, 0x76, 0x92, 0xcd, 0xef, 0xf3, 0xe2, 0xc5, 0xb3, 0x2f,
+ 0x92, 0xe3, 0xad, 0x8d, 0x16, 0xee, 0x9e, 0x0b, 0xbc, 0x8c, 0xd2, 0xe2,
+ 0x93, 0x5d, 0xb2, 0x53, 0x9c, 0x6c, 0xc6, 0xbf, 0x89, 0xf3, 0xa1, 0xe6,
+ 0xe2, 0x0a, 0x4b, 0x5b, 0x44, 0x4a, 0xa7, 0x40, 0xf8, 0x93, 0xef, 0x24,
+ 0x33, 0xf9, 0x09, 0xac, 0x7c, 0xf3, 0xd4, 0x84, 0xa6, 0xee, 0xc5, 0xb3,
+ 0xa0, 0x89, 0xa7, 0xb6, 0x8d, 0x0f, 0xdc, 0xc6, 0x2f, 0x6c, 0x62, 0x6f,
+ 0xb0, 0xb3, 0x97, 0x6c, 0x9e, 0x0e, 0xb7, 0xf7, 0x6c, 0x0b, 0x61, 0x13,
+ 0x7b, 0x68, 0x82, 0x1e, 0x6a, 0xbf, 0xfc, 0x94, 0xbe, 0xff, 0x63, 0x56,
+ 0xfc, 0x9c, 0x6c, 0xfe, 0xb0, 0xbb, 0x6b, 0x1a, 0xf8, 0x22, 0x39, 0x38,
+ 0xfe, 0x21, 0x79, 0x3a, 0x30, 0x8d, 0xbd, 0x4f, 0x6f, 0xa4, 0x39, 0xa1,
+ 0x88, 0x1e, 0xa2, 0x11, 0xf3, 0xfb, 0xa0, 0x8d, 0x67, 0x9d, 0x36, 0x4e,
+ 0x8c, 0x5d, 0x78, 0x67, 0xae, 0x95, 0x9d, 0xc1, 0x93, 0xbd, 0x24, 0x7f,
+ 0xf6, 0xf9, 0x73, 0x6d, 0x48, 0xda, 0xc0, 0xef, 0xdb, 0x8e, 0x45, 0x26,
+ 0x42, 0x31, 0xaa, 0xce, 0xd1, 0x9d, 0x11, 0x68, 0x10, 0x11, 0x15, 0x39,
+ 0xf5, 0xae, 0xd3, 0x6a, 0x22, 0xdb, 0x8d, 0x4a, 0xbf, 0x98, 0x95, 0x12,
+ 0x82, 0xfe, 0x0c, 0x1e, 0x46, 0x73, 0x71, 0xee, 0x07, 0xdd, 0x21, 0xdb,
+ 0x54, 0x1f, 0xfd, 0x22, 0x79, 0x37, 0x3c, 0x3e, 0x32, 0x23, 0xda, 0x31,
+ 0x5d, 0x73, 0x73, 0xc8, 0x1d, 0xc2, 0xaf, 0x30, 0xb9, 0x2f, 0x40, 0x3e,
+ 0x2b, 0x6d, 0xa8, 0xce, 0xcd, 0x98, 0x53, 0xb3, 0xe9, 0xcc, 0xc5, 0x5d,
+ 0xe3, 0xbb, 0x84, 0x1e, 0xe9, 0x1f, 0x5c, 0x91, 0x09, 0xc1, 0x57, 0x2d,
+ 0x3e, 0xfd, 0x6d, 0x59, 0x98, 0x63, 0x52, 0x95, 0x15, 0x81, 0x9c, 0x36,
+ 0x5a, 0xda, 0xc2, 0xb7, 0xaf, 0x8f, 0x38, 0x59, 0xfe, 0x5d, 0x5a, 0x18,
+ 0x19, 0x49, 0x84, 0x57, 0xf5, 0x27, 0x0a, 0xd5, 0x73, 0xe4, 0x85, 0xdf,
+ 0x3f, 0xb9, 0x2f, 0xee, 0xcc, 0x3a, 0x7e, 0x36, 0xd8, 0x25, 0x74, 0x35,
+ 0x59, 0xbd, 0x6f, 0xde, 0x99, 0x7f, 0xef, 0x3e, 0xdd, 0x48, 0xe8, 0x57,
+ 0x6d, 0x0b, 0x5e, 0xcf, 0xeb, 0xda, 0xe1, 0xe9, 0xe9, 0xb7, 0xc7, 0x8c,
+ 0xd5, 0x38, 0x14, 0x0f, 0x28, 0x29, 0x57, 0xd6, 0x2a, 0x66, 0xe9, 0x6a,
+ 0xac, 0x37, 0x97, 0x58, 0x84, 0xb8, 0xd9, 0xa7, 0x2c, 0x9b, 0x23, 0xbd,
+ 0xb7, 0x23, 0x11, 0x1a, 0x91, 0xd1, 0x16, 0x86, 0x44, 0xea, 0x4f, 0x87,
+ 0x9a, 0xb3, 0xa9, 0xad, 0xb7, 0x75, 0x74, 0x6f, 0x09, 0x39, 0x52, 0x57,
+ 0x07, 0x18, 0x5d, 0xb4, 0x89, 0x05, 0xea, 0x2d, 0xc6, 0x0a, 0x53, 0x8d,
+ 0x21, 0xb1, 0x7d, 0x37, 0x86, 0x46, 0xbb, 0xe7, 0x4e, 0xef, 0x8b, 0x83,
+ 0x75, 0xc3, 0x63, 0xec, 0x87, 0x46, 0x8b, 0xcc, 0x1a, 0x46, 0x93, 0x91,
+ 0x81, 0x20, 0x18, 0x77, 0x91, 0xcd, 0x28, 0xd3, 0x9e, 0x01, 0x49, 0xf7,
+ 0xfe, 0xe0, 0xdd, 0xd1, 0xab, 0xef, 0x0e, 0x4e, 0x3e, 0x1c, 0x99, 0x57,
+ 0x72, 0xf3, 0xb1, 0x4d, 0x87, 0xb6, 0x43, 0x1f, 0x67, 0xf9, 0xb8, 0x9c,
+ 0x52, 0x40, 0x68, 0xe3, 0x8b, 0x8d, 0x35, 0x46, 0x82, 0x27, 0xeb, 0xf4,
+ 0xd6, 0x2e, 0xbf, 0x66, 0xf6, 0x05, 0xfd, 0x6b, 0x8f, 0xff, 0xb5, 0xf7,
+ 0xc5, 0xfa, 0x56, 0x6b, 0xd0, 0x81, 0x95, 0x7c, 0x89, 0x52, 0xa0, 0xa8,
+ 0xe0, 0x88, 0xa2, 0xd7, 0x48, 0xb3, 0xe0, 0x59, 0x59, 0xd7, 0x70, 0x8a,
+ 0xde, 0x6d, 0xf4, 0xec, 0xe6, 0xe8, 0xde, 0xb7, 0xc1, 0xd7, 0xe9, 0xa5,
+ 0x57, 0x50, 0x30, 0xd6, 0xb7, 0x7a, 0x56, 0xe5, 0x40, 0x54, 0x9b, 0xda,
+ 0xd0, 0x26, 0x98, 0x24, 0x32, 0xd9, 0x5c, 0xe7, 0xbf, 0xbc, 0x7a, 0x7d,
+ 0x70, 0x71, 0x44, 0x2f, 0xe8, 0xe7, 0x05, 0x38, 0x68, 0x33, 0x1e, 0xa8,
+ 0x3f, 0x9b, 0x12, 0x45, 0x7e, 0x45, 0x03, 0x5a, 0xdf, 0xe2, 0xb0, 0x03,
+ 0xe2, 0xdf, 0x9d, 0x7e, 0x95, 0x85, 0x62, 0xac, 0x5d, 0x02, 0x7a, 0xad,
+ 0xe0, 0x92, 0xcd, 0x75, 0xfe, 0xdd, 0xfa, 0x96, 0x7a, 0x70, 0xa5, 0xf6,
+ 0x8c, 0x44, 0x16, 0x27, 0xc8, 0x87, 0x08, 0x92, 0x60, 0x19, 0x3d, 0xe6,
+ 0xd6, 0x47, 0xe2, 0x0a, 0xec, 0x71, 0xf2, 0x6a, 0x18, 0xd8, 0x85, 0x97,
+ 0x0c, 0x77, 0xf2, 0x31, 0x95, 0xe5, 0xee, 0xde, 0x93, 0x2f, 0x30, 0x9f,
+ 0xaf, 0xd6, 0xb7, 0xcd, 0xdd, 0xb0, 0xfe, 0x05, 0x7d, 0x3a, 0x6f, 0xbc,
+ 0x4a, 0x7c, 0xf2, 0x19, 0xb2, 0xa7, 0x64, 0x47, 0x31, 0xb2, 0x85, 0x56,
+ 0xdd, 0xe3, 0xed, 0xc1, 0x84, 0xde, 0x72, 0x42, 0x97, 0x32, 0xdd, 0x68,
+ 0x9c, 0x1f, 0xeb, 0x85, 0x12, 0x62, 0x28, 0x8e, 0xc2, 0x4e, 0x5d, 0x7c,
+ 0xce, 0xbf, 0x3f, 0x7a, 0xfc, 0x2e, 0x8f, 0x51, 0x98, 0x81, 0xe8, 0x9b,
+ 0xb3, 0x7b, 0xcd, 0xf9, 0xc2, 0xb7, 0xa0, 0x93, 0xf3, 0x9a, 0x05, 0x9a,
+ 0xf1, 0x48, 0x7c, 0x3b, 0x6a, 0x8c, 0x40, 0x27, 0x30, 0xa2, 0xe5, 0x1e,
+ 0x8a, 0x12, 0x80, 0x01, 0x3e, 0x1e, 0x42, 0xef, 0xec, 0x74, 0x94, 0x1b,
+ 0x4d, 0xd8, 0x66, 0xb1, 0x78, 0x56, 0xb9, 0x9d, 0x7a, 0x3d, 0x7e, 0xb9,
+ 0xc7, 0xb9, 0x44, 0x17, 0x25, 0xcf, 0x65, 0x6d, 0x7d, 0x48, 0x08, 0x0c,
+ 0xca, 0xb3, 0xed, 0x75, 0xea, 0xa4, 0x8e, 0x61, 0x18, 0x6c, 0xd2, 0xb3,
+ 0x7d, 0x6c, 0x44, 0x4d, 0x91, 0x55, 0x2b, 0xb1, 0x10, 0x91, 0xb8, 0x11,
+ 0x86, 0xe8, 0x17, 0x04, 0x30, 0xef, 0x0c, 0x06, 0x03, 0x6b, 0xee, 0x20,
+ 0xe6, 0x25, 0xe1, 0x22, 0x62, 0xb3, 0xf3, 0x69, 0x82, 0x31, 0xc7, 0x9b,
+ 0x50, 0xe6, 0xa1, 0x50, 0x6f, 0x09, 0x46, 0x46, 0xfc, 0x04, 0xf6, 0x68,
+ 0x78, 0x3e, 0x8e, 0x0d, 0xf9, 0xec, 0x86, 0xd2, 0x31, 0x7c, 0x8a, 0x2d,
+ 0xc2, 0x8a, 0xbe, 0xb1, 0xef, 0x51, 0x4a, 0x12, 0x59, 0x39, 0x55, 0xda,
+ 0xb9, 0xa0, 0x1d, 0x4c, 0x58, 0x6f, 0x2e, 0x9d, 0x77, 0x6f, 0x4b, 0x11,
+ 0x69, 0x57, 0x7a, 0x0c, 0x13, 0x20, 0x21, 0x57, 0xde, 0x82, 0x7a, 0x00,
+ 0x04, 0x07, 0x04, 0x13, 0x29, 0xd8, 0x3d, 0xa0, 0x37, 0xc8, 0xdc, 0xaa,
+ 0xcd, 0xd2, 0x8e, 0xb0, 0x46, 0x93, 0xcd, 0x0c, 0xdd, 0xbf, 0xe7, 0x98,
+ 0xa5, 0xd7, 0x50, 0x25, 0x29, 0x13, 0xeb, 0xd9, 0x74, 0x15, 0x11, 0x2a,
+ 0x19, 0xbc, 0x73, 0x57, 0x11, 0x30, 0xac, 0xcf, 0x54, 0x2d, 0x9a, 0x33,
+ 0xa8, 0xd2, 0x43, 0xc8, 0x3a, 0x56, 0x85, 0xb6, 0xc7, 0xda, 0xa2, 0x8d,
+ 0x6b, 0x77, 0xe6, 0xc6, 0xdd, 0xca, 0x6d, 0xd1, 0x65, 0x66, 0x94, 0xbd,
+ 0xcb, 0x4c, 0x8a, 0xe1, 0xe4, 0x5e, 0x92, 0xde, 0x9a, 0xab, 0xa7, 0xc8,
+ 0x08, 0x4a, 0x09, 0x50, 0x02, 0xbc, 0x32, 0x27, 0x9e, 0x9f, 0xd1, 0x71,
+ 0x67, 0x4b, 0xc5, 0xaa, 0xd4, 0x95, 0xac, 0x4a, 0x36, 0xd9, 0xd0, 0x60,
+ 0xb6, 0x64, 0x75, 0xe8, 0x91, 0x02, 0x5e, 0xce, 0x88, 0xb4, 0x54, 0x34,
+ 0x75, 0x35, 0xcf, 0xa9, 0xe7, 0x46, 0x44, 0x0f, 0x65, 0xdf, 0xe4, 0x80,
+ 0x10, 0x92, 0x9f, 0x83, 0x21, 0x10, 0x3a, 0x5b, 0x69, 0x31, 0xf1, 0x3e,
+ 0x62, 0x43, 0xc9, 0xe2, 0x7e, 0x22, 0x24, 0x6e, 0xd1, 0x07, 0xbd, 0x84,
+ 0x46, 0x6f, 0xc5, 0xbc, 0xba, 0xba, 0x62, 0xab, 0x2d, 0xe9, 0x0e, 0x2d,
+ 0xbe, 0xc9, 0x4e, 0x68, 0x56, 0x08, 0xb0, 0x7c, 0xbf, 0x6c, 0x36, 0x2f,
+ 0x6c, 0x5d, 0x43, 0xf1, 0xba, 0xb4, 0x36, 0xb3, 0x86, 0x0f, 0x79, 0xdd,
+ 0x1a, 0x9b, 0x1f, 0x85, 0x5c, 0x8a, 0x76, 0xb8, 0xf7, 0xf4, 0x7c, 0x0d,
+ 0xe5, 0x68, 0x0a, 0xc7, 0x9d, 0xa0, 0x8b, 0x0e, 0xde, 0x3d, 0x07, 0x16,
+ 0x71, 0xa0, 0xd1, 0x5b, 0x8b, 0x8a, 0xc2, 0x76, 0x4d, 0x46, 0xa9, 0x33,
+ 0xb9, 0xd6, 0x92, 0x96, 0xb7, 0x97, 0x6a, 0x64, 0x1d, 0x17, 0x22, 0x87,
+ 0xca, 0x9b, 0xcc, 0x11, 0x3f, 0x3a, 0x87, 0xa3, 0x23, 0x1f, 0x96, 0xd3,
+ 0x6f, 0x85, 0x49, 0x27, 0x16, 0x6b, 0xe5, 0x15, 0x06, 0xd9, 0x99, 0x95,
+ 0x41, 0xe2, 0x35, 0xc9, 0xae, 0x92, 0xb2, 0xc5, 0x4d, 0x8d, 0xbe, 0x49,
+ 0x88, 0x59, 0x5b, 0xe4, 0x3d, 0xc2, 0xe4, 0x2d, 0x9e, 0x69, 0xc2, 0xa5,
+ 0x9c, 0xb4, 0x9a, 0x83, 0x85, 0xd3, 0xb9, 0x50, 0xad, 0x8e, 0x72, 0xdd,
+ 0x2e, 0xd2, 0xba, 0xd6, 0xcd, 0xc0, 0x26, 0xc0, 0x1e, 0x20, 0x85, 0xce,
+ 0x46, 0xdb, 0x2f, 0x64, 0x9d, 0xb0, 0x93, 0xe1, 0x41, 0xeb, 0x08, 0xd2,
+ 0xe0, 0xcc, 0x59, 0x34, 0x05, 0x52, 0x46, 0x88, 0xa9, 0x97, 0x20, 0x00,
+ 0xfd, 0xd1, 0x1a, 0xa7, 0x06, 0xf5, 0xc7, 0x2a, 0xd1, 0x57, 0x73, 0x0b,
+ 0x8c, 0x5a, 0x07, 0xf3, 0xa1, 0x73, 0x7a, 0x76, 0x7e, 0xfa, 0xcd, 0xf9,
+ 0xd1, 0x70, 0x98, 0xbc, 0x3b, 0xba, 0x60, 0x5b, 0xff, 0x82, 0x51, 0x72,
+ 0x57, 0xa8, 0xe4, 0x8d, 0x58, 0x83, 0x72, 0x33, 0x29, 0x3a, 0x44, 0x1d,
+ 0x09, 0x48, 0x4f, 0xa2, 0x02, 0xd5, 0xb8, 0x1d, 0xd9, 0x88, 0x9f, 0x0a,
+ 0xb8, 0xee, 0x1a, 0xde, 0x7e, 0xc0, 0x8f, 0x10, 0x90, 0xb4, 0xce, 0x73,
+ 0xe7, 0x46, 0x85, 0x62, 0xcc, 0x80, 0x24, 0x9b, 0x1e, 0xe8, 0x5c, 0xe8,
+ 0x74, 0x65, 0x9b, 0x3f, 0x31, 0xbc, 0x3f, 0x99, 0xd9, 0x94, 0xa2, 0x7c,
+ 0x7f, 0x32, 0xc6, 0xaf, 0x6c, 0x8a, 0x3f, 0x25, 0x3f, 0x98, 0x36, 0x27,
+ 0xc6, 0x78, 0x95, 0x02, 0xc4, 0x43, 0x14, 0x1e, 0x76, 0xd4, 0xcb, 0xb9,
+ 0x57, 0x5a, 0x3b, 0xe1, 0x6c, 0xc0, 0xea, 0x81, 0xaa, 0x9f, 0xa0, 0x75,
+ 0x61, 0x3a, 0x23, 0x81, 0xbf, 0xd9, 0x2f, 0x4b, 0xe5, 0xb7, 0x24, 0x39,
+ 0xc9, 0x2e, 0x51, 0x9c, 0x07, 0x9f, 0x33, 0xcd, 0xed, 0x10, 0x47, 0xf5,
+ 0xee, 0x3b, 0xfa, 0xd1, 0x4e, 0xf2, 0xe4, 0xf3, 0xe7, 0x3b, 0x9f, 0xf3,
+ 0x5f, 0xf5, 0xbf, 0x2f, 0x9e, 0xee, 0x08, 0x59, 0xbe, 0xf9, 0xd7, 0xd3,
+ 0xfd, 0xa7, 0xbb, 0xfb, 0x44, 0xdb, 0xb8, 0xb3, 0xbf, 0x63, 0xfe, 0xff,
+ 0x53, 0xf9, 0x09, 0x71, 0x53, 0xbe, 0xd8, 0xfb, 0xfc, 0x33, 0x00, 0x57,
+ 0x68, 0x7f, 0x4c, 0xcd, 0x47, 0xfa, 0x4d, 0xd9, 0x07, 0x7b, 0x14, 0x34,
+ 0x9f, 0x3f, 0xb5, 0x3d, 0x91, 0x84, 0xef, 0xa7, 0xa2, 0xe4, 0x34, 0x70,
+ 0x5b, 0x91, 0x55, 0xbd, 0xaa, 0x4c, 0x36, 0xe3, 0xd7, 0x91, 0xb4, 0xc3,
+ 0x90, 0xb7, 0xb9, 0xae, 0x21, 0xe8, 0xd8, 0x5a, 0xef, 0x30, 0x26, 0xdc,
+ 0x63, 0x7e, 0xfb, 0xa5, 0x9f, 0xd6, 0x9c, 0xef, 0x35, 0xf0, 0xb9, 0xc9,
+ 0x52, 0xc9, 0x7b, 0x63, 0x2d, 0x9e, 0xe7, 0x97, 0xf9, 0xee, 0xd4, 0xc6,
+ 0xfe, 0xa5, 0xdf, 0x63, 0xcf, 0x15, 0xbd, 0x25, 0xbb, 0x21, 0x09, 0xbf,
+ 0x66, 0xd3, 0x06, 0x22, 0xdf, 0x6a, 0x6d, 0x9e, 0x35, 0xb7, 0xfc, 0x6e,
+ 0xa6, 0xbc, 0xca, 0xdb, 0x36, 0xdd, 0x8a, 0x6b, 0x5c, 0x47, 0x86, 0x1c,
+ 0x34, 0xf7, 0x61, 0xee, 0xb7, 0xf7, 0x98, 0xe6, 0xdc, 0x88, 0xb0, 0x83,
+ 0xed, 0xca, 0xf5, 0xbd, 0xc5, 0xc9, 0x19, 0x83, 0x66, 0xeb, 0x98, 0x2a,
+ 0x5f, 0xa8, 0xad, 0x30, 0x8d, 0x57, 0xed, 0x96, 0xed, 0xf3, 0x1b, 0xa2,
+ 0x73, 0xda, 0x14, 0x36, 0x54, 0x8f, 0xc5, 0x15, 0xcf, 0xcf, 0xeb, 0xce,
+ 0x0e, 0x3e, 0x45, 0xbb, 0xd1, 0xfb, 0x9e, 0x7c, 0x03, 0xe7, 0xc9, 0x1e,
+ 0xba, 0x95, 0x43, 0x73, 0x30, 0x78, 0x2d, 0xa1, 0xc9, 0x90, 0x2b, 0x28,
+ 0xdf, 0xb1, 0x23, 0xe9, 0x9e, 0x03, 0xd2, 0xdc, 0x36, 0xe7, 0xdf, 0x3e,
+ 0x53, 0xb0, 0x82, 0x53, 0xff, 0xc0, 0xa8, 0xb4, 0xa0, 0xd2, 0x0e, 0x5b,
+ 0x2a, 0xc2, 0xfa, 0x7f, 0xb4, 0x08, 0x2b, 0x5c, 0x66, 0x8c, 0x40, 0xa3,
+ 0xa6, 0x68, 0x3e, 0xa7, 0x7e, 0xda, 0xab, 0x95, 0x76, 0xa3, 0xb4, 0x6a,
+ 0x15, 0x51, 0x58, 0x93, 0x22, 0x1c, 0x33, 0xa2, 0x9e, 0x43, 0x66, 0x22,
+ 0xeb, 0x11, 0x7f, 0x58, 0x5b, 0x1b, 0x9e, 0x1d, 0x1d, 0xbd, 0x4e, 0x4e,
+ 0x8e, 0xdf, 0x1d, 0x5f, 0x78, 0x5a, 0xb8, 0xbd, 0x3d, 0xd4, 0xd3, 0xaa,
+ 0xb5, 0xfc, 0x3a, 0xd3, 0xe1, 0x98, 0x98, 0xa5, 0xdc, 0x8b, 0xdc, 0xdf,
+ 0xb3, 0x4c, 0x12, 0x1e, 0xa6, 0xdd, 0xf7, 0x60, 0x6f, 0x83, 0x84, 0x89,
+ 0x2a, 0xa2, 0x7b, 0x5a, 0x5c, 0x6d, 0x34, 0x1a, 0xd3, 0xbb, 0x3e, 0x13,
+ 0x01, 0xf4, 0xff, 0x2a, 0x38, 0x8d, 0xb6, 0xba, 0x24, 0xa4, 0xb2, 0x36,
+ 0xfb, 0x46, 0x60, 0xa8, 0x9d, 0x5e, 0xd1, 0xdc, 0x66, 0x8c, 0x82, 0xf6,
+ 0xdc, 0x72, 0x40, 0xd8, 0xdd, 0x66, 0x20, 0x26, 0x98, 0xe5, 0x9c, 0x16,
+ 0xe9, 0xc3, 0x7f, 0x51, 0xd9, 0x44, 0x6e, 0x3c, 0xc8, 0x71, 0xff, 0x8b,
+ 0xde, 0xe9, 0xb0, 0xd8, 0x57, 0xfd, 0x56, 0xcd, 0xd5, 0x11, 0xcd, 0x04,
+ 0x14, 0xc9, 0x93, 0x1d, 0x9b, 0x59, 0x30, 0x87, 0xcc, 0x11, 0xfd, 0x9e,
+ 0x3e, 0xb6, 0x9b, 0x18, 0x25, 0x64, 0x41, 0xaa, 0x7c, 0xb5, 0x28, 0x82,
+ 0xeb, 0xee, 0xaf, 0xfc, 0xae, 0x19, 0xff, 0xf3, 0x1d, 0x5c, 0x6f, 0x97,
+ 0x69, 0xd5, 0x37, 0xea, 0xd6, 0x7d, 0x5f, 0x5d, 0xaa, 0xbc, 0x23, 0x04,
+ 0x1a, 0xcc, 0xfe, 0x9e, 0xcc, 0x55, 0x1d, 0xed, 0xa8, 0x88, 0x2e, 0x3d,
+ 0xa4, 0x44, 0x5c, 0x72, 0x2a, 0x07, 0x80, 0x86, 0x4e, 0x49, 0xb9, 0xea,
+ 0xe1, 0x74, 0x0a, 0x8e, 0x23, 0x1c, 0xd6, 0x55, 0x74, 0x32, 0x8a, 0x92,
+ 0x05, 0x20, 0x56, 0xa9, 0xd5, 0x9c, 0x86, 0x29, 0x63, 0x09, 0xf5, 0xe9,
+ 0x59, 0xb2, 0xfb, 0x39, 0x8d, 0xe3, 0x71, 0xe3, 0x79, 0x53, 0x56, 0x63,
+ 0x9b, 0xfe, 0x0b, 0x1b, 0xc1, 0xcb, 0x05, 0xe5, 0x0c, 0x06, 0x14, 0xc0,
+ 0xe3, 0xd9, 0x55, 0xfc, 0x2a, 0xf0, 0x75, 0x64, 0x94, 0x48, 0x3c, 0x1d,
+ 0xee, 0x28, 0x04, 0xb8, 0x59, 0x2d, 0xa2, 0xbb, 0x46, 0xe6, 0xc5, 0xab,
+ 0x17, 0x5b, 0xd9, 0x5c, 0x51, 0x9e, 0x06, 0x72, 0x89, 0x98, 0xbd, 0x76,
+ 0x9b, 0x4f, 0xa0, 0x4a, 0x3b, 0xea, 0x39, 0xb3, 0x5e, 0xbc, 0xf9, 0x18,
+ 0xd6, 0x8c, 0x98, 0x25, 0x82, 0x9d, 0xb6, 0x67, 0xa2, 0xc0, 0xd0, 0xb4,
+ 0x96, 0xf0, 0x28, 0x6c, 0x42, 0x7f, 0xa0, 0x54, 0x64, 0x17, 0x17, 0x20,
+ 0xfb, 0x89, 0x44, 0xf3, 0xba, 0xfb, 0x0a, 0xc1, 0xfa, 0x9b, 0x66, 0xaa,
+ 0xce, 0x84, 0x77, 0x76, 0x63, 0xb7, 0xc7, 0x4c, 0xa4, 0x2a, 0xde, 0xb0,
+ 0x77, 0x77, 0x8c, 0xd2, 0x3a, 0x2d, 0xed, 0xb6, 0x92, 0x4d, 0x15, 0x5a,
+ 0xa2, 0x18, 0x56, 0x1f, 0xb3, 0xb3, 0xbb, 0xf3, 0xed, 0xf2, 0x59, 0x07,
+ 0x71, 0xfd, 0xca, 0x97, 0xf7, 0x9e, 0xae, 0x58, 0xb4, 0xd3, 0x0a, 0xc6,
+ 0x78, 0xa6, 0x70, 0x45, 0x28, 0x82, 0x2e, 0xf2, 0x12, 0x2c, 0x9b, 0xd9,
+ 0xf8, 0xd9, 0x55, 0x8a, 0x3a, 0xcc, 0x2b, 0x7a, 0xaf, 0xe9, 0x1b, 0x9d,
+ 0xae, 0xbc, 0x13, 0x00, 0x35, 0xff, 0xb2, 0x26, 0xb7, 0xd8, 0x1c, 0xa4,
+ 0x78, 0xce, 0x76, 0xb5, 0x99, 0xdf, 0x4c, 0xa3, 0xe0, 0xbd, 0xcd, 0x92,
+ 0xb3, 0xd7, 0x16, 0x12, 0xba, 0x7b, 0xaa, 0xec, 0x6a, 0xc1, 0xa4, 0x15,
+ 0x25, 0xdb, 0xfa, 0xc4, 0x53, 0x2d, 0xe7, 0xd5, 0xc8, 0x66, 0x82, 0x0f,
+ 0xf1, 0x7e, 0x82, 0xe0, 0x1d, 0xa7, 0xaa, 0xb2, 0x4a, 0x29, 0xe5, 0xce,
+ 0xc5, 0x40, 0x4e, 0xd9, 0x71, 0x39, 0x93, 0x5a, 0xac, 0x7c, 0xbc, 0x0a,
+ 0x2f, 0x07, 0x9f, 0x89, 0x18, 0x07, 0x48, 0xca, 0xe5, 0x8d, 0x62, 0x85,
+ 0x3d, 0x65, 0x80, 0x51, 0x34, 0xac, 0xe1, 0xb0, 0x00, 0x1a, 0xe8, 0xc9,
+ 0xae, 0x45, 0x4b, 0xf6, 0x53, 0x24, 0xf1, 0x6b, 0x25, 0xc4, 0x64, 0xea,
+ 0x7c, 0x72, 0xf6, 0x1f, 0x9e, 0xbe, 0x7f, 0x73, 0xfc, 0x8d, 0x65, 0x1d,
+ 0x62, 0x21, 0xde, 0x62, 0xc3, 0x60, 0xf7, 0xb1, 0x1f, 0xe9, 0x96, 0x12,
+ 0xb7, 0x02, 0x94, 0x35, 0xe2, 0xe9, 0xa3, 0xff, 0x03, 0x08, 0x90, 0xe2,
+ 0x09, 0x39, 0xc8, 0x99, 0xaa, 0xa3, 0xde, 0x72, 0xee, 0x86, 0x0e, 0xab,
+ 0x1c, 0x27, 0x54, 0xa4, 0x55, 0xb3, 0x98, 0x5b, 0x10, 0xa1, 0x57, 0x22,
+ 0x57, 0x88, 0xb5, 0x35, 0x6b, 0x7c, 0x31, 0x67, 0xd1, 0x24, 0xb9, 0x9f,
+ 0x2d, 0x6f, 0x2e, 0xdf, 0x01, 0xe4, 0x4e, 0x10, 0xda, 0x13, 0xb9, 0x00,
+ 0x02, 0x5c, 0xce, 0x94, 0x98, 0x38, 0x7d, 0x68, 0xbb, 0xc6, 0x6f, 0x26,
+ 0x69, 0x7d, 0xcd, 0x03, 0xc5, 0xa5, 0x91, 0x33, 0xa2, 0x1a, 0xb1, 0xb6,
+ 0x74, 0x42, 0x86, 0xba, 0x03, 0xe3, 0x58, 0xa0, 0xae, 0x8b, 0x0f, 0xd9,
+ 0x12, 0x67, 0x0e, 0x9f, 0xa4, 0x19, 0xa7, 0x29, 0x42, 0x95, 0x88, 0x75,
+ 0xe2, 0x27, 0xaf, 0x28, 0x2c, 0xb3, 0x4f, 0xfc, 0xf2, 0x33, 0xe6, 0x7e,
+ 0xf3, 0x33, 0x45, 0x45, 0x4a, 0x3a, 0x12, 0xf8, 0xe3, 0x4b, 0x2f, 0xf9,
+ 0x8c, 0x71, 0x82, 0xba, 0xe9, 0xd8, 0x47, 0x4c, 0x0e, 0x96, 0x8d, 0x3f,
+ 0x6e, 0xf4, 0xeb, 0xfb, 0xd9, 0xa8, 0x9c, 0x6a, 0x8e, 0x84, 0xe5, 0x7a,
+ 0xd0, 0x87, 0xfc, 0xda, 0x77, 0x09, 0x47, 0x6a, 0x1b, 0xcf, 0x2d, 0xe9,
+ 0xb0, 0x52, 0xae, 0xff, 0x5c, 0xda, 0x08, 0xe1, 0x21, 0x1d, 0x05, 0x68,
+ 0x78, 0x48, 0xc6, 0x73, 0x55, 0x46, 0xa9, 0xc4, 0x62, 0xb6, 0x1f, 0x66,
+ 0xaa, 0x3d, 0x74, 0x8a, 0xf8, 0x95, 0x0b, 0xf2, 0x70, 0xa0, 0x9c, 0x88,
+ 0x51, 0x77, 0xd6, 0x85, 0xfc, 0x02, 0x03, 0xa4, 0xb7, 0xf9, 0x17, 0x02,
+ 0xa0, 0xf7, 0xa8, 0x68, 0xb8, 0xfe, 0x88, 0xe9, 0xea, 0x4f, 0xec, 0x50,
+ 0xe4, 0xb8, 0xdf, 0x5f, 0xf5, 0xe3, 0xfa, 0x68, 0x67, 0xea, 0xcd, 0x7e,
+ 0x4a, 0xab, 0x2b, 0x21, 0xd4, 0x93, 0x48, 0x1a, 0x8c, 0x44, 0x5b, 0xe5,
+ 0xc6, 0x3a, 0x26, 0x49, 0x29, 0xb1, 0xa8, 0x19, 0xa8, 0x4f, 0x0b, 0x4e,
+ 0xff, 0x93, 0xe4, 0x28, 0x76, 0x49, 0xda, 0x8d, 0xe8, 0x49, 0x9c, 0x3f,
+ 0x5a, 0x2c, 0x4a, 0xea, 0xee, 0x32, 0xad, 0x56, 0xe1, 0xfc, 0xb3, 0x72,
+ 0x99, 0x79, 0xaf, 0x91, 0x13, 0x0f, 0x96, 0x70, 0x26, 0x8e, 0x13, 0xfe,
+ 0x14, 0x74, 0x09, 0xa2, 0xa0, 0x91, 0x62, 0x9e, 0xae, 0x09, 0xfe, 0xfd,
+ 0x2b, 0x29, 0x5a, 0x66, 0xce, 0xb3, 0x90, 0x9a, 0x08, 0xd3, 0xdf, 0xe7,
+ 0x3b, 0xe2, 0x7e, 0x6b, 0x04, 0xae, 0x5a, 0x27, 0x07, 0xe7, 0x47, 0x46,
+ 0xb3, 0xbd, 0x2a, 0x40, 0x27, 0x51, 0x34, 0x9a, 0xff, 0x96, 0x15, 0x52,
+ 0x27, 0xad, 0xd0, 0xf3, 0x41, 0x1f, 0xbc, 0xf5, 0xde, 0xa4, 0xcd, 0x24,
+ 0xc0, 0x00, 0x4e, 0xb5, 0x76, 0x5b, 0x6e, 0xac, 0x34, 0xc1, 0x90, 0x3a,
+ 0xc4, 0x68, 0xc0, 0x5b, 0x8a, 0x42, 0x24, 0xe6, 0x53, 0xa5, 0x52, 0x04,
+ 0x9f, 0x05, 0x62, 0xdd, 0xe7, 0x06, 0xd6, 0xb9, 0xc6, 0xa9, 0x76, 0x59,
+ 0x03, 0x7f, 0x57, 0x0e, 0x4d, 0xf9, 0x56, 0x2b, 0xec, 0xe9, 0xb6, 0x53,
+ 0x2f, 0xee, 0x32, 0xfa, 0x3b, 0xee, 0x19, 0xd2, 0x45, 0xba, 0x7a, 0x41,
+ 0x66, 0xc1, 0xf0, 0xec, 0xbd, 0x9e, 0x78, 0xca, 0x2f, 0x67, 0xeb, 0x5d,
+ 0x67, 0xd3, 0x39, 0x3b, 0xa6, 0x85, 0xb4, 0x47, 0xfc, 0x3a, 0x6c, 0x0e,
+ 0x4c, 0xd6, 0x6c, 0x35, 0x52, 0xc0, 0x85, 0x47, 0x44, 0x6c, 0xf4, 0x89,
+ 0x15, 0x00, 0x5f, 0x3e, 0x45, 0x7d, 0xbb, 0x7f, 0xb4, 0xa3, 0x75, 0x7d,
+ 0x58, 0xf3, 0xaa, 0xdc, 0x9b, 0x25, 0x55, 0x22, 0x3a, 0xea, 0xc5, 0x80,
+ 0x3e, 0x04, 0x91, 0x8a, 0x98, 0x29, 0xfd, 0x05, 0x3f, 0x06, 0xea, 0x4d,
+ 0x99, 0x49, 0x21, 0x75, 0x2c, 0xdb, 0x55, 0x29, 0x31, 0x55, 0xd7, 0x11,
+ 0x0e, 0xec, 0x41, 0x42, 0x8f, 0x7c, 0xd5, 0xb8, 0xff, 0xed, 0xb6, 0x56,
+ 0x17, 0x27, 0xff, 0x0d, 0xe5, 0xfa, 0xea, 0x81, 0xaf, 0xb3, 0x56, 0x39,
+ 0x72, 0x9b, 0xd4, 0xb3, 0xde, 0x5f, 0x37, 0x73, 0xb1, 0x31, 0x9d, 0x3a,
+ 0x81, 0xaf, 0x8f, 0xd1, 0xaa, 0x22, 0xff, 0xcd, 0x29, 0x4c, 0x22, 0xbb,
+ 0xa8, 0xc6, 0xc6, 0x7d, 0x2b, 0x1b, 0x81, 0xaa, 0xd6, 0x51, 0xb2, 0x8e,
+ 0xe5, 0xe0, 0x42, 0x46, 0x07, 0x40, 0x02, 0x37, 0x79, 0xad, 0xc1, 0x47,
+ 0xb3, 0xb7, 0xc7, 0x8c, 0x89, 0x68, 0x98, 0x3b, 0x20, 0x6b, 0xc6, 0xde,
+ 0x54, 0x66, 0xe3, 0xeb, 0x92, 0x31, 0xb5, 0x66, 0xd2, 0xbc, 0xa4, 0xcc,
+ 0xf5, 0xe4, 0x7f, 0xc9, 0x1e, 0xf8, 0xd6, 0xe5, 0xd7, 0xd1, 0x46, 0x18,
+ 0x30, 0x65, 0xe4, 0xc0, 0x6d, 0x88, 0xa3, 0x1f, 0x2e, 0xce, 0x0f, 0x92,
+ 0xb7, 0x47, 0x07, 0xaf, 0x8f, 0xce, 0x87, 0x9d, 0x4b, 0x5f, 0xe0, 0x1f,
+ 0xac, 0xa1, 0x91, 0x13, 0x18, 0xaa, 0xb1, 0x72, 0x04, 0xc0, 0x26, 0x4a,
+ 0x67, 0x2a, 0xf5, 0xcc, 0xe6, 0xa1, 0x83, 0x64, 0xce, 0x07, 0x19, 0x44,
+ 0x1c, 0x2d, 0x00, 0x9f, 0x71, 0x0d, 0x61, 0x63, 0xdb, 0x18, 0x1b, 0x09,
+ 0x45, 0x20, 0x06, 0x75, 0x99, 0xfb, 0xc9, 0x2d, 0x8e, 0x56, 0xcf, 0x5d,
+ 0x26, 0x93, 0x52, 0xf3, 0xf6, 0xda, 0x2b, 0xf7, 0xd6, 0xa5, 0x66, 0x7b,
+ 0x62, 0x4b, 0x2e, 0x19, 0xf1, 0x1a, 0xae, 0xff, 0xd0, 0x37, 0xdf, 0xed,
+ 0x9b, 0xc9, 0xef, 0x13, 0xef, 0xe2, 0x7d, 0x56, 0xaf, 0x77, 0x5c, 0x80,
+ 0xed, 0xcf, 0x43, 0x46, 0x5f, 0x85, 0x27, 0xe9, 0x6d, 0xb4, 0x25, 0x3a,
+ 0x5d, 0x53, 0x2a, 0x97, 0xd4, 0xb5, 0x20, 0x70, 0xa9, 0x7a, 0x4a, 0xb2,
+ 0x9c, 0xa0, 0x20, 0x13, 0x45, 0x00, 0x4a, 0xce, 0xcc, 0x14, 0x3c, 0x18,
+ 0x3a, 0x22, 0x43, 0x80, 0xae, 0x63, 0xce, 0x1e, 0x5f, 0xea, 0x53, 0xa6,
+ 0x5e, 0x66, 0x8f, 0x99, 0xe9, 0x96, 0x3c, 0xe4, 0xdf, 0x0f, 0x08, 0x80,
+ 0x08, 0x06, 0xbf, 0x6e, 0xc5, 0x47, 0xc5, 0x19, 0x2a, 0x25, 0x1c, 0xa5,
+ 0x39, 0xea, 0x83, 0xdd, 0xf3, 0x0a, 0xdd, 0xa7, 0x4f, 0x6a, 0xc1, 0x10,
+ 0x79, 0x97, 0x51, 0x60, 0x64, 0xd4, 0xc3, 0xbf, 0xc9, 0x35, 0x74, 0xe9,
+ 0x1d, 0xd5, 0x57, 0xbd, 0xb4, 0x1d, 0x7f, 0x33, 0xa3, 0x52, 0x1b, 0xd0,
+ 0xe3, 0xf6, 0xb9, 0x2c, 0x79, 0x5b, 0xd6, 0xb8, 0x0b, 0xc2, 0xc7, 0xe9,
+ 0x92, 0x8f, 0x4d, 0x3f, 0xde, 0x90, 0xf8, 0x96, 0xe5, 0x73, 0x5d, 0x5b,
+ 0xd3, 0xec, 0xa7, 0xb3, 0x83, 0x8b, 0xb7, 0x88, 0xae, 0x62, 0x0b, 0xbf,
+ 0x06, 0xb9, 0x89, 0xc6, 0xd4, 0xc2, 0xec, 0x29, 0x6b, 0xc0, 0xb1, 0xfe,
+ 0xab, 0x1c, 0x8a, 0xaa, 0x4f, 0x22, 0x7a, 0x97, 0x33, 0x10, 0x69, 0xca,
+ 0x75, 0x8b, 0x21, 0xa3, 0x5b, 0x65, 0x19, 0x01, 0x7d, 0xb7, 0xa9, 0x71,
+ 0x16, 0x6f, 0xb9, 0xc1, 0x39, 0xeb, 0x1b, 0x3c, 0x26, 0x6c, 0x7a, 0x52,
+ 0xe6, 0xc8, 0xe2, 0xf1, 0x49, 0x82, 0xf1, 0x0b, 0x4a, 0x4a, 0xe6, 0x00,
+ 0xd4, 0xa4, 0x8c, 0x53, 0x14, 0x7a, 0x47, 0xfa, 0xab, 0xd9, 0xfd, 0x20,
+ 0xe4, 0xca, 0x49, 0xbe, 0x5e, 0x34, 0x6d, 0xb1, 0xd2, 0xa1, 0x2a, 0xb6,
+ 0x9a, 0x65, 0x55, 0x96, 0x8d, 0xd7, 0x07, 0x68, 0x3f, 0x69, 0x23, 0x27,
+ 0x9a, 0xb9, 0x28, 0xb9, 0x2f, 0xd4, 0x54, 0x21, 0x7a, 0xb7, 0xaf, 0x18,
+ 0xa6, 0xa3, 0xba, 0x9c, 0x2e, 0x1a, 0x0f, 0x7d, 0xfd, 0xcb, 0xfa, 0xec,
+ 0x75, 0x7a, 0xf3, 0x78, 0xa0, 0xbc, 0x9c, 0x05, 0xb3, 0xc9, 0x19, 0x4b,
+ 0xdf, 0xa8, 0x97, 0x08, 0x36, 0x56, 0x65, 0xd1, 0x2e, 0x09, 0x07, 0xa0,
+ 0xf7, 0xd6, 0xda, 0xda, 0x50, 0x17, 0x9b, 0x98, 0x59, 0xc3, 0x45, 0xff,
+ 0x1e, 0xda, 0x24, 0xf5, 0x81, 0x83, 0x05, 0x63, 0xf3, 0x17, 0xe5, 0x6b,
+ 0xcb, 0x78, 0x4d, 0x21, 0xc2, 0x79, 0x8d, 0xf3, 0xba, 0x3d, 0x28, 0xfc,
+ 0xca, 0x86, 0x2b, 0x34, 0x15, 0xec, 0xa2, 0x54, 0x8a, 0x7e, 0x09, 0xd7,
+ 0xb9, 0x0d, 0xd1, 0x4a, 0x5c, 0x8f, 0x92, 0x41, 0xd3, 0x25, 0xa0, 0xd5,
+ 0xb0, 0x2d, 0x1c, 0x97, 0x3a, 0xb9, 0xfd, 0xbf, 0xb7, 0x93, 0x1e, 0x17,
+ 0x2b, 0x88, 0xf0, 0xeb, 0x2c, 0x92, 0xff, 0x1f, 0x80, 0x57, 0xc2, 0xc4,
+ 0x4b, 0x6d, 0x0e, 0xda, 0x5c, 0xaf, 0x03, 0x63, 0x42, 0x5d, 0x57, 0x63,
+ 0xb7, 0xfb, 0x8d, 0x76, 0x90, 0xdd, 0x92, 0xfd, 0xa2, 0x36, 0x82, 0x30,
+ 0x7b, 0x70, 0x41, 0x6a, 0xcb, 0x95, 0x04, 0x66, 0x8c, 0x4b, 0xeb, 0xd5,
+ 0xa3, 0xf2, 0xaa, 0x5c, 0x83, 0x94, 0xd5, 0x7a, 0x54, 0x57, 0xd2, 0xb0,
+ 0xe9, 0x5a, 0xd2, 0xb2, 0xdb, 0xa9, 0x3a, 0x21, 0xff, 0xa9, 0x49, 0x47,
+ 0x02, 0xec, 0x92, 0xed, 0xef, 0x55, 0xec, 0x93, 0xda, 0xc7, 0x48, 0x6d,
+ 0x12, 0xc4, 0x29, 0xa3, 0xe9, 0x34, 0x1c, 0xa9, 0x9d, 0x54, 0x2d, 0x80,
+ 0xa2, 0x95, 0x60, 0xa0, 0x14, 0x92, 0x10, 0x42, 0x92, 0x11, 0xdd, 0x30,
+ 0xe7, 0x57, 0x53, 0x6d, 0x49, 0xb5, 0x64, 0xf4, 0x4a, 0xd5, 0x34, 0x0e,
+ 0xbb, 0x52, 0xae, 0xfb, 0x72, 0xf7, 0x23, 0x5f, 0x1e, 0x91, 0x39, 0xaa,
+ 0xa8, 0xe9, 0xab, 0x04, 0x3a, 0x24, 0x29, 0xf0, 0xcb, 0xe0, 0x0d, 0x1f,
+ 0x90, 0xe2, 0x10, 0x9b, 0x57, 0x94, 0xe5, 0x21, 0x2e, 0x29, 0xa1, 0x1d,
+ 0x81, 0xff, 0xeb, 0x3a, 0x17, 0x5c, 0x29, 0xcf, 0x7a, 0xbb, 0xa8, 0x2a,
+ 0x3c, 0x7c, 0x6b, 0x89, 0x1f, 0x55, 0xb5, 0xc0, 0x87, 0x41, 0x78, 0x60,
+ 0x06, 0x96, 0x00, 0x55, 0x2e, 0x91, 0x63, 0x3f, 0xfd, 0x9b, 0x51, 0x18,
+ 0x16, 0xeb, 0xfc, 0xc8, 0xaf, 0xfb, 0x9f, 0x24, 0x10, 0x6b, 0x91, 0x70,
+ 0x02, 0x89, 0xb0, 0xba, 0xd1, 0x85, 0xb2, 0xb7, 0x0b, 0xc3, 0x94, 0x31,
+ 0x1b, 0xa0, 0x14, 0xd5, 0x16, 0x5a, 0x75, 0xd9, 0xbc, 0xc9, 0xdf, 0xea,
+ 0xc9, 0x2c, 0xd9, 0xe4, 0x78, 0x09, 0x31, 0xb3, 0x5e, 0xe8, 0xc5, 0x9d,
+ 0x5a, 0x05, 0xe1, 0x38, 0xe1, 0xba, 0x6e, 0xaa, 0xc5, 0xb8, 0x69, 0x97,
+ 0x85, 0x75, 0x3b, 0xcc, 0x16, 0x9f, 0xe3, 0x39, 0x2e, 0x7d, 0xdb, 0xfe,
+ 0xf8, 0x4c, 0xcc, 0x7b, 0xb6, 0x3e, 0xa8, 0x67, 0x9b, 0x69, 0x2b, 0xc9,
+ 0xc5, 0x96, 0x24, 0xf5, 0xbf, 0xbb, 0x65, 0x77, 0x59, 0xff, 0xcc, 0x26,
+ 0xbf, 0xb7, 0x99, 0x8a, 0x90, 0x9d, 0xe0, 0xdd, 0xbd, 0xa2, 0x88, 0x41,
+ 0xf1, 0xa8, 0x12, 0xe1, 0x49, 0x84, 0x5a, 0x43, 0x2e, 0xcb, 0x35, 0xcb,
+ 0x65, 0x68, 0xba, 0xd4, 0x17, 0xa8, 0x2a, 0x47, 0x7f, 0xb7, 0xcd, 0x44,
+ 0x6a, 0xe1, 0x1f, 0x5b, 0xf4, 0xaa, 0x76, 0x7c, 0x88, 0x1d, 0x9c, 0x2a,
+ 0xd8, 0x94, 0xac, 0x7e, 0x28, 0xbc, 0x6e, 0x32, 0x7f, 0x83, 0xe4, 0xb5,
+ 0x1c, 0x0a, 0xf9, 0x42, 0x57, 0x9d, 0x08, 0xef, 0xc6, 0x33, 0x66, 0x2d,
+ 0x09, 0xf6, 0xd1, 0x6b, 0xf5, 0xa9, 0x42, 0xe4, 0x60, 0x6e, 0xc8, 0xb2,
+ 0xd1, 0x45, 0x32, 0xf3, 0xaa, 0x9f, 0x30, 0x5d, 0xa0, 0x11, 0x6f, 0x4c,
+ 0xb3, 0x9d, 0x0d, 0xaf, 0x6a, 0xd7, 0x26, 0x83, 0xfe, 0x4b, 0x58, 0x3f,
+ 0x96, 0x57, 0x90, 0xbd, 0x17, 0x04, 0x6e, 0xdb, 0x8a, 0x74, 0xc5, 0x34,
+ 0xf1, 0x4b, 0x3b, 0xb3, 0xfb, 0x62, 0x6f, 0xb0, 0xfb, 0xfc, 0xf3, 0xc1,
+ 0xce, 0x60, 0x77, 0x87, 0xe4, 0x0b, 0x75, 0xc5, 0xeb, 0x1c, 0xcf, 0x4b,
+ 0xe4, 0x53, 0xad, 0xf7, 0xc2, 0x6f, 0xbe, 0x3f, 0xba, 0xf8, 0xfe, 0xf4,
+ 0xfc, 0xdb, 0xe4, 0xf8, 0xfd, 0xc5, 0xd1, 0xf9, 0x9b, 0x83, 0xc3, 0xc7,
+ 0x72, 0xeb, 0xfb, 0x6e, 0x6b, 0xaf, 0x84, 0x79, 0xe6, 0x26, 0x26, 0xf4,
+ 0x0d, 0xba, 0x39, 0xcb, 0x9a, 0xeb, 0x9d, 0xfd, 0xdd, 0x95, 0xec, 0xd1,
+ 0x11, 0xf7, 0xa0, 0x7b, 0x5f, 0x07, 0xb5, 0x4b, 0x83, 0x5a, 0xde, 0x8a,
+ 0x65, 0x51, 0x1c, 0x32, 0xb6, 0xca, 0xe2, 0x72, 0x21, 0xe6, 0x51, 0x14,
+ 0x09, 0xe4, 0xa9, 0x22, 0xd8, 0x47, 0xcc, 0x53, 0xcb, 0x25, 0xde, 0x84,
+ 0x0f, 0x46, 0x30, 0xe8, 0x22, 0x73, 0xd7, 0xb8, 0x5c, 0x78, 0x23, 0xee,
+ 0x14, 0x66, 0x9e, 0x9d, 0x40, 0xc5, 0x53, 0xa9, 0x2c, 0xb9, 0x6b, 0xb4,
+ 0x5b, 0xa4, 0x66, 0x29, 0x73, 0x03, 0x4e, 0x6c, 0x9e, 0x88, 0x25, 0x0c,
+ 0x58, 0x4b, 0x3c, 0x3d, 0x1d, 0x7d, 0x6d, 0x57, 0x7c, 0xf7, 0xe1, 0xb3,
+ 0x1d, 0x9a, 0xd4, 0x5a, 0x71, 0xcd, 0x18, 0x58, 0xcb, 0x35, 0x7a, 0x28,
+ 0x1d, 0xc1, 0x69, 0xf0, 0x7a, 0xc3, 0x9f, 0x82, 0x42, 0x45, 0x7c, 0x66,
+ 0x60, 0x72, 0x6c, 0x91, 0x19, 0xf3, 0x1d, 0x85, 0xdc, 0x09, 0xd6, 0xff,
+ 0xb4, 0x02, 0x05, 0xb5, 0x5e, 0xb7, 0xf8, 0x04, 0x13, 0xae, 0x51, 0xe2,
+ 0xbf, 0xce, 0xaa, 0x36, 0xd0, 0x99, 0x93, 0x2a, 0xbd, 0x45, 0xb5, 0x95,
+ 0xdc, 0xb1, 0x83, 0xae, 0xb5, 0x8b, 0x6d, 0x91, 0xe2, 0xe4, 0xe6, 0x3c,
+ 0x39, 0x3b, 0x7a, 0xd7, 0xd7, 0x92, 0xc7, 0xe6, 0xef, 0xec, 0x8c, 0x52,
+ 0x2a, 0x48, 0xce, 0xed, 0x99, 0x67, 0x85, 0x62, 0x69, 0x20, 0x13, 0x05,
+ 0xfc, 0xe3, 0x0f, 0x80, 0x0e, 0x8d, 0x25, 0x8b, 0x14, 0xc8, 0xa8, 0x62,
+ 0x2e, 0x39, 0xb7, 0xb0, 0xcb, 0xa0, 0x49, 0xeb, 0x29, 0x80, 0xe5, 0x64,
+ 0xd3, 0x82, 0x74, 0xe9, 0x7b, 0x40, 0xa2, 0x02, 0x35, 0x60, 0x61, 0x02,
+ 0xa5, 0x56, 0xff, 0x3b, 0xfb, 0xf6, 0x70, 0xf8, 0xc7, 0xdd, 0x3d, 0xe9,
+ 0xce, 0x96, 0x5a, 0x05, 0x24, 0xab, 0xba, 0xf9, 0xf3, 0x10, 0xd7, 0x7e,
+ 0x1f, 0x35, 0xc5, 0x1a, 0x07, 0x1c, 0x8b, 0xb1, 0x69, 0x13, 0x83, 0xb6,
+ 0x5a, 0x99, 0x41, 0x40, 0x7e, 0xdd, 0x5b, 0x15, 0xd3, 0x96, 0xf0, 0xa5,
+ 0x90, 0x08, 0xaa, 0x3d, 0x49, 0xbd, 0xa5, 0xc6, 0x42, 0xfd, 0xd2, 0x42,
+ 0x7f, 0xc4, 0x2d, 0x4b, 0x6b, 0x1b, 0xb5, 0x24, 0x59, 0x31, 0x9c, 0xa5,
+ 0xbb, 0xe6, 0x34, 0xdf, 0xee, 0xb7, 0x44, 0xe9, 0x2a, 0x37, 0xbb, 0x72,
+ 0xf7, 0xb8, 0xcf, 0xe0, 0x00, 0x08, 0x7a, 0x7d, 0xa2, 0x15, 0xdd, 0x0a,
+ 0x57, 0xb2, 0x84, 0x9e, 0x3e, 0x35, 0x0b, 0x65, 0x4e, 0x16, 0x53, 0x2c,
+ 0x90, 0x50, 0x28, 0xa7, 0x64, 0xba, 0xd8, 0x47, 0x5e, 0x57, 0x54, 0xe4,
+ 0x65, 0xce, 0x38, 0xd2, 0xf7, 0x83, 0xe4, 0x6d, 0x56, 0x50, 0x8e, 0x3b,
+ 0x21, 0xee, 0x34, 0xf7, 0x0a, 0xb8, 0x40, 0x2a, 0x29, 0x89, 0x12, 0x7b,
+ 0x27, 0x59, 0x2a, 0xf4, 0x99, 0x46, 0xd6, 0xd5, 0x6c, 0xe1, 0x6a, 0x79,
+ 0xa9, 0x94, 0xd0, 0x79, 0xc2, 0xf5, 0x69, 0x79, 0x29, 0x98, 0xcf, 0x99,
+ 0x1a, 0xd8, 0x6c, 0x73, 0x60, 0xa2, 0x7a, 0x01, 0x9a, 0x93, 0x63, 0x8e,
+ 0x58, 0x93, 0x78, 0x95, 0xaf, 0xc1, 0x7c, 0x4d, 0xde, 0x42, 0xb6, 0xb8,
+ 0x9c, 0x50, 0x99, 0x54, 0xd7, 0xe4, 0xfa, 0xa8, 0xcd, 0x75, 0x93, 0x16,
+ 0xe3, 0xfb, 0xc1, 0xc4, 0xe8, 0xb2, 0xe4, 0x3c, 0x1b, 0x2c, 0x3e, 0x6d,
+ 0x7b, 0xc7, 0x94, 0x44, 0xfe, 0x35, 0xa7, 0xf3, 0xb7, 0x1d, 0xdf, 0x5a,
+ 0xba, 0x38, 0x64, 0xf9, 0x4a, 0x5b, 0x67, 0x82, 0xb6, 0x04, 0xa3, 0x22,
+ 0xf5, 0x78, 0x2e, 0xe5, 0xc3, 0x3a, 0x4a, 0x2c, 0x19, 0x31, 0xb5, 0x30,
+ 0x98, 0x67, 0xb3, 0x7d, 0x9b, 0x8d, 0xac, 0xf2, 0x41, 0x0a, 0x60, 0x58,
+ 0xc3, 0xc2, 0x73, 0xd2, 0x16, 0xd9, 0xd5, 0x54, 0x14, 0x0a, 0xdf, 0x74,
+ 0xb1, 0x4d, 0x44, 0x52, 0x40, 0xd8, 0xe0, 0x91, 0xe2, 0x47, 0xd0, 0xd8,
+ 0xcd, 0x3e, 0x6c, 0x04, 0x52, 0xcb, 0x0f, 0x57, 0xa4, 0xd0, 0xbb, 0x46,
+ 0x84, 0xe4, 0x03, 0xbc, 0xc8, 0xa4, 0x0c, 0x8b, 0x8b, 0x47, 0x91, 0x48,
+ 0x12, 0x7e, 0x22, 0xce, 0x56, 0xec, 0x10, 0x30, 0xae, 0x0b, 0x2a, 0x1a,
+ 0xc1, 0x4f, 0x2d, 0x0f, 0xcc, 0x67, 0xc5, 0xfc, 0xfa, 0xe6, 0x09, 0x79,
+ 0xbc, 0x2f, 0x4e, 0x86, 0x1a, 0x15, 0x29, 0xb2, 0x5b, 0x6f, 0x6b, 0x71,
+ 0x95, 0x00, 0xd9, 0x7f, 0xe4, 0x00, 0x62, 0xf6, 0x63, 0xb0, 0x1d, 0xa0,
+ 0x27, 0x2c, 0x15, 0x5c, 0x98, 0xcc, 0x25, 0x3f, 0xe8, 0x24, 0x08, 0x8c,
+ 0x98, 0xba, 0xa2, 0x95, 0xcc, 0x58, 0x19, 0xb2, 0xa4, 0x2c, 0x44, 0xb3,
+ 0x67, 0x94, 0xa5, 0x27, 0xbd, 0xa4, 0xbf, 0x07, 0xaa, 0x9b, 0xdd, 0xf6,
+ 0x24, 0xa6, 0x0d, 0x33, 0xfa, 0x51, 0x1b, 0xa6, 0x25, 0x6d, 0x45, 0xc4,
+ 0xc1, 0xa6, 0x6c, 0xe9, 0x1b, 0xf3, 0x3e, 0xfd, 0xb1, 0x27, 0x03, 0xba,
+ 0xd9, 0x05, 0x62, 0x9b, 0x29, 0x26, 0xa7, 0xf7, 0xa1, 0xca, 0xb0, 0xb7,
+ 0x72, 0x55, 0x91, 0x1b, 0x71, 0x9b, 0x5b, 0xae, 0x67, 0xae, 0x6f, 0x00,
+ 0x57, 0xa8, 0xb0, 0x77, 0x6a, 0x07, 0xcc, 0x14, 0x8a, 0x93, 0xbb, 0x48,
+ 0x6e, 0xf6, 0x34, 0xd6, 0x4c, 0xbf, 0xd1, 0x79, 0x63, 0x67, 0xbd, 0x13,
+ 0x22, 0x41, 0xda, 0x22, 0xa1, 0xdc, 0xbc, 0x5d, 0x4b, 0x59, 0x4f, 0x66,
+ 0xcf, 0x1a, 0x29, 0xd2, 0x92, 0x32, 0x65, 0x21, 0x6e, 0x05, 0x4e, 0x79,
+ 0x67, 0xea, 0x78, 0x32, 0xe0, 0x3d, 0x98, 0x13, 0x90, 0xdf, 0x1e, 0x22,
+ 0xf2, 0xb8, 0xb0, 0x89, 0x12, 0xe2, 0xca, 0x07, 0x9b, 0x1e, 0x96, 0xff,
+ 0x3a, 0x67, 0xc7, 0x04, 0xb0, 0xa6, 0xb8, 0xce, 0xcd, 0xc9, 0xdf, 0x48,
+ 0xcc, 0x61, 0x5a, 0x90, 0xc4, 0x6f, 0x6c, 0x59, 0xb5, 0x21, 0xb3, 0x70,
+ 0x6e, 0xf8, 0x62, 0xae, 0xff, 0x25, 0x0d, 0xa5, 0xde, 0x70, 0x63, 0x17,
+ 0x36, 0xf2, 0xf6, 0x40, 0x24, 0xce, 0xa1, 0x85, 0xc4, 0xce, 0x2a, 0x2d,
+ 0x95, 0xbe, 0x71, 0x74, 0x47, 0x3a, 0xce, 0x86, 0x7c, 0x89, 0x7f, 0xcd,
+ 0x39, 0xfd, 0x98, 0xa3, 0xb3, 0xe3, 0xf7, 0x5c, 0xfd, 0xdb, 0x9e, 0x85,
+ 0x8c, 0x58, 0x12, 0xd7, 0xb8, 0xcc, 0x3c, 0xfa, 0x93, 0x2a, 0x5d, 0x3b,
+ 0x3b, 0x8e, 0x68, 0xcf, 0xd0, 0x1e, 0xcf, 0xe5, 0x5b, 0xe7, 0x0b, 0xfe,
+ 0xfa, 0x06, 0xdd, 0x73, 0x75, 0x3d, 0xdd, 0xe8, 0x54, 0xb5, 0xb5, 0x6b,
+ 0xd2, 0xb9, 0x50, 0xac, 0x47, 0x6a, 0x3c, 0x71, 0x0a, 0x7e, 0x92, 0x48,
+ 0x2b, 0x2d, 0x39, 0xd7, 0xeb, 0x64, 0x3a, 0xfa, 0xae, 0xf0, 0x3f, 0x26,
+ 0x83, 0x6d, 0xf3, 0xc1, 0x7a, 0x5b, 0x5f, 0x9c, 0x7f, 0x1a, 0xd7, 0xe6,
+ 0x86, 0xa3, 0xb4, 0xde, 0x1f, 0x61, 0x90, 0x63, 0x39, 0x4c, 0x8f, 0x27,
+ 0x3f, 0x27, 0xfd, 0xf1, 0x14, 0xe3, 0x4b, 0x50, 0x3e, 0xfb, 0x47, 0xb3,
+ 0xf2, 0xf4, 0xc4, 0xcf, 0x76, 0x0d, 0xdf, 0xe4, 0x74, 0xde, 0xee, 0x7a,
+ 0x3a, 0xf4, 0x53, 0x36, 0x18, 0x98, 0x8a, 0x36, 0x39, 0x98, 0xdc, 0x50,
+ 0xd2, 0xdd, 0x44, 0xfe, 0x49, 0xe3, 0x39, 0x2a, 0x50, 0x79, 0x14, 0x23,
+ 0x4d, 0x47, 0x5c, 0x68, 0xfc, 0xbb, 0xdc, 0x18, 0x1d, 0x87, 0x1d, 0xfd,
+ 0x82, 0xf2, 0xff, 0xa8, 0x83, 0x78, 0xcb, 0xfb, 0xa5, 0x26, 0x73, 0xf4,
+ 0x24, 0x67, 0xc1, 0x41, 0x4b, 0x49, 0x3a, 0xd3, 0xd2, 0x0d, 0x92, 0xaf,
+ 0x29, 0xc6, 0x59, 0x65, 0x1e, 0x51, 0xab, 0x5c, 0x7c, 0x5c, 0xa1, 0x8f,
+ 0x16, 0x23, 0x65, 0xfe, 0x89, 0x81, 0x1d, 0x49, 0x90, 0x03, 0x63, 0xc7,
+ 0x64, 0x7f, 0xd3, 0x1e, 0x1c, 0xfa, 0xa5, 0x29, 0xed, 0x66, 0x28, 0x9a,
+ 0x2f, 0x91, 0x04, 0x43, 0xf1, 0x28, 0x24, 0xb9, 0x87, 0x7c, 0x61, 0x4e,
+ 0x32, 0x4d, 0xec, 0x2f, 0x7d, 0x36, 0x15, 0xf5, 0x1c, 0xa3, 0x29, 0xd5,
+ 0x08, 0xec, 0x96, 0xc0, 0x1d, 0xee, 0x7a, 0x7d, 0x78, 0x6d, 0x44, 0x73,
+ 0x66, 0xbb, 0x3a, 0x64, 0x97, 0x9e, 0x76, 0x71, 0x48, 0x77, 0x94, 0x2e,
+ 0x82, 0xfd, 0xa5, 0x66, 0x47, 0x42, 0x0b, 0xdd, 0x66, 0xd9, 0x65, 0xf7,
+ 0x2e, 0xcf, 0x6e, 0x7b, 0x08, 0x94, 0xd4, 0x38, 0xfc, 0xf0, 0x8e, 0xaa,
+ 0x90, 0xa0, 0x20, 0xf5, 0xc5, 0xf9, 0xc1, 0xfb, 0xe1, 0x1b, 0x76, 0x8d,
+ 0x5f, 0x94, 0x5e, 0xa9, 0x6b, 0x89, 0x2b, 0x68, 0xfc, 0xd8, 0x32, 0xba,
+ 0xdd, 0x72, 0x69, 0x0c, 0xc5, 0xd3, 0x4b, 0x1d, 0xec, 0x5e, 0x97, 0x1a,
+ 0x9f, 0x8b, 0x68, 0xd3, 0x6c, 0x50, 0xd7, 0x36, 0x87, 0x5b, 0x56, 0x11,
+ 0xaa, 0xfd, 0xfa, 0x69, 0xae, 0x08, 0xbd, 0x92, 0x38, 0xcb, 0x43, 0x34,
+ 0x2d, 0x87, 0xda, 0x19, 0xfd, 0x29, 0xdf, 0xbd, 0x4b, 0x79, 0x43, 0x0f,
+ 0x8d, 0xa9, 0xd8, 0x97, 0xa2, 0x32, 0x8e, 0x3a, 0xcd, 0xb9, 0x53, 0xf9,
+ 0xee, 0x15, 0xd6, 0x3d, 0xdb, 0xb8, 0x9f, 0xf7, 0xa9, 0x4d, 0x6f, 0xfe,
+ 0x79, 0x77, 0x2b, 0xde, 0xfc, 0xc5, 0x2f, 0x6d, 0x3e, 0xde, 0x77, 0xb5,
+ 0xcd, 0x5c, 0x4a, 0xd1, 0xe6, 0x9f, 0xf7, 0xb6, 0x56, 0x8e, 0xc8, 0xcf,
+ 0x8a, 0x74, 0xdf, 0x34, 0x6f, 0x50, 0x67, 0x93, 0x57, 0x7c, 0xcc, 0xac,
+ 0xce, 0x64, 0x11, 0x3a, 0x1e, 0x35, 0x70, 0x8b, 0xb0, 0x83, 0x60, 0xdb,
+ 0x56, 0x53, 0x77, 0x81, 0x37, 0xc9, 0x2e, 0x39, 0xfe, 0x9f, 0x47, 0x3e,
+ 0xe3, 0x63, 0xb1, 0xd1, 0xf8, 0x57, 0x14, 0xb1, 0x03, 0xd4, 0xe5, 0x00,
+ 0xdf, 0xde, 0x5b, 0xf1, 0x6d, 0x37, 0x3a, 0xcf, 0x2d, 0x41, 0x51, 0x6c,
+ 0x82, 0xc1, 0x29, 0x71, 0xb5, 0x7c, 0xc7, 0x7e, 0x7b, 0xd5, 0xf7, 0x2e,
+ 0x8e, 0xdf, 0x1d, 0x11, 0xc1, 0xf5, 0xeb, 0x63, 0xe2, 0x89, 0x1b, 0x0a,
+ 0x53, 0xa3, 0x7a, 0x20, 0x2c, 0x79, 0xae, 0x5f, 0xd8, 0x84, 0xc3, 0xbb,
+ 0x16, 0x6d, 0x66, 0x25, 0x87, 0x5d, 0x09, 0xfa, 0xb4, 0x60, 0xa0, 0x6b,
+ 0xcd, 0xb4, 0x3c, 0xbe, 0xec, 0xbf, 0x2b, 0x27, 0xb0, 0x92, 0xfb, 0x43,
+ 0x40, 0x05, 0xcd, 0x5b, 0xe6, 0x87, 0x1f, 0x8a, 0x59, 0xeb, 0xc7, 0x83,
+ 0x48, 0xa6, 0xee, 0xda, 0xb2, 0xfa, 0x39, 0xff, 0xd8, 0xee, 0xf7, 0xa9,
+ 0x33, 0x7d, 0x86, 0x75, 0x49, 0x70, 0xa7, 0xc5, 0xcf, 0xa1, 0xa2, 0xc5,
+ 0x4c, 0x50, 0x3e, 0xbd, 0x67, 0x20, 0x42, 0xea, 0xe0, 0x63, 0x2e, 0x7b,
+ 0xf3, 0x8a, 0x32, 0xc8, 0x9c, 0x8b, 0x8f, 0x9d, 0x78, 0x6b, 0x3e, 0xcf,
+ 0x28, 0x0c, 0xa9, 0xec, 0xd6, 0xe1, 0x9f, 0xa4, 0x1a, 0x73, 0x39, 0xbf,
+ 0xc7, 0x28, 0x6f, 0x5b, 0xd0, 0x8a, 0x68, 0x7c, 0xf5, 0x1f, 0xfc, 0x4e,
+ 0xab, 0x62, 0x94, 0xd0, 0x41, 0x7b, 0x3b, 0x50, 0x7e, 0x22, 0x05, 0x96,
+ 0x4e, 0x2b, 0xef, 0xba, 0x92, 0x6e, 0x6b, 0x21, 0x3a, 0x8f, 0x83, 0xd4,
+ 0xa3, 0x4c, 0x6d, 0xf7, 0xd3, 0xe7, 0x6b, 0x2d, 0x29, 0xf5, 0xf5, 0x75,
+ 0x69, 0x83, 0x63, 0x46, 0xec, 0xcc, 0xdb, 0xf5, 0x8e, 0xb3, 0x44, 0x93,
+ 0xbc, 0x39, 0x87, 0x7f, 0xa3, 0xbf, 0x81, 0x12, 0x0a, 0x79, 0x11, 0x19,
+ 0x4c, 0xff, 0x97, 0x8f, 0x26, 0x08, 0xbd, 0x26, 0xeb, 0x97, 0x44, 0x84,
+ 0x41, 0x71, 0xac, 0x75, 0xee, 0x00, 0xf3, 0xc4, 0xf0, 0xe6, 0x32, 0x17,
+ 0x04, 0xc9, 0x35, 0x35, 0x24, 0xd9, 0xa8, 0xb6, 0xc8, 0x58, 0xeb, 0x24,
+ 0x67, 0xaf, 0x24, 0x09, 0xd2, 0xc5, 0x7c, 0x02, 0x50, 0x06, 0xc3, 0x51,
+ 0xff, 0x83, 0xf8, 0xab, 0xab, 0xfb, 0x64, 0x77, 0xaf, 0x97, 0xec, 0xed,
+ 0xec, 0xee, 0x45, 0xc6, 0xb0, 0xfe, 0x1f, 0x04, 0x8a, 0xda, 0xc3, 0xaf,
+ 0xd7, 0x1f, 0x3b, 0x0a, 0x97, 0xcf, 0x80, 0x9b, 0x44, 0x32, 0x7f, 0x8d,
+ 0xf0, 0xa1, 0xf8, 0x2c, 0x38, 0x93, 0x51, 0x04, 0x19, 0xcc, 0x73, 0xb8,
+ 0xb6, 0xd8, 0x49, 0xa8, 0xe5, 0x30, 0x6d, 0x95, 0xaf, 0x09, 0x8a, 0xde,
+ 0x70, 0x1d, 0x5a, 0x20, 0x5f, 0xac, 0xa7, 0x34, 0xad, 0x50, 0xb5, 0xb3,
+ 0xbd, 0x46, 0x79, 0xa3, 0xcb, 0x42, 0xd0, 0x1a, 0x5a, 0x1b, 0xb3, 0xdf,
+ 0x5f, 0x1f, 0x1f, 0x5e, 0x28, 0x35, 0xe1, 0x25, 0x29, 0x4f, 0xd5, 0xfd,
+ 0xe3, 0xea, 0x26, 0xae, 0x7c, 0x66, 0xb2, 0x7f, 0x9d, 0x19, 0x35, 0xba,
+ 0x18, 0x2d, 0xae, 0xf6, 0xff, 0x96, 0x56, 0x57, 0x65, 0xf1, 0xd0, 0xf3,
+ 0x13, 0x24, 0x94, 0xed, 0x1b, 0x09, 0xb5, 0xfb, 0x62, 0xf7, 0x09, 0xf2,
+ 0xbf, 0xa7, 0x39, 0x6a, 0xf7, 0x90, 0x80, 0xd8, 0x98, 0x6d, 0x30, 0xc1,
+ 0x06, 0xd2, 0x24, 0x2c, 0xab, 0x46, 0x31, 0xd9, 0xe0, 0xeb, 0x3e, 0xf5,
+ 0x9f, 0x9d, 0xc8, 0xb3, 0x9c, 0x7a, 0xbe, 0x21, 0xb9, 0x0a, 0x1b, 0x94,
+ 0xa6, 0xb9, 0x98, 0x6f, 0xb4, 0xd9, 0xdc, 0x1f, 0x18, 0x2b, 0x7d, 0xc2,
+ 0x96, 0x89, 0x3c, 0xb4, 0x1c, 0xf5, 0xc8, 0x20, 0xaa, 0xb2, 0xf4, 0x93,
+ 0xab, 0x8a, 0xec, 0xd8, 0x37, 0x34, 0xe4, 0x71, 0xfe, 0xe6, 0x90, 0xc9,
+ 0x46, 0x35, 0x5f, 0x0a, 0x53, 0x9d, 0x58, 0xd7, 0xd4, 0x16, 0xf5, 0xf2,
+ 0x81, 0xef, 0x53, 0x6e, 0xc3, 0xfe, 0x64, 0xf4, 0x88, 0x87, 0xcc, 0xb9,
+ 0x63, 0xb2, 0xb8, 0x83, 0x76, 0x95, 0x1c, 0x32, 0xd4, 0x50, 0xea, 0x43,
+ 0xcb, 0x1f, 0x6f, 0x72, 0xf5, 0x57, 0x8e, 0x38, 0x50, 0xd7, 0xb4, 0xb0,
+ 0xb4, 0x7a, 0x77, 0x4c, 0xbf, 0xa9, 0x20, 0xeb, 0xeb, 0x83, 0x33, 0xcf,
+ 0xd0, 0x85, 0x21, 0xe9, 0x9c, 0x7a, 0xf4, 0x1c, 0x19, 0x3a, 0xa8, 0xb0,
+ 0x2e, 0x85, 0x93, 0x7a, 0xce, 0x44, 0x69, 0x20, 0x27, 0x49, 0x37, 0x02,
+ 0x40, 0xbe, 0x94, 0xfb, 0x04, 0xfe, 0x27, 0x14, 0x1e, 0x98, 0x4e, 0x52,
+ 0x04, 0x42, 0xe5, 0x16, 0xa2, 0x0c, 0x88, 0xd3, 0x42, 0xb3, 0x98, 0x7b,
+ 0x9d, 0x2a, 0x0b, 0xe6, 0xc7, 0xf8, 0x0e, 0xae, 0xe8, 0x33, 0xa3, 0x84,
+ 0x83, 0xc6, 0x65, 0xf8, 0xfa, 0x5b, 0xea, 0xb1, 0x04, 0x75, 0xa0, 0xb5,
+ 0xa9, 0x2f, 0xdb, 0x46, 0xa2, 0xd4, 0x6a, 0x54, 0xe7, 0x95, 0xfa, 0x16,
+ 0xa9, 0xb9, 0x9b, 0x27, 0x03, 0xfe, 0x73, 0xcf, 0x56, 0x22, 0xc6, 0x63,
+ 0xc0, 0x79, 0x5e, 0x6a, 0x9d, 0xe3, 0x59, 0x46, 0x85, 0x77, 0xf3, 0x7a,
+ 0xe6, 0x60, 0x29, 0x97, 0xf2, 0xba, 0xab, 0x7e, 0x27, 0x4a, 0x24, 0x85,
+ 0x16, 0xd0, 0x0f, 0xf4, 0x36, 0x17, 0x5c, 0x97, 0xd9, 0x65, 0x77, 0x89,
+ 0xa4, 0xa3, 0x48, 0xde, 0x8d, 0x14, 0x39, 0xc1, 0x63, 0x94, 0x5f, 0x7d,
+ 0xaf, 0x4b, 0xc1, 0x37, 0x8d, 0x59, 0x86, 0xb4, 0xfe, 0x64, 0x2e, 0x05,
+ 0x86, 0x22, 0x98, 0x79, 0xcc, 0x25, 0x98, 0x4f, 0xee, 0xab, 0x9c, 0x21,
+ 0x41, 0xe4, 0x48, 0x03, 0xa3, 0x53, 0x6b, 0xeb, 0xf1, 0x65, 0x4a, 0xb6,
+ 0xf3, 0xb4, 0xce, 0x98, 0x2a, 0x11, 0x84, 0x40, 0x14, 0xfb, 0xa3, 0xad,
+ 0x07, 0x9b, 0x49, 0x31, 0xb5, 0x10, 0x67, 0xb4, 0x4b, 0xf7, 0xf6, 0x9e,
+ 0x3d, 0xeb, 0x25, 0xeb, 0xe4, 0x77, 0x44, 0x9f, 0x68, 0x43, 0xbf, 0x81,
+ 0xe0, 0x59, 0x8f, 0x16, 0xc3, 0xdd, 0xae, 0x2e, 0xc7, 0xf4, 0x3f, 0x7a,
+ 0x4f, 0x6b, 0x40, 0x5e, 0x48, 0x22, 0x0e, 0x75, 0x13, 0x41, 0x56, 0x4b,
+ 0x97, 0xc3, 0x3b, 0x8d, 0x7e, 0x77, 0x6c, 0x5d, 0x4b, 0x14, 0x47, 0x9a,
+ 0x67, 0xe5, 0x5c, 0x03, 0xc6, 0x33, 0xa9, 0xee, 0x81, 0xef, 0x7b, 0x51,
+ 0x36, 0x84, 0xf8, 0x19, 0x21, 0x27, 0xbc, 0x08, 0xf5, 0x62, 0xd4, 0x97,
+ 0x04, 0x61, 0x36, 0x34, 0x73, 0x73, 0x98, 0x67, 0xb4, 0x08, 0xe2, 0xc1,
+ 0x0f, 0x84, 0xf4, 0xd7, 0xc9, 0xba, 0x6c, 0x37, 0xfa, 0x63, 0x80, 0x78,
+ 0x6f, 0x36, 0xa6, 0x61, 0x94, 0xaf, 0xe4, 0x1f, 0xff, 0xfe, 0xef, 0xa6,
+ 0xd9, 0x7f, 0xa7, 0x56, 0x5e, 0xfd, 0xb9, 0x6e, 0xae, 0xbd, 0x67, 0xd6,
+ 0xe5, 0x0c, 0x1c, 0xbb, 0x68, 0x37, 0x10, 0x6c, 0x20, 0x89, 0x45, 0x1e,
+ 0xdb, 0xbb, 0x13, 0x11, 0xd2, 0x3d, 0x6f, 0x7c, 0x39, 0x32, 0x0c, 0xd9,
+ 0x6f, 0x6a, 0x01, 0x24, 0x5f, 0x53, 0x24, 0x3a, 0xa3, 0xcc, 0x74, 0xb3,
+ 0x08, 0x20, 0x16, 0xdc, 0x72, 0x90, 0x12, 0x96, 0xef, 0xf0, 0x8d, 0x72,
+ 0x75, 0xb8, 0x4e, 0xb5, 0xab, 0x5b, 0xbd, 0x29, 0xf8, 0x14, 0x63, 0x9d,
+ 0xcc, 0xaf, 0xd2, 0x69, 0x79, 0x65, 0x47, 0x1c, 0xab, 0x2f, 0xf3, 0x8b,
+ 0xc6, 0xbe, 0xee, 0x37, 0xa4, 0x6f, 0xfa, 0xf1, 0xf5, 0x47, 0xb6, 0x42,
+ 0x38, 0x01, 0x7b, 0x34, 0x01, 0x7f, 0x0d, 0xeb, 0x89, 0x09, 0x79, 0xb0,
+ 0xb1, 0x54, 0x54, 0x90, 0x6c, 0xeb, 0x41, 0xb7, 0x27, 0x9f, 0xa0, 0xbb,
+ 0x63, 0x3a, 0x02, 0x9d, 0x02, 0x37, 0x4e, 0x56, 0x58, 0xe5, 0x46, 0x6a,
+ 0x97, 0x88, 0x6e, 0x92, 0x19, 0x79, 0x95, 0x9b, 0xb3, 0x80, 0x0b, 0x90,
+ 0xbe, 0x43, 0x73, 0x86, 0xd0, 0x64, 0xc6, 0x84, 0x34, 0x23, 0x2e, 0x0f,
+ 0xd6, 0xef, 0x17, 0xcd, 0x74, 0xc6, 0x54, 0xcb, 0x13, 0x94, 0x0a, 0xd3,
+ 0x0c, 0x8d, 0xbc, 0x08, 0x49, 0x06, 0xdb, 0xf3, 0xcc, 0xaf, 0xfe, 0x73,
+ 0xb3, 0xe4, 0x0b, 0x3d, 0xae, 0xc0, 0x49, 0xed, 0x6c, 0x3b, 0xe2, 0x46,
+ 0x47, 0x8e, 0x46, 0xbe, 0xd0, 0x7e, 0x21, 0xd5, 0xcb, 0x00, 0xed, 0xb7,
+ 0xa2, 0x49, 0xd8, 0xc7, 0x7c, 0xc8, 0xaa, 0x66, 0x1a, 0x11, 0x25, 0x34,
+ 0x39, 0xdf, 0x8c, 0x7c, 0xcf, 0x00, 0x4a, 0xae, 0x93, 0xcd, 0xe1, 0xf0,
+ 0xec, 0x78, 0x5b, 0x8b, 0x9f, 0xad, 0xad, 0x1d, 0xbd, 0xff, 0xee, 0xf8,
+ 0xfc, 0xf4, 0xfd, 0xbb, 0xa3, 0xf7, 0x17, 0xc9, 0x77, 0x07, 0xe7, 0xc7,
+ 0x07, 0x5f, 0x9f, 0x08, 0xf9, 0x02, 0x0d, 0x93, 0x30, 0x67, 0x6c, 0x0a,
+ 0x76, 0xf8, 0x83, 0xbd, 0xbc, 0xb8, 0x68, 0xd5, 0x99, 0x4e, 0x41, 0xed,
+ 0x8f, 0x42, 0x7e, 0x0f, 0xc3, 0xf8, 0x23, 0x0a, 0x68, 0xf5, 0xc8, 0x16,
+ 0xfa, 0xa8, 0xb5, 0xb4, 0xc8, 0x96, 0xbf, 0xf7, 0xd2, 0xf9, 0x09, 0x0e,
+ 0x47, 0xe2, 0x4c, 0x85, 0xb9, 0xab, 0x22, 0x69, 0xcb, 0xb2, 0x7c, 0xc3,
+ 0x8c, 0x10, 0x5a, 0xa3, 0x46, 0x5f, 0x85, 0xfc, 0x60, 0x5d, 0xc7, 0xf5,
+ 0xe1, 0xe0, 0xe4, 0xc4, 0x7d, 0x6a, 0x75, 0xf9, 0x22, 0x61, 0x03, 0xe3,
+ 0x5c, 0x42, 0x34, 0x4a, 0x71, 0xea, 0xab, 0xd2, 0x31, 0xf9, 0x17, 0xf7,
+ 0x3e, 0x69, 0x3f, 0x7d, 0xcc, 0x6c, 0x97, 0x4d, 0xa6, 0x71, 0x21, 0xd0,
+ 0x42, 0x93, 0x55, 0x79, 0xfd, 0xa9, 0x97, 0x6c, 0xfc, 0x79, 0x43, 0x0a,
+ 0xd6, 0x83, 0x66, 0x9a, 0x8b, 0x23, 0x6d, 0xb9, 0x4e, 0xbd, 0x3f, 0x75,
+ 0x7d, 0x92, 0x38, 0xbc, 0xed, 0x80, 0x7d, 0xd1, 0xa1, 0x28, 0x6a, 0x55,
+ 0xaf, 0x01, 0x5f, 0x76, 0x8f, 0x4b, 0x05, 0x11, 0xcb, 0x4e, 0x21, 0xf2,
+ 0x91, 0xe2, 0xac, 0xd1, 0x77, 0xe1, 0x44, 0x48, 0xc7, 0x1e, 0x9b, 0x38,
+ 0xc6, 0x5a, 0x90, 0xe7, 0xcd, 0x56, 0x75, 0x53, 0xe7, 0xb4, 0x99, 0xea,
+ 0x89, 0x10, 0x2e, 0xa6, 0xda, 0xb2, 0xa4, 0x32, 0x23, 0x55, 0xdc, 0x46,
+ 0xa0, 0x3c, 0x27, 0x63, 0x2a, 0x80, 0xf6, 0x81, 0x99, 0x69, 0x9c, 0x7c,
+ 0x76, 0x22, 0xb5, 0xbc, 0xbb, 0x88, 0x09, 0x75, 0x72, 0x3f, 0x25, 0xd6,
+ 0x51, 0xb6, 0x7e, 0x26, 0xeb, 0x2a, 0x41, 0x28, 0xe6, 0xd7, 0xe6, 0xd9,
+ 0x07, 0x0b, 0x06, 0xbb, 0x33, 0x75, 0x26, 0x01, 0x98, 0xf4, 0x5f, 0x5f,
+ 0x47, 0x6e, 0x12, 0xc7, 0x5a, 0x2c, 0x29, 0x22, 0x51, 0x0e, 0x61, 0x8e,
+ 0x1d, 0x2e, 0x3d, 0xbb, 0x63, 0x2e, 0x21, 0xbb, 0xcb, 0xdc, 0x4e, 0xe0,
+ 0xc2, 0x77, 0x02, 0x43, 0xef, 0xf6, 0x58, 0x8b, 0x5a, 0xa5, 0x5a, 0x44,
+ 0x09, 0x71, 0x33, 0x56, 0xb9, 0xa0, 0x34, 0x75, 0x87, 0x03, 0xa7, 0x21,
+ 0x03, 0x9e, 0x5b, 0x9d, 0xee, 0x34, 0xbc, 0xae, 0x78, 0x82, 0x45, 0x2d,
+ 0x2a, 0x14, 0xee, 0x90, 0xbb, 0x6d, 0x2d, 0x4b, 0x05, 0x90, 0x01, 0x25,
+ 0x04, 0x55, 0x46, 0x8a, 0xd6, 0xcb, 0xab, 0x3f, 0x0d, 0x10, 0x9b, 0x3e,
+ 0x3f, 0x44, 0xf9, 0x84, 0x82, 0x0a, 0xa8, 0xba, 0xb2, 0x37, 0x48, 0x1e,
+ 0x28, 0xb2, 0xa6, 0xa2, 0x8c, 0xdc, 0x42, 0xac, 0x10, 0x00, 0xf2, 0x61,
+ 0xa4, 0xa7, 0x57, 0xa5, 0x1a, 0xe0, 0xa9, 0x45, 0xcd, 0xd8, 0xe2, 0x80,
+ 0x9e, 0x51, 0x6f, 0x99, 0x03, 0xad, 0xe0, 0x02, 0xbe, 0x46, 0x23, 0x84,
+ 0x84, 0x2f, 0xa5, 0x43, 0xa6, 0xc5, 0xde, 0x6b, 0x8f, 0x9b, 0xc1, 0xa5,
+ 0x2f, 0x91, 0x24, 0xe7, 0x2c, 0x1d, 0xa5, 0xf2, 0x03, 0x7d, 0xa2, 0x72,
+ 0x39, 0x00, 0xe9, 0x8c, 0x6e, 0xd1, 0x83, 0x68, 0x52, 0x40, 0xeb, 0x68,
+ 0x52, 0x83, 0x57, 0x46, 0x5e, 0x4d, 0x29, 0x83, 0x54, 0xf5, 0x8e, 0x34,
+ 0x19, 0xe5, 0x57, 0xcc, 0x09, 0x42, 0x04, 0x14, 0x74, 0x2e, 0x41, 0xf1,
+ 0x58, 0xce, 0x32, 0x3a, 0x1c, 0x20, 0x70, 0x84, 0xf1, 0x7e, 0x5d, 0x4e,
+ 0x7d, 0x96, 0x41, 0x1d, 0x89, 0xac, 0xbe, 0x8d, 0x7d, 0x20, 0xf6, 0xb9,
+ 0xa0, 0x79, 0x54, 0x38, 0xaa, 0x54, 0x12, 0x10, 0x70, 0x2e, 0x05, 0xd5,
+ 0xc0, 0x95, 0x5a, 0x20, 0x15, 0x50, 0xb9, 0x14, 0x30, 0x0f, 0x9a, 0xb8,
+ 0x40, 0x1b, 0x17, 0x8e, 0x74, 0x2a, 0xc9, 0xba, 0x69, 0x4b, 0x01, 0x50,
+ 0x2b, 0x63, 0x66, 0x68, 0x26, 0x31, 0xc3, 0x90, 0x92, 0x76, 0xed, 0x2e,
+ 0x59, 0x2c, 0xe1, 0xce, 0x33, 0x7b, 0x82, 0x3a, 0x6d, 0x66, 0x6a, 0xd3,
+ 0x53, 0x33, 0x0a, 0xb3, 0x45, 0xf8, 0x31, 0xf6, 0x20, 0xc9, 0xbf, 0xfa,
+ 0xb6, 0xec, 0xa0, 0x00, 0x4f, 0xb6, 0x1c, 0xf0, 0x88, 0xcd, 0x00, 0x92,
+ 0x0f, 0x63, 0x29, 0xfc, 0x0a, 0x88, 0x0e, 0x55, 0xad, 0x05, 0x21, 0x5c,
+ 0x2b, 0xf8, 0x90, 0x68, 0xc2, 0xdd, 0x74, 0xea, 0xd5, 0x02, 0x60, 0x7f,
+ 0x64, 0x1a, 0x18, 0x1f, 0x24, 0x27, 0x06, 0x2c, 0x73, 0x19, 0xfa, 0xc7,
+ 0xbc, 0xe1, 0xde, 0x40, 0x24, 0xa9, 0x84, 0xcc, 0xb3, 0x4e, 0x4c, 0xc3,
+ 0xbb, 0x42, 0x14, 0x1e, 0xe3, 0xab, 0xa1, 0x52, 0xfa, 0x26, 0x4f, 0x67,
+ 0x6c, 0x3c, 0xba, 0xdd, 0x37, 0xbb, 0x67, 0xd8, 0xf1, 0xda, 0xda, 0xe1,
+ 0x87, 0xe1, 0xc5, 0xe9, 0xbb, 0xe4, 0xf4, 0xc3, 0xc5, 0xd9, 0x87, 0x0b,
+ 0xd1, 0x53, 0x47, 0x9c, 0xb4, 0xc1, 0xd0, 0x25, 0xd6, 0x9d, 0x75, 0x31,
+ 0x67, 0x02, 0xf0, 0x01, 0xc6, 0xac, 0x04, 0xad, 0xa8, 0xc7, 0x28, 0x66,
+ 0x93, 0x32, 0xc1, 0xb5, 0xc7, 0xd4, 0xe2, 0x98, 0xf2, 0x5b, 0x33, 0xe5,
+ 0x48, 0xa8, 0x87, 0x27, 0x5f, 0x73, 0x3c, 0xe1, 0xf7, 0xd0, 0xb3, 0xd6,
+ 0x2e, 0x2b, 0x75, 0xdf, 0xf6, 0x63, 0x00, 0x9d, 0xd3, 0x66, 0x70, 0xf3,
+ 0xab, 0xdb, 0xb2, 0x73, 0xd7, 0xf9, 0x7e, 0x7d, 0x4c, 0xb7, 0xd4, 0xc6,
+ 0xd5, 0x08, 0x94, 0xc2, 0xea, 0x81, 0x35, 0x6c, 0x67, 0x16, 0xfb, 0x09,
+ 0xce, 0x4d, 0x69, 0x46, 0x78, 0x6d, 0x53, 0x62, 0x08, 0x46, 0x08, 0x28,
+ 0x30, 0x23, 0xa8, 0x08, 0x73, 0xcb, 0x2e, 0x83, 0x22, 0xbb, 0x25, 0xc5,
+ 0x27, 0xd0, 0xa9, 0x6f, 0x93, 0x8d, 0xef, 0x33, 0xbf, 0xc1, 0x3f, 0xfd,
+ 0x27, 0xe5, 0x6d, 0x7f, 0xd4, 0x9f, 0xfc, 0x17, 0x7f, 0xf2, 0xa7, 0x62,
+ 0x03, 0x02, 0xb3, 0x0d, 0x95, 0xf9, 0xf6, 0xe8, 0xfc, 0xeb, 0xa3, 0xf3,
+ 0xd3, 0x21, 0xe4, 0x81, 0xfa, 0xbb, 0xc3, 0xbd, 0xfe, 0x29, 0xab, 0x46,
+ 0x59, 0x55, 0x4a, 0xc9, 0x3b, 0xfd, 0xd7, 0xb3, 0xed, 0x6f, 0x86, 0xc3,
+ 0x83, 0xb3, 0x63, 0x5b, 0x54, 0xca, 0x66, 0x90, 0xb2, 0x8f, 0xa4, 0xe0,
+ 0x1c, 0x67, 0x1a, 0xbf, 0xbe, 0x62, 0xf6, 0xc5, 0xf8, 0x13, 0x67, 0x16,
+ 0x04, 0xa0, 0x14, 0x0d, 0xac, 0x11, 0x1a, 0x45, 0x12, 0x8b, 0xa9, 0x61,
+ 0x65, 0x82, 0xf3, 0x0b, 0x43, 0x70, 0x05, 0x07, 0x0a, 0x06, 0xf6, 0x2c,
+ 0x04, 0xf7, 0x53, 0x35, 0xea, 0x9b, 0xdd, 0xfe, 0x49, 0x6b, 0xac, 0x73,
+ 0x22, 0x94, 0x11, 0x95, 0x9c, 0x21, 0xe1, 0x9c, 0x8d, 0x9f, 0xf2, 0x22,
+ 0x6f, 0xb6, 0x3f, 0xd1, 0xf9, 0xa0, 0x82, 0x47, 0xd3, 0x01, 0x4b, 0x77,
+ 0x3e, 0x50, 0x0a, 0x7b, 0x27, 0x11, 0xbb, 0x8a, 0x9d, 0xc6, 0x7c, 0xcd,
+ 0x56, 0x29, 0x65, 0x87, 0xb7, 0xf9, 0xc9, 0x53, 0x4b, 0xd3, 0x27, 0x9a,
+ 0x3f, 0x90, 0xb2, 0x97, 0xe6, 0xae, 0x9a, 0xdf, 0x4e, 0xe4, 0x12, 0x01,
+ 0x4b, 0x3d, 0x2b, 0x97, 0x22, 0xc3, 0xbb, 0x11, 0x6a, 0xaa, 0xa4, 0x8a,
+ 0x8c, 0x2d, 0xc9, 0x47, 0x49, 0x46, 0xd3, 0xb4, 0xf8, 0x04, 0xfd, 0x01,
+ 0x1a, 0x01, 0xdd, 0x7d, 0x4a, 0x3e, 0x47, 0x15, 0x6e, 0x01, 0x48, 0x10,
+ 0x3e, 0x18, 0x98, 0x7c, 0x53, 0x12, 0x6e, 0xf7, 0x1c, 0xcc, 0xb3, 0x1c,
+ 0x7b, 0x5e, 0xe8, 0x1d, 0xc7, 0xc9, 0x4d, 0x02, 0xf9, 0x8e, 0x8f, 0x4e,
+ 0xcc, 0xc5, 0x64, 0xb3, 0xcc, 0xe0, 0xa3, 0xcb, 0xa6, 0x14, 0x0b, 0x52,
+ 0x48, 0x20, 0x27, 0x56, 0xe7, 0x10, 0x64, 0x2c, 0x3d, 0xb4, 0xd6, 0x01,
+ 0x02, 0xc8, 0xd8, 0x2e, 0xc8, 0x1f, 0xaf, 0x6d, 0x45, 0x20, 0x91, 0xdc,
+ 0x2c, 0xc4, 0xc0, 0x0e, 0xec, 0x0a, 0x04, 0xf9, 0xa5, 0xaa, 0x04, 0x6f,
+ 0x7b, 0xe8, 0x00, 0x81, 0xb6, 0x76, 0x1f, 0x77, 0xc2, 0x19, 0xa1, 0x16,
+ 0x62, 0xd0, 0x4a, 0x6f, 0x5b, 0xba, 0x4c, 0xfc, 0x7a, 0xcc, 0x0b, 0xc8,
+ 0xa4, 0x86, 0x13, 0x09, 0x78, 0x5a, 0x3e, 0x30, 0xcd, 0x59, 0x68, 0xe7,
+ 0x09, 0x68, 0xc7, 0x19, 0x0e, 0x44, 0xd1, 0x9b, 0x69, 0x63, 0x1d, 0x15,
+ 0x35, 0x33, 0xac, 0x41, 0xe9, 0x9a, 0x40, 0xe4, 0x54, 0x2d, 0xaa, 0x6a,
+ 0x1f, 0x9e, 0xcf, 0x94, 0x35, 0xa5, 0x35, 0x32, 0xd9, 0xfa, 0xb7, 0xd6,
+ 0x6c, 0xff, 0x3d, 0x5d, 0x17, 0x65, 0x7f, 0xb4, 0x80, 0x63, 0xc6, 0xab,
+ 0xa9, 0xc7, 0x49, 0xdc, 0xe5, 0x25, 0x6b, 0x1e, 0xfc, 0x7b, 0x0a, 0x48,
+ 0x83, 0x1e, 0x83, 0x63, 0xd4, 0xc8, 0x97, 0x6e, 0x33, 0x6d, 0x59, 0x7e,
+ 0x25, 0x4e, 0x42, 0x72, 0xc5, 0xbe, 0xed, 0x00, 0x65, 0x91, 0xad, 0x93,
+ 0xc6, 0xb3, 0x69, 0x7a, 0x9d, 0x94, 0x8b, 0xc6, 0xd6, 0xa6, 0xb8, 0x80,
+ 0x9a, 0x90, 0x49, 0xc5, 0x06, 0xcd, 0xa5, 0xd0, 0xcc, 0xad, 0x9b, 0x86,
+ 0xaa, 0xc0, 0x31, 0x35, 0x4c, 0x3a, 0xe5, 0x92, 0x3a, 0x4b, 0xaf, 0x12,
+ 0x3e, 0x4c, 0xcd, 0xc5, 0xc5, 0x5f, 0xcf, 0x8e, 0x5e, 0xe9, 0x9b, 0xab,
+ 0xd6, 0x8c, 0x19, 0x13, 0x01, 0x9a, 0xcb, 0x84, 0xa1, 0xd8, 0xab, 0x63,
+ 0x6f, 0x36, 0x59, 0xbf, 0x51, 0x30, 0x0f, 0x7f, 0xa6, 0x9f, 0xfc, 0xf0,
+ 0xfa, 0x78, 0x78, 0x76, 0x72, 0x7a, 0xf8, 0xea, 0xe5, 0x0f, 0x2a, 0x92,
+ 0xbf, 0xa4, 0x18, 0x21, 0xeb, 0x69, 0xf6, 0x67, 0x8e, 0xd1, 0x45, 0xde,
+ 0x7b, 0x7f, 0xf4, 0xfd, 0x47, 0x63, 0x8f, 0xbd, 0xa2, 0xba, 0x0e, 0xbd,
+ 0x9b, 0x74, 0x2a, 0x2f, 0x91, 0x7e, 0x1a, 0xd1, 0xed, 0x06, 0x6d, 0x0a,
+ 0xce, 0xee, 0xc4, 0xda, 0x52, 0xc2, 0x2e, 0x51, 0xe9, 0x5e, 0x71, 0xb4,
+ 0x5e, 0xd5, 0xb8, 0xb4, 0x95, 0x57, 0x1f, 0x29, 0xfc, 0xed, 0xae, 0xff,
+ 0x8d, 0x86, 0x41, 0xd5, 0x84, 0x21, 0xf2, 0xa1, 0x39, 0x00, 0xae, 0xcb,
+ 0x6f, 0x1c, 0xa0, 0x5f, 0xf8, 0xd3, 0x2b, 0xf2, 0xa3, 0x59, 0x02, 0x5a,
+ 0xa9, 0x26, 0x0f, 0xd0, 0x8b, 0xb0, 0xd4, 0x0a, 0xf5, 0x1a, 0x61, 0xe8,
+ 0x35, 0x9d, 0x46, 0xe5, 0x98, 0xa8, 0x30, 0xb6, 0x2f, 0xa9, 0xd6, 0xb5,
+ 0x46, 0xf1, 0xac, 0xb3, 0xa3, 0xf3, 0xe1, 0xf1, 0xf0, 0x82, 0x0c, 0x57,
+ 0x29, 0xb2, 0x2a, 0x41, 0x28, 0xad, 0x80, 0x0b, 0xd2, 0x96, 0x36, 0xe1,
+ 0xb0, 0x5f, 0xd8, 0xa7, 0x75, 0xa2, 0xad, 0x98, 0x6b, 0x67, 0x71, 0xd3,
+ 0x0d, 0xc0, 0xa9, 0xe1, 0xa4, 0x88, 0x32, 0x6d, 0x76, 0x7a, 0xa9, 0x07,
+ 0xb8, 0x94, 0xad, 0xd1, 0xa9, 0x6f, 0x83, 0xda, 0x54, 0x58, 0x9d, 0x69,
+ 0x3e, 0xf2, 0xaa, 0xda, 0xb7, 0x31, 0x24, 0x04, 0x4f, 0x12, 0x8a, 0x1e,
+ 0xff, 0x08, 0x69, 0x40, 0xcc, 0x51, 0x23, 0x48, 0xdd, 0x6d, 0xb9, 0xd6,
+ 0x24, 0xad, 0xd9, 0x4f, 0x60, 0xb7, 0x6e, 0x29, 0x18, 0x2d, 0xaa, 0xa7,
+ 0xd9, 0x9f, 0x7a, 0x28, 0x74, 0x61, 0x7d, 0x03, 0x61, 0xb5, 0x88, 0x6c,
+ 0x12, 0xca, 0x39, 0xa7, 0xa2, 0x92, 0x7f, 0xd2, 0x68, 0x2d, 0xa0, 0xd6,
+ 0x00, 0x50, 0x50, 0x46, 0x16, 0xa8, 0x20, 0xa2, 0x3a, 0x5e, 0x51, 0x0e,
+ 0x2b, 0xa8, 0xf5, 0x26, 0xa4, 0x6f, 0xc1, 0x05, 0xef, 0x7f, 0x4c, 0xaf,
+ 0x53, 0x9a, 0xc1, 0xd1, 0xc2, 0xaf, 0xda, 0x68, 0x7b, 0xcf, 0x05, 0x84,
+ 0x30, 0xf1, 0x80, 0x48, 0xa7, 0x15, 0x3c, 0x19, 0x8d, 0x94, 0x8a, 0x50,
+ 0xc3, 0x47, 0xf0, 0xce, 0x83, 0x36, 0x8b, 0x97, 0xee, 0x4b, 0x35, 0xc2,
+ 0x56, 0xcd, 0xa8, 0x57, 0xe6, 0x95, 0xb6, 0x6f, 0x95, 0x29, 0x70, 0x91,
+ 0x9d, 0x8a, 0x35, 0x45, 0x1c, 0x8b, 0xb1, 0xbd, 0x8c, 0x29, 0xeb, 0x90,
+ 0x00, 0x06, 0x95, 0x30, 0xa4, 0x19, 0xf1, 0x47, 0xa1, 0x25, 0xd4, 0x86,
+ 0x45, 0xd1, 0x74, 0x0a, 0xbb, 0x2b, 0x7b, 0xa6, 0xcb, 0xe3, 0xe0, 0xe9,
+ 0xf6, 0xb6, 0x15, 0xc7, 0xd7, 0xee, 0xe5, 0x83, 0x96, 0x21, 0x43, 0x17,
+ 0xab, 0xc7, 0x09, 0x97, 0x29, 0xf2, 0xfb, 0x34, 0xb0, 0xe3, 0xe5, 0x89,
+ 0xd7, 0x92, 0x7d, 0x6f, 0xf1, 0x29, 0x10, 0x78, 0xad, 0x02, 0xd9, 0x34,
+ 0xba, 0x16, 0x36, 0xc0, 0xe8, 0x97, 0x73, 0x54, 0x3b, 0x1b, 0x4b, 0x0d,
+ 0x09, 0xa0, 0xf6, 0x6d, 0x83, 0x7a, 0x89, 0xb8, 0xc9, 0x32, 0xb3, 0xfa,
+ 0xee, 0xc3, 0xc9, 0xc5, 0xf1, 0x99, 0x8f, 0x3f, 0x48, 0xbe, 0x3f, 0xbe,
+ 0x78, 0x6b, 0xb4, 0xf6, 0xe1, 0xf1, 0xfb, 0x6f, 0x4e, 0x28, 0xc8, 0xfb,
+ 0xee, 0xdd, 0xc1, 0x7b, 0xa2, 0x17, 0x79, 0x0f, 0x68, 0xf3, 0x01, 0x0c,
+ 0x07, 0x12, 0x47, 0x66, 0x8a, 0x69, 0xef, 0x10, 0xf1, 0x44, 0x2f, 0x8c,
+ 0x35, 0x76, 0x8e, 0x1f, 0x17, 0x40, 0x2f, 0xda, 0x93, 0xb4, 0x86, 0x72,
+ 0xf6, 0xb0, 0x0c, 0xee, 0xc9, 0x8d, 0x8b, 0x63, 0x4b, 0xc6, 0x16, 0x4d,
+ 0x74, 0xb7, 0x78, 0x04, 0x92, 0x9c, 0x59, 0x43, 0x07, 0x8e, 0x86, 0xef,
+ 0x6e, 0x17, 0xbf, 0xc4, 0x8a, 0x5a, 0xea, 0x69, 0xd8, 0x31, 0x46, 0x67,
+ 0x2a, 0xc4, 0xae, 0xe1, 0xfb, 0xb2, 0x9d, 0x74, 0x64, 0xbe, 0x88, 0x2e,
+ 0x01, 0x48, 0x54, 0x3a, 0x47, 0x3a, 0x59, 0x9c, 0x64, 0x34, 0x9f, 0x9f,
+ 0xf8, 0x17, 0xea, 0xa0, 0x55, 0x1e, 0x50, 0xf1, 0xc1, 0x57, 0x65, 0xe6,
+ 0x4e, 0x6e, 0xff, 0x54, 0x9b, 0xd1, 0xf8, 0x0f, 0xcc, 0x30, 0xbe, 0x5c,
+ 0xfa, 0x24, 0xd7, 0xfa, 0x66, 0x49, 0xb6, 0x6c, 0x49, 0x30, 0x31, 0xfb,
+ 0xf7, 0x59, 0xad, 0xb4, 0xe4, 0xea, 0x5a, 0x49, 0xd3, 0x34, 0xa7, 0x2d,
+ 0x0b, 0x16, 0x0d, 0x09, 0x19, 0x92, 0xd7, 0x28, 0x63, 0x86, 0xb4, 0xd4,
+ 0xc7, 0x5a, 0xb4, 0x0c, 0x7c, 0xdf, 0x9d, 0x6a, 0x70, 0x52, 0xf3, 0x5a,
+ 0x6d, 0x8d, 0x46, 0x07, 0x9d, 0x40, 0x15, 0x44, 0xb8, 0x2b, 0x32, 0x42,
+ 0x39, 0xd0, 0x5f, 0xff, 0x36, 0xbf, 0xf2, 0x53, 0x5e, 0xb9, 0x06, 0xfc,
+ 0x3c, 0xb6, 0xb2, 0xc2, 0xe4, 0xce, 0x6a, 0x91, 0xd4, 0x9d, 0x6c, 0xf5,
+ 0x40, 0x8a, 0x49, 0xee, 0x2e, 0xfb, 0xa0, 0xfc, 0x7e, 0x2f, 0xfc, 0xfd,
+ 0x1e, 0x07, 0x19, 0x8e, 0xcf, 0x6e, 0x9e, 0x5b, 0x06, 0x64, 0x26, 0x72,
+ 0xf0, 0xd5, 0x37, 0x55, 0x0a, 0x68, 0x87, 0xd1, 0xa3, 0xe2, 0x32, 0x67,
+ 0x99, 0xc8, 0xc1, 0x3f, 0x82, 0x90, 0x2e, 0x2a, 0x24, 0xa8, 0xe3, 0x11,
+ 0x44, 0x57, 0x18, 0xf7, 0x0f, 0xcf, 0x13, 0xe4, 0x14, 0x5d, 0x57, 0xa6,
+ 0x41, 0xf3, 0xfb, 0xa7, 0x36, 0x19, 0xc7, 0xc9, 0x34, 0xd4, 0x53, 0x94,
+ 0x74, 0xc8, 0x7e, 0x3e, 0xbf, 0xd1, 0x82, 0xdc, 0xe6, 0xaf, 0xcf, 0x6d,
+ 0x2d, 0xad, 0xba, 0x15, 0xa4, 0x6e, 0xb1, 0x8d, 0xab, 0xf0, 0x47, 0xe7,
+ 0xe0, 0x03, 0x23, 0xc9, 0xe0, 0x8c, 0x8c, 0x4e, 0xbf, 0xb2, 0x76, 0x46,
+ 0x86, 0x57, 0x51, 0x18, 0x59, 0x5f, 0x53, 0xa4, 0xc6, 0x43, 0x1e, 0x79,
+ 0xc2, 0xc5, 0xaf, 0xf4, 0x21, 0xab, 0xfe, 0xe3, 0xde, 0xce, 0xce, 0xee,
+ 0xfe, 0xee, 0xe7, 0x2f, 0x76, 0xf6, 0x77, 0x77, 0x77, 0xf7, 0xf6, 0x77,
+ 0xf7, 0xf7, 0xf7, 0x76, 0x7e, 0xde, 0x26, 0xff, 0xd1, 0x4d, 0x9e, 0xdd,
+ 0x6a, 0x64, 0x9a, 0xfd, 0x7c, 0xd8, 0xd6, 0x75, 0x73, 0xcf, 0x60, 0x00,
+ 0xf6, 0xf4, 0x61, 0x5f, 0xab, 0xe6, 0x63, 0x69, 0x65, 0x38, 0x67, 0x86,
+ 0x29, 0x24, 0xe7, 0x2e, 0xd5, 0x1c, 0x67, 0xd0, 0xa3, 0xb9, 0x47, 0xaf,
+ 0xfe, 0xbe, 0xa0, 0x91, 0x8e, 0x48, 0x1d, 0x80, 0x4e, 0x53, 0xdb, 0xc4,
+ 0xde, 0xab, 0x69, 0x39, 0x1a, 0x21, 0x75, 0xc9, 0xe6, 0xb6, 0x0f, 0x12,
+ 0xe2, 0x52, 0xfe, 0xc4, 0x5b, 0x42, 0x42, 0x87, 0x40, 0x15, 0xf3, 0x41,
+ 0x77, 0xb3, 0xe3, 0x3c, 0x7b, 0x66, 0x07, 0x8c, 0x4b, 0xaa, 0x2b, 0x02,
+ 0x4f, 0xb7, 0x99, 0xa4, 0xca, 0xe6, 0xbc, 0x25, 0x97, 0xd9, 0xe7, 0x3b,
+ 0xfb, 0xfb, 0x54, 0xfa, 0xe7, 0x4f, 0xbb, 0x3d, 0x01, 0x84, 0xfb, 0x59,
+ 0x2e, 0x3d, 0x7b, 0x3d, 0x71, 0x1b, 0x64, 0x7e, 0xf8, 0xe3, 0x2c, 0x16,
+ 0xb3, 0xac, 0x32, 0x86, 0x08, 0xd5, 0x79, 0x06, 0x22, 0x1a, 0x1e, 0x43,
+ 0xe6, 0x58, 0x04, 0x23, 0x53, 0x27, 0x1b, 0x87, 0x6e, 0x04, 0xe6, 0x8a,
+ 0xb6, 0x2c, 0x14, 0xcc, 0x17, 0xe6, 0x86, 0x68, 0xdb, 0x46, 0xf9, 0x2b,
+ 0x80, 0x35, 0x39, 0x97, 0x8d, 0xb3, 0xf8, 0xf8, 0xbe, 0x15, 0xc9, 0x80,
+ 0xc3, 0x55, 0x70, 0xf5, 0x61, 0x7a, 0x9c, 0x75, 0x78, 0x78, 0x4c, 0x3c,
+ 0xe5, 0x56, 0x12, 0xf8, 0x7e, 0xf4, 0x06, 0xbb, 0xf7, 0x6c, 0xf7, 0x67,
+ 0xc6, 0x2b, 0xd3, 0x81, 0x70, 0xb3, 0xa6, 0xc1, 0x17, 0x3f, 0x45, 0x4b,
+ 0x37, 0xd2, 0x66, 0x36, 0xb8, 0x1a, 0xa8, 0x56, 0x21, 0xde, 0xc6, 0x9e,
+ 0x9f, 0x35, 0xc2, 0x75, 0x0a, 0xb8, 0xa6, 0x38, 0xec, 0x34, 0x75, 0x28,
+ 0xf9, 0xae, 0x5a, 0x1d, 0x98, 0xad, 0x1c, 0xf7, 0xee, 0xe8, 0xe2, 0xc0,
+ 0x5c, 0x1e, 0xdf, 0x86, 0x86, 0xfe, 0xbb, 0xcc, 0x58, 0xe5, 0xb4, 0xd8,
+ 0x9b, 0x38, 0x0f, 0x37, 0x96, 0x1d, 0x9c, 0xe6, 0xee, 0x69, 0xb2, 0x49,
+ 0x21, 0xca, 0x67, 0x9f, 0x3f, 0x7b, 0xba, 0xc5, 0xa5, 0x58, 0xf8, 0xb5,
+ 0x8c, 0x12, 0xc4, 0xe0, 0x95, 0x14, 0x76, 0x2a, 0x72, 0xe0, 0x5b, 0x91,
+ 0xf4, 0xe1, 0xfc, 0x98, 0x8f, 0xf4, 0x35, 0x93, 0x88, 0xb0, 0xd1, 0xdb,
+ 0x65, 0x93, 0xc4, 0x7d, 0xeb, 0x29, 0x19, 0xb3, 0x9c, 0x98, 0x4e, 0x41,
+ 0xbe, 0x40, 0x17, 0xa3, 0x25, 0xff, 0xc0, 0x0d, 0x6b, 0x0e, 0x68, 0x89,
+ 0x5a, 0xa2, 0x52, 0xf7, 0x0d, 0x9d, 0x01, 0x35, 0x2a, 0x31, 0x33, 0xcb,
+ 0x3e, 0xb3, 0x16, 0x18, 0xd9, 0x41, 0x2c, 0x8f, 0x58, 0xfa, 0x77, 0xd8,
+ 0xf8, 0xb7, 0x18, 0xf2, 0x03, 0xa5, 0x90, 0xb6, 0xa1, 0x79, 0x50, 0xb1,
+ 0xe3, 0xd4, 0xe3, 0x56, 0x3a, 0xaa, 0xd3, 0x36, 0x3d, 0x52, 0x37, 0xe5,
+ 0x73, 0x12, 0x51, 0x64, 0xa7, 0x90, 0xf1, 0x2c, 0x0d, 0x3c, 0x8b, 0x79,
+ 0xcb, 0xe5, 0x23, 0x64, 0x1a, 0x20, 0xb5, 0x40, 0xce, 0xc1, 0xcc, 0x5c,
+ 0x47, 0xd5, 0xbd, 0x68, 0xd8, 0x30, 0x13, 0x6c, 0xe9, 0xc3, 0x0e, 0x22,
+ 0x88, 0x69, 0x63, 0xfc, 0x54, 0x1a, 0xcb, 0x9a, 0xa4, 0x46, 0x73, 0xab,
+ 0x03, 0x2d, 0xb1, 0xdf, 0x9f, 0xe9, 0xaf, 0x3c, 0xc0, 0x9c, 0x9f, 0x5f,
+ 0xaa, 0x7f, 0xd7, 0xe7, 0x3c, 0x2c, 0x75, 0xda, 0x1d, 0xd8, 0x92, 0xae,
+ 0x31, 0xa3, 0x2e, 0xf0, 0x93, 0xd6, 0xfa, 0xd9, 0x44, 0x4f, 0xb6, 0xb7,
+ 0xb7, 0x96, 0xf4, 0x46, 0x7e, 0x1d, 0xfb, 0xfa, 0x19, 0x48, 0x89, 0xbc,
+ 0x94, 0x6e, 0xb3, 0xe6, 0xed, 0xc6, 0x69, 0x6a, 0xf3, 0x9a, 0x56, 0x72,
+ 0x22, 0xc0, 0x78, 0x76, 0xa3, 0xaa, 0x79, 0xc5, 0x9d, 0x57, 0xe1, 0xd5,
+ 0x1e, 0x84, 0x60, 0xf1, 0x94, 0x24, 0x8e, 0x0b, 0xc0, 0x33, 0x2a, 0x60,
+ 0x90, 0x1c, 0xd0, 0x6e, 0x68, 0x7d, 0xd8, 0xeb, 0xb2, 0xfa, 0x73, 0xb5,
+ 0xee, 0x81, 0x2a, 0xb1, 0xd6, 0x9d, 0xd7, 0xf3, 0x7e, 0xa9, 0x6a, 0x9e,
+ 0x72, 0x82, 0x58, 0x67, 0xef, 0x28, 0x63, 0xfe, 0x23, 0x2b, 0x39, 0x3d,
+ 0x3e, 0xf3, 0xbc, 0x68, 0xd5, 0xf4, 0x95, 0x46, 0x80, 0x74, 0xb1, 0x83,
+ 0x00, 0x55, 0x6a, 0xa5, 0x14, 0xdc, 0x7e, 0x9d, 0x4f, 0x50, 0x90, 0x48,
+ 0x56, 0x0b, 0x2b, 0xd6, 0x76, 0x13, 0x33, 0x48, 0x61, 0xc4, 0xdb, 0xab,
+ 0x35, 0x1f, 0x3d, 0xde, 0xf1, 0x8c, 0x62, 0xb2, 0x90, 0x0a, 0x12, 0x18,
+ 0x07, 0xc7, 0x27, 0x04, 0x8b, 0x3d, 0x31, 0x26, 0xde, 0x50, 0x55, 0x25,
+ 0xc0, 0xc4, 0x01, 0xd8, 0x2d, 0x72, 0x52, 0xd7, 0x7b, 0xb6, 0xe0, 0x90,
+ 0x66, 0x4b, 0xc2, 0x6e, 0xa1, 0x10, 0x2b, 0x9b, 0xfe, 0x42, 0x12, 0x6a,
+ 0x56, 0xcb, 0xe8, 0x4b, 0x35, 0x3b, 0x6d, 0x41, 0xc0, 0x4d, 0xa5, 0x29,
+ 0x6e, 0xb2, 0x69, 0x39, 0x87, 0x49, 0xcd, 0x62, 0x1a, 0xf5, 0xce, 0xaa,
+ 0x6c, 0x9a, 0xdd, 0x88, 0x77, 0x95, 0xe9, 0x8c, 0xbf, 0x11, 0xc4, 0x02,
+ 0xd7, 0x26, 0x6e, 0x24, 0xab, 0x25, 0x40, 0x45, 0xd0, 0x47, 0xb7, 0x99,
+ 0x15, 0xca, 0x91, 0xfd, 0xd0, 0xf7, 0x5d, 0x11, 0x0e, 0x33, 0x43, 0xb6,
+ 0x88, 0x43, 0x9f, 0x8c, 0x5c, 0x01, 0xb7, 0x7f, 0xa8, 0x85, 0xcf, 0xa5,
+ 0x9b, 0x2d, 0xc2, 0xce, 0x42, 0x2d, 0x6f, 0xc9, 0xde, 0xf7, 0x9e, 0xd2,
+ 0xa4, 0x73, 0xc8, 0x80, 0x6e, 0x9e, 0x1e, 0x79, 0x6a, 0xd1, 0xd2, 0xa5,
+ 0xb1, 0xc8, 0xa8, 0x20, 0x4e, 0x8f, 0x53, 0xc7, 0xb1, 0x39, 0xca, 0xa9,
+ 0xf9, 0x27, 0x00, 0x95, 0x0c, 0xb1, 0x36, 0xcf, 0x52, 0xbc, 0xd9, 0xc3,
+ 0xb4, 0x13, 0xe6, 0x06, 0xe9, 0x50, 0xf2, 0x2f, 0x34, 0x55, 0x2d, 0xc0,
+ 0x26, 0xde, 0xe3, 0xdb, 0x90, 0xe2, 0xbc, 0xcd, 0x78, 0x60, 0x7b, 0x2f,
+ 0xa8, 0x1f, 0xee, 0xff, 0x6b, 0x9e, 0x4a, 0x1a, 0x04, 0xeb, 0x21, 0x65,
+ 0xa5, 0xd3, 0xcb, 0xcb, 0x30, 0xe2, 0x6a, 0xa4, 0x5f, 0x2f, 0x28, 0xfe,
+ 0x68, 0x0b, 0x78, 0x51, 0x2f, 0x66, 0x74, 0x17, 0x65, 0x5c, 0xf8, 0xd7,
+ 0x36, 0x4e, 0x26, 0xdd, 0xc2, 0x2c, 0x2f, 0xb7, 0x7e, 0x52, 0xde, 0x52,
+ 0xd5, 0xe2, 0xcb, 0xcb, 0x7c, 0x4c, 0xb1, 0x7f, 0xc7, 0x1a, 0x4e, 0x32,
+ 0x9e, 0x1f, 0x9c, 0x69, 0xf5, 0x35, 0x33, 0xb6, 0x64, 0xbe, 0x18, 0x4d,
+ 0xcd, 0x65, 0xad, 0xf9, 0x2c, 0xe6, 0x54, 0x61, 0x96, 0x8c, 0xb5, 0x85,
+ 0xe6, 0x98, 0xde, 0x10, 0x06, 0x67, 0x27, 0x87, 0x02, 0xe1, 0xd2, 0x0a,
+ 0x2a, 0xf8, 0x0c, 0xe5, 0x9b, 0x29, 0xd1, 0x60, 0x56, 0x16, 0x9a, 0x0e,
+ 0xb7, 0xa8, 0x99, 0x4e, 0x16, 0xd1, 0x1c, 0xae, 0x92, 0x95, 0xe0, 0x49,
+ 0x29, 0xda, 0x20, 0xa6, 0x39, 0xde, 0xf0, 0x07, 0x33, 0xe9, 0xcf, 0xaf,
+ 0xe7, 0xba, 0xd2, 0xaa, 0x10, 0xb1, 0xb6, 0x24, 0x09, 0x58, 0x38, 0x7a,
+ 0x67, 0x6f, 0xcf, 0x06, 0xc9, 0x11, 0xb5, 0xc4, 0x7d, 0x12, 0x45, 0x17,
+ 0x3e, 0x1a, 0xf3, 0x3b, 0x33, 0xd8, 0x2b, 0xba, 0xc0, 0x4e, 0x2b, 0xfa,
+ 0x17, 0x5a, 0x93, 0x5f, 0xb2, 0x5b, 0x16, 0xbf, 0x6d, 0x7f, 0xd5, 0x34,
+ 0xa4, 0x69, 0x16, 0x67, 0xf8, 0xbb, 0x39, 0x2b, 0x46, 0xfd, 0xb2, 0xcb,
+ 0xe4, 0xbe, 0x50, 0x56, 0x2d, 0xf2, 0x2d, 0x7e, 0x33, 0x31, 0x5a, 0x19,
+ 0x74, 0xab, 0xf9, 0x3d, 0xd6, 0xcf, 0x13, 0x8e, 0xac, 0x7f, 0x72, 0x03,
+ 0xde, 0xd6, 0x92, 0xed, 0x67, 0x01, 0xbc, 0x7c, 0xb0, 0x2a, 0xa6, 0x9d,
+ 0xaa, 0x32, 0x81, 0x3b, 0x97, 0x12, 0x98, 0x66, 0x8f, 0x46, 0x9d, 0x75,
+ 0xce, 0xab, 0x67, 0xbf, 0xe9, 0x2f, 0xc8, 0xec, 0xa6, 0xbe, 0x18, 0xad,
+ 0xc5, 0x2c, 0xc1, 0x60, 0xed, 0xff, 0x01, 0x21, 0x59, 0xc9, 0x0e, 0x55,
+ 0x11, 0x03, 0x00,
};
#define BUF_SIZE 0x10000
static voidpf zalloc_func(voidpf opaque, unsigned int items, unsigned int size)
diff --git a/src/tool_libinfo.c b/src/tool_libinfo.c
index d2bf7fb9..58357098 100644
--- a/src/tool_libinfo.c
+++ b/src/tool_libinfo.c
@@ -76,7 +76,6 @@ CURLcode get_libcurl_info(void)
{ NULL, 0 }
};
- struct proto_name_pattern const *p;
const char *const *proto;
/* Pointer to libcurl's run-time version information */
@@ -88,6 +87,7 @@ CURLcode get_libcurl_info(void)
built_in_protos = 0;
if(curlinfo->protocols) {
for(proto = curlinfo->protocols; *proto; proto++) {
+ struct proto_name_pattern const *p;
for(p = possibly_built_in; p->proto_name; p++) {
if(curl_strequal(*proto, p->proto_name)) {
built_in_protos |= p->proto_pattern;
diff --git a/src/tool_main.c b/src/tool_main.c
index 4e78d332..b9f7eae2 100644
--- a/src/tool_main.c
+++ b/src/tool_main.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -147,6 +147,7 @@ static CURLcode main_init(struct GlobalConfig *config)
/* Initialise the global config */
config->showerror = -1; /* Will show errors */
config->errors = stderr; /* Default errors to stderr */
+ config->styled_output = TRUE; /* enable detection */
/* Allocate the initial operate config */
config->first = config->last = malloc(sizeof(struct OperationConfig));
diff --git a/src/tool_metalink.c b/src/tool_metalink.c
index 03f15974..f8effd37 100644
--- a/src/tool_metalink.c
+++ b/src/tool_metalink.c
@@ -246,7 +246,7 @@ static int nss_hash_init(void **pctx, SECOidTag hash_alg)
/* we have to initialize NSS if not initialized already */
if(!NSS_IsInitialized() && !nss_context) {
static NSSInitParameters params;
- params.length = sizeof params;
+ params.length = sizeof(params);
nss_context = NSS_InitContext("", "", "", "", &params, NSS_INIT_READONLY
| NSS_INIT_NOCERTDB | NSS_INIT_NOMODDB | NSS_INIT_FORCEOPEN
| NSS_INIT_NOROOTINIT | NSS_INIT_OPTIMIZESPACE | NSS_INIT_PK11RELOAD);
@@ -529,7 +529,7 @@ digest_context *Curl_digest_init(const digest_params *dparams)
digest_context *ctxt;
/* Create digest context */
- ctxt = malloc(sizeof *ctxt);
+ ctxt = malloc(sizeof(*ctxt));
if(!ctxt)
return ctxt;
diff --git a/src/tool_msgs.c b/src/tool_msgs.c
index 91d62ec1..9cce8063 100644
--- a/src/tool_msgs.c
+++ b/src/tool_msgs.c
@@ -109,8 +109,8 @@ void warnf(struct GlobalConfig *config, const char *fmt, ...)
void helpf(FILE *errors, const char *fmt, ...)
{
- va_list ap;
if(fmt) {
+ va_list ap;
va_start(ap, fmt);
fputs("curl: ", errors); /* prefix it */
vfprintf(errors, fmt, ap);
diff --git a/src/tool_operate.c b/src/tool_operate.c
index 626c3088..26fc251f 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -851,15 +851,8 @@ static CURLcode operate_do(struct GlobalConfig *global,
my_setopt(curl, CURLOPT_INFILESIZE_LARGE, uploadfilesize);
my_setopt_str(curl, CURLOPT_URL, this_url); /* what to fetch */
my_setopt(curl, CURLOPT_NOPROGRESS, global->noprogress?1L:0L);
- if(config->no_body) {
+ if(config->no_body)
my_setopt(curl, CURLOPT_NOBODY, 1L);
- my_setopt(curl, CURLOPT_HEADER, 1L);
- }
- /* If --metalink is used, we ignore --include (headers in
- output) option because mixing headers to the body will
- confuse XML parser and/or hash check will fail. */
- else if(!config->use_metalink)
- my_setopt(curl, CURLOPT_HEADER, config->include_headers?1L:0L);
if(config->oauth_bearer)
my_setopt_str(curl, CURLOPT_XOAUTH2_BEARER, config->oauth_bearer);
@@ -1223,6 +1216,13 @@ static CURLcode operate_do(struct GlobalConfig *global,
my_setopt_str(curl, CURLOPT_PROXY_SSL_CIPHER_LIST,
config->proxy_cipher_list);
+ if(config->cipher13_list)
+ my_setopt_str(curl, CURLOPT_TLS13_CIPHERS, config->cipher13_list);
+
+ if(config->proxy_cipher13_list)
+ my_setopt_str(curl, CURLOPT_PROXY_SSL_CIPHER_LIST,
+ config->proxy_cipher13_list);
+
/* new in libcurl 7.9.2: */
if(config->disable_epsv)
/* disable it */
@@ -1373,6 +1373,8 @@ static CURLcode operate_do(struct GlobalConfig *global,
hdrcbdata.outs = &outs;
hdrcbdata.heads = &heads;
+ hdrcbdata.global = global;
+ hdrcbdata.config = config;
my_setopt(curl, CURLOPT_HEADERFUNCTION, tool_header_cb);
my_setopt(curl, CURLOPT_HEADERDATA, &hdrcbdata);
@@ -1472,6 +1474,9 @@ static CURLcode operate_do(struct GlobalConfig *global,
if(config->haproxy_protocol)
my_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 1L);
+ if(config->disallow_username_in_url)
+ my_setopt(curl, CURLOPT_DISALLOW_USERNAME_IN_URL, 1L);
+
/* initialize retry vars for loop below */
retry_sleep_default = (config->retry_delay) ?
config->retry_delay*1000L : RETRY_SLEEP_DEFAULT; /* ms */
@@ -1523,7 +1528,7 @@ static CURLcode operate_do(struct GlobalConfig *global,
/* do not create (or even overwrite) the file in case we get no
data because of unmet condition */
curl_easy_getinfo(curl, CURLINFO_CONDITION_UNMET, &cond_unmet);
- if(!cond_unmet && !tool_create_output_file(&outs))
+ if(!cond_unmet && !tool_create_output_file(&outs, FALSE))
result = CURLE_WRITE_ERROR;
}
diff --git a/src/tool_paramhlp.c b/src/tool_paramhlp.c
index 7cddf51c..894d4d41 100644
--- a/src/tool_paramhlp.c
+++ b/src/tool_paramhlp.c
@@ -58,14 +58,14 @@ struct getout *new_getout(struct OperationConfig *config)
ParameterError file2string(char **bufp, FILE *file)
{
- char buffer[256];
char *ptr;
char *string = NULL;
- size_t stringlen = 0;
- size_t buflen;
if(file) {
+ char buffer[256];
+ size_t stringlen = 0;
while(fgets(buffer, sizeof(buffer), file)) {
+ size_t buflen;
ptr = strchr(buffer, '\r');
if(ptr)
*ptr = '\0';
@@ -91,11 +91,11 @@ ParameterError file2memory(char **bufp, size_t *size, FILE *file)
{
char *newbuf;
char *buffer = NULL;
- size_t alloc = 512;
size_t nused = 0;
- size_t nread;
if(file) {
+ size_t nread;
+ size_t alloc = 512;
do {
if(!buffer || (alloc == nused)) {
/* size_t overflow detection for huge files */
diff --git a/src/tool_parsecfg.c b/src/tool_parsecfg.c
index 540bdb18..34b5d8b2 100644
--- a/src/tool_parsecfg.c
+++ b/src/tool_parsecfg.c
@@ -46,11 +46,9 @@ static char *my_get_line(FILE *fp);
/* return 0 on everything-is-fine, and non-zero otherwise */
int parseconfig(const char *filename, struct GlobalConfig *global)
{
- int res;
FILE *file;
char filebuffer[512];
bool usedarg = FALSE;
- char *home;
int rc = 0;
struct OperationConfig *operation = global->first;
@@ -58,8 +56,8 @@ int parseconfig(const char *filename, struct GlobalConfig *global)
/* NULL or no file name attempts to load .curlrc from the homedir! */
#ifndef __AMIGA__
+ char *home = homedir(); /* portable homedir finder */
filename = CURLRC; /* sensible default */
- home = homedir(); /* portable homedir finder */
if(home) {
if(strlen(home) < (sizeof(filebuffer) - strlen(CURLRC))) {
snprintf(filebuffer, sizeof(filebuffer),
@@ -125,13 +123,13 @@ int parseconfig(const char *filename, struct GlobalConfig *global)
char *option;
char *param;
int lineno = 0;
- bool alloced_param;
bool dashed_option;
while(NULL != (aline = my_get_line(file))) {
+ int res;
+ bool alloced_param = FALSE;
lineno++;
line = aline;
- alloced_param = FALSE;
/* line with # in the first non-blank column is a comment! */
while(*line && ISSPACE(*line))
diff --git a/src/tool_urlglob.c b/src/tool_urlglob.c
index 6fae2362..fc8c2f52 100644
--- a/src/tool_urlglob.c
+++ b/src/tool_urlglob.c
@@ -622,12 +622,12 @@ CURLcode glob_match_url(char **result, char *filename, URLGlob *glob)
while(*filename) {
if(*filename == '#' && ISDIGIT(filename[1])) {
- unsigned long i;
char *ptr = filename;
unsigned long num = strtoul(&filename[1], &filename, 10);
URLPattern *pat = NULL;
if(num < glob->size) {
+ unsigned long i;
num--; /* make it zero based */
/* find the correct glob entry */
for(i = 0; i<glob->size; i++) {
diff --git a/src/tool_version.h b/src/tool_version.h
index 0752dec2..9ec4fa94 100644
--- a/src/tool_version.h
+++ b/src/tool_version.h
@@ -25,7 +25,7 @@
#define CURL_NAME "curl"
#define CURL_COPYRIGHT LIBCURL_COPYRIGHT
-#define CURL_VERSION "7.60.0"
+#define CURL_VERSION "7.61.0"
#define CURL_VERSION_MAJOR LIBCURL_VERSION_MAJOR
#define CURL_VERSION_MINOR LIBCURL_VERSION_MINOR
#define CURL_VERSION_PATCH LIBCURL_VERSION_PATCH
diff --git a/src/tool_writeout.c b/src/tool_writeout.c
index 5d92bd27..ffe47c63 100644
--- a/src/tool_writeout.c
+++ b/src/tool_writeout.c
@@ -122,9 +122,9 @@ void ourWriteOut(CURL *curl, struct OutStruct *outs, const char *writeinfo)
else {
/* this is meant as a variable to output */
char *end;
- char keepit;
- int i;
if('{' == ptr[1]) {
+ char keepit;
+ int i;
bool match = FALSE;
end = strchr(ptr, '}');
ptr += 2; /* pass the % and the { */
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d6e6cfe2..77a9147e 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -75,7 +75,7 @@ TEST_T = -a -t
TEST_E = -a -e
# !flaky means that it'll skip all tests using the flaky keyword
-TEST_NF = -a -p -r !flaky
+TEST_NF = -a -p !flaky
endif
# make sure that PERL is pointing to an executable
diff --git a/tests/data/DISABLED b/tests/data/DISABLED
index fcbf0ffc..11d54b46 100644
--- a/tests/data/DISABLED
+++ b/tests/data/DISABLED
@@ -18,5 +18,3 @@
1510
# Pipelining test that is causing false positives a little too often
1903
-# causes memory leaks for now:
-1553
diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc
index 12373ba6..d9b1bcbe 100644
--- a/tests/data/Makefile.inc
+++ b/tests/data/Makefile.inc
@@ -127,7 +127,7 @@ test1120 test1121 test1122 test1123 test1124 test1125 test1126 test1127 \
test1128 test1129 test1130 test1131 test1132 test1133 test1134 test1135 \
test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \
test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \
-test1152 test1153 test1154 test1155 \
+test1152 test1153 test1154 test1155 test1156 \
\
test1160 test1161 test1162 test1163 test1164 \
test1170 test1171 \
@@ -175,9 +175,11 @@ test1520 test1521 \
test1525 test1526 test1527 test1528 test1529 test1530 test1531 test1532 \
test1533 test1534 test1535 test1536 test1537 test1538 \
test1540 \
-test1550 test1551 test1552 test1553 test1554 test1555 test1556 \
+test1550 test1551 test1552 test1553 test1554 test1555 test1556 test1557 \
+\
+test1590 \
test1600 test1601 test1602 test1603 test1604 test1605 test1606 test1607 \
-test1608 \
+test1608 test1609 \
\
test1700 test1701 test1702 \
\
@@ -196,5 +198,6 @@ test2056 test2057 test2058 test2059 test2060 test2061 test2062 test2063 \
test2064 test2065 test2066 test2067 test2068 test2069 \
\
test2070 test2071 test2072 test2073 \
+test2074 test2075 \
\
test3000 test3001
diff --git a/tests/data/test1116 b/tests/data/test1116
index a9af3e61..b72cbd60 100644
--- a/tests/data/test1116
+++ b/tests/data/test1116
@@ -34,6 +34,8 @@ Transfer-Encoding: chunked
Connection: mooo
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
+chunky-trailer: header data
+another-header: yes
</datacheck>
</reply>
diff --git a/tests/data/test1156 b/tests/data/test1156
new file mode 100644
index 00000000..fb483624
--- /dev/null
+++ b/tests/data/test1156
@@ -0,0 +1,70 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+Content-Range
+Resume
+Range
+</keywords>
+</info>
+
+# Server-side
+<reply>
+<data nocheck="yes">
+HTTP/1.1 200 OK
+Content-Type: text/html
+Content-Length: 5
+
+body
+</data>
+
+<data1 nocheck="yes">
+HTTP/1.1 200 OK
+Content-Type: text/html
+Content-Length: 5
+Content-Range: bytes 3/7
+
+body
+</data1>
+
+<data2 nocheck="yes">
+HTTP/1.1 416 Requested Range Not Satisfiable
+Content-Type: text/html
+Content-Length: 5
+
+body
+</data2>
+
+<data3 nocheck="yes">
+HTTP/1.1 416 Requested Range Not Satisfiable
+Content-Type: text/html
+Content-Length: 5
+Content-Range: bytes */2
+
+body
+</data3>
+</reply>
+
+# Client-side
+<client>
+<server>
+http
+</server>
+<tool>
+lib1156
+</tool>
+ <name>
+HTTP resume/range fail range-error content-range combinations
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/want/1156
+</command>
+</client>
+
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+0
+</errorcode>
+</testcase>
diff --git a/tests/data/test1319 b/tests/data/test1319
index 0520b1b3..f50c5316 100644
--- a/tests/data/test1319
+++ b/tests/data/test1319
@@ -31,9 +31,6 @@ body
</data>
<datacheck>
-HTTP/1.1 200 Mighty fine indeed
-pop3: sure hit me
-
From: me@somewhere
To: fake@nowhere
diff --git a/tests/data/test1321 b/tests/data/test1321
index 266fd882..ee1b4785 100644
--- a/tests/data/test1321
+++ b/tests/data/test1321
@@ -27,9 +27,6 @@ body
yours sincerely
</data>
<datacheck>
-HTTP/1.1 200 Mighty fine indeed
-imap: sure hit me
-
From: me@somewhere
To: fake@nowhere
diff --git a/tests/data/test1400 b/tests/data/test1400
index 0cef18df..10faef39 100644
--- a/tests/data/test1400
+++ b/tests/data/test1400
@@ -70,7 +70,6 @@ int main(int argc, char *argv[])
hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1400");
- curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
diff --git a/tests/data/test1401 b/tests/data/test1401
index de4d0aa4..f330931c 100644
--- a/tests/data/test1401
+++ b/tests/data/test1401
@@ -82,7 +82,6 @@ int main(int argc, char *argv[])
hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1401");
- curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
curl_easy_setopt(hnd, CURLOPT_USERPWD, "fake:user");
curl_easy_setopt(hnd, CURLOPT_HTTPAUTH, (long)CURLAUTH_BASIC);
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, slist1);
diff --git a/tests/data/test1402 b/tests/data/test1402
index d2b05f56..9a942837 100644
--- a/tests/data/test1402
+++ b/tests/data/test1402
@@ -75,7 +75,6 @@ int main(int argc, char *argv[])
hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1402");
- curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "foo=bar&baz=quux");
curl_easy_setopt(hnd, CURLOPT_POSTFIELDSIZE_LARGE, (curl_off_t)16);
curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
diff --git a/tests/data/test1403 b/tests/data/test1403
index b0872831..79cdf496 100644
--- a/tests/data/test1403
+++ b/tests/data/test1403
@@ -72,7 +72,6 @@ int main(int argc, char *argv[])
hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1403?foo=bar&baz=quux");
- curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
curl_easy_setopt(hnd, CURLOPT_USERAGENT, "stripped");
curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
diff --git a/tests/data/test1404 b/tests/data/test1404
index 53ab37b4..9c6f2e72 100644
--- a/tests/data/test1404
+++ b/tests/data/test1404
@@ -121,7 +121,6 @@ int main(int argc, char *argv[])
hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
curl_easy_setopt(hnd, CURLOPT_URL, "http://%HOSTIP:%HTTPPORT/we/want/1404");
- curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
mime1 = curl_mime_init(hnd);
part1 = curl_mime_addpart(mime1);
curl_mime_data(part1, "value", CURL_ZERO_TERMINATED);
diff --git a/tests/data/test1405 b/tests/data/test1405
index f3ad3e79..73769eed 100644
--- a/tests/data/test1405
+++ b/tests/data/test1405
@@ -85,7 +85,6 @@ int main(int argc, char *argv[])
hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
curl_easy_setopt(hnd, CURLOPT_URL, "ftp://%HOSTIP:%FTPPORT/1405");
- curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
curl_easy_setopt(hnd, CURLOPT_QUOTE, slist1);
curl_easy_setopt(hnd, CURLOPT_POSTQUOTE, slist2);
curl_easy_setopt(hnd, CURLOPT_PREQUOTE, slist3);
diff --git a/tests/data/test1406 b/tests/data/test1406
index 033957f6..796dd225 100644
--- a/tests/data/test1406
+++ b/tests/data/test1406
@@ -78,7 +78,6 @@ int main(int argc, char *argv[])
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
curl_easy_setopt(hnd, CURLOPT_INFILESIZE_LARGE, (curl_off_t)38);
curl_easy_setopt(hnd, CURLOPT_URL, "smtp://%HOSTIP:%SMTPPORT/1406");
- curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
curl_easy_setopt(hnd, CURLOPT_UPLOAD, 1L);
curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
diff --git a/tests/data/test1407 b/tests/data/test1407
index 5a3de1b1..9800eeef 100644
--- a/tests/data/test1407
+++ b/tests/data/test1407
@@ -59,7 +59,6 @@ int main(int argc, char *argv[])
hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
curl_easy_setopt(hnd, CURLOPT_URL, "pop3://%HOSTIP:%POP3PORT/1407");
- curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
curl_easy_setopt(hnd, CURLOPT_DIRLISTONLY, 1L);
curl_easy_setopt(hnd, CURLOPT_USERPWD, "user:secret");
curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
diff --git a/tests/data/test1417 b/tests/data/test1417
index 13ba6b16..4d3971ea 100644
--- a/tests/data/test1417
+++ b/tests/data/test1417
@@ -35,6 +35,7 @@ Trailer: chunky-trailer
Connection: mooo
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
+chunky-trailer: header data
</datacheck>
</reply>
diff --git a/tests/data/test1420 b/tests/data/test1420
index 38139e0b..a5e1c521 100644
--- a/tests/data/test1420
+++ b/tests/data/test1420
@@ -65,7 +65,6 @@ int main(int argc, char *argv[])
hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
curl_easy_setopt(hnd, CURLOPT_URL, "imap://%HOSTIP:%IMAPPORT/1420/;UID=1");
- curl_easy_setopt(hnd, CURLOPT_HEADER, 1L);
curl_easy_setopt(hnd, CURLOPT_USERPWD, "user:secret");
curl_easy_setopt(hnd, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
diff --git a/tests/data/test1455 b/tests/data/test1455
index 7768a1f8..0b77dc4f 100644
--- a/tests/data/test1455
+++ b/tests/data/test1455
@@ -35,7 +35,7 @@ http
HTTP GET when PROXY Protocol enabled
</name>
<command>
-http://%HOSTIP:%HTTPPORT/1455 --haproxy-protocol --local-port 37756
+http://%HOSTIP:%HTTPPORT/1455 --haproxy-protocol
</command>
</client>
@@ -45,8 +45,11 @@ http://%HOSTIP:%HTTPPORT/1455 --haproxy-protocol --local-port 37756
<strip>
^User-Agent:.*
</strip>
+<strippart>
+s/^PROXY TCP4 %CLIENTIP %HOSTIP (\d*) %HTTPPORT/proxy-line/
+</strippart>
<protocol>
-PROXY TCP4 %CLIENTIP %HOSTIP 37756 %HTTPPORT
+proxy-line
GET /1455 HTTP/1.1
Host: %HOSTIP:%HTTPPORT
Accept: */*
diff --git a/tests/data/test1553 b/tests/data/test1553
index c2fb9cc3..5e793b39 100644
--- a/tests/data/test1553
+++ b/tests/data/test1553
@@ -38,7 +38,9 @@ IMAP cleanup before a connection was created
<tool>
lib1553
</tool>
- <command>
+
+# this MUST use a host name that doesn't resolve
+<command>
imap://non-existing-host.haxx.se:%IMAPPORT/1553
</command>
</client>
diff --git a/tests/data/test1557 b/tests/data/test1557
new file mode 100644
index 00000000..16e2a2c4
--- /dev/null
+++ b/tests/data/test1557
@@ -0,0 +1,36 @@
+<testcase>
+<info>
+<keywords>
+multi
+crash
+</keywords>
+</info>
+
+<reply>
+</reply>
+
+<client>
+<server>
+none
+</server>
+<tool>
+lib1557
+</tool>
+
+<name>
+Removing easy handle that's in the pending connections list doesn't leave behind a dangling entry
+</name>
+<command>
+nothing
+</command>
+</client>
+
+#
+# Verify that the test runs to completion without crashing
+<verify>
+<errorcode>
+0
+</errorcode>
+</verify>
+
+</testcase>
diff --git a/tests/data/test1590 b/tests/data/test1590
new file mode 100644
index 00000000..b605022a
--- /dev/null
+++ b/tests/data/test1590
@@ -0,0 +1,54 @@
+<testcase>
+<info>
+<keywords>
+IMAP
+Clear Text
+FETCH
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+From: me@somewhere
+To: fake@nowhere
+
+body
+
+--
+ yours sincerely
+</data>
+<datacheck>
+</datacheck>
+<servercmd>
+</servercmd>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+imap
+</server>
+ <name>
+IMAP cleanup before a connection was created
+ </name>
+# tool is what to use instead of 'curl'
+<tool>
+lib1553
+</tool>
+
+# it is important this uses a host name that resolves successfully
+<command>
+imap://localhost:%IMAPPORT/1590
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test1609 b/tests/data/test1609
new file mode 100644
index 00000000..c1b7c7a1
--- /dev/null
+++ b/tests/data/test1609
@@ -0,0 +1,26 @@
+<testcase>
+<info>
+<keywords>
+unittest
+CURLOPT_RESOLVE
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<server>
+none
+</server>
+<features>
+unittest
+</features>
+ <name>
+CURLOPT_RESOLVE parsing
+ </name>
+<tool>
+unit1609
+</tool>
+</client>
+
+</testcase>
diff --git a/tests/data/test2010 b/tests/data/test2010
index b8b3ddcc..91a83f4d 100644
--- a/tests/data/test2010
+++ b/tests/data/test2010
@@ -35,10 +35,10 @@ Metalink
http
</server>
<name>
-Metalink local XML file, HTTP resource, using -o fname -i -D file
+Metalink local XML file, HTTP resource, using -o fname -D file
</name>
<command option="no-output,no-include">
---metalink file://%PWD/log/test2010.metalink -i -o log/outfile2010 -D log/heads2010
+--metalink file://%PWD/log/test2010.metalink -o log/outfile2010 -D log/heads2010
</command>
# local metalink file written before test command runs
<file name="log/test2010.metalink">
diff --git a/tests/data/test2074 b/tests/data/test2074
new file mode 100644
index 00000000..ecff8fe7
--- /dev/null
+++ b/tests/data/test2074
@@ -0,0 +1,57 @@
+<testcase>
+<info>
+<keywords>
+HTTP
+HTTP GET
+AUTH OAUTHBEARER
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+HTTP/1.1 200 OK
+Date: Thu, 09 Nov 2010 14:49:00 GMT
+Server: test-server/fake
+Last-Modified: Tue, 13 Jun 2000 12:10:00 GMT
+ETag: "21025-dc7-39462498"
+Accept-Ranges: bytes
+Content-Length: 6
+Connection: close
+Content-Type: text/html
+Funny-head: yesyes
+
+-foo-
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+http
+</server>
+ <name>
+HTTP GET
+ </name>
+ <command>
+http://%HOSTIP:%HTTPPORT/2074 --oauth2-bearer mF_9.B5f-4.1JqM
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<strip>
+^User-Agent:.*
+</strip>
+<protocol>
+GET /2074 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+Authorization: Bearer mF_9.B5f-4.1JqM
+Accept: */*
+
+</protocol>
+</verify>
+</testcase>
diff --git a/tests/data/test2075 b/tests/data/test2075
new file mode 100644
index 00000000..88db7ae2
--- /dev/null
+++ b/tests/data/test2075
@@ -0,0 +1,34 @@
+<testcase>
+<info>
+<keywords>
+--disallow-username-in-url
+HTTP
+</keywords>
+</info>
+
+#
+# Client-side
+<client>
+<features>
+http
+</features>
+<server>
+none
+</server>
+<name>
+Verify usernames are not allowed in url
+</name>
+<command>
+--disallow-username-in-url http://username:password@example.com/
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+# CURLE_LOGIN_DENIED is code 67
+<errorcode>
+67
+</errorcode>
+</verify>
+</testcase>
diff --git a/tests/data/test266 b/tests/data/test266
index d520be0f..6b07a782 100644
--- a/tests/data/test266
+++ b/tests/data/test266
@@ -35,6 +35,7 @@ Trailer: chunky-trailer
Connection: mooo
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccc
+chunky-trailer: header data
</datacheck>
</reply>
diff --git a/tests/data/test46 b/tests/data/test46
index fd0e666c..64a7b86e 100644
--- a/tests/data/test46
+++ b/tests/data/test46
@@ -51,8 +51,8 @@ domain..tld:%HTTPPORT/want/46 --resolve domain..tld:%HTTPPORT:%HOSTIP -c log/jar
www.fake.come FALSE / FALSE 2022144953 cookiecliente si
www.loser.com FALSE / FALSE 2139150993 UID 99
-domain..tld FALSE / FALSE 1739150993 mooo indeed
-#HttpOnly_domain..tld FALSE /want FALSE 1739150993 mooo2 indeed2
+domain..tld FALSE / FALSE 2139150993 mooo indeed
+#HttpOnly_domain..tld FALSE /want FALSE 2139150993 mooo2 indeed2
domain..tld FALSE /want FALSE 0 empty
</file>
</client>
@@ -75,8 +75,8 @@ Cookie: empty=; mooo2=indeed2; mooo=indeed
# This file was generated by libcurl! Edit at your own risk.
www.fake.come FALSE / FALSE 2022144953 cookiecliente si
-domain..tld FALSE / FALSE 1739150993 mooo indeed
-#HttpOnly_domain..tld FALSE /want FALSE 1739150993 mooo2 indeed2
+domain..tld FALSE / FALSE 2139150993 mooo indeed
+#HttpOnly_domain..tld FALSE /want FALSE 2139150993 mooo2 indeed2
domain..tld FALSE /want FALSE 0 empty
domain..tld FALSE / FALSE 2054030187 ckyPersistent permanent
domain..tld FALSE / FALSE 0 ckySession temporary
diff --git a/tests/data/test851 b/tests/data/test851
index 60c49c47..6269dd77 100644
--- a/tests/data/test851
+++ b/tests/data/test851
@@ -11,7 +11,7 @@ LIST
# Server-side
<reply>
<servercmd>
-# include the '.\r\n' 3-byte trailer to end the transfer poperly!
+# include the '.\r\n' 3-byte trailer to end the transfer properly!
REPLY LIST +OK 851 100\r\n.
</servercmd>
</reply>
diff --git a/tests/data/test92 b/tests/data/test92
index 1304c81e..728d271b 100644
--- a/tests/data/test92
+++ b/tests/data/test92
@@ -23,6 +23,20 @@ Content-Type: image/gif
bad
</data>
+
+# The body should be ignored.
+<datacheck>
+HTTP/1.1 416 Requested Range Not Satisfiable
+Date: Fri, 24 Oct 2003 21:33:12 GMT
+Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.3.1
+Last-Modified: Fri, 24 Oct 2003 18:01:23 GMT
+ETag: "ab57a-507-3f9968f3"
+Accept-Ranges: bytes
+Content-Length: 4
+Content-Range: bytes */87
+Content-Type: image/gif
+
+</datacheck>
</reply>
# Client-side
diff --git a/tests/libtest/CMakeLists.txt b/tests/libtest/CMakeLists.txt
index 4d42aa51..bea8d60c 100644
--- a/tests/libtest/CMakeLists.txt
+++ b/tests/libtest/CMakeLists.txt
@@ -20,12 +20,6 @@ function(SETUP_TEST TEST_NAME) # ARGN are the files in the test
PROPERTIES COMPILE_DEFINITIONS ${UPPER_TEST_NAME})
set_target_properties(${TEST_NAME}
PROPERTIES PROJECT_LABEL "${TARGET_LABEL_PREFIX}${TEST_NAME}")
-
- # Add the postfix to the executable since it is
- # not added automatically as for modules and shared libraries
- set_target_properties(${TEST_NAME}
- PROPERTIES DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
-
endfunction()
@@ -33,7 +27,11 @@ transform_makefile_inc("Makefile.inc" "${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.
include(${CMAKE_CURRENT_BINARY_DIR}/Makefile.inc.cmake)
foreach(TEST_NAME ${noinst_PROGRAMS})
- setup_test(${TEST_NAME} ${${TEST_NAME}_SOURCES})
+ if(DEFINED ${TEST_NAME}_SOURCES)
+ setup_test(${TEST_NAME} ${${TEST_NAME}_SOURCES})
+ else()
+ setup_test(${TEST_NAME} ${nodist_${TEST_NAME}_SOURCES})
+ endif()
endforeach()
# Allows for hostname override to make tests machine independent.
diff --git a/tests/libtest/Makefile.am b/tests/libtest/Makefile.am
index 0b8ebe9a..d14f37d3 100644
--- a/tests/libtest/Makefile.am
+++ b/tests/libtest/Makefile.am
@@ -51,6 +51,8 @@ CFLAG_CURL_SYMBOL_HIDING = @CFLAG_CURL_SYMBOL_HIDING@
CFLAGS += @CURL_CFLAG_EXTRAS@
+CLEANFILES = lib1521.c
+
# Prevent LIBS from being used for all link targets
LIBS = $(BLANK_AT_MAKETIME)
@@ -117,7 +119,7 @@ noinst_LTLIBRARIES += libstubgss.la
libstubgss_la_CPPFLAGS = $(AM_CPPFLAGS)
libstubgss_la_LDFLAGS = $(AM_LDFLAGS) -avoid-version -rpath /nowhere
-libstubgss_la_CFLAGS = $(AM_CFLAGS) -g -Wno-unused-parameter
+libstubgss_la_CFLAGS = $(AM_CFLAGS) -g
libstubgss_la_SOURCES = stub_gssapi.c stub_gssapi.h
@@ -131,6 +133,3 @@ lib1521.c: $(top_srcdir)/tests/libtest/mk-lib1521.pl $(top_srcdir)/include/curl/
checksrc:
@PERL@ $(top_srcdir)/lib/checksrc.pl $(srcdir)/*.c
-
-dist:
- rm lib1521.c
diff --git a/tests/libtest/Makefile.inc b/tests/libtest/Makefile.inc
index e7e8c486..ecb7d1dd 100644
--- a/tests/libtest/Makefile.inc
+++ b/tests/libtest/Makefile.inc
@@ -21,13 +21,14 @@ noinst_PROGRAMS = chkhostname libauthretry libntlmconnect \
lib571 lib572 lib573 lib574 lib575 lib576 lib578 lib579 lib582 \
lib583 lib585 lib586 lib587 lib589 lib590 lib591 lib597 lib598 lib599 \
lib643 lib644 lib645 lib650 lib651 lib652 lib653 lib654 lib655 \
+ lib1156 \
lib1500 lib1501 lib1502 lib1503 lib1504 lib1505 lib1506 lib1507 lib1508 \
lib1509 lib1510 lib1511 lib1512 lib1513 lib1514 lib1515 lib1517 \
lib1520 lib1521 \
lib1525 lib1526 lib1527 lib1528 lib1529 lib1530 lib1531 lib1532 lib1533 \
lib1534 lib1535 lib1536 lib1537 lib1538 \
lib1540 \
- lib1550 lib1551 lib1552 lib1553 lib1554 lib1555 lib1556 \
+ lib1550 lib1551 lib1552 lib1553 lib1554 lib1555 lib1556 lib1557 \
lib1900 \
lib2033
@@ -358,6 +359,10 @@ lib1506_SOURCES = lib1506.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib1506_LDADD = $(TESTUTIL_LIBS)
lib1506_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1506
+lib1156_SOURCES = lib1156.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
+lib1156_LDADD = $(TESTUTIL_LIBS)
+lib1156_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1156
+
lib1507_SOURCES = lib1507.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib1507_LDADD = $(TESTUTIL_LIBS)
lib1507_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1507
@@ -400,7 +405,7 @@ lib1517_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1517
lib1520_SOURCES = lib1520.c $(SUPPORTFILES)
lib1520_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1520
-lib1521_SOURCES = lib1521.c $(SUPPORTFILES)
+nodist_lib1521_SOURCES = lib1521.c $(SUPPORTFILES)
lib1521_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)
lib1525_SOURCES = lib1525.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
@@ -488,6 +493,10 @@ lib1556_SOURCES = lib1556.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib1556_LDADD = $(TESTUTIL_LIBS)
lib1556_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1556
+lib1557_SOURCES = lib1557.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
+lib1557_LDADD = $(TESTUTIL_LIBS)
+lib1557_CPPFLAGS = $(AM_CPPFLAGS) -DLIB1557
+
lib1900_SOURCES = lib1900.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
lib1900_LDADD = $(TESTUTIL_LIBS)
lib1900_CPPFLAGS = $(AM_CPPFLAGS)
diff --git a/tests/libtest/lib1156.c b/tests/libtest/lib1156.c
new file mode 100644
index 00000000..63348de7
--- /dev/null
+++ b/tests/libtest/lib1156.c
@@ -0,0 +1,162 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "test.h"
+
+/*
+ Check range/resume returned error codes and data presence.
+
+ The input parameters are:
+ - CURLOPT_RANGE/CURLOPT_RESUME_FROM
+ - CURLOPT_FAILONERROR
+ - Returned http code (2xx/416)
+ - Content-Range header present in reply.
+
+*/
+
+#include "memdebug.h"
+
+#define F_RESUME (1 << 0) /* resume/range. */
+#define F_HTTP416 (1 << 1) /* Server returns http code 416. */
+#define F_FAIL (1 << 2) /* Fail on error. */
+#define F_CONTENTRANGE (1 << 3) /* Server sends content-range hdr. */
+#define F_IGNOREBODY (1 << 4) /* Body should be ignored. */
+
+typedef struct {
+ unsigned int flags; /* ORed flags as above. */
+ CURLcode result; /* Code that should be returned by curl_easy_perform(). */
+} testparams;
+
+static const testparams params[] = {
+ { 0, CURLE_OK },
+ { F_CONTENTRANGE, CURLE_OK },
+ { F_FAIL, CURLE_OK },
+ { F_FAIL | F_CONTENTRANGE, CURLE_OK },
+ { F_HTTP416, CURLE_OK },
+ { F_HTTP416 | F_CONTENTRANGE, CURLE_OK },
+ { F_HTTP416 | F_FAIL | F_IGNOREBODY,
+ CURLE_HTTP_RETURNED_ERROR },
+ { F_HTTP416 | F_FAIL | F_CONTENTRANGE | F_IGNOREBODY,
+ CURLE_HTTP_RETURNED_ERROR },
+ { F_RESUME | F_IGNOREBODY,
+ CURLE_RANGE_ERROR },
+ { F_RESUME | F_CONTENTRANGE, CURLE_OK },
+ { F_RESUME | F_FAIL | F_IGNOREBODY,
+ CURLE_RANGE_ERROR },
+ { F_RESUME | F_FAIL | F_CONTENTRANGE, CURLE_OK },
+ { F_RESUME | F_HTTP416 | F_IGNOREBODY, CURLE_OK },
+ { F_RESUME | F_HTTP416 | F_CONTENTRANGE | F_IGNOREBODY, CURLE_OK },
+ { F_RESUME | F_HTTP416 | F_FAIL | F_IGNOREBODY,
+ CURLE_HTTP_RETURNED_ERROR },
+ { F_RESUME | F_HTTP416 | F_FAIL | F_CONTENTRANGE | F_IGNOREBODY,
+ CURLE_HTTP_RETURNED_ERROR }
+};
+
+static int hasbody;
+
+static size_t writedata(char *data, size_t size, size_t nmemb, void *userdata)
+{
+ (void) data;
+ (void) userdata;
+
+ if(size && nmemb)
+ hasbody = 1;
+ return size * nmemb;
+}
+
+static int onetest(CURL *curl, const char *url, const testparams *p)
+{
+ CURLcode res;
+ unsigned int replyselector;
+ char urlbuf[256];
+
+ replyselector = p->flags & F_CONTENTRANGE? 1: 0;
+ if(p->flags & F_HTTP416)
+ replyselector += 2;
+ snprintf(urlbuf, sizeof(urlbuf), "%s%04u", url, replyselector);
+ test_setopt(curl, CURLOPT_URL, urlbuf);
+ test_setopt(curl, CURLOPT_RESUME_FROM, (p->flags & F_RESUME)? 3: 0);
+ test_setopt(curl, CURLOPT_RANGE, !(p->flags & F_RESUME)?
+ "3-1000000": (char *) NULL);
+ test_setopt(curl, CURLOPT_FAILONERROR, p->flags & F_FAIL? 1: 0);
+ hasbody = 0;
+ res = curl_easy_perform(curl);
+ if(res != p->result) {
+ fprintf(stderr, "bad error code (%d): resume=%s, fail=%s, http416=%s, "
+ "content-range=%s, expected=%d\n", res,
+ (p->flags & F_RESUME)? "yes": "no",
+ (p->flags & F_FAIL)? "yes": "no",
+ (p->flags & F_HTTP416)? "yes": "no",
+ (p->flags & F_CONTENTRANGE)? "yes": "no",
+ p->result);
+ return 1;
+ }
+ if(hasbody && (p->flags & F_IGNOREBODY)) {
+ fprintf(stderr, "body should be ignored and is not: resume=%s, fail=%s, "
+ "http416=%s, content-range=%s\n",
+ (p->flags & F_RESUME)? "yes": "no",
+ (p->flags & F_FAIL)? "yes": "no",
+ (p->flags & F_HTTP416)? "yes": "no",
+ (p->flags & F_CONTENTRANGE)? "yes": "no");
+ return 1;
+ }
+ return 0;
+
+ test_cleanup:
+
+ return 1;
+}
+
+int test(char *URL)
+{
+ CURLcode res;
+ CURL *curl;
+ size_t i;
+ int status = 0;
+
+ if(curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
+ fprintf(stderr, "curl_global_init() failed\n");
+ return TEST_ERR_MAJOR_BAD;
+ }
+
+ curl = curl_easy_init();
+ if(!curl) {
+ fprintf(stderr, "curl_easy_init() failed\n");
+ curl_global_cleanup();
+ return TEST_ERR_MAJOR_BAD;
+ }
+
+ test_setopt(curl, CURLOPT_WRITEFUNCTION, writedata);
+
+ for(i = 0; i < sizeof(params) / sizeof(params[0]); i++)
+ status |= onetest(curl, URL, params + i);
+
+ curl_easy_cleanup(curl);
+ curl_global_cleanup();
+ return status;
+
+ test_cleanup:
+
+ curl_easy_cleanup(curl);
+ curl_global_cleanup();
+
+ return (int)res;
+}
diff --git a/tests/libtest/lib1521.c b/tests/libtest/lib1521.c
deleted file mode 100644
index 9f9f17c7..00000000
--- a/tests/libtest/lib1521.c
+++ /dev/null
@@ -1,2595 +0,0 @@
-/***************************************************************************
- * _ _ ____ _
- * Project ___| | | | _ \| |
- * / __| | | | |_) | |
- * | (__| |_| | _ <| |___
- * \___|\___/|_| \_\_____|
- *
- * Copyright (C) 2017, Daniel Stenberg, <daniel.se>, et al.
- *
- * This software is licensed as described in the file COPYING, which
- * you should have received as part of this distribution. The terms
- * are also available at https://curl.haxx.se/docs/copyright.html.
- *
- * You may opt to use, copy, modify, merge, publish, distribute and/or sell
- * copies of the Software, and permit persons to whom the Software is
- * furnished to do so, under the terms of the COPYING file.
- *
- * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
- * KIND, either express or implied.
- *
- ***************************************************************************/
-#include "test.h"
-#include "memdebug.h"
-#include <limits.h>
-
-/* This source code is generated by mk-lib1521.pl ! */
-
-struct data {
- char *blaha;
-};
-
-#define LO LONG_MIN
-#define HI LONG_MAX
-#define OFF_LO (curl_off_t) LO
-#define OFF_HI (curl_off_t) ULONG_MAX
-#define OFF_NO (curl_off_t) 0
-
-/* Unexpected error.
- CURLE_NOT_BUILT_IN - means disabled at build
- CURLE_UNKNOWN_OPTION - means no such option (anymore?)
- CURLE_SSL_ENGINE_NOTFOUND - set unknown ssl engine
- CURLE_UNSUPPORTED_PROTOCOL - set bad HTTP version
- CURLE_BAD_FUNCTION_ARGUMENT - unsupported value
- */
-#define UNEX(x) ((x) && \
- ((x) != CURLE_NOT_BUILT_IN) && \
- ((x) != CURLE_UNKNOWN_OPTION) && \
- ((x) != CURLE_SSL_ENGINE_NOTFOUND) && \
- ((x) != CURLE_UNSUPPORTED_PROTOCOL) && \
- ((x) != CURLE_BAD_FUNCTION_ARGUMENT) )
-
-static size_t writecb(char *buffer, size_t size, size_t nitems,
- void *outstream)
-{
- (void)buffer;
- (void)size;
- (void)nitems;
- (void)outstream;
- return 0;
-}
-
-static size_t readcb(char *buffer,
- size_t size,
- size_t nitems,
- void *instream)
-{
- (void)buffer;
- (void)size;
- (void)nitems;
- (void)instream;
- return 0;
-}
-
-static int err(const char *name, CURLcode val, int lineno)
-{
- printf("CURLOPT_%s returned %d, \"%s\" on line %d\n",
- name, val, curl_easy_strerror(val), lineno);
- return (int)val;
-}
-
-static int geterr(const char *name, CURLcode val, int lineno)
-{
- printf("CURLINFO_%s returned %d, \"%s\" on line %d\n",
- name, val, curl_easy_strerror(val), lineno);
- return (int)val;
-}
-
-static curl_progress_callback progresscb;
-static curl_write_callback headercb;
-static curl_debug_callback debugcb;
-static curl_ssl_ctx_callback ssl_ctx_cb;
-static curl_ioctl_callback ioctlcb;
-static curl_sockopt_callback sockoptcb;
-static curl_opensocket_callback opensocketcb;
-static curl_seek_callback seekcb;
-static curl_sshkeycallback ssh_keycb;
-static curl_chunk_bgn_callback chunk_bgn_cb;
-static curl_chunk_end_callback chunk_end_cb;
-static curl_fnmatch_callback fnmatch_cb;
-static curl_closesocket_callback closesocketcb;
-static curl_xferinfo_callback xferinfocb;
-static curl_resolver_start_callback resolver_start_cb;
-
-int test(char *URL)
-{
- CURL *curl = NULL;
- CURL *dep = NULL;
- CURLSH *share = NULL;
- char errorbuffer[CURL_ERROR_SIZE];
- void *conv_from_network_cb = NULL;
- void *conv_to_network_cb = NULL;
- void *conv_from_utf8_cb = NULL;
- void *interleavecb = NULL;
- char *stringpointerextra = (char *)"moooo";
- struct curl_slist *slist = NULL;
- struct curl_httppost *httppost = NULL;
- curl_mime *mimepost = NULL;
- FILE *stream = stderr;
- struct data object;
- char *charp;
- long val;
- curl_off_t oval;
- double dval;
- curl_socket_t sockfd;
- struct curl_certinfo *certinfo;
- struct curl_tlssessioninfo *tlssession;
- CURLcode res = CURLE_OK;
- (void)URL; /* not used */
- global_init(CURL_GLOBAL_ALL);
- easy_init(dep);
- easy_init(curl);
- share = curl_share_init();
- if(!share) {
- res = CURLE_OUT_OF_MEMORY;
- goto test_cleanup;
- }
-
- res = curl_easy_setopt(curl, CURLOPT_WRITEDATA, &object);
- if(UNEX(res)) {
- err("WRITEDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_WRITEDATA, NULL);
- if(UNEX(res)) {
- err("WRITEDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_URL, "string");
- if(UNEX(res)) {
- err("URL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_URL, NULL);
- if(UNEX(res)) {
- err("URL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PORT, 0L);
- if(UNEX(res)) {
- err("PORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PORT, 22L);
- if(UNEX(res)) {
- err("PORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PORT, LO);
- if(UNEX(res)) {
- err("PORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PORT, HI);
- if(UNEX(res)) {
- err("PORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY, "string");
- if(UNEX(res)) {
- err("PROXY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY, NULL);
- if(UNEX(res)) {
- err("PROXY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_USERPWD, "string");
- if(UNEX(res)) {
- err("USERPWD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_USERPWD, NULL);
- if(UNEX(res)) {
- err("USERPWD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, "string");
- if(UNEX(res)) {
- err("PROXYUSERPWD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, NULL);
- if(UNEX(res)) {
- err("PROXYUSERPWD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RANGE, "string");
- if(UNEX(res)) {
- err("RANGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RANGE, NULL);
- if(UNEX(res)) {
- err("RANGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_READDATA, &object);
- if(UNEX(res)) {
- err("READDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_READDATA, NULL);
- if(UNEX(res)) {
- err("READDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, errorbuffer);
- if(UNEX(res)) {
- err("ERRORBUFFER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, NULL);
- if(UNEX(res)) {
- err("ERRORBUFFER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION,
- writecb);
- if(UNEX(res)) {
- err("WRITEFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
- if(UNEX(res)) {
- err("WRITEFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_READFUNCTION,
- readcb);
- if(UNEX(res)) {
- err("READFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_READFUNCTION, NULL);
- if(UNEX(res)) {
- err("READFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEOUT, 0L);
- if(UNEX(res)) {
- err("TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEOUT, 22L);
- if(UNEX(res)) {
- err("TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEOUT, LO);
- if(UNEX(res)) {
- err("TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEOUT, HI);
- if(UNEX(res)) {
- err("TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INFILESIZE, 0L);
- if(UNEX(res)) {
- err("INFILESIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INFILESIZE, 22L);
- if(UNEX(res)) {
- err("INFILESIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INFILESIZE, LO);
- if(UNEX(res)) {
- err("INFILESIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INFILESIZE, HI);
- if(UNEX(res)) {
- err("INFILESIZE", res, __LINE__); goto test_cleanup; }
- (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0);
- res = curl_easy_setopt(curl, CURLOPT_POSTFIELDS, stringpointerextra);
- if(UNEX(res)) {
- err("POSTFIELDS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTFIELDS, NULL);
- if(UNEX(res)) {
- err("POSTFIELDS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_REFERER, "string");
- if(UNEX(res)) {
- err("REFERER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_REFERER, NULL);
- if(UNEX(res)) {
- err("REFERER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTPPORT, "string");
- if(UNEX(res)) {
- err("FTPPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTPPORT, NULL);
- if(UNEX(res)) {
- err("FTPPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_USERAGENT, "string");
- if(UNEX(res)) {
- err("USERAGENT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_USERAGENT, NULL);
- if(UNEX(res)) {
- err("USERAGENT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 0L);
- if(UNEX(res)) {
- err("LOW_SPEED_LIMIT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, 22L);
- if(UNEX(res)) {
- err("LOW_SPEED_LIMIT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, LO);
- if(UNEX(res)) {
- err("LOW_SPEED_LIMIT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_LIMIT, HI);
- if(UNEX(res)) {
- err("LOW_SPEED_LIMIT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 0L);
- if(UNEX(res)) {
- err("LOW_SPEED_TIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, 22L);
- if(UNEX(res)) {
- err("LOW_SPEED_TIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, LO);
- if(UNEX(res)) {
- err("LOW_SPEED_TIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOW_SPEED_TIME, HI);
- if(UNEX(res)) {
- err("LOW_SPEED_TIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM, 0L);
- if(UNEX(res)) {
- err("RESUME_FROM", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM, 22L);
- if(UNEX(res)) {
- err("RESUME_FROM", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM, LO);
- if(UNEX(res)) {
- err("RESUME_FROM", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM, HI);
- if(UNEX(res)) {
- err("RESUME_FROM", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIE, "string");
- if(UNEX(res)) {
- err("COOKIE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIE, NULL);
- if(UNEX(res)) {
- err("COOKIE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, slist);
- if(UNEX(res)) {
- err("HTTPHEADER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPHEADER, NULL);
- if(UNEX(res)) {
- err("HTTPHEADER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPPOST, httppost);
- if(UNEX(res)) {
- err("HTTPPOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPPOST, NULL);
- if(UNEX(res)) {
- err("HTTPPOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLCERT, "string");
- if(UNEX(res)) {
- err("SSLCERT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLCERT, NULL);
- if(UNEX(res)) {
- err("SSLCERT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_KEYPASSWD, "string");
- if(UNEX(res)) {
- err("KEYPASSWD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_KEYPASSWD, NULL);
- if(UNEX(res)) {
- err("KEYPASSWD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CRLF, 0L);
- if(UNEX(res)) {
- err("CRLF", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CRLF, 22L);
- if(UNEX(res)) {
- err("CRLF", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CRLF, LO);
- if(UNEX(res)) {
- err("CRLF", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CRLF, HI);
- if(UNEX(res)) {
- err("CRLF", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_QUOTE, slist);
- if(UNEX(res)) {
- err("QUOTE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_QUOTE, NULL);
- if(UNEX(res)) {
- err("QUOTE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADERDATA, &object);
- if(UNEX(res)) {
- err("HEADERDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADERDATA, NULL);
- if(UNEX(res)) {
- err("HEADERDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "string");
- if(UNEX(res)) {
- err("COOKIEFILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIEFILE, NULL);
- if(UNEX(res)) {
- err("COOKIEFILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLVERSION, 0L);
- if(UNEX(res)) {
- err("SSLVERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLVERSION, 22L);
- if(UNEX(res)) {
- err("SSLVERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLVERSION, LO);
- if(UNEX(res)) {
- err("SSLVERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLVERSION, HI);
- if(UNEX(res)) {
- err("SSLVERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMECONDITION, 0L);
- if(UNEX(res)) {
- err("TIMECONDITION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMECONDITION, 22L);
- if(UNEX(res)) {
- err("TIMECONDITION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMECONDITION, LO);
- if(UNEX(res)) {
- err("TIMECONDITION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMECONDITION, HI);
- if(UNEX(res)) {
- err("TIMECONDITION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE, 0L);
- if(UNEX(res)) {
- err("TIMEVALUE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE, 22L);
- if(UNEX(res)) {
- err("TIMEVALUE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE, LO);
- if(UNEX(res)) {
- err("TIMEVALUE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE, HI);
- if(UNEX(res)) {
- err("TIMEVALUE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "string");
- if(UNEX(res)) {
- err("CUSTOMREQUEST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, NULL);
- if(UNEX(res)) {
- err("CUSTOMREQUEST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_STDERR, stream);
- if(UNEX(res)) {
- err("STDERR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_STDERR, NULL);
- if(UNEX(res)) {
- err("STDERR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTQUOTE, slist);
- if(UNEX(res)) {
- err("POSTQUOTE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTQUOTE, NULL);
- if(UNEX(res)) {
- err("POSTQUOTE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_OBSOLETE40, &object);
- if(UNEX(res)) {
- err("OBSOLETE40", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_OBSOLETE40, NULL);
- if(UNEX(res)) {
- err("OBSOLETE40", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_VERBOSE, 0L);
- if(UNEX(res)) {
- err("VERBOSE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_VERBOSE, 22L);
- if(UNEX(res)) {
- err("VERBOSE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_VERBOSE, LO);
- if(UNEX(res)) {
- err("VERBOSE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_VERBOSE, HI);
- if(UNEX(res)) {
- err("VERBOSE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADER, 0L);
- if(UNEX(res)) {
- err("HEADER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADER, 22L);
- if(UNEX(res)) {
- err("HEADER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADER, LO);
- if(UNEX(res)) {
- err("HEADER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADER, HI);
- if(UNEX(res)) {
- err("HEADER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 0L);
- if(UNEX(res)) {
- err("NOPROGRESS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 22L);
- if(UNEX(res)) {
- err("NOPROGRESS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOPROGRESS, LO);
- if(UNEX(res)) {
- err("NOPROGRESS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOPROGRESS, HI);
- if(UNEX(res)) {
- err("NOPROGRESS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOBODY, 0L);
- if(UNEX(res)) {
- err("NOBODY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOBODY, 22L);
- if(UNEX(res)) {
- err("NOBODY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOBODY, LO);
- if(UNEX(res)) {
- err("NOBODY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOBODY, HI);
- if(UNEX(res)) {
- err("NOBODY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FAILONERROR, 0L);
- if(UNEX(res)) {
- err("FAILONERROR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FAILONERROR, 22L);
- if(UNEX(res)) {
- err("FAILONERROR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FAILONERROR, LO);
- if(UNEX(res)) {
- err("FAILONERROR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FAILONERROR, HI);
- if(UNEX(res)) {
- err("FAILONERROR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_UPLOAD, 0L);
- if(UNEX(res)) {
- err("UPLOAD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_UPLOAD, 22L);
- if(UNEX(res)) {
- err("UPLOAD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_UPLOAD, LO);
- if(UNEX(res)) {
- err("UPLOAD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_UPLOAD, HI);
- if(UNEX(res)) {
- err("UPLOAD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POST, 0L);
- if(UNEX(res)) {
- err("POST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POST, 22L);
- if(UNEX(res)) {
- err("POST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POST, LO);
- if(UNEX(res)) {
- err("POST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POST, HI);
- if(UNEX(res)) {
- err("POST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, 0L);
- if(UNEX(res)) {
- err("DIRLISTONLY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, 22L);
- if(UNEX(res)) {
- err("DIRLISTONLY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, LO);
- if(UNEX(res)) {
- err("DIRLISTONLY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DIRLISTONLY, HI);
- if(UNEX(res)) {
- err("DIRLISTONLY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_APPEND, 0L);
- if(UNEX(res)) {
- err("APPEND", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_APPEND, 22L);
- if(UNEX(res)) {
- err("APPEND", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_APPEND, LO);
- if(UNEX(res)) {
- err("APPEND", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_APPEND, HI);
- if(UNEX(res)) {
- err("APPEND", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NETRC, 0L);
- if(UNEX(res)) {
- err("NETRC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NETRC, 22L);
- if(UNEX(res)) {
- err("NETRC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NETRC, LO);
- if(UNEX(res)) {
- err("NETRC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NETRC, HI);
- if(UNEX(res)) {
- err("NETRC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 0L);
- if(UNEX(res)) {
- err("FOLLOWLOCATION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 22L);
- if(UNEX(res)) {
- err("FOLLOWLOCATION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, LO);
- if(UNEX(res)) {
- err("FOLLOWLOCATION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, HI);
- if(UNEX(res)) {
- err("FOLLOWLOCATION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, 0L);
- if(UNEX(res)) {
- err("TRANSFERTEXT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, 22L);
- if(UNEX(res)) {
- err("TRANSFERTEXT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, LO);
- if(UNEX(res)) {
- err("TRANSFERTEXT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TRANSFERTEXT, HI);
- if(UNEX(res)) {
- err("TRANSFERTEXT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PUT, 0L);
- if(UNEX(res)) {
- err("PUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PUT, 22L);
- if(UNEX(res)) {
- err("PUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PUT, LO);
- if(UNEX(res)) {
- err("PUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PUT, HI);
- if(UNEX(res)) {
- err("PUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION,
- progresscb);
- if(UNEX(res)) {
- err("PROGRESSFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROGRESSFUNCTION, NULL);
- if(UNEX(res)) {
- err("PROGRESSFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, &object);
- if(UNEX(res)) {
- err("PROGRESSDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROGRESSDATA, NULL);
- if(UNEX(res)) {
- err("PROGRESSDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 0L);
- if(UNEX(res)) {
- err("AUTOREFERER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 22L);
- if(UNEX(res)) {
- err("AUTOREFERER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_AUTOREFERER, LO);
- if(UNEX(res)) {
- err("AUTOREFERER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_AUTOREFERER, HI);
- if(UNEX(res)) {
- err("AUTOREFERER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYPORT, 0L);
- if(UNEX(res)) {
- err("PROXYPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYPORT, 22L);
- if(UNEX(res)) {
- err("PROXYPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYPORT, LO);
- if(UNEX(res)) {
- err("PROXYPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYPORT, HI);
- if(UNEX(res)) {
- err("PROXYPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0L);
- if(UNEX(res)) {
- err("POSTFIELDSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 22L);
- if(UNEX(res)) {
- err("POSTFIELDSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, LO);
- if(UNEX(res)) {
- err("POSTFIELDSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, HI);
- if(UNEX(res)) {
- err("POSTFIELDSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 0L);
- if(UNEX(res)) {
- err("HTTPPROXYTUNNEL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, 22L);
- if(UNEX(res)) {
- err("HTTPPROXYTUNNEL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, LO);
- if(UNEX(res)) {
- err("HTTPPROXYTUNNEL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPPROXYTUNNEL, HI);
- if(UNEX(res)) {
- err("HTTPPROXYTUNNEL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INTERFACE, "string");
- if(UNEX(res)) {
- err("INTERFACE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INTERFACE, NULL);
- if(UNEX(res)) {
- err("INTERFACE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_KRBLEVEL, "string");
- if(UNEX(res)) {
- err("KRBLEVEL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_KRBLEVEL, NULL);
- if(UNEX(res)) {
- err("KRBLEVEL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
- if(UNEX(res)) {
- err("SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 22L);
- if(UNEX(res)) {
- err("SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, LO);
- if(UNEX(res)) {
- err("SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, HI);
- if(UNEX(res)) {
- err("SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CAINFO, "string");
- if(UNEX(res)) {
- err("CAINFO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CAINFO, NULL);
- if(UNEX(res)) {
- err("CAINFO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 0L);
- if(UNEX(res)) {
- err("MAXREDIRS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 22L);
- if(UNEX(res)) {
- err("MAXREDIRS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXREDIRS, LO);
- if(UNEX(res)) {
- err("MAXREDIRS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXREDIRS, HI);
- if(UNEX(res)) {
- err("MAXREDIRS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FILETIME, 0L);
- if(UNEX(res)) {
- err("FILETIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FILETIME, 22L);
- if(UNEX(res)) {
- err("FILETIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FILETIME, LO);
- if(UNEX(res)) {
- err("FILETIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FILETIME, HI);
- if(UNEX(res)) {
- err("FILETIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TELNETOPTIONS, slist);
- if(UNEX(res)) {
- err("TELNETOPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TELNETOPTIONS, NULL);
- if(UNEX(res)) {
- err("TELNETOPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, 0L);
- if(UNEX(res)) {
- err("MAXCONNECTS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, 22L);
- if(UNEX(res)) {
- err("MAXCONNECTS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, LO);
- if(UNEX(res)) {
- err("MAXCONNECTS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXCONNECTS, HI);
- if(UNEX(res)) {
- err("MAXCONNECTS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_OBSOLETE72, 0L);
- if(UNEX(res)) {
- err("OBSOLETE72", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_OBSOLETE72, 22L);
- if(UNEX(res)) {
- err("OBSOLETE72", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_OBSOLETE72, LO);
- if(UNEX(res)) {
- err("OBSOLETE72", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_OBSOLETE72, HI);
- if(UNEX(res)) {
- err("OBSOLETE72", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, 0L);
- if(UNEX(res)) {
- err("FRESH_CONNECT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, 22L);
- if(UNEX(res)) {
- err("FRESH_CONNECT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, LO);
- if(UNEX(res)) {
- err("FRESH_CONNECT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FRESH_CONNECT, HI);
- if(UNEX(res)) {
- err("FRESH_CONNECT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, 0L);
- if(UNEX(res)) {
- err("FORBID_REUSE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, 22L);
- if(UNEX(res)) {
- err("FORBID_REUSE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, LO);
- if(UNEX(res)) {
- err("FORBID_REUSE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FORBID_REUSE, HI);
- if(UNEX(res)) {
- err("FORBID_REUSE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RANDOM_FILE, "string");
- if(UNEX(res)) {
- err("RANDOM_FILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RANDOM_FILE, NULL);
- if(UNEX(res)) {
- err("RANDOM_FILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_EGDSOCKET, "string");
- if(UNEX(res)) {
- err("EGDSOCKET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_EGDSOCKET, NULL);
- if(UNEX(res)) {
- err("EGDSOCKET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 0L);
- if(UNEX(res)) {
- err("CONNECTTIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 22L);
- if(UNEX(res)) {
- err("CONNECTTIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, LO);
- if(UNEX(res)) {
- err("CONNECTTIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, HI);
- if(UNEX(res)) {
- err("CONNECTTIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION,
- headercb);
- if(UNEX(res)) {
- err("HEADERFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, NULL);
- if(UNEX(res)) {
- err("HEADERFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPGET, 0L);
- if(UNEX(res)) {
- err("HTTPGET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPGET, 22L);
- if(UNEX(res)) {
- err("HTTPGET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPGET, LO);
- if(UNEX(res)) {
- err("HTTPGET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPGET, HI);
- if(UNEX(res)) {
- err("HTTPGET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0L);
- if(UNEX(res)) {
- err("SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 22L);
- if(UNEX(res)) {
- err("SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, LO);
- if(UNEX(res)) {
- err("SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, HI);
- if(UNEX(res)) {
- err("SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "string");
- if(UNEX(res)) {
- err("COOKIEJAR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIEJAR, NULL);
- if(UNEX(res)) {
- err("COOKIEJAR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_CIPHER_LIST, "string");
- if(UNEX(res)) {
- err("SSL_CIPHER_LIST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_CIPHER_LIST, NULL);
- if(UNEX(res)) {
- err("SSL_CIPHER_LIST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, 0L);
- if(UNEX(res)) {
- err("HTTP_VERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, 22L);
- if(UNEX(res)) {
- err("HTTP_VERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, LO);
- if(UNEX(res)) {
- err("HTTP_VERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, HI);
- if(UNEX(res)) {
- err("HTTP_VERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, 0L);
- if(UNEX(res)) {
- err("FTP_USE_EPSV", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, 22L);
- if(UNEX(res)) {
- err("FTP_USE_EPSV", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, LO);
- if(UNEX(res)) {
- err("FTP_USE_EPSV", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPSV, HI);
- if(UNEX(res)) {
- err("FTP_USE_EPSV", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLCERTTYPE, "string");
- if(UNEX(res)) {
- err("SSLCERTTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLCERTTYPE, NULL);
- if(UNEX(res)) {
- err("SSLCERTTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLKEY, "string");
- if(UNEX(res)) {
- err("SSLKEY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLKEY, NULL);
- if(UNEX(res)) {
- err("SSLKEY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLKEYTYPE, "string");
- if(UNEX(res)) {
- err("SSLKEYTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLKEYTYPE, NULL);
- if(UNEX(res)) {
- err("SSLKEYTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLENGINE, "string");
- if(UNEX(res)) {
- err("SSLENGINE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLENGINE, NULL);
- if(UNEX(res)) {
- err("SSLENGINE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 0L);
- if(UNEX(res)) {
- err("SSLENGINE_DEFAULT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 22L);
- if(UNEX(res)) {
- err("SSLENGINE_DEFAULT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, LO);
- if(UNEX(res)) {
- err("SSLENGINE_DEFAULT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, HI);
- if(UNEX(res)) {
- err("SSLENGINE_DEFAULT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, 0L);
- if(UNEX(res)) {
- err("DNS_USE_GLOBAL_CACHE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, 22L);
- if(UNEX(res)) {
- err("DNS_USE_GLOBAL_CACHE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, LO);
- if(UNEX(res)) {
- err("DNS_USE_GLOBAL_CACHE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_USE_GLOBAL_CACHE, HI);
- if(UNEX(res)) {
- err("DNS_USE_GLOBAL_CACHE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, 0L);
- if(UNEX(res)) {
- err("DNS_CACHE_TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, 22L);
- if(UNEX(res)) {
- err("DNS_CACHE_TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, LO);
- if(UNEX(res)) {
- err("DNS_CACHE_TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_CACHE_TIMEOUT, HI);
- if(UNEX(res)) {
- err("DNS_CACHE_TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PREQUOTE, slist);
- if(UNEX(res)) {
- err("PREQUOTE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PREQUOTE, NULL);
- if(UNEX(res)) {
- err("PREQUOTE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION,
- debugcb);
- if(UNEX(res)) {
- err("DEBUGFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, NULL);
- if(UNEX(res)) {
- err("DEBUGFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DEBUGDATA, &object);
- if(UNEX(res)) {
- err("DEBUGDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DEBUGDATA, NULL);
- if(UNEX(res)) {
- err("DEBUGDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIESESSION, 0L);
- if(UNEX(res)) {
- err("COOKIESESSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIESESSION, 22L);
- if(UNEX(res)) {
- err("COOKIESESSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIESESSION, LO);
- if(UNEX(res)) {
- err("COOKIESESSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIESESSION, HI);
- if(UNEX(res)) {
- err("COOKIESESSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CAPATH, "string");
- if(UNEX(res)) {
- err("CAPATH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CAPATH, NULL);
- if(UNEX(res)) {
- err("CAPATH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, 0L);
- if(UNEX(res)) {
- err("BUFFERSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, 22L);
- if(UNEX(res)) {
- err("BUFFERSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, LO);
- if(UNEX(res)) {
- err("BUFFERSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, HI);
- if(UNEX(res)) {
- err("BUFFERSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 0L);
- if(UNEX(res)) {
- err("NOSIGNAL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 22L);
- if(UNEX(res)) {
- err("NOSIGNAL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOSIGNAL, LO);
- if(UNEX(res)) {
- err("NOSIGNAL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOSIGNAL, HI);
- if(UNEX(res)) {
- err("NOSIGNAL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SHARE, share);
- if(UNEX(res)) {
- err("SHARE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SHARE, NULL);
- if(UNEX(res)) {
- err("SHARE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYTYPE, 0L);
- if(UNEX(res)) {
- err("PROXYTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYTYPE, 22L);
- if(UNEX(res)) {
- err("PROXYTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYTYPE, LO);
- if(UNEX(res)) {
- err("PROXYTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYTYPE, HI);
- if(UNEX(res)) {
- err("PROXYTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "string");
- if(UNEX(res)) {
- err("ACCEPT_ENCODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, NULL);
- if(UNEX(res)) {
- err("ACCEPT_ENCODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PRIVATE, &object);
- if(UNEX(res)) {
- err("PRIVATE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PRIVATE, NULL);
- if(UNEX(res)) {
- err("PRIVATE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP200ALIASES, slist);
- if(UNEX(res)) {
- err("HTTP200ALIASES", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP200ALIASES, NULL);
- if(UNEX(res)) {
- err("HTTP200ALIASES", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, 0L);
- if(UNEX(res)) {
- err("UNRESTRICTED_AUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, 22L);
- if(UNEX(res)) {
- err("UNRESTRICTED_AUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, LO);
- if(UNEX(res)) {
- err("UNRESTRICTED_AUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_UNRESTRICTED_AUTH, HI);
- if(UNEX(res)) {
- err("UNRESTRICTED_AUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, 0L);
- if(UNEX(res)) {
- err("FTP_USE_EPRT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, 22L);
- if(UNEX(res)) {
- err("FTP_USE_EPRT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, LO);
- if(UNEX(res)) {
- err("FTP_USE_EPRT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_EPRT, HI);
- if(UNEX(res)) {
- err("FTP_USE_EPRT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPAUTH, 0L);
- if(UNEX(res)) {
- err("HTTPAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPAUTH, 22L);
- if(UNEX(res)) {
- err("HTTPAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPAUTH, LO);
- if(UNEX(res)) {
- err("HTTPAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTPAUTH, HI);
- if(UNEX(res)) {
- err("HTTPAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_CTX_FUNCTION,
- ssl_ctx_cb);
- if(UNEX(res)) {
- err("SSL_CTX_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_CTX_FUNCTION, NULL);
- if(UNEX(res)) {
- err("SSL_CTX_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_CTX_DATA, &object);
- if(UNEX(res)) {
- err("SSL_CTX_DATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_CTX_DATA, NULL);
- if(UNEX(res)) {
- err("SSL_CTX_DATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, 0L);
- if(UNEX(res)) {
- err("FTP_CREATE_MISSING_DIRS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, 22L);
- if(UNEX(res)) {
- err("FTP_CREATE_MISSING_DIRS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, LO);
- if(UNEX(res)) {
- err("FTP_CREATE_MISSING_DIRS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_CREATE_MISSING_DIRS, HI);
- if(UNEX(res)) {
- err("FTP_CREATE_MISSING_DIRS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYAUTH, 0L);
- if(UNEX(res)) {
- err("PROXYAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYAUTH, 22L);
- if(UNEX(res)) {
- err("PROXYAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYAUTH, LO);
- if(UNEX(res)) {
- err("PROXYAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYAUTH, HI);
- if(UNEX(res)) {
- err("PROXYAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, 0L);
- if(UNEX(res)) {
- err("FTP_RESPONSE_TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, 22L);
- if(UNEX(res)) {
- err("FTP_RESPONSE_TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, LO);
- if(UNEX(res)) {
- err("FTP_RESPONSE_TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_RESPONSE_TIMEOUT, HI);
- if(UNEX(res)) {
- err("FTP_RESPONSE_TIMEOUT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IPRESOLVE, 0L);
- if(UNEX(res)) {
- err("IPRESOLVE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IPRESOLVE, 22L);
- if(UNEX(res)) {
- err("IPRESOLVE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IPRESOLVE, LO);
- if(UNEX(res)) {
- err("IPRESOLVE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IPRESOLVE, HI);
- if(UNEX(res)) {
- err("IPRESOLVE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, 0L);
- if(UNEX(res)) {
- err("MAXFILESIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, 22L);
- if(UNEX(res)) {
- err("MAXFILESIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, LO);
- if(UNEX(res)) {
- err("MAXFILESIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE, HI);
- if(UNEX(res)) {
- err("MAXFILESIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, OFF_NO);
- if(UNEX(res)) {
- err("INFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, OFF_HI);
- if(UNEX(res)) {
- err("INFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INFILESIZE_LARGE, OFF_LO);
- if(UNEX(res)) {
- err("INFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, OFF_NO);
- if(UNEX(res)) {
- err("RESUME_FROM_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, OFF_HI);
- if(UNEX(res)) {
- err("RESUME_FROM_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESUME_FROM_LARGE, OFF_LO);
- if(UNEX(res)) {
- err("RESUME_FROM_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE_LARGE, OFF_NO);
- if(UNEX(res)) {
- err("MAXFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE_LARGE, OFF_HI);
- if(UNEX(res)) {
- err("MAXFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAXFILESIZE_LARGE, OFF_LO);
- if(UNEX(res)) {
- err("MAXFILESIZE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NETRC_FILE, "string");
- if(UNEX(res)) {
- err("NETRC_FILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NETRC_FILE, NULL);
- if(UNEX(res)) {
- err("NETRC_FILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_USE_SSL, 0L);
- if(UNEX(res)) {
- err("USE_SSL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_USE_SSL, 22L);
- if(UNEX(res)) {
- err("USE_SSL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_USE_SSL, LO);
- if(UNEX(res)) {
- err("USE_SSL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_USE_SSL, HI);
- if(UNEX(res)) {
- err("USE_SSL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, OFF_NO);
- if(UNEX(res)) {
- err("POSTFIELDSIZE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, OFF_HI);
- if(UNEX(res)) {
- err("POSTFIELDSIZE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE_LARGE, OFF_LO);
- if(UNEX(res)) {
- err("POSTFIELDSIZE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, 0L);
- if(UNEX(res)) {
- err("TCP_NODELAY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, 22L);
- if(UNEX(res)) {
- err("TCP_NODELAY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, LO);
- if(UNEX(res)) {
- err("TCP_NODELAY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_NODELAY, HI);
- if(UNEX(res)) {
- err("TCP_NODELAY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, 0L);
- if(UNEX(res)) {
- err("FTPSSLAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, 22L);
- if(UNEX(res)) {
- err("FTPSSLAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, LO);
- if(UNEX(res)) {
- err("FTPSSLAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTPSSLAUTH, HI);
- if(UNEX(res)) {
- err("FTPSSLAUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION,
- ioctlcb);
- if(UNEX(res)) {
- err("IOCTLFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IOCTLFUNCTION, NULL);
- if(UNEX(res)) {
- err("IOCTLFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IOCTLDATA, &object);
- if(UNEX(res)) {
- err("IOCTLDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IOCTLDATA, NULL);
- if(UNEX(res)) {
- err("IOCTLDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_ACCOUNT, "string");
- if(UNEX(res)) {
- err("FTP_ACCOUNT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_ACCOUNT, NULL);
- if(UNEX(res)) {
- err("FTP_ACCOUNT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, "string");
- if(UNEX(res)) {
- err("COOKIELIST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COOKIELIST, NULL);
- if(UNEX(res)) {
- err("COOKIELIST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 0L);
- if(UNEX(res)) {
- err("IGNORE_CONTENT_LENGTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, 22L);
- if(UNEX(res)) {
- err("IGNORE_CONTENT_LENGTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, LO);
- if(UNEX(res)) {
- err("IGNORE_CONTENT_LENGTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, HI);
- if(UNEX(res)) {
- err("IGNORE_CONTENT_LENGTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, 0L);
- if(UNEX(res)) {
- err("FTP_SKIP_PASV_IP", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, 22L);
- if(UNEX(res)) {
- err("FTP_SKIP_PASV_IP", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, LO);
- if(UNEX(res)) {
- err("FTP_SKIP_PASV_IP", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_SKIP_PASV_IP, HI);
- if(UNEX(res)) {
- err("FTP_SKIP_PASV_IP", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, 0L);
- if(UNEX(res)) {
- err("FTP_FILEMETHOD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, 22L);
- if(UNEX(res)) {
- err("FTP_FILEMETHOD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, LO);
- if(UNEX(res)) {
- err("FTP_FILEMETHOD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_FILEMETHOD, HI);
- if(UNEX(res)) {
- err("FTP_FILEMETHOD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOCALPORT, 0L);
- if(UNEX(res)) {
- err("LOCALPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOCALPORT, 22L);
- if(UNEX(res)) {
- err("LOCALPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOCALPORT, LO);
- if(UNEX(res)) {
- err("LOCALPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOCALPORT, HI);
- if(UNEX(res)) {
- err("LOCALPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, 0L);
- if(UNEX(res)) {
- err("LOCALPORTRANGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, 22L);
- if(UNEX(res)) {
- err("LOCALPORTRANGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, LO);
- if(UNEX(res)) {
- err("LOCALPORTRANGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOCALPORTRANGE, HI);
- if(UNEX(res)) {
- err("LOCALPORTRANGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 0L);
- if(UNEX(res)) {
- err("CONNECT_ONLY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, 22L);
- if(UNEX(res)) {
- err("CONNECT_ONLY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, LO);
- if(UNEX(res)) {
- err("CONNECT_ONLY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECT_ONLY, HI);
- if(UNEX(res)) {
- err("CONNECT_ONLY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONV_FROM_NETWORK_FUNCTION,
- conv_from_network_cb);
- if(UNEX(res)) {
- err("CONV_FROM_NETWORK_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONV_FROM_NETWORK_FUNCTION, NULL);
- if(UNEX(res)) {
- err("CONV_FROM_NETWORK_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONV_TO_NETWORK_FUNCTION,
- conv_to_network_cb);
- if(UNEX(res)) {
- err("CONV_TO_NETWORK_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONV_TO_NETWORK_FUNCTION, NULL);
- if(UNEX(res)) {
- err("CONV_TO_NETWORK_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONV_FROM_UTF8_FUNCTION,
- conv_from_utf8_cb);
- if(UNEX(res)) {
- err("CONV_FROM_UTF8_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONV_FROM_UTF8_FUNCTION, NULL);
- if(UNEX(res)) {
- err("CONV_FROM_UTF8_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE, OFF_NO);
- if(UNEX(res)) {
- err("MAX_SEND_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE, OFF_HI);
- if(UNEX(res)) {
- err("MAX_SEND_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAX_SEND_SPEED_LARGE, OFF_LO);
- if(UNEX(res)) {
- err("MAX_SEND_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, OFF_NO);
- if(UNEX(res)) {
- err("MAX_RECV_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, OFF_HI);
- if(UNEX(res)) {
- err("MAX_RECV_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAX_RECV_SPEED_LARGE, OFF_LO);
- if(UNEX(res)) {
- err("MAX_RECV_SPEED_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER, "string");
- if(UNEX(res)) {
- err("FTP_ALTERNATIVE_TO_USER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER, NULL);
- if(UNEX(res)) {
- err("FTP_ALTERNATIVE_TO_USER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION,
- sockoptcb);
- if(UNEX(res)) {
- err("SOCKOPTFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKOPTFUNCTION, NULL);
- if(UNEX(res)) {
- err("SOCKOPTFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKOPTDATA, &object);
- if(UNEX(res)) {
- err("SOCKOPTDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKOPTDATA, NULL);
- if(UNEX(res)) {
- err("SOCKOPTDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, 0L);
- if(UNEX(res)) {
- err("SSL_SESSIONID_CACHE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, 22L);
- if(UNEX(res)) {
- err("SSL_SESSIONID_CACHE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, LO);
- if(UNEX(res)) {
- err("SSL_SESSIONID_CACHE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_SESSIONID_CACHE, HI);
- if(UNEX(res)) {
- err("SSL_SESSIONID_CACHE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, 0L);
- if(UNEX(res)) {
- err("SSH_AUTH_TYPES", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, 22L);
- if(UNEX(res)) {
- err("SSH_AUTH_TYPES", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, LO);
- if(UNEX(res)) {
- err("SSH_AUTH_TYPES", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_AUTH_TYPES, HI);
- if(UNEX(res)) {
- err("SSH_AUTH_TYPES", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, "string");
- if(UNEX(res)) {
- err("SSH_PUBLIC_KEYFILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_PUBLIC_KEYFILE, NULL);
- if(UNEX(res)) {
- err("SSH_PUBLIC_KEYFILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, "string");
- if(UNEX(res)) {
- err("SSH_PRIVATE_KEYFILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_PRIVATE_KEYFILE, NULL);
- if(UNEX(res)) {
- err("SSH_PRIVATE_KEYFILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, 0L);
- if(UNEX(res)) {
- err("FTP_SSL_CCC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, 22L);
- if(UNEX(res)) {
- err("FTP_SSL_CCC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, LO);
- if(UNEX(res)) {
- err("FTP_SSL_CCC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_SSL_CCC, HI);
- if(UNEX(res)) {
- err("FTP_SSL_CCC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 0L);
- if(UNEX(res)) {
- err("TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 22L);
- if(UNEX(res)) {
- err("TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, LO);
- if(UNEX(res)) {
- err("TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, HI);
- if(UNEX(res)) {
- err("TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, 0L);
- if(UNEX(res)) {
- err("CONNECTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, 22L);
- if(UNEX(res)) {
- err("CONNECTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, LO);
- if(UNEX(res)) {
- err("CONNECTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT_MS, HI);
- if(UNEX(res)) {
- err("CONNECTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, 0L);
- if(UNEX(res)) {
- err("HTTP_TRANSFER_DECODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, 22L);
- if(UNEX(res)) {
- err("HTTP_TRANSFER_DECODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, LO);
- if(UNEX(res)) {
- err("HTTP_TRANSFER_DECODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_TRANSFER_DECODING, HI);
- if(UNEX(res)) {
- err("HTTP_TRANSFER_DECODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, 0L);
- if(UNEX(res)) {
- err("HTTP_CONTENT_DECODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, 22L);
- if(UNEX(res)) {
- err("HTTP_CONTENT_DECODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, LO);
- if(UNEX(res)) {
- err("HTTP_CONTENT_DECODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HTTP_CONTENT_DECODING, HI);
- if(UNEX(res)) {
- err("HTTP_CONTENT_DECODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, 0L);
- if(UNEX(res)) {
- err("NEW_FILE_PERMS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, 22L);
- if(UNEX(res)) {
- err("NEW_FILE_PERMS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, LO);
- if(UNEX(res)) {
- err("NEW_FILE_PERMS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NEW_FILE_PERMS, HI);
- if(UNEX(res)) {
- err("NEW_FILE_PERMS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, 0L);
- if(UNEX(res)) {
- err("NEW_DIRECTORY_PERMS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, 22L);
- if(UNEX(res)) {
- err("NEW_DIRECTORY_PERMS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, LO);
- if(UNEX(res)) {
- err("NEW_DIRECTORY_PERMS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NEW_DIRECTORY_PERMS, HI);
- if(UNEX(res)) {
- err("NEW_DIRECTORY_PERMS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTREDIR, 0L);
- if(UNEX(res)) {
- err("POSTREDIR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTREDIR, 22L);
- if(UNEX(res)) {
- err("POSTREDIR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTREDIR, LO);
- if(UNEX(res)) {
- err("POSTREDIR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_POSTREDIR, HI);
- if(UNEX(res)) {
- err("POSTREDIR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, "string");
- if(UNEX(res)) {
- err("SSH_HOST_PUBLIC_KEY_MD5", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_HOST_PUBLIC_KEY_MD5, NULL);
- if(UNEX(res)) {
- err("SSH_HOST_PUBLIC_KEY_MD5", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION,
- opensocketcb);
- if(UNEX(res)) {
- err("OPENSOCKETFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_OPENSOCKETFUNCTION, NULL);
- if(UNEX(res)) {
- err("OPENSOCKETFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, &object);
- if(UNEX(res)) {
- err("OPENSOCKETDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_OPENSOCKETDATA, NULL);
- if(UNEX(res)) {
- err("OPENSOCKETDATA", res, __LINE__); goto test_cleanup; }
- (void)curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, 0);
- res = curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, stringpointerextra);
- if(UNEX(res)) {
- err("COPYPOSTFIELDS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_COPYPOSTFIELDS, NULL);
- if(UNEX(res)) {
- err("COPYPOSTFIELDS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, 0L);
- if(UNEX(res)) {
- err("PROXY_TRANSFER_MODE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, 22L);
- if(UNEX(res)) {
- err("PROXY_TRANSFER_MODE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, LO);
- if(UNEX(res)) {
- err("PROXY_TRANSFER_MODE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_TRANSFER_MODE, HI);
- if(UNEX(res)) {
- err("PROXY_TRANSFER_MODE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SEEKFUNCTION,
- seekcb);
- if(UNEX(res)) {
- err("SEEKFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SEEKFUNCTION, NULL);
- if(UNEX(res)) {
- err("SEEKFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SEEKDATA, &object);
- if(UNEX(res)) {
- err("SEEKDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SEEKDATA, NULL);
- if(UNEX(res)) {
- err("SEEKDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CRLFILE, "string");
- if(UNEX(res)) {
- err("CRLFILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CRLFILE, NULL);
- if(UNEX(res)) {
- err("CRLFILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ISSUERCERT, "string");
- if(UNEX(res)) {
- err("ISSUERCERT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ISSUERCERT, NULL);
- if(UNEX(res)) {
- err("ISSUERCERT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, 0L);
- if(UNEX(res)) {
- err("ADDRESS_SCOPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, 22L);
- if(UNEX(res)) {
- err("ADDRESS_SCOPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, LO);
- if(UNEX(res)) {
- err("ADDRESS_SCOPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ADDRESS_SCOPE, HI);
- if(UNEX(res)) {
- err("ADDRESS_SCOPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CERTINFO, 0L);
- if(UNEX(res)) {
- err("CERTINFO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CERTINFO, 22L);
- if(UNEX(res)) {
- err("CERTINFO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CERTINFO, LO);
- if(UNEX(res)) {
- err("CERTINFO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CERTINFO, HI);
- if(UNEX(res)) {
- err("CERTINFO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_USERNAME, "string");
- if(UNEX(res)) {
- err("USERNAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_USERNAME, NULL);
- if(UNEX(res)) {
- err("USERNAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PASSWORD, "string");
- if(UNEX(res)) {
- err("PASSWORD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PASSWORD, NULL);
- if(UNEX(res)) {
- err("PASSWORD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYUSERNAME, "string");
- if(UNEX(res)) {
- err("PROXYUSERNAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYUSERNAME, NULL);
- if(UNEX(res)) {
- err("PROXYUSERNAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYPASSWORD, "string");
- if(UNEX(res)) {
- err("PROXYPASSWORD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYPASSWORD, NULL);
- if(UNEX(res)) {
- err("PROXYPASSWORD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOPROXY, "string");
- if(UNEX(res)) {
- err("NOPROXY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_NOPROXY, NULL);
- if(UNEX(res)) {
- err("NOPROXY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, 0L);
- if(UNEX(res)) {
- err("TFTP_BLKSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, 22L);
- if(UNEX(res)) {
- err("TFTP_BLKSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, LO);
- if(UNEX(res)) {
- err("TFTP_BLKSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TFTP_BLKSIZE, HI);
- if(UNEX(res)) {
- err("TFTP_BLKSIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_SERVICE, "string");
- if(UNEX(res)) {
- err("SOCKS5_GSSAPI_SERVICE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_SERVICE, NULL);
- if(UNEX(res)) {
- err("SOCKS5_GSSAPI_SERVICE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, 0L);
- if(UNEX(res)) {
- err("SOCKS5_GSSAPI_NEC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, 22L);
- if(UNEX(res)) {
- err("SOCKS5_GSSAPI_NEC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, LO);
- if(UNEX(res)) {
- err("SOCKS5_GSSAPI_NEC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKS5_GSSAPI_NEC, HI);
- if(UNEX(res)) {
- err("SOCKS5_GSSAPI_NEC", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROTOCOLS, 0L);
- if(UNEX(res)) {
- err("PROTOCOLS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROTOCOLS, 22L);
- if(UNEX(res)) {
- err("PROTOCOLS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROTOCOLS, LO);
- if(UNEX(res)) {
- err("PROTOCOLS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROTOCOLS, HI);
- if(UNEX(res)) {
- err("PROTOCOLS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, 0L);
- if(UNEX(res)) {
- err("REDIR_PROTOCOLS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, 22L);
- if(UNEX(res)) {
- err("REDIR_PROTOCOLS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, LO);
- if(UNEX(res)) {
- err("REDIR_PROTOCOLS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_REDIR_PROTOCOLS, HI);
- if(UNEX(res)) {
- err("REDIR_PROTOCOLS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_KNOWNHOSTS, "string");
- if(UNEX(res)) {
- err("SSH_KNOWNHOSTS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_KNOWNHOSTS, NULL);
- if(UNEX(res)) {
- err("SSH_KNOWNHOSTS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_KEYFUNCTION,
- ssh_keycb);
- if(UNEX(res)) {
- err("SSH_KEYFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_KEYFUNCTION, NULL);
- if(UNEX(res)) {
- err("SSH_KEYFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_KEYDATA, &object);
- if(UNEX(res)) {
- err("SSH_KEYDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_KEYDATA, NULL);
- if(UNEX(res)) {
- err("SSH_KEYDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAIL_FROM, "string");
- if(UNEX(res)) {
- err("MAIL_FROM", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAIL_FROM, NULL);
- if(UNEX(res)) {
- err("MAIL_FROM", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, slist);
- if(UNEX(res)) {
- err("MAIL_RCPT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, NULL);
- if(UNEX(res)) {
- err("MAIL_RCPT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, 0L);
- if(UNEX(res)) {
- err("FTP_USE_PRET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, 22L);
- if(UNEX(res)) {
- err("FTP_USE_PRET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, LO);
- if(UNEX(res)) {
- err("FTP_USE_PRET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FTP_USE_PRET, HI);
- if(UNEX(res)) {
- err("FTP_USE_PRET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, 0L);
- if(UNEX(res)) {
- err("RTSP_REQUEST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, 22L);
- if(UNEX(res)) {
- err("RTSP_REQUEST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, LO);
- if(UNEX(res)) {
- err("RTSP_REQUEST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_REQUEST, HI);
- if(UNEX(res)) {
- err("RTSP_REQUEST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_SESSION_ID, "string");
- if(UNEX(res)) {
- err("RTSP_SESSION_ID", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_SESSION_ID, NULL);
- if(UNEX(res)) {
- err("RTSP_SESSION_ID", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, "string");
- if(UNEX(res)) {
- err("RTSP_STREAM_URI", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_STREAM_URI, NULL);
- if(UNEX(res)) {
- err("RTSP_STREAM_URI", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_TRANSPORT, "string");
- if(UNEX(res)) {
- err("RTSP_TRANSPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_TRANSPORT, NULL);
- if(UNEX(res)) {
- err("RTSP_TRANSPORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, 0L);
- if(UNEX(res)) {
- err("RTSP_CLIENT_CSEQ", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, 22L);
- if(UNEX(res)) {
- err("RTSP_CLIENT_CSEQ", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, LO);
- if(UNEX(res)) {
- err("RTSP_CLIENT_CSEQ", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_CLIENT_CSEQ, HI);
- if(UNEX(res)) {
- err("RTSP_CLIENT_CSEQ", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, 0L);
- if(UNEX(res)) {
- err("RTSP_SERVER_CSEQ", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, 22L);
- if(UNEX(res)) {
- err("RTSP_SERVER_CSEQ", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, LO);
- if(UNEX(res)) {
- err("RTSP_SERVER_CSEQ", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RTSP_SERVER_CSEQ, HI);
- if(UNEX(res)) {
- err("RTSP_SERVER_CSEQ", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INTERLEAVEDATA, &object);
- if(UNEX(res)) {
- err("INTERLEAVEDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INTERLEAVEDATA, NULL);
- if(UNEX(res)) {
- err("INTERLEAVEDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INTERLEAVEFUNCTION,
- interleavecb);
- if(UNEX(res)) {
- err("INTERLEAVEFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_INTERLEAVEFUNCTION, NULL);
- if(UNEX(res)) {
- err("INTERLEAVEFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, 0L);
- if(UNEX(res)) {
- err("WILDCARDMATCH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, 22L);
- if(UNEX(res)) {
- err("WILDCARDMATCH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, LO);
- if(UNEX(res)) {
- err("WILDCARDMATCH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_WILDCARDMATCH, HI);
- if(UNEX(res)) {
- err("WILDCARDMATCH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CHUNK_BGN_FUNCTION,
- chunk_bgn_cb);
- if(UNEX(res)) {
- err("CHUNK_BGN_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CHUNK_BGN_FUNCTION, NULL);
- if(UNEX(res)) {
- err("CHUNK_BGN_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CHUNK_END_FUNCTION,
- chunk_end_cb);
- if(UNEX(res)) {
- err("CHUNK_END_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CHUNK_END_FUNCTION, NULL);
- if(UNEX(res)) {
- err("CHUNK_END_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FNMATCH_FUNCTION,
- fnmatch_cb);
- if(UNEX(res)) {
- err("FNMATCH_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FNMATCH_FUNCTION, NULL);
- if(UNEX(res)) {
- err("FNMATCH_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CHUNK_DATA, &object);
- if(UNEX(res)) {
- err("CHUNK_DATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CHUNK_DATA, NULL);
- if(UNEX(res)) {
- err("CHUNK_DATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FNMATCH_DATA, &object);
- if(UNEX(res)) {
- err("FNMATCH_DATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_FNMATCH_DATA, NULL);
- if(UNEX(res)) {
- err("FNMATCH_DATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESOLVE, slist);
- if(UNEX(res)) {
- err("RESOLVE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESOLVE, NULL);
- if(UNEX(res)) {
- err("RESOLVE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_USERNAME, "string");
- if(UNEX(res)) {
- err("TLSAUTH_USERNAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_USERNAME, NULL);
- if(UNEX(res)) {
- err("TLSAUTH_USERNAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_PASSWORD, "string");
- if(UNEX(res)) {
- err("TLSAUTH_PASSWORD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_PASSWORD, NULL);
- if(UNEX(res)) {
- err("TLSAUTH_PASSWORD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_TYPE, "string");
- if(UNEX(res)) {
- err("TLSAUTH_TYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TLSAUTH_TYPE, NULL);
- if(UNEX(res)) {
- err("TLSAUTH_TYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, 0L);
- if(UNEX(res)) {
- err("TRANSFER_ENCODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, 22L);
- if(UNEX(res)) {
- err("TRANSFER_ENCODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, LO);
- if(UNEX(res)) {
- err("TRANSFER_ENCODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TRANSFER_ENCODING, HI);
- if(UNEX(res)) {
- err("TRANSFER_ENCODING", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CLOSESOCKETFUNCTION,
- closesocketcb);
- if(UNEX(res)) {
- err("CLOSESOCKETFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CLOSESOCKETFUNCTION, NULL);
- if(UNEX(res)) {
- err("CLOSESOCKETFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CLOSESOCKETDATA, &object);
- if(UNEX(res)) {
- err("CLOSESOCKETDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CLOSESOCKETDATA, NULL);
- if(UNEX(res)) {
- err("CLOSESOCKETDATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, 0L);
- if(UNEX(res)) {
- err("GSSAPI_DELEGATION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, 22L);
- if(UNEX(res)) {
- err("GSSAPI_DELEGATION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, LO);
- if(UNEX(res)) {
- err("GSSAPI_DELEGATION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_GSSAPI_DELEGATION, HI);
- if(UNEX(res)) {
- err("GSSAPI_DELEGATION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_SERVERS, "string");
- if(UNEX(res)) {
- err("DNS_SERVERS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_SERVERS, NULL);
- if(UNEX(res)) {
- err("DNS_SERVERS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, 0L);
- if(UNEX(res)) {
- err("ACCEPTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, 22L);
- if(UNEX(res)) {
- err("ACCEPTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, LO);
- if(UNEX(res)) {
- err("ACCEPTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ACCEPTTIMEOUT_MS, HI);
- if(UNEX(res)) {
- err("ACCEPTTIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 0L);
- if(UNEX(res)) {
- err("TCP_KEEPALIVE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, 22L);
- if(UNEX(res)) {
- err("TCP_KEEPALIVE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, LO);
- if(UNEX(res)) {
- err("TCP_KEEPALIVE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPALIVE, HI);
- if(UNEX(res)) {
- err("TCP_KEEPALIVE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 0L);
- if(UNEX(res)) {
- err("TCP_KEEPIDLE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, 22L);
- if(UNEX(res)) {
- err("TCP_KEEPIDLE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, LO);
- if(UNEX(res)) {
- err("TCP_KEEPIDLE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPIDLE, HI);
- if(UNEX(res)) {
- err("TCP_KEEPIDLE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 0L);
- if(UNEX(res)) {
- err("TCP_KEEPINTVL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, 22L);
- if(UNEX(res)) {
- err("TCP_KEEPINTVL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, LO);
- if(UNEX(res)) {
- err("TCP_KEEPINTVL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_KEEPINTVL, HI);
- if(UNEX(res)) {
- err("TCP_KEEPINTVL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, 0L);
- if(UNEX(res)) {
- err("SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, 22L);
- if(UNEX(res)) {
- err("SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, LO);
- if(UNEX(res)) {
- err("SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_OPTIONS, HI);
- if(UNEX(res)) {
- err("SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAIL_AUTH, "string");
- if(UNEX(res)) {
- err("MAIL_AUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MAIL_AUTH, NULL);
- if(UNEX(res)) {
- err("MAIL_AUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SASL_IR, 0L);
- if(UNEX(res)) {
- err("SASL_IR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SASL_IR, 22L);
- if(UNEX(res)) {
- err("SASL_IR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SASL_IR, LO);
- if(UNEX(res)) {
- err("SASL_IR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SASL_IR, HI);
- if(UNEX(res)) {
- err("SASL_IR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION,
- xferinfocb);
- if(UNEX(res)) {
- err("XFERINFOFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_XFERINFOFUNCTION, NULL);
- if(UNEX(res)) {
- err("XFERINFOFUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_XOAUTH2_BEARER, "string");
- if(UNEX(res)) {
- err("XOAUTH2_BEARER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_XOAUTH2_BEARER, NULL);
- if(UNEX(res)) {
- err("XOAUTH2_BEARER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_INTERFACE, "string");
- if(UNEX(res)) {
- err("DNS_INTERFACE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_INTERFACE, NULL);
- if(UNEX(res)) {
- err("DNS_INTERFACE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP4, "string");
- if(UNEX(res)) {
- err("DNS_LOCAL_IP4", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP4, NULL);
- if(UNEX(res)) {
- err("DNS_LOCAL_IP4", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP6, "string");
- if(UNEX(res)) {
- err("DNS_LOCAL_IP6", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_LOCAL_IP6, NULL);
- if(UNEX(res)) {
- err("DNS_LOCAL_IP6", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "string");
- if(UNEX(res)) {
- err("LOGIN_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, NULL);
- if(UNEX(res)) {
- err("LOGIN_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, 0L);
- if(UNEX(res)) {
- err("SSL_ENABLE_NPN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, 22L);
- if(UNEX(res)) {
- err("SSL_ENABLE_NPN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, LO);
- if(UNEX(res)) {
- err("SSL_ENABLE_NPN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_NPN, HI);
- if(UNEX(res)) {
- err("SSL_ENABLE_NPN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, 0L);
- if(UNEX(res)) {
- err("SSL_ENABLE_ALPN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, 22L);
- if(UNEX(res)) {
- err("SSL_ENABLE_ALPN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, LO);
- if(UNEX(res)) {
- err("SSL_ENABLE_ALPN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, HI);
- if(UNEX(res)) {
- err("SSL_ENABLE_ALPN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, 0L);
- if(UNEX(res)) {
- err("EXPECT_100_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, 22L);
- if(UNEX(res)) {
- err("EXPECT_100_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, LO);
- if(UNEX(res)) {
- err("EXPECT_100_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_EXPECT_100_TIMEOUT_MS, HI);
- if(UNEX(res)) {
- err("EXPECT_100_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYHEADER, slist);
- if(UNEX(res)) {
- err("PROXYHEADER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXYHEADER, NULL);
- if(UNEX(res)) {
- err("PROXYHEADER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADEROPT, 0L);
- if(UNEX(res)) {
- err("HEADEROPT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADEROPT, 22L);
- if(UNEX(res)) {
- err("HEADEROPT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADEROPT, LO);
- if(UNEX(res)) {
- err("HEADEROPT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HEADEROPT, HI);
- if(UNEX(res)) {
- err("HEADEROPT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, "string");
- if(UNEX(res)) {
- err("PINNEDPUBLICKEY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PINNEDPUBLICKEY, NULL);
- if(UNEX(res)) {
- err("PINNEDPUBLICKEY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_UNIX_SOCKET_PATH, "string");
- if(UNEX(res)) {
- err("UNIX_SOCKET_PATH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_UNIX_SOCKET_PATH, NULL);
- if(UNEX(res)) {
- err("UNIX_SOCKET_PATH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, 0L);
- if(UNEX(res)) {
- err("SSL_VERIFYSTATUS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, 22L);
- if(UNEX(res)) {
- err("SSL_VERIFYSTATUS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, LO);
- if(UNEX(res)) {
- err("SSL_VERIFYSTATUS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_VERIFYSTATUS, HI);
- if(UNEX(res)) {
- err("SSL_VERIFYSTATUS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, 0L);
- if(UNEX(res)) {
- err("SSL_FALSESTART", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, 22L);
- if(UNEX(res)) {
- err("SSL_FALSESTART", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, LO);
- if(UNEX(res)) {
- err("SSL_FALSESTART", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, HI);
- if(UNEX(res)) {
- err("SSL_FALSESTART", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, 0L);
- if(UNEX(res)) {
- err("PATH_AS_IS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, 22L);
- if(UNEX(res)) {
- err("PATH_AS_IS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, LO);
- if(UNEX(res)) {
- err("PATH_AS_IS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PATH_AS_IS, HI);
- if(UNEX(res)) {
- err("PATH_AS_IS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SERVICE_NAME, "string");
- if(UNEX(res)) {
- err("PROXY_SERVICE_NAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SERVICE_NAME, NULL);
- if(UNEX(res)) {
- err("PROXY_SERVICE_NAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SERVICE_NAME, "string");
- if(UNEX(res)) {
- err("SERVICE_NAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SERVICE_NAME, NULL);
- if(UNEX(res)) {
- err("SERVICE_NAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PIPEWAIT, 0L);
- if(UNEX(res)) {
- err("PIPEWAIT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PIPEWAIT, 22L);
- if(UNEX(res)) {
- err("PIPEWAIT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PIPEWAIT, LO);
- if(UNEX(res)) {
- err("PIPEWAIT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PIPEWAIT, HI);
- if(UNEX(res)) {
- err("PIPEWAIT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "string");
- if(UNEX(res)) {
- err("DEFAULT_PROTOCOL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, NULL);
- if(UNEX(res)) {
- err("DEFAULT_PROTOCOL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, 0L);
- if(UNEX(res)) {
- err("STREAM_WEIGHT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, 22L);
- if(UNEX(res)) {
- err("STREAM_WEIGHT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, LO);
- if(UNEX(res)) {
- err("STREAM_WEIGHT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_STREAM_WEIGHT, HI);
- if(UNEX(res)) {
- err("STREAM_WEIGHT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS, dep);
- if(UNEX(res)) {
- err("STREAM_DEPENDS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS, NULL);
- if(UNEX(res)) {
- err("STREAM_DEPENDS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS_E, dep);
- if(UNEX(res)) {
- err("STREAM_DEPENDS_E", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_STREAM_DEPENDS_E, NULL);
- if(UNEX(res)) {
- err("STREAM_DEPENDS_E", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, 0L);
- if(UNEX(res)) {
- err("TFTP_NO_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, 22L);
- if(UNEX(res)) {
- err("TFTP_NO_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, LO);
- if(UNEX(res)) {
- err("TFTP_NO_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TFTP_NO_OPTIONS, HI);
- if(UNEX(res)) {
- err("TFTP_NO_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECT_TO, &object);
- if(UNEX(res)) {
- err("CONNECT_TO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_CONNECT_TO, NULL);
- if(UNEX(res)) {
- err("CONNECT_TO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, 0L);
- if(UNEX(res)) {
- err("TCP_FASTOPEN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, 22L);
- if(UNEX(res)) {
- err("TCP_FASTOPEN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, LO);
- if(UNEX(res)) {
- err("TCP_FASTOPEN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TCP_FASTOPEN, HI);
- if(UNEX(res)) {
- err("TCP_FASTOPEN", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, 0L);
- if(UNEX(res)) {
- err("KEEP_SENDING_ON_ERROR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, 22L);
- if(UNEX(res)) {
- err("KEEP_SENDING_ON_ERROR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, LO);
- if(UNEX(res)) {
- err("KEEP_SENDING_ON_ERROR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_KEEP_SENDING_ON_ERROR, HI);
- if(UNEX(res)) {
- err("KEEP_SENDING_ON_ERROR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_CAINFO, "string");
- if(UNEX(res)) {
- err("PROXY_CAINFO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_CAINFO, NULL);
- if(UNEX(res)) {
- err("PROXY_CAINFO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_CAPATH, "string");
- if(UNEX(res)) {
- err("PROXY_CAPATH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_CAPATH, NULL);
- if(UNEX(res)) {
- err("PROXY_CAPATH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, 0L);
- if(UNEX(res)) {
- err("PROXY_SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, 22L);
- if(UNEX(res)) {
- err("PROXY_SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, LO);
- if(UNEX(res)) {
- err("PROXY_SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYPEER, HI);
- if(UNEX(res)) {
- err("PROXY_SSL_VERIFYPEER", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, 0L);
- if(UNEX(res)) {
- err("PROXY_SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, 22L);
- if(UNEX(res)) {
- err("PROXY_SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, LO);
- if(UNEX(res)) {
- err("PROXY_SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_VERIFYHOST, HI);
- if(UNEX(res)) {
- err("PROXY_SSL_VERIFYHOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, 0L);
- if(UNEX(res)) {
- err("PROXY_SSLVERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, 22L);
- if(UNEX(res)) {
- err("PROXY_SSLVERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, LO);
- if(UNEX(res)) {
- err("PROXY_SSLVERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLVERSION, HI);
- if(UNEX(res)) {
- err("PROXY_SSLVERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_USERNAME, "string");
- if(UNEX(res)) {
- err("PROXY_TLSAUTH_USERNAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_USERNAME, NULL);
- if(UNEX(res)) {
- err("PROXY_TLSAUTH_USERNAME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_PASSWORD, "string");
- if(UNEX(res)) {
- err("PROXY_TLSAUTH_PASSWORD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_PASSWORD, NULL);
- if(UNEX(res)) {
- err("PROXY_TLSAUTH_PASSWORD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_TYPE, "string");
- if(UNEX(res)) {
- err("PROXY_TLSAUTH_TYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_TLSAUTH_TYPE, NULL);
- if(UNEX(res)) {
- err("PROXY_TLSAUTH_TYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERT, "string");
- if(UNEX(res)) {
- err("PROXY_SSLCERT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERT, NULL);
- if(UNEX(res)) {
- err("PROXY_SSLCERT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERTTYPE, "string");
- if(UNEX(res)) {
- err("PROXY_SSLCERTTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLCERTTYPE, NULL);
- if(UNEX(res)) {
- err("PROXY_SSLCERTTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEY, "string");
- if(UNEX(res)) {
- err("PROXY_SSLKEY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEY, NULL);
- if(UNEX(res)) {
- err("PROXY_SSLKEY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEYTYPE, "string");
- if(UNEX(res)) {
- err("PROXY_SSLKEYTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSLKEYTYPE, NULL);
- if(UNEX(res)) {
- err("PROXY_SSLKEYTYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_KEYPASSWD, "string");
- if(UNEX(res)) {
- err("PROXY_KEYPASSWD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_KEYPASSWD, NULL);
- if(UNEX(res)) {
- err("PROXY_KEYPASSWD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_CIPHER_LIST, "string");
- if(UNEX(res)) {
- err("PROXY_SSL_CIPHER_LIST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_CIPHER_LIST, NULL);
- if(UNEX(res)) {
- err("PROXY_SSL_CIPHER_LIST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_CRLFILE, "string");
- if(UNEX(res)) {
- err("PROXY_CRLFILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_CRLFILE, NULL);
- if(UNEX(res)) {
- err("PROXY_CRLFILE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, 0L);
- if(UNEX(res)) {
- err("PROXY_SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, 22L);
- if(UNEX(res)) {
- err("PROXY_SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, LO);
- if(UNEX(res)) {
- err("PROXY_SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_SSL_OPTIONS, HI);
- if(UNEX(res)) {
- err("PROXY_SSL_OPTIONS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PRE_PROXY, "string");
- if(UNEX(res)) {
- err("PRE_PROXY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PRE_PROXY, NULL);
- if(UNEX(res)) {
- err("PRE_PROXY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_PINNEDPUBLICKEY, "string");
- if(UNEX(res)) {
- err("PROXY_PINNEDPUBLICKEY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_PROXY_PINNEDPUBLICKEY, NULL);
- if(UNEX(res)) {
- err("PROXY_PINNEDPUBLICKEY", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ABSTRACT_UNIX_SOCKET, "string");
- if(UNEX(res)) {
- err("ABSTRACT_UNIX_SOCKET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_ABSTRACT_UNIX_SOCKET, NULL);
- if(UNEX(res)) {
- err("ABSTRACT_UNIX_SOCKET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, 0L);
- if(UNEX(res)) {
- err("SUPPRESS_CONNECT_HEADERS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, 22L);
- if(UNEX(res)) {
- err("SUPPRESS_CONNECT_HEADERS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, LO);
- if(UNEX(res)) {
- err("SUPPRESS_CONNECT_HEADERS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SUPPRESS_CONNECT_HEADERS, HI);
- if(UNEX(res)) {
- err("SUPPRESS_CONNECT_HEADERS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_REQUEST_TARGET, "string");
- if(UNEX(res)) {
- err("REQUEST_TARGET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_REQUEST_TARGET, NULL);
- if(UNEX(res)) {
- err("REQUEST_TARGET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKS5_AUTH, 0L);
- if(UNEX(res)) {
- err("SOCKS5_AUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKS5_AUTH, 22L);
- if(UNEX(res)) {
- err("SOCKS5_AUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKS5_AUTH, LO);
- if(UNEX(res)) {
- err("SOCKS5_AUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SOCKS5_AUTH, HI);
- if(UNEX(res)) {
- err("SOCKS5_AUTH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_COMPRESSION, 0L);
- if(UNEX(res)) {
- err("SSH_COMPRESSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_COMPRESSION, 22L);
- if(UNEX(res)) {
- err("SSH_COMPRESSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_COMPRESSION, LO);
- if(UNEX(res)) {
- err("SSH_COMPRESSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_SSH_COMPRESSION, HI);
- if(UNEX(res)) {
- err("SSH_COMPRESSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MIMEPOST, mimepost);
- if(UNEX(res)) {
- err("MIMEPOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_MIMEPOST, NULL);
- if(UNEX(res)) {
- err("MIMEPOST", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE_LARGE, OFF_NO);
- if(UNEX(res)) {
- err("TIMEVALUE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE_LARGE, OFF_HI);
- if(UNEX(res)) {
- err("TIMEVALUE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_TIMEVALUE_LARGE, OFF_LO);
- if(UNEX(res)) {
- err("TIMEVALUE_LARGE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, 0L);
- if(UNEX(res)) {
- err("HAPPY_EYEBALLS_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, 22L);
- if(UNEX(res)) {
- err("HAPPY_EYEBALLS_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, LO);
- if(UNEX(res)) {
- err("HAPPY_EYEBALLS_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, HI);
- if(UNEX(res)) {
- err("HAPPY_EYEBALLS_TIMEOUT_MS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION,
- resolver_start_cb);
- if(UNEX(res)) {
- err("RESOLVER_START_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESOLVER_START_FUNCTION, NULL);
- if(UNEX(res)) {
- err("RESOLVER_START_FUNCTION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESOLVER_START_DATA, &object);
- if(UNEX(res)) {
- err("RESOLVER_START_DATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_RESOLVER_START_DATA, NULL);
- if(UNEX(res)) {
- err("RESOLVER_START_DATA", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 0L);
- if(UNEX(res)) {
- err("HAPROXYPROTOCOL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, 22L);
- if(UNEX(res)) {
- err("HAPROXYPROTOCOL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, LO);
- if(UNEX(res)) {
- err("HAPROXYPROTOCOL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_HAPROXYPROTOCOL, HI);
- if(UNEX(res)) {
- err("HAPROXYPROTOCOL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_SHUFFLE_ADDRESSES, 0L);
- if(UNEX(res)) {
- err("DNS_SHUFFLE_ADDRESSES", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_SHUFFLE_ADDRESSES, 22L);
- if(UNEX(res)) {
- err("DNS_SHUFFLE_ADDRESSES", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_SHUFFLE_ADDRESSES, LO);
- if(UNEX(res)) {
- err("DNS_SHUFFLE_ADDRESSES", res, __LINE__); goto test_cleanup; }
- res = curl_easy_setopt(curl, CURLOPT_DNS_SHUFFLE_ADDRESSES, HI);
- if(UNEX(res)) {
- err("DNS_SHUFFLE_ADDRESSES", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &charp);
- if(UNEX(res)) {
- geterr("EFFECTIVE_URL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &val);
- if(UNEX(res)) {
- geterr("RESPONSE_CODE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &dval);
- if(UNEX(res)) {
- geterr("TOTAL_TIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME, &dval);
- if(UNEX(res)) {
- geterr("NAMELOOKUP_TIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME, &dval);
- if(UNEX(res)) {
- geterr("CONNECT_TIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME, &dval);
- if(UNEX(res)) {
- geterr("PRETRANSFER_TIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_SIZE_UPLOAD, &dval);
- if(UNEX(res)) {
- geterr("SIZE_UPLOAD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_SIZE_UPLOAD_T, &oval);
- if(UNEX(res)) {
- geterr("SIZE_UPLOAD_T", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD, &dval);
- if(UNEX(res)) {
- geterr("SIZE_DOWNLOAD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_SIZE_DOWNLOAD_T, &oval);
- if(UNEX(res)) {
- geterr("SIZE_DOWNLOAD_T", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD, &dval);
- if(UNEX(res)) {
- geterr("SPEED_DOWNLOAD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_SPEED_DOWNLOAD_T, &oval);
- if(UNEX(res)) {
- geterr("SPEED_DOWNLOAD_T", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD, &dval);
- if(UNEX(res)) {
- geterr("SPEED_UPLOAD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD_T, &oval);
- if(UNEX(res)) {
- geterr("SPEED_UPLOAD_T", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_HEADER_SIZE, &val);
- if(UNEX(res)) {
- geterr("HEADER_SIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_REQUEST_SIZE, &val);
- if(UNEX(res)) {
- geterr("REQUEST_SIZE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_SSL_VERIFYRESULT, &val);
- if(UNEX(res)) {
- geterr("SSL_VERIFYRESULT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_FILETIME, &val);
- if(UNEX(res)) {
- geterr("FILETIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_FILETIME_T, &oval);
- if(UNEX(res)) {
- geterr("FILETIME_T", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD, &dval);
- if(UNEX(res)) {
- geterr("CONTENT_LENGTH_DOWNLOAD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, &oval);
- if(UNEX(res)) {
- geterr("CONTENT_LENGTH_DOWNLOAD_T", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_UPLOAD, &dval);
- if(UNEX(res)) {
- geterr("CONTENT_LENGTH_UPLOAD", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_UPLOAD_T, &oval);
- if(UNEX(res)) {
- geterr("CONTENT_LENGTH_UPLOAD_T", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME, &dval);
- if(UNEX(res)) {
- geterr("STARTTRANSFER_TIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &charp);
- if(UNEX(res)) {
- geterr("CONTENT_TYPE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_REDIRECT_TIME, &dval);
- if(UNEX(res)) {
- geterr("REDIRECT_TIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_REDIRECT_COUNT, &val);
- if(UNEX(res)) {
- geterr("REDIRECT_COUNT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_PRIVATE, &charp);
- if(UNEX(res)) {
- geterr("PRIVATE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_HTTP_CONNECTCODE, &val);
- if(UNEX(res)) {
- geterr("HTTP_CONNECTCODE", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_HTTPAUTH_AVAIL, &val);
- if(UNEX(res)) {
- geterr("HTTPAUTH_AVAIL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_PROXYAUTH_AVAIL, &val);
- if(UNEX(res)) {
- geterr("PROXYAUTH_AVAIL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_OS_ERRNO, &val);
- if(UNEX(res)) {
- geterr("OS_ERRNO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_NUM_CONNECTS, &val);
- if(UNEX(res)) {
- geterr("NUM_CONNECTS", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_SSL_ENGINES, &slist);
- if(UNEX(res)) {
- geterr("SSL_ENGINES", res, __LINE__); goto test_cleanup; }
- if(slist)
- curl_slist_free_all(slist);
- res = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &slist);
- if(UNEX(res)) {
- geterr("COOKIELIST", res, __LINE__); goto test_cleanup; }
- if(slist)
- curl_slist_free_all(slist);
- res = curl_easy_getinfo(curl, CURLINFO_LASTSOCKET, &val);
- if(UNEX(res)) {
- geterr("LASTSOCKET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_FTP_ENTRY_PATH, &charp);
- if(UNEX(res)) {
- geterr("FTP_ENTRY_PATH", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_REDIRECT_URL, &charp);
- if(UNEX(res)) {
- geterr("REDIRECT_URL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_PRIMARY_IP, &charp);
- if(UNEX(res)) {
- geterr("PRIMARY_IP", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_APPCONNECT_TIME, &dval);
- if(UNEX(res)) {
- geterr("APPCONNECT_TIME", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_CERTINFO, &certinfo);
- if(UNEX(res)) {
- geterr("CERTINFO", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_CONDITION_UNMET, &val);
- if(UNEX(res)) {
- geterr("CONDITION_UNMET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_RTSP_SESSION_ID, &charp);
- if(UNEX(res)) {
- geterr("RTSP_SESSION_ID", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_RTSP_CLIENT_CSEQ, &val);
- if(UNEX(res)) {
- geterr("RTSP_CLIENT_CSEQ", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_RTSP_SERVER_CSEQ, &val);
- if(UNEX(res)) {
- geterr("RTSP_SERVER_CSEQ", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_RTSP_CSEQ_RECV, &val);
- if(UNEX(res)) {
- geterr("RTSP_CSEQ_RECV", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_PRIMARY_PORT, &val);
- if(UNEX(res)) {
- geterr("PRIMARY_PORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_LOCAL_IP, &charp);
- if(UNEX(res)) {
- geterr("LOCAL_IP", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_LOCAL_PORT, &val);
- if(UNEX(res)) {
- geterr("LOCAL_PORT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_TLS_SESSION, &tlssession);
- if(UNEX(res)) {
- geterr("TLS_SESSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_ACTIVESOCKET, &sockfd);
- if(UNEX(res)) {
- geterr("ACTIVESOCKET", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_TLS_SSL_PTR, &tlssession);
- if(UNEX(res)) {
- geterr("TLS_SSL_PTR", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_HTTP_VERSION, &val);
- if(UNEX(res)) {
- geterr("HTTP_VERSION", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_PROXY_SSL_VERIFYRESULT, &val);
- if(UNEX(res)) {
- geterr("PROXY_SSL_VERIFYRESULT", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_PROTOCOL, &val);
- if(UNEX(res)) {
- geterr("PROTOCOL", res, __LINE__); goto test_cleanup; }
- res = curl_easy_getinfo(curl, CURLINFO_SCHEME, &charp);
- if(UNEX(res)) {
- geterr("SCHEME", res, __LINE__); goto test_cleanup; }
- curl_easy_setopt(curl, 1, 0);
- res = CURLE_OK;
-test_cleanup:
- curl_easy_cleanup(curl);
- curl_easy_cleanup(dep);
- curl_share_cleanup(share);
- curl_global_cleanup();
-
- return (int)res;
-}
diff --git a/tests/libtest/lib1537.c b/tests/libtest/lib1537.c
index b07d64fc..9832c3a3 100644
--- a/tests/libtest/lib1537.c
+++ b/tests/libtest/lib1537.c
@@ -43,8 +43,7 @@ int test(char *URL)
asize = (int)sizeof(a);
ptr = curl_easy_escape(NULL, (char *)a, asize);
printf("%s\n", ptr);
- if(ptr)
- curl_free(ptr);
+ curl_free(ptr);
/* deprecated API */
ptr = curl_escape((char *)a, asize);
@@ -58,8 +57,7 @@ int test(char *URL)
printf("outlen == %d\n", outlen);
printf("unescape == original? %s\n",
memcmp(raw, a, outlen) ? "no" : "YES");
- if(raw)
- curl_free(raw);
+ curl_free(raw);
/* deprecated API */
raw = curl_unescape(ptr, (int)strlen(ptr));
@@ -71,10 +69,8 @@ int test(char *URL)
printf("[old] outlen == %d\n", outlen);
printf("[old] unescape == original? %s\n",
memcmp(raw, a, outlen) ? "no" : "YES");
- if(raw)
- curl_free(raw);
- if(ptr)
- curl_free(ptr);
+ curl_free(raw);
+ curl_free(ptr);
/* weird input length */
ptr = curl_easy_escape(NULL, (char *)a, -1);
@@ -86,8 +82,7 @@ int test(char *URL)
printf("unescape -1 length: %s %d\n", ptr, outlen);
test_cleanup:
- if(ptr)
- curl_free(ptr);
+ curl_free(ptr);
curl_global_cleanup();
return (int)res;
diff --git a/tests/libtest/lib1554.c b/tests/libtest/lib1554.c
index 8842ae2f..df12fe52 100644
--- a/tests/libtest/lib1554.c
+++ b/tests/libtest/lib1554.c
@@ -43,7 +43,6 @@ static void my_unlock(CURL *handle, curl_lock_data data, void *useptr)
/* test function */
int test(char *URL)
{
- CURL *curl;
CURLcode res = CURLE_OK;
CURLSH *share;
int i;
@@ -65,7 +64,7 @@ int test(char *URL)
still reuse connections since the pool is in the shared object! */
for(i = 0; i < 3; i++) {
- curl = curl_easy_init();
+ CURL *curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, URL);
diff --git a/tests/libtest/lib1557.c b/tests/libtest/lib1557.c
new file mode 100644
index 00000000..bd0f20a8
--- /dev/null
+++ b/tests/libtest/lib1557.c
@@ -0,0 +1,62 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "test.h"
+
+#include "testutil.h"
+#include "warnless.h"
+#include "memdebug.h"
+
+int test(char *URL)
+{
+ CURLM *curlm = NULL;
+ CURL *curl1 = NULL;
+ CURL *curl2 = NULL;
+ int running_handles = 0;
+ int res = 0;
+
+ global_init(CURL_GLOBAL_ALL);
+
+ multi_init(curlm);
+ multi_setopt(curlm, CURLMOPT_MAX_HOST_CONNECTIONS, 1);
+
+ easy_init(curl1);
+ easy_setopt(curl1, CURLOPT_URL, URL);
+ multi_add_handle(curlm, curl1);
+
+ easy_init(curl2);
+ easy_setopt(curl2, CURLOPT_URL, URL);
+ multi_add_handle(curlm, curl2);
+
+ multi_perform(curlm, &running_handles);
+
+ multi_remove_handle(curlm, curl2);
+ curl_easy_cleanup(curl2);
+
+ /* If curl2 is still in the connect-pending list, this will crash */
+ multi_remove_handle(curlm, curl1);
+ curl_easy_cleanup(curl1);
+
+test_cleanup:
+ curl_multi_cleanup(curlm);
+ curl_global_cleanup();
+ return res;
+}
diff --git a/tests/libtest/lib1900.c b/tests/libtest/lib1900.c
index 109c5706..cf55fb33 100644
--- a/tests/libtest/lib1900.c
+++ b/tests/libtest/lib1900.c
@@ -63,14 +63,14 @@ static int parse_url_file(const char *filename)
return 0;
while(!feof(f)) {
- if(fscanf(f, "%d %s\n", &filetime, buf)) {
+ if(fscanf(f, "%d %199s\n", &filetime, buf)) {
urltime[num_handles] = filetime;
urlstring[num_handles] = strdup(buf);
num_handles++;
continue;
}
- if(fscanf(f, "blacklist_site %s\n", buf)) {
+ if(fscanf(f, "blacklist_site %199s\n", buf)) {
site_blacklist[blacklist_num_sites] = strdup(buf);
blacklist_num_sites++;
continue;
@@ -192,11 +192,11 @@ int test(char *URL)
do {
msg = curl_multi_info_read(m, &msgs_left);
if(msg && msg->msg == CURLMSG_DONE) {
- int i, found = 0;
+ int i;
/* Find out which handle this message is about */
for(i = 0; i < num_handles; i++) {
- found = (msg->easy_handle == handles[i]);
+ int found = (msg->easy_handle == handles[i]);
if(found)
break;
}
diff --git a/tests/libtest/lib500.c b/tests/libtest/lib500.c
index 677ab73a..2a6c58bb 100644
--- a/tests/libtest/lib500.c
+++ b/tests/libtest/lib500.c
@@ -96,36 +96,50 @@ int test(char *URL)
if(libtest_arg2) {
FILE *moo = fopen(libtest_arg2, "wb");
if(moo) {
- double time_namelookup;
- double time_connect;
- double time_pretransfer;
- double time_starttransfer;
- double time_total;
+ curl_off_t time_namelookup;
+ curl_off_t time_connect;
+ curl_off_t time_pretransfer;
+ curl_off_t time_starttransfer;
+ curl_off_t time_total;
fprintf(moo, "IP: %s\n", ipstr);
- curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME, &time_namelookup);
- curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME, &time_connect);
- curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME, &time_pretransfer);
- curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME,
+ curl_easy_getinfo(curl, CURLINFO_NAMELOOKUP_TIME_T, &time_namelookup);
+ curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME_T, &time_connect);
+ curl_easy_getinfo(curl, CURLINFO_PRETRANSFER_TIME_T,
+ &time_pretransfer);
+ curl_easy_getinfo(curl, CURLINFO_STARTTRANSFER_TIME_T,
&time_starttransfer);
- curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &time_total);
+ curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME_T, &time_total);
/* since the timing will always vary we only compare relative
differences between these 5 times */
if(time_namelookup > time_connect) {
- fprintf(moo, "namelookup vs connect: %f %f\n",
- time_namelookup, time_connect);
+ fprintf(moo, "namelookup vs connect: %" CURL_FORMAT_CURL_OFF_T
+ ".%06ld %" CURL_FORMAT_CURL_OFF_T ".%06ld\n",
+ (time_namelookup / 1000000),
+ (long)(time_namelookup % 1000000),
+ (time_connect / 1000000), (long)(time_connect % 1000000));
}
if(time_connect > time_pretransfer) {
- fprintf(moo, "connect vs pretransfer: %f %f\n",
- time_connect, time_pretransfer);
+ fprintf(moo, "connect vs pretransfer: %" CURL_FORMAT_CURL_OFF_T
+ ".%06ld %" CURL_FORMAT_CURL_OFF_T ".%06ld\n",
+ (time_connect / 1000000), (long)(time_connect % 1000000),
+ (time_pretransfer / 1000000),
+ (long)(time_pretransfer % 1000000));
}
if(time_pretransfer > time_starttransfer) {
- fprintf(moo, "pretransfer vs starttransfer: %f %f\n",
- time_pretransfer, time_starttransfer);
+ fprintf(moo, "pretransfer vs starttransfer: %" CURL_FORMAT_CURL_OFF_T
+ ".%06ld %" CURL_FORMAT_CURL_OFF_T ".%06ld\n",
+ (time_pretransfer / 1000000),
+ (long)(time_pretransfer % 1000000),
+ (time_starttransfer / 1000000),
+ (long)(time_starttransfer % 1000000));
}
if(time_starttransfer > time_total) {
- fprintf(moo, "starttransfer vs total: %f %f\n",
- time_starttransfer, time_total);
+ fprintf(moo, "starttransfer vs total: %" CURL_FORMAT_CURL_OFF_T
+ ".%06ld %" CURL_FORMAT_CURL_OFF_T ".%06ld\n",
+ (time_starttransfer / 1000000),
+ (long)(time_starttransfer % 1000000),
+ (time_total / 1000000), (long)(time_total % 1000000));
}
fclose(moo);
diff --git a/tests/libtest/lib506.c b/tests/libtest/lib506.c
index 1b522be6..5ed4f37e 100644
--- a/tests/libtest/lib506.c
+++ b/tests/libtest/lib506.c
@@ -131,7 +131,6 @@ static void *fire(void *ptr)
struct curl_slist *headers;
struct Tdata *tdata = (struct Tdata*)ptr;
CURL *curl;
- int i = 0;
curl = curl_easy_init();
if(!curl) {
@@ -149,6 +148,7 @@ static void *fire(void *ptr)
printf("PERFORM\n");
code = curl_easy_perform(curl);
if(code) {
+ int i = 0;
fprintf(stderr, "perform url '%s' repeat %d failed, curlcode %d\n",
tdata->url, i, (int)code);
}
diff --git a/tests/libtest/lib512.c b/tests/libtest/lib512.c
index 14241dd0..0c83ddd5 100644
--- a/tests/libtest/lib512.c
+++ b/tests/libtest/lib512.c
@@ -29,15 +29,13 @@
int test(char *URL)
{
CURLcode code;
- CURL *curl;
- CURL *curl2;
int rc = 99;
code = curl_global_init(CURL_GLOBAL_ALL);
if(code == CURLE_OK) {
-
- curl = curl_easy_init();
+ CURL *curl = curl_easy_init();
if(curl) {
+ CURL *curl2;
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(curl, CURLOPT_HEADER, 1L);
diff --git a/tests/libtest/lib544.c b/tests/libtest/lib544.c
index cb1aefc8..60de7fc6 100644
--- a/tests/libtest/lib544.c
+++ b/tests/libtest/lib544.c
@@ -61,7 +61,7 @@ int test(char *URL)
test_setopt(curl, CURLOPT_URL, URL);
#ifdef LIB545
- test_setopt(curl, CURLOPT_POSTFIELDSIZE, (long) sizeof teststring);
+ test_setopt(curl, CURLOPT_POSTFIELDSIZE, (long) sizeof(teststring));
#endif
test_setopt(curl, CURLOPT_COPYPOSTFIELDS, teststring);
diff --git a/tests/libtest/lib552.c b/tests/libtest/lib552.c
index 83797f3c..7a960417 100644
--- a/tests/libtest/lib552.c
+++ b/tests/libtest/lib552.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -185,7 +185,7 @@ int test(char *URL)
/* setup repeated data string */
for(i = 0; i < sizeof(databuf); ++i)
- databuf[i] = fill[i % sizeof fill];
+ databuf[i] = fill[i % sizeof(fill)];
/* Post */
test_setopt(curl, CURLOPT_POST, 1L);
diff --git a/tests/libtest/lib556.c b/tests/libtest/lib556.c
index acb0f63d..884f413a 100644
--- a/tests/libtest/lib556.c
+++ b/tests/libtest/lib556.c
@@ -71,7 +71,6 @@ int test(char *URL)
"Host: ninja\r\n\r\n";
#endif
size_t iolen;
- char buf[1024];
res = curl_easy_send(curl, request, strlen(request), &iolen);
@@ -79,6 +78,7 @@ int test(char *URL)
/* we assume that sending always work */
do {
+ char buf[1024];
/* busy-read like crazy */
res = curl_easy_recv(curl, buf, sizeof(buf), &iolen);
diff --git a/tests/libtest/lib579.c b/tests/libtest/lib579.c
index cba4b1cb..4977a03c 100644
--- a/tests/libtest/lib579.c
+++ b/tests/libtest/lib579.c
@@ -39,7 +39,6 @@ struct WriteThis {
static int progress_callback(void *clientp, double dltotal, double dlnow,
double ultotal, double ulnow)
{
- FILE *moo;
static int prev_ultotal = -1;
static int prev_ulnow = -1;
(void)clientp; /* UNUSED */
@@ -53,7 +52,7 @@ static int progress_callback(void *clientp, double dltotal, double dlnow,
if((prev_ultotal != (int)ultotal) ||
(prev_ulnow != (int)ulnow)) {
- moo = fopen(libtest_arg2, "ab");
+ FILE *moo = fopen(libtest_arg2, "ab");
if(moo) {
fprintf(moo, "Progress callback called with UL %d out of %d\n",
(int)ulnow, (int)ultotal);
diff --git a/tests/libtest/lib586.c b/tests/libtest/lib586.c
index 669f71c1..a831b83d 100644
--- a/tests/libtest/lib586.c
+++ b/tests/libtest/lib586.c
@@ -99,7 +99,6 @@ static void *fire(void *ptr)
CURLcode code;
struct Tdata *tdata = (struct Tdata*)ptr;
CURL *curl;
- int i = 0;
curl = curl_easy_init();
if(!curl) {
@@ -116,6 +115,7 @@ static void *fire(void *ptr)
printf("PERFORM\n");
code = curl_easy_perform(curl);
if(code != CURLE_OK) {
+ int i = 0;
fprintf(stderr, "perform url '%s' repeat %d failed, curlcode %d\n",
tdata->url, i, (int)code);
}
diff --git a/tests/libtest/lib650.c b/tests/libtest/lib650.c
index da1fd567..056270cf 100644
--- a/tests/libtest/lib650.c
+++ b/tests/libtest/lib650.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -153,7 +153,7 @@ int test(char *URL)
curl_formget(formpost, (void *) &formlength, count_chars);
/* Include length in data for external check. */
- curl_msnprintf(flbuf, sizeof flbuf, "%lu", (unsigned long) formlength);
+ curl_msnprintf(flbuf, sizeof(flbuf), "%lu", (unsigned long) formlength);
formrc = curl_formadd(&formpost,
&lastptr,
CURLFORM_COPYNAME, "formlength",
diff --git a/tests/libtest/lib652.c b/tests/libtest/lib652.c
index d60390b2..5c9cba5f 100644
--- a/tests/libtest/lib652.c
+++ b/tests/libtest/lib652.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -75,7 +75,7 @@ int test(char *URL)
fprintf(stderr, "curl_mime_type() failed\n");
goto test_cleanup;
}
- res = curl_mime_data(part, buffer, sizeof buffer);
+ res = curl_mime_data(part, buffer, sizeof(buffer));
if(res) {
fprintf(stderr, "curl_mime_data() failed\n");
goto test_cleanup;
diff --git a/tests/libtest/stub_gssapi.c b/tests/libtest/stub_gssapi.c
index 883cc190..aaa7796b 100644
--- a/tests/libtest/stub_gssapi.c
+++ b/tests/libtest/stub_gssapi.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 2017-2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -82,6 +82,12 @@ OM_uint32 gss_init_sec_context(OM_uint32 *min,
const char *creds = NULL;
gss_ctx_id_t ctx = NULL;
+ (void)initiator_cred_handle;
+ (void)mech_type;
+ (void)time_req;
+ (void)input_chan_bindings;
+ (void)actual_mech_type;
+
if(!min)
return GSS_S_FAILURE;
@@ -221,6 +227,8 @@ OM_uint32 gss_delete_sec_context(OM_uint32 *min,
gss_ctx_id_t *context_handle,
gss_buffer_t output_token)
{
+ (void)output_token;
+
if(!min)
return GSS_S_FAILURE;
@@ -256,6 +264,7 @@ OM_uint32 gss_import_name(OM_uint32 *min,
gss_name_t *output_name)
{
char *name = NULL;
+ (void)input_name_type;
if(!min)
return GSS_S_FAILURE;
@@ -297,6 +306,7 @@ OM_uint32 gss_display_status(OM_uint32 *min,
gss_buffer_t status_string)
{
const char maj_str[] = "Stub GSS error";
+ (void)mech_type;
if(min)
*min = 0;
@@ -337,6 +347,10 @@ OM_uint32 gss_display_name(OM_uint32 *min,
gss_buffer_t output_name_buffer,
gss_OID *output_name_type)
{
+ (void)min;
+ (void)input_name;
+ (void)output_name_buffer;
+ (void)output_name_type;
return GSS_S_FAILURE;
}
@@ -350,6 +364,15 @@ OM_uint32 gss_inquire_context(OM_uint32 *min,
int *locally_initiated,
int *open_context)
{
+ (void)min;
+ (void)context_handle;
+ (void)src_name;
+ (void)targ_name;
+ (void)lifetime_rec;
+ (void)mech_type;
+ (void)ctx_flags;
+ (void)locally_initiated;
+ (void)open_context;
return GSS_S_FAILURE;
}
@@ -361,6 +384,13 @@ OM_uint32 gss_wrap(OM_uint32 *min,
int *conf_state,
gss_buffer_t output_message_buffer)
{
+ (void)min;
+ (void)context_handle;
+ (void)conf_req_flag;
+ (void)qop_req;
+ (void)input_message_buffer;
+ (void)conf_state;
+ (void)output_message_buffer;
return GSS_S_FAILURE;
}
@@ -371,6 +401,12 @@ OM_uint32 gss_unwrap(OM_uint32 *min,
int *conf_state,
gss_qop_t *qop_state)
{
+ (void)min;
+ (void)context_handle;
+ (void)input_message_buffer;
+ (void)output_message_buffer;
+ (void)conf_state;
+ (void)qop_state;
return GSS_S_FAILURE;
}
@@ -382,6 +418,13 @@ OM_uint32 gss_seal(OM_uint32 *min,
int *conf_state,
gss_buffer_t output_message_buffer)
{
+ (void)min;
+ (void)context_handle;
+ (void)conf_req_flag;
+ (void)qop_req;
+ (void)input_message_buffer;
+ (void)conf_state;
+ (void)output_message_buffer;
return GSS_S_FAILURE;
}
@@ -392,6 +435,11 @@ OM_uint32 gss_unseal(OM_uint32 *min,
int *conf_state,
int *qop_state)
{
+ (void)min;
+ (void)context_handle;
+ (void)input_message_buffer;
+ (void)output_message_buffer;
+ (void)conf_state;
+ (void)qop_state;
return GSS_S_FAILURE;
}
-
diff --git a/tests/libtest/testtrace.c b/tests/libtest/testtrace.c
index 63e022b3..3f9eedd8 100644
--- a/tests/libtest/testtrace.c
+++ b/tests/libtest/testtrace.c
@@ -90,7 +90,6 @@ int libtest_debug_cb(CURL *handle, curl_infotype type,
struct libtest_trace_cfg *trace_cfg = userp;
const char *text;
struct timeval tv;
- struct tm *now;
char timebuf[20];
char *timestr;
time_t secs;
@@ -101,6 +100,7 @@ int libtest_debug_cb(CURL *handle, curl_infotype type,
timestr = &timebuf[0];
if(trace_cfg->tracetime) {
+ struct tm *now;
tv = tutil_tvnow();
if(!known_offset) {
epoch_offset = time(NULL) - tv.tv_sec;
diff --git a/tests/runtests.1 b/tests/runtests.1
index 5a51e04b..e02a3854 100644
--- a/tests/runtests.1
+++ b/tests/runtests.1
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH runtests.pl 1 "May 05, 2017" "Curl 7.60.0" "runtests"
+.TH runtests.pl 1 "May 05, 2017" "Curl 7.61.0" "runtests"
.SH NAME
runtests.pl \- run one or more test cases
diff --git a/tests/runtests.pl b/tests/runtests.pl
index 054c64bf..7e066fd4 100755
--- a/tests/runtests.pl
+++ b/tests/runtests.pl
@@ -4349,6 +4349,7 @@ sub singletest {
# what parts to cut off from the protocol
my @strippart = getpart("verify", "strippart");
my $strip;
+ @strippart = fixarray(@strippart);
for $strip (@strippart) {
chomp $strip;
for(@out) {
diff --git a/tests/server/CMakeLists.txt b/tests/server/CMakeLists.txt
index 73841027..59716fbb 100644
--- a/tests/server/CMakeLists.txt
+++ b/tests/server/CMakeLists.txt
@@ -31,12 +31,6 @@ function(SETUP_EXECUTABLE TEST_NAME) # ARGN are the files in the test
endif()
set_target_properties(${TEST_NAME} PROPERTIES
PROJECT_LABEL "${TARGET_LABEL_PREFIX}${TEST_NAME}")
-
- # Add the postfix to the executable since it is not added
- # automatically as for modules and shared libraries
- set_target_properties(${TEST_NAME} PROPERTIES
- DEBUG_POSTFIX "${CMAKE_DEBUG_POSTFIX}")
-
endfunction()
diff --git a/tests/server/getpart.c b/tests/server/getpart.c
index d434ba28..044705d0 100644
--- a/tests/server/getpart.c
+++ b/tests/server/getpart.c
@@ -116,7 +116,6 @@ CURLcode Curl_convert_clone(struct Curl_easy *data,
static int readline(char **buffer, size_t *bufsize, FILE *stream)
{
size_t offset = 0;
- size_t length;
char *newptr;
if(!*buffer) {
@@ -127,6 +126,7 @@ static int readline(char **buffer, size_t *bufsize, FILE *stream)
}
for(;;) {
+ size_t length;
int bytestoread = curlx_uztosi(*bufsize - offset);
if(!fgets(*buffer + offset, bytestoread, stream))
diff --git a/tests/server/rtspd.c b/tests/server/rtspd.c
index 8e61a43f..4519eab6 100644
--- a/tests/server/rtspd.c
+++ b/tests/server/rtspd.c
@@ -340,11 +340,8 @@ static int ProcessRequest(struct httprequest *req)
static char request[REQUEST_KEYWORD_SIZE];
static char doc[MAXDOCNAMELEN];
static char prot_str[5];
- char logbuf[256];
int prot_major, prot_minor;
- char *end;
- int error;
- end = strstr(line, END_OF_HEADERS);
+ char *end = strstr(line, END_OF_HEADERS);
logmsg("ProcessRequest() called with testno %ld and line [%s]",
req->testno, line);
@@ -360,6 +357,7 @@ static int ProcessRequest(struct httprequest *req)
&prot_major,
&prot_minor) == 5) {
char *ptr;
+ char logbuf[256];
if(!strcmp(prot_str, "HTTP")) {
req->protocol = RPROT_HTTP;
@@ -426,7 +424,7 @@ static int ProcessRequest(struct httprequest *req)
stream = fopen(filename, "rb");
if(!stream) {
- error = errno;
+ int error = errno;
logmsg("fopen() failed with error: %d %s", error, strerror(error));
logmsg("Error opening file: %s", filename);
logmsg("Couldn't open test file %ld", req->testno);
@@ -441,11 +439,10 @@ static int ProcessRequest(struct httprequest *req)
int rtp_channel = 0;
int rtp_size = 0;
int rtp_partno = -1;
- int i = 0;
char *rtp_scratch = NULL;
/* get the custom server control "commands" */
- error = getpart(&cmd, &cmdsize, "reply", "servercmd", stream);
+ int error = getpart(&cmd, &cmdsize, "reply", "servercmd", stream);
fclose(stream);
if(error) {
logmsg("getpart() failed with error: %d", error);
@@ -486,6 +483,7 @@ static int ProcessRequest(struct httprequest *req)
&rtp_partno, &rtp_channel, &rtp_size)) {
if(rtp_partno == req->partno) {
+ int i = 0;
logmsg("RTP: part %d channel %d size %d",
rtp_partno, rtp_channel, rtp_size);
@@ -900,11 +898,10 @@ static int send_doc(curl_socket_t sock, struct httprequest *req)
size_t count;
const char *buffer;
char *ptr = NULL;
- FILE *stream;
char *cmd = NULL;
size_t cmdsize = 0;
FILE *dump;
- bool persistant = TRUE;
+ bool persistent = TRUE;
bool sendfailure = FALSE;
size_t responsesize;
int error = 0;
@@ -912,8 +909,6 @@ static int send_doc(curl_socket_t sock, struct httprequest *req)
static char weare[256];
- char partbuf[80]="data";
-
logmsg("Send response number %ld part %ld", req->testno, req->partno);
switch(req->rcmd) {
@@ -987,7 +982,8 @@ static int send_doc(curl_socket_t sock, struct httprequest *req)
}
else {
char *filename = test2file(req->testno);
-
+ char partbuf[80]="data";
+ FILE *stream;
if(0 != req->partno)
snprintf(partbuf, sizeof(partbuf), "data%ld", req->partno);
@@ -1046,7 +1042,7 @@ static int send_doc(curl_socket_t sock, struct httprequest *req)
connection will be closed after the data has been sent to the requesting
client... */
if(strstr(buffer, "swsclose") || !count) {
- persistant = FALSE;
+ persistent = FALSE;
logmsg("connection close instruction \"swsclose\" found in response");
}
if(strstr(buffer, "swsbounce")) {
@@ -1176,7 +1172,7 @@ static int send_doc(curl_socket_t sock, struct httprequest *req)
} while(ptr && *ptr);
}
free(cmd);
- req->open = persistant;
+ req->open = persistent;
prevtestno = req->testno;
prevpartno = req->partno;
@@ -1430,7 +1426,7 @@ int main(int argc, char *argv[])
}
if(req.open)
- logmsg("=> persistant connection request ended, awaits new request");
+ logmsg("=> persistent connection request ended, awaits new request");
/* if we got a CONNECT, loop and get another request as well! */
} while(req.open || (req.testno == DOCNUMBER_CONNECT));
diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c
index 844d35a4..2fb947f1 100644
--- a/tests/server/sockfilt.c
+++ b/tests/server/sockfilt.c
@@ -358,11 +358,11 @@ static ssize_t write_wincon(int fd, const void *buf, size_t count)
static ssize_t fullread(int filedes, void *buffer, size_t nbytes)
{
int error;
- ssize_t rc;
ssize_t nread = 0;
do {
- rc = read(filedes, (unsigned char *)buffer + nread, nbytes - nread);
+ ssize_t rc = read(filedes,
+ (unsigned char *)buffer + nread, nbytes - nread);
if(got_exit_signal) {
logmsg("signalled to die");
@@ -404,12 +404,11 @@ static ssize_t fullread(int filedes, void *buffer, size_t nbytes)
static ssize_t fullwrite(int filedes, const void *buffer, size_t nbytes)
{
int error;
- ssize_t wc;
ssize_t nwrite = 0;
do {
- wc = write(filedes, (const unsigned char *)buffer + nwrite,
- nbytes - nwrite);
+ ssize_t wc = write(filedes, (const unsigned char *)buffer + nwrite,
+ nbytes - nwrite);
if(got_exit_signal) {
logmsg("signalled to die");
@@ -699,8 +698,6 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
WSANETWORKEVENTS wsanetevents;
struct select_ws_data *data;
HANDLE handle, *handles;
- curl_socket_t sock;
- long networkevents;
WSAEVENT wsaevent;
int error, fds;
HANDLE waitevent = NULL;
@@ -729,6 +726,7 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
/* allocate internal array for the internal data */
data = calloc(nfds, sizeof(struct select_ws_data));
if(data == NULL) {
+ CloseHandle(waitevent);
errno = ENOMEM;
return -1;
}
@@ -736,6 +734,7 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
/* allocate internal array for the internal event handles */
handles = calloc(nfds, sizeof(HANDLE));
if(handles == NULL) {
+ CloseHandle(waitevent);
free(data);
errno = ENOMEM;
return -1;
@@ -743,7 +742,7 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
/* loop over the handles in the input descriptor sets */
for(fds = 0; fds < nfds; fds++) {
- networkevents = 0;
+ long networkevents = 0;
handles[nfd] = 0;
if(FD_ISSET(fds, readfds))
@@ -812,8 +811,8 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
/* loop over the internal handles returned in the descriptors */
for(idx = 0; idx < nfd; idx++) {
+ curl_socket_t sock = data[idx].fd;
handle = handles[idx];
- sock = data[idx].fd;
fds = curlx_sktosi(sock);
/* check if the current internal handle was triggered */
@@ -920,9 +919,6 @@ static bool juggle(curl_socket_t *sockfdp,
curl_socket_t sockfd = CURL_SOCKET_BAD;
int maxfd = -99;
ssize_t rc;
- ssize_t nread_socket;
- ssize_t bytes_written;
- ssize_t buffer_len;
int error = 0;
/* 'buffer' is this excessively large only to be able to support things like
@@ -1034,6 +1030,7 @@ static bool juggle(curl_socket_t *sockfdp,
if(FD_ISSET(fileno(stdin), &fds_read)) {
+ ssize_t buffer_len;
/* read from stdin, commands/data to be dealt with and possibly passed on
to the socket
@@ -1105,7 +1102,7 @@ static bool juggle(curl_socket_t *sockfdp,
}
else {
/* send away on the socket */
- bytes_written = swrite(sockfd, buffer, buffer_len);
+ ssize_t bytes_written = swrite(sockfd, buffer, buffer_len);
if(bytes_written != buffer_len) {
logmsg("Not all data was sent. Bytes to send: %zd sent: %zd",
buffer_len, bytes_written);
@@ -1133,13 +1130,11 @@ static bool juggle(curl_socket_t *sockfdp,
if((sockfd != CURL_SOCKET_BAD) && (FD_ISSET(sockfd, &fds_read)) ) {
-
- curl_socket_t newfd = CURL_SOCKET_BAD; /* newly accepted socket */
-
+ ssize_t nread_socket;
if(*mode == PASSIVE_LISTEN) {
/* there's no stream set up yet, this is an indication that there's a
client connecting. */
- newfd = accept(sockfd, NULL, NULL);
+ curl_socket_t newfd = accept(sockfd, NULL, NULL);
if(CURL_SOCKET_BAD == newfd) {
error = SOCKERRNO;
logmsg("accept(%d, NULL, NULL) failed with error: (%d) %s",
diff --git a/tests/server/sws.c b/tests/server/sws.c
index 10a87746..ec11224f 100644
--- a/tests/server/sws.c
+++ b/tests/server/sws.c
@@ -555,7 +555,6 @@ static int ProcessRequest(struct httprequest *req)
if(sscanf(req->reqbuf, "CONNECT %" MAXDOCNAMELEN_TXT "s HTTP/%d.%d",
doc, &prot_major, &prot_minor) == 3) {
char *portp = NULL;
- unsigned long part = 0;
snprintf(logbuf, sizeof(logbuf),
"Received a CONNECT %s HTTP/%d.%d request",
@@ -569,6 +568,7 @@ static int ProcessRequest(struct httprequest *req)
if(doc[0] == '[') {
char *p = &doc[1];
+ unsigned long part = 0;
/* scan through the hexgroups and store the value of the last group
in the 'part' variable and use as test case number!! */
while(*p && (ISXDIGIT(*p) || (*p == ':') || (*p == '.'))) {
@@ -954,7 +954,6 @@ static void init_httprequest(struct httprequest *req)
is no data waiting, or < 0 if it should be closed */
static int get_request(curl_socket_t sock, struct httprequest *req)
{
- int error;
int fail = 0;
char *reqbuf = req->reqbuf;
ssize_t got = 0;
@@ -1000,7 +999,7 @@ static int get_request(curl_socket_t sock, struct httprequest *req)
fail = 1;
}
else if(got < 0) {
- error = SOCKERRNO;
+ int error = SOCKERRNO;
if(EAGAIN == error || EWOULDBLOCK == error) {
/* nothing to read at the moment */
return 0;
@@ -1065,7 +1064,7 @@ static int send_doc(curl_socket_t sock, struct httprequest *req)
char *cmd = NULL;
size_t cmdsize = 0;
FILE *dump;
- bool persistant = TRUE;
+ bool persistent = TRUE;
bool sendfailure = FALSE;
size_t responsesize;
int error = 0;
@@ -1196,7 +1195,7 @@ static int send_doc(curl_socket_t sock, struct httprequest *req)
connection will be closed after the data has been sent to the requesting
client... */
if(strstr(buffer, "swsclose") || !count) {
- persistant = FALSE;
+ persistent = FALSE;
logmsg("connection close instruction \"swsclose\" found in response");
}
if(strstr(buffer, "swsbounce")) {
@@ -1313,7 +1312,7 @@ static int send_doc(curl_socket_t sock, struct httprequest *req)
} while(ptr && *ptr);
}
free(cmd);
- req->open = use_gopher?FALSE:persistant;
+ req->open = use_gopher?FALSE:persistent;
prevtestno = req->testno;
prevpartno = req->partno;
@@ -1968,7 +1967,7 @@ static int service_connection(curl_socket_t msgsock, struct httprequest *req,
/* if we got a CONNECT, loop and get another request as well! */
if(req->open) {
- logmsg("=> persistant connection request ended, awaits new request\n");
+ logmsg("=> persistent connection request ended, awaits new request\n");
return 1;
}
diff --git a/tests/server/testpart.c b/tests/server/testpart.c
index 79869e21..77f14864 100644
--- a/tests/server/testpart.c
+++ b/tests/server/testpart.c
@@ -30,15 +30,15 @@
int main(int argc, char **argv)
{
- int rc;
char *part;
- size_t partlen, i;
+ size_t partlen;
if(argc< 3) {
printf("./testpart main sub\n");
}
else {
- rc = getpart(&part, &partlen, argv[1], argv[2], stdin);
+ int rc = getpart(&part, &partlen, argv[1], argv[2], stdin);
+ size_t i;
if(rc)
return rc;
for(i = 0; i < partlen; i++)
diff --git a/tests/server/tftpd.c b/tests/server/tftpd.c
index a8b56519..c00731fa 100644
--- a/tests/server/tftpd.c
+++ b/tests/server/tftpd.c
@@ -955,8 +955,6 @@ static int do_tftp(struct testcase *test, struct tftphdr *tp, ssize_t size)
int first = 1, ecode;
struct formats *pf;
char *filename, *mode = NULL;
- int error;
- FILE *server;
#ifdef USE_WINSOCK
DWORD recvtimeout, recvtimeoutbak;
#endif
@@ -964,9 +962,9 @@ static int do_tftp(struct testcase *test, struct tftphdr *tp, ssize_t size)
int toggle = 1;
/* Open request dump file. */
- server = fopen(REQUEST_DUMP, "ab");
+ FILE *server = fopen(REQUEST_DUMP, "ab");
if(!server) {
- error = errno;
+ int error = errno;
logmsg("fopen() failed with error: %d %s", error, strerror(error));
logmsg("Error opening file: %s", REQUEST_DUMP);
return -1;
@@ -1138,9 +1136,6 @@ static int validate_access(struct testcase *test,
const char *filename, int mode)
{
char *ptr;
- long testno, partno;
- int error;
- char partbuf[80]="data";
logmsg("trying to get file: %s mode %x", filename, mode);
@@ -1161,6 +1156,9 @@ static int validate_access(struct testcase *test,
ptr = strrchr(filename, '/');
if(ptr) {
+ char partbuf[80]="data";
+ long partno;
+ long testno;
char *file;
ptr++; /* skip the slash */
@@ -1194,7 +1192,7 @@ static int validate_access(struct testcase *test,
if(file) {
FILE *stream = fopen(file, "rb");
if(!stream) {
- error = errno;
+ int error = errno;
logmsg("fopen() failed with error: %d %s", error, strerror(error));
logmsg("Error opening file: %s", file);
logmsg("Couldn't open test file: %s", file);
@@ -1202,7 +1200,7 @@ static int validate_access(struct testcase *test,
}
else {
size_t count;
- error = getpart(&test->buffer, &count, "reply", partbuf, stream);
+ int error = getpart(&test->buffer, &count, "reply", partbuf, stream);
fclose(stream);
if(error) {
logmsg("getpart() failed with error: %d", error);
diff --git a/tests/server/util.c b/tests/server/util.c
index fdbd71f0..df681968 100644
--- a/tests/server/util.c
+++ b/tests/server/util.c
@@ -101,7 +101,6 @@ void logmsg(const char *msg, ...)
va_list ap;
char buffer[2048 + 1];
FILE *logfp;
- int error;
struct timeval tv;
time_t sec;
struct tm *now;
@@ -135,7 +134,7 @@ void logmsg(const char *msg, ...)
fclose(logfp);
}
else {
- error = errno;
+ int error = errno;
fprintf(stderr, "fopen() failed with error: %d %s\n",
error, strerror(error));
fprintf(stderr, "Error opening file: %s\n", serverlogfile);
@@ -217,7 +216,6 @@ int wait_ms(int timeout_ms)
#endif
struct timeval initial_tv;
int pending_ms;
- int error;
#endif
int r = 0;
@@ -235,6 +233,7 @@ int wait_ms(int timeout_ms)
pending_ms = timeout_ms;
initial_tv = tvnow();
do {
+ int error;
#if defined(HAVE_POLL_FINE)
r = poll(NULL, 0, pending_ms);
#else
diff --git a/tests/testcurl.1 b/tests/testcurl.1
index a866c94d..64dd8c78 100644
--- a/tests/testcurl.1
+++ b/tests/testcurl.1
@@ -20,7 +20,7 @@
.\" *
.\" **************************************************************************
.\"
-.TH testcurl.pl 1 "October 22, 2016" "Curl 7.60.0" "testcurl"
+.TH testcurl.pl 1 "October 22, 2016" "Curl 7.61.0" "testcurl"
.SH NAME
testcurl.pl \- (automatically) test curl
diff --git a/tests/unit/Makefile.inc b/tests/unit/Makefile.inc
index f77da758..a2618813 100644
--- a/tests/unit/Makefile.inc
+++ b/tests/unit/Makefile.inc
@@ -10,7 +10,7 @@ UNITPROGS = unit1300 unit1301 unit1302 unit1303 unit1304 unit1305 unit1307 \
unit1330 unit1394 unit1395 unit1396 unit1397 unit1398 \
unit1399 \
unit1600 unit1601 unit1602 unit1603 unit1604 unit1605 unit1606 unit1607 \
- unit1608
+ unit1608 unit1609
unit1300_SOURCES = unit1300.c $(UNITFILES)
unit1300_CPPFLAGS = $(AM_CPPFLAGS)
@@ -92,3 +92,6 @@ unit1607_CPPFLAGS = $(AM_CPPFLAGS)
unit1608_SOURCES = unit1608.c $(UNITFILES)
unit1608_CPPFLAGS = $(AM_CPPFLAGS)
+
+unit1609_SOURCES = unit1609.c $(UNITFILES)
+unit1609_CPPFLAGS = $(AM_CPPFLAGS)
diff --git a/tests/unit/README b/tests/unit/README
index 301cd17d..b8a513b3 100644
--- a/tests/unit/README
+++ b/tests/unit/README
@@ -17,8 +17,8 @@ Run Unit Tests
Unit tests are run as part of the regular test suite. If you have built
everything to run unit tests, to can do 'make test' at the root level. Or you
-can 'cd tests' and then invoke individual unit tests with ./runtests.pl NNNN
-where NNNN is the specific test number.
+can 'cd tests' and 'make' and then invoke individual unit tests with
+./runtests.pl NNNN where NNNN is the specific test number.
Debug Unit Tests
================
diff --git a/tests/unit/unit1300.c b/tests/unit/unit1300.c
index c64fadef..6030db0d 100644
--- a/tests/unit/unit1300.c
+++ b/tests/unit/unit1300.c
@@ -264,7 +264,7 @@ UNITTEST_START
fail_unless(llist_destination.tail != NULL,
"llist_destination tail set to null after moving an element");
- fail_unless(llist_destination.tail == llist_destination.tail,
+ fail_unless(llist_destination.tail == llist_destination.head,
"llist_destination tail doesn't equal llist_destination head");
}
UNITTEST_STOP
diff --git a/tests/unit/unit1303.c b/tests/unit/unit1303.c
index 75a8e59c..b065683a 100644
--- a/tests/unit/unit1303.c
+++ b/tests/unit/unit1303.c
@@ -75,7 +75,6 @@ struct timetest {
UNITTEST_START
{
struct curltime now;
- time_t timeout;
unsigned int i;
const struct timetest run[] = {
@@ -139,6 +138,7 @@ UNITTEST_START
data->progress.t_startop.tv_usec = 0;
for(i = 0; i < sizeof(run)/sizeof(run[0]); i++) {
+ time_t timeout;
NOW(run[i].now_s, run[i].now_us);
TIMEOUTS(run[i].timeout_ms, run[i].connecttimeout_ms);
timeout = Curl_timeleft(data, &now, run[i].connecting);
diff --git a/tests/unit/unit1307.c b/tests/unit/unit1307.c
index 0d2257bf..d6664ff6 100644
--- a/tests/unit/unit1307.c
+++ b/tests/unit/unit1307.c
@@ -23,20 +23,46 @@
#include "curl_fnmatch.h"
+/*
+ CURL_FNMATCH_MATCH 0
+ CURL_FNMATCH_NOMATCH 1
+ CURL_FNMATCH_FAIL 2
+ */
+
#define MATCH CURL_FNMATCH_MATCH
#define NOMATCH CURL_FNMATCH_NOMATCH
+#define LINUX_DIFFER 0x80
+#define LINUX_SHIFT 8
+#define LINUX_MATCH ((CURL_FNMATCH_MATCH << LINUX_SHIFT) | LINUX_DIFFER)
+#define LINUX_NOMATCH ((CURL_FNMATCH_NOMATCH << LINUX_SHIFT) | LINUX_DIFFER)
+#define LINUX_FAIL ((CURL_FNMATCH_FAIL << LINUX_SHIFT) | LINUX_DIFFER)
+
+#define MAC_DIFFER 0x40
+#define MAC_SHIFT 16
+#define MAC_MATCH ((CURL_FNMATCH_MATCH << MAC_SHIFT) | MAC_DIFFER)
+#define MAC_NOMATCH ((CURL_FNMATCH_NOMATCH << MAC_SHIFT) | MAC_DIFFER)
+#define MAC_FAIL ((CURL_FNMATCH_FAIL << MAC_SHIFT) | MAC_DIFFER)
+
struct testcase {
const char *pattern;
const char *string;
- int result;
+ int result;
};
static const struct testcase tests[] = {
/* brackets syntax */
+ {"*[*[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[["
+ "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[["
+ "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\001\177[[[[[[[[[[[[[[[[[[[[[",
+ "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[["
+ "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[["
+ "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[",
+ NOMATCH|MAC_FAIL},
+
{ "\\[", "[", MATCH },
- { "[", "[", MATCH },
- { "[]", "[]", MATCH },
+ { "[", "[", NOMATCH|LINUX_MATCH|MAC_FAIL},
+ { "[]", "[]", NOMATCH|LINUX_MATCH|MAC_FAIL},
{ "[][]", "[", MATCH },
{ "[][]", "]", MATCH },
{ "[[]", "[", MATCH },
@@ -78,7 +104,7 @@ static const struct testcase tests[] = {
{ "[][?*-]", "*", MATCH },
{ "[][?*-]", "-", MATCH },
{ "[]?*-]", "-", MATCH },
- { "[\xFF]", "\xFF", MATCH },
+ { "[\xFF]", "\xFF", MATCH|LINUX_FAIL|MAC_FAIL},
{ "?/b/c", "a/b/c", MATCH },
{ "^_{}~", "^_{}~", MATCH },
{ "!#%+,-./01234567889", "!#%+,-./01234567889", MATCH },
@@ -100,9 +126,9 @@ static const struct testcase tests[] = {
{ "*[^a].t?t", "ba.txt", NOMATCH },
{ "*[^a].t?t", "ab.txt", MATCH },
{ "*[^a]", "", NOMATCH },
- { "[!\xFF]", "", NOMATCH },
- { "[!\xFF]", "\xFF", NOMATCH },
- { "[!\xFF]", "a", MATCH },
+ { "[!\xFF]", "", NOMATCH|LINUX_FAIL},
+ { "[!\xFF]", "\xFF", NOMATCH|LINUX_FAIL|MAC_FAIL},
+ { "[!\xFF]", "a", MATCH|LINUX_FAIL|MAC_FAIL},
{ "[!?*[]", "?", NOMATCH },
{ "[!!]", "!", NOMATCH },
{ "[!!]", "x", MATCH },
@@ -134,8 +160,8 @@ static const struct testcase tests[] = {
{ "[^[:blank:]]", "\t", NOMATCH },
{ "[^[:print:]]", "\10", MATCH },
{ "[[:lower:]][[:lower:]]", "ll", MATCH },
- { "[[:foo:]]", "bar", NOMATCH },
- { "[[:foo:]]", "f]", MATCH },
+ { "[[:foo:]]", "bar", NOMATCH|MAC_FAIL},
+ { "[[:foo:]]", "f]", MATCH|LINUX_NOMATCH|MAC_FAIL},
{ "Curl[[:blank:]];-)", "Curl ;-)", MATCH },
{ "*[[:blank:]]*", " ", MATCH },
@@ -173,7 +199,7 @@ static const struct testcase tests[] = {
{ "x", "", NOMATCH },
/* backslash */
- { "\\", "\\", MATCH },
+ { "\\", "\\", MATCH|LINUX_NOMATCH},
{ "\\\\", "\\", MATCH },
{ "\\\\", "\\\\", NOMATCH },
{ "\\?", "?", MATCH },
@@ -185,11 +211,7 @@ static const struct testcase tests[] = {
{ "\\?.txt", "x.txt", NOMATCH },
{ "\\*.txt", "x.txt", NOMATCH },
{ "\\*\\\\.txt", "*\\.txt", MATCH },
- { "*\\**\\?*\\\\*", "cc*cc?cc\\cc*cc", MATCH },
{ "*\\**\\?*\\\\*", "cc*cc?cccc", NOMATCH },
- { "*\\**\\?*\\\\*", "cc*cc?cc\\cc*cc", MATCH },
- { "*\\?*\\**", "cc?c*c", MATCH },
- { "*\\?*\\**curl*", "cc?c*curl", MATCH },
{ "*\\?*\\**", "cc?cc", NOMATCH },
{ "\\\"\\$\\&\\'\\(\\)", "\"$&'()", MATCH },
{ "\\*\\?\\[\\\\\\`\\|", "*?[\\`|", MATCH },
@@ -210,11 +232,11 @@ static const struct testcase tests[] = {
{ "Lindmätarv", "Lindmätarv", MATCH },
- { "", "", MATCH },
+ { "", "", MATCH},
{"**]*[*[\x13]**[*\x13)]*]*[**[*\x13~r-]*]**[.*]*[\xe3\xe3\xe3\xe3\xe3\xe3"
"\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3\xe3"
"\xe3\xe3\xe3\xe3\xe3*[\x13]**[*\x13)]*]*[*[\x13]*[~r]*]*\xba\x13\xa6~b-]*",
- "a", NOMATCH }
+ "a", NOMATCH|LINUX_FAIL}
};
static CURLcode unit_setup(void)
@@ -226,18 +248,63 @@ static void unit_stop(void)
{
}
-UNITTEST_START
+static const char *ret2name(int i)
+{
+ switch(i) {
+ case 0:
+ return "MATCH";
+ case 1:
+ return "NOMATCH";
+ case 2:
+ return "FAIL";
+ default:
+ return "unknown";
+ }
+ /* not reached */
+}
+enum system {
+ SYSTEM_CUSTOM,
+ SYSTEM_LINUX,
+ SYSTEM_MACOS
+};
+
+UNITTEST_START
+{
int testnum = sizeof(tests) / sizeof(struct testcase);
- int i, rc;
+ int i;
+ enum system machine;
+
+#ifdef HAVE_FNMATCH
+ if(strstr(OS, "apple") || strstr(OS, "darwin")) {
+ machine = SYSTEM_MACOS;
+ }
+ else
+ machine = SYSTEM_LINUX;
+ printf("Tested with system fnmatch(), %s-style\n",
+ machine == SYSTEM_LINUX ? "linux" : "mac");
+#else
+ printf("Tested with custom fnmatch()\n");
+ machine = SYSTEM_CUSTOM;
+#endif
for(i = 0; i < testnum; i++) {
- rc = Curl_fnmatch(NULL, tests[i].pattern, tests[i].string);
- if(rc != tests[i].result) {
- printf("Curl_fnmatch(\"%s\", \"%s\") should return %d (returns %d)\n",
- tests[i].pattern, tests[i].string, tests[i].result, rc);
+ int result = tests[i].result;
+ int rc = Curl_fnmatch(NULL, tests[i].pattern, tests[i].string);
+ if(result & (LINUX_DIFFER|MAC_DIFFER)) {
+ if((result & LINUX_DIFFER) && (machine == SYSTEM_LINUX))
+ result >>= LINUX_SHIFT;
+ else if((result & MAC_DIFFER) && (machine == SYSTEM_MACOS))
+ result >>= MAC_SHIFT;
+ result &= 0x03; /* filter off all high bits */
+ }
+ if(rc != result) {
+ printf("Curl_fnmatch(\"%s\", \"%s\") should return %s (returns %s)"
+ " [%d]\n",
+ tests[i].pattern, tests[i].string, ret2name(result),
+ ret2name(rc), i);
fail("pattern mismatch");
}
}
-
+}
UNITTEST_STOP
diff --git a/tests/unit/unit1604.c b/tests/unit/unit1604.c
index b414e03e..fbfd2c42 100644
--- a/tests/unit/unit1604.c
+++ b/tests/unit/unit1604.c
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -295,7 +295,7 @@ UNITTEST_START
size_t i;
- for(i = 0; i < sizeof data / sizeof data[0]; ++i) {
+ for(i = 0; i < sizeof(data) / sizeof(data[0]); ++i) {
char *output = NULL;
char *flagstr = NULL;
char *received_ccstr = NULL;
diff --git a/tests/unit/unit1607.c b/tests/unit/unit1607.c
index 71c59939..64b6371e 100644
--- a/tests/unit/unit1607.c
+++ b/tests/unit/unit1607.c
@@ -120,7 +120,7 @@ UNITTEST_START
for(i = 0; i < testnum; ++i, curl_easy_reset(easy)) {
int j;
- int addressnum = sizeof tests[i].address / sizeof *tests[i].address;
+ int addressnum = sizeof(tests[i].address) / sizeof(*tests[i].address);
struct Curl_addrinfo *addr;
struct Curl_dns_entry *dns;
struct curl_slist *list;
@@ -199,6 +199,14 @@ UNITTEST_START
break;
}
+ if(dns->timestamp != 0) {
+ fprintf(stderr, "%s:%d tests[%d] failed. the timestamp is not zero. "
+ "for tests[%d].address[%d\n",
+ __FILE__, __LINE__, i, i, j);
+ problem = true;
+ break;
+ }
+
addr = addr->ai_next;
}
diff --git a/tests/unit/unit1609.c b/tests/unit/unit1609.c
new file mode 100644
index 00000000..2b99bee9
--- /dev/null
+++ b/tests/unit/unit1609.c
@@ -0,0 +1,214 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.haxx.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+#include "curlcheck.h"
+
+#include "urldata.h"
+#include "connect.h"
+#include "share.h"
+
+#include "memdebug.h" /* LAST include file */
+
+static struct Curl_easy *easy;
+static struct curl_hash *hostcache;
+
+static void unit_stop(void)
+{
+ curl_easy_cleanup(easy);
+ curl_global_cleanup();
+}
+
+static CURLcode unit_setup(void)
+{
+ int res = CURLE_OK;
+
+ global_init(CURL_GLOBAL_ALL);
+
+ easy = curl_easy_init();
+ if(!easy) {
+ curl_global_cleanup();
+ return CURLE_OUT_OF_MEMORY;
+ }
+
+ hostcache = Curl_global_host_cache_init();
+ if(!hostcache) {
+ unit_stop();
+ return CURLE_OUT_OF_MEMORY;
+ }
+
+ return res;
+}
+
+struct testcase {
+ /* host:port:address[,address]... */
+ const char *optval;
+
+ /* lowercase host and port to retrieve the addresses from hostcache */
+ const char *host;
+ int port;
+
+ /* 0 to 9 addresses expected from hostcache */
+ const char *address[10];
+};
+
+
+/* CURLOPT_RESOLVE address parsing test - to test the following defect fix:
+
+ 1) if there is already existing host:port pair in the DNS cache and
+ we call CURLOPT_RESOLVE, it should also replace addresses.
+ for example, if there is "test.com:80" with address "1.1.1.1"
+ and we called CURLOPT_RESOLVE with address "2.2.2.2", then DNS entry needs to
+ reflect that.
+
+ 2) when cached address is already there and close to expire, then by the
+ time request is made, it can get expired. This happens because, when
+ we set address using CURLOPT_RESOLVE,
+ it usually marks as permanent (by setting timestamp to zero). However,
+ if address already exists
+in the cache, then it does not mark it, but just leaves it as it is.
+ So we fixing this by timestamp to zero if address already exists too.
+
+Test:
+
+ - insert new entry
+ - verify that timestamp is not zero
+ - call set options with CURLOPT_RESOLVE
+ - then, call Curl_loadhostpairs
+
+ expected result: cached address has zero timestamp.
+
+ - call set options with CURLOPT_RESOLVE with same host:port pair,
+ different address.
+ - then, call Curl_loadhostpairs
+
+ expected result: cached address has zero timestamp and new address
+*/
+
+static const struct testcase tests[] = {
+ /* spaces aren't allowed, for now */
+ { "test.com:80:127.0.0.1",
+ "test.com", 80, { "127.0.0.1", }
+ },
+ { "test.com:80:127.0.0.2",
+ "test.com", 80, { "127.0.0.2", }
+ },
+};
+
+UNITTEST_START
+ int i;
+ int testnum = sizeof(tests) / sizeof(struct testcase);
+
+/* important: we setup cache outside of the loop
+ and also clean cache after the loop. In contrast,for example,
+ test 1607 sets up and cleans cache on each iteration. */
+ Curl_hostcache_clean(easy, hostcache);
+ easy->dns.hostcache = hostcache;
+ easy->dns.hostcachetype = HCACHE_GLOBAL;
+
+ for(i = 0; i < testnum; ++i, curl_easy_reset(easy)) {
+ int j;
+ int addressnum = sizeof (tests[i].address) / sizeof (*tests[i].address);
+ struct Curl_addrinfo *addr;
+ struct Curl_dns_entry *dns;
+ struct curl_slist *list;
+ void *entry_id;
+ bool problem = false;
+
+ list = curl_slist_append(NULL, tests[i].optval);
+ if(!list)
+ goto unit_test_abort;
+
+ curl_easy_setopt(easy, CURLOPT_RESOLVE, list);
+
+ Curl_loadhostpairs(easy);
+
+ entry_id = (void *)aprintf("%s:%d", tests[i].host, tests[i].port);
+ if(!entry_id) {
+ curl_slist_free_all(list);
+ goto unit_test_abort;
+ }
+ dns = Curl_hash_pick(easy->dns.hostcache, entry_id, strlen(entry_id) + 1);
+ free(entry_id);
+ entry_id = NULL;
+
+ addr = dns ? dns->addr : NULL;
+
+ for(j = 0; j < addressnum; ++j) {
+ long port = 0;
+ char ipaddress[MAX_IPADR_LEN] = {0};
+
+ if(!addr && !tests[i].address[j])
+ break;
+
+ if(addr && !Curl_getaddressinfo(addr->ai_addr,
+ ipaddress, &port)) {
+ fprintf(stderr, "%s:%d tests[%d] failed. getaddressinfo failed.\n",
+ __FILE__, __LINE__, i);
+ problem = true;
+ break;
+ }
+
+ if(addr && !tests[i].address[j]) {
+ fprintf(stderr, "%s:%d tests[%d] failed. the retrieved addr "
+ "is %s but tests[%d].address[%d] is NULL.\n",
+ __FILE__, __LINE__, i, ipaddress, i, j);
+ problem = true;
+ break;
+ }
+
+ if(!addr && tests[i].address[j]) {
+ fprintf(stderr, "%s:%d tests[%d] failed. the retrieved addr "
+ "is NULL but tests[%d].address[%d] is %s.\n",
+ __FILE__, __LINE__, i, i, j, tests[i].address[j]);
+ problem = true;
+ break;
+ }
+
+ if(!curl_strequal(ipaddress, tests[i].address[j])) {
+ fprintf(stderr, "%s:%d tests[%d] failed. the retrieved addr "
+ "%s is not equal to tests[%d].address[%d] %s.\n",
+ __FILE__, __LINE__, i, ipaddress, i, j, tests[i].address[j]);
+ problem = true;
+ break;
+ }
+
+ if(port != tests[i].port) {
+ fprintf(stderr, "%s:%d tests[%d] failed. the retrieved port "
+ "for tests[%d].address[%d] is %ld but tests[%d].port is %d.\n",
+ __FILE__, __LINE__, i, i, j, port, i, tests[i].port);
+ problem = true;
+ break;
+ }
+
+ addr = addr->ai_next;
+ }
+
+ curl_slist_free_all(list);
+
+ if(problem) {
+ unitfail++;
+ continue;
+ }
+ }
+
+ Curl_hostcache_clean(easy, easy->dns.hostcache);
+
+UNITTEST_STOP
diff --git a/winbuild/MakefileBuild.vc b/winbuild/MakefileBuild.vc
index bf79db37..019a414a 100644
--- a/winbuild/MakefileBuild.vc
+++ b/winbuild/MakefileBuild.vc
@@ -5,7 +5,7 @@
# | (__| |_| | _ <| |___
# \___|\___/|_| \_\_____|
#
-# Copyright (C) 1999 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 1999 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
@@ -352,6 +352,8 @@ GEN_PDB = true
!IFDEF EMBED_MANIFEST
MANIFESTTOOL = $(MT) -manifest $(DIRDIST)\bin\$(PROGRAM_NAME).manifest -outputresource:$(DIRDIST)\bin\$(PROGRAM_NAME);1
+!ELSE
+CURL_RC_FLAGS = $(CURL_RC_FLAGS) /dCURL_EMBED_MANIFEST
!ENDIF
# Runtime library configuration
@@ -502,7 +504,7 @@ package: $(TARGET)
@-$(ZIP) -9 -q -r ..\$(CONFIG_NAME_LIB).zip .>nul 2<&1
@cd $(MAKEDIR)
-$(TARGET): $(LIB_OBJS) $(LIB_DIROBJ) $(DISTDIR)
+$(TARGET): $(LIB_OBJS) $(LIB_DIROBJ) $(DIRDIST)
@echo Using SSL: $(USE_SSL)
@echo Using NGHTTP2: $(USE_NGHTTP2)
@echo Using c-ares: $(USE_CARES)
diff --git a/winbuild/gen_resp_file.bat b/winbuild/gen_resp_file.bat
index 434f3696..c640cee0 100755
--- a/winbuild/gen_resp_file.bat
+++ b/winbuild/gen_resp_file.bat
@@ -1,5 +1,7 @@
@echo OFF
-@del %OUTFILE%
+@if exist %OUTFILE% (
+ del %OUTFILE%
+)
@echo %MACRO_NAME% = \> %OUTFILE%
@for %%i in (%*) do @echo %DIROBJ%/%%i \>> %OUTFILE%
@echo. >> %OUTFILE%